首页> 中国专利> 用于使用分层数据单元进行熵编码的方法和设备、以及用于解码的方法和设备

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

摘要

提供了视频编码方法和设备以及视频解码方法和设备。所述视频编码方法包括:基于具有分层结构的数据单元对视频进行编码;基于数据单元的至少一条附加信息确定用于对数据单元的语法元素进行熵编码的上下文模型;通过使用确定的上下文模型对语法元素进行熵编码。

著录项

  • 公开/公告号CN103765887A

    专利类型发明专利

  • 公开/公告日2014-04-30

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN201280042737.9

  • 发明设计人 李泰美;陈建乐;

    申请日2012-07-02

  • 分类号H04N19/13;

  • 代理机构北京铭硕知识产权代理有限公司;

  • 代理人张云珠

  • 地址 韩国京畿道水原市

  • 入库时间 2024-02-20 00:20:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-12

    授权

    授权

  • 2014-06-04

    实质审查的生效 IPC(主分类):H04N19/13 申请日:20120702

    实质审查的生效

  • 2014-04-30

    公开

    公开

说明书

技术领域

本发明涉及对视频进行编码和解码,更具体地讲,涉及对形成视频数据 的语法元素进行熵编码和熵解码。

背景技术

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

发明内容

技术问题

本发明提供一种用于将包括语法元素的附加信息组合来选择用于对语法 元素进行熵编码的上下文模型从而有效地对语法元素进行熵编码和熵解码的 方法和设备。

解决方案

根据本发明的一个或更多个实施例,基于当前数据单元的可用语法元素, 确定用于对当前数据单元的语法元素进行熵编码的上下文模型。

有益效果

根据本发明的一个或更多个实施例,可通过基于包括当前语法元素的关 于数据单元的信息而不是使用先前恢复的周边信息选择上下文模型,来减少 用于存储预恢复的周边信息所需的存储器的大小。

附图说明

图1是根据本发明的实施例的视频编码设备的框图。

图2是根据本发明的实施例的视频解码设备的框图。

图3是用于描述根据本发明的实施例的编码单元的概念的示图。

图4是根据本发明的实施例的基于具有分层结构的编码单元的图像编码 器的详细框图。

图5是根据本发明的实施例的基于具有分层结构的编码单元的图像解码 器的详细框图。

图6是示出根据本发明的实施例的根据深度的较深层编码单元和分区 (partition)的示图。

图7是用于描述根据本发明的实施例的编码单元和变换单元之间的关系 的示图。

图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编 码信息的示图。

图9是根据本发明的实施例的根据深度的较深层编码单元的示图。

图10至图12是用于描述根据本发明的实施例的编码单元、预测单元和 变换单元之间的关系的示图。

图13是用于描述根据表1的编码模式信息的编码单元、预测单元(或分 区)和变换单元之间的关系的示图。

图14是根据本发明的实施例的熵编码设备的框图。

图15是图14的上下文建模器的框图。

图16是用于描述根据本发明的实施例的具有分层结构的数据单元和具 有分层结构的数据单元划分信息的示图。

图17A和图17B是根据本发明的实施例的指示数据单元的分层结构的符 号的参考示图。

图18A和图18B是根据本发明的实施例的用于根据附件信息的组合来确 定上下文模型的上下文索引的示图。

图19是根据本发明的实施例的上下文模型的参考示图。

图20是根据本发明的实施例的最大概率符号(MPS)的概率值的曲线图。

图21是用于描述由图14的常规编码引擎执行的二进制算术编码操作的 示图。

图22是示出根据本发明的实施例的熵编码方法的流程图。

图23是根据本发明的实施例的熵解码设备的框图。

图24是示出根据本发明的实施例的熵解码方法的流程图。

最佳模式

根据本发明的一方面,提供一种视频编码方法,包括:基于具有分层结 构的数据单元对视频进行编码;基于当前数据单元的至少一个第二语法元素 确定用于对将被熵编码的当前数据单元的第一语法元素进行熵编码的上下文 模型,其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语 法元素不同;通过使用确定的上下文模型对当前数据单元的第一语法元素进 行熵编码。

根据本发明的另一方面,提供一种视频编码设备,包括:分层编码器, 用于基于具有分层结构的数据单元对视频进行编码;熵编码器,用于基于当 前数据单元的至少一个第二语法元素确定用于对将被熵编码的当前数据单元 的第一语法元素进行熵编码的上下文模型,并通过使用确定的上下文模型对 当前数据单元的第一语法元素进行熵编码,其中,所述至少一个第二语法元 素可用并且与当前数据单元的第一语法元素不同。

根据本发明的另一方面,提供一种视频解码方法,包括:通过对编码的 比特流进行解析来提取基于具有分层结构的数据单元编码的画面的语法元 素;基于当前数据单元的至少一个第二语法元素确定用于对将被熵解码的当 前数据单元的第一语法元素进行熵解码的上下文模型,其中,所述至少一个 第二语法元素可用并且与当前数据单元的第一语法元素不同;通过使用确定 的上下文模型对第一语法元素进行熵解码。

根据本发明的另一方面,提供一种视频解码设备,包括:语法元素提取 器,用于通过对编码的比特流进行解析来提取基于具有分层结构的数据单元 编码的画面的语法元素;熵解码器,用于基于当前数据单元的至少一个第二 语法元素确定用于对将被熵解码的当前数据单元的第一语法元素进行熵解码 的上下文模型,并通过使用确定的上下文模型对第一语法元素进行熵解码, 其中,所述至少一个第二语法元素可用并且与当前数据单元的第一语法元素 不同。

具体实施方式

在下文中,在本发明的各种实施例中使用的“图像”不仅可表示静止图像, 还可表示诸如视频的运动图像。

当对与图像相关的数据执行各种操作时,可将与图像相关的数据划分为 多个数据组,并可对包括在相同的数据组中的数据执行相同的操作。在下文 中,根据预定的标准形成的数据组被称为“数据单元”。此外,根据“数据单 元”执行的操作通过使用包括在相应的数据单元中的数据来执行。

在下文中,将参照图1至图13描述根据本发明实施例的用于基于根据分 层树结构的编码单元对具有树结构的语法元素进行编码和解码的视频编码和 解码设备。此外,将参照图14至图24详细描述图1至图14的视频编码和解 码方法中使用的熵编码和熵解码处理。

图1是根据本发明的实施例的视频编码设备100的框图。

视频编码设备100包括分层编码器110和熵编码器120。

分层编码器110把将被编码的当前画面划分为具有预定尺寸的数据单 元,并对数据单元进行编码。详细地,分层编码器110可基于最大编码单元 划分当前画面。根据本发明的实施例的最大编码单元可以是尺寸为32×32、 64×64、128×128、256×256等的数据单元,其中,数据单元的形状是宽度 和长度均是2的倍数并大于8的正方形。

根据本发明的实施例的编码单元可由最大尺寸和深度来表征。深度表示 编码单元在空间上从最大编码单元开始被划分的次数,并且随着深度加深, 根据深度的较深层编码单元可从最大编码单元被划分到最小编码单元。最大 编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个 深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此与较 高深度相应的编码单元可包括与较低深度相应的多个编码单元。

如上所述,根据编码单元的最大尺寸将当前画面的图像数据划分为最大 编码单元,每个最大编码单元可包括根据深度划分的较深层编码单元。由于 根据本发明的实施例的最大编码单元根据深度被划分,因此包括在最大编码 单元中的空间域的图像数据可根据深度被分层地分类。

可预先确定编码单元的最大深度和最大尺寸,其中,所述最大深度和最 大尺寸限制最大编码单元的高度和宽度被分层划分的总次数。

分层编码器110对通过根据深度划分最大编码单元的区域而获得的至少 一个划分的区域进行编码,并根据所述至少一个划分的区域确定输出最终编 码的图像数据的深度。换句话说,分层编码器110通过根据当前画面的最大 编码单元按照根据深度的较深层编码单元对图像数据进行编码并选择具有最 小编码误差的深度,来确定编码深度。因此,最终输出与确定的编码深度相 应的编码单元的编码的图像数据。此外,与编码深度相应的编码单元可被看 作编码的编码单元。确定的编码深度和根据确定的编码深度的编码的图像数 据被输出到熵编码器120。

基于与等于或低于最大深度的至少一个深度相应的较深层编码单元来对 最大编码单元中的图像数据进行编码,并基于每个较深层编码单元来比较对 图像数据进行编码的结果。可在比较较深层编码单元的编码误差之后选择具 有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。

随着编码单元根据深度被分层划分并随着编码单元的数量增加,最大编 码单元的尺寸被划分。另外,即使编码单元在一个最大编码单元中相应于相 同深度,仍通过单独测量每个编码单元的图像数据的编码误差来确定是否将 与相同深度相应的每个编码单元划分到更低深度。因此,即使在图像数据被 包括在一个最大编码单元中时,图像数据仍根据深度被划分成区域,并且在 所述一个最大编码单元中编码误差也会根据区域而不同,因此编码深度可根 据图像数据中的区域而不同。因此,可在一个最大编码单元中确定一个或更 多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元 的图像数据。

因此,分层编码器110可确定包括在最大编码单元中的具有树结构的编 码单元。根据本发明的实施例的“具有树结构的编码单元”包括最大编码单 元中所包括的所有较深层编码单元中的与被确定为编码深度的深度相应的编 码单元。可在最大编码单元的相同区域中根据深度分层地确定编码深度的编 码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,当前 区域中的编码深度可与另一区域中的编码深度相独立地被确定。

根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元的 划分次数相关的索引。根据本发明的实施例的第一最大深度可表示从最大编 码单元到最小编码单元的总划分次数。根据本发明的实施例的第二最大深度 可表示从最大编码单元到最小编码单元的深度级别的总数。例如,当最大编 码单元的深度是0时,最大编码单元被划分一次的编码单元的深度可被设置 为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果 最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、深度1、 深度2、深度3、深度4这5个深度级别,因此,第一最大深度可被设置为4, 第二最大深度可被设置为5。

可根据最大编码单元执行预测编码和变换。还根据最大编码单元,基于 根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预 测编码和变换。可根据正交变换或整数变换的方法来执行变换。

由于每当最大编码单元根据深度被划分时较深层编码单元的数量就增 加,因此对随着深度加深而产生的所有较深层编码单元执行包括预测编码和 变换的编码。为了便于描述,现在将在最大编码单元中基于当前深度的编码 单元来描述预测编码和变换。

视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的 尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码 的操作,此时,相同的数据单元可用于所有操作,或者不同的数据单元可用 于每个操作。

例如,视频编码设备100可不仅选择用于对图像数据进行编码的编码单 元,还可选择与该编码单元不同的数据单元以对编码单元中的图像数据执行 预测编码。

为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单 元(即,基于不再被划分为与更低深度相应的编码单元的编码单元)执行预测编 码。在下文中,不再被划分并且成为用于预测编码的基本单元的编码单元现 在将被称为“预测单元”。通过划分预测单元而获得的分区可包括预测单元或 通过划分预测单元的高度和宽度中的至少一个而获得的数据单元。

例如,当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,当当前编码单元的高度和宽度中的每个被 划分为两个相同的部分时,变换深度可以是1,总共被划分为4^1个变换单 元,因此变换单元的尺寸是N×N,当当前编码单元的高度和宽度中的每个被 划分为四个相同的部分时,变换深度可以是2,总共被划分为4^2个变换单 元,因此变换单元的尺寸是N/2×N/2。例如,可根据分层树结构设置变换单 元,其中,根据变换深度的分层特性将较高变换深度的变换单元划分为四个 较低变换深度的变换单元。

与编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的 区域,从而变换单元可以以区域为单位被独立确定。因此,可根据变换深度 根据具有树结构的变换来划分编码单元中的残差数据。

根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信 息,还需要与预测编码和变换相关的信息。因此,分层编码器110不仅确定 具有最小编码误差的编码深度,还可确定预测单元中的分区类型、根据预测 单元的预测模式以及用于变换的变换单元的尺寸。

稍后将参照图3至图12来对根据本发明的实施例的最大编码单元中的根 据树结构的编码单元和确定分区的方法进行详细描述。

分层编码器110可通过使用基于拉格朗日乘子(Lagrangian multiplier)的 率失真优化,测量根据深度的较深层编码单元的编码误差。

熵编码器120在比特流中输出最大编码单元的图像数据以及关于根据编 码深度的编码模式的信息,其中,最大编码单元的图像数据基于由分层编码 器110确定的至少一个编码深度被编码。可通过对图像的残差数据进行编码 来获得编码的图像数据。关于根据编码深度的编码模式的信息可包括关于编 码深度的信息、关于预测单元中的分区类型的信息、预测模式和变换单元的 尺寸。详细地,如下所述,熵编码器120在对最大编码单元的图像数据和关 于根据深度的编码模式的语法元素进行编码时,基于当前数据单元的附加信 息(诸如,关于数据单元的分层结构的信息和关于视频编码方法中使用的颜 色分量的信息)选择上下文模型,并执行熵编码。这里,熵编码器120可通 过考虑当前编码单元的附加信息以及邻近编码单元的附加信息来确定用于对 当前编码单元的语法元素进行熵编码的上下文模型。稍后将详细描述确定用 于对语法元素进行熵编码的上下文模型的处理。

可通过使用根据深度的划分信息来定义关于编码深度的信息,其中,所 述根据深度的划分信息指示是否对更低深度而非当前深度的编码单元执行编 码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数 据被编码和输出,因此划分信息可被定义为不将当前编码单元划分至更低深 度。可选择地,如果当前编码单元的当前深度不是编码深度,则对更低深度 的编码单元执行编码,因此,划分信息可被定义为对当前编码单元进行划分 以获得更低深度的编码单元。

如果当前深度不是编码深度,则对被划分为更低深度的编码单元的编码 单元执行编码。由于在当前深度的一个编码单元中存在至少一个更低深度的 编码单元,因此对更低深度的每个编码单元重复执行编码,因此,可针对具 有相同深度的编码单元递归地执行编码。

由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码 深度的编码单元确定关于至少一个编码模式的信息,因此可针对一个最大编 码单元确定关于至少一个编码模式的信息。另外,由于根据深度分层地划分 图像数据,因此最大编码单元的图像数据的编码深度可根据位置而不同,因 此,可针对图像数据设置关于编码深度和编码模式的信息。

因此,熵编码器120可将关于相应的编码深度和编码模式的编码信息分 配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。

根据本发明的实施例的最小单元可以是通过将构成最低深度的最小编码 单元划分为4份而获得的矩形数据单元,并可以是可被包括在最大编码单元 中包括的所有编码单元、预测单元、分区单元和变换单元中的最大矩形数据 单元。

例如,通过熵编码器120输出的编码信息可被分类为根据编码单元的编 码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预 测模式的信息以及关于分区的尺寸的信息。根据预测单元的编码信息可包括 关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关 于运动矢量的信息、关于帧内模式的色度分量的信息以及关于帧内模式的插 值方法的信息。此外,关于根据画面、条带或GOP定义的编码单元的最大尺 寸的信息以及关于最大深度的信息可被插入到比特流的头中。

在视频编码设备100中,较深层编码单元可以是通过将作为上一层的更 高深度的编码单元的高度或宽度划分为2份而获得的编码单元。换句话说, 在当前深度的编码单元的尺寸是2N×2N时,更低深度的编码单元的尺寸是 N×N。另外,尺寸为2N×2N的当前深度的编码单元可包括最多4个更低深度 的编码单元。

因此,基于考虑当前画面的特性而确定的最大编码单元的尺寸和最大深 度,视频编码设备100可通过针对每个最大编码单元确定具有最佳形状和最 佳尺寸的编码单元,来形成具有树结构的编码单元。另外,由于可通过使用 各种预测模式和变换中的任意一种来对每个最大编码单元执行编码,因此可 考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。

因此,如果按照传统的宏块对具有高分辨率或大数据量的图像进行编码, 则每个画面的宏块的数量急剧增加。因此,针对每个宏块产生的压缩信息的 条数增加,因而难以发送压缩信息并且数据压缩效率下降。然而,通过使用 视频编码设备100,因为在考虑图像的特征的同时调整了编码单元,同时, 在考虑图像的尺寸的同时增大了编码单元的最大尺寸,所以图像压缩效率可 增加。

图2是根据本发明的实施例的视频解码设备200的框图。

视频解码设备200包括语法元素提取器210、熵解码器220和分层解码 器230。用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、 预测单元、变换单元以及关于各种编码模式的信息)的定义与参照图1和视频 编码设备100所描述的那些术语的定义相同。

语法元素提取器210接收编码的视频的比特流并对其进行解析。熵解码 器220从解析的比特流提取每个编码单元的编码的图像数据,并将提取的图 像数据输出到分层解码器230,其中,编码单元具有根据每个最大编码单元 的树结构。

另外,熵解码器220从解析的比特流提取关于根据每个最大编码单元的 具有树结构的编码单元的编码深度、编码模式、颜色分量和预测模式的附加 信息。提取的附加信息被输出到分层解码器230。换句话说,比特流中的图 像数据被划分为最大编码单元并随后被编码,从而分层解码器230针对每个 最大编码单元对图像数据进行解码。

可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据最 大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于 与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息以 及变换单元的尺寸的信息。另外,根据深度的划分信息可被提取作为关于编 码深度的信息。

由熵解码器220提取的关于根据每个最大编码单元的编码深度和编码模 式的信息是关于这样的编码深度和编码模式的信息,即:所述编码深度和编 码模式被确定为当编码器(诸如视频编码设备100)根据每个最大编码单元针 对根据深度的每个较深层编码单元重复执行编码时产生最小编码误差。因此, 视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图 像数据进行解码来恢复图像。

由于关于编码深度和编码模式的编码信息可被分配给相应的编码单元、 预测单元和最小单元中的预定数据单元,因此熵解码器220可提取关于根据 预定数据单元的编码深度和编码模式的信息。被分配有相同的关于编码深度 和编码模式的信息的预定数据单元可被推断为包括在同一最大编码单元中的 数据单元。

详细地,如下所述,熵解码器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的 最大编码单元以及长轴尺寸为32和16的编码单元。同时,由于视频数据330 的最大深度是1,因此由于通过划分最大编码单元一次深度被加深到一层, 视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元以及长轴 尺寸为8的编码单元。

由于视频数据320的最大深度是3,因此由于通过划分最大编码单元三 次深度被加深到3层,视频数据320的编码单元325可包括长轴尺寸为64的 最大编码单元以及长轴尺寸为32、16和8的编码单元。随着深度加深,可精 确地表示详细的信息。

图4是根据本发明的实施例的基于具有分层结构的编码单元的图像编码 器400的详细框图。

帧内预测器410从当前帧405中,在帧内模式下对编码单元执行帧内预 测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495从 当前帧405中,在帧间模式下对编码单元执行帧间估计和运动补偿。

从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过 变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反 量化器460和逆变换器470被恢复为空间域中的数据,并且恢复的空间域中 的数据在通过去块单元480和环路滤波单元490被后处理之后被输出为参考 帧495。量化的变换系数可通过熵编码器450被输出为比特流455。

熵编码器450在对最大编码单元的图像数据和关于根据深度的编码模式 的语法元素进行编码时,基于各种类型的信息选择(诸如,关于数据单元的 分层结构的信息和关于颜色分量的信息)选择上下文模型并执行熵解码。

为了使图像编码器400被应用到视频编码设备100中,图像编码器400 的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器 430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元 480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于 具有树结构的多个编码单元中的每个编码单元执行操作。

具体地讲,帧内预测器410、运动估计器420和运动补偿器425在考虑 当前最大编码单元的最大尺寸和最大深度的同时,确定具有树结构的多个编 码单元中的每个编码单元的分区和预测模式,并且变换器430确定具有树结 构的多个编码单元中的每个编码单元中的变换单元的尺寸。此外,熵编码器 450根据语法元素的类型,基于各种类型的信息(诸如,关于数据单元的分 层结构的信息和关于颜色分量的信息)选择用于对语法元素进行熵编码的上 下文模型并执行熵编码。

图5是根据本发明的实施例的基于具有分层结构的编码单元的图像解码 器500的详细框图。

解析器510从比特流505解析将被解码的编码图像数据以及解码所需的 关于编码的信息。编码的图像数据通过熵解码器520和反量化器530被输出 为反量化的数据,反量化的数据通过逆变换器540被恢复为空间域中的图像 数据。

帧内预测器550针对空间域中的图像数据在帧内模式下对编码单元执行 帧内预测,运动补偿器560通过使用参考帧585在帧间模式下对编码单元执 行运动补偿。

在经过帧内预测器550和运动补偿器560时恢复的空间域中的图像数据 可通过去块单元570和环路滤波单元580被后处理,并可被输出为恢复的帧 595。另外,经过去块单元570和环路滤波单元580被后处理的数据可被输出 为参考帧585。

为了使图像解码器500被应用到视频解码设备200中,图像解码器500 的所有元件(即,解析器510、熵解码器520、反量化器530、逆变换器540、 帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)可基于 每个最大编码单元的具有树结构的编码单元执行解码操作。

具体地讲,帧内预测器550和运动补偿器560可针对具有树结构的编码 单元中的每个编码单元确定分区和预测模式,并且逆变换器540可针对每个 编码单元确定变换单元的尺寸。此外,熵解码器520根据语法元素的类型, 基于各种类型的信息(诸如,关于数据单元的分层结构的信息和关于颜色分 量的信息)选择用于对将被解码的编码的图像数据以及指示用于解码所需的 编码信息的语法元素进行熵解码的上下文模型,并执行熵解码。

图6是示出根据本发明的实施例的根据深度的较深层编码单元和分区的 示图。

视频编码设备100和视频解码设备200使用分层的编码单元以考虑图像 的特性。编码单元的最大高度、最大宽度和最大深度可根据图像的特性被自 适应地确定,或者可由用户不同地设置。根据深度的较深层编码单元的尺寸 可根据编码单元的预定最大尺寸被确定。

根据本发明的实施例,在编码单元的分层结构600中,编码单元的最大 高度和最大宽度都是64,并且最大深度是4。由于深度沿着分层结构600的 纵轴加深,因此较深层编码单元的高度和宽度都被划分。另外,作为用于每 个较深层编码单元的预测编码的基础的预测单元和分区沿分层结构600的横 轴被示出。

换句话说,编码单元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是最小编码单元。

编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果 尺寸为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)。

尺寸为4×4且深度为4的编码单元650是最小编码单元以及最低深度的 编码单元。编码单元650的预测单元仅被分配给尺寸为4×4的分区。

为了确定构成最大编码单元610的编码单元的至少一个编码深度,视频 编码设备100的编码单元确定器120对包括在最大编码单元610中的与每个 深度相应的编码单元执行编码。

随着深度加深,包括相同范围和相同尺寸的数据的根据深度的较深层编 码单元的数量增加。例如,需要四个与深度2相应的编码单元以覆盖包括在 一个与深度1相应的编码单元中的数据。因此,为了根据深度对相同数据的 多个编码结果进行比较,与深度1相应的编码单元以及与深度2相应的四个 编码单元都被编码。

为了针对多个深度中的当前深度执行编码,通过沿分层结构600的横轴, 对与当前深度相应的多个编码单元中的每个预测单元执行编码来针对当前深 度选择最小编码误差。可选择地,随着深度沿分层结构600的纵轴加深,可 通过针对每个深度执行编码,通过根据深度比较最小编码误差,从而搜索最 小编码误差。在编码单元610中的具有最小编码误差的深度和分区可被选为 编码单元610的编码深度和分区类型。

图7是用于描述根据本发明的实施例的编码单元710和变换单元720之 间的关系的示图。

视频编码设备100或视频解码设备200针对每个最大编码单元根据尺寸 小于或等于最大编码单元的编码单元来对图像进行编码或解码。可基于不大 于相应编码单元的数据单元来选择在编码期间用于变换的变换单元的尺寸。

例如,在视频编码设备100或200中,如果编码单元710的尺寸是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的图像数据和编码信息提取器210可根据每个较深层 编码单元来提取并使用用于解码的信息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时,根据每个深度的划分操作可被执行直到深度变为 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,因此深 度为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中,一些编码单元1014、1016、1022、1032、1048、 1050、1052和1054通过划分编码单元1010中的编码单元而获得。换句话说, 编码单元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中 的编码单元1014、1016、1022、1032、1048、1050、1052和1054不同。换 句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据 单元独立地执行帧内预测、运动估计、运动补偿、变换和逆变换。

因此,对最大编码单元的每个区域中的具有分层结构的每个编码单元递 归地执行编码,以确定最佳编码单元,因此可获得具有树结构的编码单元。 编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测 模式的信息以及关于变换单元的尺寸的信息。表1显示可由视频编码设备100 和视频解码设备200设置的编码信息。

表1

视频编码设备100的熵编码器120可输出关于具有树结构的编码单元的 编码信息,并且视频解码设备200的熵解码器220可对接收的比特流进行解 析并从接收的比特流提取关于具有树结构的编码单元的编码信息。

划分信息指示当前编码单元是否被划分为更低深度的编码单元。如果当 前深度d的划分信息是0,则当前编码单元不再被划分为更低深度的深度是 编码深度,因此可针对编码深度定义关于分区类型、预测模式以及变换单元 的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对更低深 度的四个划分编码单元独立地执行编码。

预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分 区类型中定义帧内模式和帧间模式,并且可仅在尺寸为2N×2N的分区类型 中定义跳过模式。

关于分区类型的信息可指示通过对称地划分预测单元的高度或宽度而获 得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型、以及通过 非对称地划分预测单元的高度或宽度而获得的尺寸为2N×nU、2N×nD、nL ×2N和nR×2N的非对称分区类型。可通过以1:n和n:1划分预测单元的高 度来分别地获得尺寸为2N×nU和2N×nD的非对称分区类型,可通过以1:n 和n:1划分预测单元的宽度来分别地获得尺寸为nL×2N和nR×2N的非对称 分区类型。这里,n是大于1的整数。

变换单元的尺寸可被设置为帧内模式中的两种类型以及帧间模式中的两 种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以 是作为当前编码单元的尺寸的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。

当分区类型被设置为对称(即,分区类型1322、1324、1326或1328) 时,如果变换单元的划分信息(TU尺寸标志)为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。

变换单元划分信息(TU尺寸标志)可以是一种变换索引的类型,并且 与变换索引相应的变换单元的尺寸可根据编码单元的预测单元类型或编码单 元的分区类型而变化。

例如,当分区类型被设置为对称(即,分区类型1322、1324、1326或 1328)时,如果变换单元TU尺寸标志为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。

参照图9,TU尺寸标志是具有值0或1的标志,但TU尺寸标志不限于 1比特,并且在TU尺寸标志从0增加的同时,变换单元可被分层划分为具有 树结构。TU尺寸标志可被用为变换索引的示例。

在这种情况下,可通过使用变换单元的TU尺寸标志以及变换单元的最 大尺寸和最小尺寸来表示实际上已使用的变换单元的尺寸。视频编码设备100 能够对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志 进行编码。对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺 寸标志进行编码的结果可被插入到SPS中。视频解码设备200可通过使用最 大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志来对视频 进行解码。

例如,如果当前编码单元的尺寸是64×64并且最大变换单元尺寸是32 ×32,则当TU尺寸标志为0时,变换单元的尺寸可以是32×32,当TU尺 寸标志为1时,变换单元的尺寸可以是16×16,当TU尺寸标志为2时,变 换单元的尺寸可以是8×8。

作为另一示例,如果当前编码单元的尺寸是32×32并且最小变换单元尺 寸是32×32,则当TU尺寸标志为0时,变换单元的尺寸可以是32×32。这 里,由于变换单元的尺寸不能够小于32×32,因此TU尺寸标志不能够被设 置为除了0以外的值。

作为另一示例,如果当前编码单元的尺寸是64×64并且最大TU尺寸标 志为1,则TU尺寸标志可以是0或1。这里,TU尺寸标志不能被设置为除 了0或1以外的值。

因此,如果定义在TU尺寸标志为0时最大TU尺寸标志为 “MaxTransformSizeIndex”,最小变换单元尺寸为“MinTransformSize”,并且 变换单元尺寸为“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”仅是示例,并且本发明不限于此。

以下,将详细描述由图1的视频编码设备100的熵编码器120执行的对 语法元素进行熵编码的处理、以及由图2的视频解码设备200的熵解码器220 执行的对语法元素进行熵编码的处理。

如上所述,根据本发明的实施例的视频编码设备100和视频解码设备200 通过使用等于或小于最大编码单元的编码单元对最大编码单元进行划分,来 执行编码和解码。可基于损耗与另一数据单元独立地确定在预测和变换处理 期间使用的预测单元和变换单元。这样,当根据包括在最大编码单元中的具 有分层结构的编码单元递归地执行编码时,可通过确定最佳编码单元来构造 具有树结构的数据单元。换句话说,可根据最大编码单元确定具有树结构的 编码单元、预测单元和具有树结构的变换单元。为了进行解码,可发送指示 数据单元的分层结构的分层信息和用于进行解码的除分层信息以外的信息。

需要分层信息来确定以上参照图10至图12描述的编码单元、预测单元 和具有树结构的的变换单元,分层信息包括最大编码单元的尺寸、编码深度、 预测单元的分区信息、指示编码单元是否被划分的划分标志、变换单元的尺 寸信息以及指示变换单元是否被划分的TU尺寸标志。除分层信息以外的信 息包括应用于每个预测单元的帧内/帧间预测的预测模式信息、运动矢量信 息、预测方向信息、在多个颜色分量被使用时应用于相应的数据单元的颜色 分量信息、纹理信息(诸如,变换系数)。以下,分层信息和为解码而发送的 除分层信息以外的信息可被称为将被熵编码的语法元素。

图14是根据本发明的实施例的熵编码设备1400的框图。熵编码设备 1400与图1的视频编码设备100的熵编码器相应。

参照图14,熵编码设备1400包括二值化器1410、上下文建模器1420 和二进制算术编码器1430。此外,二进制算术编码器1430包括常规编码引 擎1432和旁路(bypass)编码引擎1434。

输入到熵编码设备1400的语法元素可能不是二进制值。当语法元素不是 二进制值时,二值化器1410对语法元素进行二值化并输出由二进制值0和1 形成的二进制串。bin指示由0或1形成的流的每个比特,每个bin经由基于 上下文的自适应二进制算术编码(CABAC)被编码。当语法元素是0和1的 频率相同的数据时,语法元素被输出到不使用概率值的旁路编码引擎1434并 被编码。

上下文建模器1420将当前编码符号的概率模型提供给常规编码引擎 1432。详细地,上下文建模器1420将用于对当前编码符号的二进制值进行编 码的二进制概率输出到二进制算术编码器1430。当将被编码的当前语法元素 被二值化时,当前编码符号表示二进制值。

为了确定用于将被编码的当前编码单元的第一语法元素的上下文模型, 上下文建模器1420可基于关于第二语法元素的信息确定将应用于第一语法 元素的上下文模型,其中,第二语法元素在相同的当前编码单元中可用并且 不同于第一语法元素。在通用的H.264标准中,为了确定用于当前块的特定 语法元素的上下文模型,从邻近块获得关于与特定语法元素相同的语法元素 的信息,并确定将应用于特定语法元素的上下文。然而,为了确定这样的用 于通用熵编码的上下文模型,从邻近块获得相同类型的语法元素,因此邻近 块的这样的语法元素需要被存储在系统上的预定存储器中,并且预定存储器 需要被访问以确定用于对当前块的语法元素进行熵编码的上下文模型。然而, 根据本发明的实施例,上下文建模器1420不使用关于邻近编码单元的信息, 而是通过使用在当前编码单元中可用的第二语法元素选择用于对第一语法元 素进行熵编码的上下文模型,并且访问存储器的次数可被减少,且用于存储 语法元素的存储器的大小可被减少。

此外,如下所述,上下文建模器1420可从邻近编码单元获得具有与当前 编码单元的第一语法元素相同的类型的第一语法元素,并通过将从当前编码 单元获得的第二语法元素与从邻近编码单元获得的第一语法元素组合来确定 用于对当前编码单元的第一语法元素进行熵编码的上下文模型。

上下文模型是bin的概率模型,并包括关于0和1中的哪一个与MPS和 LPS相应的信息以及MPS或LPS的概率。

常规编码引擎1432基于从上下文建模器1420提供的关于MPS和LPC 的信息以及关于MPS或LPS的概率的信息,对当前编码符号执行二进制算 术编码。

现将详细描述由图14的上下文建模器1420执行的确定用于对语法元素 进行熵编码的上下文模型的处理。

图15是图14的上下文建模器1420的框图。

参照图15,上下文建模器1420包括附加信息获得器1421和概率模型确 定器1422。

附加信息获得器1421获得与在对当前数据单元的第一语法元素进行熵 编码时可用的当前编码单元的第二语法元素有关的信息。例如,第二语法元 素包括关于当前数据单元的尺寸的信息、相对尺寸信息、数据单元所属的彩 色画面的颜色类型信息、预测模式信息,其中,相对尺寸信息指示与比当前 数据单元更高层且具有更大的尺寸的数据单元相关的包括第一语法元素的当 前数据单元的相对尺寸。第二语法元素是在第一语法元素被熵编码的时间点 可用的当前编码单元的附加信息。

概率模型确定器1422基于获得的关于第二语法元素的附加信息确定用 于对第一语法模型进行熵编码的上下文模型。详细地,当在对当前被编码的 第一语法元素进行熵编码时可用的第二语法元素具有“a”状态值(其中,“a” 是正整数)时,概率模型确定器1422根据第二语法元素的状态值确定指示“a” 个上下文模型之一的上下文索引,以确定用于对当前编码单元的第一语法元 素进行熵编码的上下文模型。例如,当当前被编码的第一语法元素所属的当 前数据单元的尺寸具有5个状态值2×2、4×4、8×8、16×16、32×32和 64×64并且当前数据单元的尺寸用作第二语法元素时,概率模型确定器1422 可根据作为第二语法元素的当前数据单元的尺寸设置5个或更少的上下文模 型,并可基于当前数据单元的尺寸(即,第二语法元素)确定和输出指示在 对当前数据单元的第一语法元素进行熵编码的期间使用的上下文模型的上下 文索引。

可选择地,概率模型确定器1422可通过使用多个第二语法元素来确定用 于对当前编码单元的第一语法元素进行熵编码的上下文模型。详细地,当n 表示用于确定上下文模型的第二语法元素的数量(其中,n表示整数)并且 ai表示n个第二语法元素中的每个的状态值的数量(其中,i是从1到n的整 数)时,可基于a1×a2×…×an(即,第二语法元素的状态值的组合的数量) 从多个上下文模型中确定用于对第一语法元素进行熵编码的一个上下文模 型。

例如,当假设CBF标志(即,指示非零变换系数是否存在于变换单元中 的标志)具有12个上下文模型时,可基于当前变换单元所属的画面的颜色分 量信息和当前变换单元的尺寸信息,确定用于对当前变换单元的CBF标志进 行熵编码的上下文模型。假设颜色分量信息是Y、Cb和Cr之一,并且指示 颜色分量的索引color_type_index分别针对Y、Cb和Cr被设置为0、1和2。 此外,假设指示变换单元的尺寸的索引TU_Block_size_index分别针对4×4、 8×8、16×16和32×32被设置为0、1、2和3。在这种情况下,概率模型确 定器1422可根据如下等式通过使用作为其他语法索引的索引 color_type_index和索引TU_Block_size_index获得上下文索引CtxIdx(指示 用于对当前变换单元的CBF标志进行熵编码的上下文模型):CtxIdx= color_type_index×4+TU_Block_size_index。如上所述,通过使用关于相同的 当前编码单元中的其他语法元素的信息来选择上下文模型,访问存储器的次 数和存储器的大小可被减少。

在以上示例中,虽然CBF标志使用变换单元的尺寸信息和颜色分量信 息,但可通过使用数据单元的当前可用的附加信息不同地设置将被熵编码的 第一语法元素和用于选择上下文模型的第二语法元素。

附加信息获得器1421从当前数据单元的邻近数据单元获得与当前将被 熵编码的第一语法元素相同的类型的第一语法元素、以及当前数据单元的附 加信息。概率模型确定器1422可通过使用当前编码单元的第二语法元素以及 从邻近编码单元获得的第一语法元素确定用于对当前数据单元的第一语法元 素进行熵编码的概率模型。例如,假设将被编码的当前数据单元的第一语法 元素是指示当前数据单元是否被划分的划分标志。在这种情况下,概率模型 确定器1422可从左侧或上部的邻近数据单元获得划分标志,并通过使用除邻 近数据单元的划分标志split_flag_neighbor和当前数据单元的划分标志以外的 其他语法元素(例如通过将当前数据单元的深度用作第二语法元素),通过使 用下面的等式选择用于对当前数据单元的划分标志进行熵编码的上下文模 型:ctxIdx=split_flag_left+(depth>>1)。同时,附加信息获得器1421可从当 前数据单元的左侧的邻近数据单元,获得关于具有与当前数据单元的第一语 法元素相同的类型的第一语法元素的信息,以便对当前数据单元的第一语法 元素进行熵编码。由于通常以行(line)为单位将关于数据单元的信息存储在 缓冲器中并从缓冲器读取,因此可通过从当前数据单元和当前数据单元的左 侧的邻近数据单元获得关于第一语法元素的信息而不是使用关于当前数据单 元和当前数据单元的顶部的邻近数据单元的第一语法元素的信息,来减少缓 冲器的大小。此外,考虑光栅扫描的处理顺序等,在对当前数据单元的第一 语法元素进行熵编码时,可通过使用关于当前数据单元的左侧的邻近数据单 元的信息而不是使用关于顶部的邻近数据单元的信息来减少缓冲器的大小, 其中,所述左侧的邻近数据单元在与当前数据单元相同的行上并在当前数据 单元之前被处理。

现将详细描述将以上参照图1至图13描述的具有分层结构的编码单元的 信息熵编码为第一语法元素的处理。

图16是用于描述根据本发明的实施例的具有分层结构的数据单元1600 和具有分层结构的数据单元划分信息33的示图。这里,数据单元可以是上述 编码单元、预测单元和变换单元中的任何一个。

如上所述,根据本发明的实施例,通过使用具有分层结构的编码单元、 预测单元和变换单元执行编码。在图16中,尺寸为N×N的级别0(即,最 高级别)的数据单元1600被划分为级别1(即,低于最高级别的级别)的数 据单元31a至31d,并且数据单元31a和31d分别被划分为级别2(即,低于 级别1的级别)的数据单元32a至32d以及数据单元32e至32h。指示每个数 据单元是否被划分为更低级别的数据单元的划分标志可用作用于指示数据单 元的分层结构的符号。例如,当当前数据单元的划分标志是1时,当前数据 单元可被划分为更低级别,当划分标志是0时,当前数据单元可不被划分。

随着数据单元30、数据单元31a至31d以及数据单元32a至32h形成分 层结构,变换单元30、变换单元31a至31d以及变换单元32a至32h的划分 信息也可形成分层结构。换句话说,数据单元划分信息33包括级别0(即, 最高级别)的数据单元划分信息34、级别1的数据单元划分信息35a至35d 以及级别2的数据单元划分信息36a至36h。

具有分层结构的数据单元划分信息33中的级别0的数据单元划分信息 34表示级别0的数据单元30被划分。类似地,级别1的数据单元划分信息 35a和35d分别表示级别1的数据单元31a和31d被划分为级别2的数据单元 32a至32d以及数据单元32e至32h。

级别1的数据单元31b和31c不再被划分并相应于叶(leaf)节点,其中, 在树结构中叶节点不包括子节点。类似地,级别2的数据单元32a至32h与 不再被划分为更低级别的叶节点相应。

这样,指示较高级别的数据单元是否被划分为较低级别的数据单元的划 分标志可用作指示数据单元的分层结构的符号。

当对指示数据单元的分层结构的划分标志进行熵编码时,熵编码器120 可对所有节点的数据单元的划分标志进行熵编码,或仅对与不具有子节点的 叶节点相应的数据单元的划分标志进行熵编码器。

图17A和图17B是根据本发明的实施例的指示数据单元的分层结构的符 号的参考示图。

在图17A和图17B中,假设标志是图16的数据单元划分信息33中的指 示每个节点的数据单元是否被划分为更低级别的数据单元的划分标志。参照 图17A,熵编码器120可对所有级别的数据单元30、数据单元31a至31d以 及数据单元32a至32h的划分标志flag0、划分标志flag1a至flag1d以及划分 标志flag2a至flag2h进行编码。可选择地,因为基于划分标志是否存在于更 低级别的数据单元中来确定更高级别的数据单元是否被划分,所以如图17B 所示,熵编码器120可仅对与不具有子节点的叶节点相应的数据单元31b、 数据单元31c以及数据单元32a至32h的划分标志flag1b、划分标志flag1c 以及划分标志flag2a至flag2h进行熵编码。例如,在图17B中,当存在级别 2的数据单元32a至32d的划分标志flag2a至flag2d时,显然级别1(即,级 别2的更高级别)的数据单元31a被划分为数据单元32a至32d,并因此数据 单元31a的划分标志flag1a可不被编码。

视频解码设备200通过根据符号分层解码模式提取和读取所有级别的数 据单元30、数据单元31a至31d以及数据单元32a至32h的划分标志flag、 划分标志flag1a至flag1d以及划分标志flag2a至flag2h来确定数据单元的分 层结构。可选择地,当仅数据单元31b、数据单元31c以及数据单元32a至 32h的划分标志flag1b、flag1c以及flag2a至flag2h被编码时,视频解码设备 200可通过基于提取的划分标志flag1b、划分标志flag1c以及划分标志flag2a 至flag2h确定没有被编码的数据单元30和数据单元31a至31d的划分标志 flag0以及划分标志flag1a至flag1d,来确定数据单元的分层结构。

上下文建模器1420可基于根据附加信息的组合的状态值来确定用于对 指示数据单元的分层结构的划分标志进行熵编码的多个上下文模型之一。

图18A和图18B是根据本发明的实施例的用于确定根据附加信息的组合 的上下文模型的上下文索引的示图。

参照图18A,上下文建模器1420可基于除数据单元的划分标志以外的其 他可用的附加信息,确定将用于对当前数据单元的划分标志进行熵编码的上 下文模型。当假设n条附加信息均具有ai个状态值(其中,ai是整数并且i 是从1到n的整数)时,上下文建模器1420可基于根据a1×a2×...×an个状 态值的组合确定的上下文索引CtxIdx,从多个上下文模型中确定将用于对划 分标志进行熵编码的上下文模型。如图18A所示,当假设a1×a2×…×an的 值分别具有S1、S2、…、Sm的组合值时,基于这样m个状态值(S1、S2、…、 Sm)确定一个上下文索引。

可选择地,如图18B所示,上下文建模器1420可通过对m个状态值(S1、 S2、…、Sm)进行分组根据附加信息的组合值来确定上下文索引。

图19是根据本发明的实施例的上下文模型的参考示图。

概率模型确定器1422通过使用根据附加信息的组合确定的上下文索引 CtxIdx来确定和输出关于0和1的二进制信号中的与MPS和LPS相应的二 进制信号的信息、以及关于MPS或LPS的概率值的信息。参照图19,概率 模型确定器1422将二进制信号的概率存储在查找表1900中,并将关于与根 据附加信息的组合确定的上下文索引CtxIdx相应的概率值的信息输出到常规 编码引擎1432。详细地,当指示将应用于当前符号的上下文模型的上下文索 引CtxIdx基于当前数据单元的附件信息的组合被确定时,概率模型确定器 1422可确定与上下文索引CtxIdx相应的概率表的索引pStateIdx和与MPS相 应的二进制信号。此外,上下文建模器1420可类似地根据当前数据单元的附 加信息和与当前数据单元相邻的邻近数据单元的附加信息组合,来从多个上 下文模型中确定用于对当前数据单元的语法元素进行熵编码的上下文模型。

图20是根据本发明的实施例的MPS的概率值的曲线图。

概率表示出MPS的概率值,当概率表的索引pStateIdx被分配时,相应 的MPS的概率值被确定。例如,当上下文建模器1420将用于当前符号的编 码的上下文模型的上下文索引CtxIdx确定为1并进行输出时,概率模型确定 器1422将索引pStateIndx确定为7并将MPS确定为0,这与图19中示出的 上下文模型中的上下文索引CtxIdx1相应。此外,概率模型确定器1422从如 图20所示的预设的MPS的概率值中确定与索引pStateIdx7相应的MPS的概 率值。由于MPS和LPS的概率值之和是1,因此一旦MPS或LPS的概率值 被确定,剩余的概率值就可被确定。

同时,概率模型确定器1422可更新每当一个bin被常规编码引擎1432 编码时MPS和LPS之一被编码所基于的索引pStateIdx,从而在考虑二进制 信号的产生统计特性的同时更新MPS和LPS的概率值。例如,概率模型确 定器1422可在考虑常规编码引擎1432的编码结果的同时,以查找表的形式 在对MPS进行编码时设置transIdxMPS(即,在更新之后的索引pStateIdx的 值),在对LPS进行编码时设置tranIdxLPS(即,在更新之后的索引pStateIdx 的值),并随后每当进行编码操作时更新索引pStateIdx以改变MPS的概率值。

常规编码引擎1432基于关于二进制信号的信息和与MPS或LPS相应的 概率值对关于当前语法的符号的二进制信号进行熵编码并输出。

图21是用于描述由图14的常规编码引擎1430执行的二进制算术编码操 作的示图。在图21中,假设指示数据单元的分层结构的划分标志具有二进制 值010,1的概率为0.2,0的概率为0.8。这里,每当对二进制值进行编码时 更新1和0的概率,但为了便于描述,假设概率是固定的。

参照图21,当对二进制值“010”中的初始bin值“0”进行编码时,将 [0.0至0.8](即,初始部分[0.0至1.0]的下部的80%)更新为新的部分,并且 当对下一bin值“1”进行编码时,将[0.64至0.8](即,[0.0至0.8]的上部的 20%)更新为新的部分。随后,当对最后的bin值“0”进行编码时,将[0.64 至0.768](即,[0.64至0.8]的下部的80%)设置为新的部分。在与最终的部 分[0.64~0.768]之间的实数0.75相应的二进制值0.11中,在与划分标志的二进 制值“010”相应的比特流中输出低于小数点的“11”。

图22是示出根据本发明的实施例的熵编码方法的流程图。

参照图22,在操作2210,分层编码器110基于具有分层结构的数据单元 对视频进行编码。在操作2220,上下文建模器1420基于当前数据单元的至 少一个第二语法元素确定将用于对将被熵编码的当前数据单元的第一语法元 素进行熵编码的上下文模型,其中,所述至少一个第二语法元素可用并且与 当前数据单元的第一语法元素不同。如上所述,当第二语法元素的数量是n (其中,n是整数),并且n个第二语法元素中的每个的状态值的数量是ai(其 中,i是从1到n的整数),上下文建模器1420可确定由基于a1×a2×...×an(即,第二语法元素的状态值的组合的数量)确定的上下文索引CtxIdx指示 的上下文模型。

在操作2230,常规编码引擎1432通过使用确定的上下文模型对当前数 据单元的第一语法元素进行熵编码。

图23是根据本发明的实施例的熵解码设备2300的框图。

参照图23,熵解码设备2300包括上下文建模器2310、常规解码器2320、 旁路解码器2330和逆二值化器2340。熵解码设备2300执行上述由熵编码设 备1400执行的熵编码处理的逆处理。

根据旁路编码编码的符号被输出到旁路解码器2330并被解码,根据常规 编码所编码的符号被常规解码器2320解码。常规解码器2320基于由上下文 建模器2310提供的上下文模型对当前编码符号的二进制值执行算术解码。

如图14的上下文建模器1420,上下文建模器2310基于当前数据单元的 至少一个第二语法元素确定用于对当前数据单元的第一语法元素进行熵解码 的上下文模型,其中,所述至少一个第二语法元素可用并且与当前数据单元 的第一语法元素不同。如上所述,上下文建模器2310可从与当前数据单元相 邻的邻近数据块获得关于具有与当前数据单元的第一语法元素相同的类型的 第一语法元素的信息,并通过使用从邻近数据单元获得的第一语法元素以及 从当前数据单元获得的第二语法元素来确定用于对当前数据单元的第一语法 元素进行熵解码的上下文模型。

除了在解码方面执行上下文建模器2310的操作之外,图23的上下文建 模器2310的操作与图14的上下文建模器1420的操作相同,因此在此省略其 描述。

逆二值化器2340将由常规解码器2320或旁路解码器2330恢复的二进制 串(bin string)恢复为语法元素。

图24是示出根据本发明的实施例的熵解码方法的流程图。

参照图24,在操作2410,语法元素提取器210通过对编码的比特流进行 解析来提取基于具有分层结构的数据单元编码的画面的语法元素。在操作 2420,熵解码设备2300的上下文建模器2310基于当前数据单元的至少一个 第二语法元素确定用于对将被熵解码的当前数据单元的第一语法元素进行熵 解码的上下文模型,其中,所述至少一个第二语法元素可用并且与当前数据 单元的第一语法元素不同。如上所述,上下文建模器2310可从当前数据单元 的左侧或顶部的邻近数据单元获得具有与当前数据单元的第一语法元素相同 的类型的第一语法元素、以及当前数据单元的第二语法元素,并通过将从左 侧或顶部的邻近数据单元获得的第一语法元素和从当前数据单元获得的第二 语法元素组合来选择用于对当前数据单元的第一语法元素进行熵解码的上下 文模型。在操作2430,常规解码器2320通过使用确定的上下文模型对当前 数据单元的第一语法元素进行熵解码。

本发明也可被实施为计算机可读记录介质上的计算机可读代码。计算机 可读记录介质是可存储随后可由计算机系统读取的数据的任何数据存储装 置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器 (RAM)、CD-ROM、磁带、软盘、光学数据存储装置等。计算机可读记录 介质也可分布于联网的计算机系统,从而以分布的方式存储和执行计算机可 读代码。

虽然已参照本发明的优选实施例具体地示出和描述了本发明,但本领域 的普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的 情况下,可在形式和细节上进行各种改变。因此,本发明的范围不由本发明 的详细描述而由权利要求来限定,在所述范围内的所有不同将被解释为包括 在本发明中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号