首页 / 专利库 / 视听技术与设备 / 视频编码层 / 视频的编码方法和装置及视频的解码方法和装置

视频的编码方法和装置及视频的解码方法和装置

阅读:541发布:2020-06-18

专利汇可以提供视频的编码方法和装置及视频的解码方法和装置专利检索,专利查询,专利分析的服务。并且一种视频的编码方法和装置及视频的解码方法和装置。公开了一种用于通过使用分层结构的数据单元来对视频进行编码的方法和装置,以及用于对所述视频进行解码的方法和装置。根据本 发明 的一个 实施例 , 视频编码 装置基于分层结构的数据单元对组成视频的画面进行编码,基于用于被编码的画面的符号所属的数据单元的分层信息来确定用于符号的 熵编码 的上下文模型;通过使用确定的上下文模型来对所述符号进行熵编码。,下面是视频的编码方法和装置及视频的解码方法和装置专利的具体信息内容。

1.一种视频解码方法,包括:
从比特流提取基于分层构造的数据单元而编码的画面的符号;
基于所述符号所属的数据单元的分层信息,确定用于对所述符号进行熵解码的上下文模型;
使用所述上下文模型对所述符号进行熵解码;
其中,所述符号包括关于针对逆变换而使用的变换单元的分层结构的信息;
其中,关于变换单元的分层结构的信息是指示是否对当前变换深度的变换单元进行划分的变换单元划分标记,其中,当前变换深度的变换单元是从编码单元被划分出的,其中,确定上下文模型的步骤包括:
基于当前变换深度的变换单元的尺寸来确定指示多个上下文模型之中的上下文模型的上下文索引,
其中,使用确定的上下文模型对所述符号进行熵解码的步骤包括:
通过基于确定的上下文模型来对比特流进行熵解码,以获取变换单元划分标记,其中:
图像根据关于编码单元的最大尺寸的信息而被划分为多个最大编码单元,所述多个最大编码单元中的当前最大编码单元根据划分信息被分层划分为一个或更多个编码单元,
当划分信息指示针对当前深度进行划分时,当前深度的编码单元独立于邻近编码单元而被划分为更低深度的四个编码单元,
当划分信息指示针对当前深度不进行划分时,从当前深度的编码单元获得一个或更多个变换单元,
其中,当前变换深度的变换单元是从当前深度的编码单元获得的所述一个或更多变换单元之一,
其中,当变换单元划分标记指示对当前变换深度的变换单元进行划分时,将当前变换深度的变换单元划分为更低变换深度的多个变换单元。

说明书全文

视频的编码方法和装置及视频的解码方法和装置

[0001] 本申请是向中国知识产权局提交的申请日为2012年1月6日的标题为“使用分层结构的数据单元的视频的编码方法和装置及其解码方法和装置”的第201280012098.1号申请的分案申请。

技术领域

[0002] 本发明涉及对视频进行编码和解码,更具体地讲,涉及对视频编解码器的符号进行编码和解码。

背景技术

[0003] 根据图像压缩方法(诸如MPEG-1、MPEG-2或MPEG-4H.264/MPEG-4先进视频编码(AVC)),图像被划分为具有预定尺寸的,然后,通过间预测或帧内预测来获得块的残差数据。通过变换、量化、扫描、游程长度编码和熵编码来压缩残差数据。在熵编码中,语法元素(诸如离散余弦变换(DCT)系数或运动矢量)被熵编码以输出比特流。在解码器端,从比特流提取语法元素,并基于提取的语法元素执行解码。

发明内容

[0004] 技术问题
[0005] 本发明提供一种用于通过使用分层结构信息,基于分层构造的数据单元从图像编解码器选择上下文模型来对作为图像信息的符号进行有效熵编码和熵解码的方法和装置。
[0006] 技术方案
[0007] 根据本发明的一方面,通过基于分层结构信息和除分层结构信息以外与编码相关的附加信息的组合选择上下文模型来执行熵编码和熵解码。
[0008] 有益效果
[0009] 根据本发明,可提高基于分层构造的数据单元的视频的压缩效率。附图说明
[0010] 图1是根据本发明的实施例的对视频进行编码的装置的框图
[0011] 图2是根据本发明的实施例的对视频进行解码的装置的框图;
[0012] 图3是用于描述根据本发明的实施例的编码单元的概念的示图;
[0013] 图4是根据本发明的实施例的基于具有分层结构的编码单元的视频编码器的框图;
[0014] 图5是根据本发明的实施例的基于具有分层结构的编码单元的视频解码器的框图;
[0015] 图6是示出根据本发明的实施例的根据深度的编码单元和分区的示图;
[0016] 图7是用于描述根据本发明的实施例的编码单元与变换单元之间的关系的示图;
[0017] 图8是用于描述根据本发明的实施例的根据深度的编码信息的示图;
[0018] 图9是用于描述根据本发明的实施例的根据深度的编码单元的示图;
[0019] 图10、图11和图12是用于描述根据本发明的实施例的编码单元、预测单元和频率变换单元之间的关系的示图;
[0020] 图13是用于根据表1的编码模式信息描述编码单元、预测单元和变换单元之间的关系的示图;
[0021] 图14是示出根据本发明的实施例的熵编码装置的结构的框图;
[0022] 图15示出根据本发明的实施例的分层构造的数据单元和分层构造的数据单元划分信息。
[0023] 图16和图17是示出根据本发明的实施例的指示分层构造的数据单元的符号的参考示图;
[0024] 图18是用于描述根据本发明的实施例的变换系数的熵编码的处理的参考示图;
[0025] 图19示出根据本发明的实施例的用于基于数据单元的尺寸确定上下文模型的上下文索引;
[0026] 图20是示出根据本发明的实施例的上下文模型的参考示图;
[0027] 图21是根据本发明的实施例的MPS出现概率值的图表;
[0028] 图22示出根据本发明的另一实施例的用于基于数据单元的尺寸确定上下文模型的上下文索引;
[0029] 图23和图24是示出根据本发明的实施例的基于关于数据单元的位置的信息而设置的上下文索引映射表的参考示图;
[0030] 图25是示出根据本发明的实施例的基于分层信息和除分层信息以外的附加信息的组合来确定上下文索引的参考示图;
[0031] 图26是用于描述通过图14的常规编码器执行的二进制算术编码处理的示图;
[0032] 图27是根据本发明的实施例的使用分层构造的数据单元的视频编码方法的流程图
[0033] 图28是示出根据本发明的实施例的熵解码装置的结构的框图;
[0034] 图29是根据本发明的另一实施例的使用分层构造的数据单元的视频解码方法的流程图。
[0035] 最佳模式
[0036] 根据本发明的一方面,提供了一种视频编码方法,包括:基于分层构造的数据单元对形成视频的画面进行编码;基于编码的画面的符号所属的数据单元的分层信息来确定用于所述符号的熵编码的上下文模型;以及使用确定的上下文模型对所述符号进行熵编码。
[0037] 根据本发明的另一方面,提供了一种视频编码装置,包括:分层编码器,用于基于分层构造的数据单元对形成视频的画面进行编码;以及熵编码器,用于基于编码的画面的符号所属的数据单元的分层信息来确定用于所述符号的熵编码的上下文模型,并使用确定的上下文模型对所述符号进行编码。
[0038] 根据本发明的另一方面,提供了一种视频解码方法,包括:通过对编码的比特流进行解析,提取基于分层构造的数据单元而编码的画面的符号;基于所述符号所属的数据单元的分层信息来确定用于所述符号的熵解码的上下文模型;以及使用确定的上下文模型来对所述符号进行熵解码。
[0039] 根据本发明的另一方面,提供了一种视频解码装置,包括:符号提取单元,用于通过对编码的比特流进行解析,提取基于分层构造的数据单元而编码的画面的符号;以及熵解码器,用于基于所述符号所属的数据单元的分层信息来确定用于所述符号的熵解码的上下文模型,并使用确定的上下文模型来对所述符号进行熵解码。

具体实施方式

[0040] 在下文中,在本申请的各种实施例中描述的“图像”可以是包含性的概念,不仅指静止图像,还指视频图像。
[0041] 当对与图像相关的数据执行各种操作时,与图像相关的数据被划分为数据组,并且可对包括在相同数据组中的数据执行相同的操作。在本说明书中,根据预定标准形成的数据组被称为“数据单元”。在下文中,对每个“数据单元”执行的操作被理解为使用包括在数据单元中的数据来执行。
[0042] 在下文中,将参照图1至图13描述根据本发明的实施例的用于对视频进行编码和解码的方法和装置,其中,在所述方法和装置中,基于具有树结构的变换单元和编码单元对具有树结构的符号进行编码或解码。此外,将参照图14至图29详细描述在参照图1至图13描述的视频的编码和解码中使用的熵编码和熵解码的方法。
[0043] 图1是根据本发明的实施例的视频编码装置100的框图。
[0044] 视频编码装置100包括分层编码器110和熵编码器120。
[0045] 分层编码器110可以以预定数据单元为单位对将被编码的当前画面进行划分,以对所述数据单元中的每一个执行编码。详细地讲,分层编码器110可基于作为最大尺寸的编码单元的最大编码单元来对当前画面进行划分。根据本发明的实施例的最大编码单元可以是具有32×32、64×64、128×128、256×256等尺寸的数据单元,其中,数据单元的形状是宽和高为2的平方并且大于8的方形。
[0046] 根据本发明的实施例的编码单元可由最大尺寸和深度来表征。深度表示编码单元从最大编码单元被空间划分的次数,并且随着深度加深,根据深度的编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此,与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。
[0047] 如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分为最大编码单元,所述最大编码单元中的每一个可包括根据深度被划分的编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层分类。
[0048] 可预先确定编码单元的最大深度和最大尺寸,所述最大深度和最大尺寸限定最大编码单元的高和宽被分层划分的总次数。
[0049] 分层编码器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分区域进行编码,并确定用于输出根据所述至少一个划分区域的最终编码的图像数据的深度。换句话说,分层编码器110通过根据当前画面的最大编码单元,按照根据深度的编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。根据最大编码单元的已编码的图像数据和确定的编码深度被输出到熵编码器120。
[0050] 基于与等于或小于最大深度的至少一个深度相应的编码单元对最大编码单元中的图像数据进行编码,并基于根据深度的编码单元中的每一个来比较对图像数据进行编码的结果。在比较根据深度的编码单元的编码误差之后,可选择具有最小编码误差的深度。可为每个最大编码单元选择至少一个编码深度。
[0051] 随着编码单元根据深度被分层划分,并随着编码单元的数量增加,最大编码单元的尺寸被划分。此外,即使在一个最大编码单元中多个编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每一个划分至更低的深度。因此,即使当图像数据被包括在一个最大编码单元中时,图像数据也根据深度被划分到多个区域,并且在一个最大编码单元中编码误差可根据区域而不同,因此,编码深度可根据图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
[0052] 因此,分层编码器110可确定包括在最大编码单元中的具有树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括最大编码单元中所包括的所有根据深度的编码单元之中的与被确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,具有编码深度的编码单元可根据深度被分层地确定,并且在不同的区域中,具有编码深度的编码单元可被独立地确定。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。
[0053] 根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元执行划分的次数相关的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元执行划分的总次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、1、2、3和4的5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。
[0054] 可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的编码单元来执行预测编码和变换。
[0055] 由于每当最大编码单元根据深度被划分时根据深度的编码单元的数量增加,因此对随着深度加深而产生的所有根据深度的编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。
[0056] 视频编码装置100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
[0057] 例如,视频编码装置100不仅可选择用于对图像数据进行编码的编码单元,还可选择与编码单元不同的数据单元以对编码单元中的图像数据执行预测编码。
[0058] 为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与更低深度相应的编码单元的编码单元)执行预测编码。在下文中,不再被划分并且变成用于预测编码的基本单元的编码单元现在将被称为“预测单元”。通过对预测单元进行划分所获得的分区(partition)可包括通过对预测单元的高和宽中的至少一个进行划分而获得的预测单元或数据单元。
[0059] 例如,当2N×2N(其中,N是正整数)的编码单元不再被划分,并且变成2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高或宽进行对称划分所获得的对称分区、通过对预测单元的高或宽进行不对称划分(诸如1:n或n:1)所获得的分区、通过对预测单元进行几何划分所获得的分区以及具有任意形状的分区。
[0060] 预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。此外,可仅对2N×2N的分区执行跳过模式。对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
[0061] 视频编码装置100还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,来对编码单元中的图像数据执行变换。
[0062] 为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。
[0063] 用作变换的基础的数据单元现在将被称为“变换单元”。与编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的区域,使得可以以区域为单位独立地确定变换单元。因此,可根据具有根据变换深度的树结构的变换单元来划分编码单元中的残差数据。
[0064] 还可在变换单元中设置指示通过对编码单元的高和宽进行划分以达到变换单元而执行划分的次数的变换深度。例如,在2N×2N的当前编码单元中,当变换单元的尺寸为2N×2N时,变换深度可以是0,当变换单元的尺寸是N×N时,变换深度可以是1,当变换单元的尺寸是N/2×N/2时,变换深度可以是2。也就是说,还可根据变换深度设置具有树结构的变换单元。
[0065] 根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要与预测编码和变换有关的信息。因此,分层编码器110不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的尺寸。
[0066] 稍后将参照图3至图12详细描述根据本发明的实施例的最大编码单元中的根据树结构的编码单元以及确定分区的方法。
[0067] 分层编码器110可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的编码单元的编码误差。
[0068] 熵编码器120在比特流中输出最大编码单元的图像数据以及关于根据编码深度的编码模式的信息,其中,所述图像数据基于由分层编码器110确定的至少一个编码深度被编码。编码的图像数据可以是图像的残差数据的编码结果。关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式信息和关于变换单元的尺寸的信息。具体地讲,如稍后将描述的,当对最大编码单元的图像数据和与根据深度的编码模式相关的符号进行编码时,熵编码器120可通过基于上述分层构造的数据单元的分层结构信息和关于除分层结构以外的在视频编码方法中使用的颜色分量的信息来选择上下文模型,以执行熵编码。
[0069] 可通过使用根据深度的划分信息来定义关于编码深度的信息,其中,根据深度的划分信息指示是否对更低深度而不是当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并被输出,因此划分信息可被定义为不将当前编码单元划分至更低深度。可选择地,如果当前编码单元的当前深度不是编码深度,则对更低深度的编码单元执行编码,因此划分信息可被定义为划分当前编码单元以获得更低深度的编码单元。
[0070] 如果当前深度不是编码深度,则对被划分为更低深度的编码单元的编码单元执行编码。由于在当前深度的一个编码单元中存在更低深度的至少一个编码单元,因此对更低深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。
[0071] 由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。此外,由于图像数据根据深度被分层划分,因此最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模式的信息。
[0072] 因此,熵编码器120可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。
[0073] 根据本发明的实施例的最小单元是通过将组成最低深度的最小编码单元划分为4所获得的方形数据单元。可选择地,最小单元可以是最大方形数据单元,其中,所述最大方形数据单元可包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中。
[0074] 例如,通过熵编码器120输出的编码信息可被分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区的尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息。此外,关于根据画面、条带或画面组(GOP)定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入比特流的头部。
[0075] 在视频编码装置100中,根据深度的编码单元可以是通过将作为上一层的更高深度的编码单元的高或宽划分为二所获得的编码单元。换句话说,在当前深度的编码单元的尺寸为2N×2N时,更低深度的编码单元的尺寸是N×N。此外,具有2N×2N的尺寸的当前深度的编码单元可包括最多四个更低深度的编码单元。
[0076] 因此,视频编码装置100可通过基于考虑当前画面的特征所确定的最大编码单元的尺寸和最大深度,针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式和变换中的任意一个来对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特征来确定最佳编码模式。
[0077] 因此,如果以传统的宏块对具有高分辨率大数据量的图像进行编码,则每个画面的宏块的数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,从而难以发送压缩信息并且数据压缩效率降低。然而,通过使用视频编码装置100,由于在考虑图像的特征的同时调整编码单元,并在考虑图像的尺寸的同时增加编码单元的最大尺寸,因此可提高图像压缩效率。
[0078] 图2是根据本发明的实施例的视频解码装置200的框图。
[0079] 视频解码装置200包括符号提取单元210、熵解码器220和分层解码器230。用于视频解码装置200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图1和视频编码装置100描述的那些相同。
[0080] 符号提取单元210接收并解析已编码的视频的比特流。熵解码器220从解析的比特流提取每个编码单元的已编码的图像数据,并将提取的图像数据输出到分层解码器230,其中,所述编码单元具有根据每个最大编码单元的树结构。熵解码器220可从当前画面的头提取关于当前画面的编码单元的最大尺寸的信息。
[0081] 此外,熵解码器220从解析的比特流提取根据每个最大编码单元的关于用于具有树结构的编码单元的编码深度和编码模式的信息。提取的关于编码深度和编码模式的信息被输出到分层解码器230。换句话说,比特流中的图像数据被划分为最大编码单元,使得分层解码器230可针对每个最大编码单元对图像数据进行解码。
[0082] 可针对关于与编码深度相应的至少一个编码单元的信息,设置根据最大编码单元的关于编码深度和编码模式的信息,并且关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和变换单元的尺寸。此外,根据深度的划分信息可被提取作为关于编码深度的信息。
[0083] 由熵解码器220提取的根据每个最大编码单元的关于编码深度和编码模式的信息是关于这样的编码深度和编码模式的信息:所述编码深度和编码模式被确定用于当编码器(诸如视频编码装置100)根据每个最大编码单元针对根据深度的每个编码单元重复执行编码时产生最小编码误差。因此,视频解码装置200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。
[0084] 由于关于编码深度和编码模式的编码信息可被分配给相应编码单元、预测单元和最小单元中的预定数据单元,因此熵解码器器220可提取根据预定数据单元的关于编码深度和编码模式的信息。被分配有关于编码深度和编码模式的相同信息的预定数据单元可被推断为是包括在相同最大编码单元中的数据单元。
[0085] 此外,如稍后将描述的,当对最大编码单元的图像数据和与根据深度的编码模式相关的符号进行解码时,熵解码器220可基于上述分层构造的数据单元的分层结构信息和关于各种信息(诸如除分层结构以外的颜色分量)的信息选择上下文模型来执行熵解码。
[0086] 分层解码器230通过基于根据最大编码单元的关于编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码,来恢复当前画面。换句话说,分层解码器230可基于提取的关于包括在每个最大编码单元中的具有树结构的编码单元之中的每个编码单元的分区类型、预测模式和变换单元的信息,来对已编码的图像数据进行解码。解码处理可包括预测(所述预测包括帧内预测和运动补偿)和逆变换。
[0087] 分层解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式执行帧内预测或运动补偿。
[0088] 此外,分层解码器230可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元执行逆变换,从而根据最大编码单元执行逆变换。
[0089] 分层解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度中不再被划分,则当前深度是编码深度。因此,分层解码器230可通过使用关于预测单元的分区类型、预测模式和变换单元的尺寸的信息,针对当前最大编码单元中的图像数据对当前深度的编码单元进行解码。
[0090] 换句话说,可通过观察为编码单元、预测单元和最小单元之中的预定数据单元分配的编码信息集来收集包含编码信息(所述编码信息包括相同的划分信息)的数据单元,收集的数据单元可被视为是将由分层解码器230以相同的编码模式进行解码的一个数据单元。
[0091] 视频解码装置200可获得关于当针对每个最大编码单元递归执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元的已编码的图像数据进行解码。
[0092] 因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式来对图像数据进行有效地解码和恢复,其中,根据图像数据的特征,通过使用从编码器接收的关于最佳编码模式的信息来自适应地确定所述编码单元的尺寸和所述编码模式。
[0093] 现在将参照图3至图13描述根据本发明的实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。
[0094] 图3是用于描述根据本发明的实施例的编码单元的概念的示图。
[0095] 编码单元的尺寸可以以为宽×高来表示,并且可以是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的分区。
[0096] 在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64且最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64且最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16且最大深度为1。图3中示出的最大深度表示从最大编码单元到最小编码单元的划分总次数。
[0097] 如果分辨率高或数据量大,则编码单元的最大尺寸可以较大,从而不仅提高了编码效率,还精确地反映出图像的特征。因此,比视频数据330具有更高的分辨率的视频数据310和视频数据320的编码单元的最大尺寸可以是64。
[0098] 由于视频数据310的最大深度是2,因此,由于通过对最大编码单元划分两次,深度被加深到两层,从而视频数据310的编码单元315可包括具有64的长轴尺寸的最大编码单元以及具有32和16的长轴尺寸的编码单元。同时,由于视频数据330的最大深度是1,因此,由于通过对最大编码单元划分一次,深度被加深到一层,从而视频数据330的编码单元335可包括具有16的长轴尺寸的最大编码单元以及具有8的长轴尺寸的编码单元。
[0099] 由于视频数据320的最大深度为3,因此,由于通过对最大编码单元划分三次,深度被加深到3层,从而视频数据320的编码单元325可包括具有64的长轴尺寸的最大编码单元以及具有32、16和8的长轴尺寸的编码单元。随着深度加深,可精确地表示细节信息。
[0100] 图4是根据本发明的实施例的基于具有分层结构的编码单元的视频编码器400的框图。
[0101] 帧内预测器410针对当前帧405在帧内模式下对编码单元执行帧内预测,运动估计器420和运动补偿器425在帧间模式下通过使用当前帧405和参考帧495,分别对编码单元执行帧间估计和运动补偿。
[0102] 从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反量化器460和逆变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块单元480和环路滤波单元490进行后处理之后被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。
[0103] 当对最大编码单元的图像数据和与根据深度的编码模式相关的符号进行编码时,熵编码器450可通过基于分层构造的数据单元的分层结构信息和除分层结构以外的各种信息(诸如颜色分量)选择上下文模型来执行熵解码。
[0104] 为了将视频编码器400应用在视频编码装置100中,视频编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元之中的每个编码单元来执行操作。
[0105] 具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时,确定具有树结构的编码单元之中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元之中的每个编码单元中的变换单元的尺寸。此外,根据本实施例的熵编码器450可根据相应符号的类型,通过基于分层构造的数据单元的分层结构信息和除分层结构以外的各种信息(诸如颜色分量)选择用于熵编码的上下文模型来执行熵编码。
[0106] 图5是根据本发明的实施例的基于编码单元的视频解码器500的框图。
[0107] 解析器510从比特流505中解析将被解码的已编码的图像数据以及用于解码所需的关于编码的信息。已编码的图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过逆变换器540被恢复为空间域中的图像数据。
[0108] 帧内预测器550针对空间域中的图像数据,在帧内模式下对编码单元执行帧内预测,运动补偿器560通过使用参考帧585在帧间模式下对编码单元执行运动补偿。
[0109] 经过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580进行后处理之后被输出为恢复的帧595。此外,通过去块单元570和环路滤波单元580进行后处理的图像数据可被输出为参考帧585。
[0110] 为了将视频解码器500应用在视频解码装置200中,视频解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)针对每个最大编码单元基于具有树结构的编码单元执行操作。
[0111] 具体地,帧内预测器550和运动补偿器560确定具有树结构的每个编码单元的分区和预测模式,逆变换器540不得不确定每个编码单元的变换单元的尺寸。此外,根据本实施例的熵解码器520可根据相应符号的类型,通过基于分层构造的数据单元的分层结构信息和除分层结构以外的各种信息(诸如颜色分量),选择用于对将被解码的已编码的图像数据和指示解码所需的关于编码的信息的符号进行熵解码的上下文模型,以执行熵解码。
[0112] 图6是示出根据本发明的实施例的根据深度的编码单元以及分区的示图。
[0113] 视频编码装置100和视频解码装置200使用分层编码单元以考虑图像的特征。可根据图像的特征自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的编码单元的尺寸。
[0114] 在根据本发明的实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度均为64,并且最大深度为4。由于深度沿分层结构600的纵轴加深,因此根据深度的编码单元的高和宽均被划分。此外,沿分层结构600的横轴示出作为用于根据深度的每个编码单元的预测编码的基础的预测单元和分区。
[0115] 换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度为0,尺寸(即,高乘宽)为64×64。深度沿纵轴加深,存在尺寸为32×32且深度为1的编码单元620、尺寸为16×16且深度为2的编码单元630、尺寸为8×8且深度为3的编码单元640以及尺寸为4×4且深度为4的编码单元650。尺寸为4×4且深度为4的编码单元650是最小编码单元。
[0116] 编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64×64且深度为0的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。
[0117] 类似地,尺寸为32×32且深度为1的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。
[0118] 类似地,尺寸为16×16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即,包括在编码单元630中的尺寸为16×16的分区、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。
[0119] 类似地,尺寸为8×8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区、尺寸为8×4的分区642、尺寸为4×8的分区644和尺寸为4×4的分区646。
[0120] 尺寸为4×4且深度为4的编码单元650是最小编码单元和最低深度的编码单元。编码单元650的预测单元仅被分配给尺寸为4×4的分区。
[0121] 为了确定组成最大编码单元610的编码单元的至少一个编码深度,视频编码装置100的分层编码器110针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
[0122] 随着深度加深,包括相同范围和相同尺寸的数据的根据深度的编码单元的数量增加。例如,需要四个与深度2相应的编码单元来覆盖包括在一个与深度1相应的编码单元中的数据。因此,为了比较相同数据的根据深度的编码结果,与深度1相应的编码单元和四个与深度2相应的编码单元均被编码。
[0123] 为了针对多个深度中的当前深度执行编码,可通过沿分层结构600的横轴,针对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选择地,随着深度沿分层结构600的纵轴加深,可通过针对每个深度比较根据深度的最小编码误差并执行编码,从而搜索最小编码误差。编码单元610中具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
[0124] 图7是用于描述根据本发明的实施例的编码单元710和变换单元720之间的关系的示图。
[0125] 视频编码装置100或视频解码装置200针对每个最大编码单元,根据具有小于或等于最大编码单元的尺寸的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择编码期间用于变换的变换单元的尺寸。
[0126] 例如,在视频编码装置100或视频解码装置200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
[0127] 此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的变换单元中的每一个执行变换,来对尺寸为64×64的编码单元710的数据进行编码,然后可选择具有最小编码误差的变换单元。
[0128] 图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。
[0129] 视频编码装置100的输出单元130可对用于与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820进行编码和发送,作为关于编码模式的信息。
[0130] 信息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中的一个。
[0131] 信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
[0132] 信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。
[0133] 视频解码装置200的熵解码器220可基于根据深度的每个编码单元提取和使用用于解码的信息800、810和820。
[0134] 图9是根据本发明的实施例的根据深度的编码单元的示图。
[0135] 划分信息可被用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为更低深度的编码单元。
[0136] 用于对深度为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的分区可包括不对称分区、具有预定形状的分区和具有几何形状的分区。
[0137] 根据每个分区类型,对一个尺寸为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的分区执行跳过模式下的预测编码。
[0138] 如果在尺寸为2N_0×2N_0、2N_0×N_0和N_0×2N_0的分区类型912至916之一中编码误差最小,则预测单元910可不被划分到更低深度。
[0139] 如果在尺寸为N_0×N_0的分区类型918中编码误差最小,则深度从0改变到1以在操作920对分区类型918进行划分,并且对深度为2且尺寸为N_0×N_0的分区类型编码单元重复执行编码,以搜索最小编码误差。
[0140] 用于对深度为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。
[0141] 如果在尺寸为N_1×N_1的分区类型948中编码误差最小,则深度从1改变到2以在操作950对分区类型948进行划分,并且对深度为2且尺寸为N_2×N_2的编码单元960重复执行编码,以搜索最小编码误差。
[0142] 当最大深度为d时,根据每个深度的划分操作可被执行,直到深度变为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。
[0143] 可在分区类型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)的分区重复执行预测编码,以搜索具有最小编码误差的分区类型。
[0144] 即使在尺寸为N_(d-1)×N_(d-1)的分区类型998具有最小编码误差时,由于最大深度为d,因此深度为d-1的编码单元CU_(d-1)不再被划分到更低深度,组成当前最大编码单元900的编码单元的编码深度被确定为d-1,并且当前最大编码单元900的分区类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d,因此不设置用于最小编码单元980的划分信息。
[0145] 数据单元999可以是针对当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元980划分为4而获得的矩形数据单元。通过重复执行编码,视频编码装置100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度,以确定编码深度,并将相应的分区类型和预测模式设置为编码深度的编码模式。
[0146] 这样,在1至d的所有深度中比较根据深度的最小编码误差,具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关于编码模式的信息而被编码和发送。此外,由于编码单元从深度0被划分到编码深度,因此仅编码深度的划分信息被设置为0,并且除了编码深度之外的深度的划分信息被设置为1。
[0147] 视频解码装置200的熵解码器220可提取并使用关于编码单元900的编码深度和预测单元的信息,以对编码单元912进行解码。视频解码装置200可通过使用根据深度的划分信息来将划分信息为0的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。
[0148] 图10至图12是用于描述根据本发明的实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
[0149] 编码单元1010是最大编码单元中与由视频编码装置100确定的编码深度相应的、具有树结构的编码单元。预测单元1060是编码单元1010中的每一个的预测单元的分区,变换单元1070是编码单元1010中的每一个的变换单元。
[0150] 当在编码单元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。
[0151] 在预测单元1060中,通过对编码单元进行划分来获得某些编码单元1014、1016、1022、1032、1048、1050、1052和1054。换句话说,编码单元1014、1022、1050和1054中的分区类型具有2N×N的尺寸,编码单元1016、1048和1052中的分区类型具有N×2N的尺寸,编码单元1032的分区类型具有N×N的尺寸。编码单元1010的预测单元和分区小于或等于每个编码单元。
[0152] 按照小于编码单元1052的数据单元对变换单元1070中的编码单元1052的图像数据执行变换或逆变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状方面与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052不同。换句话说,视频编码装置100和视频解码装置200可对相同编码单元中的数据单元分别执行帧内预测、运动估计、运动补偿、变换和逆变换。
[0153] 因此,对最大编码单元的每个区域中具有分层结构的编码单元中的每一个递归地执行编码,以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码装置100和视频解码装置200设置的编码信息。
[0154] 表1
[0155]
[0156] 视频编码装置100的熵编码器120可输出关于具有树结构的编码单元的编码信息,视频解码装置200的熵解码器220可从接收的比特流提取关于具有树结构的编码单元的编码信息。
[0157] 划分信息指示当前编码单元是否被划分为更低深度的编码单元。如果当前深度d的划分信息为0,则当前编码单元不再被划分到更低深度的深度是编码深度,因此可针对编码深度定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对更低深度的四个划分的编码单元独立地执行编码。
[0158] 预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分区类型中定义帧内模式和帧间模式,可仅在尺寸为2N×2N的分区类型中定义跳过模式。
[0159] 关于分区类型的信息可指示通过对预测单元的高或宽进行对称划分而获得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型,以及通过对预测单元的高或宽进行不对称划分而获得的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的不对称分区类型。可通过按照1:n和n:1(其中,n是大于1的整数)对预测单元的高进行划分来分别获得尺寸为2N×nU和2N×nD的不对称分区类型,可通过按照1:n和n:1对预测单元的宽进行划分来分别获得尺寸为nL×2N和nR×2N的不对称分区类型。
[0160] 变换单元的尺寸可被设置为帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是2N×2N,这是当前编码单元的尺寸。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获得变换单元。此外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是不对称分区类型,则变换单元的尺寸可以是N/2×N/2。
[0161] 关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括:包括相同编码信息的预测单元和最小单元中的至少一个。
[0162] 因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。
[0163] 因此,如果基于邻近数据单元的编码信息来预测当前编码单元,则可直接参考和使用与当前编码单元邻近的根据深度的编码单元中的数据单元的编码信息。
[0164] 可选择地,如果基于邻近数据单元的编码信息来预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,可参考搜索到的邻近编码单元来预测当前编码单元。
[0165] 图13是根据的表1的编码模式信息描述编码单元、预测单元、和变换单元之间的关系的示图。
[0166] 最大编码单元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。
[0167] 当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的划分信息(TU尺寸标记)为0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标记为1,则设置尺寸为N×N的变换单元1344。
[0168] 当分区类型被设置为不对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标记为1,则设置尺寸为N/2×N/2的变换单元1354。
[0169] TU尺寸标记是一种变换索引,与变换索引相应的变换单元的尺寸可根据预测单元类型或编码单元的分区类型来修改
[0170] 当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的TU尺寸标记为0,则尺寸为2N×2N的变换单元1342被设置,如果TU尺寸标记为1,则尺寸为N×N的变换单元1344被设置。
[0171] 当分区类型被设置为不对称(即,分区类型1332(2N×nU)、1334(2N×nD)、1336(nL×2N)或1338(nR×2N))时,如果TU尺寸标记为0,则尺寸为2N×2N的变换单元1352被设置,如果TU尺寸标记为1,则尺寸为N/2×N/2的变换单元1354被设置。
[0172] 参照图13,上述TU尺寸标记是具有值0或1的标记,但TU尺寸标记不限于1比特,在TU尺寸标记从0增加的同时,变换单元可被分层划分。变换单元划分信息(TU尺寸标记)可用作变换索引的示例。
[0173] 在这种情况下,当以变换单元的最大尺寸和最小尺寸来使用根据实施例的TU尺寸标记时,实际使用的变换单元的尺寸可被表示。视频编码装置100可对最大变换单元尺寸信息、最小变换单元尺寸信息和最大变换单元划分信息进行编码。编码的最大变换单元尺寸信息、最小变换单元尺寸信息和最大变换单元划分信息可被插入序列参数集(SPS)。视频解码装置200可使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大变换单元划分信息以进行视频解码。
[0174] 例如,(a)如果当前编码单元的尺寸是64×64并且最大变换单元是32×32,则(a-1)如果TU尺寸标记为0,则变换单元的尺寸是32×32;(a-2)如果TU尺寸标记为1,则变换单元的尺寸是16×16;(a-3)如果TU尺寸标记为2,则变换单元的尺寸是8×8。
[0175] 可选择地,(b)如果当前编码单元的尺寸是32×32并且最小变换单元是32×32,则(b-1)如果TU尺寸标记为0,则变换单元的尺寸是32×32,并且由于变换单元的尺寸不能够小于32×32,因此不可设置更多的TU尺寸标记。
[0176] 可选择地,(c)如果当前编码单元的尺寸是64×64并且最大TU尺寸标记为1,则TU尺寸标记可以是0或1,不可设置其它TU尺寸标记。
[0177] 因此,当定义最大TU尺寸标记为“MaxTransformSizeIndex”,最小TU尺寸标记为“MinTransformSize”,并且在TU尺寸标记为0时的情况下的变换单元(即,基本变换单元RootTu)为“RootTuSize”时,可通过下面的等式(1)来定义在当前编码单元中可用的最小变换单元的尺寸“CurrMinTuSize”:
[0178] CurrMinTuSize=max(MinTransformSize,RootTuSize/(2∧MaxTransformSizeIndex))……(1)
[0179] 与在当前编码单元中可用的最小变换单元的尺寸“CurrMinTuSize”相比,当TU尺寸标记为0时作为变换单元的尺寸的基本变换单元尺寸“RootTuSize”可指示可关于系统选择的最大变换单元。也就是说,根据等式(1),“RootTuSize/(2∧MaxTransformSizeIndex)”是通过将作为当变换单元划分信息为0时的变换单元的尺寸的“RootTuSize”划分与最大变换单元划分信息相应的划分次数而获得的变换单元的尺寸,并且“MinTransformSize”是最小变换单元的尺寸,因此,这些值中较小的值可以是作为在当前编码单元中可用的最小变换单元的尺寸的“CurrMinTuSize”。
[0180] 根据本发明的实施例的基本变换单元的尺寸“RootTuSize”可根据预测模式而改变。
[0181] 例如,如果当前预测模式是帧间模式,则可根据以下的等式(2)来确定RootTuSize。在等式(2)中,“MaxTransformSize”是指最大变换单元尺寸,“PUSize”是指当前预测单元尺寸。
[0182] RootTuSize=min(MaxTransformSize,PUSize).........(2)
[0183] 换句话说,如果当前预测模式是帧间模式,则TU尺寸标记为0时作为变换单元的基本变换单元尺寸的尺寸“RootTuSize”可被设置为最大变换单元尺寸和当前预测单元尺寸之中的较小值。
[0184] 如果当前分区单元的预测模式是帧内模式,则可根据以下的等式(3)来确定“RootTuSize”。“PartitionSize”是指当前分区单元的尺寸。
[0185] RootTuSize=min(MaxTransformSize,PartitionSize)……(3)
[0186] 换句话说,如果当前预测模式是帧内模式,则基本变换单元尺寸“RootTuSize”可被设置为最大变换单元尺寸和当前分区单元尺寸中较小的值。
[0187] 然而,应该注意,作为根据本发明的实施例的当前最大变换单元尺寸且根据分区单元的预测模式而改变的基本变换单元的尺寸“RootTuSize”是示例,用于确定当前最大变换单元尺寸的因素不限于此。
[0188] 在下文中,将详细描述在图1的视频编码装置100的熵编码器120中执行的符号的熵编码操作以及在图2的视频解码装置200的熵解码器220中执行的符号的熵解码操作。
[0189] 如上所述,视频编码装置100和视频解码装置200通过将最大编码单元划分为小于或等于最大编码单元的编码单元来执行编码和解码。可基于与其它数据单元独立的成本来确定在预测和变换中使用的预测单元和变换单元。由于可通过对包括在最大编码单元中的具有分层结构的每个编码单元进行递归编码来确定最佳编码单元,因此具有树结构的数据单元可被配置。换句话说,对于每个最大编码单元,具有树结构的编码单元以及均具有树结构的预测单元和变换单元可被配置。对于解码,作为指示具有分层结构的数据单元的结构信息的信息的分层信息以及除分层信息以外的用于解码的非分层信息需要被发送。
[0190] 与分层结构相关的信息是如以上参照图10至图12所描述的用于确定具有树结构的编码单元、具有树结构的预测单元和具有树结构的变换单元所需的信息,并且包括最大编码单元的尺寸、编码深度、预测单元的分区信息、指示编码单元是否被划分的划分标记、关于变换单元的尺寸的信息和指示变换单元是否被划分的变换单元划分标记“TU尺寸标记”。除分层结构信息以外的编码信息的示例包括应用于每个预测单元的帧内/帧间预测的预测模式信息、运动矢量信息、预测方向信息、在多个颜色分量被使用时的情况下应用于每个数据单元的颜色分量信息、以及诸如变换系数的纹理信息。
[0191] 图14是示出根据本发明的实施例的熵编码装置1400的结构的框图。图14的熵编码装置1400与图1的视频编码装置100的熵编码器120对应。熵编码装置1400执行符号的熵编码,其中,所述符号指示与作为编码目标的分层结构相关的信息以及除分层结构信息以外的编码信息。
[0192] 参照图14,根据本实施例的熵编码装置1400包括上下文建模单元1410、概率估计器1420和常规编码器1430。上下文建模单元1410基于编码的画面的符号所属的数据单元的分层信息来确定用于对符号进行熵编码的上下文模型。详细地讲,假设与当前编码的目标符号所属的分层构造的数据单元相关的分层信息具有I个状态值(其中,I是正整数),上下文建模单元1410可根据分层信息的状态值设置I个或更少数量的上下文模型,并可通过根据分层信息的状态值分配指示所述I个或更少数量的上下文模型中的一个的上下文索引,以确定将被用于对当前符号进行编码的上下文模型。例如,当前编码的目标符号所属的数据单元的尺寸具有总共五个状态值2×2、4×4、8×8、16×16、32×32和64×64。假设以上数据单元尺寸被用作分层信息,上下文建模单元1410可根据数据单元尺寸设置五个或更少数量的上下文模型,并可基于当前符号所属的数据单元的尺寸来确定并输出指示将被用于对当前符号进行熵编码的上下文模型的上下文索引。
[0193] 除了上述绝对数据单元尺寸信息以外,可使用指示符号所属的数据单元相对于更高数据单元的相对尺寸的相对分层信息。例如,在当前数据单元是具有N×N尺寸的数据单元时,可通过指示具有2N×2N的尺寸的更高数据单元是否被划分的划分标记来确定当前符号所属的数据单元的尺寸,其中,从所述具有2N×2N尺寸的数据单元划分出所述具有N×N尺寸的数据单元。因此,上下文建模单元1410可通过指示关于更高数据单元的尺寸的信息以及更高数据单元是否被划分的划分标记来确定当前符号所属的数据单元的尺寸,并随后基于关于确定的数据单元尺寸的信息来确定适合于当前符号的上下文模型。此外,指示当前符号所属的数据单元的尺寸与更高数据单元的尺寸的比率的信息可被用作分层信息。例如,在当前数据单元具有按照具有2N×2N尺寸的更高数据单元的1/2比率的尺寸时,可从上述比率信息确定作为当前符号所属的数据单元的尺寸的N×N尺寸。因此,上下文建模单元1410可使用指示当前符号所属的数据单元相对于更高数据单元的相对尺寸的相对分层信息来确定当前符号所属的数据单元的尺寸作为分层信息,并随后基于确定的数据单元尺寸来确定上下文模型。
[0194] 此外,上下文建模单元1410可根据经历熵编码的目标符号的类型,基于分层信息和除分层信息以外的附加信息的组合来确定用于对目标符号进行熵编码的上下文模型。详细地讲,假设与当前编码的目标符号所属的分层构造的数据单元相关的分层信息具有I个状态值,除分层信息以外的其它非分层信息具有J个状态值,其中,J是正整数,则分层信息和非分层信息的可用情况的数量总共是I×J。上下文建模单元1410可根据I×J个状态值的组合来设置I×J或更少数量的上下文模型,并通过根据当前符号所属的数据单元的分层信息和非分层信息的状态值来分配指示所述I×J或更少数量的上下文模型中的一个的上下文索引,以确定将用于对当前符号进行编码的上下文模型。例如,假设关于具有总共五个状态值2×2、4×4、8×8、16×16、32×32和64×64的符号所属的数据单元的尺寸的信息被用作分层信息并且具有亮度分量和色度分量的两个状态值的符号所属的数据单元的颜色分量信息被用作非分层信息的情况。在这种情况下,总共5×2(即,10)个组合可作为分层信息和非分层信息的状态值。上下文建模单元1410设置与所述十个状态值组合相应的十个或更少数量的上下文模型,并且确定并输出根据与当前符号相关的状态值确定的上下文索引。
[0195] 不限于上述示例,上下文建模单元1410可通过根据编码的符号的类型按照各种方式组合分层信息和非分层信息来选择多个上下文模型中的一个。换句话说,n条分层信息和非分层信息(其中,n是整数)被用于确定上下文模型。假设所述n条分层信息和非分层信息均具有Si个状态值(其中,Si是整数并且i是从1到n的整数),则上下文建模单元1410可基于与当前编码的符号相关的状态值,确定并输出指示与S1×S2×...×Sn个状态值组合相应的多个上下文模型中的一个的上下文索引。所述S1×S2×...×Sn个状态值组合被分组,因此可使用S1×S2×...×Sn或更少数量的上下文模型。
[0196] 返回参照图14,概率估计器1420使用从上下文建模单元1410输出的上下文索引信息,确定并输出关于二进制信号0和1之中的与最可能符号(MPS)和最不可能符号(LPS)相应的二进制信号的信息以及关于MPS或LPS的概率值信息。可通过从预设查找表读取由上下文索引指示的概率值来确定MPS或LPS的概率值。此外,可基于二进制信号的出现统计累积值来更新MPS和LPS的概率值。
[0197] 常规编码器1430基于与MPS或LPS相应的概率值信息和二进制信号信息来对当前符号进行熵编码和输出。
[0198] 除了基于MPS和LPS的概率值对符号进行编码的上下文自适应二进制算数编码(CABAC)方法以外,熵编码装置1400可通过根据分层信息和非分层信息的组合分配预设码字的可变长编码方法对每个符号进行编码。
[0199] 以下描述使用基于分层信息的上下文建模执行符号的熵编码的处理。详细地讲,描述执行与变换系数相关的符号、具有变换单元的分层结构的符号和具有分层结构的编码单元的符号的熵编码的处理。
[0200] 图15示出根据本发明的实施例的分层构造的数据单元和分层构造的数据单元划分信息。在以下描述中,假设数据单元是变换单元。
[0201] 如上所述,根据本实施例,使用具有分层结构的编码单元、预测单元和变换单元来执行编码。在图15中,具有作为最高层级的层级0的N×N的尺寸的变换单元1500被划分为作为比所述最高层级低一层级的较低层级的层级1的变换单元31a、31b、31c、和31d。层级1的某些变换单元31a和31d均被划分为作为低一层级的较低层级的层级2的变换单元32a、32b、32c、32d、32e、32f、32g和32h。指示每个变换单元是否被划分为低一层级的较低层级的变换单元的变换单元划分标记“TU尺寸标记”可被用作用于指示变换单元的分层结构的符号。例如,在当前变换单元的TU尺寸标记是1时,可示出当前变换单元被划分为更低层级的变换单元。在当前变换单元的TU尺寸标记是0时,可示出当前变换单元不再被划分。
[0202] 当从层级0的变换单元划分的变换单元31a、31b、31c、31d、32a、32b、32c、32d、32e、32f、32g和32h形成分层结构时,每个变换单元的变换单元划分信息可形成分层结构。换句话说,具有分层结构的变换单元划分信息33包括最高层级0的变换单元划分信息34、层级1的变换单元划分信息35a、35b、35c和35d、以及层级2的变换单元划分信息36a、36b、36c、
36d、36e、36f、36g、36h。
[0203] 在具有分层结构的变换单元划分信息33中,层级0的变换单元划分信息34可表示最高层级0的变换单元被划分。按照相似的方式,层级1的变换单元划分信息35a和35d可表示层级1的变换单元31a和31d被划分为层级2的变换单元32a、32b、32c、32d、32e、32f、32g和32h。
[0204] 层级1的某些变换单元31b和31c不再被划分并且与树结构中不具有子节点的叶节点相应。类似地,层级2的变换单元32a、32b、32c、32d、32e、32f、32g和32h与不再被划分为更低层级的变换单元的叶节点相应。
[0205] 这样,指示更高层级的变换单元是否被划分为更低层级的变换单元的TU尺寸标记可被用作指示变换单元的分层结构的符号。
[0206] 当指示变换单元的分层结构的TU尺寸标记被熵编码时,根据本实施例的视频编码装置100可对所有节点的TU尺寸标记进行编码,或者仅对不具有子节点的叶节点的TU尺寸标记进行编码。
[0207] 图16和图17是示出根据本发明的实施例的指示分层构造的数据单元的符号的参考示图。在图16和图17中,标记被假设为在图15的变换单元划分信息33的树结构中指示每个节点的变换单元是否被划分为更低层级的变换单元的TU尺寸标记。参照图16,根据作为指示变换单元的分层结构的符号的本实施例的视频编码装置100可针对所有层级的变换单元30、31a、31b、31c、31d、32a、32b、32c、32d、32e、32f、32g和32h执行所有变换单元划分标记信息flag0、flag1a、flag1b、flag1c、flag1d、flag2a、flag2b、flag2c、flag2d、flag2e、flag2f、flag2g和flag2h的熵编码,作为指示变换单元的分层结构的符号。此外,如图17中所示,视频编码装置100可仅对与不具有子节点的叶节点相应的变换单元的变换单元划分标记信息flag1b、flag1c、flag2a、flag2b、flag2c、flag2d、flag2e、flag2f、flag2g和flag2h进行熵编码。这是因为可根据较低层级的变换单元划分标记信息的存在来确定是否对较高层级的变换单元进行划分。例如,在图17中,当存在层级2的变换单元36a、36b、36c和36d的变换单元划分标记flag2a、flag2b、flag2c和flag2d时,作为层级2的变换单元36a、
36b、36c和36d的更高层级的层级1的变换单元35a必须被划分为作为较低层级的层级2的变换单元,使得层级1的变换单元35a的变换单元划分标记信息flag1a不需要被单独编码。
[0208] 根据本实施例的视频解码装置200可根据符号分层解码模式,针对所有层级的变换单元30、31a、31b、31c、31d、32a、32b、32c、32d、32e、32f、32g和32h提取并读取所有变换单元划分标记flag0、flag1a、flag1b、flag1c、flag1d、flag2a、flag2b、flag2c、flag2d、flag2e、flag2f、flag2g和flag2h,从而确定变换单元的分层结构。此外,当仅针对与叶节点相应的变换单元31b、31c、32a、32b、32c、32d、32e、32f、32g和32h的变换单元划分标记flag1b、flag1c、flag2a、flag2b、flag2c、flag2d、flag2e、flag2f、flag2g和flag2h被编码时,根据本实施例的视频解码装置200基于提取的变换单元划分标记flag1b、flag1c、flag2a、flag2b、flag2c、flag2d、flag2e、flag2f、flag2g和flag2h确定其它变换单元划分标记flag0、flag1a、flag1b、flag1c和flag1d,从而确定变换单元的分层结构。
[0209] 如上所述,上下文建模单元1410可基于根据分层信息或分层信息和非分层信息的组合的状态值来确定多个上下文模型中的一个以对指示变换单元的分层结构的变换单元划分标记进行熵编码。
[0210] 具体地讲,上下文建模单元1410可基于将被编码的当前变换单元划分标记所属的变换单元的分层信息来确定用于当前变换单元划分标记的熵编码的上下文模型。
[0211] 图19示出根据本发明的实施例的用于基于数据单元的尺寸来确定上下文模型的上下文索引的示例。参照图19,上下文建模单元1410可通过基于当前变换单元标记所属的变换单元的尺寸的信息分配指示多个预设上下文模型的上下文索引中的一个来确定用于对当前变换单元标记进行熵编码的上下文模型。例如,在当前变换单元标记所属的变换单元的尺寸是16×16时,具有上下文索引值6的上下文模型被选择。
[0212] 图20是示出根据本发明的实施例的上下文模型的参考示图。如上所述,概率估计器1420使用从上文建模单元1410输出的上下文索引信息,确定并输出关于二进制信号“0”和“1”中的与MPS和LPS相应的二进制信号的信息以及关于MPS或LPS的概率值的信息。参照图20,概率估计器1420以查找表的形式包括多个二进制信号的出现概率,并且根据当前编码的符号和周围状况改变二进制信号的出现概率并将确定的概率值信息输出到常规编码器1430。具体地讲,当从上下文建模单元1410接收指示将被应用于当前符号的上下文模型的上下文索引Index NO.(索引NO.)时,概率估计器1420可确定与相应的上下文索引Index NO.相应的出现概率表的索引pStateIdx和与MPS相应的二进制信号。
[0213] 图21是根据本发明的实施例的MPS出现概率值的图表。出现概率值指示MPS的概率值。当出现概率表的索引pStateIdx被分配时,相应的MPS的概率值被确定。例如,当上下文建模单元1410确定用于当前符号的编码的上下文模型的索引的值为1并输出确定的值时,概率估计器1420确定与图20中的上下文模型的上下文索引1相应的pStateIdx值7和MPS值0。此外,概率估计器1420确定根据pStateIdx值预设的MPS的概率值之中的与pStateIdx=7相应的MPS的概率值。由于MPS和LPS的概率值之和为1,因此如果MPS和LPS中的一个的概率值已知,则其余二进制信号的概率值可被确定。
[0214] 每当单个bin被常规编码器1430编码时,概率估计器1420可通过根据MPS或LPS是否被编码更新pStateIdx值,以更新考虑二进制信号的出现的统计的MPS和LPS的概率值。例如,考虑常规编码器1430进行编码的结果的概率估计器1420可以以预定查找表的形式,在MPS被编码时在进行更新之后设置作为pStateIdx的值的transIdxMPS,并且可在LPS被编码时在进行更新之后设置作为pStateIdx的值的tranIdxLPS。然后,概率估计器1420可通过针对每次编码更新pStateIdx值来改变MPS的概率值。
[0215] 常规编码器1430基于关于概率值的信息和关于与MPS或LPS相应的二进制信号的信息来执行熵编码并输出与当前符号相应的二进制信号。
[0216] 图26是用于描述由图14的常规编码器1430执行的二进制算数编码处理的示图。在图26中,假设指示变换单元的分层结构的TU尺寸标记是二进制值“010”并且1的出现概率和0的出现概率分别是0.2和0.8。这里,基于当前TU尺寸标记所属的变换单元的分层信息(例如,关于变换单元的尺寸的信息)来确定1和0的出现概率。
[0217] 参照图26,当二进制值“010”的初始bin值“0”被编码时,作为初始区段[0.0~1.0]的较低80%的部分的区段[0.0~0.8]被更新为新的区段。接下来,当下一个bin值“1”被编码时,作为区段[0.0~0.8]的较高20%的部分的区段[0.64~0.8]被更新为新的区段。当下一个“0”被编码时,作为区段[0.64~0.8]的较低80%的部分的区段[0.64~0.768]被更新为新的区段。在与属于最终的区段[0.64-0.768]的真实数值“0.75”对应的二进制数“0.11”中,作为0.11的小数部分的“11”被输出作为与TU尺寸标记的二进制值“010”相应的比特流。
[0218] 当基于关于变换单元的尺寸的信息的用于TU尺寸标记的熵编码的上下文模型被确定时,如图22中所示,上下文建模单元1410可对变换单元的尺寸进行分组,并设置上下文索引以确定上下文模型。
[0219] 上下文建模单元1410可使用指示符号所属的数据单元相对于更高变换单元的相对尺寸的相对分层信息而不是绝对变换单元尺寸信息。例如,当前变换单元是具有相对于具有2N×2N的尺寸的更高变换单元的1/2的比率的尺寸的变换单元,上下文建模单元1410可从比率信息确定当前TU尺寸标记所属的变换单元具有N×N的尺寸,并基于确定的变换单元的尺寸来确定上下文模型。
[0220] 上下文建模单元1410可根据将被熵编码的目标符号的类型,基于分层信息和除分层信息以外的附加信息的组合来确定用于TU尺寸标记的熵编码的上下文模型。
[0221] 图25是示出根据本发明的实施例的基于分层信息和除分层信息以外的附加信息的组合确定上下文索引的参考示图。参照图25,上下文建模单元1410根据具有I个状态值的第一信息条p1至pI(其中,I是整数)以及具有J个状态值的第二信息条q1至qJ(其中,J是整数)的组合来设置指示多个上下文模型中的一个的上下文索引,并根据与当前编码的符号相关的第一信息和第二信息来确定并输出上下文索引。例如,当关于总共具有五个状态值2×2、4×4、8×8、16×16、32×32和64×64的符号所属的数据单元的尺寸的信息被用作第一信息,并且具有亮度分量和色度分量的两个状态值的颜色分量信息被用作非分层信息时,十个组合可用,并且上下文建模单元1410设置与所述十个状态值组合相应的十个或更少数量的上下文模型,并且确定并输出根据与当前符号相关的状态值确定的上下文索引。此外,上下文建模单元1410可如图22中对状态值进行分组以根据分组的状态值设置上下文索引。
[0222] 这样,根据本实施例的上下文建模单元1410可根据将被编码的符号的类型,通过对分层信息和非分层信息进行各种组合来选择多个上下文模型中的一个。
[0223] 对用于指示变换单元的分层结构的符号进行编码的上述处理可被同样应用于对指示编码单元或预测单元的分层结构的符号进行编码的处理。指示每个编码单元是否被划分为低一层级的较低层级的编码单元的划分标记可被用作指示编码单元的分层结构的符号。与上述TU尺寸标记的熵编码类似,根据通过对分层信息和非分层信息进行各种组合获得的状态值,基于选择的上下文模型来对划分标记进行熵编码。
[0224] 下面描述与变换系数相关的符号的熵编码的处理。图18是用于描述根据本发明的实施例的变换系数的熵编码的处理的参考示图。
[0225] 与基于变换单元的分层结构而变换的变换系数相关的符号包括:标记“coded_block_flag”,指示在变换单元中包括的变换系数中是否存在不为0的变换系数值;标记“significant_coeff_flag”,指示不为0的变换系数的位置;标记“last_significant_coeff_flag”,指示不为0的最后变换系数的位置;以及不为0的变换系数的绝对值。
[0226] 当标记coded_block_flag为0时,即,在当前变换单元中不存在不为0的变换系数的情况,表示没有更多将被发送的信息被余下。具有二进制值0或1的标记coded_block_flag针对每个变换单元被确定。可与指示图15的变换单元的分层结构的TU尺寸标记类似地对标记coded_block_flag进行熵编码。当与更高节点相应的变换单元的标记coded_block_flag为0时,与子节点相应的变换单元的标记coded_block_flag均具有值0,因此,仅更高节点的标记coded_block_flag被熵编码。
[0227] 参照图18,根据zigzag扫描顺序来扫描变换单元2000中的变换系数。扫描顺序可被改变。在图18中,假设与空白空间相应的所有变换系数具有0。在图18中,最终的有效变换系数是具有值“-1”的变换系数2010。在扫描变换单元2000中的每个变换系数时,熵编码装置1400对指示每个变换系数是否是不为0的变换系数的标记“significant_coeff_flag”以及指示不为0的变换系数是否是扫描顺序中处于最后的位置的不为0的变换系数的标记“last_significant_coeff_flag”进行编码。换句话说,当标记significant_coeff_flag为1时,处于相应位置的变换系数是具有不为0的值的有效变换系数。当标记significant_coeff_flag为0时,处于相应位置的变换系数是具有为0的值的有效变换系数。当标记last_significant_coeff_flag为0时,在扫描顺序中随后的有效变换系数保留。当标记last_significant_coeff_flag为1时,处于相应位置的变换系数是最后的有效变换系数。为了指示最后的有效变换系数的位置,指示最后的有效变换系数的相对位置的坐标信息可取代标记last_significant_coeff_flag而被使用。例如,如图18中所示,由于作为最后的有效变换系数的变换系数“-1”2010相对于处于图18中的左侧最上位置的变换系数位于平轴方向的第五个位置和垂直轴方向的第五个位置,因此熵编码装置1400可将值x=5且y=5编码为最后的有效变换系数的位置信息。
[0228] 上下文建模单元1410可基于根据分层信息或分层信息与非分层信息的组合的状态值来确定用于与变换系数相关的符号的熵编码的上下文模型。换句话说,与确定用于指示变换单元的上述分层结构的TU尺寸标记的熵编码的上下文模型的处理类似,上下文建模单元1410可基于将被编码的当前变换系数所属的变换单元的分层信息来确定用于与变换系数相关的符号的熵编码的上下文模型。例如,如图19或22中所示,上下文建模单元1410可使用关于当前变换系数所属的变换单元的尺寸的信息来确定用于与变换系数相关的符号的熵编码的上下文模型。
[0229] 此外,上下文建模单元1410可使用指示符号所属的数据单元相对于更高变换单元的相对尺寸的相对分层信息,而不是绝对变换单元尺寸信息。上下文建模单元1410可基于分层信息和除分层信息以外的附加信息的组合来确定用于与变换系数相关的符号的熵编码的上下文模型。例如,上下文建模单元1410可基于关于变换单元的尺寸的信息和作为非分层信息的颜色分量信息来设置上下文索引。此外,上下文建模单元1410可使用关于每个像素的位置的信息作为用于以像素为单位设置的符号的熵编码的非分层信息,诸如指示变换系数是否是不为0的变换系数的标记“significant_coeff_flag”以及指示不为0的变换系数是否是在扫描顺序中处于最后位置的不为0的变换系数的标记“last_significant_coeff_flag”。
[0230] 图23和图24是示出根据本发明的实施例的基于关于数据单元的位置的信息设置的上下文索引映射表的参考示图。参照图23和24,上下文建模单元1410可在以像素为单位设置的符号的熵编码期间根据每个像素的位置来分配如参考标号2500和2600指示的上下文索引,并可使用根据当前符号的位置确定的上下文索引来确定上下文模型。此外,上下文建模单元1410可在以像素为单位设置的符号的熵编码期间通过分层信息的组合来确定上下文模型。例如,可通过对根据变换单元的尺寸的第一信息和根据变换系数的位置的第二信息进行组合,确定指示变换系数是否是不为0的变换系数的标记“significant_coeff_flag”以及指示不为0的变换系数是否是在扫描顺序中处于最后位置的不为0的变换系数的标记“last_significant_coeff_flag”。如图25中所示,上下文建模单元1410可根据具有I个状态值的第一信息条p1至pI(其中,I是整数)与具有J个状态值的第二信息条q1至qJ(其中,J是整数)的组合来设置指示多个上下文模型中的一个的上下文索引,并可根据关于当前变换系数所属的变换单元的尺寸和当前变换系数的位置的信息确定并输出上下文索引。
[0231] 尽管在以上描述中通过使用CABAC对符号进行编码和解码,但熵编码装置1400可通过可变长编码方法来对每个符号进行编码,其中,在所述可变长编码方法中,根据分层信息和非分层信息的组合来分配预设码字。
[0232] 根据本实施例的熵编码装置1400不限于以上描述,而可通过从以下信息选择的至少一个信息的组合来确定多个上下文模型中的一个:编码单元的分层信息、预测单元的分层信息、变换单元的分层信息、颜色分量信息、预测模式信息、编码单元的最大尺寸、编码深度、关于预测单元的分区的信息、指示编码单元是否被划分的划分标记、关于变换单元的尺寸的信息、指示变换单元是否被划分的TU尺寸标记、应用于每个预测单元的帧内/帧间预测的预测模式信息、运动矢量信息、预测方向信息和与符号的位置相关的信息,并且所述熵编码装置1400使用确定的上下文模型来对符号执行熵编码。
[0233] 图27是根据本发明的实施例的使用分层构造的数据单元的视频编码方法的流程图。参照图27,在操作2910,分层编码器110基于分层构造的数据单元对形成视频的画面进行编码。在基于分层构造的数据单元对画面进行编码的处理中,与每个深度相应的分层构造的编码单元、包括编码深度的编码单元的根据树结构的编码单元、用于编码深度的每个编码单元的预测编码的分区以及变换单元的分层结构可针对每个最大编码单元被确定。
[0234] 在操作2920,基于编码的画面的符号所属的数据单元的分层信息来确定用于确定符号的熵编码的上下文模型的熵编码器120。此外,熵编码器120可通过与分层结构相关的信息与除分层结构信息以外的附加信息的组合来确定多个上下文模型中适合于当前符号的上下文模型。
[0235] 分层信息可以是关于符号所属的数据单元的尺寸的信息和指示符号所述的数据单元相对于更高层级的数据单元的相对尺寸的相对分层信息中的一个,其中,所述更高层级的数据单元比符号所属的数据单元具有更大尺寸。相对分层信息可包括关于更高数据单元的尺寸的信息、指示更高数据单元是否被划分的划分标记、或关于符号所属的数据单元相对于更高数据单元的尺寸的相对比率的信息。
[0236] 在操作2930,熵编码器120使用确定的上下文模型执行符号的熵编码。所述符号可包括关于变换系数的信息、关于用于使用分层构造的数据单元进行编码的变换单元的分层结构的信息、以及关于画面的分层结构的信息。
[0237] 图28是示出根据本发明的实施例的熵解码装置3000的结构的框图。图28的熵解码装置3000与图2的视频解码装置200的熵解码器220相应。
[0238] 熵解码装置3000对作为由图2的符号提取单元210提取出的编码目标的指示与分层结构相关的信息和除分层结构信息以外的关于编码的信息的符号进行熵解码。参照图28,根据本实施例的熵解码装置3000包括上下文建模单元3010、概率估计器3020和常规解码器3030。
[0239] 上下文建模单元3010基于符号所属的数据单元的分层信息来确定用于符号的熵编码的上下文模型。具体地讲,假设与当前解码的目标符号所属的分层构造的数据单元相关的分层信息具有I个状态值(其中,I是正整数),上下文建模单元3010可根据分层信息的状态值设置I个或更少数量的上下文模型,并可通过根据分层信息的状态值分配指示所述I个或更少数量的上下文模型中的一个的上下文索引来确定将被用于当前符号的解码的上下文模型。此外,除了上述绝对数据单元尺寸信息以外,可使用指示符号所属的数据单元相对于更高数据单元的相对尺寸的相对分层信息。
[0240] 指示当前符号所属的数据单元的尺寸相比于更高数据单元的尺寸的比率的信息可被用作分层信息。上下文建模单元3010可使用作为分层信息的指示当前符号所属的数据单元相对于更高数据单元的相对尺寸的相对分层信息来确定当前符号所属的数据单元的尺寸,并可基于确定的数据单元的尺寸来确定上下文模型。此外,上下文建模单元3010可根据符号的类型,基于分层信息和除分层信息以外的附加信息的组合来确定用于目标符号的熵解码的上下文模型。
[0241] 具体地讲,假设与当前解码的目标符号所属的分层构造的数据单元相关的分层信息具有I个状态值,并且除分层信息以外的其它非分层信息具有J个状态值(其中,J是正整数),上下文建模单元3010可根据I×J个状态值的组合设置I×J个或更少数量的上下文模型,并可通过根据当前符号所属的数据单元的分层信息和非分层信息的状态值分配指示所述I×J个或更少数量的上下文模型中的一个的上下文索引来设置用于当前符号的解码的上下文模型。此外,由上下文建模单元3010基于分层信息和非分层信息的组合确定的上下文模型被设置为在熵编码装置1400的上下文建模单元1410中。
[0242] 上下文建模单元3010不限于上述实施例,可通过根据将被解码的符号的类型对分层信息和非分层信息进行各种组合来选择多个上下文模型中的一个。
[0243] 概率估计器3020使用从上下文建模单元3010输出的上下文索引信息来确定并输出关于MPS和LPS的概率值的信息以及关于二进制信号0和1之中的与MPS和LPS相应的二进制信号的信息。可通过从预设查找表读取由上下文索引指示的概率值来确定MPS或LPS的概率值。此外,可基于二进制信号的出现统计累计值来更新MPS或LPS的概率值。
[0244] 常规解码器3030基于二进制信号信息以及与MPS或LPS相应的概率信息来执行包括在比特流中的当前符号的熵解码,并输出解码的符号信息。
[0245] 图29是根据本发明的另一实施例的使用分层构造的数据单元的视频解码方法的流程图。参照图29,在操作3110,符号提取单元210通过对编码的比特流进行解析来提取基于分层构造的数据单元编码的画面的符号。
[0246] 在操作3120,熵解码器220基于符号所属的数据单元的分层信息来确定用于符号的熵解码的上下文模型。此外,熵解码器220可通过与分层结构相关的信息和除分层结构信息以外的附加信息的组合来确定多个上下文模型之中将被应用于当前符号的上下文模型。
[0247] 分层信息可以是关于符号所属的数据单元的尺寸的信息和指示符号所属的数据单元相对于更高层级的数据单元的相对尺寸的相对分层信息中的一个,其中,所述更高层级的数据单元比符号所属的数据单元具有更大的尺寸。相对分层信息可包括关于更高数据单元的尺寸的信息、指示更高数据单元是否被划分的划分标记、或关于符号所属的数据单元相对于更高数据单元的尺寸的相对比率的信息。
[0248] 在操作3130,熵解码器220使用确定的上下文模型对符号进行解码。所述符号可包括关于变换系数的信息、关于用于使用分层构造的数据单元进行编码的变换单元的分层结构的信息、以及关于画面的分层结构的信息。
[0249] 本发明示也可实现为计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可存储其后可由计算机系统读出的数据的任意数据存储装置。计算机可读记录介质的示例包括:只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储装置等。计算机可读记录介质也可分布于连接网络的计算机系统,从而计算机可读代码以分布式存储和执行。
[0250] 尽管已经参照本发明的优选实施例具体显示和描述了本发明,但是本领域的普通技术人员将理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以在此进行形式和细节上的各种改变。优选实施例应被视为仅是描述性的意义,而不是为了限制的目的。因此,本发明的范围不由本发明的详细描述来限定,而是由权利要求来限定,所述范围内的所有差异将被解释为包括在本发明中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈