技术领域
本发明涉及在空间区域和变换区域之间执行变换的视频编码和视频解码。
背景技术:
随着再现和存储高分辨率或高质量视频内容的硬件被开发和提供,对于用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求增加。在现有的视频编解码器中,根据有限的基于预定尺寸的宏块的视频编码方法对视频编码。另外,现有视频编解码器通过使用具有与宏块相同尺寸的块对宏块进行变换和反变换,从而对视频数据编码和解码。
技术实现要素:
技术问题
本发明提供通过使用分层编码单元在空间区域和变换区域之间执行变换的视频编码和视频解码。
技术方案
根据本发明的一方面,提供了一种基于具有树结构的编码单元对视频解码的方法,所述方法包括以下操作:接收针对编码视频的比特流并解析比特流;从比特流提取指示编码单元的尺寸和可变深度的编码单元结构信息以及关于针对画面的具有树结构的编码单元的编码深度和编码模式的信息,所述编码单元是用于对视频的画面解码的数据单元;基于编码单元结构信息以及关于编码深度和编码模式的信息确定具有树结构的编码单元;基于编码单元对画面解码。
有益效果
由于考虑了图像的尺寸增加了编码单元的最大尺寸同时还考虑了图像的特性分层调整编码单元,因此可增加图像压缩效率。由于编码器发送具有关于编码深度和编码模式的信息的编码的视频数据,因此解码器可在根据具有树结构的编码单元确定至少一个编码深度之后对每一幅编码图像解码,因此可提高图像的编码和解码效率。
附图说明
图1是根据本发明实施例的基于具有树结构的编码单元对视频编码的设备的框图;
图2是根据本发明实施例的基于具有树结构的编码单元对视频解码的设备的框图;
图3是用于描述根据本发明实施例的编码单元的概念的示图;
图4是根据本发明实施例的基于编码单元的图像编码器的框图;
图5是根据本发明实施例的基于编码单元的图像解码器的框图;
图6是根据本发明实施例的根据深度的较深层编码单元和分区的示图;
图7是描述根据本发明实施例的编码单元和变换单元之间的关系的示图;
图8是用于描述根据本发明实施例的对应于编码深度的编码单元的编码信息的示图;
图9是根据本发明实施例的根据深度的较深层编码单元的示图;
图10到图12是用于描述根据本发明实施例的编码单元、预测单元和变换单元之间的关系的示图;
图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区与变换单元之间的关系的示图;
图14是示出根据本发明实施例的基于具有树结构的编码单元对视频编码的方法的流程图;
图15是示出根据本发明实施例的基于具有树结构的编码单元对视频解码的方法的流程图。
最优模式
根据本发明的一方面,提供了一种基于具有树结构的编码单元对视频解码的方法,所述方法包括以下操作:接收针对编码的视频的比特流并解析比特流;从比特流提取编码单元结构信息和关于针对画面的具有树结构的编码单元的编码深度和编码模式的信息,所述编码单元结构信息指示作为对视频的画面解码的数据单元的编码单元的尺寸和可变深度;基于编码单元结构信息和关于编码深度和编码模式的信息确定具有树结构的编码单元,并基于编码单元对画面解码。
根据本发明的另一方面,提供了一种基于具有树结构的编码单元对视频编码的方法,所述方法包括以下操作:将视频的画面划分为一个或多个最大编码单元,最大编码单元是具有最大尺寸的编码单元;基于根据深度的编码单元对画面编码,其中,通过在所述一个或多个最大编码单元的每个中根据深度分层划分所述一个或多个最大编码单元中的每一个,针对每个根据深度的编码单元确定根据编码深度的编码单元,从而确定具有树结构的编码单元来获得根据深度的编码单元;输出基于具有树结构的编码单元被编码的编码数据、关于编码深度和编码模式的信息和指示编码单元的尺寸和可变深度的编码单元结构信息。
根据本发明的另一方面,提供了一种包括视频解码处理器并基于具有树结构的编码单元的视频解码设备,所述视频解码设备包括:接收器,接收针对编码视频的比特流,并随后解析比特流;提取器,从比特流提取编码单元结构信息和关于针对画面的具有树结构的编码单元的编码深度和编码模式的信息,所述编码单元结构信息指示作为对视频的画面解码的数据单元的编码单元的尺寸和可变深度;解码器,与视频解码处理器相关联,基于编码单元结构信息和关于编码深度和编码模式的信息确定具有树结构的编码单元,并基于编码单元对画面解码。
根据本发明的另一方面,提供了一种包括视频编码处理器并基于具有树结构的编码单元的视频编码设备,所述视频编码设备包括:最大编码单元划分器,将视频的画面划分为一个或多个最大编码单元,最大编码单元是具有最大尺寸的编码单元;编码单元确定器,与视频编码处理器相关联,基于根据深度的编码单元对画面编码,其中,通过在所述一个或多个最大编码单元的每个中根据深度分层划分所述一个或多个最大编码单元中的每一个,针对每个根据深度的编码单元确定根据编码深度的编码单元,从而确定具有树结构的编码单元来获得根据深度的编码单元;输出单元,输出基于具有树结构的编码单元被编码的数据、关于编码深度和编码模式的信息和指示编码单元的尺寸和可变深度的编码单元结构信息。
编码单元结构信息可包括具有树结构的编码单元中的编码单元的最大尺寸的信息、关于编码单元的最小尺寸的信息或者关于可变深度的信息。
根据本发明的另一方面,提供了一种其上记录有通过使用计算机执行对视频解码的方法的程序的计算机可读记录介质。根据本发明的另一方面,提供了一种其上记录有通过使用计算机执行对视频编码的方法的程序的计算机可读记录介质。
具体实施方式
以下,将参照附图更全面地描述本发明,在附图中示出了本发明的示例性实施例。在本发明的实施例中,术语“图像”可统一地不仅表示静止图像还表示诸如视频的运动图像。
以下,将参照图1到图15详细描述基于具有树结构的编码单元对视频编码和解码的设备和方法。
图1是根据本发明实施例的基于具有树结构编码单元对视频编码的设备100的框图。
基于具有树结构的编码单元对视频编码的设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。以下,为了便于描述,基于具有树结构的编码单元对视频编码的设备100被称为“视频编码设备100”。
最大编码单元划分器110可基于图像的当前画面的最大编码单元划分当前画面。如果当前画面大于最大编码单元,则可将当前画面的图像数据划分为至少一个最大编码单元。根据本发明实施例的最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是高度和宽度为2的若干次方的正方形。可根据至少一个最大编码单元将图像数据输出到编码单元确定器120。
根据本发明实施例的编码单元可由最大尺寸和深度表征。深度表示编码单元从最大编码单元被空间划分的次数,随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分到最小编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此与较高深度相应的编码单元可包括多个与较低深度相应的多个编码单元。
如上所述,根据编码单元的最大尺寸将当前画面的图像数据划分为多个最大编码单元,每个最大编码单元可包括根据深度划分的较深层编码单元。由于根据本发明实施例的最大编码单元根据深度被划分,因此包括在最大编码单元的空间域中的图像数据可根据深度被分层地分类。
可预先确定编码单元的最大深度和最大尺寸,最大深度和最大尺寸限制最大编码单元的高度和宽度被分层划分的总次数。
编码单元确定器120根据深度对通过划分最大编码单元的区域而获得的至少一个划分的区域进行编码,并根据所述至少一个划分的区域确定输出最终的编码图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元以根据深度的较深层编码单元对图像编码并选择具有最小编码误差的深度,来确定编码深度。因此,最终输出与确定的编码深度对应的编码单元的编码图像数据。另外,与编码深度对应的编码单元可被认为是被编码的编码单元。
确定的编码深度和根据确定的编码深度的编码图像数据被输出到输出单元130。
基于与等于或低于最大深度的至少一个深度对应的较深层编码单元对最大编码单元中的图像数据进行编码,并基于每个较深层编码单元来比较对图像数据进行编码的结果。可在比较较深层编码单元的编码误差之后选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
随着编码单元根据深度被分层划分并随着编码单元的数量增加,最大编码单元的尺寸被划分。另外,即使一个最大编码单元中的多个编码单元对应于相同深度,仍通过单独测量每个编码单元的图像数据的编码误差来确定是否将对应于相同深度的每个编码单元划分为更低深度。因此,即使图像数据被包括在一个最大编码单元中,图像数据被划分为根据深度的多个区域并且在一个最大编码单元中编码误差可根据区域而不同,因此,编码深度可根据图像数据中的区域而不同。因此,可在一个最大编码单元中确定一个或多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据本发明实施例的具有树结构的编码单元包括最大编码单元中所包括的所有较深层编码单元中与确定为编码深度的深度对应的编码单元。可在最大编码单元的相同区域中根据深度分层地确定编码深度的编码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,当前区域中的编码深度与另一区域中的编码深度可被独立地确定。
根据本发明实施例的最大深度是与从最大编码单元到最小编码单元的划分次数相关的索引。根据本发明实施例的最大深度可表示从最大编码单元到最小编码单元的总的划分次数。例如,当最大编码单元的深度是0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、深度1、深度2、深度3、深度4这5个深度等级,因此,最大深度可被设置为4。
可根据最大编码单元执行预测编码和变换。还根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元执行预测编码和变换。可根据频率变换、正交变换或整数变换的方法执行变换。
由于每当最大编码单元根据深度被划分时较深层编码单元的数量就增加,因此对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元描述预测编码和变换。
视频编码设备100可不同地选择用于对图像数据编码的数据单元的尺寸或形状。为了对图像数据编码,执行诸如预测编码、变换和熵编码的操作,并且同时,相同的数据单元可用于所有操作,或者不同的数据单元可用于每个操作。
例如,视频编码设备100可不仅选择用于对图像数据编码的编码单元,还可选择与该编码单元不同的数据单元以对编码单元中的图像数据执行预测编码。
为了在最大编码单元中执行预测编码,可基于与编码深度对应的编码单元(即,基于不再被划分为对应于更低深度的编码单元的编码单元)执行预测编码。以下,不再被划分并且成为用于预测编码的基本单元的编码单元将被称为“预测单元”。通过划分预测单元获得的分块(partition)可包括预测单元或通过划分预测单元的高度和宽度中的至少一个而获得的数据单元。
例如,当2N×2N(其中,N是正整数)的编码单元不再被划分并且成为2N×2N的预测单元时,分块的尺寸可以是2N×2N、2N×N、N×2N或N×N。分块类型的示例包括通过对称地划分预测单元的高度或宽度而获得的对称分块、通过不对称地划分预测单元的高度或宽度而获得的分块(诸如,1:n或n:1)、通过几何地划分预测单元而获得的分块以及具有任意形状的分块。
预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2N×2N、2N×N、N×2N或N×N的分块执行帧内模式或帧间模式。另外,可仅对2N×2N的分块执行跳过模式。可独立地对编码单元中的一个预测单元执行编码,从而选择引起最小编码误差的预测模式。
视频编码设备100可不仅基于用于对图像数据编码的编码单元对编码单元中的图像数据执行变换,还可基于与编码单元不同的数据单元对编码单元中的图像数据执行变换。
为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的变换单元执行变换。例如,用于变换的变换单元可包括用于帧内模式的变换单元和用于帧间模式的变换单元。
与具有树结构的编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的区域。因此,可基于根据变换深度的具有树结构的变换来划分编码单元中的残差数据。
还可在变换单元中设置指示通过划分编码单元的宽度和高度而达到变换单元的划分次数的变换深度。例如,在2N×2N的当前编码单元中,当变换单元的尺寸也是2N×2N时,变换深度可以是0,当变换单元的尺寸是N×N时,变换深度可以是1,当变换单元的尺寸是N/2×N/2时,变换深度可以是2。例如,可根据变换深度的分层特性,根据分层树结构设置变换单元。
根据与编码深度对应的编码单元对信息编码不仅需要关于编码深度的信息,还需要与预测编码和变换相关的信息。因此,编码单元确定器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分块类型、根据预测单元的预测模式以及用于变换的变换单元的尺寸。
稍后将参照图3到图13详细描述根据本发明实施例的根据最大编码单元的树结构的编码单元和确定分块的方法。
编码单元确定器120可通过使用基于拉格朗日乘子(Lagrangian multiplier)的率失真最优化,测量根据深度的较深层编码单元的编码误差。
输出单元130在比特流中输出最大编码单元的图像数据、关于根据编码深度的编码模式的信息以及关于用于编码单元的尺寸和可变深度的编码单元结构信息,其中,基于由编码单元确定器120确定的至少一个编码深度对最大编码单元的图像数据编码。
可通过对图像的残差数据编码来获得编码的图像数据。
关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分块类型的信息、预测模式和变换单元的尺寸。
可通过使用根据深度的划分信息定义关于编码深度的信息,所述根据深度的划分信息指示是否对较低深度而非当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码和输出,并且因此划分信息可被定义为不将当前编码单元划分至较低深度。可选择地,如果当前编码单元的当前深度不是编码深度,则对较低深度的编码单元执行编码,并且因此划分信息可被定义为对当前编码单元进行划分以获得较低深度的编码单元。
如果当前深度不是编码深度,则对被划分为较低深度的编码单元的编码单元执行编码。因为在当前深度的一个编码单元中存在较低深度的至少一个编码单元,所以对较低深度的每个编码单元重复执行编码,从而可针对具有相同深度的编码单元递归地执行编码。
因为针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,所以可针对一个最大编码单元确定关于至少一个编码模式的信息。另外,因为根据深度分层地划分图像数据,所以最大编码单元的图像数据的编码深度可根据位置而不同,从而可针对图像数据设置关于编码深度和编码模式的信息。
因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。输出单元130可将关于相应的编码深度和相应的编码模式的信息插入比特流的头、序列参数集(SPS)或画面参数集(PPS),并可输出它们。
根据本发明实施例的最小单元是通过将组成最低深度的最小编码单元划分为4份而获得的矩形数据单元。根据本发明实施例的最小单元可以是最大矩形数据单元,所述最大矩形数据单元可被包括在最大编码单元中包括的所有编码单元、预测单元、分块单元和变换单元中。
例如,通过输出单元130输出的编码信息可被分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息以及关于分块的尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息以及关于帧内模式的插值方法的信息。
另外,关于根据序列、画面、条带或GOP定义的编码单元的尺寸和可变深度的编码单元结构信息可被插入到比特流的SPS、PPS或头中。
可变深度不仅可指示具有树结构的当前编码单元的允许的最大深度,还可指示具有最小尺寸的编码单元的最低深度、深度级的数量或深度变化。
深度级的数量可指示具有树结构的当前编码单元中可存在的根据深度的较深层编码单元的深度级的数量。
深度变化可指示具有树结构的当前编码单元中可存在的根据深度的较深层编码单元的变化的数量。例如,深度变化可指示具有树结构的当前编码单元中具有最小尺寸的编码单元和具有最大尺寸的编码单元的深度级的变化的数量,即,从最低深度到最高深度的深度级的变化的数量。可选择地,具有树结构的当前编码单元的深度变化可指示具有树结构的当前编码单元中具有最大尺寸的编码单元和具有最小尺寸的编码单元的深度级的变化的数量,即,从最高深度到最低深度的深度级的变化的数量。
以下,将参照在具有树结构的当前编码单元中确定的编码单元的最大尺寸和最小尺寸分别为128×128和16×16的情况来描述可变深度。
如上所述,最大深度可指示根据深度的编码单元从最大编码单元到最小编码单元的总的划分次数。在这种情况下,由于编码单元从128×128到64×64,从64×64到32×32,从32×32到16×16被划分了3次,因此最大深度可被设置为3。
在这种情况下,128×128、64×64、32×32和16×16的编码单元的深度分别为0、1、2和3,从而深度级的数量可以是4。
在这种情况下,深度变化可指示具有树结构的当前编码单元中的128×128、64×64、32×32和16×16的编码单元的深度级的变化的数量。也就是说,由于编码单元的深度从深度0到深度1、2和3改变3次,或者从深度3到深度2、1和0改变3次,因此深度变化可以是3。
因此,当具有树结构的当前编码单元中的编码单元的最大尺寸和最小尺寸分别为128×128和16×16时,深度变化可指示作为当前编码单元允许的最大深度的3、作为具有最小尺寸的编码单元的最低深度的3、作为深度级的数量的4和作为深度变化的3中的一个。
可根据序列、画面、条带或GOP设置关于可变深度的信息。也就是说,可针对序列、画面、条带或GOP中的每个数据单元设置关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最大尺寸的信息或关于编码单元的最小尺寸的信息。
因此,输出单元130可包括编码信息,编码信息包括作为编码单元结构信息的关于可变深度的信息、关于编码单元的最大尺寸的信息和关于编码单元的最小尺寸的信息中的至少两个,并输出单元130可将编码信息插入比特流的头(即,SPS或PPS),并随后可输出比特流。根据序列、画面、条带或GOP分别确定编码单元的可变深度、最大尺寸和最小尺寸。
例如,编码信息可包括关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最大尺寸的信息的组合。
例如,编码信息可包括关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最小尺寸的信息的组合。也就是说,编码信息可包括关于具有树结构的当前编码单元中的编码单元的最小尺寸的信息,并且还可包括关于可变深度的信息,可变深度指示最大深度、具有最小尺寸的编码单元的最低深度、深度级的数量和深度变化中的一个。
例如,编码信息可包括关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最大尺寸的信息的组合。也就是说,编码信息可包括关于具有树结构的当前编码单元中的编码单元的最大尺寸的信息,并且还可包括关于可变深度的信息,可变深度指示最大深度、具有最大尺寸的编码单元的最低深度、深度级的数量和深度变化中的一个。
另外,从输出单元130输出的编码信息可指示变换索引。变换索引信息可指示关于用于变换当前编码单元的变换单元的结构的信息。例如,变换索引信息可包括关于从当前编码单元的编码单元划分到最终级变换单元的总划分次数的信息以及关于变换单元的尺寸和形状的信息。
变换索引信息可指示当前变换单元是否划分为更低级的变换单元。例如,变换单元划分位是指示变换单元是否被划分为更低级变换单元的一个位数据,变换单元划分位可用作变换索引信息。
在视频编码设备100中,较深层编码单元可以是通过将作为上一层的较高深度的编码单元的高度或宽度除以2而获得的编码单元。换而言之,在当前深度的编码单元的尺寸是2N×2N时,较低深度的编码单元的尺寸是N×N。另外,具有2N×2N的尺寸的当前深度的编码单元可包括最多4个较低深度的编码单元。
因此,视频编码设备100可基于最大编码单元的尺寸和考虑当前画面的特性而确定的最大深度,通过针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。另外,因为可通过使用各种预测模式和变换中的任意一种来对每个最大编码单元执行编码,所以可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
因此,如果以传统的宏块对具有高分辨率或大数据量的图像编码,则每个画面的宏块的数量会急剧增加。因此,针对每个宏块产生的压缩信息的条数增加,从而难以发送压缩的信息并且数据压缩效率下降。然而,通过使用视频编码设备100,因为在考虑图像的尺寸而增大编码单元的最大尺寸的同时,考虑图像的特性调整了编码单元,所以图像压缩效率可提高。
图2是根据本发明实施例的基于具有树结构的编码单元对视频解码的设备200的框图。
用于基于具有树结构的编码单元对视频进行解码的设备200包括接收器210、图像数据和编码信息提取器220以及图像数据解码器230。以下,为了便于描述,基于具有树结构的编码单元对视频解码的设备200被称为“视频解码设备200”。
用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元以及关于各种编码模式的信息)的定义与参照图1和视频编码设备100所描述的术语的定义相同。
接收器210接收并解析编码的视频的比特流。图像数据和编码信息提取器220从解析的比特流中提取每个编码单元的编码的图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从来自于接收的比特流的针对当前画面的头、SPS和PPS中的至少一个提取关于当前画面的编码单元的尺寸和可变深度的编码单元结构信息以及关于编码深度和编码模式的信息。
图像数据和编码信息提取器220可从编码信息中提取关于可变深度的信息,并提取针对序列、画面、条带或GOP的每个数据单元的、具有树结构的当前编码单元中的编码单元的允许的最大尺寸的信息和关于所述编码单元的允许的最小尺寸的信息中的一个。图像数据解码器230可通过使用关于可变深度的信息、关于编码单元的最大尺寸的信息和关于编码单元的最小尺寸的信息中的至少两个,确定针对序列、画面、条带或GOP的每个数据单元的、具有树结构的当前编码单元中的编码单元的允许的最大尺寸和允许的最小尺寸。
可从编码信息提取关于可变深度的信息、关于编码单元的最大尺寸的信息和关于编码单元的最小尺寸的信息中的至少两个信息,所述至少两个信息针对画面、条带或GOP中的每一个被确定。
例如,可从编码信息读取关于具有树结构的当前编码单元中的编码单元的最大尺寸的信息和关于所述编码单元的最小尺寸的信息的组合,并可从编码信息确定当前编码单元中的编码单元的允许的最大尺寸和最小尺寸。
例如,可从编码信息读取关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最小尺寸的信息的组合。也就是说,可从编码信息一起读取关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最小尺寸的信息,可变深度指示最大深度、具有最小尺寸的编码单元的最低深度、深度级的数量和深度变化中的一个。通过使用读取的编码单元的最小尺寸和可变深度,可确定当前数据单元中的编码单元的允许的最大尺寸。
例如,可从编码信息读取关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最大尺寸的信息的组合。也就是说,可从编码信息一起读取关于可变深度的信息和关于具有树结构的当前编码单元中的编码单元的最大尺寸的信息,可变深度指示最大深度、具有最小尺寸的编码单元的最低深度、深度级的数量和深度变化中的一个。通过使用读取的编码单元的最大尺寸和可变深度,可确定当前数据单元中的编码单元的允许的最小尺寸。
另外,图像数据和编码信息提取器220从解析的比特流提取关于根据每个最大编码单元具有树结构的编码单元的编码深度和编码模式的信息。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换句话说,比特流中的图像数据被划分为最大编码单元,从而图像数据解码器230针对每个最大编码单元对图像数据解码。
可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据最大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分块类型的信息、关于预测模式的信息以及变换单元的尺寸的信息。另外,根据深度的划分信息可被提取作为关于编码深度的信息。
另外,图像数据解码器230可从提取自解析的比特流的编码信息读取关于变换索引的信息。图像数据解码器230可基于由图像数据和编码信息提取器220提取的图像数据和变换索引信息来配置当前编码单元的变换单元,并可基于变换单元执行当前编码单元的反变换,从而可对编码的数据解码。作为对编码单元解码的结果,可恢复当前画面。
由图像数据和编码信息提取器220提取的关于根据每个最大编码单元的编码模式和编码深度的信息是关于这样的编码深度和编码模式的信息,即:所述编码深度和编码模式被确定为当编码器(诸如视频编码设备100)根据每个最大编码单元针对根据深度的每个较深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据解码来恢复图像。
由于关于编码深度和编码模式的编码信息可被分配给相应的编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可提取关于根据预定数据单元的编码深度和编码模式的信息。被分配有相同的关于编码深度和编码模式的信息的预定数据单元可被推断为是包括在同一最大编码单元中的数据单元。
图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息,对每个最大编码单元中的图像数据解码来恢复当前画面。换而言之,图像数据解码器230可基于提取的与包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的分块类型、预测模式和变换单元有关的信息,来对编码的图像数据解码。解码处理可包括预测和反变换,所述预测包括帧内预测和运动补偿。可根据反正交变换或反整数变换的方法来执行反变换。
图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分块类型和预测模式的信息,根据每个编码单元的分块和预测模式执行帧内预测或运动补偿。
此外,图像数据解码器230可通过读取根据树结构的变换单元以及关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元来执行反变换,以根据最大编码单元执行反变换。
图像数据解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果所述划分信息指示在当前深度不再划分图像数据,则当前深度是编码深度。因此,图像数据解码器230可通过使用关于预测单元的分块类型、预测模式、针对与编码深度相应的每个编码单元的变换单元的尺寸的信息,对当前最大编码单元中的与每个编码深度相应的至少一个编码单元的编码的数据进行解码,并输出当前最大编码单元的图像数据。
换而言之,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集,收集包含编码信息(所述编码信息包括相同的划分信息)的数据单元,并且收集的数据单元可被认为是将由图像数据解码器230以相同编码模式解码的一个数据单元。
视频解码设备200可获得与在对每个最大编码单元递归地执行编码时产生最小编码误差的至少一个编码单元有关的信息,并且视频解码设备200可使用所述信息来对当前画面解码。换而言之,可以对在每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,考虑图像数据的分辨率和数据量来确定编码单元的最大尺寸。
因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式对所述图像数据进行有效地解码和恢复,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特性来自适应地确定编码单元的尺寸和编码模式。
现在将参照图3至图13描述根据本发明实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。
图3是用于描述根据本发明实施例的编码单元的概念的示图。
可以以宽度×高度来表示编码单元的尺寸,并且编码单元的尺寸可以是64×64、32×32、16×16和8×8。64×64的编码单元可被划分为64×64、64×32、32×64或32×32的分块,32×32的编码单元可被划分为32×32、32×16、16×32或16×16的分块,16×16的编码单元可被划分为16×16、16×8、8×16或8×8的分块,8×8的编码单元可被划分为8×8、8×4、4×8或4×4的分块。
在视频数据310中,分辨率是1920×1080,编码单元的最大尺寸是64,最大深度是2。在视频数据320中,分辨率是1920×1080,编码单元的最大尺寸是64,最大深度是3。在视频数据330中,分辨率是352×288,编码单元的最大尺寸是16,最大深度是1。图3中示出的最大深度表示从最大编码单元到最小编码单元的划分的总次数。
如果分辨率高或者数据量大,则编码单元的最大尺寸可以很大,从而不仅提高编码效率,还精确地反映图像的特性。因此,具有比视频数据330更高的分辨率的视频数据310和视频数据320的编码单元的最大尺寸可以为64。
由于视频数据310的最大深度是2,所以视频数据310的编码单元315可包括具有64的长轴(long axis)尺寸的最大编码单元,还包括由于通过将最大编码单元划分两次使深度加深至两层而具有32和16的长轴尺寸的编码单元。同时,因为视频数据330的最大深度是1,所以视频数据330的编码单元335可包括具有16的长轴尺寸的最大编码单元,还包括由于通过将最大编码单元划分一次使深度加深至一层而具有8的长轴尺寸的编码单元。
因为视频数据320的最大深度是3,所以所述视频数据320的编码单元325可包括具有64的长轴尺寸的最大编码单元,并且由于通过划分最大编码单元三次将深度加深至3层而具有32、16和8的长轴尺寸的编码单元。随着深度加深,详细信息可被精确地表示。
图4是根据本发明实施例的基于编码单元的图像编码器400的框图。
图像编码器400执行视频编码设备100的编码单元确定器120的操作,以对图像数据编码。换而言之,帧内预测器410对当前帧405中的帧内模式的编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405中的帧间模式的编码单元执行帧间估计和运动补偿。
从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反量化器460和反变换器470被恢复为空间域中的数据,并且恢复的空间域中的数据在通过去块单元480和环路滤波单元490进行后处理之后,被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。
为了在视频编码设备100中应用图像编码器400,图像编码器400的所有部件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波器490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元执行操作。
具体地说,帧内预测器410、运动估计器420以及运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时,确定具有树结构的编码单元中的每个编码单元的分块和预测模式,变换器430确定在具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
图5是根据本发明实施例的基于编码单元的图像解码器500的框图。
解析器510从比特流505解析将被解码的编码图像数据和解码所需的关于编码的信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,并且反量化的数据通过反变换器540被恢复为空间域中的图像数据。
帧内预测器550针对空间域中的图像数据,在帧内模式下对编码单元执行帧内预测,运动补偿器560通过使用参考帧585,在帧间模式下对编码单元执行运动补偿。
经过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580进行后处理之后,被输出为恢复的帧595。另外,通过去块单元570和环路滤波单元580进行后处理的图像数据可被输出为参考帧585。
为了在视频解码设备200的图像数据解码器230中对图像数据解码,图像解码器500可执行在解析器510之后执行的操作。
为了在视频解码设备200中应用图像解码器500,图像解码器500的所有部件(即,解析器510、熵解码器520、反量化器530、反变换器540、帧内预测器550、运动补偿器560、去块单元570以及循环滤波单元580)针对每个最大编码单元基于具有树结构的编码单元来执行操作。
具体地说,帧内预测器550和运动补偿器560基于每个具有树结构的编码单元的分块和预测模式来执行操作,反变换器540基于每个编码单元的变换单元的尺寸来执行操作。
图6是示出根据本发明实施例的根据深度和分块的较深层编码单元的示图。
视频编码设备100和视频解码设备200使用分层的编码单元以考虑图像的特性。根据图像的特性可自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定的最大尺寸来确定根据深度的较深层编码单元的尺寸。
根据本发明实施例,在编码单元的分层结构600中,编码单元的最大高度和最大宽度每个都是64,最大深度是3。这里,最大深度表示根据深度的编码单元从最大编码单元到最小编码单元的划分的总次数。由于深度沿着分层结构600的垂直轴加深,因此较深层编码单元的高度和宽度中的每一个都被划分。此外,沿分层结构600的水平轴示出了作为用于每个较深层编码单元的预测编码的基础的预测单元和分块。
换而言之,编码单元610是分层结构600中的最大编码单元,其中,深度是0,尺寸(即高度×宽度)是64×64。深度沿着垂直轴加深,并存在尺寸为32×32和深度为1的编码单元620、尺寸为16×16和深度为2的编码单元630和尺寸为8×8和深度为3的编码单元640。尺寸为8×8和深度为3的编码单元640是最小编码单元。
编码单元的预测单元和分块根据每个深度沿着水平轴布置。换而言之,如果尺寸为64×64和深度为0的编码单元610是预测单元,则所述预测单元可被划分为包括在编码单元610中的多个分块,即:尺寸为64×64的分块610、尺寸为64×32的分块612、尺寸为32×64的分块614或尺寸为32×32的分块616。
类似地,尺寸为32×32深度为1的编码单元620的预测单元可以被划分为包括在编码单元620中的多个分块,即:尺寸为32×32的分块620、尺寸为32×16的分块622、尺寸为16×32的分块624和尺寸为16×16的分块626。
类似地,尺寸为16×16深度为2的编码单元630的预测单元可以被划分为包括在编码单元630中的多个分块,即:包括在编码单元630中的尺寸为16×16的分块、尺寸为16×8的分块632、尺寸为8×16的分块634和尺寸为8×8的分块636。
最后,尺寸为8×8深度为3的编码单元640的预测单元可以被划分为包括在编码单元640中的多个分块,即:包括在编码单元640中的尺寸为8×8的分块、尺寸为8×4的分块642、尺寸为4×8的分块644和尺寸为4×4的分块646。
为了确定组成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120对包括在最大编码单元610中的与各个深度相应的编码单元执行编码。
随着深度加深,以相同范围和相同尺寸包括数据的根据深度的较深层编码单元的数量增加。例如,需要4个与深度2相应的编码单元以覆盖与深度1相应的一个编码单元中包括的数据。因此,为了比较根据深度的相同数据的编码结果,与深度1相应的编码单元和与深度2相应的四个编码单元各自都被编码。
为了对深度中的当前深度执行编码,可通过沿着分层结构600的水平轴对与当前深度相应的编码单元中的每个预测单元执行编码来针对当前深度选择最小编码误差。作为选择,可通过随着深度沿分层结构600的垂直轴加深对每个深度执行编码来比较根据深度的最小编码误差,从而搜索最小编码误差。编码单元610中具有最小编码误差的深度和分块可被选择为编码单元610的编码深度和分块类型。
对于编码单元的分层结构600,由于从64×64的最大尺寸到4×4的最小尺寸的根据深度的编码单元的划分总次数为4,因此最大深度可被设置为4。
另外,由于64×64、32×32、16×16、8×8和4×4的编码单元的深度分别为0、1、2、3和4,因此深度级的数量可以是5。
另外,由于从深度0到深度1、2、3和4或从深度4到深度3、2、1和0,编码单元的深度可改变4次,因此深度变化可以是4。
因此,关于编码单元的分层结构600的针对具有树结构的当前编码单元的可变深度的信息可指示作为最大深度的4、作为编码单元的最小尺寸的最低深度的4、作为深度级的数量的5和作为深度变化的4中的一个。
因此,根据本发明实施例的视频编码设备100可包括编码信息,编码信息包括指示针对具有树结构的当前编码单元的可变深度4或5的信息、指示作为编码单元的最大尺寸64×64的信息、指示作为编码单元的最小尺寸4×4的信息中的至少两条信息,可将编码信息插入比特流的头(即,SPS、PPS等),并随后可输出比特流。
视频解码设备200可从比特流的头(SPS、PPS等)提取编码信息,并可从来自编码信息中的指示针对具有树结构的当前编码单元的可变深度4或5的信息、指示作为编码单元的最大尺寸64×64的信息、指示作为编码单元的最小尺寸4×4的信息中读取至少两条信息,并因此可确定具有树结构的当前编码单元的最大尺寸和最小尺寸分别为64×64和4×4。
图7是用于描述根据本发明实施例的编码单元710和变换单元720之间的关系的示图。
视频编码设备100或200根据具有小于或等于用于每个最大编码单元的最大编码单元的尺寸的编码单元对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择编码期间用于变换的变换单元的尺寸。
例如,在视频编码设备100或200中,如果编码单元170的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
此外,可通过对尺寸小于64×64的32×32、16×16、8×8、4×4的变换单元中的每一个执行变换来对尺寸为64×64的编码单元710的数据进行编码,然后可选择具有最小编码误差的变换单元。
图8是用于描述根据本发明实施例的与编码深度相应的编码单元的编码信息的示图。
视频编码设备100的输出单元130可将与编码深度相应的每个编码单元的关于分块类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820编码为关于编码模式的信息,并将其发送。
信息800表示关于通过划分当前编码单元的预测单元而获得的分块的形状的信息,其中,所述分块是用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2N×2N的当前编码单元CU_0可被划分为尺寸为2N×2N的分块802、尺寸为2N×N的分块804、尺寸为N×2N的分块806和尺寸为N×N的分块808中的任意一个。这里,关于分块类型的信息800被设置为表示尺寸为2N×N的分块804、尺寸为N×2N的分块806和尺寸为N×N的分块808中的一个。
信息810表示每个分块的预测模式。例如,信息810可表示对由信息800表示的分块执行预测编码的模式,即:帧内模式812、帧间模式814或跳过模式816。
信息820表示当对当前编码单元执行变换时作为基础的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。
视频解码设备200的图像数据和编码信息提取器220可根据每个较深层编码单元提取和使用用于解码的信息800、810和820。
图9是根据本发明实施例的根据深度的较深层编码单元的示图。
划分信息可被用于表示深度的改变。划分信息表示当前深度的编码单元是否被划分为较低深度的编码单元。
用于对深度为0尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括尺寸为2N_0×2N_0的分块类型912、尺寸为2N_0×N_0的分块类型914、尺寸为N_0×2N_0的分块类型916和尺寸为N_0×N_0的分块类型918的分块。图9只示出了通过对称地划分预测单元910获得的分块类型912至分块类型918,但是分块类型不限于此,预测单元910的分块可包括非对称分块、具有预定形状的分块和具有几何形状的分块。
根据每个分块类型,可对尺寸为2N_0×2N_0的一个分块、尺寸为2N_0×N_0的两个分块、尺寸为N_0×2N_0的两个分块、尺寸为N_0×N_0的四个分块重复地执行预测编码。可对尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分块执行帧内模式下和帧间模式下的预测编码。仅对尺寸为2N_0×2N_0的分块执行跳过模式下的预测编码。
对包括分块类型912至分块类型918中的预测编码的编码误差进行比较,在分块类型中确定最小编码误差。如果在分块类型912至分块类型916之一中,编码误差最小,则预测单元910可不被划分为更低深度。
如果在分块类型918中编码误差最小,则在操作920,深度从0改变为1以划分分块类型918,并对深度为2尺寸为N_0×N_0的编码单元930重复执行编码以搜索最小编码误差。
用于对深度为1尺寸为2N_1×2N_1(=N_0×N_0)的编码单元930进行预测编码的预测单元940可包括尺寸为2N_1×2N_1的分块类型942、尺寸为2N_1×N_1的分块类型944、尺寸为N_1×2N_1的分块类型946和尺寸为N_1×N_1的分块类型948的分块。
如果在分块类型948中编码误差最小,则在操作950,深度从1改变为2以划分分块类型948,并对深度为2尺寸为N_2×N_2的编码单元960重复执行编码以搜索最小编码误差。
当最大深度为d-1时,根据每个深度的编码单元可被划分直到深度变为d-1,并且划分信息可被编码直到深度为0至d-2中的一个。换而言之,当在操作970将与深度d-2相应的编码单元划分之后,执行编码直到深度为d-1时,用于对深度为d-1尺寸为2N_(d-1)×2N_(d-1)的编码单元980进行预测编码的预测单元990可包括尺寸为2N_(d-1)×2N_(d-1)的分块类型992、尺寸为2N_(d-1)×N_(d-1)的分块类型994、尺寸为N_(d-1)×2N_(d-1)的分块类型996以及尺寸为N_(d-1)×N_(d-1)的分块类型998的分块。
可对分块类型992至分块类型998中的尺寸为2N_(d-1)×2N_(d-1)的一个分块、尺寸为2N_(d-1)×N_(d-1)的两个分块、尺寸为N_(d-1)×2N_(d-1)的两个分块、尺寸为N_(d-1)×N_(d-1)的四个分块重复执行预测编码,以搜索具有最小编码误差的分块类型。
即使当分块类型998具有最小编码误差时,由于最大深度为d-1,所以深度为d-1的编码单元CU_(d-1)不再被划分为较低深度,构成当前最大编码单元900的编码单元的编码深度被确定为d-1,并且当前最大编码单元900的分块类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d,并且最低深度为d-1的最小编码单元980不再被划分为较低深度,所以不设置最小编码单元980的划分信息。
数据单元999可以是用于当前最大编码单元的“最小单元”。根据本发明实施例的最小单元可以是通过将最小编码单元980划分为4部分而获得的矩形数据单元。通过重复地执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,并且可将相应的分块类型和预测模式设置为编码深度的编码模式。
这样,在深度1至深度d的所有深度中比较根据深度的最小编码误差,并且具有最小编码误差的深度可被确定为编码深度。预测单元的分块类型、编码深度和预测模式可作为关于编码模式的信息被编码和发送。此外,由于从深度0至编码深度来划分编码单元,所以只有编码深度的划分信息被设置为0,并且除了编码深度之外的深度的划分信息被设置为1。
视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度以及预测单元的信息,以对分块912解码。视频解码设备200可通过使用根据深度的划分信息将划分信息为0的深度确定为编码深度,并且可使用用于对与编码深度相应的编码单元进行解码的关于编码深度的编码模式的信息。
图10至图12是描述根据本发明实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
编码单元1010是最大编码单元中的与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是每个编码单元1010的预测单元的分块,变换单元1070是每个编码单元1010的变换单元。
当编码单元1010中的最大编码单元的深度为0时,编码单元1012和1054的深度为1,编码单元1014、1016、1018、1028、1050和1052的深度为2,编码单元1020、1022、1024、1026、1030、1032和1048的深度为3,编码单元1040、1042、1044和1046的深度为4。
在预测单元1060中,通过在编码单元1010中划分编码单元来获得一些编码单元1014、1016、1022、1032、1048、1050、1052和1054。换而言之,编码单元1014、1022、1050和1054中的分块类型的尺寸为2N×N,编码单元1016、1048和1052的分块类型的尺寸为N×2N,编码单元1032的分块类型的尺寸为N×N。编码单元1010的预测单元和分块小于或等于每个编码单元。
以小于编码单元1052的数据单元对变换单元1070中的编码单元1052的图像数据执行变换或反变换。另外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052与预测单元1060中的那些编码单元在尺寸和形状上不同。换而言之,视频编码设备100和视频解码设备200可对相同的编码单元中的数据单元执行帧内预测、运动估计、运动补偿、变换和反变换。
因此,对最大编码单元的每个区域中具有分层结构的每个编码单元递归地执行编码以确定最佳编码单元,因此可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分块类型的信息、关于预测模式的信息以及关于变换单元的尺寸的信息。表1示出了可由视频编码设备100和视频解码设备200设置的编码信息。
[表1]
视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收的比特流提取关于具有树结构的编码单元的编码信息。
划分信息指示当前编码单元是否被划分为较低深度的编码单元。如果当前深度d的划分信息为0,则当前编码单元不再被划分为较低深度的深度是编码深度,因此可针对编码深度定义关于变换单元的尺寸、分块类型、预测模式的信息。如果根据划分信息将当前编码单元进一步划分,则对较低深度的四个划分的编码单元独立地执行编码。
预测模式可以是帧内模式、帧间模式和跳过模式中的一种。可在所有分块类型中定义帧内模式和帧间模式,仅在尺寸为2N×2N的分块类型中定义跳过模式。
关于分块类型的信息可表示通过对称划分预测单元的高度或宽度获得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分块类型以及通过非对称划分预测单元的高度或宽度获得的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的非对称分块类型。可通过以1:3和3:1划分预测单元的高度来分别获得尺寸为2N×nU和2N×nD的非对称分块类型,可通过以1:3和3:1划分预测单元的宽度来分别获得尺寸为nL×2N和nR×2N的非对称分块类型。
变换单元的尺寸可被设置为帧内模式中的两种类型以及帧间模式中的两种类型。换而言之,如果变换单元的划分信息为0,则变换单元的尺寸可以是2N×2N(2N×2N是当前编码单元的尺寸)。如果变换单元的划分信息为1,则可通过划分当前编码单元来获得变换单元。另外,如果尺寸为2N×2N的当前编码单元的分块类型是对称分块类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分块类型是非对称分块类型,则变换单元的尺寸可以是N/2×N/2。
关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元以及最小单元中的至少一个。与编码深度相应的编码单元可包括包含相同编码信息的最小单元和预测单元中的至少一个。
因此,通过比较相邻数据单元的编码信息来确定相邻数据单元是否包括在与编码深度相应的相同编码单元中。另外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,因此可确定最大编码单元中的编码深度的分布。
因此,如果基于相邻数据单元的编码信息来预测当前编码单元,则可直接参照和使用与当前编码单元相邻的较深层编码单元中的数据单元的编码信息。
或者,如果基于相邻数据单元的编码信息来预测当前编码单元,则使用所述数据单元的编码信息来搜索与当前编码单元相邻的数据单元,并且可参照搜索到的相邻的编码单元来预测当前编码单元。
图13是描述根据表1的编码模式信息的编码单元、预测单元或分块、变换单元之间的关系的示图。
最大编码单元1300包括多种编码深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是编码深度的编码单元,所以划分信息可被设置为0。关于尺寸为2N×2N的编码单元1318的分块类型的信息可被设置为尺寸为2N×2N的分块类型1322、尺寸为2N×N的分块类型1324、尺寸为N×2N的分块类型1326、尺寸为N×N的分块类型1328、尺寸为2N×nU的分块类型1332、尺寸为2N×nD的分块类型1334、尺寸为nL×2N的分块类型1336以及尺寸为nR×2N的分块类型1338中的一个。
变换单元的划分信息(TU尺寸标志)是变换索引的类型,对应于变换索引的变换单元的尺寸可根据编码单元的预测单元类型或分块类型而改变。
例如,当分块类型被设置为对称(即,分块类型1322、1324、1326或1328)时,如果变换单元的划分信息为0,则设置尺寸为2N×2N的变换单元1342;如果TU尺寸标志为1,则设置尺寸为N×N的变换单元1344。
当分块类型被设置为非对称(即,分块类型1332、1334、1336或1338)时,如果TU尺寸标志为0,则设置尺寸为2N×2N的变换单元1352;如果TU尺寸标志为1,则设置尺寸为N/2×N/2的变换单元1354。
参照图13,TU尺寸标志是具有值0或1的标志,但是TU尺寸标志并不限于1比特,在TU尺寸标志从0增加时,变换单元可被分层地划分为具有树结构。变换单元的划分信息可用作变换索引的示例。
在这种情况下,如果变换单元的划分信息与变换单元的最大尺寸和变换单元的最小尺寸一起使用,则可表示实际使用的变换单元的尺寸。视频编码设备100可对变换单元的最大尺寸信息、变换单元的最小尺寸信息以及变换单元的最大划分信息进行编码。编码的变换单元的最大尺寸信息、编码的变化单元的最小尺寸信息以及编码的变换单元的最大划分信息可插入SPS。视频解码设备200可通过使用变换单元的最大尺寸信息、变换单元的最小尺寸信息以及变换单元的最大划分信息对视频进行解码。
在一示例中,(a)如果当前编码单元的尺寸为64×64,并且变换单元的最大尺寸为32×32,则(a-1)当变换单元的划分信息是0时,变换单元的尺寸可被设置为32×32,(a-2)当变换单元的划分信息是1时,变换单元的尺寸可被设置为16×16,(a-3)当变换单元的划分信息是2时,变换单元的尺寸可被设置为8×8。
在另一示例中,(b)如果当前编码单元的尺寸是32×32,并且变换单元的最小尺寸为32×32,则(b-1)当变换单元的划分信息为0时,变换单元的尺寸可被设置为32×32,并且由于变换单元的尺寸不能小于32×32的尺寸,因此变换单元的划分信息不能被进一步设置。
在另一示例中,(c)如果当前编码单元的尺寸为64×64,变换单元的最大划分信息是1,则变换单元的划分信息可被设置为0或1,并且不能设置变换单元的另一划分信息。
因此,如果定义最大TU尺寸标志为“MaxTransformSizeIndex”,则最小变换单元尺寸为“MinTransformSize”,并且当TU尺寸标志是0时,变换单元尺寸为“RootTuSize”,则可通过等式(1)来定义可在当前编码单元中确定的当前最小编码单元尺寸“CurrMinTuSize”。
CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))……(1)
与可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”相比,当TU尺寸标志是0时的变换单元尺寸“RootTuSize”可表示可在系统中选择的最大变换单元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”表示当在TU尺寸标志是0时的变换单元尺寸“RootTuSize”被划分与最大TU尺寸标志相应的次数时的变换单元尺寸,“MinTransformSize”表示最小变换尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中的较小值可以是可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”。
根据本发明实施例,最大变换单元尺寸RootTuSize可根据预测模式的类型而改变。
例如,如果当前预测模式是帧间模式,则可通过使用下面的等式(2)来确定RootTuSize。在等式(2)中,“MaxTransformSize”表示最大变换单元尺寸,“PUSize”表示当前预测单元尺寸。
RootTuSize=min(MaxTransformSize,PUSize)……(2)
也就是说,如果当前预测模式是帧间模式,则当TU尺寸标志是0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前预测单元尺寸中的较小值。
如果当前分块单元的预测模式是帧内模式,则可通过使用下面的等式(3)来确定“RootTuSize”。在等式(3)中,“PartitionSize”表示当前分块单元的尺寸。
RootTuSize=min(MaxTransformSize,PartitionSize)……(3)
也就是说,如果当前预测模式是帧内模式,则当TU尺寸标志是0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前分块单元的尺寸中的较小值。
然而,在分块单元中根据预测模式的类型变化的当前最大变换单元尺寸“RootTuSize”只是示例,并且本发明不限于此。
图14是示出根据本发明实施例的基于具有树结构的编码单元对视频编码的方法的流程图。
在操作1210,当前画面被划分为至少一个最大编码单元。可预先确定指示可能的总的划分次数的最大深度。
在操作1220,通过对至少一个划分区域编码来确定用于输出根据至少一个划分区域的最终编码结果的编码深度,并确定根据树结构的编码单元,其中,根据通过根据深度划分每个最大编码单元的区域获得所述至少一个划分区域。
每当深度加深时,最大编码单元被空间划分,因此被划分为较低深度的编码单元。通过独立于邻近编码单元地空间划分每个编码单元,每个编码单元可被划分为另一较低深度的编码单元。对根据深度的每个编码单元重复执行编码。
另外,针对每个较深层编码单元确定具有最小编码误差的根据分块类型的变换单元。为了在每个最大编码单元中确定具有最小编码误差的编码深度,可在所有的根据深度的较深层编码单元中测量和比较编码误差。
当确定了变换单元时,可确定用于编码单元的变换的变换单元。根据本实施例的变换单元可被确定为使得用于编码单元的变换的变换单元所引起的误差最小化的数据单元。
在操作1230,输出针对每个最大编码单元的构成根据编码深度的最终编码结果的编码图像数据以及关于编码深度和编码模式的编码信息。关于编码模式的信息可包括关于编码深度或划分信息的信息、关于预测单元的分块类型的信息、关于预测模式的信息、关于变换单元的尺寸的信息、变换索引信息等。
关于根据数据单元(诸如序列、画面、条带或GOP)定义的编码单元的尺寸和可变深度的编码单元结构信息可被插入比特流的头、SPS或PPS。关于编码单元的尺寸和可变深度的编码单元结构信息可包括关于可变深度的信息、关于编码单元的最大尺寸的信息和关于编码单元的最小尺寸的信息。可变深度不仅可包括当前编码单元的允许的最大深度,还可包括具有最小尺寸的编码单元的最低深度、深度级的数量和深度变化中的至少一个。
关于编码模式的编码信息、关于编码单元的尺寸和可变深度的编码单元结构信息以及划分信息可被插入比特流的头、SPS或PPS,并随后可与编码图像数据一起被发送到解码器。
图15是示出根据本发明实施例的基于具有树结构的编码单元对视频解码的方法的流程图。
在操作1310,接收和解析编码视频的比特流。
在操作1320,从解析的比特流提取分配给最大编码单元的当前画面的编码图像数据、关于根据最大编码单元的编码深度和编码模式的信息以及关于编码单元的尺寸和可变深度的编码单元结构信息。可从比特流的头、SPS或PPS提取关于编码深度和编码模式的信息、关于编码单元的尺寸和可变深度的编码单元结构信息以及划分信息。
每个最大编码单元的编码深度是在每个最大编码单元中具有最小编码误差的深度。在对每个最大编码单元编码时,基于通过分层划分根据深度的每个最大编码单元获得的至少一个数据单元对图像数据编码。
根据关于编码深度和编码模式的信息,最大编码单元可被划分为具有树结构的编码单元。具有树结构的每个编码单元被确定为与编码深度对应的编码单元,并且优选地被编码以输出最小编码误差。因此,可通过在确定根据编码单元的至少一个编码深度之后,以编码单元对每条编码图像数据解码来提高图像的编码和解码效率。
可从关于编码单元的尺寸和可变深度的信息提取针对画面、条带或GOP的每个确定的关于可变深度的信息、关于编码单元的最大尺寸的信息以及关于编码单元的最小尺寸的编码单元结构信息中的至少两个。根据本实施例的可变深度不仅可指示当前编码单元的允许的最大深度,还可指示具有最小尺寸的编码单元的最低深度、深度级的数量和深度变化中的至少一个。
可基于编码信息确定具有树结构的当前编码单元中的编码单元的最大尺寸和最小尺寸,所述编码信息包括关于具有树结构的当前编码单元的可变深度的信息、关于编码单元的最大尺寸的信息和关于编码单元的最小尺寸的信息中的至少两个。
另外,可基于编码信息的变换索引确定编码单元中的根据树结构的变换单元。
在操作1330,根据最大编码单元基于关于编码深度和编码模式的信息对每个最大编码单元的图像数据解码。解码的图像数据可通过再现设备被再现,可被存储在存储介质中,或者通过网络被发送。
本发明的实施例可被编写为计算机程序并可在使用计算机可读记录介质执行程序的通用数字计算机中实现。计算机可读记录介质的示例包括磁性存储介质(例如,ROM、软盘、硬盘等)和光学记录介质(例如,CD-ROM或DVD)。
虽然已经参照本发明的优选实施例具体地示出和描述了本发明,但是本领域的普通技术人员应理解,在不脱离权利要求限定的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。优选实施例应被认为只是描述性而不是限制性的目的。因此,不是通过本发明的详细描述而是权利要求来限定本发明的范围,范围内的所有差异应被理解为包括在本发明中。