用于使用分层数据单元进行熵编码的方法和设备、以及用于解码的方法和设备的制作方法

文档序号:7991818阅读:188来源:国知局
用于使用分层数据单元进行熵编码的方法和设备、以及用于解码的方法和设备的制作方法
【专利摘要】提供了视频编码方法和设备以及视频解码方法和设备。所述视频编码方法包括:基于具有分层结构的数据单元对视频进行编码;基于数据单元的至少一条附加信息确定用于对数据单元的语法元素进行熵编码的上下文模型;通过使用确定的上下文模型对语法元素进行熵编码。
【专利说明】用于使用分层数据单元进行熵编码的方法和设备、以及用
于解码的方法和设备
【技术领域】
[0001]本发明涉及对视频进行编码和解码,更具体地讲,涉及对形成视频数据的语法元素进行熵编码和熵解码。
【背景技术】
[0002]在图像压缩方法(诸如,MPEG-1、MPEG-2和MPEG-4H.264/MPEG-4先进视频编码(AVC))中,将图像划分为具有预定尺寸的多个块,随后经由帧间预测或帧内预测获得块的残差数据。经由变换、量化、扫描、行程编码和熵编码对残差数据进行压缩。在熵编码期间,通过对语法元素(诸如,离散余弦变换(DCT)系数或运动矢量)进行熵编码来输出比特流。在解码器方面,从比特流提取语法元素,并基于提取的语法元素执行解码。

【发明内容】

[0003]技术问题
[0004]本发明提供一种用于将包括语法元素的附加信息组合来选择用于对语法元素进行熵编码的上下文模型从而有效地对语法元素进行熵编码和熵解码的方法和设备。
[0005]解决方案
[0006]根据本发明的一个或更多个实施例,基于当前数据单元的可用语法元素,确定用于对当前数据单元的语法元素进行熵编码的上下文模型。
[0007]有益效果
[0008]根据本发明的一个或更多个实施例,可通过基于包括当前语法元素的关于数据单元的信息而不是使用先前恢复的周边信息选择上下文模型,来减少用于存储预恢复的周边信息所需的存储器的大小。
【专利附图】

【附图说明】
[0009]图1是根据本发明的实施例的视频编码设备的框图。
[0010]图2是根据本发明的实施例的视频解码设备的框图。
[0011]图3是用于描述根据本发明的实施例的编码单元的概念的示图。
[0012]图4是根据本发明的实施例的基于具有分层结构的编码单元的图像编码器的详细框图。
[0013]图5是根据本发明的实施例的基于具有分层结构的编码单元的图像解码器的详细框图。
[0014]图6是示出根据本发明的实施例的根据深度的较深层编码单元和分区(partition)的不图。
[0015]图7是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示图。
[0016]图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。
[0017]图9是根据本发明的实施例的根据深度的较深层编码单元的示图。
[0018]图10至图12是用于描述根据本发明的实施例的编码单元、预测单元和变换单元之间的关系的示图。
[0019]图13是用于描述根据表I的编码模式信息的编码单元、预测单元(或分区)和变换单元之间的关系的示图。
[0020]图14是根据本发明的实施例的熵编码设备的框图。
[0021]图15是图14的上下文建模器的框图。
[0022]图16是用于描述根据本发明的实施例的具有分层结构的数据单元和具有分层结构的数据单元划分信息的示图。
[0023]图17A和图17B是根据本发明的实施例的指示数据单元的分层结构的符号的参考示图。
[0024]图18A和图18B是根据本发明的实施例的用于根据附件信息的组合来确定上下文模型的上下文索引的示图。
[0025]图19是根据本发明的实施例的上下文模型的参考示图。
[0026]图20是根据本发明的实施例的最大概率符号(MPS)的概率值的曲线图。
[0027]图21是用于描述由图14的常规编码引擎执行的二进制算术编码操作的示图。
[0028]图22是示出根据本发明的实施例的熵编码方法的流程图。
[0029]图23是根据本发明的实施例的熵解码设备的框图。
[0030]图24是示出根据本发明的实施例的熵解码方法的流程图。
[0031]最佳模式
[0032]根据本发明的一方面,提供一种视频编码方法,包括:基于具有分层结构的数据单元对视频进行编码;基于当前数据单元的至少一个第二语法元素确定用于对将被熵编码的当前数据单元的第一语法元素进行熵编码的上下文模型,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同;通过使用确定的上下文模型对当前数据单元的第一语法元素进行熵编码。
[0033]根据本发明的另一方面,提供一种视频编码设备,包括:分层编码器,用于基于具有分层结构的数据单元对视频进行编码;熵编码器,用于基于当前数据单元的至少一个第二语法元素确定用于对将被熵编码的当前数据单元的第一语法元素进行熵编码的上下文模型,并通过使用确定的上下文模型对当前数据单元的第一语法元素进行熵编码,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同。
[0034]根据本发明的另一方面,提供一种视频解码方法,包括:通过对编码的比特流进行解析来提取基于具有分层结构的数据单元编码的画面的语法元素;基于当前数据单元的至少一个第二语法元素确定用于对将被熵解码的当前数据单元的第一语法元素进行熵解码的上下文模型,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同;通过使用确定的上下文模型对第一语法元素进行熵解码。
[0035]根据本发明的另一方面,提供一种视频解码设备,包括:语法元素提取器,用于通过对编码的比特流进行解析来提取基于具有分层结构的数据单元编码的画面的语法元素;熵解码器,用于基于当前数据单元的至少一个第二语法元素确定用于对将被熵解码的当前数据单元的第一语法元素进行熵解码的上下文模型,并通过使用确定的上下文模型对第一语法元素进行熵解码,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同。
【具体实施方式】
[0036]在下文中,在本发明的各种实施例中使用的“图像”不仅可表示静止图像,还可表示诸如视频的运动图像。
[0037]当对与图像相关的数据执行各种操作时,可将与图像相关的数据划分为多个数据组,并可对包括在相同的数据组中的数据执行相同的操作。在下文中,根据预定的标准形成的数据组被称为“数据单元”。此外,根据“数据单元”执行的操作通过使用包括在相应的数据单元中的数据来执行。
[0038]在下文中,将参照图1至图13描述根据本发明实施例的用于基于根据分层树结构的编码单元对具有树结构的语法元素进行编码和解码的视频编码和解码设备。此外,将参照图14至图24详细描述图1至图14的视频编码和解码方法中使用的熵编码和熵解码处理。
[0039]图1是根据本发明的实施例的视频编码设备100的框图。
[0040]视频编码设备100包括分层编码器110和熵编码器120。
[0041]分层编码器110把将被编码的当前画面划分为具有预定尺寸的数据单元,并对数据单元进行编码。详细地,分层编码器110可基于最大编码单元划分当前画面。根据本发明的实施例的最大编码单元可以是尺寸为32 X 32、64X 64、128 X 128,256 X 256等的数据单元,其中,数据单元的形状是宽度和长度均是2的倍数并大于8的正方形。
[0042]根据本发明的实施例的编码单元可由最大尺寸和深度来表征。深度表示编码单元在空间上从最大编码单元开始被划分的次数,并且随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分到最小编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此与较高深度相应的编码单元可包括与较低深度相应的多个编码单元。
[0043]如上所述,根据编码单元的最大尺寸将当前画面的图像数据划分为最大编码单元,每个最大编码单元可包括根据深度划分的较深层编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层地分类。
[0044]可预先确定编码单元的最大深度和最大尺寸,其中,所述最大深度和最大尺寸限制最大编码单元的高度和宽度被分层划分的总次数。
[0045]分层编码器110对通过根据深度划分最大编码单元的区域而获得的至少一个划分的区域进行编码,并根据所述至少一个划分的区域确定输出最终编码的图像数据的深度。换句话说,分层编码器110通过根据当前画面的最大编码单元按照根据深度的较深层编码单元对图像数据进行编码并选择具有最小编码误差的深度,来确定编码深度。因此,最终输出与确定的编码深度相应的编码单元的编码的图像数据。此外,与编码深度相应的编码单元可被看作编码的编码单元。确定的编码深度和根据确定的编码深度的编码的图像数据被输出到熵编码器120。[0046]基于与等于或低于最大深度的至少一个深度相应的较深层编码单元来对最大编码单元中的图像数据进行编码,并基于每个较深层编码单元来比较对图像数据进行编码的结果。可在比较较深层编码单元的编码误差之后选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
[0047]随着编码单元根据深度被分层划分并随着编码单元的数量增加,最大编码单元的尺寸被划分。另外,即使编码单元在一个最大编码单元中相应于相同深度,仍通过单独测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的每个编码单元划分到更低深度。因此,即使在图像数据被包括在一个最大编码单元中时,图像数据仍根据深度被划分成区域,并且在所述一个最大编码单元中编码误差也会根据区域而不同,因此编码深度可根据图像数据中的区域而不同。因此,可在一个最大编码单元中确定一个或更多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
[0048]因此,分层编码器110可确定包括在最大编码单元中的具有树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括最大编码单元中所包括的所有较深层编码单元中的与被确定为编码深度的深度相应的编码单元。可在最大编码单元的相同区域中根据深度分层地确定编码深度的编码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,当前区域中的编码深度可与另一区域中的编码深度相独立地被确定。
[0049]根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元的划分次数相关的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级别的总数。例如,当最大编码单元的深度是O时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度O、深度1、深度2、深度3、深度4这5个深度级别,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。
[0050]可根据最大编码单元执行预测编码和变换。还根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。
[0051]由于每当最大编码单元根据深度被划分时较深层编码单元的数量就增加,因此对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将在最大编码单元中基于当前深度的编码单元来描述预测编码和变换。
[0052]视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,相同的数据单元可用于所有操作,或者不同的数据单元可用于每个操作。
[0053]例如,视频编码设备100可不仅选择用于对图像数据进行编码的编码单元,还可选择与该编码单元不同的数据单元以对编码单元中的图像数据执行预测编码。
[0054]为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与更低深度相应的编码单元的编码单元)执行预测编码。在下文中,不再被划分并且成为用于预测编码的基本单元的编码单元现在将被称为“预测单元”。通过划分预测单元而获得的分区可包括预测单元或通过划分预测单元的高度和宽度中的至少一个而获得的数据单元。
[0055]例如,当2NX2N(其中,N是正整数)的编码单元不再被划分并且成为2NX2N的预测单元时,分区的尺寸可以是2NX2N、2NXN、NX2N或NXN。分区类型的示例包括通过对称地划分预测单元的高度或宽度而获得的对称分区、通过非对称地划分预测单元的高度或宽度(诸如,l:n或n:l)而获得的分区、通过几何地划分预测单元而获得的分区以及具有任意形状的分区。
[0056]预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2N X 2N、2N X N、N X 2N或N X N的分区执行帧内模式或帧间模式。另外,可仅对2N X 2N的分区执行跳过模式。可独立地对编码单元中的一个预测单元执行编码,从而选择具有最小编码误差的预测模式。
[0057]视频编码设备100还可不仅基于用于对图像数据进行编码的编码单元对编码单元中的图像数据执行变换,还可基于与编码单元不同的数据单元对编码单元中的图像数据执行变换。
[0058]为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元以及用于帧间模式的数据单元。
[0059]用作变换的基础的数据单元现将被称为“变换单元”。也可在变换单元中设置变换深度,变换深度指示通过划分编码单元的高度和宽度来达到变换单元的划分次数。例如,在2NX2N的当前编码单元中,当变换单元的尺寸也是2NX 2N时,变换深度可以是0,当当前编码单元的高度和宽度中的每个被划分为两个相同的部分时,变换深度可以是1,总共被划分为4~1个变换单元,因此变换单元的尺寸是NXN,当当前编码单元的高度和宽度中的每个被划分为四个相同的部分时,变换深度可以是2,总共被划分为4~2个变换单元,因此变换单元的尺寸是N/2 XN/2。例如,可根据分层树结构设置变换单元,其中,根据变换深度的分层特性将较高变换深度的变换单元划分为四个较低变换深度的变换单元。
[0060]与编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的区域,从而变换单元可以以区域为单位被独立确定。因此,可根据变换深度根据具有树结构的变换来划分编码单元中的残差数据。
[0061]根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要与预测编码和变换相关的信息。因此,分层编码器110不仅确定具有最小编码误差的编码深度,还可确定预测单元中的分区类型、根据预测单元的预测模式以及用于变换的变换单元的尺寸。
[0062]稍后将参照图3至图12来对根据本发明的实施例的最大编码单元中的根据树结构的编码单元和确定分区的方法进行详细描述。
[0063]分层编码器110可通过使用基于拉格朗日乘子(Lagrangian multiplier)的率失真优化,测量根据深度的较深层编码单元的编码误差。
[0064]熵编码器120在比特流中输出最大编码单元的图像数据以及关于根据编码深度的编码模式的信息,其中,最大编码单元的图像数据基于由分层编码器110确定的至少一个编码深度被编码。可通过对图像的残差数据进行编码来获得编码的图像数据。关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式和变换单元的尺寸。详细地,如下所述,熵编码器120在对最大编码单元的图像数据和关于根据深度的编码模式的语法元素进行编码时,基于当前数据单元的附加信息(诸如,关于数据单元的分层结构的信息和关于视频编码方法中使用的颜色分量的信息)选择上下文模型,并执行熵编码。这里,熵编码器120可通过考虑当前编码单元的附加信息以及邻近编码单元的附加信息来确定用于对当前编码单元的语法元素进行熵编码的上下文模型。稍后将详细描述确定用于对语法元素进行熵编码的上下文模型的处理。
[0065]可通过使用根据深度的划分信息来定义关于编码深度的信息,其中,所述根据深度的划分信息指示是否对更低深度而非当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码和输出,因此划分信息可被定义为不将当前编码单元划分至更低深度。可选择地,如果当前编码单元的当前深度不是编码深度,则对更低深度的编码单元执行编码,因此,划分信息可被定义为对当前编码单元进行划分以获得更低深度的编码单元。
[0066]如果当前深度不是编码深度,则对被划分为更低深度的编码单元的编码单元执行编码。由于在当前深度的一个编码单元中存在至少一个更低深度的编码单元,因此对更低深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。
[0067]由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此可针对一个最大编码单元确定关于至少一个编码模式的信息。另外,由于根据深度分层地划分图像数据,因此最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模式的信息。
[0068]因此,熵编码器120可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。
[0069]根据本发明的实施例的最小单元可以是通过将构成最低深度的最小编码单元划分为4份而获得的矩形数据单元,并可以是可被包括在最大编码单元中包括的所有编码单元、预测单元、分区单元和变换单元中的最大矩形数据单元。
[0070]例如,通过熵编码器120输出的编码信息可被分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息以及关于分区的尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息以及关于帧内模式的插值方法的信息。此外,关于根据画面、条带或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入到比特流的头中。
[0071]在视频编码设备100中,较深层编码单元可以是通过将作为上一层的更高深度的编码单元的高度或宽度划分为2份而获得的编码单元。换句话说,在当前深度的编码单元的尺寸是2NX 2N时,更低深度的编码单元的尺寸是NXN。另外,尺寸为2NX 2N的当前深度的编码单元可包括最多4个更低深度的编码单元。
[0072]因此,基于考虑当前画面的特性而确定的最大编码单元的尺寸和最大深度,视频编码设备100可通过针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。另外,由于可通过使用各种预测模式和变换中的任意一种来对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
[0073]因此,如果按照传统的宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块的数量急剧增加。因此,针对每个宏块产生的压缩信息的条数增加,因而难以发送压缩信息并且数据压缩效率下降。然而,通过使用视频编码设备100,因为在考虑图像的特征的同时调整了编码单元,同时,在考虑图像的尺寸的同时增大了编码单元的最大尺寸,所以图像压缩效率可增加。
[0074]图2是根据本发明的实施例的视频解码设备200的框图。
[0075]视频解码设备200包括语法元素提取器210、熵解码器220和分层解码器230。用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元以及关于各种编码模式的信息)的定义与参照图1和视频编码设备100所描述的那些术语的定义相同。
[0076]语法元素提取器210接收编码的视频的比特流并对其进行解析。熵解码器220从解析的比特流提取每个编码单元的编码的图像数据,并将提取的图像数据输出到分层解码器230,其中,编码单元具有根据每个最大编码单元的树结构。
[0077]另外,熵解码器220从解析的比特流提取关于根据每个最大编码单元的具有树结构的编码单元的编码深度、编码模式、颜色分量和预测模式的附加信息。提取的附加信息被输出到分层解码器230。换句话说,比特流中的图像数据被划分为最大编码单元并随后被编码,从而分层解码器230针对每个最大编码单元对图像数据进行解码。
[0078]可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据最大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息以及变换单元的尺寸的信息。另外,根据深度的划分信息可被提取作为关于编码深度的信息。
[0079]由熵解码器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于这样的编码深度和编码模式的信息,即:所述编码深度和编码模式被确定为当编码器(诸如视频编码设备100)根据每个最大编码单元针对根据深度的每个较深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。
[0080]由于关于编码深度和编码模式的编码信息可被分配给相应的编码单元、预测单元和最小单元中的预定数据单元,因此熵解码器220可提取关于根据预定数据单元的编码深度和编码模式的信息。被分配有相同的关于编码深度和编码模式的信息的预定数据单元可被推断为包括在同一最大编码单元中的数据单元。
[0081]详细地,如下所述,熵解码器220在对语法元素进行解码时,基于各种类型的信息(诸如,关于上述的数据单元的分层结构的信息和关于颜色分量的信息)选择上下文模型并执行熵解码。
[0082]分层解码器230可通过基于关于根据最大编码单元的编码深度和编码模式的信息,对每个最大编码单元中的图像数据进行解码来恢复当前画面。换句话说,图像数据解码器230可针对包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元,基于提取的关于分区类型、预测模式和变换单元的信息对编码的图像数据进行解码。解码处理可包括预测和逆变换,其中,所述预测包括帧内预测和运动补偿。可根据反正交变换或反整数变换执行逆变换。
[0083]基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,分层解码器230可根据每个编码单元的分区和预测模式执行帧内预测或运动补偿。
[0084]此外,分层解码器230可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元执行逆变换,以便执行根据最大编码单元的逆变换。
[0085]分层解码器230可通过使用根据深度的划分信息确定当前最大编码单元的至少一个编码深度。如果划分信息指示在当前深度中图像数据不再被划分,则当前深度是编码深度。因此,分层解码器230可通过针对与编码深度相应的每个编码单元使用关于预测单元的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息,来对当前最大编码单元中的与每个编码深度相应的至少一个编码单元的编码数据进行解码,并输出当前最大编码单元的图像数据。
[0086]也就是说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集,收集包含编码信息(所述编码信息包括相同的划分信息)的数据单元,收集的数据单元可被认为是将由分层解码器230以相同编码模式进行解码的一个数据单元。
[0087]视频解码设备200可获得与在对每个最大编码单元递归地执行编码时产生最小编码误差的至少一个编码单元有关的信息,并且视频解码设备200可使用所述信息来对当前画面进行解码。换句话说,可以对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,考虑图像数据量和分辨率来确定编码单元的最大尺寸。
[0088]因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式有效地对所述图像数据进行解码和恢复,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特性来自适应地确定编码单元的尺寸和编码模式。
[0089]现将参照图3至图13描述根据本发明的实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。
[0090]图3是用于描述根据本发明的实施例的编码单元的概念的示图。
[0091]编码单元的尺寸可按照宽度X高度来表示,并可以是64X64、32X32、16X16和8X8。64X64的编码单元可被划分为64 X 64、64 X 32、32 X 64或32 X 32的分区,32 X 32的编码单元可被划分为32X32、32X16、16X32或16X16的分区,16X16的编码单元可被划分为16X16、16X8、8X16或8X8的分区,8X8的编码单元可被划分为8X8、8X4、4X8或4X4的分区。
[0092]在视频数据310中,分辨率是1920 X 1080,编码单元的最大尺寸是64,并且最大深度是2。在视频数据320中,分辨率是1920 X 1080,编码单元的最大尺寸是64,并且最大深度是3。在视频数据330,分辨率是352X288,编码单元的最大尺寸是16,并且最大深度是
I。图3中示出的最大深度表示从最大编码单元到最小解码单元的划分总数。
[0093]如果分辨率高或者数据量大,则编码单元的最大尺寸可以较大以便提高编码效率并准确地反映图像的特性。因此,分辨率比视频数据330更高的视频数据310和视频数据320的编码单元的最大尺寸可以是64。
[0094]由于视频数据310的最大深度是2,因此由于通过划分最大编码单元两次深度被加深到两层,视频数据310的编码单元315可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32和16的编码单元。同时,由于视频数据330的最大深度是1,因此由于通过划分最大编码单元一次深度被加深到一层,视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元以及长轴尺寸为8的编码单元。
[0095]由于视频数据320的最大深度是3,因此由于通过划分最大编码单元三次深度被加深到3层,视频数据320的编码单元325可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32、16和8的编码单元。随着深度加深,可精确地表示详细的信息。
[0096]图4是根据本发明的实施例的基于具有分层结构的编码单元的图像编码器400的详细框图。
[0097]帧内预测器410从当前帧405中,在帧内模式下对编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495从当前帧405中,在帧间模式下对编码单元执行帧间估计和运动补偿。
[0098]从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反量化器460和逆变换器470被恢复为空间域中的数据,并且恢复的空间域中的数据在通过去块单元480和环路滤波单兀490被后处理之后被输出为参考巾贞495。量化的变换系数可通过熵编码器450被输出为比特流455。
[0099]熵编码器450在对最大编码单元的图像数据和关于根据深度的编码模式的语法元素进行编码时,基于各种类型的信息选择(诸如,关于数据单元的分层结构的信息和关于颜色分量的信息)选择上下文模型并执行熵解码。
[0100]为了使图像编码器400被应用到视频编码设备100中,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的多个编码单元中的每个编码单元执行操作。
[0101]具体地讲,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时,确定具有树结构的多个编码单元中的每个编码单元的分区和预测模式,并且变换器430确定具有树结构的多个编码单元中的每个编码单元中的变换单元的尺寸。此外,熵编码器450根据语法元素的类型,基于各种类型的信息(诸如,关于数据单元的分层结构的信息和关于颜色分量的信息)选择用于对语法元素进行熵编码的上下文模型并执行熵编码。
[0102]图5是根据本发明的实施例的基于具有分层结构的编码单元的图像解码器500的详细框图。
[0103]解析器510从比特流505解析将被解码的编码图像数据以及解码所需的关于编码的信息。编码的图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过逆变换器540被恢复为空间域中的图像数据。
[0104]帧内预测器550针对空间域中的图像数据在帧内模式下对编码单元执行帧内预测,运动补偿器560通过使用参考帧585在帧间模式下对编码单元执行运动补偿。
[0105]在经过帧内预测器550和运动补偿器560时恢复的空间域中的图像数据可通过去块单元570和环路滤波单元580被后处理,并可被输出为恢复的帧595。另外,经过去块单元570和环路滤波单元580被后处理的数据可被输出为参考帧585。[0106]为了使图像解码器500被应用到视频解码设备200中,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)可基于每个最大编码单元的具有树结构的编码单元执行解码操作。
[0107]具体地讲,帧内预测器550和运动补偿器560可针对具有树结构的编码单元中的每个编码单元确定分区和预测模式,并且逆变换器540可针对每个编码单元确定变换单元的尺寸。此外,熵解码器520根据语法元素的类型,基于各种类型的信息(诸如,关于数据单元的分层结构的信息和关于颜色分量的信息)选择用于对将被解码的编码的图像数据以及指示用于解码所需的编码信息的语法元素进行熵解码的上下文模型,并执行熵解码。
[0108]图6是示出根据本发明的实施例的根据深度的较深层编码单元和分区的示图。
[0109]视频编码设备100和视频解码设备200使用分层的编码单元以考虑图像的特性。编码单元的最大高度、最大宽度和最大深度可根据图像的特性被自适应地确定,或者可由用户不同地设置。根据深度的较深层编码单元的尺寸可根据编码单元的预定最大尺寸被确定。
[0110]根据本发明的实施例,在编码单元的分层结构600中,编码单元的最大高度和最大宽度都是64,并且最大深度是4。由于深度沿着分层结构600的纵轴加深,因此较深层编码单元的高度和宽度都被划分。另外,作为用于每个较深层编码单元的预测编码的基础的预测单元和分区沿分层结构600的横轴被示出。
[0111]换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度是0,尺寸(即,高度乘宽度)是64X64。深度沿纵轴加深,并且存在尺寸为32X32且深度为I的编码单元620、尺寸为16X16且深度为2的编码单元630、尺寸为8X8且深度为3的编码单元640以及尺寸为4X4且深度为4的编码单元650。尺寸为4X4且深度为4的编码单元650是最小编码单元。
[0112]编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64X64且深度为O的编码单元610是预测单元,则该预测单元可被划分为包括在编码单元610中的分区(即,尺寸为64X64的分区610、尺寸为64X32的分区612、尺寸为32X64的分区614、或者尺寸为32X32的分区616)。
[0113]类似地,尺寸为32X32且深度为I的编码单元620的预测单元可被划分为包括在编码单元620中的分区(即,尺寸为32X32的分区620、尺寸为32X16的分区622、尺寸为16X32的分区624以及尺寸为16X16的分区626)。
[0114]类似地,尺寸为16 X 16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区(即,包括在编码单元630中的尺寸为16X16的分区、尺寸为16X8的分区632、尺寸为8X 16的分区634以及尺寸为8X8的分区636)。
[0115]类似地,尺寸为8X8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区(即,包括在编码单元640中的尺寸为8X8的分区、尺寸为8X4的分区642、尺寸为4X8的分区644以及尺寸为4X4的分区646)。
[0116]尺寸为4X4且深度为4的编码单元650是最小编码单元以及最低深度的编码单元。编码单元650的预测单元仅被分配给尺寸为4X4的分区。
[0117]为了确定构成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
[0118]随着深度加深,包括相同范围和相同尺寸的数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元以覆盖包括在一个与深度I相应的编码单元中的数据。因此,为了根据深度对相同数据的多个编码结果进行比较,与深度I相应的编码单元以及与深度2相应的四个编码单元都被编码。
[0119]为了针对多个深度中的当前深度执行编码,通过沿分层结构600的横轴,对与当前深度相应的多个编码单元中的每个预测单元执行编码来针对当前深度选择最小编码误差。可选择地,随着深度沿分层结构600的纵轴加深,可通过针对每个深度执行编码,通过根据深度比较最小编码误差,从而搜索最小编码误差。在编码单元610中的具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
[0120]图7是用于描述根据本发明的实施例的编码单元710和变换单元720之间的关系的示图。
[0121]视频编码设备100或视频解码设备200针对每个最大编码单元根据尺寸小于或等于最大编码单元的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择在编码期间用于变换的变换单元的尺寸。
[0122]例如,在视频编码设备100或200中,如果编码单元710的尺寸是64X64,则可通过使用尺寸为32X32的变换单元720来执行变换。
[0123]另外,可通过对小于64X64的尺寸为32X32、16X 16、8X8和4X4的每个变换单元执行变换,来对尺寸为64X64的编码单元710的数据进行编码,并且随后可选择具有最小编码误差的变换单元。
[0124]图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。
[0125]视频编码设备100的输出单元130可对关于分区类型的信息800、关于预测模式的信息810以及关于与编码深度相应的每个编码单元的变换单元的尺寸的信息820进行编码和发送,作为关于编码模式的信息。
[0126]信息800指示关于通过划分当前编码单元的预测单元而获得的分区的形状的信息,其中,所述分区是用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2NX2N的当前编码单元CU_0可被划分为如下分区中的任何一个:尺寸为2NX2N的分区802、尺寸为2NXN的分区804、尺寸为NX2N的分区806以及尺寸为NXN的分区808。这里,关于分区类型的信息800被设置为指示尺寸为2NXN的分区804、尺寸为NX 2N的分区806以及尺寸为NXN的分区808中的一个。
[0127]信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式(即,帧内模式812、帧间模式814或跳过模式816)。
[0128]信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧内变换单元828。
[0129]视频解码设备200的图像数据和编码信息提取器210可根据每个较深层编码单元来提取并使用用于解码的信息800、信息810和信息820。[0130]图9是根据本发明的实施例的根据深度的较深层编码单元的示图。
[0131]划分信息可用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为更低深度的编码单元。
[0132]用于对深度为O且尺寸为2N_0X2N_0的编码单元900进行预测编码的预测单元910可包括如下分区类型的分区:尺寸为2N_0X2N_0的分区类型912、尺寸为2N_0XN_0的分区类型914、尺寸为N_0 X 2N_0的分区类型916以及尺寸为Ν_0 ΧΝ_0的分区类型918。图9仅示出通过对预测单元910进行对称划分而获得的分区类型912至918,但是分区类型不限于此,并且预测单元910的分区可包括非对称分区、具有预定形状的分区以及具有几何形状的分区。
[0133]根据每个分区类型对如下分区重复地执行预测编码:尺寸为2N_0X2N_0的一个分区、尺寸为2N_0XN_0的两个分区、尺寸为N_0X2N_0的两个分区以及尺寸为Ν_0ΧΝ_0的四个分区。可对尺寸为2N_0X2N_0、N_0X2N_0、2N_0XN_0以及Ν_0ΧΝ_0的分区执行帧内模式和帧间模式下的预测编码。仅对尺寸为2N_0X2N_0的分区执行跳过模式下的预测编码。
[0134]对分区类型912至分区类型918中的包括预测编码的编码的误差进行比较,并从分区类型中确定最小编码误差。如果在分区类型912至分区类型916之一中的编码误差最小,则预测单元910可不被划分为更低深度。
[0135]如果在分区类型918中编码误差最小,则在操作920,深度从O改变为I以划分分区类型918,并且对深度为2且尺寸为Ν_0ΧΝ_0的编码单元930重复地执行编码以搜索最
小编码误差。
[0136]用于对深度为I且尺寸为2N_1 X 2N_1 (=N_0 X N_0)的编码单元930进行预测编码的预测单元940可包括如下分区类型的分区:尺寸为2N_1X2N_1的分区类型942、尺寸为2N_1XN_1的分区类型944、尺寸为N_1X2N_1的分区类型946以及尺寸为N_1XN_1的分区类型948。
[0137]如果在分区类型948中编码误差最小,则在操作950,深度从I改变为2以划分分区类型948,并且对深度为2且尺寸为N_2XN_2的编码单元960重复地执行编码以搜索最
小编码误差。
[0138]当最大深度是d时,根据每个深度的划分操作可被执行直到深度变为d-Ι,并且划分信息可被编码直到深度是O至d-2之一。换句话说,当执行编码直到在操作970与深度d-2相应的编码单元被划分之后深度是d-Ι时,用于对深度为d-Ι且尺寸为2N_(d-l) X2N_(d-1)的编码单元980进行预测编码的预测单元990可包括如下分区类型的分区:尺寸为2N_(d-l) X2N_(d-l)的分区类型992、尺寸为2N_(d-l) XN_(d-l)的分区类型994、尺寸为N_(d-1) X2N_(d-l)的分区类型996以及尺寸为N_(d_l) XN_(d_l)的分区类型998。
[0139]可对分区类型992至998中的如下分区重复地执行预测编码以搜索具有最小编码误差的分区类型:尺寸为2N_(d-l) X2N_(d-l)的一个分区、尺寸为2N_(d-l) XN_(d_l)的两个分区、尺寸SN_(d-l) X2N_(d-l)的两个分区、尺寸为N_(d_l) XN_(d_l)的四个分区。
[0140]即使在分区类型998具有最小编码误差时,由于最大深度是d,因此深度为d-Ι的编码单元cu_(d-l)不再被划分到更低深度,并且构成当前最大编码单元900的编码单元的编码深度被确定为d-Ι并且当前最大编码单元900的分区类型可被确定为N_(d-1) XN_(d-1)。另外,由于最大深度是d并且具有最低深度d-ι的最小编码单元980不再被划分为更低深度,因此最小编码单元980的划分信息不被设置。
[0141]数据单元999可以是当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元980划分为4份而获得的矩形数据单元。通过重复地执行编码,视频编码设备100可通过比较根据编码单元900的多个深度的编码误差来选择具有最小编码误差的深度以确定编码深度,并且将相应分区类型以及预测模式设置为编码深度的编码模式。
[0142]这样,根据深度的最小编码误差在所有的深度I至d中被比较,并且具有最小编码误差的深度可被确定为编码深度。可将编码深度、预测单元的分区类型以及预测模式编码为关于编码模式的信息并对其进行发送。另外,由于编码单元从深度O被划分到编码深度,因此仅该编码深度的划分信息被设置为0,除了编码深度之外的深度的划分信息被设置为
1
[0143]视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度以及预测单元的信息以对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息来将划分信息是O的深度确定为编码深度,并且使用关于相应深度的编码模式的信息用于解码。
[0144]图10至图12是用于描述根据本发明的实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
[0145]编码单元1010是最大编码单元中的与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是每个编码单元1010的预测单元的分区,变换单元1070是每个编码单元1010的变换单元。
[0146]当在编码单元1010中最大编码单元的深度是O时,编码单元1012和1054的深度是 1,编码单元 1014、1016、1018、1028、1050 和 1052 的深度是 2,编码单元 1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。
[0147]在预测单元1060 中,一些编码单元 1014、1016、1022、1032、1048、1050、1052 和1054通过划分编码单元1010中的编码单元而获得。换句话说,编码单元1014、1022、1050和1054中的分区类型的尺寸为2NXN,编码单元1016、1048和1052中的分区类型的尺寸为NX 2N,编码单元1032的分区类型的尺寸为NXN。编码单元1010的预测单元和分区小于或等于每个编码单元。
[0148]以小于编码单元1052的数据单元对变换单元1070中的编码单元1052的图像数据执行变换或逆变换。另外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状上与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050,1052和1054不同。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元独立地执行帧内预测、运动估计、运动补偿、变换和逆变换。
[0149]因此,对最大编码单元的每个区域中的具有分层结构的每个编码单元递归地执行编码,以确定最佳编码单元,因此可获得具有树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息以及关于变换单元的尺寸的信息。表I显示可由视频编码设备100和视频解码设备200设置的编码信息。
[0150]表I[0151]
【权利要求】
1.一种视频解码方法,包括: 通过对编码的比特流进行解析来提取基于具有分层结构的数据单元编码的画面的语法元素; 基于当前数据单元的至少一个第二语法元素确定用于对将被熵解码的当前数据单元的第一语法元素进行熵解码的上下文模型,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同; 通过使用确定的上下文模型对第一语法元素进行熵解码。
2.如权利要求1所述的视频解码方法,其中,确定上下文模型的步骤包括: 从编码的比特流提取指示通过划分画面而获得的最大编码单元的尺寸的信息、指示最大编码单元的空间划分次数的深度、用于对根据深度被分层地构成的编码单元进行预测编码的分区以及具有分层结构的变换单元的结构; 基于提取的信息,根据至少一个最大编码单元,从根据指示最大编码单元的空间划分次数的深度被分层地构成的较深层编码单元中,确定包括编码深度的编码单元的根据树结构的编码单元以及用于对编码深度的编码单元中的每个编码单元进行预测编码的分区,并通过基于具有分层结构的变换单元执行变换来确定根据树结构的变换单元。
3.如权利要求1所述的视频解码方法,其中,所述至少一个第二语法元素包括:关于当前数据单元的尺寸的信息、相对尺寸信息、当前数据单元所属的彩色画面的颜色类型信息和当前数据单元的预测模式信息,其中,相对尺寸信息指示与比当前数据单元更高层且具有更大的尺寸的数据单元相关的包括第一语法元素的当前数据单元的相对尺寸。
4.如权利要求3所述的视频解码方法,其中,相对尺寸信息包括指示从最大数据单元到包括第一语法元素的当前数据单元的划分次数的深度信息。
5.如权利要求1所述的视频解码方法,其中,确定上下文模型的步骤包括:当η指示用于确定上下文模型的第二语法元素的数量并且%指示η个第二语法元素中的每个第二语法元素的状态值的数量时,基于作为第二语法元素的状态值的组合的数量的B1Xa2X…Xan从多个上下文模型中确定用于对第一语法元素进行熵解码的一个上下文模型,其中,η是整数,i是从I到η的整数。
6.如权利要求5所述的视频解码方法,其中,确定上下文模型的步骤包括:通过对第二语法元素的状态值的组合的数量进行分组来预先设置多个上下文模型,并从多个上下文模型中根据第二语法元素的状态值的组合确定一个上下文模型。
7.如权利要求1所述的视频解码方法,其中,确定上下文模型的步骤包括: 从与当前数据单元相邻 的邻近数据单元获得关于具有与当前数据单元的第一语法元素相同的类型的第一语法元素的信息; 通过使用关于从邻近数据单元获得的第一语法元素和从当前数据单元获得的第二语法元素的信息,确定用于对当前数据单元的第一语法元素进行熵解码的上下文模型。
8.如权利要求1所述的视频解码方法,其中,第一语法元素包括用于表示编码单元的分层结构的指示编码单元是否被划分的划分标志、用于表示变换单元的分层结构的指示变换单元是否被划分的变换单元划分标志、具有分层结构的编码单元的跳过模式标志、指示最后的非零变换系数的位置的标志以及指示非零变换系数是否存在于变换单元中的标志。
9.如权利要求1所述的视频解码方法,其中,上下文模型包括关于O和I中的与最大概率符号MPS和最小概率符号LPC相应的二进制信号的信息以及MPS和LPS中的至少一个的概率值,其中,O和I是与第一语法元素相应的二进制信号。
10.一种视频解码设备,包括: 语法元素提取器,用于通过对编码的比特流进行解析来提取基于具有分层结构的数据单元编码的画面的语法元素; 熵解码器,用于基于当前数据单元的至少一个第二语法元素确定用于对将被熵解码的当前数据单元的第一语法元素进行熵解码的上下文模型,并通过使用确定的上下文模型对第一语法元素进行熵解码,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同。
11.一种视频编码方法,包括: 基于具有分层结构的数据单元对视频进行编码; 基于当前数据单元的至少一个第二语法元素确定用于对将被熵编码的当前数据单元的第一语法元素进行熵编码的上下文模型,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同; 通过使用确定的上下文模型对当前数据单元的第一语法元素进行熵编码。
12.如权利要求11所述的视频编码方法,其中,所述至少一个第二语法元素包括:关于当前数据单元的尺寸的信息、相对尺寸信息、当前数据单元所属的彩色画面的颜色类型信息和当前数据单元的预测模式信息,其中,相对尺寸信息指示与比当前数据单元更高层且具有更大的尺寸的数据单元相关的包括第一语法元素的当前数据单元的相对尺寸。
13.如权利要求11所述的视频编码方法,其中,确定上下文模型的步骤包括:当η指示用于确定上下文模型的第二语法元素的数量并且%指示η个第二语法元素中的每个第二语法元素的状态值的数量时 ,基于作为第二语法元素的状态值的组合的数量的B1Xa2X…Xan从多个上下文模型中确定用于对第一语法元素进行熵编码的一个上下文模型,其中,η是整数,i是从I到η的整数。
14.如权利要求11所述的视频编码方法,其中,确定上下文模型的步骤包括: 从与当前数据单元相邻的邻近数据单元获得关于具有与当前数据单元的第一语法元素相同的类型的第一语法元素的信息; 通过使用关于从邻近数据单元获得的第一语法元素和从当前数据单元获得的第二语法元素的信息,确定用于对当前数据单元的第一语法元素进行熵编码的上下文模型。
15.一种视频编码设备,包括: 分层编码器,用于基于具有分层结构的数据单元对视频进行编码; 熵编码器,用于基于当前数据单元的至少一个第二语法元素确定用于对将被熵编码的当前数据单元的第一语法元素进行熵编码的上下文模型,并通过使用确定的上下文模型对当前数据单元的第一语法元素进行熵编码,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素不同。
【文档编号】H04N19/13GK103765887SQ201280042737
【公开日】2014年4月30日 申请日期:2012年7月2日 优先权日:2011年7月1日
【发明者】李泰美, 陈建乐 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1