首页> 中国专利> 通过使用任意分区进行运动预测来对视频进行编码的方法和设备,以及通过使用任意分区进行运动预测来对视频进行解码的方法和设备

通过使用任意分区进行运动预测来对视频进行编码的方法和设备,以及通过使用任意分区进行运动预测来对视频进行解码的方法和设备

摘要

公开了一种对视频进行编码的方法和设备,所述方法包括:基于根据最大编码单元的至少一个划分的区域的分层结构的较深层编码单元,对最大编码单元的视频数据进行编码,并使用通过根据任意比例划分编码单元而获得的分区执行帧间预测,来确定编码深度;输出比特流,所述比特流包括与根据最大编码单元的编码深度相应的编码视频数据以及关于编码深度和编码模式的信息。

著录项

  • 公开/公告号CN102771124A

    专利类型发明专利

  • 公开/公告日2012-11-07

    原文格式PDF

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

    申请/专利号CN201080063102.8

  • 发明设计人 李善一;千岷洙;韩宇镇;

    申请日2010-12-08

  • 分类号H04N7/26(20060101);H04N7/50(20060101);

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

  • 代理人韩明星

  • 地址 韩国京畿道水原市

  • 入库时间 2023-12-18 07:16:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-06

    授权

    授权

  • 2013-01-23

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20101208

    实质审查的生效

  • 2012-11-07

    公开

    公开

说明书

技术领域

示例性实施例涉及对视频进行编码和解码。

背景技术

随着用于再现和存储高分辨率或高质量视频内容的硬件的发展和提供, 对有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需 求正在增加。在传统的视频编解码器中,基于具有预定大小的宏块,根据受 限的编码方法对视频进行编码。

由所述视频编解码器执行的现有的帧间预测来估计运动矢量,并通过使 用2N×2N大小的宏块的具有2N×2N、2N×N、N×2N和N×N的大小的分区来 估计所述宏块的运动。

发明内容

技术问题

示例性实施例提供通过使用任意形状的分区执行帧间预测来对视频进行 编码和解码。

技术方案

根据示例性实施例的一方面,提供了一种对视频进行编码的方法,所述 方法包括:将视频数据划分为最大编码单元;基于根据最大编码单元的至少 一个划分的区域的分层结构的较深层编码单元,对最大编码单元的视频数据 进行编码,确定编码的结果将被输出的编码深度,其中,在分层结构中,随 着深度的加深,上层深度的编码单元被划分,所述确定包括使用通过根据任 意比例划分上层深度的编码单元而获得的分区执行帧间预测;输出比特流, 所述比特流包括与针对最大编码单元的至少一个划分的区域的编码深度相应 的编码视频数据以及关于编码深度和编码模式的信息。

有益效果

根据示例性实施例,由于在考虑图像的大小的同时增大了编码单元的最 大大小,同时在考虑图像的特征时调整编码单元,因此可提高图像压缩效率。 即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的大小和编 码模式来有效地解码和恢复图像数据,其中,通过使用从编码器接收的关于 最佳编码模式的信息根据图像数据的特征自适应地确定所述编码单元的大小 和编码模式。

附图说明

图1是根据示例性实施例的用于对视频进行编码的设备的框图;

图2是根据示例性实施例的用于对视频进行解码的设备的框图;

图3是用于描述根据示例性实施例的编码单元的概念的示图;

图4是根据示例性实施例的基于编码单元的图像编码器的框图;

图5是根据示例性实施例的基于编码单元的图像解码器的框图;

图6是示出根据示例性实施例的根据深度的较深层编码单元以及分区的 示图;

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

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

图9是根据示例性实施例的根据深度的较深层编码单元的示图;

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

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

图14是示出根据示例性实施例的对视频进行编码的方法的流程图;

图15是示出根据示例性实施例的对视频进行解码的方法的流程图;

图16是根据另一示例性实施例的关于使用根据任意比例划分的分区进 行的帧间预测的视频编码设备的框图;

图17是根据另一示例性实施例的关于使用根据任意比例划分的分区进 行的帧间预测的视频解码设备的框图;

图18是根据示例性实施例的通过根据任意比例划分编码单元而获得的 示例性分区的框图;

图19示出根据示例性实施例的序列参数集的语法,其中,序列参数集包 括关于用于帧间预测的分区类型是否包括通过根据任意比例划分编码单元而 获得的分区的信息;

图20是示出根据另一示例性实施例的关于使用根据任意比例划分的分 区进行的帧间预测的视频编码方法的流程图;

图21是示出根据另一示例性实施例的关于使用根据任意比例划分的分 区进行的帧间预测的视频编码方法的流程图。

最佳实施方式

根据示例性实施例的一方面,提供了一种对视频进行编码的方法,所述 方法包括:将视频数据划分为最大编码单元;基于根据最大编码单元的至少 一个划分的区域的分层结构的较深层编码单元,对最大编码单元的视频数据 进行编码,确定编码的结果将被输出的编码深度,其中,在分层结构中,随 着深度加深,上层深度的编码单元被划分,所述确定包括使用通过根据任意 比例划分编码单元而获得的分区执行帧间预测;输出比特流,所述比特流包 括与针对根据最大编码单元的至少一个划分的区域的编码深度相应的编码视 频数据以及关于编码深度和编码模式的信息。

深度表示编码单元被分层划分的次数,随着深度加深,根据深度的较深 层编码单元可从最大编码单元被划分以获得最小编码单元。深度从上层深度 被加深到下层深度。随着深度加深,最大编码单元被划分的次数增加,最大 编码单元被划分的可能次数的总数相应于最大深度。编码单元的最大大小和 最大深度可被预先确定。

确定编码深度的步骤可包括:选择性地确定是否使用通过根据任意比例 划分编码单元而获得的分区执行帧间预测。

输出比特流的步骤可包括:包括指示用于帧间预测的分区类型是否包括 通过根据任意比例划分编码单元而获得的分区的信息。

通过根据任意比例划分编码单元而获得的分区可以是通过根据1:3或3: 1的比例划分编码单元的高和宽而获得的分区。

最大编码单元可被选择性地设置为大小为16×16、32×32、64×64、128 ×128和256×256的块中的至少一个。

编码深度可被确定为根据相应划分的区域的分层结构的较深层编码单元 的编码结果中具有最高编码效率的较深层编码单元的深度,并针对最大编码 单元内的所述至少一个划分的区域被独立地确定。

根据示例性实施例的另一方面,提供了一种对视频进行解码的方法,所 述方法包括:接收并解析编码视频数据的比特流;从比特流提取根据最大编 码单元的编码视频数据以及关于根据最大编码单元的编码深度和编码模式的 信息;基于关于根据最大编码单元的编码深度和编码模式的信息,针对根据 最大编码单元的至少一个编码深度的编码单元,执行解码,所述解码包括使 用通过根据任意比例划分编码单元而获得的分区进行的运动补偿,其中,所 述至少一个编码深度的编码单元被确定为最大编码单元的至少一个划分的区 域的分层结构的较深层编码单元的深度之一。

提取编码视频数据的步骤可包括:进一步从比特流提取指示用于帧间预 测的分区类型和通过根据任意比例划分编码单元而获得的分区的信息。

执行解码的步骤可包括:基于从比特流提取的指示用于帧间预测的分区 类型和通过根据任意比例划分编码单元而获得的分区的信息,选择性地确定 是否使用通过根据任意比例划分编码单元而获得的分区执行运动补偿。

根据示例性实施例的另一方面,提供了一种用于对视频进行编码的设备, 所述设备包括:最大编码单元划分器,将视频数据划分为最大编码单元;编 码器,基于根据最大编码单元的至少一个划分的区域的分层结构的较深层编 码单元,对最大编码单元的视频数据进行编码,确定编码的结果将被输出的 编码深度,其中,在分层结构中,随着深度加深,上层深度的编码单元被划 分,所述确定包括使用通过根据任意比例划分编码单元而获得的分区执行帧 间预测;输出单元,输出比特流,所述比特流包括与针对根据最大编码单元 的至少一个划分的区域的编码深度相应的编码视频数据以及关于编码深度和 编码模式的信息。

根据示例性实施例的另一方面,提供了一种用于对视频进行解码的设备, 所述设备包括:解析器,接收并解析编码视频数据的比特流;提取器,从比 特流提取根据最大编码单元的编码视频数据以及关于根据最大编码单元的编 码深度和编码模式的信息;解码器,基于关于根据最大编码单元的编码深度 和编码模式的信息,针对根据最大编码单元的至少一个编码深度的编码单元, 执行解码,所述解码包括使用通过根据任意比例划分编码单元而获得的分区 进行的运动补偿,其中,所述至少一个编码深度的编码单元被确定为最大编 码单元的至少一个划分的区域的分层结构的较深层编码单元的深度之一。

根据示例性实施例的另一方面,提供了一种计算机可读记录介质,所述 计算机可读记录介质记录有用于执行对视频进行编码的方法的程序。根据示 例性实施例的另一方面,提供了一种计算机可读记录介质,所述计算机可读 记录介质记录有用于执行对视频进行解码的方法的程序。

具体实施方式

以下,将参照附图更充分地描述示例性实施例,其中,示例性实施例显 示在附图中。在示例性实施例中,“单元”根据其上下文可表示大小的单位或 可不表示大小的单位。

以下,根据示例性实施例,“编码单元”是进行编码的数据单元以及被编 码后的数据单元,其中,按照所述进行编码的数据单元,图像数据在编码器 端被编码,按照所述被编码后的数据单元,编码图像数据在解码器端被解码。 此外,“编码深度”表示编码单元被编码的深度。

以下,“图像”可表示视频的静止图像或者运动图像(即,视频本身)。

将参照图1至图15描述根据示例性实施例的基于空间分层的数据单元对 视频进行的编码和解码,将参照图16至图21描述根据示例性实施例的通过 使用按照任意比例划分的分区进行帧间预测来对视频进行的编码和解码。

图1是根据示例性实施例的视频编码设备100的框图。

视频编码设备100包括最大编码单元划分器110、编码单元确定器120 和输出单元130。

最大编码单元划分器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,第二最大深度可被设置为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,当所述当前编码单元的高和宽中的每一个被划 分为两等份,总共被划分为4^1个变换单元,从而变换单元的大小是N×N 时,变换深度可以是1,当所述当前编码单元的高和宽的每一个被划分为四 等份,总共被划分为4^2个变换单元,从而变换单元的大小是N/2×N/2时, 变换深度可以是2。例如,可根据分层树结构来设置变换单元,其中,根据 变换深度的分层特性,上层变换深度的变换单元被划分为下层变换深度的四 个变换单元。

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

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

稍后将参照图3至图12详细描述根据示例性实施例的根据最大编码单元 中的树结构的编码单元以及确定分区的方法。

编码单元确定器120可通过使用基于拉格朗日乘子的率失真优化来测量 根据深度的较深层编码单元的编码误差。

输出单元130在比特流中输出最大编码单元的图像数据以及关于根据编 码深度的编码模式的信息,其中,所述图像数据基于由编码单元确定器120 确定的至少一个编码深度被编码。

通过对图像的残差数据进行编码来获得编码图像数据。

关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于 预测单元中的分区类型的信息、预测模式以及变换单元的大小。

可通过使用根据深度的划分信息来定义关于编码深度的信息,关于编码 深度的信息指示是否针对下层深度而不是当前深度的编码单元来执行编码。 如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被 编码并被输出,因此划分信息可被定义为不将当前编码单元划分到下层深度。 可选地,如果当前编码单元的当前深度不是编码深度,则针对下层深度的编 码单元来执行编码,因此,划分信息可被定义为划分当前编码单元以获得下 层深度的编码单元。

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

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

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

根据示例性实施例的最小单元是通过将具有最低深度的最小编码单元划 分4次所获得的矩形数据单元。可选地,最小单元可以是最大矩形数据单元, 所述最大矩形数据单元可包括在最大编码单元中所包括的所有编码单元、预 测单元、分区单元和变换单元中。

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

在视频编码设备100中,较深层编码单元可以是通过将作为上一层的上 层深度的编码单元的高或宽划分两次所获得的编码单元。换句话说,当当前 深度的编码单元的大小为2N×2N时,下层深度的编码单元的大小可以是N× N。此外,大小为2N×2N的当前深度的编码单元可最多包括下层深度的4个 编码单元。

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

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

图2是根据示例性实施例的视频解码设备200的框图。

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

接收器210接收并解析编码视频的比特流。图像数据和编码信息提取器 220从解析的比特流提取每个编码单元的编码图像数据,并将提取的图像数 据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元 的树结构。图像数据和编码信息提取器220可从关于当前画面的头或SPS提 取关于当前画面的编码单元的最大大小的信息。

此外,图像数据和编码信息提取器220从解析的比特流提取关于根据每 个最大编码单元的具有树结构的编码单元的编码深度和编码模式的信息。提 取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换句话 说,比特流中的图像数据被划分为最大编码单元,从而图像数据解码器230 对每个最大编码单元的图像数据进行解码。

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

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

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

图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码 模式的信息对每个最大编码单元中的图像数据进行解码,来恢复当前画面。 换句话说,图像数据解码器230可基于提取的关于包括在每个最大编码单元 中的具有树结构的编码单元中的每个编码单元的分区类型、预测模式和变换 单元的信息,来对编码图像数据进行解码。解码处理可包括预测(包括帧内 预测和运动补偿)和反变换。可根据反正交变换或反整数变换的方法来执行 反变换。

图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的 分区类型和预测模式的信息,根据每个编码单元的分区和预测模式执行帧内 预测或运动补偿。

此外,图像数据解码器230可基于关于根据编码深度的编码单元的变换 单元的大小的信息,根据编码单元中的每个变换单元执行反变换,从而根据 最大编码单元执行反变换。

图像数据解码器230可通过使用根据深度的划分信息来确定当前最大编 码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度下不再 被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用与 编码深度相应的每个编码单元的关于预测单元的分区类型、预测模式和变换 单元大小的信息,对当前最大编码单元中与每个编码深度相应的至少一个编 码单元的编码数据进行解码,并输出当前最大编码单元的图像数据。

换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据 单元分配的编码信息集来收集包括编码信息(包括相同划分信息)的数据单 元,收集的数据单元可被视为将由图像数据解码器230以相同的编码模式进 行解码的一个数据单元。

视频解码设备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 ×64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元 的最大大小为64×64,最大深度为3。在视频数据330中,分辨率为352× 288,编码单元的最大大小为16×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的框图。

图像编码器400执行视频编码设备100的编码单元确定器120的操作以 对图像数据进行编码。换句话说,帧内预测器410在帧内模式下对当前帧405 中的编码单元执行帧内预测,运动估计器420和运动补偿器425在帧间模式 下通过使用当前帧405和参考帧495,对当前帧405中的编码单元分别执行 帧间估计和运动补偿。

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

为了将图像编码器400应用在视频编码设备100中,图像编码器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之后执行的操作。

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

具体地,帧内预测器550和运动补偿器560基于每个具有树结构的编码 单元的分区和预测模式执行操作,反变换器540基于每个编码单元的变换单 元的大小执行操作。

图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的分区630、大小为16×8的分区632、大小为8×16的分区634和大小 为8×8的分区636。

类似地,大小为8×8且深度为3的编码单元640的预测单元可被划分为 包括在编码单元640中的分区,即,包括在编码单元640中的大小为8×8的 分区640、大小为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的图像数据和编码信息提取器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中编码误差最小,则深度从0改变到1以在操作920 对分区类型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中编码误差最小,则深度从1改变到2以在操作950 对分区类型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中,通过对编码单元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 中的编码单元1014、1016、1022、1032、1048、1050和1052不同。换句话 说,视频编码设备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,这是当前编码单元的大小。如果变换单元的划分信息是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。

参照图13,TU大小标记是具有值0或1的标记,但是TU大小标记不限 于1比特,在TU大小标记从0增加的同时,变换单元可被分层划分以具有树 结构。

在这种情况下,根据示例性实施例,可通过使用变换单元的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大小相应的次数时的变换单元大小, “MinTransformSi ze”指示最小变换大小。因此, “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,针对每个最大编码单元输出组成根据编码深度的最终编码 结果的编码图像数据以及关于编码深度和编码模式的编码信息。关于编码模 式的信息可包括关于编码深度或划分信息的信息、关于预测单元的分区类型、 预测模式和变换单元的大小的信息。关于编码模式的编码信息可与编码图像 数据一起被发送到解码器。

图15是示出根据示例性实施例的对视频进行解码的方法的流程图。

在操作1310,编码视频的比特流被接收和解析。

在操作1320,从解析的比特流提取被分配给最大编码单元的当前画面的 编码图像数据以及关于根据最大编码单元的编码深度和编码模式的编码信 息。每个最大编码单元的编码深度是每个最大编码单元中具有最小编码误差 的深度。在对每个最大编码单元进行编码中,基于通过根据深度对每个最大 编码单元进行分层划分而获得的至少一个数据单元来对图像数据进行编码。

根据关于编码深度和编码模式的信息,最大编码单元可被划分为具有树 结构的编码单元。每个具有树结构的编码单元被确定为与编码深度相应的编 码单元,并被最佳编码以输出最小编码误差。因此,可通过在确定根据编码 单元的至少一个编码深度之后对编码单元中的每条编码图像数据进行解码来 提高图像的编码和解码效率。

在操作1330,基于关于根据最大编码单元的编码深度和编码模式的编码 信息来对每个最大编码单元的图像数据进行解码。解码图像数据可通过再现 设备被再现,可被存储在存储介质中,或可通过网络被发送。

图16是根据另一示例性实施例的关于使用根据任意比例划分的分区进 行的帧间预测的视频编码设备1400的框图。

视频编码设备1400包括最大编码单元划分器1410、编码器1420和输出 单元1430。

最大编码单元划分器1410可将视频数据划分为最大编码单元。被划分为 最大编码单元的最大视频数据被输出到输出单元1430。可在数据单元(诸如 帧序列、帧、像条、编码单元等)中预先设置最大编码单元。

最大视频数据可被选择性地设置为大小分别为16×16、32×32、64×64、 128×128和256×256的块中的至少一个。

编码器1420对由最大编码单元划分器1410划分的最大编码单元的视频 数据进行编码。编码器1420基于分层结构的较深层编码单元针对最大编码单 元的至少一个划分的区域对视频数据进行编码。在较深层编码单元的编码操 作期间,执行帧间预测以通过使用包括在较深层编码单元中的分区来搜索相 似的区域并估计分区的运动信息。

帧间预测可使用通过根据任意比例对编码单元进行划分而获得的分区。 在图3至图13所示的预测单元和分区的示例包括从大小为2N×2N的编码单 元划分的大小为2N×2N、2N×N、N×2N、N×N的分区。编码器1420可根据 分区类型执行帧间预测,所述分区类型包括根据任意比例或根据不对称比例 划分的分区以及通过以1:1的比例对编码单元的宽或高进行划分而获得的分 区。

例如,可通过以1:3或3:1的比例对编码单元的宽或高进行划分来获 得通过根据任意比例对编码单元进行划分而获得的分区。可以以任意比例(诸 如1:2、2:1、1:3、3:1、2:3、3:2、1:4、4:1等)对分区进行划分。

分区类型可包括通过对编码单元进行不对称划分而获得的分区以及通过 根据任意比例对编码单元进行划分而获得的分区。用于编码单元的帧间预测 的分区类型可不被限制为包括根据任意比例按确定方向划分的分区,并且可 包括具有任意形状的分区。

编码器1420可选择性地确定是否通过使用通过根据任意比例对编码单 元进行划分而获得的分区来执行帧间预测。指示是否通过使用通过根据任意 比例对编码单元进行划分而获得的分区来执行帧间预测的信息可被单独编码 并包括在比特流中。

编码器1420基于根据分结构的较深层编码单元,对根据划分的区域的最 大编码单元的视频数据进行编码,选择根据深度进行编码的结果,并选择具 有最高编码效率的深度。选择的深度是用于相应最大编码单元的划分的区域 的编码深度。关于编码深度的信息被编码为相应编码单元的编码结果。用于 最大编码单元内的至少一个划分的区域的编码深度被独立地确定,从而可针 对单个最大编码单元确定至少一个编码深度。

输出单元1430输出包括关于与根据最大编码单元和划分的区域的编码 深度相应的编码视频数据、编码深度、和编码模式的信息的比特流。输出单 元1430可输出包括关于用于帧间预测的分区类型是否包括通过根据任意比 例对编码单元进行划分而获得的分区的信息的比特流。关于用于帧间预测的 分区类型是否包括通过根据任意比例对编码单元进行划分而获得的分区的信 息可根据数据单元(诸如帧序列、像条、编码单元等)被设置,并可被包括 在比特流的序列参数集、像条头和根据编码单元的编码信息中。

编码单元可记录比给定宏块的数据量更大得多的数据量,因此单个编码 单元可包括具有不同图像特征的区域。为了执行编码单元的预测编码,优选 的是将编码单元划分为根据图像特征的区域,并通过将具有相同图像特征的 邻近区域聚集为一个分区来产生用于对编码单元进行预测编码的分区。

虽然视频数据可被划分为关于编码单元的中心的不同图像特征的区域, 但是编码单元的大小越大,不同区域之间的边界是任何一侧(左、右、上或 下)的可能性就越大。如果仅使用通过以1:1的比例对编码单元的宽和高进 行划分而获得的分区来对不同区域之间的边界是一侧的编码单元精确地执行 预测编码,则当前编码单元必须被划分为下层深度的编码单元,从而产生包 括单个独立区域的小分区。

然而,如果通过使用根据任意比例划分的区域来执行帧间预测,则像根 据本实施例的视频编码设备1400,通过使用在当前深度下被划分为一侧的分 区而不必将当前较深层编码单元进一步划分为更低深度,来执行帧间预测。 因此,如果编码单元的分区包括根据任意比例划分的分区或具有任意形状的 分区以及通过以1:1的比例对编码单元的宽或高进行划分而获得的分区,则 可对大小较大的编码单元执行更有效更精确的预测编码。

此外,可根据视频编码器/解码器的硬件性能、接收视频编码/解码服务 的用户需求和关于编码视频的比特流的传输环境,选择性地执行使用通过根 据任意比例对编码单元进行划分而获得的分区或具有任意形状的分区的预测 编码。

图17是根据另一示例性实施例的关于使用根据任意比例划分的分区进 行的帧间预测的视频解码设备1500的框图。

参照图17,视频解码设备1500包括解析器1510、提取器1520和解码器 1530。解析器1510接收关于编码视频的比特流并解析接收的比特流的码元。 提取器1520从解析的比特流提取根据最大编码单元编码的视频数据和关于 根据最大编码单元的编码深度和编码模式的信息。

提取器1520还可从比特流提取关于用于帧内预测的分区类型是否包括 通过对根据任意比例对编码单元进行划分而获得的分区的信息。可从比特流 的序列参数集、像条头、编码单元的编码信息等提取关于用于帧内预测的分 区类型是否包括通过对根据任意比例对编码单元进行划分而获得的分区的信 息。

解码器1530接收从提取器1520提取的视频数据和编码信息,并基于编 码信息对视频数据进行解码。更具体地,解码器1530基于关于根据最大编码 单元的编码深度和编码模式的信息,对根据最大编码单元的至少一个编码深 度的编码单元的视频数据进行解码。

具体地,解码器1530可根据由提取器1520提取的关于用于帧间预测的 分区类型是否包括通过根据任意比例对编码单元进行划分而获得的分区的信 息,通过使用通过根据任意比例对编码单元进行划分而获得的分区选择性地 执行运动补偿。

也就是说,解码器1530可通过使用根据分区类型预测的运动矢量执行运 动补偿,其中,所述分区类型包括通过根据任意比例(诸如1:2、2:1、1: 3、3:1、2:3、3:2、1:4、4:1等)对编码单元进行不对称划分而获得 的分区以及通过以1:1的任意比例对编码单元进行划分而获得的分区。此外, 解码器1530可通过使用具有任意形状的分区以及通过按方向对编码单元进 行划分而获得的分区执行运动补偿。

解码器1530可通过确定是否通过使用通过根据任意比例对编码单元进 行划分而获得的分区来编码帧内预测,根据具有任意比例的宽和高的分区来 选择性地执行运动补偿,从而精确地恢复针对具有图像的各种特征的区域而 区分的编码单元。

视频解码设备1500可恢复和再现根据最大编码单元解码的视频数据。

因此,如果像视频编码设备1400和视频解码设备1500一样执行使用根 据任意比例划分的分区进行的预测编码/解码,则通过使用在当前深度被划分 到一侧的分区而不必进一步将当前较深层编码单元划分到下层深度来执行帧 间预测。因此,根据任意比例划分的分区可被用于更有效并更精确地对大小 较大的编码单元执行预测编码或解码。

图18是根据示例性实施例的通过根据任意比例划分编码单元而获得的 示例性分区的示图。

参照图18,用于编码单元的预测编码的分区类型可包括通过根据任意比 例划分编码单元的高和宽而获得的分区。例如,大小为64×64的编码单元 1600的分区类型可包括通过根据1:3或3:1的比例划分编码单元1600而 获得的分区以及通过根据1:1的比例划分编码单元1600的高或宽而获得的 大小为64×32、32×64和32×32的分区。

更具体地说,大小为64×64的编码单元1600的分区类型可包括通过根 据1:3或3:1的比例划分编码单元1600的高而获得的大小分别为64×16 和64×48的分区1610和1620。此外,大小为64×64的编码单元1600的分 区类型可包括通过根据1:3或3:1的比例划分编码单元1600的宽而获得的 大小分别为64×16和64×48的分区1630和1640。

图19示出根据示例性实施例的序列参数集1700的语法,其中,序列参 数集1700包括关于用于帧间预测的分区类型是否包括通过根据任意比例划 分编码单元而获得的分区的信息。

参照图19,sequence_parameter_set是当前图像像条的序列参数集1700 的语法。关于用于帧间预测的分区类型是否包括通过根据任意比例划分编码 单元而获得的分区的信息被插入当前图像像条的序列参数集1700的语法。

picture_width是输入图像的宽度的语法。picture_height是输入图像 的高度的语法。max_coding_unit_size是最大编码单元的大小的语法。 max_coding_unit_depth是最大深度的语法。

序列参数的示例可定义指示编码单元级是否被独立解码的信息(即, use_independent_cu_decode_flag)、指示编码单元级是否被独立解析的信息 (即,use_independent_cu_parse_flag)、运动矢量精确控制操作的可用性 (即,use_mv_accuracy_control_flag)、任意方向帧内预测操作的可用性 (即,use_arbitrary_direction_intra_flag)、针对根据频率变换的频域的 预测编码/解码操作的可用性(即, use_frequency_domain_prediction_flag)、转动变换操作的可用性(即, use_rotational_transform_flag)、使用树重要性图的编码/解码的可用性 (即,use_tree_significant_map_flag)、使用多参数的帧内预测编码操作 的可用性(即,use_multi_parameter_intra_prediction_flag)、改进的运 动矢量预测编码操作的可用性(即, use_advanced_motion_vector_prediction_flag)、自适应环路滤波操作的可 用性(即,use_adaptive_loop_filter_flag)、四叉树结构的自适应环路滤 波操作的可用性(即,use_quadtree_adaptive_loop_filter_flag)、使用量 化参数的delta值的量化操作的可用性(即,use_delta_qp_flag)、随机噪 声产生操作的可用性(即,use_random_noise_generation_flag)、指示具有 用于编码单元的帧间预测的任意分区的分区是否被允许的信息(即, use_arbitrary_motition_partition_flag)。

具体地,  根据自适应环路滤波操作的可用性(即, use_adaptive_loop_filter_flag)和四叉树结构的自适应环路滤波操作的可 用性(即,use_quadtree_adaptive_loop_filter_flag),序列参数集1700 可定义自适应环路滤波器的滤波器长度(即,alf_filter_length)、自适应 环路滤波器的类型(即,alf_filter_type)、用于自适应环路滤波器系数的 量化的参考值(即,alf_qbits)以及自适应环路滤波的彩色分量的数量(即, alf_num_color)。

关于在视频编码设备1400和视频解码设备1500中使用的编码单元的深 度、编码工具和操作模式之间的相关性的信息可包括与编码单元的深度 uiDepth相应的帧间预测的操作模式mhp_mode[uiDepth]以及指示树重要性 图中的重要性图的类型的操作模式significant_map_mode[uiDepth]。更具 体地,序列参数集1700可设置根据编码单元的深度的帧间预测和相应操作模 式之间的相关性或者使用树重要性图的编码/解码和相应操作模式之间的相 关性。

序列参数集1700还可设置输入样点的位深度input_sample_bit_depth 和内部样点的位深度internal_sample_bit_depth。

视频解码设备1500可读取序列参数,从读取的序列参数中提取指示用于 具有编码单元的帧间预测的任意分区的分区是否被允许的信息(即, use_arbitrary_motion_partition_flag),确定是否使用通过根据任意比例 划分相应序列的编码单元而获得的分区执行帧间预测。

由视频编码设备1400和视频解码设备1500使用的指示具有用于编码单 元的帧间预测的任意分区的分区是否被允许的信息(即, use_arbitrary_motion_partition_flag)不限于图22的序列参数集1700, 并可以以最大编码单元、像条、帧、画面、GOP等为单位进行编码/解码。

如果指示用于具有编码单元的帧间预测的任意分区的分区是否被允许的 信息(即,use_arbitrary_motion_partition_flag)在像条头中具有真值, 则使用通过在相应像条中根据任意比例划分编码单元而获得的分区执行帧间 预测。如果所述信息具有假值,则使用通过在相应像条中根据1:1的比例划 分编码单元的宽或高而获得的分区执行帧间预测。

图20是示出根据另一示例性实施例的关于使用根据任意比例划分的分 区进行的帧间预测的视频编码方法的流程图。

参照图20,在操作1810,视频数据被划分为最大编码单元。

在操作1820,基于根据最大编码单元的至少一个划分的区域的分层结构 的较深层编码单元,对最大编码单元的视频数据进行编码,确定编码结果将 被输出的编码深度。帧间预测可选择性地使用通过根据任意比例划分编码单 元而获得的分区。可根据数据单元(诸如帧序列、帧、像条、编码单元等) 设置是否使用通过根据任意比例划分编码单元而获得的分区执行帧间预测。

在操作1830,包括与根据最大编码单元的划分区域的编码深度相应的编 码视频数据以及关于编码深度和编码模式的编码信息的比特流被输出。指示 是否通过使用通过根据任意比例划分编码单元而获得的分区执行帧间预测的 信息可被编码,并可被插入比特流,随后比特流可被输出。

图21是示出根据另一示例性实施例的关于使用根据任意比例划分的分 区进行的帧间预测的视频解码方法的流程图。

参照图21,在操作1910,关于编码视频数据的比特流被接收,比特流的 码元被解析。

在操作1920,从比特流提取根据最大编码单元的编码视频数据以及关于 根据最大编码单元的编码深度和编码模式的编码信息。可从比特流提取指示 是否使用通过根据任意比例划分编码单元而获得的分区执行帧间预测的信 息。可从序列参数集、像条头、编码单元的编码信息等提取指示是否使用通 过根据任意比例划分编码单元而获得的分区执行帧间预测的信息。

在操作1930,可基于关于根据最大编码单元的编码深度和编码模式的信 息,针对根据最大编码单元的至少一个编码深度的编码单元执行解码,所述 解码包括使用通过根据任意比例划分编码单元而获得的分区进行的运动补 偿。可根据从比特流提取的指示使用通过根据任意比例划分编码单元而获得 的分区执行帧间预测的信息选择性地执行是否执行解码,所述解码包括使用 通过根据任意比例划分编码单元而获得的分区进行的运动补偿。

如果像本实施例的视频编码方法和视频解码方法一样执行使用根据任意 比例划分的分区的帧间预测,则通过使用在当前深度被划分到一侧的分区而 不必进一步将当前较深层编码单元划分到下层深度来执行帧间预测。

此外,编码单元的分区是否包括根据任意比例划分的分区或具有任意形 状的分区以及通过根据1:1的比例划分编码单元的宽或高而获得的分区可被 选择,从而不支持根据任意比例划分的分区的传统编码/解码系统可使用本实 施例的视频编码方法和视频解码方法。因此,可根据本实施例的视频编码和 解码方法选择性地执行更有效和更精确的预测编码。

示例性实施例可被写为计算机程序,并可在使用计算机可读记录介质执 行所述程序的通用数字计算机中实现。计算机可读记录介质的示例包括磁存 储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)。 示例性实施例还可被实现为计算机处理器和硬件装置。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号