[go: up one dir, main page]

CN119420923A - 用于使用量化参数对图像进行编码/解码的方法和设备 - Google Patents

用于使用量化参数对图像进行编码/解码的方法和设备 Download PDF

Info

Publication number
CN119420923A
CN119420923A CN202411550562.3A CN202411550562A CN119420923A CN 119420923 A CN119420923 A CN 119420923A CN 202411550562 A CN202411550562 A CN 202411550562A CN 119420923 A CN119420923 A CN 119420923A
Authority
CN
China
Prior art keywords
quantization
block
current block
quantization parameter
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202411550562.3A
Other languages
English (en)
Inventor
林成昶
姜晶媛
李河贤
李镇浩
金晖容
李英烈
金明峻
金南煜
郑智延
金亮宇
金在坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Industry Academy Cooperation Foundation of Sejong University
University Industry Cooperation Foundation of Korea Aerospace University
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Industry Academy Cooperation Foundation of Sejong University
University Industry Cooperation Foundation of Korea Aerospace University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI, Industry Academy Cooperation Foundation of Sejong University, University Industry Cooperation Foundation of Korea Aerospace University filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of CN119420923A publication Critical patent/CN119420923A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了一种用于使用量化参数对图像进行编码/解码的方法和设备,提供了一种图像编码/解码方法和设备。所述图像解码方法包括:从比特流对量化组的尺寸信息进行解码;基于量化组的尺寸信息获取当前块的差量量化参数;并且基于所述差量量化参数推导当前块的量化参数。

Description

用于使用量化参数对图像进行编码/解码的方法和设备
本申请是申请日为2019年06月25日,申请号为201980043298.5,发明名称为“用于使用量化参数对图像进行编码/解码的方法和设备”的专利申请的分案申请。
技术领域
本发明涉及一种图像编码/解码方法和设备以及存储比特流的记录介质。更具体地,本发明涉及一种使用量化参数的图像编码/解码方法和设备以及存储比特流的记录介质。
背景技术
近来,在各种应用中对诸如高清(HD)或超高清(UHD)图像的高分辨率和高质量图像的需求已经增加。随着图像的分辨率和质量提高,数据量相应地增加。当通过诸如有线或无线宽带信道的现有传输介质发送图像数据时或者当存储图像数据时,这是传输成本和存储成本增加的原因之一。为了解决高分辨率和高质量图像数据的这些问题,需要高效的图像编码/解码技术。
存在各种视频压缩技术,诸如从先前画面或后续画面内的像素的值对当前画面内的像素的值进行预测的帧间预测技术、从当前画面的另一区域内的像素的值对当前画面的区域内的像素的值进行预测的帧内预测技术、压缩残差信号的能量的变换和量化技术、以及将较短的码分配给频繁出现的像素值而将较长的码分配给较少出现的像素值的熵编码技术。
在针对使用量化参数的视频编码/解码方法和设备的传统技术中,仅考虑四叉树块。因此,传统技术难以处理对针对具有各种树结构的块的差量量化参数进行编码或解码。
发明内容
技术问题
本发明的目的在于提供一种使用量化参数的图像编码/解码方法和设备。
本发明的另一目的在于提供一种根据块结构、根据在高等级被编码/解码的量化组的尺寸信息来自适应地确定针对其将用信号发送差量量化参数的块的合适尺寸以改善用信号发送量化参数的操作和量化参数的编码效率的图像编码/解码方法和设备。
本发明的另一目的在于提供一种基于邻近量化组的量化参数来确定针对当前块的量化参数以减少差量量化参数的编码/解码所需的比特数的图像编码/解码方法和设备。
本发明的另一目的在于提供一种存储由图像编码/解码方法或设备生成的比特流的记录介质。
技术方案
根据本发明,提供了一种图像解码方法,包括:从比特流对量化组的尺寸信息进行解码;基于量化组的尺寸信息获取当前块的差量量化参数;并且基于所述差量量化参数推导针对当前块的量化参数。
根据一个实施例,量化组的尺寸信息包括从量化组的深度信息、长度信息、面积信息、比率信息、形状信息和子划分信息中选择的一条或更多条信息。
根据一个实施例,量化组包括正方形形状或非正方形形状。
根据一个实施例,非正方形形状是基于二叉树、三叉树或者二叉树和三叉树两者的任意形状。
根据一个实施例,获取当前块的差量量化参数的步骤包括:基于量化组的尺寸信息确定量化组的尺寸;并且基于量化组的尺寸获取当前块的差量量化参数。
根据一个实施例,当前块的差量量化参数是基于当前块的深度与量化组的深度信息之间的关系获取的。
根据一个实施例,当前块的差量量化参数是基于当前块的面积与量化组的面积信息之间的大小关系获取的。
根据一个实施例,当前块的差量量化参数是基于当前块的子划分值与量化组的子划分信息之间的关系获取的。
根据一个实施例,当当前块是通过四叉树分区生成的块时,当前块的子划分值是等于将在当前块的分区之前的原始子划分值加2的值。
根据一个实施例,当当前块是通过二叉树分区生成的块时,当前块的子划分值是等于将在当前块的分区之前的原始子划分值加1的值。
此外,根据本发明,提供了一种图像编码方法,包括:确定量化组的尺寸;基于量化组的尺寸确定当前块的量化参数;基于所述量化参数推导当前块的差量量化参数;并且对量化组的尺寸信息进行编码。
根据一个实施例,量化组的尺寸信息包括从量化组的深度信息、长度信息、面积信息、比率信息、形状信息和子划分信息中选择的一条或更多条信息。
根据一个实施例,量化组包括正方形形状或非正方形形状。
根据一个实施例,非正方形形状是基于二叉树、三叉树或者二叉树和三叉树两者的任意形状。
根据一个实施例,当前块的差量量化参数是基于当前块的深度与量化组的深度信息之间的关系获取的。
根据一个实施例,当前块的差量量化参数是基于当前块的面积与量化组的面积信息之间的大小关系获取的。
根据一个实施例,当前块的差量量化参数是基于当前块的子划分值与量化组的子划分信息之间的关系推导出的。
根据一个实施例,当当前块是通过四叉树分区生成的块时,当前块的子划分值是等于将在分区之前的当前块的原始子划分值加2的值。
根据一个实施例,当当前块是通过二叉树分区生成的块时,当前块的子划分值是等于将在当前块的分区之前的原始子划分值加1的值。
此外,根据本发明,提供了一种存储图像解码方法中使用的图像数据的计算机可读非暂时性记录介质,其中,所述图像数据包含量化组的尺寸信息,并且在所述图像解码方法中,量化组的尺寸信息被用于获取当前块的差量量化参数,并被用于基于所述差量量化参数推导当前块的量化参数。
有益效果
根据本发明,可提供一种使用量化参数的图像编码/解码方法和设备。
根据本发明,可提供一种根据在高等级被编码/解码的量化组的尺寸信息来自适应地确定针对其将用信号发送差量量化参数的块的合适尺寸的图像编码/解码方法和设备。
根据本发明,可提供一种使用邻近量化组的量化参数来确定针对当前块的量化参数的图像编码/解码方法和设备。
根据本发明,可提供一种存储由根据本发明的编码/解码方法或设备生成的比特流的记录介质。
附图说明
图1是示出应用了本发明的编码设备的一个实施例的配置的框图;
图2是示出应用了本发明的解码设备的一个实施例的配置的框图;
图3是示出在对图像进行编码解码时使用的画面分区结构的示意图;
图4是示出帧内预测处理的一个实施例的示图;
图5是示出帧间预测处理的一个实施例的示图;
图6是用于描述变换和量化处理的示图。
图7是用于描述用于帧内预测的可用参考样点的示图;
图8是示出根据本发明的一个实施例的基于CTU执行的图像编码/解码处理的示图;
图9a是示出根据本发明的一个实施例的图像解码方法的流程图;
图9b是示出根据本发明的一个实施例的图像编码方法的流程图;
图10是示出根据本发明的一个实施例的推导当前量化组的预测量化参数的处理的示图;
图11是示出根据本发明的另一实施例的推导当前量化组的预测量化参数的处理的示图;
图12是示出根据本发明的又一实施例的推导当前量化组的预测量化参数的处理的示图;
图13是示出根据本发明的又一实施例的推导当前量化组的预测量化参数的处理的示图;
图14是示出针对根据本发明的一个实施例的CU具有正方形形状和非正方形形状的情况的编码/解码的顺序的示图;
图15是示出当CTU的尺寸为256×256且diff_cu_qp_delta_depth为2时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图16是示出当CTU的尺寸为256×256且log2_diff_cu_qp_delta_length为1时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图17是示出当CTU的尺寸为128×128且diff_cu_qp_delta_depth为2时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图18是示出当CTU的尺寸为128×128且log2_diff_cu_qp_delta_length为2时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图19是示出当CTU的尺寸为64×64且log2_diff_cu_qp_delta_length为3时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图20是示出当CTU的尺寸为64×64且diff_cu_qp_delta_area为3时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图21是示出当CTU的尺寸为64×64且diff_cu_qp_delta_area为4时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图22是示出当CTU的尺寸为64×64且cu_qp_delta_subdiv为3时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图23是示出当CTU的尺寸为64×64且cu_qp_delta_subdiv为4时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图;
图24是示出根据本发明的一个实施例的使用量化组的长度信息来确定量化参数的方法的示图;
图25是示出根据本发明的一个实施例的使用量化组的面积信息来确定量化参数的方法的示图;
图26是示出根据本发明的另一实施例的使用量化组的长度信息来确定量化参数的方法的示图;
图27是示出根据本发明的又一实施例的使用量化组的面积信息来确定量化参数的方法的示图;
图28是示出根据本发明的一个实施例的使用量化组的深度信息来确定量化参数的方法的示图;
图29是示出根据本发明的另一实施例的使用量化组的深度信息来确定量化参数的方法的示图;
图30是示出根据本发明的又一实施例的使用量化组的深度信息来确定量化参数的方法的示图;以及
图31和图32是示出根据本发明的一个实施例的差量量化参数的熵编码/熵解码所需的语法元素信息的示例的示图。
具体实施方式
可对本发明进行各种修改,并且存在本发明的各种实施例,其中,现在将参照附图提供并详细描述本发明的各种实施例的示例。然而,虽然示例性实施例可被解释为包括本发明的技术构思和技术范围中的所有修改、等同或替代,但是本发明不限于此。相似的附图标号指代在各个方面的相同或相似的功能。在附图中,为了清楚起见,元件的形状和尺寸可被夸大。在本发明的以下详细描述中,参照通过说明的方式示出可实践本发明的具体实施例的附图。充分详细地描述这些实施例以使得本领域技术人员能够实现本公开。应理解,本公开的各种实施例虽然不同,但是不必相互排斥。例如,在不脱离本公开的精神和范围的情况下,这里结合一个实施例描述的特定特征、结构和特性可在其他实施例内实现。此外,应理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被认为是限制意义的,并且本公开的范围仅由适当解释的所附权利要求以及权利要求所要求保护的等同物的全部范围来限定。
在说明书中使用的术语“第一”、“第二”等可被用于描述各种组件,但是组件不应被解释为限于该术语。该术语仅被用于将一个组件与其它组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被称为“第二”组件,并且“第二”组件也可类似地被称为“第一”组件。术语“和/或”包括多个项的组合或多个术语中的任意一个。
将理解,当元件在本说明书中被简单地称为“连接到”或“耦接到”另一元件而非“直接连接到”或“直接耦接到”另一元件时,它可“直接连接到”或“直接耦接到”另一元件,或者在有其它元件介于该元件与另一元件之间的情况下被连接到或耦接到另一元件。相反,应理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。
此外,在本发明的实施例中所示的构成部件被独立地示出,以便表示彼此不同的特性功能。因此,这不表示各个构成部件以分离的硬件或软件为构成单元来构成。换句话说,为了方便,各个构成部件包括所列举的构成部件中的每一个。因此,可将各个构成部件中的至少两个构成部件组合以形成一个构成部件,或者可将一个构成部件划分为多个构成部件以执行每个功能。若不脱离本发明的本质,将各个构成部件组合的实施例以及对一个构成部件划分的实施例也被包括在本发明的范围内。
本说明书中使用的术语仅被用于描述特定实施例,而不旨在限制本发明。以单数形式使用的表达涵盖复数形式的表达,除非它在上下文中具有明显不同的含义。在本说明书中,需理解的是,诸如“包括”、“具有”等的术语旨在指示说明书中所公开的特征、数字、步骤、动作、元件、部件或其组合的存在,而不旨在排除可存在或可添加一个或更多个其他特征、数字、步骤、动作、元件、部件或其组合的可能性。换句话说,当特定元件被称为“被包括”时,不排除除了对应元件之外的元件,而是可在本发明的实施例或本发明的范围中包括附加元件。
此外,一些构件可以不是执行本发明的必要功能的不可缺少的构件,而是仅改善其性能的选择性构件。可通过仅包括除了用于改善性能的构件之外的用于实现本发明的本质的不可缺少的构成部件来实现本发明。仅包括除了用于仅改善性能的选择性构件之外的不可缺少的构件的结构也被包括在本发明的范围内。
在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,由于公知的功能或结构可能不必要地使对本发明的理解模糊不清,因此将不详细描述公知的功能或结构。附图中的相同的构成元件由相同的附图标号表示,并且将省略对相同元件的重复描述。
在下文中,图像可表示构成视频的画面,或者可表示视频本身。例如,“图像的编码或解码或者编码和解码两者”可表示“运动画面的编码或解码或者编码和解码两者”,并且可表示“运动画面的多个图像中的一个图像的编码或解码或者编码和解码两者”
在下文中,术语“运动画面”和“视频”可被用作相同的含义并且彼此替换。
在下文中,目标图像可以是作为编码的目标的编码目标图像和/或作为解码的目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且彼此替换。
在下文中,目标块可以是作为编码的目标的编码目标块和/或作为解码的目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且彼此替换。
在下文中,术语“块”和“单元”可被用作相同的含义并且彼此替换。或者,“块”可表示特定单元。
在下文中,术语“区域”和“片段”可被彼此替换。
在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。信息、数据、标志、索引、元素和属性的值等于“0”可表示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可被彼此替换。信息、数据、标志、索引、元素和属性的值等于“1”可表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可被彼此替换。
当变量i或j被用于表示列、行或索引时,i的值可以是等于或大于0或者等于或大于1的整数。也就是说,列、行、索引等可从0开始计数或者可从1开始计数。
术语的描述
编码器:表示执行编码的设备。即,表示编码设备。
解码器:表示执行解码的设备。即,表示解码设备。
块:是样点的M×N的阵列。这里,M和N可表示正整数,并且块可表示二维形式的样点阵列。块可指代单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
样点:是构成块的基本单元。可根据比特深度(Bd)将样点表示为从0至2Bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。
单元:可指编码单元和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而生成的区域。此外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。也就是说,可将图像分区为多个单元。当对图像进行编码和解码时,可执行针对每个单元的预定处理。单个单元可被分区为具有比该单元的尺寸小的尺寸的子单元。根据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块以及每个颜色分量块的语法元素。单元可具有各种尺寸和形式,并且特别地,单元的形式可以是诸如正方形形状、矩形形状、梯形形状、三角形形状、五边形形状等的二维几何图形。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。
编码树单元:被配置有亮度分量Y的单个编码树块以及与色度分量Cb和Cr相关的两个编码树块。此外,编码树单元可表示包括块和每个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法和三叉树分区方法中的至少一种来对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可被用作用于指定当对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四元树。
当编码块的尺寸在预定范围内时,可仅使用四叉树分区进行划分。这里,所述预定范围可被定义为可仅使用四叉树分区进行划分的编码块的最大尺寸和最小尺寸中的至少一个。指示允许进行四叉树分区的编码块的最大/最小尺寸的信息可通过比特流被用信号发送,并且可以以序列、画面参数、并行块组或条带(片段)中的至少一个为单位用信号发送所述信息。可选地,编码块的最大/最小尺寸可以是编码器/解码器中预定的固定尺寸。例如,当编码块的尺寸对应于256×256至64×64时,可仅使用四叉树分区进行划分。可选地,当编码块的尺寸大于最大变换块的尺寸时,可仅使用四叉树分区进行划分。这里,将被划分的块可以是编码块和变换块中的至少一个。在这种情况下,指示编码块的划分的信息(例如,split_flag)可以是指示是否执行四叉树分区的标志。当编码块的尺寸落在预定范围内时,可仅使用二叉树或三叉树分区进行划分。在这种情况下,四叉树分区的以上描述可以以相同方式被应用于二叉树分区或三叉树分区。
编码树块:可被用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。
邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块,或者位于距当前块预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块,或者与垂直相邻于当前块的邻近块水平相邻的块。
重建的邻近块:可表示与当前块相邻且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是当前画面内的且已经通过编码或解码或者编码和解码两者被重建的块。重建的时间邻近块是参考图像内的与当前画面的当前块对应的位置处的块或该块的邻近块。
单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元对应。此外,最高节点可具有最小深度值。在这种情况下,最高节点可具有等级为0的深度。深度为等级1的节点可表示通过对第一单元进行一次分区而生成的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而生成的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而生成的单元。叶节点可以是最低节点和不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表达为树结构时,单元所在的等级可表示单元深度。
比特流:可表示包括编码图像信息的比特流。
参数集:与比特流内的配置中的头信息对应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带头、并行块组头和并行块头信息。术语“并行块组”表示一组并行块并且与条带具有相同的含义。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
预测模式:可以是指示利用帧内预测进行编码/解码的模式或利用帧间预测进行编码/解码的模式的信息。
预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。
预测单元分区:可表示通过对预测单元进行分区而获得的形式。
参考画面列表可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在多种类型的可用参考画面列表,包括LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2)、L3(列表3)。
帧间预测指示符可指当前块的帧间预测(单向预测、双向预测等)的方向。可选地,它可指用于生成当前块的预测块的参考画面的数量。可选地,它可指在对当前块执行帧间预测或运动补偿时使用的预测块的数量。
预测列表利用标志指示是否使用特定参考画面列表中的至少一个参考画面来生成预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志具有第一值零(0)时,这表示参考画面列表中的参考画面不被用于生成预测块。另一方面,当预测列表利用标志具有第二值一(1)时,这表示参考画面列表被用于生成预测块。
参考画面索引:可指指示参考画面列表中的特定参考画面的索引。
参考画面可表示为了特定块的帧间预测或运动补偿的目的而由特定块参考的参考画面。可选地,参考画面可以是包括由当前块参考以进行帧间预测或运动补偿的参考块的画面。在下文中,术语“参考画面”和“参考图像”具有相同的含义并且可被互换。
运动矢量可以是用于帧间预测或运动补偿的二维矢量。运动矢量可表示编码/解码目标块与参考块之间的偏移。例如,(mvX,mvY)可表示运动矢量。此处,mvX可表示水平分量,并且mvY可表示垂直分量。
搜索范围可以是被搜索以在帧间预测期间检索运动矢量的二维区域。例如,搜索范围的尺寸可以是M×N。这里,M和N都是整数。
当对运动矢量进行预测时,运动矢量候选可指预测候选块或预测候选块的运动矢量。此外,运动矢量候选可被包括在运动矢量候选列表中。
运动矢量候选列表可表示由一个或更多个运动矢量候选组成的列表。
运动矢量候选索引可表示指示运动矢量候选列表中的运动矢量候选的指示符。可选地,运动矢量候选索引可以是运动矢量预测因子的索引。
运动信息可表示包括以下项中的至少一项的信息:运动矢量、参考画面索引、帧间预测指示符、预测列表利用标志、参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引。
合并候选列表可表示由一个或更多个合并候选组成的列表。
合并候选可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选或零合并候选。合并候选可包括运动信息,诸如帧间预测指示符、针对每个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符。
合并索引可表示指示合并候选列表中的合并候选的指示符。可选地,合并索引可指示空间上/时间上与当前块相邻的重建块中的已推导出合并候选的块。可选地,合并索引可指示合并候选的至少一条运动信息。
变换单元:可表示当执行编码/解码(诸如残差信号的变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个更低等级的变换单元。这里,变换/逆变换可包括首次变换/首次逆变换和二次变换/二次逆变换中的至少一个。
缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来生成变换系数。缩放还可被称为反量化。
量化参数:可表示当在量化期间使用变换系数来生成量化的等级时所使用的值。量化参数还可表示当在反量化期间通过对量化的等级进行缩放来生成变换系数时所使用的值。量化参数可以是映射在量化步长上的值。
差量量化参数:可表示编码/解码目标单元的预测量化参数与量化参数之间的差值。
扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改变为一维矩阵可被称为扫描,并且将系数的一维矩阵改变为二维矩阵可被称为扫描或逆扫描。
变换系数:可表示在编码器中执行变换之后生成的系数值。变换系数可表示在解码器中执行熵解码和反量化中的至少一个之后生成的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。
量化的等级:可表示通过在编码器中对变换系数或残差信号进行量化而生成的值。可选地,量化的等级可表示作为在解码器中经历反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。
非零变换系数:可表示具有除了零之外的值的变换系数或者具有除了零之外的值的变换系数等级或量化的等级。
量化矩阵:可表示在为了提高主观或客观图像质量而执行的量化处理或反量化处理中所使用的矩阵。量化矩阵还可被称为缩放列表。
量化矩阵系数:可表示量化矩阵内的每个元素。量化矩阵系数还可被称为矩阵系数。
默认矩阵:可表示在编码器或解码器中预先定义的预定量化矩阵。
非默认矩阵:可表示未在编码器或解码器中预先定义但由用户用信号发送的量化矩阵。
统计值:针对具有可计算的特定值的变量、编码参数、常数值等中的至少一个的统计值可以是对应特定值的平均值、和值、加权平均值、加权和值、最小值、最大值、最频繁值、中值、插值中的一个或更多个。
图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可顺序地对至少一个图像进行编码。
参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。
编码设备100可通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来执行输入图像的编码。此外,编码设备100可通过对输入图像进行编码来生成包括经过编码的信息的比特流,并输出生成的比特流。生成的比特流可被存储在计算机可读记录介质中,或者可通过有线/无线传输介质被流传输。当帧内模式被用作预测模式时,切换器115可被切换到帧内。可选地,当帧间模式被用作预测模式时,切换器115可被切换到帧间模式。这里,帧内模式可表示帧内预测模式,并且帧间模式可表示帧间预测模式。编码设备100可针对输入图像的输入块生成预测块。此外,编码设备100可在预测块被生成之后使用预测块和输入块的残差对残差块进行编码。输入图像可被称为作为当前编码目标的当前图像。输入块可被称为作为当前编码目标的当前块,或者被称为编码目标块。
当预测模式是帧内模式时,帧内预测单元120可将已被编码/解码且与当前块相邻的块的样点用作参考样点。帧内预测单元120可通过使用参考样点针对当前块执行空间预测,或者通过执行空间预测来生成输入块的预测样点。这里,帧内预测可表示帧内的预测。
当预测模式是帧间模式时,运动预测单元111可在执行运动预测时从参考图像检索与输入块最佳匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可被用作该区域。参考图像可被存储在参考画面缓冲器190中。这里,当执行针对参考图像的编码/解码时,参考图像可被存储在参考画面缓冲器190中。
运动补偿单元112可通过使用运动矢量针对当前块执行运动补偿来生成预测块。这里,帧间预测可表示帧间的预测或运动补偿。
当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考画面的部分区域来生成预测块。为了对编码单元执行画面间预测或运动补偿,可确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式中的哪一种模式被用于包括在对应编码单元中的预测单元的运动预测和运动补偿。然后,可根据所确定的模式不同地执行画面间预测或运动补偿。
减法器125可通过使用预测块和输入块的差来生成残差块。残差块可被称为残差信号。残差信号可表示原始信号与预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化或者变换和量化而生成的信号。残差块可以是块单元的残差信号。
变换单元130可通过执行残差块的变换来生成变换系数,并输出所生成的变换系数。这里,变换系数可以是通过执行残差块的变换而生成的系数值。当变换跳过模式被应用时,变换单元130可跳过残差块的变换。
可通过将量化应用于变换系数或残差信号来生成量化的等级。在下文中,量化的等级在实施例中还可被称为变换系数。
量化单元140可通过根据参数对变换系数或残差信号进行量化来生成量化的等级,并输出所生成的量化的等级。这里,量化单元140可通过使用量化矩阵来对变换系数进行量化。
熵编码单元150可通过根据概率分布对由量化单元140计算出的值或对在执行编码时计算出的编码参数值执行熵编码来生成比特流,并输出所生成的比特流。熵编码单元150可执行对图像的样点信息和用于对图像进行解码的信息的熵编码。例如,用于对图像进行解码的信息可包括语法元素。
当熵编码被应用时,符号被表示为使得将较小数量的比特分配给具有高生成机会的符号并将较大数量的比特分配给具有低生成机会的符号,因此,可减小针对将被编码的符号的比特流的大小。熵编码单元150可使用用于熵编码的编码方法,诸如指数Golomb、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。例如,熵编码单元150可通过使用可变长度编码/码(VLC)表来执行熵编码。此外,熵编码单元150可推导目标符号的二值化方法以及目标符号/二进制位的概率模型,并且通过使用推导出的二值化方法和上下文模型来执行算术编码。
为了对变换系数等级(量化的等级)进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式的系数改变为一维矢量形式。
编码参数可包括诸如在编码器中被编码并被用信号发送到解码器的语法元素的信息(标志、索引等)以及在执行编码或解码时推导出的信息。编码参数可表示在对图像进行编码或解码时所需的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块尺寸、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、是否通过三叉树分区对当前编码单元进行分区、三叉树分区的方向(水平方向或垂直方向)、三叉树分区的类型(对称分区或非对称分区)、是否通过多类型树分区对当前编码单元进行分区、多类型树分区的方向(水平方向或垂直方向)、多类型树分区的类型(对称分区或非对称分区)、多类型树分区的树(二叉树或三叉树)结构、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量大小、运动矢量的表示精度、变换类型、变换尺寸、是否使用初次(首次)变换的信息、是否使用二次变换的信息、初次变换索引、二次变换索引、是否存在残差信号的信息、编码块样式、编码块标志(CBF)、量化参数、量化参数残差、量化矩阵、是否应用帧内环路滤波器、帧内环路滤波器系数、帧内环路滤波器抽头、帧内环路滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器形状/形式、二值化/逆二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后有效系数标志、针对系数组的单元的编码标志、最后有效系数的位置、针对系数值是否大于1的标志、针对系数值是否大于2的标志、针对系数值是否大于3的标志、关于其余系数值的信息、符号信息、重建的亮度样点、重建的色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的大小、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索的次数、关于CTU尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带识别信息、条带类型、条带分区信息、并行块识别信息、并行块类型、并行块分区信息、并行块组识别信息、并行块组类型、并行块组分区信息、画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。
这里,用信号发送标志或索引可表示对应标志或索引由编码器熵编码并被包括在比特流中,并且可表示对应标志或索引由解码器从比特流熵解码。
当编码设备100通过帧间预测执行编码时,经过编码的当前图像可被用作针对随后被处理的另一图像的参考图像。因此,编码设备100可对经过编码的当前图像进行重建或解码,或者将重建的或经过解码的图像作为参考图像存储在参考画面缓冲器190中。
量化的等级可在反量化单元160中被反量化,或者可在逆变换单元170中被逆变换。可通过加法器175将经过反量化的系数或经过逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加。通过将经过反量化的系数或经过逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加,可生成重建块。这里,经过反量化的系数或经过逆变换的系数或者经过反量化和逆变换两者的系数可表示被执行反量化和逆变换中的至少一个的系数,并且可表示重建的残差块。
重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可被称为环内滤波器。
去块滤波器可去除在块之间的边界中生成的块失真。为了确定是否应用去块滤波器,可基于包括在块中的若干行或列中所包括的样点来确定是否将去块滤波器应用于当前块。当去块滤波器被应用于块时,可根据所需的去块滤波强度来应用另一滤波器。
为了补偿编码误差,可通过使用样点自适应偏移将适当的偏移值与样点值相加。样点自适应偏移可按样点单元校正经过去块的图像与原始图像的偏移。将图像的样点分区为预定数量的区域、确定被应用偏移的区域并将该偏移应用于所确定的区域的方法或者考虑关于每个样点的边缘信息来应用偏移的方法可被使用。
自适应环路滤波器可基于经过滤波的重建图像与原始图像的比较结果来执行滤波。包括在图像中的样点可被分区为预定组,可确定将被应用于每个组的滤波器,并且可针对每个组执行有差别的滤波。可按编码单元(CU)用信号发送是否应用ALF的信息,并且将被应用于每个块的ALF的形式和系数可变化。
已通过滤波器单元180的重建块或重建图像可被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考图像的一部分。也就是说,参考图像是由经过滤波器单元180处理的重建块组成的重建图像。可稍后在帧间预测或运动补偿中使用存储的参考图像。
图2是示出根据实施例的且应用了本发明的解码设备的配置的框图。
解码设备200可以是解码器、视频解码设备或图像解码设备。
参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器225、滤波器单元260和参考画面缓冲器270。
解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流,或者可接收通过有线/无线传输介质被流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。此外,解码设备200可生成通过解码生成的重建图像或经过解码的图像,并输出重建图像或经过解码的图像。
当在解码时使用的预测模式是帧内模式时,可将切换器切换到帧内。可选地,当在解码时使用的预测模式是帧间模式时,可将切换器切换到帧间模式。
解码设备200可通过对输入的比特流进行解码来获得重建的残差块,并生成预测块。当获得重建的残差块和预测块时,解码设备200可通过将重建的残差块与预测块相加来生成成为解码目标的重建块。解码目标块可被称为当前块。
熵解码单元210可通过根据概率分布对比特流进行熵解码来生成符号。所生成的符号可包括量化的等级形式的符号。这里,熵解码方法可以是上述熵编码方法的逆过程。
为了对变换系数等级(量化的等级)进行解码,熵解码单元210可通过使用变换系数扫描方法将单向矢量形式的系数改变为二维块形式。
量化的等级可在反量化单元220中被反量化,或者可在逆变换单元230中被逆变换。量化的等级可以是反量化或逆变换或者反量化和逆变换两者的结果,并且可被生成为重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的等级。
当帧内模式被使用时,帧内预测单元240可通过针对当前块执行空间预测来生成预测块,其中,所述空间预测使用与解码目标块相邻且已被解码的块的样点值。
当帧间模式被使用时,运动补偿单元250可通过针对当前块执行运动补偿来生成预测块,其中,所述运动补偿使用使用存储在参考画面缓冲器270中的参考图像和运动矢量。
加法器225可通过将重建的残差块与预测块相加来生成重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中,并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考图像的一部分。也就是说,参考图像是由经过滤波器单元260处理的重建块组成的重建图像。可稍后在帧间预测或运动补偿中使用存储的参考图像。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。图3示意性地示出将单个单元分区为多个更低等级的单元的示例。
为了高效地对图像进行分区,当进行编码和解码时,可使用编码单元(CU)。当对图像进行编码/解码时,编码单元可被用作基本单元。此外,当对图像进行编码/解码时,编码单元可被用作用于将帧内预测模式和帧间预测模式区分开的单元。编码单元可以是用于变换系数的预测、变换、量化、逆变换、反量化或编码/解码处理的基本单元。
参照图3,图像300按最大编码单元(LCU)被顺序地分区,并且LCU单元被确定为分区结构。这里,可以以与编码树单元(CTU)相同的含义使用LCU。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区的次数或程度或者次数和程度两者。可基于树结构将单个单元分区为分层地与深度信息相关联的多个更低等级的单元。换句话说,单元和通过对该单元进行分区而生成的更低等级的单元可分别与节点和该节点的子节点对应。分区出的更低等级的单元中的每一个可具有深度信息。深度信息可以是表示CU的尺寸的信息,并且可被存储在每个CU中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。
分区结构可表示LCU 310内的编码单元(CU)的分布。可根据是否将单个CU分区为多个(等于或大于2的正整数,包括2、4、8、16等)CU来确定这样的分布。通过分区生成的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可根据分区的次数分别具有比分区之前的水平尺寸和垂直尺寸小的尺寸。CU可被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度中的至少一个相比,分区之后的CU的高度和宽度中的至少一个可减小。可递归地执行CU的分区直到预定义深度或预定义尺寸为止。例如,LCU的深度可以是0,并且最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,SCU可以是具有最小编码单元尺寸的编码单元。从LCU 310开始分区,随着CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小,CU深度增加1。例如,对于每个深度,未被分区的CU可具有2N×2N的尺寸。此外,在被分区的CU的情况下,尺寸为2N×2N的CU可被分区为尺寸为N×N的四个CU。N的大小可随着深度增加1而减小至一半。
此外,可通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除了SCU之外的所有CU可包括分区信息。例如,当分区信息的值是第一值时,CU可不被分区,当分区信息的值是第二值时,CU可被分区。
参照图3,深度为0的LCU可以是64×64的块。0可以是最小深度。深度为3的SCU可以是8×8的块。3可以是最大深度。32×32的块和16×16的块的CU可分别被表示为深度1和深度2。
例如,当单个编码单元被分区为四个编码单元时,四个分区出的编码单元的水平尺寸和垂直尺寸可以是被分区之前的CU的水平尺寸和垂直尺寸的一半尺寸。在一个实施例中,当尺寸为32×32的编码单元被分区为四个编码单元时,四个分区出的编码单元中的每一个可具有16×16的尺寸。当单个编码单元被分区为四个编码单元时,可称该编码单元可被分区为四叉树形式。
例如,当一个编码单元被分区为两个子编码单元时,所述两个子编码单元中的每个子编码单元的水平尺寸或垂直尺寸(宽度或高度)可以是原始编码单元的水平尺寸或垂直尺寸的一半。例如,当尺寸为32×32的编码单元被垂直分区为两个子编码单元时,所述两个子编码单元中的每个子编码单元可具有16×32的尺寸。例如,当尺寸为8×32的编码单元被水平分区为两个子编码单元时,所述两个子编码单元中的每个子编码单元可具有8×16的尺寸。当一个编码单元被分区为两个子编码单元时,可以说该编码单元被二元分区或按二叉树分区结构被分区。
例如,当一个编码单元被分区为三个子编码单元时,编码单元的水平尺寸或垂直尺寸可以以1:2:1的比率被分区,从而产生水平尺寸或垂直尺寸的比率为1:2:1的三个子编码单元。例如,当尺寸为16×32的编码单元被水平分区为三个子编码单元时,该三个子编码单元可按照从最上方子编码单元到最下方子编码单元的顺序分别具有16×8、16×16和16×8的尺寸。例如,当尺寸为32×32的编码单元被垂直分区为三个子编码单元时,该三个子编码单元可按照从左侧子编码单元到右侧子编码单元的顺序分别具有8×32、16×32和8×32的尺寸。当一个编码单元被分区为三个子编码单元时,可称该编码单元被三元分区或按三叉树分区结构被分区。
在图3中,编码树单元(CTU)320是四叉树分区结构、二叉树分区结构和三叉树分区结构均被应用的CTU的示例。
如上所述,为了对CTU进行分区,可应用四叉树分区结构、二叉树分区结构和三叉树分区结构中的至少一个。可根据预定优先级顺序将各种树分区结构顺序地应用于CTU。例如,四叉树分区结构可优先被应用于CTU。不能再使用四叉树分区结构进行分区的编码单元可与四叉树的叶节点对应。与四叉树的叶节点对应的编码单元可用作二叉树和/或三叉树分区结构的根节点。也就是说,与四叉树的叶节点对应的编码单元可通过二叉树分区结构或三叉树分区结构被进一步分区,或者可不被进一步分区。因此,通过防止由与四叉树的叶节点对应的编码单元的二叉树分区或三叉树分区产生的编码块经历进一步的四叉树分区,可高效地执行块分区和/或用信号发送分区信息的操作。
可使用四分区信息来用信号发送与四叉树的节点对应的编码单元被分区的事实。具有第一值(例如,“1”)的四分区信息可指示当前编码单元按四叉树分区结构被分区。具有第二值(例如,“0”)的四分区信息可指示当前编码单元不按四叉树分区结构被分区。四分区信息可以是具有预定长度(例如,一个比特)的标志。
在二叉树分区与三叉树分区之间可不存在优先级。也就是说,与四叉树的叶节点对应的编码单元可进一步经历二叉树分区和三叉树分区中的任意分区。此外,通过二叉树分区或三叉树分区生成的编码单元可经历进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。
在二叉树分区与三叉树分区之间不存在优先级的树结构被称为多类型树结构。与四叉树的叶节点对应的编码单元可用作多类型树的根节点。可使用多类型树分区指示信息、分区方向信息和分区树信息中的至少一个来用信号发送是否对与多类型树的节点对应的编码单元进行分区。对于与多类型树的节点对应的编码单元的分区,可顺序地用信号发送多类型树分区指示信息、分区方向和分区树信息。
具有第一值(例如,“1”)的多类型树分区指示信息可指示当前编码单元将经历多类型树分区。具有第二值(例如,“0”)的多类型树分区指示信息可指示当前编码单元将不经历多类型树分区。
当按多类型树分区结构对与多类型树的节点对应的编码单元进行进一步分区时,编码单元可包括分区方向信息。分区方向信息可指示当前编码单元针对多类型树分区将在哪个方向上被分区。具有第一值(例如,“1”)的分区方向信息可指示当前编码单元将被垂直分区。具有第二值(例如,“0”)的分区方向信息可指示当前编码单元将被水平分区。
当按多类型树分区结构对与多类型树的节点对应的编码单元进行进一步分区时,当前编码单元可包括分区树信息。分区树信息可指示将被用于多类型树的节点的分区的树分区结构。具有第一值(例如,“1”)的分区树信息可指示当前编码单元将按二叉树分区结构被分区。具有第二值(例如,“0”)的分区树信息可指示当前编码单元将按三叉树分区结构被分区。
分区指示信息、分区树信息和分区方向信息均可以是具有预定长度(例如,一个比特)的标志。
四叉树分区指示信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个可被熵编码/熵解码。对于那些类型的信息的熵编码/熵解码,可使用关于与当前编码单元相邻的邻近编码单元的信息。例如,当前编码单元的左邻近编码单元和/或上邻近编码单元的分区类型(分区或不分区、分区树以及/或者分区方向)与当前编码单元的分区类型相似的可能性高。因此,可从关于邻近编码单元的信息推导用于对关于当前编码单元的信息进行熵编码/熵解码的上下文信息。关于邻近编码单元的信息可包括四分区信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个。
作为另一示例,在二叉树分区和三叉树分区中,可优先执行二叉树分区。也就是说,当前编码单元可首先经历二叉树分区,然后可将与二叉树的叶节点对应的编码单元设置为用于三叉树分区的根节点。在这种情况下,可不对与三叉树的节点对应的编码单元执行四叉树分区或二叉树分区。
不能按四叉树分区结构、二叉树分区结构和/或三叉树分区结构分区的编码单元成为用于编码、预测和/或变换的基本单元。也就是说,该编码单元不能被进一步分区以进行预测和/或变换。因此,用于将该编码单元分区为预测单元和/或变换单元的分区结构信息和分区信息可不存在于比特流中。
然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,编码单元可被递归地分区,直到编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。例如,当编码单元的尺寸是64×64时并且当最大变换块的尺寸是32×32时,编码单元可被分区为四个32×32的块以进行变换。例如,当编码单元的尺寸是32×64并且最大变换块的尺寸是32×32时,编码单元可被分区为两个32×32的块以进行变换。在这种情况下,用于变换的编码单元的分区不单独被用信号发送,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,编码单元可被垂直二等分。例如,当编码单元的垂直尺寸(长度)大于最大变换块的垂直尺寸(长度)时,编码单元可被水平二等分。
编码单元的最大尺寸和/或最小尺寸的信息以及变换块的最大尺寸和/或最小尺寸的信息可被用信号发送或者在编码单元的更高等级被确定。所述更高等级可以是例如序列级、画面级、条带级、并行块组级、并行块级等。例如,编码单元的最小尺寸可被确定为4×4。例如,变换块的最大尺寸可被确定为64×64。例如,变换块的最小尺寸可被确定为4×4。
与四叉树的叶节点对应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或从多类型树的根节点到叶节点的最大深度(多类型树的最大树深度)的信息可被用信号发送或者在编码单元的更高等级被确定。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。四叉树的最小尺寸的信息和/或多类型树的最大深度的信息可被用信号发送或者针对画面内条带和画面间条带中的每一个被确定。
CTU的尺寸与变换块的最大尺寸之间的差信息可被用信号发送或在编码单元的更高等级被确定。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可根据条带的类型而变化。例如,对于画面内条带,三叉树的最大尺寸可以是32×32。例如,对于画面间条带,三叉树的最大尺寸可以是128×128。例如,与二叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)可被设置为编码块的最小尺寸。
作为另一示例,二叉树的最大尺寸和/或三叉树的最大尺寸可被用信号发送或在条带级被确定。可选地,二叉树的最小尺寸和/或三叉树的最小尺寸可被用信号发送或在条带级被确定。
根据上述各种块的尺寸和深度信息,四分区信息、多类型树分区指示信息、分区树信息和/或分区方向信息可被包括在比特流中或可不被包括在比特流中。
例如,当编码单元的尺寸不大于四叉树的最小尺寸时,该编码单元不包含四分区信息。因此,可从第二值推导四分区信息。
例如,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,编码单元可不被二叉树分区或三叉树分区。因此,多类型树分区指示信息可不被用信号发送,但可从第二值被推导出。
可选地,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同并且/或者是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,编码单元可不被进一步二叉树分区或三叉树分区。因此,多类型树分区指示信息可不被用信号发送,但可从第二值被推导。这是因为当按二叉树分区结构和/或三叉树分区结构对编码单元进行分区时,生成了小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元。
可选地,可基于虚拟流水线数据单元的尺寸(在下文中,流水线缓冲器尺寸)来限制二叉树分区或三叉树分区。例如,当通过二叉树分区或三叉树分区将编码单元划分为不适合流水线缓冲器尺寸的子编码单元时,对应的二叉树分区或三叉树分区可被限制。流水线缓冲器尺寸可以是最大变换块的尺寸(例如,64×64)。例如,当流水线缓冲器尺寸是64×64时,下面的划分可被限制。
-针对编码单元的N×M(N和/或M是128)三叉树分区
-针对编码单元的水平方向上的128×N(N<=64)二叉树分区
-针对编码单元的垂直方向上的N×128(N<=64)二叉树分区
可选地,当与多类型树的节点对应的编码单元的深度等于多类型树的最大深度时,该编码单元可不被进一步二叉树分区和/或三叉树分区。因此,多类型树分区指示信息可不被用信号发送,但可从第二值被推导出。
可选地,仅当针对与多类型树的节点对应的编码单元进行垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个是可能的时,可用信号发送多类型树分区指示信息。否则,编码单元可不被二叉树分区和/或三叉树分区。因此,多类型树分区指示信息可不被用信号发送,但可从第二值被推导出。
可选地,仅当针对与多类型树的节点对应的编码单元进行垂直方向二叉树分区和水平方向二叉树分区两者或者垂直方向三叉树分区和水平方向三叉树分区两者是可能的时,可用信号发送分区方向信息。否则,分区方向信息可不被用信号发送,但可从指示可能的分区方向的值被推导出。
可选地,仅当针对与多类型树的节点对应的编码单元进行垂直方向二叉树分区和垂直方向三叉树分区两者或者水平方向二叉树分区和水平方向三叉树分区两者是可能的时,可用信号发送分区树信息。否则,分区树信息可不被用信号发送,但可从指示可能的分区树结构的值被推导出。
图4是示出帧内预测处理的示图。
图4中的从中心到外部的箭头可表示帧内预测模式的预测方向。
可通过使用当前块的邻近块的参考样点来执行帧内编码和/或帧内解码。邻近块可以是重建的邻近块。例如,可通过使用重建的邻近块中所包括的参考样点的编码参数或值来执行帧内编码和/或帧内解码。
预测块可表示通过执行帧内预测而生成的块。预测块可对应于CU、PU和TU中的至少一个。预测块的单元可具有CU、PU和TU中的一个的尺寸。预测块可以是尺寸为2×2、4×4、16×16、32×32或64×64等的正方形块,或者可以是尺寸为2×8、4×8、2×16、4×16和8×16等的矩形块。
可根据针对当前块的帧内预测模式来执行帧内预测。当前块可具有的帧内预测模式的数量可以是固定值,并且可以是根据预测块的属性而不同地确定的值。例如,预测块的属性可包括预测块的尺寸和预测块的形状等。
帧内预测模式的数量可被固定为N,而不管块尺寸如何。或者,帧内预测模式的数量可以是3、5、9、17、34、35、36、65或67等。可选地,帧内预测模式的数量可根据块尺寸或颜色分量类型或者块尺寸和颜色分量类型两者而变化。例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而变化。例如,随着块尺寸变大,帧内预测模式的数量可增加。可选地,亮度分量块的帧内预测模式的数量可大于色度分量块的帧内预测模式的数量。
帧内预测模式可以是非角度模式或角度模式。非角度模式可以是DC模式或平面模式,并且角度模式可以是具有特定方向或角度的预测模式。帧内预测模式可由模式编号、模式值、模式数字、模式角度和模式方向中的至少一个表示。帧内预测模式的数量可以是大于1的M,包括非角度模式和角度模式。
为了对当前块进行帧内预测,可执行确定包括在重建的邻近块中的样点是否可被用作当前块的参考样点的步骤。当不可被用作当前块的参考样点的样点存在时,通过对重建的邻近块中包括的样点中的至少一个样点值进行复制或执行插值或者对重建的邻近块中包括的样点中的至少一个样点值进行复制和执行插值两者而获得的值可被用于替换样点的不可用样点值,因此替换后的样点值被用作当前块的参考样点。
图7是示出能够被用于帧内预测的参考样点的示图。
如图7中所示,参考样点线0至参考样点线3中的至少一条可被用于当前块的帧内预测。在图7中,片段A和片段F的样点可分别用与片段B和片段E最接近的样点来填充,而不是从重建的邻近块得到。可用信号发送指示将被用于当前块的帧内预测的参考样点线的索引信息。当当前块的上边界是CTU的边界时,只有参考样点线0是可用的。因此,在这种情况下,可不用信号发送索引信息。当除了参考样点线0之外的参考样点线被使用时,可不执行稍后将描述的针对预测块的滤波。
当进行帧内预测时,可基于帧内预测模式和当前块尺寸将滤波器应用于参考样点和预测样点中的至少一个。
在平面模式的情况下,当生成当前块的预测块时,根据预测目标样点在预测块内的位置,可通过使用当前样点的上侧和左侧参考样点以及当前块的右上侧和左下侧参考样点的加权和来生成预测目标样点的样点值。此外,在DC模式的情况下,当生成当前块的预测块时,可使用当前块的上侧和左侧参考样点的平均值。此外,在角度模式的情况下,可通过使用当前块的上侧、左侧、右上侧和/或左下侧参考样点来生成预测块。为了生成预测样点值,可执行实数单位的插值。
在颜色分量之间的帧内预测的情况下,可基于第一颜色分量的对应的重建块来生成第二颜色分量的针对当前块的预测块。例如,第一颜色分量可以是亮度分量,并且第二颜色分量可以是色度分量。对于颜色分量之间的帧内预测,可基于模板来推导第一颜色分量与第二颜色分量之间的线性模型的参数。模板可包括当前块的上邻近样点和/或左邻近样点以及与其对应的第一颜色分量的重建块的上邻近样点和/或左邻近样点。例如,可使用第一颜色分量的在模板中的样点之中具有最大值的样点值和与其对应的第二颜色分量的样点值以及第一颜色分量的在模板中的样点之中具有最小值的样点值和与其对应的第二颜色分量的样点值来推导所述线性模型的参数。当推导所述线性模型的参数时,可将对应的重建块应用于所述线性模型以生成针对当前块的预测块。根据视频格式,可对第一颜色分量的重建块和所述对应的重建块的邻近样点执行子采样。例如,当第二颜色分量的一个样点对应于第一颜色分量的四个样点时,可对第一颜色分量的四个样点进行子采样以计算一个对应样点。在这种情况下,可基于对应的经过子采样的样点执行线性模型的参数推导和颜色分量之间的帧内预测。是否执行颜色分量之间的帧内预测和/或模板的范围可作为帧内预测模式被用信号发送。
当前块可在水平方向或垂直方向上被分区为两个或四个子块。分区出的子块可被依次重建。也就是说,可对子块执行帧内预测以生成子预测块。此外,可对子块执行反量化和/或逆变换以生成子残差块。可通过将子预测块与子残差块相加来生成重建的子块。重建的子块可被用作用于子子块的帧内预测的参考样点。子块可以是包括预定数量(例如,16)或更多个样点的块。因此,例如,当当前块是8×4的块或4×8的块时,当前块可被分区为两个子块。此外,当当前块是4×4的块时,当前块可不被分区为子块。当当前块具有其它尺寸时,当前块可被分区为四个子块。关于是否基于子块和/或分区方向(水平或垂直)执行帧内预测的信息可被用信号发送。基于子块的帧内预测可仅限于在使用参考样点线0时被执行。当执行基于子块的帧内预测时,可不执行稍后将描述的针对预测块的滤波。
可通过对经过帧内预测的预测块执行滤波来生成最终预测块。可通过将预定权重应用于滤波目标样点、左参考样点、上参考样点和/或左上参考样点来执行滤波。用于滤波的权重和/或参考样点(范围、位置等)可基于块尺寸、帧内预测模式和滤波目标样点在预测块中的位置中的至少一个来确定。可仅在预定帧内预测模式(例如,DC、平面、垂直、水平、对角线和/或相邻对角线模式)的情况下执行滤波。相邻对角线模式可以是将k与对角线模式相加或从对角线模式减去k的模式。例如,k可以是正整数8或更小的正整数。
可通过对邻近于当前块存在的块的帧内预测模式进行预测来对当前块的帧内预测模式进行熵编码/熵解码。当当前块和邻近块的帧内预测模式相同时,可通过使用预定的标志信息来用信号发送当前块和邻近块的帧内预测模式为相同的信息。此外,可用信号发送多个邻近块的帧内预测模式中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。当当前块和邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。
图5是示出画面间预测处理的实施例的示图。
在图5中,矩形可表示画面。在图5中,箭头表示预测方向。画面可按其编码类型被分类为帧内画面(I画面)、预测画面(P画面)和双预测画面(B画面)。
可通过帧内预测来对I画面进行编码,而不需要画面间预测。可通过使用在针对当前块的一个方向(即,前向或后向)上存在的参考画面进行画面间预测来对P画面进行编码。可通过使用在针对当前块的两个方向(即,前向和后向)上存在的参考画面进行画面间预测来对B画面进行编码。当使用画面间预测时,编码器可执行画面间预测或运动补偿,并且解码器可执行对应的运动补偿。
下面,将详细描述画面间预测的实施例。
可使用参考画面和运动信息来执行画面间预测或运动补偿。
可通过编码设备100和解码设备200中的每一个在画面间预测期间推导当前块的运动信息。可通过使用重建的邻近块的运动信息、同位置块(也称为col块或同位块)和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位置画面(也被称为col画面或同位画面)内的在空间上位于与当前块相同的位置处的块。同位画面可以是参考画面列表中包括的一个或更多个参考画面中的一个画面。
运动信息的推导方法可根据当前块的预测模式而不同。例如,针对帧间预测应用的预测模式包括AMVP模式、合并模式、跳过模式、具有运动矢量差的合并模式、子块合并模式、三角形分区模式、帧间-帧内组合预测模式、仿射模式等。这里,合并模式可被称为运动合并模式。
例如,当AMVP被用作预测模式时,重建的邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个可被确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选来生成运动矢量候选列表。可通过使用所生成的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导出的运动矢量候选来确定当前块的运动信息。同位置块的运动矢量或与同位置块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建的邻近块的运动矢量可被称为空间运动矢量候选。
编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(MVD)并可对运动矢量差(MVD)执行熵编码。此外,编码设备100可对运动矢量候选索引执行熵编码并生成比特流。运动矢量候选索引可指示运动矢量候选列表中包括的运动矢量候选中的最优运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。此外,解码设备200可将经过熵解码的MVD与通过熵解码提取出的运动矢量候选相加,从而推导解码目标块的运动矢量。
另外,编码设备100可对计算出的MVD的分辨率信息执行熵编码。解码设备200可使用MVD分辨率信息来调整经过熵解码的MVD的分辨率。
另外,编码设备100基于仿射模型计算当前块中的运动矢量与运动矢量候选之间的运动矢量差(MVD),并对MVD执行熵编码。解码设备200通过经过熵解码的MVD和仿射控制运动矢量候选之和推导解码目标块的仿射控制运动矢量,来基于每个子块推导运动矢量。
比特流可包括指示参考画面的参考画面索引。参考画面索引可由编码设备100熵编码,然后作为比特流被用信号发送到解码设备200。解码设备200可基于推导出的运动矢量和参考画面索引信息生成解码目标块的预测块。
推导当前块的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建的邻近块的运动信息和/或同位置块的运动信息来生成合并候选列表。运动信息可包括运动矢量、参考画面索引和画面间预测指示符中的至少一个。所述预测指示符可指示单向预测(L0预测或L1预测)或者双向预测(L0预测和L1预测)。
合并候选列表可以是所存储的运动信息的列表。包括在合并候选列表中的运动信息可以是以下项中的至少一项:与当前块相邻的邻近块的运动信息(空间合并候选)、当前块的参考画面中的同位置块的运动信息(时间合并候选)、通过合并候选列表中存在的运动信息的组合而生成的新运动信息、在当前块之前被编码/解码的块的运动信息(基于历史的合并候选)以及零合并候选。
编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来生成比特流,并且可将比特流用信号发送到解码设备200。合并标志可以是指示是否针对每个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块之中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括当前块左侧的左邻近块、设置在当前块上方的上邻近块以及时间上与当前块相邻的时间邻近块。
另外,编码设备100对合并候选的运动信息中的用于校正运动矢量的校正信息执行熵编码,并将其用信号发送到解码设备200。解码设备200可基于校正信息对根据合并索引选择的合并候选的运动矢量进行校正。这里,校正信息可包括关于是否执行校正的信息、校正方向信息和校正大小信息中的至少一个。如上所述,基于用信号发送的校正信息对合并候选的运动矢量进行校正的预测模式可被称为具有运动矢量差的合并模式。
跳过模式可以是将邻近块的运动信息按原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码以生成比特流,并且可将比特流用信号发送到解码设备200。编码设备100可不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号发送到解码设备200。
子块合并模式可表示以编码块(CU)的子块为单位推导运动信息的模式。当应用子块合并模式时,可使用参考图像中的与当前子块同位置的子块的运动信息(基于子块的时间合并候选)和/或仿射控制点运动矢量合并候选来生成子块合并候选列表。
三角形分区模式可表示进行以下操作的模式:通过沿对角线方向对当前块进行分区来推导运动信息,使用推导出的运动信息中的每个运动信息来推导每个预测样点,并且通过对推导出的预测样点中的每个预测样点进行加权来推导当前块的预测样点。
帧间-帧内组合预测模式可表示进行以下操作的模式:通过对由帧间预测生成的预测样点和由帧内预测生成的预测样点进行加权来推导当前块的预测样点。
解码设备200可自行校正推导出的运动信息。解码设备200可基于由推导出的运动信息指示的参考块来搜索预定区域,并将具有最小SAD的运动信息推导为校正后的运动信息。
解码设备200可使用光流来对经由帧间预测推导出的预测样点进行补偿。
图6是示出变换和量化处理的示图。
如图6中所示,对残差信号执行变换处理和/或量化处理,以生成量化的等级信号。残差信号是原始块与预测块(即,帧内预测块或帧间预测块)之间的差。预测块是通过帧内预测或帧间预测生成的块。所述变换可以是初次变换、二次变换或者初次变换和二次变换两者。对残差信号的初次变换产生变换系数,并且对变换系数的二次变换产生二次变换系数。
从预先定义的各种变换方案中选择的至少一种方案被用于执行初次变换。例如,所述预定义的变换方案的示例包括离散余弦变换(DCT)、离散正弦变换(DST)和Karhunen-Loève变换(KLT)。通过初次变换生成的变换系数可经历二次变换。可根据当前块和/或当前块的邻近块的编码参数来确定用于初次变换和/或二次变换的变换方案。可选地,可用信号发送指示变换方案的变换信息。基于DCT的变换可包括例如DCT-2、DCT-8等。基于DST的变换可包括例如DST-7。
可通过对残差信号或执行初次变换和/或二次变换的结果执行量化来生成量化的等级信号(量化系数)。根据块的帧内预测模式或块尺寸/形状,可根据对角线右上扫描、垂直扫描和水平扫描中的至少一个来扫描量化的等级信号。例如,当按照对角线右上扫描来扫描系数时,块形式的系数变为一维矢量形式。除了对角线右上扫描之外,可根据变换块的帧内预测模式和/或尺寸来使用水平地扫描二维块形式的系数的水平扫描或垂直地扫描二维块形式的系数的垂直扫描。扫描的量化等级系数可被熵编码以被插入到比特流中。
解码器对比特流进行熵解码以获得量化等级系数。可通过逆扫描以二维块形式排列量化等级系数。对于逆扫描,可使用对角线右上扫描、垂直扫描和水平扫描中的至少一个。
然后,量化等级系数可被反量化,然后根据需要被二次逆变换,并且最后根据需要被初次逆变换,以生成重建的残差信号。
可在环内滤波之前针对通过帧内预测或帧间预测重建的亮度分量执行动态范围的逆映射。所述动态范围可被划分为16个相等的片段,并且可用信号发送针对每个片段的映射函数。可在条带级或并行块组级用信号发送所述映射函数。可基于所述映射函数推导用于执行逆映射的逆映射函数。在逆映射区域中执行环内滤波、参考画面存储和运动补偿,并且经由使用所述映射函数的映射,通过帧间预测生成的预测块被转换为映射区域,然后被用于生成重建块。然而,由于在映射区域中执行了帧内预测,因此经由帧内预测生成的预测块可在不进行映射/逆映射的情况下被用于生成重建块。
当当前块是色度分量的残差块时,可通过对映射区域的色度分量执行缩放来将残差块转换为逆映射区域。可在条带级或并行块组级用信号发送缩放的可用性。仅当针对亮度分量的映射可用并且亮度分量的划分和色度分量的划分遵循相同的树结构时,可应用缩放。可基于与色差块对应的亮度预测块的样点值的平均值来执行缩放。在这种情况下,当当前块使用帧间预测时,亮度预测块可表示经过映射的亮度预测块。可通过使用亮度预测块的样点值的平均值所属的片段的索引参考查找表来推导缩放所需的值。最后,通过使用推导出的值对残差块进行缩放,可将残差块切换到逆映射区域。然后,可在逆映射区域中执行色度分量块恢复、帧内预测、帧间预测、环内滤波和参考画面存储。
可通过一组序列参数用信号发送指示亮度分量和色度分量的映射/逆映射是否可用的信息。
可基于指示当前画面中的当前块与参考块之间的位移的块矢量来生成当前块的预测块。以这种方式,用于参考当前画面生成预测块的预测模式被称为帧内块复制(IBC)模式。IBC模式可被应用于M×N(M<=64,N<=64)的编码单元。IBC模式可包括跳过模式、合并模式、AMVP模式等。在跳过模式或合并模式的情况下,合并候选列表被构建,并且合并索引被用信号发送,使得一个合并候选可被指定。指定的合并候选的块矢量可被用作当前块的块矢量。合并候选列表可包括空间候选、基于历史的候选、基于两个候选的平均值的候选和零合并候选中的至少一个。在AMVP模式的情况下,可用信号发送差块矢量。此外,可从当前块的左侧邻近块和上方邻近块推导预测块矢量。可用信号发送将使用的邻近块的索引。IBC模式下的预测块被包括在当前CTU或左侧CTU中并且限于已经重建的区域中的块。例如,可限制块矢量的值,使得当前块的预测块位于按照编码/解码顺序在当前块所属的64×64的块之前的三个64×64的块的区域中。通过以这种方式限制块矢量的值,可减少根据IBC模式实施方式的内存消耗和装置复杂度。
图8是示出根据本发明的一个实施例的基于CTU执行的图像编码/解码处理的示图。
图像编码/解码设备将输入画面划分为编码树单元(CTU)并基于CTU执行编码/解码。参照图8,可将64×64尺寸的CTU划分为四叉树(QT)编码单元(CU),并且可基于CU执行编码/解码。例如,从左上方CU开始,按照由实线指示的顺序对CU进行编码/解码。图8中所示的编码/解码顺序被称为z字形扫描顺序。在图8中,虚线指示从当前CTU到下一CTU进行编码/解码的进度。也就是说,当当前CTU的编码/解码完成时,对下一CTU进行编码/解码。
CTU的最大尺寸和CU的最小尺寸根据按高级语法(诸如序列参数集(SPS)、自适应参数集(APS)、画面参数集(PPS)、子画面头、并行块头、并行块组头或序列参数集)用信号发送的值而变化。作为输入画面(输入信号)与预测信号之间的差的残差信号按照变换、量化和熵编码的顺序经历变换、量化和熵编码,并且所产生的信号被发送到图像解码设备。
这里,术语“自适应参数集”是指由若干画面、若干子画面、若干并行块组、若干并行块、若干条带、若干CTU线、若干CTU等所参考的参数集。
术语APS还指由不同的画面、子画面、条带、并行块组、并行块或CTU线所参考且共享的参数集。此外,画面中的子画面、条带、并行块组、并行块或CTU线可参考不同的自适应参数集以使用不同的自适应参数集中的信息。
对于自适应参数集,画面中的子画面、条带、并行块组、并行块或CTU线可使用自适应参数集标识符参考不同的自适应参数集。
对于自适应参数集,子画面中的条带、并行块组、并行块或CTU线可使用自适应参数集标识符参考不同的自适应参数集。
对于自适应参数集,条带中的并行块或CTU线可使用自适应参数集标识符参考不同的自适应参数集。
对于自适应参数集,并行块中的CTU线可使用自适应参数集标识符参考不同的自适应参数集。
子画面的参数集或头包含自适应参数集标识符的信息,使得与自适应参数集标识符对应的自适应参数集可被用于对子画面的处理。
并行块的参数集或头包含自适应参数集标识符,使得与自适应参数集标识符对应的自适应参数集可被用于对并行块的处理。
CTU线的头包括自适应参数集标识符,使得与自适应参数集标识符对应的自适应参数集可被用于对CTU线的处理。
画面可被划分为一个或更多个并行块行以及一个或更多个并行块列。
画面中的子画面可被划分为一个或更多个并行块行以及一个或更多个并行块列。子画面是画面中的矩形或正方形区域并且包括一个或更多个CTU。子画面可以是一个或更多个并行块、CTU线和/或条带。
并行块是画面中的矩形或正方形区域并且包括一个或更多个CTU。并行块可被划分为一个或更多个CTU线。
CTU线可表示并行块中的一个或更多个CTU行。并行块可被划分为一个或更多个CTU线,并且每条CTU线可包括一个或更多个CTU行。未被划分为两个或更多个CTU线的并行块也被称作CTU线。CTU线可包括一个或更多个CTU行。
画面中的条带可包括一个或更多个并行块。并行块中的条带可包括一个或更多个CTU线。
在量化处理中,对变换系数执行量化,其中,量化的变换系数(等级)由量化参数(QP)来确定。这里,术语“量化参数”表示量化的参数。
为了基于块使用量化参数,按高级语法元素用信号发送差量量化参数启用标志cu_qp_delta_enabled_flag。
当所述标志具有第一值1时,可用信号发送量化组尺寸信息diff_cu_qp_delta_depth。这里,量化组尺寸信息diff_cu_qp_delta_depth表示量化组的深度信息。可选地,第一值可以是0或整数。例如,第一值可以是1。
根据本发明的一个实施例,可基于量化组的尺寸信息来确定量化组(QG)的尺寸。可针对每个量化组尺寸用信号发送差量量化参数。
表1示出基于CTU的尺寸和量化组的尺寸信息而确定的量化组尺寸。
[表1]
差量量化参数可作为指定差量量化参数的绝对值的语法元素cu_qb_delta_abs和/或指定差量量化参数的符号的语法元素cu_qb_delta_sign_flag被用信号发送。可基于被定义为diff_cu_qb_delta_depth的量化组来用信号发送差量量化参数的语法元素中的至少一个,其中,diff_cu_qb_delta_depth是量化组的尺寸信息。
根据一个实施例,当块的尺寸等于或大于量化组的尺寸时,可针对该块用信号发送至少一个差量量化参数。位于量化组内的块中的一个或更多个块可共享相同的差量量化参数。可从相应的邻近量化组的一个或更多个量化参数推导位于量化组内的块中的一个或更多个块的预测量化参数。当邻近量化组中的至少一个邻近量化组不可用时,按照编码/解码顺序紧接在前的量化或者按更高级(诸如画面、子画面、条带、并行块组、并行块、CTU列、CTU行或CTU线)的语法元素被用信号发送的量化参数被使用,而不是不存在的量化组的量化参数被使用。此外,布置在量化组内的块中的一个或更多个块可共享等于所述预测量化参数的预测量化参数。通过将差量量化参数与预测量化参数相加来获得量化参数。因此,布置在量化组内的块中的一个或更多个块可共享相同的量化参数。
根据本发明的一个实施例,当块的尺寸小于量化组的尺寸时,可从量化组内的第一块用信号发送差量量化参数,其中,第一块具有不是第一值的编码块标志coded_block_flag。这里,第一值可以是0。
例如,当块的编码块标志不是第二值时,可不用信号发送差量量化参数。这里,第二值可以是1。
具体地,例如,在CTU尺寸为64×64的情况下,其中,量化组尺寸信息为diff_cu_qp_delta_depth=1,且在一个32×32的量化组中存在四个16×16的块,仅从量化组中的第一块用信号发送量化参数,并且量化组中的其他块中的至少一个块共享从第一块用信号发送的差量量化参数。这里,第一块可表示所述块中的编码块标志不是第一值的第一块。这里,第一值可以是0。
对于另一特定示例,在CTU尺寸为64×64的情况下,其中,量化组尺寸信息为diff_cu_qp_delta_depth=1,且在一个32×32的量化组中存在四个16×16的块,仅从量化组中的第n块用信号发送量化参数,并且量化组中的其它块中的至少一个块共享从第n块用信号发送的差量量化参数。这里,第n块可表示编码块标志不是第一值的第n块。这里,第一值可以是0。这里,n是大于1的整数。
编码块标志可表示针对亮度信号(Y)以及色度信号Cb和Cr中的至少一个的编码块标志。
图9a是示出根据本发明的一个实施例的图像解码方法的流程图。
参照图9a,图像解码设备从比特流对量化组的尺寸信息进行解码(S901)。
这里,量化组的尺寸信息包括量化组的深度信息、量化组的长度信息、量化组的面积信息、量化组的比率信息、量化组的类型信息、量化组的子划分信息中的至少一个。
量化组可包括正方形量化组或非正方形量化组。
非正方形量化组可具有基于二叉树结构和三叉树结构中的至少一个结构的形状。
图像解码设备可从量化组的尺寸信息获取当前块的差量量化参数(S902)。
例如,可基于量化组的尺寸信息确定量化组的尺寸,并且可基于量化组的尺寸获得当前块的差量量化参数。在这种情况下,可基于量化组的尺寸来对当前块的差量量化参数进行解码。
图像解码设备可从量化组的尺寸信息推导当前块的量化参数(S903)。
例如,可基于当前块的深度与量化组的深度信息之间的关系来获取当前块的差量量化参数。
例如,可基于在当前块的面积与量化组的面积信息之间设置的量化组的尺寸关系来获取当前块的差量量化参数。
例如,基于当前块的子划分值与量化组的子划分信息之间的关系来获取当前块的差量量化参数。
这里,当当前块被四叉树分区时,当前块的子划分值等于2加子划分前的值。
当当前块被二叉树分区时,当前块的子划分值等于1加子划分前的值。
差量量化参数和预测量化参数可被相加以推导当前块的量化参数。
图9b是示出根据本发明的一个实施例的图像编码方法的流程图。
参照图9b,图像编码设备确定量化组的尺寸(S911)。
这里,量化组的尺寸信息包括量化组的深度信息、量化组的长度信息、量化组的面积信息、量化组的比率信息、量化组的类型信息、量化组的子划分信息中的至少一个。
量化组可包括正方形量化组或非正方形量化组。
非正方形量化组可具有基于二叉树结构和三叉树结构中的至少一个结构的形状。
图像编码设备可基于量化组的尺寸来确定当前块的量化参数(S912)。
图像编码设备可从量化参数推导当前块的差量量化参数(S913)。
例如,可基于当前块的深度与量化组的深度信息之间的关系来推导当前块的差量量化参数。
例如,可基于在当前块的面积与量化组的面积信息之间设置的量化组的尺寸关系来推导当前块的差量量化参数。
例如,可基于当前块的子划分值与量化组的子划分信息之间的关系来推导当前块的差量量化参数。
这里,当当前块被四叉树分区时,当前块的子划分值等于2加子划分前的值。
当当前块被二叉树分区时,当前块的子划分值等于1加子划分前的值。
可通过从当前块的量化参数减去预测量化参数来推导差量量化参数。
图像编码设备可对量化组的尺寸信息进行编码(S914)。可基于量化组的尺寸信息来对当前块的差量量化参数进行编码。
根据本发明的一个实施例,图像编码/解码方法和设备执行以下步骤:确定量化组的尺寸,确定量化参数,以及/或者对量化组的尺寸信息和/或差量量化参数信息进行编码/解码。编码/解码可表示熵编码/熵解码。
在下文中,将描述确定量化组的尺寸的步骤。
编码器/解码器可确定量化组的尺寸。
例如,编码器通过使用由用户设置的尺寸或由预定规则确定的尺寸来确定将在编码/解码时使用的量化组的尺寸。
可选地,解码器可基于通过对比特流进行熵解码而获得的量化组尺寸信息所指示的各种尺寸中的至少一个尺寸来确定量化组的尺寸。
进一步可选地,解码器可根据预定规则来确定量化组的尺寸。
再进一步可选地,编码器/解码器可基于先前设置的尺寸来确定量化组的尺寸。
这里,术语“量化组”表示一个或更多个处理单元共享相同的量化参数的区域。量化组可包括至少一个CU、PU、TU和/或块。因此,量化组内的CU、PU、TU和/或块使用相同的量化参数。所述块可以是预定义块。
量化组的尺寸(在下文中,为了便于描述,“量化组的尺寸”将被称为量化组尺寸)可根据从深度、长度、面积、比率、形状和子划分中选择的至少一个而被确定。
量化组的尺寸信息可指量化组的深度信息、长度信息、面积信息、比率信息、形状信息和子划分信息中的至少一个。量化组可具有正方形形状或非正方形形状,诸如矩形形状和三角形形状。
非正方形形状的示例包括二叉树、三叉树以及通过二叉树或三叉树分区生成的至少一个块。
量化组的尺寸信息可指量化组的深度信息、长度信息、面积信息、比率信息、形状信息和子划分信息的任意组合。
多类型树可指二叉树、三叉树或者二叉树和三叉树两者。
块深度(即,块的深度)可表示四叉树的深度、二叉树的深度和三叉树的深度中的至少一个或者这些树中的两个或更多个树的深度之和。
多类型树的深度可表示二叉树的深度和三叉树的深度中的至少一个或者两个或更多个树的深度之和。多类型树的深度可表示二叉树的深度。多类型树的深度可表示三叉树的深度。
例如,当块可具有正方形形状和非正方形形状时,块的深度可表示四叉树的深度和多类型树的深度中的至少一个或者两个或更多个树的深度之和。也就是说,块的深度可表示四叉树的深度、二叉树的深度和三叉树的深度中的至少一个或者它们中两个或更多个树的深度之和。
另一方面,当块仅可具有正方形形状时,块的深度仅表示四叉树的深度。
另一方面,当块仅可具有非正方形形状时,块的深度仅表示多类型树的深度。也就是说,块的深度可表示二叉树的深度和三叉树的深度中的至少一个,或者可表示其中两个或更多个树的深度之和。
在下文中,将描述确定量化参数的步骤。
在编码器/解码器处,量化参数可被确定。
例如,在编码器处,量化参数可由用户设置或者可根据预定规则而被确定。
例如,在解码器处,可通过将通过基于当前量化组的邻近量化组的预测而推导出的预测量化参数与差量量化参数相加来获得量化参数。差量量化参数可表示通过对比特流的解码而获得的差量量化参数的信息。
当当前量化组的邻近量化组中的至少一个邻近量化组不可用时,与编码/解码中的先前位置对应的量化组的量化参数而非与所述不可用位置对应的邻近量化组的量化参数可被用作当前量化组的预测量化参数。
当当前量化组的邻近量化组中的至少一个邻近量化组不可用时,与编码/解码中的先前位置对应的量化组的量化参数而非与所述不可用位置对应的邻近量化组的量化参数可被用作用于计算当前量化组的预测量化参数的量化参数。
当当前量化组的邻近量化组中的至少一个邻近量化组不存在时,与编码/解码顺序中的先前位置对应的量化组的量化参数而非所述不存在的邻近量化组的量化参数可被用作将被用于计算当前量化组的预测量化参数的量化参数。此时,当特定邻近量化组存在时,按高级语法元素发送的量化参数可被用作预测量化参数。高级语法元素可以是画面、子画面、条带、并行块、并行块组、CTU线、CTU行、CTU列和CTU中的至少一个。
这里,邻近量化组不存在的表述表示当前量化组位于画面、子画面、条带、并行块、并行块组、CTU线、CTU行、CTU列和CTU中的至少一个的边界处。
这里,邻近量化组不存在的表述表示邻近量化组位于画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列和CTU中的至少一个的边界外。
这里,邻近量化组不存在的表述表示邻近量化组与当前量化组在画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列和CTU中的至少一个方面不同。
例如,当当前量化组是画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列和CTU之中的至少一个中的第一量化组时,基于画面的量化参数、基于子画面的量化参数、基于条带的量化参数、基于并行块组的量化参数、基于并行块的量化参数和基于CTU线的量化参数中的至少一个可被用作预测量化参数。
例如,当当前量化组是画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列和CTU之中的至少一个中的最后量化组时,基于画面的量化参数、基于子画面的量化参数、基于条带的量化参数、基于并行块组的量化参数、基于并行块的量化参数和基于CTU线的量化参数中的至少一个可被用作预测量化参数。
例如,当当前量化组是画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列和CTU之中的至少一个中的第一量化组时,基于画面的量化参数、基于子画面的量化参数、基于条带的量化参数、基于并行块组的量化参数、基于并行块的量化参数和基于CTU线的量化参数中的至少一个可被用作用于计算预测量化参数的量化参数。
例如,当当前量化组是第一CTU行中的第一量化组时,画面的量化参数、子画面的量化参数、条带的量化参数、并行块组的量化参数、并行块的量化参数和CTU线的量化参数中的至少一个可被用作用于计算预测量化参数的量化参数。
可选地,当当前量化组是CTU线中的第一量化组时,画面的量化参数、子画面的量化参数、条带的量化参数、并行块组的量化参数、并行块的量化参数和CTU线的量化参数中的至少一个可被用作用于计算预测量化参数的量化参数。
例如,当当前量化组是画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列和CTU之中的至少一个中的最后量化组时,画面的量化参数、子画面的量化参数、条带的量化参数、并行块组的量化参数、并行块的量化参数和CTU线的量化参数中的至少一个可被用作用于计算预测量化参数的量化参数。
这里,术语“量化组”表示块或区域。
在解码器处,量化参数可由预定规则来确定。
根据一个实施例,对于当前量化组或量化组中的至少一个块,当前量化组的邻近量化组的量化参数、按照编码/解码顺序的先前量化组的量化参数以及在画面级、子画面级、条带级、并行块组级、并行块级、CTU线级、CTU行级、CTU列级和CTU级被用信号发送的量化参数中的至少一个可被用于推导预测量化参数。
例如,可从当前量化组的相应邻近量化组的量化参数中的至少一个量化参数推导当前量化组的预测量化参数。将参照图10至图13描述推导针对当前量化组的预测量化参数的处理。
图10是示出根据本发明的一个实施例的推导针对当前量化组的预测量化参数的处理的示图。
在图10中,量化组的单位尺寸由粗实线界定。从块的划分产生的子块由细实线界定。相对明亮的实线界定被编码/解码的块的最小尺寸。这里,最小块尺寸可被设置为M×N,其中,M或N是整数。例如,针对亮度分量的最小块尺寸可以是4×4,并且针对色度分量的最小块尺寸可以是2×2。量化组A中的左上方位置可被表示为(x,y)。此外,curQGwidth和curQGheight表示当前量化组的水平尺寸(宽度)和垂直尺寸(高度)。
在图10的(a)中,A表示当前量化组。B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B和位置C中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x,y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y)。
可选地,位置B可被表示为(x,y-1)。位置C可被表示为(x-1,y)。
存在于位置B和C处的量化参数分别被表示为QP_B和QP_C。
量化参数QP_B和QP_C中的至少一个或者量化参数QP_B和QP_C的统计值中的至少一个可被用于推导针对当前量化组的预测量化参数。
例如,如表达式1所示,QP_B和QP_C的平均值可被用于推导当前量化组的预测量化参数。
[表达式1]
predcurQP=(QP_B+QP_C+1)>>1
在图10的(b)中,A表示当前量化组。B、C、D和E中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B、C、D和E中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x,y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y)。位置D可被表示为(x+(curQGwidth>>1),y-(1<<minBlklog2size))。位置E可被表示为(x-(1<<minBlklog2size),y+(curQGheight>>1))。
可选地,位置B可被表示为(x,y-1)。位置C可被表示为(x-1,y)。位置D可被表示为(x+(curQGwidth≥1),y-1)。位置E可被表示为(x-1,y+(curQGheight>>1))。
存在于位置B、C、D和E处的量化参数分别被表示为QP_B、QP_C、QP_D和QP_E。
量化参数QP_B、QP_C、QP_D和QP_E中的至少一个或者量化参数QP_B、QP_C、QP_D和QP_E的统计值中的至少一个可被用于推导针对当前量化组的预测量化参数。
例如,如表达式2所示,QP_B、QP_C、QP_D和QP_E的平均值可被用于推导当前量化组的预测量化参数。
[表达式2]
predcurQP=(QP_B+QP_C+QP_D+QP_E+2)>>2
在图10的(c)中,A表示当前量化组。B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B和C中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x+(curQGwidth>>1),y-(curQGheight>>1))。位置C可被表示为(x-(curQGwidth>>1),y+(curQGheight>>1))。
存在于位置B和C处的量化参数分别被表示为QP_B和QP_C。
QP_B和QP_C中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式3所示,QP_B和QP_C的平均值可被用于推导当前量化组的预测量化参数。
[表达式3]
predcurQP=(QP_B+QP_C+1)>>1
在图10的(d)中,A表示当前量化组。B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B和C中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x+curQGwidth-(1<<minBlklog2size),y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y+curQGheight-(1<<minBlklog2size))。
可选地,位置B可被表示为(x+curQGwidth-1,y-1)。位置C可被表示为(x-1,y+curQGheight-1)。
存在于位置B和C处的量化参数分别被表示为QP_B和QP_C。
QP_B和QP_C中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式4所示,QP_B和QP_C的平均值可被用于推导当前量化组的预测量化参数。
[表达式4]
predcurQP=(QP_B+QP_C+1)>>1
图11是示出根据本发明的另一实施例的推导针对当前量化组的预测量化参数的处理的示图。
在图11中,量化组的单位尺寸由粗实线界定。从块的划分产生的子块由细实线界定。相对明亮的实线界定被编码/解码的块的最小尺寸。这里,最小块尺寸可被设置为M×N,其中,M或N是整数。例如,针对亮度分量的最小块尺寸可以是4×4,并且针对色度分量的最小块尺寸可以是2×2。量化组A中的左上方位置可被表示为(x,y)。此外,curQGwidth和curQGheight表示当前量化组的水平尺寸(宽度)和垂直尺寸(高度)。此外,A表示预定CTU行中的第一量化组。可选地,A表示包括在CTU线中的至少一个CTU行中的第一量化组。
在图11的(a)中,A表示当前量化组。B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B和位置C中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x,y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y)。
可选地,位置B可被表示为(x,y-1)。位置C可被表示为(x-1,y)。
这里,位置B可位于当前量化组所在的画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列或CTU的边界外。
例如,由于与位置B对应的量化组位于所述边界外,因此在推导预测量化参数时可不使用位置B的量化参数。位置C的量化参数可被表示为QP_C。
通过使用QP_C,可推导当前量化组的预测量化参数。
例如,如表达式5所示,QP_C可被用于推导当前量化组的预测量化参数。
[表达式5]
predcurQP=QP_C
例如,由于与位置B对应的量化组位于所述边界外,因此位置B的量化参数可用按照编码/解码顺序的先前量化组的量化参数来替换,或者用高级的量化参数来替换,并且替换后的量化参数可被使用。按照编码/解码顺序的先前量化组的量化参数或高级的量化参数可被表示为QP_B。位置C的量化参数可被表示为QP_C。
在本发明的当前实施例和/或其他实施例中,高级的量化参数可表示画面的量化参数、子画面的量化参数、条带的量化参数、并行块组的量化参数、并行块的量化参数和CTU线的量化参数中的至少一个。
QP_B和QP_C中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式6所示,QP_B和QP_C的平均值可被用于推导当前量化组的预测量化参数。
[表达式6]
predcurQP=(QP_B+QP_C+1)>>1
可选地,可使用加权平均值来推导当前量化组的预测量化参数。在这种情况下,QP-B的加权因子可被设置为小于QP_C的加权因子。
在图11的(b)中,A表示当前量化组。B、C、D和E中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B、C、D和E中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x,y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y)。位置D可被表示为(x+(curQGwidth>>1),y-(1<<minBlklog2size))。位置E可被表示为(x-(1<<minBlklog2size),y+(curQGheight>>1))。
可选地,位置B可被表示为(x,y-1)。位置C可被表示为(x-1,y)。位置D可被表示为(x+(curQGwidth≥1),y-1)。位置E可被表示为(x-1,y+(curQGheight>>1))。
这里,B和D的位置中的至少一个位置可位于包括当前量化组的画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列或CTU的边界外。
例如,由于与位置B和D中的至少一个位置对应的量化组位于所述边界外,因此在推导预测量化参数时可不使用一个或更多个位置B和D处的量化参数。位置C和E处的量化参数可被分别表示为QP_C和QP_E。
QP_C和QP_E中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式7所示,QP_C和QP_E的平均值可被用于推导当前量化组的预测量化参数。
[表达式7]
predcurQP=(QP_C+QP_E+1)>>1
可选地,由于与B和D中的至少一个的位置对应的量化组位于所述边界外,因此B和D中的至少一个的位置的量化参数可用按照编码/解码顺序的先前量化组的量化参数来替换或者用高级的量化参数来替换,并且替换后的量化参数可被使用。按照编码/解码顺序的先前量化组的量化参数或高级的量化参数可被表示为QP_B和QP_D。位置C和E处的量化参数可被分别表示为QP_C和QP_E。
在这种情况下,QP_B、QP_C、QP_D和QP_E中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如在由表达式8表示的示例中,QP_B、QP_C、QP_D、QP_E的平均值可被用于推导当前量化组的预测量化参数。
[表达式8]
predcurQP=(QP_B+QP_C+QP_D+QP_E+2)>>2
可选地,可使用加权平均值来推导当前量化组的预测量化参数。在这种情况下,QP_B和QP_D的加权因子中的至少一个可被设置为小于QP_C和QP_E的加权因子中的至少一个。
在图11的(c)中,A表示当前量化组。A可表示预定CTU行中的第一量化组。可选地,A可表示CTU线中包括的至少一个CTU行中的第一量化组。可选地,A可表示预定条带中的第一量化组、预定子画面中的第一量化组、预定并行块组中的第一量化组和预定并行块中的第一量化组之中的至少一个。
B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B和C中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x,y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y)。
可选地,位置B可被表示为(x,y-1)。位置C可被表示为(x-1,y)。
这里,位置C可在当前量化组所在的画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列或CTU的边界外。
例如,由于与位置C对应的量化组位于所述边界外,因此位置C的量化参数可不被用于对预测量化参数的推导。位于位置B处的量化参数可被表示为QP_B。
通过使用QP_B,可推导当前量化组的预测量化参数。
例如,如在由表达式9表示的示例中,QP_B可被用于推导当前量化组的预测量化参数。
[表达式9]
predcurQP=QP_B
例如,由于与位置C对应的量化组位于所述边界外,因此位置C的量化参数可用按照编码/解码顺序的先前量化组的量化参数来替换或者用高级的量化参数来替换,并且替换后的量化参数可被使用。按照编码/解码顺序的先前量化组的量化参数或高级的量化参数可被表示为QP_C。位于位置B处的量化参数可被表示为QP_B。
QP_B和QP_C中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如在由表达式10表示的示例中,QP_B和QP_C的平均值可被用于推导当前量化组的预测量化参数。
[表达式10]
predcurQP=(QP_B+QP_C+1)>>1
可选地,可使用加权平均值来推导当前量化组的预测量化参数。在这种情况下,QP_B的加权因子可被设置为小于QP_B的加权因子。
在图11的(d)中,A表示当前量化组。B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B和C中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x+curQGwidth-(1<<minBlklog2size),y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y+curQGheight-(1<<minBlklog2size))。
可选地,位置B可被表示为(x+curQGwidth-1,y-1)。位置C可被表示为(x-1,y+curQGheight-1)。
这里,位置C可在当前量化组所在的画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列或CTU的边界外。
例如,由于与位置C对应的量化组位于所述边界外,因此位置C的量化参数可不被用于对预测量化参数的推导。位于位置B处的量化参数可被表示为QP_B。
通过使用QP_B,可推导当前量化组的预测量化参数。
例如,如表达式11所示,QP_B可被用于推导当前量化组的预测量化参数。
[表达式11]
predcurQP=QP_B
例如,由于与位置C对应的量化组位于所述边界外,因此位置C的量化参数可用按照编码/解码顺序的先前量化组的量化参数来替换或者用高级的量化参数来替换,并且替换后的量化参数可被使用。按照编码/解码顺序的先前量化组的量化参数或高级的量化参数可被表示为QP_C。位置B处的量化参数可被表示为QP_B。
QP_B和QP_C中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式12所示,QP_B和QP_C的平均值可被用于推导当前量化组的预测量化参数。
[表达式12]
predcurQP=(QP_B+QP_C+1)>>1
可选地,可使用加权平均值来推导当前量化组的预测量化参数。在这种情况下,QP_C的加权因子可被设置为小于QP_B的加权因子。
图12是示出根据本发明的又一实施例的推导针对当前量化组的预测量化参数的处理的示图。
在图12中,量化组的单位尺寸由粗实线界定。从块的划分产生的子块由细实线界定。相对明亮的实线界定将被编码/解码的块的最小尺寸。这里,最小块尺寸可被设置为M×N,其中,M或N是整数。例如,针对亮度分量的最小块尺寸可以是4×4,并且针对色度分量的最小块尺寸可以是2×2。量化组A中的左上方位置可被表示为(x,y)。此外,curQGwidth和curQGheight分别表示当前量化组的水平尺寸(宽度)和垂直尺寸(高度)。
在图12的(a)中,A表示当前量化组。B、C、D和E中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。在这种情况下,与位置B、C、D和E中的至少一个位置对应的量化组的量化参数可被用于推导针对当前量化组的预测量化参数。当前量化组A可具有非正方形形状。推导针对非正方形量化组的量化参数的方法可类似于推导针对正方形量化组的量化参数的方法。
例如,位置B可被表示为(x,y-(1<<minBlklog2size))。位置C可被表示为(x-(1<<minBlklog2size),y)。位置D可被表示为(x+(curQGwidth>>1),y-(1<<minBlklog2size))。位置E可被表示为(x-(1<<minBlklog2size),y+(curQGheight>>1))。
可选地,位置B可被表示为(x,y-1)。位置C可被表示为(x-1,y)。位置D可被表示为(x+(curQGwidth>>1),y-1)。位置E可被表示为(x-1,y+(curQGheight>>1))。
存在于位置B、C、D和E处的量化参数被分别表示为QP_B、QP_C、QP_D和QP_E。
QP_B、QP_C、QP_D和QP_E中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式13所示,QP_B、QP_C、QP_D和QP_E的平均值可被用于推导当前量化组的预测量化参数。
[表达式13]
predcurQP=(QP_B+QP_C+QP_D+QP_E+2)>>2
在图12的(b)中,A表示当前量化组。B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与位置B和C中的至少一个位置对应的量化组的量化参数来推导当前量化组的预测量化参数。当前量化组A可具有非正方形形状。推导针对非正方形量化组的量化参数的方法可类似于推导针对正方形量化组的量化参数的方法。可选地,可基于非正方形量化组的宽度和/或高度来推导针对非正方形量化组的预测量化参数。
例如,位置B可被表示为(x+(BQGwidth>>1),y-(BQGheight>>1))。位置C可被表示为(x-(CQGwidth>>1),y+(CQGheight>>1))。这里,XQGwidth和XQGheight可分别表示位于当前量化组周围的邻近量化组的宽度和高度。例如,可通过用字符“B”替换字符“X”来表示位置B处的量化组的宽度和高度,例如,分别为BQGwidth和BQGheight。可通过用字符“C”替换字符“X”来表示位置C处的量化组的宽度和高度,例如,分别为CQGwidth和CQGheight。
存在于位置B和C处的量化参数被分别表示为QP_B和QP_C。
QP_B和QP_C中的至少一个或其统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式14所示,QP_B和QP_C的平均值可被用于推导当前量化组的预测量化参数。
[表达式14]
predcurQP=(QP_B+QP_C+1)>>1
在图12的(c)中,A表示当前量化组。B、C、D、E和F中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。可通过使用与B、C、D、E和F中的至少一个对应的量化组的量化参数来推导当前量化组的预测量化参数。
例如,位置B可被表示为(x-(1<<minBlklog2size),y+curQGheight-(1<<minBlklog2size))。C的位置可被表示为(x+curQGwidth-(1<<minBlklog2size),y-(1<<minBlklog2size))。位置D可被表示为(x+curQGwidth,y-(1<<minBlklog2size))。位置E可被表示为(x-(1<<minBlklog2size),y+curQGheight)。位置F可被表示为(x-(1<<minBlklog2size),y-(1<<minBlklog2size))。
可选地,位置B可被表示为(x-1,y+curQGheight-1)。位置C可被表示为(x+curQGwidth-1,y-1)。位置D可被表示为(x+curQGwidth,y-1)。位置E可被表示为(x-1,y+curQGheight)。位置F可被表示为(x-1,y-1)。
存在于位置B、C、D、E和F处的量化参数可被分别表示为QP_B、QP_C、QP_D、QP_E和QP_F。
QP_B、QP_C、QP_D、QP_E和QP_F中的至少N个量化参数或者QP_B、QP_C、QP_D、QP_E和QP_F中的至少N个量化参数的统计值可被用于推导当前量化组的预测量化参数。这里,N是正整数。
可根据特定顺序选择N个量化参数。所述特定顺序可以是编码/解码顺序或是在编码器/解码器中被处理的特定位置的顺序。所述特定顺序可表示B、C、D、E和F的顺序。
例如,如表达式15所示,量化参数QP_B、QP_C、QP_D和QP_E、QP_F中的两个量化参数QP_B和QP_C的统计值(例如,平均值)可被用于推导当前量化组的预测量化参数。
[表达式15]
predcurQP=(QP_B+QP_C+1)>>1
在图12的(d)中,A表示当前量化组。B和C中的每一个表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。这里,当当前量化组是位于左上角的量化组或者是画面、子画面、条带、并行块组、并行块、CTU线、CTU行和CTU列之中的至少一个中的第一量化组时,在位置B和C处可能不存在量化组。在这种情况下,当前量化组的预测量化参数可以是从高级语法元素发送的值。这里,从高级语法元素发送的值可表示高级量化参数中的至少一个。
高级语法元素可以是画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列和CTU中的至少一个。
例如,当画面中的发送的量化参数的值是picQP时,可如在表达式16的示例中推导当前量化组的预测量化参数。
[表达式16]
predcurQP=picQP
可选地,当条带中的发送的量化参数的值为sliceQP时,可如在表达式17的示例中推导当前量化组的预测量化参数。
[表达式17]
predcurQP=sliceQP
进一步可选地,当并行块组中的发送的量化参数的值为tilegroupQP时,可如在表达式18的示例中推导当前量化组的预测量化参数。
[表达式18]
predcurQP=tilegroupQP
进一步可选地,当并行块中的发送的量化参数的值为tileQP时,可如在表达式19的示例中推导当前量化组的预测量化参数。
[表达式19]
predcurQP=tileQP
图13是示出根据本发明的又一实施例的推导当前量化组的预测量化参数的处理的示图。
在图13中,量化组的单位尺寸由粗实线界定。从块的划分产生的子块由细实线界定。相对明亮的实线界定被编码/解码的块的最小尺寸。这里,最小块尺寸可被设置为M×N,其中,M或N是整数。例如,针对亮度分量的最小块尺寸可以是4×4,并且针对色度分量的最小块尺寸可以是2×2。量化组A中的左上方位置可被表示为(x,y)。此外,curQGwidth和curQGheight分别表示当前量化组的水平尺寸(宽度)和垂直尺寸(高度)。
在图13的(a)中,A表示当前量化组。B、C、D、E和F中的至少一个表示推导预测量化参数的块或样点的位置或者可表示位于当前量化组周围的邻近量化组的位置。这里,与位置B、C、D、E和F中的至少一个位置对应的量化组的量化参数可被用于推导当前量化组的预测量化参数。
例如,位置B可被表示为(x-(1<<minBlklog2size),y+curQGheight-(1<<minBlklog2size))。C的位置可被表示为(x+curQGwidth-(1<<minBlklog2size),y-(1<<minBlklog2size))。位置D可被表示为(x+curQGwidth,y-(1<<minBlklog2size))。位置E可被表示为(x-(1<<minBlklog2size),y+curQGheight)。位置F可被表示为(x-(1<<minBlklog2size),y-(1<<minBlklog2size))。
可选地,位置B可被表示为(x-1,y+curQGheight-1)。位置C可被表示为(x+curQGwidth-1,y-1)。位置D可被表示为(x+curQGwidth,y-1)。位置E可被表示为(x-1,y+curQGheight)。位置F可被表示为(x-1,y-1)。
位置B、E和F中的至少一个位置可在当前画面、子画面、条带、并行块组、并行块、CTU线、CTU行、CTU列和CTU中的至少一个的边界外。
由于与位置B、E和F中的至少一个位置对应的量化组在所述边界外,因此一个或更多个位置B、E和F处的量化参数不被用于推导当前量化组的预测量化参数。另一方面,位置C和D处的量化参数可被分别表示为QP_C和QP_D。
可使用QP_C和QP_D中的至少一个或者QP_C和QP_D的至少一个统计值来推导当前量化组的预测量化参数。
例如,如在表达式20的示例中,可使用QP_C和QP_D的平均值来推导当前量化组的预测量化参数。
[表达式20]
predcurQP=(QP_C+QP_D+1)>>1
作为另一示例,由于与位置B、E和F中的至少一个位置对应的量化组在所述边界外,因此与位置B、E和F中的至少一个位置对应的量化参数可用按照编码/解码顺序的先前量化组的量化参数来替换或者用高级的量化参数来替换。此时,按照编码/解码的先前量化组的量化参数或者更高级的量化参数可被表示为QP_B、QP_E和QP_F。此外,位置C和D处的量化参数可被分别表示为QP_C和QP_D。
另一方面,可使用QP_B、QP_C、QP_D、QP_E和QP_F中的至少N个量化参数或者所述至少N个量化参数的统计值来推导当前量化组的预测量化参数。这里,N是正整数。
可根据特定顺序选择N个量化参数。所述特定顺序是编码/解码顺序或者是在编码器/解码器中被处理的特定位置的顺序。所述特定顺序可表示B、C、D、E和F的顺序。
例如,如表达式21所示,可使用QP_B、QP_C、QP_D、QP_E和QP_F中的两个量化参数QP_B和QP_C的统计值(例如,平均值)来推导当前量化组的预测量化参数。
[表达式21]
predcurQP=(QP_B+QP_C+1)>>1
可选地,可使用加权平均值来推导当前量化组的预测量化参数。在这种情况下,QP_B、QP_E和QP_F中的至少一个的加权因子可被设置为小于QP_C和QP_D中的至少一个的加权因子。
在图13的(b)中,A表示当前量化组。B、C、D、E和F中的至少一个可表示推导预测量化参数的块或样点的位置或者可表示位于当前量化组周围的邻近量化组的位置。这里,与位置B、C、D、E和F中的至少一个位置对应的量化组的量化参数可被用于推导当前量化组的预测量化参数。
例如,位置B可被表示为(x-(1<<minBlklog2size),y+curQGheight-(1<<minBlklog2size))。位置C可被表示为(x+curQGwidth-(1<<minBlklog2size),y-(1<<minBlklog2size))。位置D可被表示为(x+curQGwidth,y-(1<<minBlklog2size))。位置E可被表示为(x-(1<<minBlklog2size),y+curQGheight)。位置F可被表示为(x-(1<<minBlklog2size),y-(1<<minBlklog2size))。
可选地,位置B可被表示为(x-1,y+curQGheight-1)。位置C可被表示为(x+curQGwidth-1,y-1)。位置D可被表示为(x+curQGwidth,y-1)。位置E可被表示为(x-1,y+curQGheight)。位置F可被表示为(x-1,y-1)。
位置C、D和F中的至少一个位置可在当前画面、子画面、条带、并行块组、并行块、CTU线、CTU行、CTU列和CTU中的至少一个的边界外。
例如,由于与位置C、D和F中的至少一个位置对应的量化组在所述边界外,因此位置C、D和F中的至少一个位置的量化参数可不被用于推导当前量化组的预测量化参数。位置B和E处的量化参数可被分别表示为QP_B和QP_E。
QP_B和QP_C中的至少一个或者QP_B和QP_C的统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式22所示,QP_C和QP_E的平均值可被用于推导当前量化组的预测量化参数。
[表达式22]
predcurQP=(QP_B+QP_E+1)>>1
作为另一示例,由于与位置C、D和F中的至少一个位置对应的量化组在所述边界外,因此与位置C、D和F中的至少一个位置对应的量化参数可用按照编码/解码顺序的先前量化组的量化参数来替换或者用高级的量化参数来替换。此时,按照编码/解码的先前量化组的量化参数或者更高级的量化参数可被表示为QP_C、QP_D和QP_F。位置B和E处的量化参数可被分别表示为QP_B和QP_E。
另一方面,可使用QP_B、QP_C、QP_D、QP_E和QP_F中的至少N个量化参数或者所述至少N个量化参数的统计值来推导当前量化组的预测量化参数。这里,N是正整数。
可根据特定顺序选择N个量化参数。所述特定顺序可以是编码/解码顺序或者是在编码器/解码器中被处理的特定位置的顺序。所述特定顺序可表示B、C、D、E和F的顺序。
例如,如表达式23所示,可使用QP_B、QP_C、QP_D、QP_E和QP_F中的四个量化参数QP_B、QP_C、QP_D和QP_E的统计值(例如,平均值)来推导当前量化组的预测量化参数。
[表达式23]
predcurQP=(QP_B+QP_C+QP_D+QP_E+2)>>2
可选地,可使用加权平均值来推导当前量化组的预测量化参数。在这种情况下,QP_C、QP_D和QP_F中的至少一个的加权因子可被设置为小于QP_B和QP_E中的至少一个的加权因子。
在图13的(c)中,A表示当前量化组。B、C、D、E和F中的每一个可表示推导预测量化参数的块或样点的位置或者位于当前量化组周围的邻近量化组的位置。这里,与位置B、C、D、E和F中的至少一个位置对应的量化组的量化参数可被用于推导当前量化组的预测量化参数。当前量化组A可具有非正方形形状。推导针对非正方形量化组的量化参数的方法可类似于推导针对正方形量化组的量化参数的方法。
例如,位置B可被表示为(x-(1<<minBlklog2size),y+curQGheight-(1<<minBlklog2size))。位置C可被表示为(x+curQGwidth-(1<<minBlklog2size),y-(1<<minBlklog2size))。位置D可被表示为(x+curQGwidth,y-(1<<minBlklog2size))。位置E可被表示为(x-(1<<minBlklog2size),y+curQGheight)。位置F可被表示为(x-(1<<minBlklog2size),y-(1<<minBlklog2size))。
可选地,位置B可被表示为(x-1,y+curQGheight-1)。位置C可被表示为(x+curQGwidth-1,y-1)。位置D可被表示为(x+curQGwidth,y-1)。位置E可被表示为(x-1,y+curQGheight)。位置F可被表示为(x-1,y-1)。
这里,位置E可在当前量化组所在的画面、子画面、条带、并行块、并行块组、并行块、CTU线、CTU行、CTU列或CTU的边界外。
例如,由于与位置E对应的量化组位于所述边界外,因此位置E的量化参数可不被用于推导预测量化参数。存在于位置B、C、D和F处的量化参数被分别表示为QP_B、QP_C、QP_D和QP_F。
QP_B、QP_C、QP_D和QP_F中的至少一个或者QP_B、QP_C、QP_D和QP_F的统计值中的至少一个可被用于推导当前量化组的预测量化参数。
例如,如表达式24所示,QP_B、QP_C、QP_D和QP_F的平均值可被用于推导当前量化组的预测量化参数。
[表达式24]
predcurQP=(QP_B+QP_C+QP_D+QP_F+2)>>2
例如,由于与位置E对应的量化组位于所述边界外,因此位置E的量化参数可用按照编码/解码顺序的先前量化组的量化参数来替换或者用高级的量化参数来替换,并且替换后的量化参数可被使用。按照编码/解码顺序的先前量化组的量化参数或者高级的量化参数可被表示为QP_E。存在于位置B、C、D和F处的量化参数被分别表示为QP_B、QP_C、QP_D和QP_F。
另一方面,可使用QP_B、QP_C、QP_D、QP_E和QP_F中的至少N个量化参数或者所述至少N个量化参数的统计值来推导当前量化组的预测量化参数。这里,N是正整数。
可根据特定顺序选择N个量化参数。所述特定顺序可以是编码/解码顺序或者是在编码器/解码器中被处理的特定位置的顺序。所述特定顺序可表示B、C、D、E和F的顺序。
例如,如表达式25所示,可使用QP_B、QP_C、QP_D、QP_E和QP_F中的四个量化参数QP_B、QP_C、QP_D和QP_E的统计值(例如,平均值)来推导当前量化组的预测量化参数。
[表达式25]
predcurQP=(QP_B+QP_C+QP_D+QP_E+2)>>2
可选地,可使用加权平均值来推导当前量化组的预测量化参数。在这种情况下,QP_E的加权因子可被设置为小于QP_B、QP_C、QP_D和QP_F的加权因子中的至少一个。
在下文中,将在下面描述对量化组的尺寸信息和/或差量量化参数的信息进行编码/解码的步骤。
量化组的尺寸信息可在编码器中被熵编码。这里,量化组的尺寸信息可在视频参数集(VPS)、序列参数集(SPS)、自适应参数集(APS)、画面参数集(PPS)、子画面头、条带头、并行块组头、CTU线、CTU行、CTU列、CTU或块的等级被熵编码到比特流。
例如,可使用如表2中所示的指定量化组的尺寸的深度、长度、面积、比率、形状和子划分中的至少一个来对针对其用信号发送差量量化参数的每个单元或块的尺寸进行熵编码。表2示出针对其用信号发送从量化组尺寸确定信息确定的差量量化参数的每个单元或块的尺寸的示例。这里,针对其用信号发送差量量化参数的每个单元或块的尺寸可表示量化组的尺寸信息。
作为另一示例,可使用指定量化组的尺寸的比率和形状中的至少一个来对量化组的尺寸信息进行熵编码。
量化组的尺寸信息可在编码器中被熵编码。这里,可在视频参数集(VPS)、序列参数集(SPS)、自适应参数集(APS)、画面参数集(PPS)、子画面头、条带头、并行块组头、CTU线、CTU行、CTU列、CTU或块的等级从比特流对量化组的尺寸信息进行熵解码。
例如,如表2中所示,可使用指定量化组的尺寸的深度、长度、面积、比率、形状和子划分中的至少一个来对针对其用信号发送差量量化参数的每个单元或块的尺寸进行熵解码。这里,针对其用信号发送差量量化参数的每个单元或块的尺寸可表示量化组的尺寸信息。
作为另一示例,可使用指定量化组的尺寸的比率和形状中的至少一个来对量化组的尺寸信息进行熵解码。
[表2]
可在编码器中对差量量化参数信息进行熵编码。可在量化组基础、CU基础、PU基础、TU基础和块基础中的至少一个基础上对差量量化参数信息的至少一个项进行熵编码。
可在解码器中对差量量化参数信息进行熵解码。可在量化组基础、CU基础、PU基础、TU基础和块基础中的至少一个基础上对差量量化参数信息的至少一个项进行熵解码。
可针对每个量化组对至少一个差量量化参数进行熵编码/熵解码。
可通过使用诸如IsCuDeltaQPCoded的变量或标志设置差量量化参数是否在量化组中被熵编码/熵解码来针对每个量化组对至少一个差量量化参数进行熵编码/熵解码。也就是说,当在量化组中对差量量化参数进行熵编码/熵解码时,标志或值IsCuDeltaQPCoded被设置为第一值。这里,第一值可以是1。根据量化组中的每个量化组的形状,可针对相应一个量化组对至少一个差量量化参数进行熵编码/熵解码。
例如,当CTU的尺寸为64×64并且diff_cu_qp_delta_depth为1时,在当前块的块深度为1(即,四叉树的深度为1且尺寸为32×32)的情况下,可对当前块的差量量化参数进行熵编码/熵编码。也就是说,在对当前块的差量量化参数进行熵编码/熵解码之后,标志或值IsCuDeltaQPCoded可被设置为第一值。当diff_cu_qp_delta_depth为1时,量化组的尺寸可被设置为32×32。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为1时,在当前块的块深度为2(即,四叉树深度的深度为1且块尺寸为16×16)的情况下,可针对从以与量化组的深度信息相同的深度1进行划分而产生的块中的第一块对差量量化参数进行熵编码/熵编码。在针对当前块的差量量化参数被熵编码/熵解码之后,可将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必针对量化组中的其它块对差量量化参数进行熵编码/熵解码。因此,一个量化组中的块可共享相同的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。当diff_cu_qp_delta_depth为1时,量化组的尺寸可被设置为32×32。此外,量化组中的其它块可基于所述差量量化参数来确定它们的差量量化参数。此外,量化组中的其它块可基于所述差量量化参数来确定它们的差量量化参数。
例如,当CTU的尺寸为128×128且diff_cu_qp_delta_depth为1时,在当前块的块深度为3(即,四叉树的深度为2,二叉树的深度为1,且尺寸为32×16)的情况下,可对当前块的差量量化参数进行熵编码/熵编码。在对当前块的差量量化参数进行熵编码/熵解码之后,可将标志或值IsCuDeltaQPCoded设置为第一值。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为3时,在当前块的块深度为2(即,四叉树的深度为1,二叉树的深度为1,且尺寸为32×16)的情况下,可对当前块的差量量化参数进行熵编码/熵编码。在对当前块的差量量化参数进行熵编码/熵解码之后,可将标志或值IsCuDeltaQPCoded设置为第一值。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为3时,在当前块的块深度为2(即,四叉树的深度为1,多类型树的深度为1,且块尺寸为32×16)的情况下,可对当前块的差量量化参数进行熵编码/熵编码。在对当前块的差量量化参数进行熵编码/熵解码之后,可将标志或值IsCuDeltaQPCoded设置为第一值。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为2时,在当前块的块深度为3(即,四叉树深度的深度为1,二叉树的深度为1,三叉树的深度为3,且块尺寸为8×16)的情况下,可针对从以与量化组的深度信息相同的深度2进行划分而产生的块中的第一块对差量量化参数进行熵编码/熵编码。在对针对当前块的差量量化参数进行熵编码/熵解码之后,可将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必对针对量化组中的其它块的差量量化参数进行熵编码/熵解码。因此,深度与量化组的深度信息相同或比量化组的深度信息大的块可共享差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。可基于量化组深度信息diff_cu_qp_delta_depth来设置量化组的尺寸。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为2时,在当前块的块深度为3(即,四叉树深度的深度为1,多类型树的深度为2,且块尺寸为8×16)的情况下,可针对从以与量化组的深度信息相同的深度1进行划分而产生的块中的第一块对差量量化参数进行熵编码/熵编码。在对针对当前块的差量量化参数进行熵编码/熵解码之后,可将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必对针对量化组中的其它块的差量量化参数进行熵编码/熵解码。因此,深度与量化组的深度信息相同或比量化组的深度信息大的块可共享差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。可基于量化组深度信息diff_cu_qp_delta_depth来设置量化组的尺寸。
进一步可选地,例如,当CTU的尺寸为32×32并且log2_diff_cu_qp_delta_length(量化组长度信息)为1时,量化组的尺寸可被设置为16×16。当当前块的尺寸为4×12时,可对针对量化组中的第一块的差量量化参数进行熵编码/熵解码。在对所述差量量化参数进行熵编码/熵解码之后,可将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。因此,一个量化组中的块可共享相同的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。
进一步可选地,例如,当CTU的尺寸为128×128且log2_diff_cu_qp_delta_length(量化组长度信息)为2时,量化组的尺寸可被设置为32×32。当当前块的尺寸为16×8时,可对针对量化组中的第一块的差量量化参数进行熵编码/熵解码。在对所述差量量化参数进行熵编码/熵解码之后,可将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。因此,一个量化组中的块可共享相同的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。
进一步可选地,例如,当CTU的尺寸为32×32且log2_diff_cu_qp_delta_length(量化组长度信息)为1时,量化组的尺寸可被设置为16×16。当当前块的尺寸为16×8时,可对针对量化组中的第一块的差量量化参数进行熵编码/熵解码。在对所述差量量化参数进行熵编码/熵解码之后,可将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。因此,一个量化组中的块可共享相同的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。
进一步可选地,例如,当CTU的尺寸为64×64且log2_diff_cu_qp_delta_length(量化组长度信息)为2时,量化组的尺寸可被设置为16×16。当当前块的尺寸为32×16时,可对针对当前块的差量量化参数进行熵编码/熵解码。当当前块的水平长度(宽度)和垂直长度(高度)中的最大长度(最大值)长于量化组的长度时,量化组的尺寸可被设置为当前块的尺寸。由于当前块的水平长度(宽度)和垂直长度(高度)中的最大长度(最大值)长于量化组的长度,因此在将IsCuDeltaQPCoded设置为第一值之后,对针对当前块的差量量化参数进行熵编码/熵解码。当量化组的尺寸在当前块的尺寸范围内时,量化组的尺寸可被设置为当前块的尺寸。
进一步可选地,例如,当CTU的尺寸为256×256且log2_diff_cu_qp_delta_length(量化组长度信息)为2时,量化组的尺寸可被设置为32×32。当当前块的尺寸为64×16时,可对针对当前块的差量量化参数进行熵编码/熵解码。当当前块的水平长度(宽度)和垂直长度(高度)中的最大长度(最大值)长于量化组的长度时,量化组的尺寸可被设置为当前块的尺寸。由于当前块的水平长度(宽度)和垂直长度(高度)中的最大长度长于量化组的长度,因此在将IsCuDeltaQPCoded设置为第一值之后,可对针对当前块的差量量化参数进行熵编码/熵解码。
进一步可选地,例如,当CTU的尺寸为32×32且log2_diff_cu_qp_delta_length(量化组长度信息)为2时,量化组的尺寸可被设置为8×8。当当前块的尺寸为4×16时,可对针对当前块的差量量化参数进行熵编码/熵解码。当当前块的水平长度(宽度)和垂直长度(高度)中的最大长度长于量化组的长度时,量化组的尺寸可被设置为当前块的尺寸。由于当前块的水平长度(宽度)和垂直长度(高度)中的最大长度长于量化组的长度,因此在将IsCuDeltaQPCoded设置为第一值之后,可对针对当前块的差量量化参数进行熵编码/熵解码。
进一步可选地,例如,当CTU的尺寸为32×32且log4_diff_cu_qp_delta_area(量化组面积信息)为1时,量化组的尺寸可被设置为16×16。当当前块的尺寸为16×16时,可对针对当前块的差量量化参数进行熵编码/熵解码。
进一步可选地,例如,当CTU的尺寸为128×128且log4_diff_cu_qp_delta_area(量化组面积信息)为2时,量化组的尺寸可被设置为32×32。当当前块的尺寸为16×16时,可对针对量化组中的第一块的差量量化参数进行熵编码/熵解码。在对所述差量量化参数进行熵编码/熵解码之后,可将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。因此,一个量化组中的块可共享相同的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。另外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。
进一步可选地,例如,当CTU的尺寸为64×64并且log4_diff_cu_qp_delta_area(量化组面积信息)为2时,量化组的尺寸可被设置为16×16。当当前块的尺寸为32×16时,可对针对当前块的差量量化参数进行熵编码/熵解码。当当前块的面积大于量化组的面积时,量化组的尺寸被设置为当前块的尺寸。由于当前块的水平长度(宽度)和垂直长度(高度)中的最大长度长于量化组的长度,因此在将IsCuDeltaQPCoded设置为第一值之后,可对针对当前块的差量量化参数进行熵编码/熵解码。
这里,第一块可表示所述块中的编码块标志不是第一值的第一块。这里,第一值可以是0。
在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
进一步可选地,例如,当CTU的尺寸为64×64且log4_diff_cu_qp_delta_area(量化组面积信息)为2时,量化组的尺寸可被设置为16×16。当当前块的尺寸为16×32时,可对针对当前块的差量量化参数进行熵编码/熵解码。当当前块的面积大于量化组的面积时,量化组的尺寸被设置为当前块的尺寸。由于当前块的水平长度(宽度)和垂直长度(高度)中的最大长度长于量化组的长度,因此在将IsCuDeltaQPCoded设置为第一值之后,可对针对当前块的差量量化参数进行熵编码/熵解码。
进一步可选地,例如,当CTU的尺寸为32×32并且指定量化组的尺寸的比率信息为2时,可将量化组的尺寸设置为16×16。当当前块的尺寸为4×12时,可对针对量化组中的第一块的差量量化参数进行熵编码/熵解码。可在对所述差量量化参数进行熵编码/熵解码之后,将变量或标志IsCuDeltaQPCoded设置为第一值,使得不必对针对量化组中的其它块的差量量化参数进行熵编码/熵解码。因此,一个量化组中的块可共享相同的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。此外,量化组中的其它块可基于所述差量量化参数确定它们的差量量化参数。
进一步可选地,例如,当CTU的尺寸为32×32且指定量化组的尺寸的比率信息为2时,量化组的尺寸可被设置为16×16。当当前块的尺寸为32×16时,可对针对当前块的差量量化参数进行熵编码/熵解码。当当前块的水平长度(宽度)和垂直长度(高度)中的最大长度(最大值)长于量化组的长度时,量化组的尺寸可被设置为当前块的尺寸。由于当前块的水平长度(宽度)和垂直长度(高度)中的最大长度长于量化组的长度,因此在将IsCuDeltaQPCoded设置为第一值之后,可对针对当前块的差量量化参数进行熵编码/熵解码。
当满足预定条件时,可不对针对每个量化组的差量量化参数进行熵编码/熵解码。在这种情况下,当满足预定条件时,IsCuDeltaQPCoded被设置为1,使得可不对差量量化参数进行熵编码/熵解码。这里,第一值可以是1。下面将描述所述预定条件。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为1时,在当前块的块深度为2(即,尺寸为16×16的块)的情况下,由于当前块的深度大于量化组的深度,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵编码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此针对量化组中的其他块的差量量化参数可不被熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为针对当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作针对当前块的量化参数。当diff_cu_qp_delta_depth为1时,量化组的尺寸可被设置为32×32。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为1时,在当前块的块深度为2(即,四叉树的深度为1,二叉树的深度为1,且块尺寸为32×16)的情况下,由于当前块的深度大于量化组的深度,因此可将IsCuDeltaQPCoded设置为第一值,使得针对当前块的差量量化参数可不被熵编码/熵编码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作针对当前块的量化参数。可基于量化组深度信息diff_cu_qp_delta_depth来设置量化组的尺寸。
例如,当CTU的尺寸为64×64且diff_cu_qp_delta_depth为1时,在当前块的块深度为2(即,四叉树的深度为1,多类型树的深度为1,且块尺寸为32×16)的情况下,由于当前块的深度大于量化组的深度,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵编码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。可基于量化组深度信息diff_cu_qp_delta_depth来设置量化组的尺寸。
进一步可选地,例如,当CTU的尺寸为128×128且log2_diff_cu_qp_delta_length(量化组长度信息)为3时,量化组的尺寸可被设置为16×16。当当前块的尺寸为4×8时,由于当前块的水平长度和垂直长度中的最大长度小于量化组的长度,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵解码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。
进一步可选地,例如,当CTU的尺寸为32×32且log2_diff_cu_qp_delta_length(量化组长度信息)为1时,量化组的尺寸可被设置为16×16。当当前块的尺寸为8×4时,由于当前块的水平长度和垂直长度中的最大长度小于量化组的长度,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵解码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。
进一步可选地,例如,当CTU的尺寸为128×128且log4_diff_cu_qp_delta_area(量化组面积信息)为4时,量化组的尺寸可被设置为8×8。当当前块的尺寸为4×4时,由于当前块的面积小于量化组的面积,因此可将IsCuDeltaQPCoded设置为第一值,使得可对针对当前块的差量量化参数进行熵编码/熵解码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数以确定当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。
进一步可选地,例如,当CTU的尺寸为64×64且log4_diff_cu_qp_delta_area(量化组面积信息)为2时,量化组的尺寸可被设置为16×16。当当前块的尺寸为16×8时,由于当前块的面积小于量化组的面积,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵解码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。
进一步可选地,例如,当CTU的尺寸为32×32且log4_diff_cu_qp_delta_area(量化组面积信息)为1时,量化组的尺寸可被设置为16×16。当当前块的尺寸为32×4时,由于当前块的面积小于量化组的面积,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵解码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。
进一步可选地,例如,当CTU的尺寸为64×64且log4_diff_cu_qp_delta_area(量化组面积信息)为2时,量化组的尺寸可被设置为16×16。当当前块的尺寸为8×16时,由于当前块的面积小于量化组的面积,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵解码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。
进一步可选地,例如,当CTU的尺寸为32×32且log4_diff_cu_qp_delta_area(量化组面积信息)为1时,量化组的尺寸可被设置为16×16。当当前块的尺寸为4×32时,由于当前块的面积小于量化组的面积,因此可将IsCuDeltaQPCoded设置为第一值,使得可不对针对当前块的差量量化参数进行熵编码/熵解码。在这种情况下,由于IsCuDeltaQPCoded被设置为第一值,因此可不对针对量化组中的其他块的差量量化参数进行熵编码/熵解码。在这种情况下,可从邻近量化组中的至少一个推导量化参数,并且可将推导出的量化参数确定为当前块的量化参数。也就是说,在不对差量量化参数执行熵编码/熵解码的情况下,预测量化参数可照原样被用作当前块的量化参数。
进一步可选地,例如,根据量化组的深度信息、长度信息、面积信息、比率信息、形状信息之间的预定优先级,可不对差量量化参数进行熵编码/熵解码。
下面将参照图14至图23详细描述在存在非正方形块(例如,M×N的块)的块结构中使用量化组尺寸信息有效地用信号发送差量量化参数的方法。在图14至图23中,M和N是正整数,并且可具有不同的值。
图14是示出根据本发明的一个实施例的针对CU具有正方形形状的情况和CU具有非正方形形状的情况的编码/解码顺序的示图。
可基于量化组的尺寸信息、深度信息、长度信息、面积信息、比率信息、形状信息和子划分信息来确定量化组的尺寸。在本发明的本实施例和/或其他实施例中,面积可表示区域。
例如,可使用量化组的深度信息diff_cu_qp_delta_depth来确定量化组的尺寸,并且可根据量化组的深度信息和当前M×N的块的深度值来确定是否用信号发送差量量化参数。
作为另一示例,可使用作为量化组的长度信息的log2_diff_cu_qp_delta_length来确定量化组的尺寸,并且可基于量化组的长度信息以及当前M×N的块的水平长度(M)和垂直长度(N)中的最小值或最大值的统计值来确定是否用信号发送差量量化参数。
作为另一示例,可使用作为量化组的面积信息的log4_diff_cu_qp_delta_area来确定量化组的尺寸,并且可基于量化组的面积信息以及当前M×N的块的水平长度(M)和垂直长度(N)的乘积来确定是否用信号发送差量量化参数。
作为另一示例,可使用量化组的子划分信息cu_qp_delta_subdiv来确定量化组的尺寸,并且可通过将量化组的子划分信息和作为当前被编码/解码的块的子划分值的CbSubdiv进行比较来确定是否用信号发送差量量化参数。
可针对从四叉树分区、二叉树分区或三叉树分区产生的块用信号发送差量量化参数。可通过将块的深度和作为量化深度信息的diff_cu_qp_delta_depth进行比较来确定是否用信号发送差量量化参数。
例如,可在块的深度小于或等于量化深度信息时用信号发送量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的深度信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。当当前块是从多类型树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
作为另一示例,当块的深度大于量化组的深度信息时,可从由划分产生的块中的第一块用信号发送量化参数。由划分产生的除了第一块以外的其它块可共享第一块的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。块的深度可以是二叉树的深度或三叉树的深度中的至少一个,或者可以是树的深度中的至少一个深度之和。块的深度可以是二叉树的深度和三叉树的深度中的至少一个或者树的深度中的至少两个深度之和。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息、量化组的深度信息、当前块的尺寸和当前块的父节点中的至少一个父节点的尺寸中的至少一个来设置针对当前块的量化组的尺寸。可将针对当前块的量化组的尺寸设置为等于当前块的与量化组的深度信息对应的父节点中的至少一个父节点的尺寸。
针对当前块的量化组的形状可与当前块的与量化组的深度信息对应的父节点中的至少一个父节点的形状相同。针对当前块的量化组可具有非正方形形状。
作为另一示例,可针对每个四叉树块用信号发送差量量化参数。也就是说,可不针对二叉树块或三叉树块用信号发送差量量化参数。二叉树块或三叉树块可使用针对四叉树块用信号发送的差量量化参数。二叉树块或三叉树块可共享针对四叉树块用信号发送的差量量化参数。可选地,可基于四叉树块的量化参数来确定二叉树块或三叉树块的量化参数。可选地,四叉树块的量化参数可被确定为二叉树块或三叉树块的量化参数。
作为另一示例,可在四叉树块和二叉树块的深度小于或等于量化深度信息时用信号发送量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的深度信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。当当前块是从二叉树分区产生的块时,针对当前块的量化组的形状可具有非正方形形状。
作为另一示例,当通过二叉树分区生成的块的深度大于量化组的深度时,可针对两个块中的仅一个块用信号发送差量量化参数。另一块可共享用信号发送的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。所述仅一个块可以是通过二叉树分区生成的两个块中的第一块。这里,第一块可表示所述块中的编码块标志不是第一值的第一块。这里,第一值可以是0。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息、量化组的深度信息、当前块的尺寸和当前块的父节点中的至少一个父节点的尺寸中的至少一个来设置针对当前块的量化组的尺寸。可将针对当前块的量化组的尺寸设置为等于当前块的与量化组的深度信息对应的父节点中的至少一个父节点的尺寸。
针对当前块的量化组的形状可与当前块的与量化组的深度信息对应的父节点中的至少一个父节点的形状相同。针对当前块的量化组可具有非正方形形状。
作为另一示例,当通过四叉树分区或三叉树分区生成的块的深度小于或等于量化深度信息时,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的深度信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。当当前块是从三叉树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
作为另一示例,当通过三叉树分区生成块的深度大于量化组的深度时,可针对三个块中的仅一个块用信号发送差量量化参数。其它块可共享用信号发送的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。所述仅一个块可以是通过三叉树分区生成的两个块中的第一块。所述仅一个块可以是通过三叉树分区生成的三个块中的具有最大面积的块。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息、量化组的深度信息、当前块的尺寸和当前块的父节点中的至少一个父节点的尺寸中的至少一个来设置针对当前块的量化组的尺寸。可将针对当前块的量化组的尺寸设置为等于当前块的与量化组的深度信息对应的父节点中的至少一个父节点的尺寸。
针对当前块的量化组的形状可与当前块的与量化组的深度信息对应的父节点中的至少一个父节点的形状相同。针对当前块的量化组可具有非正方形形状。
作为另一示例,当通过四叉树分区或多类型树分区生成的块的深度小于或等于量化深度信息时,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的深度信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。当当前块是从多类型树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
作为另一示例,当通过四叉树分区或多类型分区生成的块的深度大于量化组的深度时,可针对两个或更多个块中的仅一个块用信号发送差量量化参数。其它块可共享用信号发送的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。所述仅一个块可以是通过分区生成的两个或更多个块中的第一块。所述仅一个块可以是通过分区生成的两个或更多个块中的具有最大面积的块。所述仅一个块可以是通过分区生成的两个或更多个块中的具有最小面积的块。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息、量化组的深度信息、当前块的尺寸和当前块的父节点中的至少一个父节点的尺寸中的至少一个来设置针对当前块的量化组的尺寸。可将针对当前块的量化组的尺寸设置为等于当前块的与量化组的深度信息对应的父节点中的至少一个父节点的尺寸。
针对当前块的量化组的形状可与当前块的与量化组的深度信息对应的父节点中的至少一个父节点的形状相同。针对当前块的量化组可具有非正方形形状。
可针对从四叉树分区、二叉树分区或三叉树分区产生的块用信号发送差量量化参数。可通过将块的面积和根据diff_cu_qp_delta_area设置的量化组的尺寸进行比较来确定是否用信号发送差量量化参数,其中,diff_cu_qp_delta_area是量化组的面积信息。
例如,当块的面积小于或等于量化组的尺寸时,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的面积信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。当当前块是从多类型树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
作为另一示例,当通过二叉树分区生成的块的面积大于量化组的尺寸时,可针对从二叉树分区产生的两个块中的仅一个块用信号发送差量量化参数。可基于用信号发送的差量量化参数来确定针对其它块的量化参数。
作为另一示例,当块的面积小于量化组的尺寸时,可从由分区产生的块中的第一块用信号发送量化参数。从分区产生的除了第一块以外的其它块可共享第一块的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。这里,块的面积可以是四叉树的面积或多类型树的面积。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息、量化组的面积信息、当前块的面积和当前块的父节点中的至少一个父节点的尺寸中的至少一个来设置针对当前块的量化组的尺寸。可将针对当前块的量化组的尺寸设置为等于当前块的与量化组的面积信息对应的父节点中的至少一个父节点的尺寸。
针对当前块的量化组的形状可与当前块的与量化组的面积信息对应的父节点中的至少一个父节点的形状相同。针对当前块的量化组可具有非正方形形状。
作为另一示例,当从三叉树分区产生的块的面积小于量化组的尺寸时,可针对三个块中的具有最大面积的仅一个块用信号发送差量量化参数。其它块可共享用信号发送的差量量化参数。作为另一示例,当从三叉树分区产生的块的面积小于量化组的尺寸时,可针对从分区产生的三个块中的具有最小面积的仅一个块用信号发送差量量化参数。其它块可共享具有最小面积的块的差量量化参数。
另一方面,被编码/解码的当前块的形状可以是四叉树、二叉树或三叉树。当该形状是四叉树时,可通过表达式26获取四叉树块之间的面积差值diff_cur_block_area_minus4。
[表达式26]
diff_cur_block_area_minus4=2*log2_ctu_size_minus2-log2_current_block_area_minus4
在表达式26中,log2_ctu_size_minus2表示通过对最大CTU尺寸执行log2函数然后从log2函数的结果减去2而获得的值。log2_current_block_area_minus4是通过对当前块的水平长度和垂直长度的乘积执行log2函数并从log2函数的结果减去4而获得的值。
例如,当当前块是从四叉树分区产生的块时,在diff_cur_block_area_minus4小于或等于量化组的面积信息的情况下,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的面积信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。
例如,当当前块是从二叉树分区产生的块时,在diff_cur_block_area_minus4小于或等于量化组的面积信息的情况下,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的面积信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从二叉树分区产生的块时,针对当前块的量化组的形状可具有非正方形形状。
例如,当当前块是从三叉树分区产生的块时,在diff_cur_block_area_minus4小于或等于量化组的面积信息的情况下,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的面积信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从三叉树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
例如,当当前块是从三叉树分区产生的块时,在diff_cur_block_area_minus4大于量化组的面积信息的情况下,可从由三叉树分区产生的块中的第一块用信号发送差量量化参数。在这种情况下,在从三叉树分区产生的三个块中的中间块的情况下,即使diff_cur_block_area_minu4小于或等于量化组的面积信息,也可不用信号发送差量量化参数,而是可从已经编码/解码的块预测或推导该差量量化参数。在从三叉树分区产生的三个块中的最后块的情况下,可不用信号发送差量量化参数,而是可从已经被编码/解码的块预测或推导该差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的面积信息中的至少一个来设置针对当前块的量化组的尺寸。
当当前块是从三叉树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
例如,当当前块是从三叉树分区产生的块时,在diff_cur_block_area_minus4大于量化组的面积信息的情况下,可从由三叉树分区产生的块中的第一块用信号发送差量量化参数。在这种情况下,在从三叉树分区产生的三个块中的中间块的情况下,即使diff_cur_block_area_minu4小于或等于量化组的面积信息,也可不用信号发送差量量化参数。在从三叉树分区产生的三个块中的最后块的情况下,可不用信号发送差量量化参数,而是可从已经被编码/解码的块预测或推导该差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的面积信息中的至少一个来设置针对当前块的量化组的尺寸。
当当前块是从三叉树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
可针对从四叉树分区、二叉树分区或三叉树分区产生的块用信号发送差量量化参数。可通过将块的子划分值和作为量化组的子划分信息的diff_cu_qp_delta_subdiv进行比较来确定是否用信号发送差量量化参数。
例如,可在当前块的子划分值小于或等于量化组的子划分信息时用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的子划分信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。当当前块是从多类型树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
作为另一示例,当块的子划分值大于量化组的子划分信息时,可从由分区产生的块中的第一块用信号发送量化参数。从分区产生的除了第一块以外的其它块可共享第一块的差量量化参数。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。这里,块的面积可以是四叉树的面积或多类型树的面积。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息、量化组的子划分信息、当前块的子划分值和当前块的父节点中的至少一个父节点的尺寸中的至少一个来设置针对当前块的量化组的尺寸。可将针对当前块的量化组的尺寸设置为等于当前块的与量化组的子划分信息对应的父节点中的至少一个父节点的尺寸。
针对当前块的量化组的形状可与当前块的与量化组的子划分信息对应的父节点中的至少一个父节点的形状相同。针对当前块的量化组可具有非正方形形状。
另一方面,子划分值可被分配给每个块,并且可与块的深度值一起被使用。
此外,可以以下面描述的方式计算子划分值。
当前块的形状可以是四叉树、二叉树或三叉树中的至少一个,并且当前块可被分区为四叉树形式、二叉树形式或三叉树形式。
例如,当当前块被分区为四叉树形式时,从四叉树分区产生的每个子块的子划分值可被设置为通过将当前块的子划分值加2而获得的值。
作为另一示例,当当前块被分区为二叉树形式时,可将从二叉树分区产生的每个子块的子划分值设置为通过将当前块的子划分值加1而获得的值。
作为另一示例,当当前块被划分为三叉树形式时,可将从三叉树分区产生的三个子块中的左侧子块和右侧子块中的每一个子块的子划分值设置为通过将当前块的子划分值加2而获得的值,并且可将从三叉树分区产生的三个子块中的中间子块的子划分值设置为通过将当前块的子划分值加1而获得的值。
作为另一示例,当当前块被划分为三叉树形式时,可通过将量化组的子划分信息与通过将尚未分区的当前块的子划分值(在下文中,还被称为原始子划分值)加2而获得的值进行比较来确定是否用信号发送差量量化参数。
作为另一示例,当当前块是从四叉树分区产生的块时,在当前块的子划分值小于或等于量化组的子划分信息的情况下,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的子划分信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从四叉树分区产生的块时,针对当前块的量化组的形状可以是正方形形状。
作为另一示例,当当前块是从二叉树分区产生的块时,在当前块的子划分值小于或等于量化组的子划分信息的情况下,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的子划分信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从二叉树分区产生的块时,针对当前块的量化组的形状可具有非正方形形状。
作为另一示例,当当前块是从三叉树分区产生的块时,在当前块的子划分值小于或等于量化组的子划分信息的情况下,可用信号发送差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的子划分信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从三叉树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
作为另一示例,当当前块是从三叉树分区产生的块时,在当前块的子划分值大于量化组的子划分信息的情况下,可从由分区产生的块中的第一块用信号发送差量量化参数。在这种情况下,在从三叉树分区产生的三个块中的中间块的情况下,即使块的子划分值小于或等于量化组的子划分信息,也可不用信号发送差量量化参数,而是可从已经被编码/解码的块预测或推导该差量量化参数。在从三叉树分区产生的三个块中的最后块的情况下,可不用信号发送差量量化参数,而是可从已经被编码/解码的块预测或推导该差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的子划分信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从三叉树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
作为另一示例,当当前块是从三叉树分区产生的块时,在块的子划分值大于量化组的子划分信息的情况下,可从由分区产生的块中的第一块用信号发送差量量化参数。在从三叉树分区产生的三个块中的中间块的情况下,即使cu_qp_delta_subdiv小于或等于量化组的子划分信息,也可用信号发送差量量化参数。在从三叉树分区产生的三个块中的最后块的情况下,可不用信号发送差量量化参数,而是可从已经被编码/解码的块预测或推导该差量量化参数。
这里,可根据差量量化参数利用标志、关于是否用信号发送差量量化参数的信息和量化组的子划分信息中的至少一个来设置针对当前块的量化组的尺寸。在这种情况下,可将针对当前块的量化组的尺寸设置为等于当前块的尺寸。
当当前块是从三叉树分区产生的块时,针对当前块的量化组的形状可以是非正方形形状。
另一方面,可基于每个变换单元(TU)、基于每个块或基于每个编码单元(CU)用信号发送差量量化参数。TU的尺寸可等于CU的尺寸。可选地,TU的尺寸可小于CU的尺寸。
这里,第一块可表示所述块中的编码块标志不是第一值的第一块。这里,第一值可以是0。
此外,差量量化参数利用标志可以是cu_qp_delta_enabled_flag。
此外,是否用信号发送差量量化参数可以是cu_qp_delta_enabled_flag和IsCuDeltaQPCoded中的至少一个。
可根据CTU的尺寸、作为量化组的深度信息的diff_cu_qp_delta_depth、作为量化组的长度信息的log2_diff_cu_qp_delta_length、作为量化组的面积信息的diff_cu_qp_delta_area、作为量化组的子划分信息的cu_qp_delta_subdiv和/或量化组的尺寸来用信号发送差量量化参数。
在下文中,对于CTU的尺寸为128×128且作为量化组的深度信息的diff_cu_qp_delta_depth为2的情况,将更详细地描述用信号发送差量量化参数的实施例。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
例如,当当前块通过两次四叉树分区并且通过一次二叉树分区而被分区时,当前块可具有深度3以及尺寸32×16或16×32。当量化组的深度信息为2时,由于量化组的深度信息小于或等于当前块的深度,因此可用信号发送针对从二叉树分区产生的块中的第一块的差量量化参数。此外,第一块的差量量化参数可由从二叉树分区产生的深度为2的块中的其它块共享。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。
作为另一示例,当当前块通过一次四叉树分区而被分区时,当前块可具有深度1和尺寸64×64。当量化组的深度信息为2时,由于量化组的深度信息大于当前块的深度,因此可用信号发送针对当前块的差量量化参数。
作为另一示例,当当前块通过一次四叉树分区、通过一次二叉树分区并且通过一次三叉树分区而被分区时,当前块可具有深度3以及尺寸16×32或32×16。当量化组的深度信息为2时,由于量化组的深度信息小于或等于当前块的深度,因此可用信号发送针对从三叉树分区产生的深度为2的块中的第一块的差量量化参数。针对第一块的差量量化参数可由从三叉树分区产生的深度为2的块中的其它块共享。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。
作为另一示例,当当前块通过一次四叉树分区并且通过两次多类型树分区而被分区时,当前块可具有深度3以及尺寸16×16。当量化组的深度信息为2时,由于量化组的深度信息小于或等于当前块的深度,因此可用信号发送针对从多类型树分区产生的深度为2的块中的第一块的差量量化参数。针对第一块的差量量化参数可由从多类型树分区产生的深度为2的块中的其它块共享。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。
作为另一示例,当当前块通过三次四叉树分区并且通过一次三叉树分区而被分区时,当前块可具有深度4以及尺寸4×16。当量化组的深度信息为2时,由于量化组的深度信息小于或等于当前块的深度,因此可用信号发送针对从四叉树分区产生的块中的第一块的差量量化参数。第一块的差量量化参数可由从二叉树分区产生的深度为2的块中的其它块共享。由于一个量化组中的块使用相同的预测量化参数,因此相同的量化参数也可由一个量化组中的块共享。
当当前块的深度信息大于量化组的深度信息时,量化组的深度信息可被设置为执行编码/解码所基于的基本单元。可使用量化组的深度信息来设置量化组的尺寸。
当当前块的深度信息等于或小于量化组的深度信息时,可将当前块设置为执行编码/解码所基于的基本单元。可将当前块的尺寸设置为量化组的尺寸。
可按照四叉树分区、二叉树分区和三叉树分区的顺序对当前块进行分区。
这里,第一块可表示所述块中的编码块标志不是第一值的第一块。这里,第一值可以是0。
在下文中,对于CTU的尺寸为128×128且作为量化组的长度信息的log2_diff_cu_qp_delta_length为2的情况,将更详细地描述用信号发送差量量化参数的实施例。在这种情况下,量化组的尺寸可被确定为32×32。也就是说,如表3中所示,量化组的水平长度或垂直长度可被确定为32,并且量化组的尺寸可被确定为32×32。
[表3]
例如,当从二叉树分区产生的当前块的尺寸为32×64时,由于当前块的水平长度和垂直长度中的最大长度大于量化组的长度,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
作为另一示例,当从垂直三叉树分区产生的当前块的尺寸为24×32时,由于当前块的水平长度和垂直长度中的最大长度大于量化组的长度,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。对于与当前块相邻且从与当前块相同的父节点的二叉树分区产生的8×32的块,可不用信号发送差量量化参数。该8×32的块可照原样使用当前块的差量量化参数。也就是说,量化参数可由24×32的块和8×32的块共享。在另一情况下,也就是说,对于与当前块相邻且从与当前块相同的父节点的二叉树分区产生的8×32的块,可不用信号发送差量量化参数。可基于当前块的差量量化参数来确定针对该8×32的块的差量量化参数。
作为另一示例,当当前块的尺寸为32×16时,由于当前块的水平长度和垂直长度中的最大长度大于量化组的长度,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。在这种情况下,对于与当前块相邻且从与当前块相同的父节点的二叉树分区产生的32×16的块,可不用信号发送差量量化参数。该32×16的块和当前块可共享相同的差量量化参数。也就是说,量化参数可由尺寸为32×16的两个块共享。在另一情况下,也就是说,对于与当前块相邻且从与当前块相同的父节点的二叉树分区产生的32×16的块,可不用信号发送差量量化参数。该32×16的块和当前块可共享相同的差量量化参数。
作为另一示例,当从水平三叉树分区产生的当前块的尺寸为16×64时,由于当前块的水平长度和垂直长度中的最大长度大于量化组的长度,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
作为另一示例,当从垂直三叉树分区产生的当前块的尺寸为8×32时,由于当前块的水平长度和垂直长度中的最大长度大于量化组的长度,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。对于与当前块相邻且从与当前块相同的父节点的三叉树分区产生的8×32的块和16×32的块,可不用信号发送差量量化参数。这些块可共享当前块的差量量化参数。也就是说,量化参数可由两个8×32的块和一个16×32的块共享。在另一情况下,也就是说,对于与当前块相邻且从与当前块相同的父节点的三叉树分区产生的16×32的块和8×32的块,可不用信号发送差量量化参数。所述差量量化参数可基于当前块的差量量化参数来确定。
当当前块的水平长度和垂直长度中的最大长度大于量化组的长度时,量化组的尺寸可被设置为当前块的尺寸。
此外,当当前块的水平长度和垂直长度中的最大长度等于量化组的长度时,可根据作为量化组的长度信息的log2_diff_cu_qp_delta_length来设置量化组的尺寸。
此外,当当前块的水平长度和垂直长度中的最大长度与量化组的长度具有预定关系时,可根据作为量化组的长度信息的log2_diff_cu_qp_delta_length来设置量化组的尺寸。例如,所述预定关系可以是2的倍数之一。
在下文中,对于CTU的尺寸为128×128且作为量化组的面积信息的diff_cu_qp_delta_area为3的情况,将更详细地描述用信号发送差量量化参数的实施例。如表4中所示,量化组的面积可以是211
[表4]
例如,当从四叉树分区产生的当前块的尺寸为64×64时,当前块的面积差值diff_cur_block_area_minus4可以是2。此时,由于该面积差值小于或等于量化组的面积信息,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
作为另一示例,当从四叉树分区产生的当前块的尺寸为32×32时,当前块的面积差值diff_cur_block_area_minus4可以是4。此时,由于该面积差值小于或等于量化组的面积信息,因此可用信号发送针对从四叉树分区产生的块中的第一块的差量量化参数。其它块可使用从第一块用信号发送的差量量化参数。在这种情况下,量化组的尺寸可被设置为作为当前块的父块的尺寸的64×64。
作为另一示例,当从二叉树分区产生的当前块的尺寸为32×64时,当前块的面积差值diff_cur_block_area_minus4可以是3。此时,由于该面积差值小于或等于量化组的面积信息,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
作为另一示例,当从二叉树分区产生的当前块的尺寸为32×16时,当前块的面积差值diff_cur_block_area_minus4可以是5。在这种情况下,由于该面积差值大于量化组的面积信息,因此可用信号发送针对从二叉树分区产生的块中的第一块的差量量化参数。其它块可共享第一块的差量量化参数。在这种情况下,量化组的尺寸是作为当前块的第一父块的尺寸的32×32。也就是说,量化组的尺寸大于量化组的面积信息。因此,量化组的尺寸可被设置为作为第二父块的64×64。
作为另一示例,当从三叉树分区产生的当前块的尺寸是16×64时,当前块的面积差值diff_cur_block_area_minus4可以是4。在这种情况下,由于该面积差值大于量化组的面积信息,因此当当前块是从三叉树分区产生的块中的第一块时,可用信号发送差量量化参数。尺寸为16×64的其它块可使用第一块的差量量化参数。在尺寸为32×64的中间块的情况下,中间块的面积差值为3。也就是说,该面积差值小于或等于量化组的面积信息。然而,由于是否用信号发送针对中间块的差量量化参数是基于是否用信号发送针对从三叉树分区产生的块中的第一块的差量量化参数的信息来确定的,因此可不用信号发送针对中间块的差量量化参数,并且可共享针对相同的量化组内的另一块的差量量化参数。
作为另一示例,当从三叉树分区产生的当前块的尺寸为64×32时,当前块的面积差值diff_cur_block_area_minus4可以是3。在这种情况下,由于该面积差值小于或等于量化组的面积信息,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
当当前块的面积信息小于量化组的面积信息时,可将当前块设置为执行编码/解码所基于的基本单元。当前块的尺寸可被设置为量化组的尺寸。
当前块可按照四叉树分区、二叉树分区和三叉树分区的顺序通过四叉树分区、二叉树分区和三叉树分区而被分区。
这里,第一块可表示所述块中的编码块标志不是第一值的第一块。这里,第一值可以是0。
在下文中,对于CTU的尺寸为128×128且作为量化组的子划分信息的diff_cu_qp_delta_subdiv为3的情况,将更详细地描述用信号发送差量量化参数的实施例。在本实施例中,可使用将被编码/解码的当前块的子划分值cbSubdiv。
例如,当从四叉树分区产生的当前块的尺寸为64×64时,当前块的子划分值cbSubdiv可以是2。在这种情况下,由于当前块的子划分值小于或等于量化组的子划分信息,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
作为另一示例,当从四叉树分区产生的当前块的尺寸为32×32时,当前块的子划分值cbSubdiv可以是4。在这种情况下,由于所述子划分值大于量化组的子划分信息,因此可用信号发送针对从四叉树分区产生的块中的第一块的差量量化参数。其它块可使用从第一块用信号发送的差量量化参数。在这种情况下,量化组的尺寸可被设置为作为当前块的父块的尺寸的64×64。
作为另一示例,当从二叉树分区产生的当前块的尺寸为32×64时,当前块的子划分值cbSubdiv可以是3。在这种情况下,由于所述子划分值等于量化组的子划分信息,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
作为另一示例,当从二叉树分区产生的当前块的尺寸为32×16时,当前块的子划分值cbSubdiv可以是5。在这种情况下,由于所述子划分值大于量化组的子划分信息,因此可用信号发送针对从二叉树分区产生的块中的第一块的差量量化参数。其它块可共享第一块的差量量化参数。在这种情况下,量化组的尺寸是作为当前块的第一父块的尺寸的32×32。也就是说,量化组的尺寸大于量化组的面积信息。因此,量化组的尺寸可被设置为作为第二父块的64×64。
作为另一示例,当从三叉树分区产生的当前块的尺寸为16×64时,当前块的子划分值cbSubdiv可以是4。在这种情况下,由于所述子划分值大于量化组的子划分信息,因此当当前块是从三叉树分区产生的块中的第一块时,可用信号发送差量量化参数。尺寸为16×64的其它块可使用第一块的差量量化参数。在中间块的情况下,它具有32×64的尺寸。因此,中间块的子划分值为3。也就是说,中间块的子划分值小于或等于量化组的子划分信息。然而,由于是否用信号发送针对中间块的差量量化参数是基于是否用信号发送针对从三叉树分区产生的块中的第一块的差量量化参数的信息来确定的,因此可不用信号发送针对中间块的差量量化参数,并且可共享针对相同的量化组内的另一块的差量量化参数。
作为另一示例,当从三叉树分区产生的当前块的尺寸为64×32时,当前块的子划分值cbSubdiv可以是3。在这种情况下,由于当前块的子划分值小于或等于量化组的子划分信息,因此可用信号发送针对当前块的差量量化参数。在这种情况下,量化组的尺寸可被设置为当前块的尺寸。
当当前块的子划分信息小于量化组的子划分信息时,可将当前块设置为执行编码/解码所基于的基本单元。当前块的尺寸可被设置为量化组的尺寸。
可按照四叉树分区、二叉树分区和三叉树分区的顺序对当前块进行分区。
这里,第一块可表示所述块中的编码块标志不是第一值的第一块。这里,第一值可以是0。
图15是示出当CTU的尺寸为256×256且diff_cu_qp_delta_depth为2时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参照图15,以灰色显示针对其用信号发送差量量化参数的每个块,并且每个量化组由粗实线界定。
图16是示出当CTU的尺寸为256×256且log2_diff_cu_qp_delta_length为1时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参照图16,针对其用信号发送差量量化参数的每个块被着色为灰色,并且每个量化组由粗实线界定。
图17是示出当CTU的尺寸为128×128且diff_cu_qp_delta_depth为2时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参照图17,针对其用信号发送差量量化参数的每个块被着色为灰色,并且每个量化组由粗实线界定。
图18是示出当CTU的尺寸为128×128且log2_diff_cu_qp_delta_length为2时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参照图18,针对其用信号发送差量量化参数的每个块被着色为灰色,并且每个量化组由粗实线界定。
图19是示出当CTU的尺寸为64×64且log2_diff_cu_qp_delta_length为3时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参照图19,以灰色显示针对其用信号发送差量量化参数的每个块,并且每个量化组由粗实线界定。
图20是示出当CTU的尺寸为64×64且diff_cu_qp_delta_area为3时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参照图20,以灰色显示针对其用信号发送差量量化参数的每个块,并且每个量化组由粗实线界定。
图21是示出当CTU的尺寸为64×64且diff_cu_qp_delta_area为4时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参照图21,以灰色显示针对其用信号发送差量量化参数的每个块,并且每个量化组由粗实线界定。
图22是示出当CTU的尺寸为64×64且cu_qp_delta_subdiv为3时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参考图22,以灰色显示针对其用信号发送差量量化参数的每个块,并且每个量化组由粗实线界定。
图23是示出当CTU的尺寸为64×64且cu_qp_delta_subdiv为4时针对其每一个用信号发送差量量化参数的块和可被设置的各种量化组的示图。参考图23,以灰色显示针对其用信号发送差量量化参数的每个块,并且每个量化组由粗实线界定。
图24是示出根据本发明的一个实施例的使用量化组的长度信息来确定量化参数的方法的示图。
在步骤S2401,可对cu_qp_delta_enabled_flag进行熵编码/熵解码。当cu_qp_delta_enabled_flag为第一值(图24中的“是”)时,可不对差量量化参数进行熵编码/熵解码。另一方面,当cu_qp_delta_enabled_flag为第二值(图24中的“否”)时,可对差量量化参数进行熵编码/熵解码。
当cu_qp_delta_enabled_flag是第二值时,在步骤S2402,可对作为量化组的长度信息的log2_diff_cu_qp_delta_length进行熵编码/熵解码。
因此,在步骤S2403,可基于作为量化组的长度信息的log2_diff_cu_qp_delta_length来确定量化组的长度(QG_length)和量化组的尺寸中的至少一个。
在步骤S2401,可对CTU执行编码/解码。在这个步骤中,CTU可被递归地分区为编码单元(CU),并且可逐CU地进行分区。这里,CU可表示预测单元(PU)、变换单元(TU)和块中的至少一个。在这个步骤中,可将IsCuDeltaQPCoded设置为第二值。
在步骤S2405,当当前块的水平长度(CU_width)和垂直长度(CU_height)中的最大长度(最大值)等于或大于量化组的长度时,可在步骤S2406将IsCuDeltaQPCoded设置为第一值。
在步骤S2407,当CU_split_flag被熵编码/熵解码为第二值(图24中的“是”)时,CTU可被递归地分区为CU。在步骤S2407,当CU_split_flag被熵编码/熵解码为第一值(图24中的“否”)时,可对编码块标志coded_block_flag进行熵编码/熵解码。
在步骤S2408,当编码块标志是第一值(图24中的“是”)时,可不对差量量化参数进行熵编码/熵解码。在步骤S2409,可检查指示CTU中的最后CU是否已经被编码/解码的标志(IsLastCuCoded)。
在步骤S2409,当IsLastCuCoded是第二值(图24中的“否”)时,由于最后CU已经被编码/解码,因此对差量量化参数的熵编码/熵解码结束。当IsLastCuCoded是第一值(图24中的“是”)时,对下一个目标CU进行编码/解码。
在步骤S2408,当编码块标志是第二值(图24中的“否”)时,可检查IsCuDeltaQPCoded是被设置为第一值还是第二值。
在步骤S2410,当IsCuDeltaQPCoded被设置为第二值(图24中的“否”)时,可检查指示CTU中的最后CU是否已经被编码/解码的标志(IsLastCuCoded)。
在步骤S2410,当IsCuDeltaQPCoded被设置为第一值(图24中的“是”)时,可在步骤S2411对差量量化参数进行熵编码/熵解码,然后可将IsCuDeltaQPCoded设置为第二值。
在步骤S2412,可使用邻近量化组来确定预测量化参数。
在步骤S2413,将差量量化参数和预测量化参数相加以确定量化参数。
在步骤S2409,可检查指示CTU中的最后CU是否已经被编码/解码的标志(IsLastCuCoded)。
这里,可针对每个块或每个量化组设置IsCuDeltaQPCoded。此时,可通过使用诸如IsCuDeltaQPCoded的标志或变量来检查是否针对每个块或每个量化组对差量量化参数进行了熵编码/熵解码。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
图25是示出根据本发明的一个实施例的使用量化组的面积信息来确定量化参数的方法的示图。
在步骤S2501,可对cu_qp_delta_enabled_flag进行熵编码/熵解码。当cu_qp_delta_enabled_flag为第一值(图25中的“是”)时,可不对差量量化参数进行熵编码/熵解码。另一方面,当cu_qp_delta_enabled_flag为第二值(图25中的“否”)时,可对差量量化参数进行熵编码/熵解码。
当cu_qp_delta_enabled_flag是第二值时,在步骤S2502,可对作为量化组的面积信息的log4_diff_cu_qp_delta_area进行熵编码/熵解码。
因此,在步骤S2503,可基于量化组的面积信息(即,diff_cu_qp_delta_area和log4_diff_cu_qp_delta_area中的至少一个)来确定量化组的面积(QG_area)和量化组的尺寸中的至少一个。
在步骤S2504,可对CTU执行编码/解码。在这个步骤中,CTU可被递归地分区为编码单元(CU),然后逐CU地被编码/解码。这里,CU可表示预测单元(PU)、变换单元(TU)和块中的至少一个。在这个步骤中,可将IsCuDeltaQPCoded设置为第二值。
在步骤S2505,当当前块的面积CU_area等于或大于量化组的面积时,可在步骤S2506将IsCuDeltaQPCoded设置为第一值。
在步骤S2507,当CU_split_flag被熵编码/熵解码为第二值(图25中的“是”)时,可将CTU递归地分区为CU。在步骤S2507,当CU_split_flag被熵编码/熵解码为第一值(图25中的“否”)时,可对编码块标志coded_block_flag进行熵编码/熵解码。
在步骤S2508,当编码块标志是第一值(图25中的“是”)时,可不对差量量化参数进行熵编码/熵解码。在步骤S2509,可检查指示CTU中的最后CU是否已经被编码/解码的标志(IsLastCuCoded)。
在步骤S2509,当IsLastCuCoded是第二值(图25中的“否”)时,由于最后CU已经被编码/解码,因此对差量量化参数的熵编码/熵解码结束。当IsLastCuCoded是第一值(图25中的“是”)时,对下一个目标CU进行编码/解码。
在步骤S2508,当编码块标志是第二值(图25中的“否”)时,可检查IsCuDeltaQPCoded是被设置为第一值还是第二值。
在步骤S2510,当IsCuDeltaQPCoded被设置为第二值(图25中的“否”)时,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2510,当IsCuDeltaQPCoded被设置为第一值(图25中的“是”)时,可在步骤S2511对差量量化参数进行熵编码/熵解码,然后可将IsCuDeltaQPCoded设置为第二值。
在步骤S2512,可使用邻近量化组来确定预测量化参数。
在步骤S2513,可将差量量化参数和预测量化参数相加以确定量化参数。
在步骤S2509,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
这里,可针对每个块或每个量化组设置IsCuDeltaQPCoded。此时,可通过使用诸如IsCuDeltaQPCoded的标志或变量来检查是否针对每个块或每个量化组对差量量化参数进行了熵编码/熵解码。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
图26是示出根据本发明的另一实施例的使用量化组的长度信息来确定量化参数的方法的示图。
在步骤S2601,可对标志cu_qp_delta_enabled_flag进行熵编码/熵解码。当cu_qp_delta_enabled_flag为第一值(图26中的“是”)时,可不对差量量化参数进行熵编码/熵解码。另一方面,当cu_qp_delta_enabled_flag为第二值(图26中的“否”)时,可对差量量化参数进行熵编码/熵解码。
当cu_qp_delta_enabled_flag为第二值时,可在步骤S2602对作为量化组的长度信息的log2_diff_cu_qp_delta_length进行熵编码/熵解码。
因此,在步骤S2603,可基于作为量化组的长度信息的log2_diff_cu_qp_delta_length来确定量化组的长度(QG_length)和量化组的尺寸中的至少一个。
在步骤S2604,可对CTU执行编码/解码。在这个步骤中,CTU可被递归地分区为编码单元(CU),然后逐CU地被编码/解码。这里,CU可表示预测单元(PU)、变换单元(TU)和块中的至少一个。在这个步骤中,可将IsCuDeltaQPCoded设置为第二值。
在步骤S2605,当当前块的水平长度(CU_width)和垂直长度(CU_height)中的最大长度(最大值)等于或大于量化组的长度时,可在步骤S2606将IsCuDeltaQPCoded设置为第一值。
在步骤S2605,当当前块的水平长度(CU_width)和垂直长度(CU_height)中的最大长度(最大值)小于量化组的长度时,可在步骤S2606将IsCuDeltaQPCoded设置为第二值。
在步骤S2607,当CU_split_flag被熵编码/熵解码为第二值(图26中的“是”)时,可将CTU递归地分区为CU。在步骤S2607,当CU_split_flag被熵编码/熵解码为第一值(图26中的“否”)时,可对编码块标志coded_block_flag进行熵编码/熵解码。
在步骤S2608,当编码块标志是第一值(图26中的“是”)时,可不对差量量化参数进行熵编码/熵解码。在步骤S2609,可检查指示CTU中的最后CU是否已经被编码/解码的标志(IsLastCuCoded)。
在步骤S2609,当IsLastCuCoded是第二值(图26中的“否”)时,由于最后CU已被编码/解码,因此对差量量化参数的熵编码/熵解码结束。当IsLastCuCoded是第一值(图26中的“是”)时,对下一个目标CU进行编码/解码。
在步骤S2608,当编码块标志是第二值(图26中的“否”)时,可检查IsCuDeltaQPCoded是被设置为第一值还是第二值。
在步骤S2610,当IsCuDeltaQPCoded被设置为第二值(图26中的“否”)时,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2610,当IsCuDeltaQPCoded被设置为第一值(图26中的“是”)时,可在步骤S2611对差量量化参数进行熵编码/熵解码,然后可将IsCuDeltaQPCoded设置为第二值。
在步骤S2612,可使用邻近量化组来确定预测量化参数。
在步骤S2613,可将差量量化参数和预测量化参数相加以确定量化参数。
在步骤S2609,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
这里,可针对每个块或每个量化组设置IsCuDeltaQPCoded。此时,可通过使用诸如IsCuDeltaQPCoded的标志或变量来检查是否针对每个块或每个量化组对差量量化参数进行了熵编码/熵解码。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
图27是示出根据本发明的又一实施例的使用量化组的面积信息来确定量化参数的方法的示图。
在步骤S2701,可对标志cu_qp_delta_enabled_flag进行熵编码/熵解码。当cu_qp_delta_enabled_flag为第一值(图27中的“是”)时,可不对差量量化参数进行熵编码/熵解码。另一方面,当cu_qp_delta_enabled_flag为第二值(图27中的“否”)时,可对差量量化参数进行熵编码/熵解码。
当cu_qp_delta_enabled_flag是第二值时,可在步骤S2702对作为量化组的面积信息的log4_diff_cu_qp_delta_area进行熵编码/熵解码。
因此,在步骤S2703,可基于量化组的面积信息(即,diff_cu_qp_delta_area和log4_diff_cu_qp_delta_area中的至少一个)来确定量化组的面积(QG_area)和量化组的尺寸中的至少一个。图25是log4_diff_cu_qp_delta_area用作量化组的面积信息的示例的示图,图27示出diff_cu_qp_delta_area作为面积信息的另一示例。
在步骤S2704,可对CTU执行编码/解码。在这个步骤中,CTU可被递归地分区为编码单元(CUs),然后逐CU地被编码/解码。这里,CU可表示预测单元(PU)、变换单元(TU)和块中的至少一个。在这个步骤中,可将IsCuDeltaQPCoded设置为第二值。
在步骤S2705,当当前块的面积CU_area等于或大于量化组的面积时,可在步骤S2706将IsCuDeltaQPCoded设置为第一值。
在步骤S2705,当当前块的面积CU_area小于量化组的面积时,可在步骤S2706将IsCuDeltaQPCoded设置为第二值。
在步骤S2707,当CU_split_flag被熵编码/熵解码为第二值(图27中的“是”)时,可将CTU递归地分区为CU。在步骤S2707,当CU_split_flag被熵编码/熵解码为第一值(图27中的“否”)时,可对编码块标志coded_block_flag进行熵编码/熵解码。
在步骤S2708,当编码块标志是第一值(图27中的“是”)时,可不对差量量化参数进行熵编码/熵解码。在步骤S2709,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2709,当IsLastCuCoded是第二值(图27中的“否”)时,由于最后CU已经被编码/解码,因此对差量量化参数的熵编码/熵解码结束。当IsLastCuCoded是第一值(图27中的“是”)时,对下一个目标CU进行编码/解码。
在步骤S2708,当编码块标志是第二值(图27中的“否”)时,可检查IsCuDeltaQPCoded是被设置为第一值还是第二值。
在步骤S2710,当IsCuDeltaQPCoded被设置为第二值(图27中的“否”)时,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2710,当IsCuDeltaQPCoded被设置为第一值(图27中的“是”)时,可在步骤S2711对差量量化参数进行熵编码/熵解码,然后可将IsCuDeltaQPCoded设置为第二值。
在步骤S2712,可使用邻近量化组来确定预测量化参数。
在步骤S2713,可将差量量化参数和预测量化参数相加以确定量化参数。
在步骤S2709,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
这里,可针对每个块或每个量化组设置IsCuDeltaQPCoded。此时,可通过使用诸如IsCuDeltaQPCoded的标志或变量来检查是否针对每个块或每个量化组对差量量化参数进行了熵编码/熵解码。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
图28是示出根据本发明的一个实施例的使用量化组的深度信息确定量化参数的方法的示图。
在步骤S2801,可对标志cu_qp_delta_enabled_flag进行熵编码/熵解码。当cu_qp_delta_enabled_flag为第一值(图28中的“是”)时,可不对差量量化参数进行熵编码/熵解码。另一方面,当cu_qp_delta_enabled_flag为第二值(图28中的“否”)时,可对差量量化参数进行熵编码/熵解码。
当cu_qp_delta_enabled_flag是第二值时,可在步骤S2802对作为量化组的深度信息的diff_cu_qp_delta_depth进行熵编码/熵解码。因此,可基于作为量化组的深度信息的diff_cu_qp_delta_depth和块的深度来设置在编码/解码期间执行用信号发送操作所基于的基本单元。
在步骤S2804,可对CTU执行编码/解码。在这个步骤中,CTU可被递归地分区为编码单元(CU),然后逐CU地被编码/解码。这里,CU可表示预测单元(PU)、变换单元(TU)和块中的至少一个。在这个步骤中,可将IsCuDeltaQPCoded设置为第二值。
在步骤S2805,当当前块的深度小于或等于量化组的深度信息时,可在步骤S2806将IsCuDeltaQPCoded设置为第一值。
在步骤S2807,当CU_split_flag被熵编码/熵解码为第二值(图28中的“是”)时,可将CTU递归地分区为CU。在步骤S2807,当CU_split_flag被熵编码/熵解码为第一值(图28中的“否”)时,可对编码块标志coded_block_flag进行熵编码/熵解码。
在步骤S2808中,当编码块标志是第一值(图28中的“是”)时,可不对差量量化参数进行熵编码/熵解码。在步骤S2809,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2809中,当IsLastCuCoded是第二值(图28中的“否”)时,由于最后CU已经被编码/解码,因此对差量量化参数的熵编码/熵解码结束。当IsLastCuCoded是第一值(图28中的“是”)时,对下一个目标CU进行编码/解码。
在步骤S2808,当编码块标志是第二值(图28中的“否”)时,可检查IsCuDeltaQPCoded是被设置为第一值还是第二值。
在步骤S2810,当IsCuDeltaQPCoded被设置为第二值(图28中的“否”)时,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2810中,当IsCuDeltaQPCoded被设置为第一值(图28中的“是”)时,可在步骤S2811对差量量化参数进行熵编码/熵解码,然后可将IsCuDeltaQPCoded设置为第二值。
在步骤S2812,可使用邻近量化组来确定预测量化参数。
在步骤S2813,可将差量量化参数和预测量化参数相加以确定量化参数。
接下来,在步骤S2809,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
这里,可针对每个块或每个量化组设置IsCuDeltaQPCoded。此时,可通过使用诸如IsCuDeltaQPCoded的标志或变量来检查是否针对每个块或每个量化组对差量量化参数进行了熵编码/熵解码。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
当前块的深度可表示四叉树的深度和多类型树的深度中的至少一个,或者两个或更多个树的深度之和。
图29是示出根据本发明的另一实施例的使用量化组的深度信息来确定量化参数的方法的示图。
在步骤S2901,可对标志cu_qp_delta_enabled_flag进行熵编码/熵解码。当cu_qp_delta_enabled_flag为第一值(图29中的“是)时,可不对差量量化参数进行熵编码/熵解码。另一方面,当cu_qp_delta_enabled_flag为第二值(图29中的“否”)时,可对差量量化参数进行熵编码/熵解码。
当cu_qp_delta_enabled_flag是第二值时,可在步骤S2902对作为量化组的深度信息的diff_cu_qp_delta_depth进行熵编码/熵解码。因此,可根据作为量化组的深度信息的diff_cu_qp_delta_depth并根据CTU/CU的块深度来设置在编码/解码期间执行用信号发送操作所基于的基本单元。
在步骤S2904,可对CTU执行编码/解码。在这个步骤中,CTU可被递归地分区为编码单元(CU),然后逐CU地被编码/解码。这里,CU可表示预测单元(PU)、变换单元(TU)和块中的至少一个。在这个步骤中,可将IsCuDeltaQPCoded设置为第二值。
在步骤S2905,当当前块的深度小于或等于量化组的深度信息时,可在步骤S2906将IsCuDeltaQPCoded设置为第一值。
在步骤S2905,当当前块的深度大于量化组的深度时,可在步骤S2906-1将IsCuDeltaQPCoded设置为第二值。
在步骤S2907,当CU_split_flag被熵编码/熵解码为第二值(图29中的“是”)时,可将CTU递归地分区为CU。在步骤S2907,当CU_split_flag被熵编码/熵解码为第一值(图29中的“否”)时,可对编码块标志coded_block_flag进行熵编码/熵解码。
在步骤S2908,当编码块标志是第一值(图29中的“是”)时,可不对差量量化参数进行熵编码/熵解码。在步骤S2909,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2909,当IsLastCuCoded是第二值(图29中的“否”)时,由于最后CU已经被编码/解码,因此对差量量化参数的熵编码/熵解码结束。当IsLastCuCoded是第一值(图29中的“是”)时,对下一个目标CU进行编码/解码。
在步骤S2908,当编码块标志是第二值(图29中的“否”)时,可检查IsCuDeltaQPCoded是被设置为第一值还是第二值。
在步骤S2910,当IsCuDeltaQPCoded被设置为第二值(图29中的“否”)时,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S2910,当IsCuDeltaQPCoded被设置为第一值(图29中的“是”)时,可在步骤S2911对差量量化参数进行熵编码/熵解码,然后可将IsCuDeltaQPCoded设置为第二值。
在步骤S2912,可使用邻近量化组来确定预测量化参数。
在步骤S2913,可将差量量化参数和预测量化参数相加以确定量化参数。
接下来,在步骤S2909,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
这里,可针对每个块或每个量化组设置IsCuDeltaQPCoded。此时,可通过使用诸如IsCuDeltaQPCoded的标志或变量来检查是否针对每个块或每个量化组对差量量化参数进行了熵编码/熵解码。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
当前块的深度可表示四叉树的深度和多类型树的深度中的至少一个,或者两个或更多个树的深度之和。
图30是示出根据本发明的又一实施例的使用量化组的深度信息来确定量化参数的方法的示图。
在步骤S3001,可对标志cu_qp_delta_enabled_flag进行熵编码/熵解码。当cu_qp_delta_enabled_flag为第一值(图30中的“是”)时,可不对差量量化参数进行熵编码/熵解码。另一方面,当cu_qp_delta_enabled_flag为第二值(图30中的“否”)时,可对差量量化参数进行熵编码/熵解码。
当cu_qp_delta_enabled_flag是第二值时,可在步骤S3002对作为量化组的子划分信息的diff_cu_qp_delta_subdiv进行熵编码/熵解码。因此,可根据作为量化组的子划分信息的diff_cu_qp_delta_subdiv以及/或者根据CTU/CU/块的子划分值来设置在编码/解码期间执行用信号发送操作所基于的基本单元。
作为量化组的子划分信息的cu_qp_delta_subdiv可在画面参数集(PPS)被熵编码/熵解码。作为量化组的子划分信息的cu_qp_delta_subdiv可被编码/解码为可变长度。
在步骤S3003,qgEnable是指示可发送差量量化参数的条件的变量。当CTU被编码/解码时,作为当前块的子划分值的cbSubdiv值可被初始化为零。当qgEnable具有第一值时,可对差量量化参数进行熵编码/熵解码。另一方面,当qgEnable具有第二值时,可不对差量量化参数进行熵编码/熵解码。
在步骤S3004,可对CTU执行编码/解码。在这个步骤中,CTU可被递归地分区为编码单元(CU),然后逐CU地被编码/解码。这里,CU可表示预测单元(PU)、变换单元(TU)和块中的至少一个。在这个步骤中,可将IsCuDeltaQPCoded设置为第二值。
在步骤S3005,当当前qgEnable具有第一值时(图30中的“是”),可在步骤S3006将IsCuDeltaQPCoded设置为第一值。
在步骤S3005,当当前qgEnable具有第二值时,可在步骤S3006-1将IsCuDeltaQPCoded设置为第二值。
在步骤S3007,当CU_split_flag被熵编码/熵解码为第二值(图30中的“是”)时,可将CTU递归地分区为CU。在步骤S3007,当CU_split_flag被熵编码/熵解码为第一值(图30中的“否”)时,可对编码块标志coded_block_flag进行熵编码/熵解码。
当四叉树分区已经被执行时,可在步骤S3007-1将指示是否执行了四叉树分区的标志qt_split_cu_flag设置为第一值。当所述分区尚未被执行时,可将其设置为第二值。当二叉树分区已经被执行时,指示是否执行了二叉树分区的标志bt_split_cu_flag可具有第一值。当所述分区尚未被执行时,可将其设置为第二值。当标志“qt_split_cu_flag”具有第一值时,cbSubdiv被增加2。当标志“qt_split_cu_flag”具有第二值时,cbSubdiv被增加1。当具有第二值时,cbSubdiv可不被增加。
当三叉树分区已经被执行时,可在步骤S3007-2将指示是否执行了三叉树分区的标志tt_split_cu_flag设置为第一值。当所述分区尚未被执行时,可将其设置为第二值。当标志“tt_split_cu_flag”具有第一值时,在当前块是三叉树的中间块的情况下,可将mid_tt_block设置为第一值。在这种情况下,cbSubdiv可被增加1。当当前块不是三叉树的中间块时,cbSubdiv可被增加2。
在步骤S3007-3,当指示三叉树的中间块的mid_tt_block具有第一值时,在cbSubdiv+1小于或等于cu_qp_delta_subdiv的情况下,可将qgEnable设置为第一值。在cbSubdiv+1大于cu_qp_delta_subdiv的情况下,可将qgEnable设置为第二值。当mid_tt_block具有第二值时,在cbSubdiv小于或等于cu_qp_delta_subdiv的情况下,可将qgEnable设置为第一值。在cbSubdiv大于cu_qp_delta_subdiv的情况下,可将qgEnable设置为第二值。
在步骤S3008,当编码块标志是第一值(图30中的“是”)时,可不对差量量化参数进行熵编码/熵解码。在步骤S3009,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S3009,当IsLastCuCoded是第二值(图30中的“否”)时,由于最后CU已经被编码/解码,因此对差量量化参数的熵编码/熵解码结束。当IsLastCuCoded是第一值(图30中的“是”)时,对下一个目标CU进行编码/解码。
在步骤S3008,当编码块标志是第二值(图30中的“否”)时,可检查IsCuDeltaQPCoded是被设置为第一值还是第二值。
在步骤S3010,当IsCuDeltaQPCoded被设置为第二值(图30中的“否”)时,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
在步骤S3010,当IsCuDeltaQPCoded被设置为第一值(图30中的“是”)时,可在步骤S3011对差量量化参数进行熵编码/熵解码,然后可将IsCuDeltaQPCoded设置为第二值。
在步骤S3012,可使用邻近量化组来确定预测量化参数。
在步骤S3013,可将差量量化参数和预测量化参数相加以确定量化参数。
接下来,在步骤S3009,可检查指示CTU中的最后CU是否已经被编码/解码的标志IsLastCuCoded。
这里,可针对每个块或每个量化组设置IsCuDeltaQPCoded。此时,可通过使用诸如IsCuDeltaQPCoded的标志或变量来检查是否针对每个块或每个量化组对差量量化参数进行了熵编码/熵解码。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
图31和图32是示出根据本发明的一个实施例的差量量化参数的熵编码/熵解码所需的语法元素信息的示例的示图。
coding_quadtree()是包括用于对四叉树块结构进行编码/解码的语法元素中的至少一个的单元。在这种情况下,x0和y0可以是表示CU/块的左上方位置的坐标值。这里,log2CbSize可以是通过计算对CU/块的宽度或高度的log2函数而获得的值。这里,cqtDepth可表示当前CU/块的深度。这里,treeType可表示当前块的树的类型。
这里,cqtDepth可表示当前CU/块的深度。这里,cbSubdiv可表示通过将当前深度的深度乘以两倍而获得的值。在四叉树的情况下,由于块的宽度和高度中的每一个被减为一半,因此子划分值可被乘以2。
可将量化组的子划分信息cu_qp_delta_subdiv与cuSubdiv进行比较,以确定是否发送差量量化参数。当cu_qp_delta_subdiv大于或等于cbSubdiv时,差量量化参数值CuQpDeltaVal可被设置为零。当cu_qp_delta_subdiv小于cbSubdiv时,CuQpDeltaVal可不被设置为零。
qt_split_cu_flag指示是否通过四叉树划分对下一个子块进行分区。当qt_split_cu_flag具有第二值时,通过四叉树划分对下一个子块进行分区。当它具有第一值时,不通过四叉树划分对下一个子块进行分区。
当qt_split_cu_flag具有第二值时,因为父块被划分为四个子块,所以coding_quadtree()可以是4。在这种情况下,可通过将画面的宽度(pic_width_in_luma_samples)和高度(pic_height_in_luma_samples)分别与x1和y1进行比较来确定块是否延伸超过画面的边界。
这里,multi_type_tree()是包括用于对三叉树块进行编码/解码的语法元素中的至少一个的单元。在这种情况下,CU、块或树的宽度和高度可通过1<<log2CbSize而被获得。其中,<<表示左移位运算。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
这里,multi_type_tree()是包括用于对二叉树块或三叉树块进行编码/解码的语法元素中的至少一个的单元。在这种情况下,x0和y0可以是表示CU/块的左上方位置的坐标值。此外,cbWidth和cbHeight可表示将被编码/解码的当前CU/块的宽度和高度。这里,cqtDepth可表示当前CU/块的深度。这里,mttDepth可表示当前CU/块的二叉树或三叉树的深度。这里,cbSubdiv可表示当前CU/块的子划分值,并且qgEnable可以是指示是否发送差量量化参数的标志。这里,当CU/块是二叉树或三叉树时,partIdx可表示将被编码/解码的CU/块的索引。这里,treeType可表示当前块的树的类型。
当qgEnable具有第二值时,可将量化组的子划分信息cu_qp_delta_subdiv与cuSubdiv进行比较以确定是否发送差量量化参数。当qgEnable 2具有第二值并且cu_qp_delta_subdiv大于或等于cbSubdiv时,可将差量量化参数值CuQpDeltaVal设置为零。当qgEnable 1具有第一值并且cu_qp_delta_subdiv小于cbSubdiv时,可不将CuQpDeltaVal设置为零。当qgEnable具有第二值时,可不将CuQpDeltaVal设置为零。
mtt_split_cu_flag可以是指示是通过二叉树划分还是三叉树划分来对块进行划分的标志。在这种情况下,当mtt_split_cu_flag指示SPLIT_BT_VER时,它可表示垂直二叉树划分。类似地,SPLIT_BT_HOR可表示水平二叉树划分。此外,当mtt_split_cu_flag指示SPLIT_TT_VER时,它可表示垂直三叉树划分。类似地,当mtt_split_cu_flag指示SPLIT_TT_HOR时,它可表示水平三叉树划分。
当通过二叉树分区来对当前块进行划分时,cbSubdiv被增加1。此外,可通过将画面的宽度(pic_width_in_luma_samples)和高度(pic_height_in_luma_samples)分别与x1和y1进行比较来确定块是否延伸超过画面的边界。在这种情况下,图32示出垂直二叉树分区的示例。
当执行三叉树分区时,可设置eqgEnable的标志值。可将量化组的子划分信息cu_qp_delta_subdiv与cuSubdiv+2进行比较,以确定是否发送差量量化参数。当qgEnable具有第二值并且cu_qp_delta_subdiv大于或等于cbSubdiv+2时,可将qgEnable的值设置为第二值。当qgEnable1具有第一值并且cu_qp_delta_subdiv小于cbSubdiv时,可将qgEnable的值设置为第一值。在这种情况下,设置的qgEnable值可被存储在通过三叉树分区而被分区出的块的multi_type_tree()中。图32示出垂直三叉树分区的示例。
在三叉树块的情况下,左侧块和右侧块中的每一个块的子划分值(cbSubdiv)可被增加1,并且中间块的子划分值(cbSubdiv)可被增加2。
这里,coding_unit()表示用于对关于CU/块的至少一条信息进行编码/解码的语法元素的单元。
在上述实施例中,第一值可以是0,并且第二值可以是1。反之,第一值可以是1,并且第二值可以是0。
在编码器中熵编码且在解码器中熵解码的语法元素、信息、标志和索引中的至少一个可通过二值化、反二值化和熵编码/熵解码中的至少一个而被编码或解码。这里,对于二值化/反二值化和熵编码/熵解码,可使用以下技术中的至少一种,包括:有符号0阶Exp_Golomb二值化/反二值化方法(se(v))、有符号k阶Exp_Golomb二值化/反二值化方法(sek(v))、针对无符号正整数的0阶Exp_Golomb(ue(v))、针对无符号正整数的k阶Exp_Golomb二值化/反二值化方法(uek(v))、固定长度二值化/反二值化方法(f(n))、截断Rice二值化/反二值化方法或截断一元二值化/反二值化方法(tu(v))、截断二元二值化/反二值化方法(tb(v))、上下文自适应算术编码/解码方法(ae(v))、基于字节的位串(b(8))、针对有符号的整数的二值化/反二值化方法(i(n))、针对无符号的正整数的二值化/反二值化方法(u(n))以及一元二值化/反二值化方法。
根据本发明,可提供一种使用量化参数的图像编码/解码方法和设备。
根据本发明,可提供一种根据块结构并根据在高等级被编码/解码的量化组的尺寸信息来自适应地确定针对其将用信号发送差量量化参数的块的合适的尺寸以改善用信号发送量化参数的操作和量化参数的编码效率的图像编码/解码方法和设备。
根据本发明,可提供一种使用邻近量化组的量化参数来确定针对当前块的量化参数以减少差量量化参数的编码/解码所需的比特数的图像编码/解码方法和设备。
根据本发明,可提供一种能够有效地用信号发送针对具有诸如二叉树和三叉树的不同树结构的各种块的差量量化参数的图像编码/解码方法和设备。
根据本发明,可提供一种能够有效地对具有诸如二叉树和三叉树的不同树结构的各种块执行率控制的图像编码/解码方法和设备。
根据本发明,可提供一种存储通过根据本发明的编码/解码方法或设备生成的比特流的记录介质。
可在编码器和解码器中以相同的方法执行上述实施例。
上述实施例中的至少一个或组合可被用于对视频进行编码/解码。
应用以上实施例的顺序在编码器与解码器之间可不同,或者应用以上实施例的顺序在编码器和解码器中可相同。
可对每个亮度信号和色度信号执行以上实施例,或者可对亮度信号和色度信号相同地执行以上实施例。
应用本发明的以上实施例的块形状可具有正方形形状或非正方形形状。
可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可被定义为使得以上实施例被应用的最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,或者可被定义为以上实施例被应用于的固定尺寸。此外,在以上实施例中,可将第一实施例应用于第一尺寸,并且可将第二实施例应用于第二尺寸。换句话说,可根据尺寸组合地应用以上实施例。此外,当尺寸等于或大于最小尺寸且等于或小于最大尺寸时,可应用以上实施例。换句话说,当块尺寸被包括在特定范围内时,可应用以上实施例。
例如,当当前块的尺寸是8×8或更大时,可应用以上实施例。例如,当当前块的尺寸是4×4或更大时,可应用以上实施例。例如,当当前块的尺寸是16×16或更大时,可应用以上实施例。例如,当当前块的尺寸等于或大于16×16且等于或小于64×64时,可应用以上实施例。
可根据时间层来应用本发明的以上实施例。为了识别以上实施例可被应用于的时间层,可用信号发送对应标识符,并且可将以上实施例应用于由对应标识符标识的指定时间层。这里,标识符可被定义为以上实施例可被应用于的最低层或最高层或最低层和最高层两者,或者可被定义为指示该实施例被应用于的特定层。此外,可定义实施例被应用于的固定时间层。
例如,在当前图像的时间层是最低层时,可应用以上实施例。例如,在当前图像的时间层标识符是1时,可应用以上实施例。例如,在当前图像的时间层是最高层时,可应用以上实施例。
可定义本发明的以上实施例被应用于的条带类型或并行块组类型,并且可根据对应的条带类型或并行块组类型来应用以上实施例。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于这些步骤的顺序,而是一些步骤可与其他步骤同时执行或以不同的顺序执行。此外,本领域的普通技术人员应该理解,流程图中的步骤并不互相排斥,并且在不影响本发明的范围的情况下,可将其他步骤添加到流程图或者可将步骤中的一些步骤从流程图删除。
实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求范围内的所有替换、修改和改变。
本发明的实施例可以以程序指令的形式实现,其中,该程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构建的,或者对于计算机软件技术领域的普通技术人员是公知的。计算机可读记录介质的示例包括磁记录介质(诸如,硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及被专门构造为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且包括可由计算机使用解释器来实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作或者反之亦可,以进行根据本发明的处理。
尽管已经在特定项(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是它们仅被提供以帮助更全面地理解本发明,并且本发明不限于以上实施例。本发明所属领域的技术人员将理解,可对以上描述进行各种修改和改变。
因此,本发明的精神不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。
工业实用性
本发明可被用于对图像进行编码或解码。

Claims (10)

1.一种图像解码方法,包括:
从比特流对量化组的子划分信息进行解码,其中,所述子划分信息指示量化组的最大子划分值;
响应于当前块的子划分值等于或小于量化组的最大子划分值,将量化参数编码信息设置为第一值,其中,所述量化参数编码信息指示量化参数是否被编码;
响应于所述量化参数编码信息指示第一值,获取当前块的差量量化参数,并将所述量化参数编码信息设置为第二值;
基于所述差量量化参数推导当前块的量化参数;并且
基于当前块的量化参数获得当前块的变换系数,
其中,所述差量量化参数是基于所述差量量化参数的绝对值信息和所述差量量化参数的符号信息确定的。
2.根据权利要求1所述的图像解码方法,其中,子划分值与当前块和编码树块之间的面积的比率相关。
3.根据权利要求1所述的图像解码方法,其中,当当前块是按照四叉树分区从当前块的父块分区得到的时,当前块的子划分值是通过将当前块的父块的子划分值加二而确定的。
4.根据权利要求1所述的图像解码方法,其中,当当前块是按照二叉树分区从当前块的父块分区得到的时,当前块的子划分值是通过将当前块的父块的子划分值加一而确定的。
5.根据权利要求1所述的图像解码方法,其中,
在当前块是按照三叉树分区从当前块的父块分区得到的情况下,当前块的子划分值是通过以下操作而确定的:
当当前块是从当前块的父块分区出的块中的中间块时,将当前块的父块的子划分值加一,并且
当当前块不是从当前块的父块分区出的块中的中间块时,将当前块的父块的子划分值加二。
6.根据权利要求1所述的图像解码方法,其中,指示量化组的最大子划分值的量化组的子划分信息是以画面为单位而被解码的。
7.根据权利要求1所述的图像解码方法,还包括:响应于当前块的当前量化组是编码树块CTB行中的第一量化组,基于上方量化组的量化参数来确定当前块的预测量化参数,
其中,
所述上方量化组位于当前量化组正上方,并且
当前块的量化参数是基于当前块的预测量化参数和所述差量量化参数而推导出的。
8.根据权利要求1所述的图像解码方法,其中,
当前块被包括在当前量化组中,并且
当前块的量化参数被应用于当前量化组中的多个块。
9.一种图像编码方法,包括:
确定量化组的最大子划分值;
确定当前块的量化参数;
基于当前块的量化参数对当前块的变换系数进行量化;
响应于当前块的子划分值等于或小于量化组的最大子划分值,将量化参数编码信息设置为第一值,其中,所述量化参数编码信息指示量化参数是否被编码;
响应于所述量化参数编码信息指示第一值,对当前块的差量量化参数进行编码,并将所述量化参数编码信息设置为第二值;并且
对指示量化组的最大子划分值的量化组的子划分信息进行编码,
其中,所述差量量化参数的编码包括对所述差量量化参数的绝对值信息以及所述差量量化参数的符号信息进行编码。
10.一种发送比特流的方法,包括:
获得用于图像的比特流,其中,比特流通过图像编码方法被生成;以及
发送比特流,
其中,所述图像编码方法包括:
确定量化组的最大子划分值;
确定当前块的量化参数;
基于当前块的量化参数对当前块的变换系数进行量化;
响应于当前块的子划分值等于或小于量化组的最大子划分值,将量化参数编码信息设置为第一值,其中,所述量化参数编码信息指示量化参数是否被编码;
响应于所述量化参数编码信息指示第一值,对当前块的差量量化参数进行编码,并将所述量化参数编码信息设置为第二值;并且
对指示量化组的最大子划分值的量化组的子划分信息进行编码,
其中,所述差量量化参数的编码包括对所述差量量化参数的绝对值信息以及所述差量量化参数的符号信息进行编码。
CN202411550562.3A 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备 Pending CN119420923A (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
KR20180072999 2018-06-25
KR10-2018-0072999 2018-06-25
KR10-2018-0133494 2018-11-02
KR20180133494 2018-11-02
KR20180161324 2018-12-13
KR10-2018-0161324 2018-12-13
KR20190026208 2019-03-07
KR10-2019-0026208 2019-03-07
CN201980043298.5A CN112335242B (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备
PCT/KR2019/007675 WO2020004912A1 (ko) 2018-06-25 2019-06-25 양자화 파라미터를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980043298.5A Division CN112335242B (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备

Publications (1)

Publication Number Publication Date
CN119420923A true CN119420923A (zh) 2025-02-11

Family

ID=68987392

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202411550576.5A Pending CN119420925A (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备
CN202411550562.3A Pending CN119420923A (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备
CN202411550568.0A Pending CN119420924A (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备
CN201980043298.5A Active CN112335242B (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202411550576.5A Pending CN119420925A (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202411550568.0A Pending CN119420924A (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备
CN201980043298.5A Active CN112335242B (zh) 2018-06-25 2019-06-25 用于使用量化参数对图像进行编码/解码的方法和设备

Country Status (5)

Country Link
US (3) US11277612B2 (zh)
KR (2) KR102748401B1 (zh)
CN (4) CN119420925A (zh)
MX (4) MX2020013802A (zh)
WO (1) WO2020004912A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7278719B2 (ja) * 2018-06-27 2023-05-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
CN115714861A (zh) * 2018-12-16 2023-02-24 华为技术有限公司 视频译码器及相应方法
CN117793346A (zh) * 2019-01-31 2024-03-29 北京字节跳动网络技术有限公司 视频编解码中的细化量化步骤
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
CN114501008B (zh) * 2019-03-21 2023-12-19 三星电子株式会社 视频解码方法和视频编码方法
US11570439B2 (en) * 2019-05-15 2023-01-31 Hyundai Motor Company Inverse quantization device and method used in video decoding device
IL290832B2 (en) 2019-08-23 2024-12-01 Huawei Tech Co Ltd An encoder, a decoder and corresponding methods for performing chroma deblocking for blocks which use joint chroma coding
US11259024B2 (en) * 2020-06-05 2022-02-22 Tencent America LLC Quantizer design
WO2022031003A1 (ko) * 2020-08-04 2022-02-10 현대자동차주식회사 영상 부/복호화 장치에서 이용하는 양자화 파라미터 예측 방법
CN114598873B (zh) * 2020-12-03 2023-06-20 华为技术有限公司 量化参数的解码方法和装置
CN115474046A (zh) * 2021-06-11 2022-12-13 维沃移动通信有限公司 点云属性信息编码方法、解码方法、装置及相关设备
CN116074531B (zh) * 2021-11-11 2025-01-24 杭州海康威视数字技术股份有限公司 解码方法、编码方法及装置
CN117221564B (zh) * 2022-01-21 2025-01-17 杭州海康威视数字技术股份有限公司 一种视频解码方法、装置及存储介质
WO2023220969A1 (zh) * 2022-05-18 2023-11-23 Oppo广东移动通信有限公司 视频编解码方法、装置、设备、系统及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711211B1 (en) 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
TWI846396B (zh) * 2010-04-13 2024-06-21 美商Ge影像壓縮有限公司 在樣本陣列多元樹細分中之繼承技術
CN105704490B (zh) 2010-04-16 2018-07-31 Sk电信有限公司 视频编码设备
KR20120016980A (ko) 2010-08-17 2012-02-27 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
ES2936531T3 (es) 2011-01-13 2023-03-17 Canon Kk Aparato de codificación de imagen, procedimiento de codificación de imagen y programa, y aparato de decodificación de imagen, procedimiento de decodificación de imagen y programa
US9961343B2 (en) * 2011-10-24 2018-05-01 Infobridge Pte. Ltd. Method and apparatus for generating reconstructed block
US10448056B2 (en) 2016-07-15 2019-10-15 Qualcomm Incorporated Signaling of quantization information in non-quadtree-only partitioned video coding
WO2018018486A1 (en) 2016-07-28 2018-02-01 Mediatek Inc. Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure

Also Published As

Publication number Publication date
KR102748401B1 (ko) 2025-01-03
CN112335242B (zh) 2024-11-19
KR20250003443A (ko) 2025-01-07
CN119420924A (zh) 2025-02-11
US20210227221A1 (en) 2021-07-22
CN119420925A (zh) 2025-02-11
US20220150500A1 (en) 2022-05-12
CN112335242A (zh) 2021-02-05
US12034930B2 (en) 2024-07-09
MX2024007990A (es) 2024-07-10
MX2024007991A (es) 2024-07-10
US11277612B2 (en) 2022-03-15
US20240314316A1 (en) 2024-09-19
MX2020013802A (es) 2021-05-27
KR20200000828A (ko) 2020-01-03
WO2020004912A1 (ko) 2020-01-02
MX2024007989A (es) 2024-07-10

Similar Documents

Publication Publication Date Title
CN112335242B (zh) 用于使用量化参数对图像进行编码/解码的方法和设备
CN113950830B (zh) 使用次级变换的图像编码/解码方法和装置
US20240430423A1 (en) Image encoding/decoding method and apparatus, and recording medium storing bitstream
US11743452B2 (en) Video encoding/decoding method and device, and recording medium for storing bitstream
US12155826B2 (en) Image encoding/decoding method and apparatus, and recording medium in which bitstream is stored
US12041227B2 (en) Image encoding/decoding method and device, and recording medium storing bitstream
CN113940077B (zh) 用于视频编码/解码的虚拟边界信令方法
US12041242B2 (en) Image encoding/decoding method and apparatus, and recording medium for storing bitstream
EP3989546A1 (en) Inter prediction information encoding/decoding method and device
CN114342372A (zh) 帧内预测模式、以及熵编解码方法和装置
US20220279161A1 (en) Image encoding/decoding method and device, and recording medium storing bitstream
KR20190091217A (ko) 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
CN113950831B (zh) 基于帧内块复制的编/解码方法、装置和比特流存储介质
KR20210125944A (ko) 머지 모드를 사용하는 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
CN118158435A (zh) 对图像进行解码的方法、对图像进行编码的方法以及用于发送通过对图像进行编码的方法生成的比特流的方法
KR20220089660A (ko) 예측을 사용하는 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
CN119743622A (zh) 图像编码/解码方法和用于发送压缩视频数据的设备
CN119743621A (zh) 图像编码/解码方法和用于发送压缩视频数据的设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination