对视频进行解码的方法和设备与流程

文档序号:18922264发布日期:2019-10-19 03:42阅读:326来源:国知局
对视频进行解码的方法和设备与流程

技术领域

与示例性实施例一致的设备和方法涉及对视频进行编码和解码。



背景技术:

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



技术实现要素:

技术问题

示例性实施例的各方面提供基于扫描顺序的视频编码和解码,所述扫描顺序取决于构成分层结构的编码单元和数据单元的绝对位置和相对位置。

技术方案

根据示例性实施例的一方面,提供一种基于分层数据单元的扫描顺序的视频解码方法,所述方法包括:接收并解析经过编码的视频的比特流;从比特流提取关于对经过编码的视频的画面进行解码的最大编码单元的大小的信息以及关于画面的编码单元的编码深度和编码模式的编码信息,其中,最大编码单元的大小是作为对画面进行解码的数据单元的编码单元的最大尺寸;以及通过使用关于最大编码单元的大小的信息以及关于编码深度和编码模式的编码信息,确定最大编码单元和画面根据深度被分为的编码单元的分层结构,并基于编码单元对画面进行解码,其中,基于下层数据单元的绝对位置或与上层数据单元的位置相比的相对位置,确定包括在最大编码单元和编码单元的分层结构中的上层数据单元和下层数据单元的数据扫描顺序。

有益效果

根据示例性实施例的一方面,当使用比现有宏块和各种类型的数据单元相对更大的数据单元时,基于分层数据单元的扫描顺序的视频编码设备和基于分层数据单元的扫描顺序的视频解码设备通过基于分层数据单元的扫描顺序互相变换和使用数据单元的相对位置和绝对位置,能够准确快速地分析各种类型的数据单元的位置,从而对视频有效地进行编码或解码。

附图说明

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

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

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

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

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

图6是示出根据示例性实施例的根据深度的更深的编码单元和预测单元的示图;

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

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

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

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

图13示出用于描述根据示例性实施例的根据表1的编码模式信息的编码单元、预测单元或分区(partition)和变换单元之间的关系的示图;

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

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

图16是根据示例性实施例的基于分层数据单元的扫描顺序对视频进行编码的设备的框图;

图17是根据示例性实施例的基于分层数据单元的扫描顺序对视频进行解码的设备的框图;

图18示出根据示例性实施例的像条(slice)、编码单元、预测单元、分区和变换单元的位置与其扫描索引(scan indices)之间的关系;

图19示出根据示例性实施例的基于分层编码单元的Z字形(Zigzag)扫描顺序的索引(indices);

图20示出根据示例性实施例的最大编码单元、分层数据单元和最小单元的相对位置;

图21示出根据示例性实施例的用于任意方向帧内预测的相邻预测单元;

图22示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型2N×2N的预测单元;

图23示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型2N×N的预测单元;

图24示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型N×2N的预测单元;

图25示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型N×N的预测单元;

图26示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型2N×nU的预测单元;

图27示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型2N×nD的预测单元;

图28示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型nL×2N的预测单元;

图29示出根据示例性实施例的在2N×2N大小的最大编码单元中的最小单元的位置和分区类型nR×2N的预测单元;

图30是根据示例性实施例的基于分层数据单元的扫描顺序对视频进行编码的方法的流程图;

图31是根据示例性实施例的基于分层数据单元的扫描顺序对视频进行解码的方法的流程图。

最佳实施方式

根据示例性实施例的一方面,提供一种基于分层数据单元的扫描顺序的视频解码方法,所述方法包括:接收并解析经过编码的视频的比特流;从比特流提取关于用于对经过编码的视频的画面进行解码的最大编码单元的大小的信息以及关于画面的编码单元的编码深度和编码模式的编码信息,其中,最大编码单元的大小是作为对用于对画面进行解码的数据单元的编码单元的最大尺寸;以及通过使用关于最大编码单元的大小的信息以及关于编码深度和编码模式的编码信息,确定最大编码单元和画面根据深度被分为的编码单元的分层结构,并基于编码单元对画面进行解码,其中,基于下层数据单元的绝对位置或与上层数据单元的位置相比的相对位置,确定包括在最大编码单元和编码单元的分层结构中的上层数据单元和下层数据单元的数据扫描顺序。

基于最大编码单元和编码单元的分层结构,最大编码单元的下层数据单元可包括根据深度的更深的编码单元、编码深度的编码单元、用于对编码单元进行预测解码的预测单元、预测单元被划分为的分区、用于对编码单元进行逆变换的变换单元和最小单元中的至少一个,上层数据单元可包括以最大编码单元、根据深度的更深的编码单元、编码深度的编码单元、预测单元、分区和最小单元的顺序的至少一个下层数据单元。

解码步骤可包括:通过使用上层编码单元相对于最大编码单元的相对位置或画面中上层编码单元的绝对位置,来确定下层编码单元相对于最大编码单元的相对位置或画面中下层编码单元的绝对位置。

根据另一示例性实施例的一方面,提供一种基于分层数据单元的扫描顺序的视频编码方法,所述方法包括:将画面划分为最大编码单元,其中,最大编码单元具有最大尺寸并且是画面被编码的数据单元;通过基于最大编码单元和画面根据深度被划分为的编码单元对画面进行编码,确定具有分层结构的最大编码单元和编码单元,并确定编码单元的编码深度和编码模式;以及输出关于编码深度和编码模式的编码信息以及最大编码单元的大小信息,其中,基于下层数据单元的绝对位置或与上层数据单元相比的相对位置,确定属于最大编码单元和编码单元的分层结构的数据单元的数据扫描顺序。

根据另一示例性实施例的一方面,提供一种基于分层数据单元的扫描顺序的视频解码设备,所述设备包括:接收器,接收并解析经过编码的视频的比特流;提取器,从比特流提取关于用于对经过编码的视频的画面进行解码的最大编码单元的大小的信息以及关于画面的编码单元的编码深度和编码模式的编码信息,其中,最大编码单元的大小是作为用于对画面进行解码的数据单元的编码单元的最大尺寸;以及解码器,通过使用关于最大编码单元的大小的信息以及关于编码深度和编码模式的编码信息,确定最大编码单元和画面根据深度被分为的编码单元的分层结构,并基于编码单元对画面进行解码,其中,基于下层数据单元的绝对位置或与上层数据单元的位置相比的相对位置,确定包括在最大编码单元和编码单元的分层结构中的上层数据单元和下层数据单元的数据扫描顺序。

根据另一示例性实施例的一方面,提供一种基于分层数据单元的扫描顺序的视频编码设备,所述设备包括:最大编码单元划分器,将画面划分为最大编码单元,其中,最大编码单元具有最大尺寸并且是画面被编码的数据单元;编码单元确定器,通过基于最大编码单元和画面根据深度被划分为的编码单元对画面进行编码,确定具有分层结构的最大编码单元和编码单元,并确定编码单元的编码深度和编码模式;以及信息输出单元,输出关于编码深度和编码模式的编码信息以及最大编码单元的大小信息,其中,基于下层数据单元的绝对位置或与上层数据单元相比的相对位置,确定属于最大编码单元和编码单元的分层结构的数据单元的数据扫描顺序。

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

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

具体实施方式

以下,将参照下面的图1到图31更全面地描述根据示例性实施例的视频编码设备、视频解码设备、视频编码方法和视频解码方法,其中,在图1到图31中,相同的标号始终表示相同的元素。现在将参照图1到图15描述根据示例性实施例的基于空间上分层的数据单元的视频编码和解码,将参照图16到图31描述根据示例性实施例的基于分层数据单元的扫描顺序的视频编码和解码。当诸如“…的至少一个”的表达在一列元素后面时,该表达修饰整列元素,而不修饰该列中的单个元素。

以下,根据示例性实施例,编码单元是图像数据在编码器方被编码的编码数据单元和经过编码的图像数据在解码器方被解码的编码数据单元。另外,编码深度表示编码单元被编码的深度。

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

图1是根据示例性实施例的视频编码设备100的框图。参照图1,视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。

最大编码单元划分器110可基于图像的当前画面的最大编码单元划分当前画面。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据示例性实施例的最大编码单元可以是具有32×32、64×64、128×128、256×256等大小的数据单元,其中,数据单元的形状是宽和高为2的平方的正方形。根据所述至少一个最大编码单元,图像数据可输出到编码单元确定器120。

根据示例性实施例的编码单元可具有最大尺寸和深度的特征。深度表示编码单元从最大编码单元被空间划分的次数。因此,随着深度加深或增加,根据深度的更深的编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个深度相应的编码单元的大小随着最大编码单元深度的加深而减小,因此与较高深度相应的编码单元可包括与较低深度相应的多个编码单元。

如上所述,根据编码单元的最大尺寸,当前画面的图像数据被划分为一个或多个最大编码单元,并且最大编码单元的每一个可包括根据深度被划分的更深的编码单元。由于根据示例性实施例的最大编码单元根据深度被划分,因此,包括在最大编码单元中的空间域的图像数据可根据深度被分层分类。

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

编码单元确定器120对通过根据深度划分最大编码单元的区域获得的至少一个划分的区域进行编码,并且根据所述至少一个划分的区域确定用于输出最终编码的图像数据的深度。编码单元确定器120对通过根据深度划分最大编码单元的区域获得的至少一个划分的区域进行编码,并且根据所述至少一个划分的区域确定用于输出最终编码的图像数据的深度。例如,编码单元确定器120通过根据当前画面的最大编码单元按照根据深度的更深的编码单元对图像数据进行编码并选择具有最少编码误差的深度来确定编码深度。例如,编码单元确定器120通过根据当前画面的最大编码单元按照根据深度的更深的编码单元对图像数据进行编码并选择具有最少编码误差的深度来确定编码深度。因此,通过编码单元确定器120输出与确定的编码深度相应的编码单元的经过编码的图像数据。因此,通过编码单元确定器120输出与确定的编码深度相应的编码单元的经过编码的图像数据。另外,与编码深度相应的编码单元可被看作经过编码的编码单元。

确定的编码深度和根据确定的编码深度的经过编码的图像数据被输出到输出单元130。

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

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

因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据示例性实施例的具有树结构的编码单元包括在最大编码单元中包括的所有更深的编码单元之中与被确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,可根据深度分层确定编码深度的编码单元,并且在不同区域中,可独立地确定编码深度的编码单元。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。根据示例性实施例的最大深度是与从最大编码单元到最小编码单元的划分次数有关的索引。根据示例性实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据示例性实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度是0时,最大编码单元被划分一次的编码单元的深度可被设置为1,并且最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分4次的编码单元,则存在深度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)获得的分区、通过几何划分预测单元获得的分区以及具有任意形状的分区。

预测单元的预测模式可以是帧内模式(intra mode)、帧间模式(inter mode)和跳过模式(skip mode)中的至少一个。例如,可对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。另外,可仅对2N×2N的分区执行跳过模式。针对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。

视频编码设备100还可不仅基于对图像数据进行编码的编码单元,而且还基于不同于编码单元的数据单元,在编码单元中对图像数据执行变换。

为了在编码单元中执行变换,可基于具有小于或等于编码单元的大小的数据单元执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。

以下,将用作变换的基础的数据单元称为变换单元。还可针对变换单元设置变换深度,所述变换深度表示通过划分编码单元的高度和宽度将达到变换单元的划分次数。例如,在2N×2N的当前编码单元中,当变换单元的大小也是2N×2N时,变换深度可以是0;当当前编码单元的高度和宽度的每一个被划分为两等份,总共被划分为41个变换单元,且变换单元的大小因此是N×N时,变换深度可以是1;当当前编码单元的高度和宽度的每一个被划分为四等份,总共被划分为42个变换单元,且变换单元的大小因此是N/2×N/2时,变换深度可以是2。换言之,可根据分层的树结构设置变换单元,在所述分层的树结构中,根据变换深度的分层特征,上层变换深度的变换单元被划分为下层变换深度的四个变换单元。

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

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

稍后将参照图3到图12详细地描述根据一个或多个示例性实施例的根据最大编码单元中的树结构的编码单元和确定分区的方法。

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

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

可通过对图像的残余数据进行编码来获得编码的图像数据。关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式和变换单元的大小中的至少一个。

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

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

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

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

根据示例性实施例的最小单元可以是通过划分四次具有最低深度的最小编码单元获得的矩形数据单元。可选择地,最小单元可以是最大矩形数据单元,所述最大矩形数据单元可包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中。例如,通过输出单元130输出的编码信息可被分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区大小的信息中的至少一个。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息中的至少一个。另外,关于根据画面、像条或画面组(GOP)定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入到比特流的序列参数集(SPS)或头部。

在视频编码设备100中,更深的编码单元可以是通过将作为上一层的上层深度的编码单元的高度和宽度的至少一个划分两次获得的编码单元。换言之,当当前深度的编码单元的大小是2N×2N时,更低深度的编码单元的大小可以是N×N。另外,具有大小2N×2N的当前深度的编码单元可包括更低深度的4个编码单元。

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

从而,如果具有高分辨率或大量数据的图像以现有技术的宏块为单位被编码,则每幅画面的宏块的数量过度增加。因此,针对每个宏块生成的压缩信息的数量增加,从而难以发送压缩信息,并且数据压缩效率降低。但是,通过使用根据示例性实施例的视频编码设备100,由于在考虑图像特征的同时调整编码单元,在考虑图像大小的同时增加编码单元的最大尺寸时,因此可提高图像压缩效率。

图2是根据示例性实施例的视频解码设备200的框图。参照图2,视频解码设备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的分区。

参照图3,第一视频数据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,由于通过划分三次最大编码单元而深度加深三层,因此第二视频数据320的编码单元325可包括具有长轴大小为64的最大编码单元以及具有长轴大小为32、16和8的编码单元。随着深度加深(即,增加),可精确地表达详细的信息。

图4是根据示例性实施例的基于编码单元的图像编码器400的框图。参照图4,图像编码器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的框图。参照图5,解析器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使用分层的编码单元,以考虑图像的特征。根据图像的特征可自适应地确定编码单元的最大高度、最大宽度和最大深度,或者可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸确定根据深度的更深的编码单元的大小。

参照图6,在编码单元的分层结构600中,根据示例性实施例,编码单元的最大高度和最大宽度均是64,最大深度是4。由于深度沿着分层结构600的纵轴加深(即,增加),因此更深的编码单元的高度和宽度均被划分。另外,沿着分层结构600的横轴示出预测单元和分区,所述预测单元和分区作为用于每个更深的编码单元的预测编码的基础。

例如,第一编码单元610是分层结构600中的最大编码单元,其中第一编码单元610的深度是0,大小(即,高度×宽度)是64×64。深度沿着纵轴加深,以使分层结构600包括具有大小32×32和深度1的第二编码单元620、具有大小16×16和深度2的第三编码单元630、具有大小8×8和深度3的第四编码单元640以及具有大小4×4和深度4的第五编码单元650。具有大小4×4和深度4的第五编码单元650是最小编码单元。

根据每个深度沿着横轴布置编码单元610、620、630、640和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大小的分区。可选择地,第五编码单元650的预测单元可被划分为包括在第五编码单元650中的具有大小4×4的分区650、均具有大小4×2的分区652、均具有大小2×4的分区654和均具有大小2×2的分区656。

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

包括相同范围和相同大小的数据的根据深度的更深的编码单元的数量随着深度加深而增加。例如,需要与深度2相应的四个编码单元以覆盖包括在与深度1相应的一个编码单元中的数据。因此,为了比较相同数据根据深度的编码结果,与深度1相应的编码单元和与深度2相应的四个编码单元均被编码。

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

图7是用于描述根据示例性实施例的编码单元710和变换单元720之间的关系的示图。根据示例性实施例的视频编码设备100和根据示例性实施例的视频解码设备200针对每个最大编码单元,根据具有小于或等于最大编码单元的大小的编码单元,分别对图像进行编码和解码。可基于不大于相应编码单元的数据单元,选择在编码期间用于变换的变换单元的大小。

参照图7,例如,在视频编码设备100中,如果编码单元710的大小是64×64,则可通过使用具有大小32×32的变换单元720执行变换。

另外,通过对具有小于64×64的32×32、16×16、8×8和4×4大小的变换单元的每一个执行变换来对具有大小64×64的编码单元710的数据进行编码,并随后可选择具有最小编码误差的变换单元。

图8是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图。参照图8,根据示例性实施例的视频编码设备100的输出单元130可对与编码深度相应的每个编码单元的关于分区类型的第一信息800、关于预测模式的第二信息810和关于变换单元大小的第三信息820进行编码,并且发送所述第一信息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是根据示例性实施例的根据深度的更深的编码单元的示图。可使用划分信息以表示深度的变化。划分信息表示当前深度的编码单元是否被划分为更低深度的编码单元。

参照图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获得的矩形数据单元。通过反复地执行编码,根据示例性实施例的视频编码设备100可通过将根据编码单元900的深度的编码误差进行比较来选择具有最小编码误差的深度,以确定编码深度,并且将相应分区类型和预测模式设置为编码深度的编码模式。

如此,在深度1到d的所有深度中比较了根据深度的最小编码误差,并且具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式中的至少一个可作为关于编码模式的信息被编码和发送。另外,由于编码单元从深度0划分到编码深度,因此只有编码深度的划分信息被设为0,除了编码深度之外的深度的划分信息被设为1。

根据示例性实施例的视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息,以对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息将划分信息为0的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。

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

参照图10到图12,编码单元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

[表1]

视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,并且视频解码设备200的图像数据和编码信息提取器220可从接收到的比特流提取关于具有树结构的编码单元的编码信息。

划分信息表示当前编码单元是否被划分为更低深度的编码单元。如果当前深度的划分信息是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的编码模式信息的编码单元、预测单元或分区和变换单元之间的关系的示图。参照图13,最大编码单元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的标记,但要理解另一示例性实施例不限于1比特标记,并且当在另一示例性实施例中TU大小标记从0增加时,可分层划分具有树结构的变换单元。

在这种情况下,当TU大小标记与变换单元的最大尺寸和最小尺寸一起使用时,可表示实际使用的变换单元的大小。视频编码设备100可对最大变换单元的大小信息、最小变换单元的大小信息和变换单元的最大划分信息进行编码。编码的最大变换单元的大小信息、编码的最小变换单元的大小信息和变换单元的最大划分信息可插入到SPS中。视频解码设备200可通过使用最大变换单元的大小信息、最小变换单元的大小信息和变换单元的最大划分信息执行视频解码。

例如,当当前编码单元具有64×64的大小,最大变换单元具有32×32的大小,且TU大小标记是0时,变换单元可被设置为具有32×32的大小。当当前编码单元具有64×64的大小,最大变换单元具有32×32的大小,且TU大小标记是1时,变换单元可被设置为具有16×16的大小。当当前编码单元具有64×64的大小,最大变换单元具有32×32的大小,且TU大小标记是2时,变换单元可被设为具有8×8的大小。

例如,当前编码单元具有32×32的大小,最小变换单元具有32×32的大小,且TU大小标记是0时,变换单元可被设置为具有32×32的大小。由于变换单元的大小不能小于32×32,因此可不设置TU大小标记。

例如,当当前编码单元具有64×64的大小且变换单元的最大划分信息是1时,TU大小标记可以是0或1,并且不能设置其他TU大小标记。

因此,当变换单元的最大划分信息被定义为“MaxTransformSizeIndex”,最小变换单元的大小被定义为“MinTransformSize”,且当TU大小标记是0时变换单元的大小被定义为“RootTuSize”时,在当前编码单元中可能的最小变换单元的大小“CurrMinTuSize”可被定义为下面的等式(1):

CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex)) (1)

与在当前编码单元中可能的最小变换单元的大小“CurrMinTuSize”相比,当TU大小标记是0时变换单元的大小“RootTuSize”可表示可被系统使用的最大变换单元的大小。换言之,根据等式(1),由于“RootTuSize/(2^MaxTransformSizeIndex)”表示当TU大小标记是0时变换单元的大小“RootTuSize”被划分了与变换单元的最大划分信息相应的次数时获得的变换单元的大小,并且“MinTransformSize”表示最小变换单元的大小,所述两个大小之中较小的大小可以是在当前编码单元中可能的最小变换单元的大小“CurrMinTuSize”。在示例性实施例中,上面的等式(1)和以下等式是关系等式。

当前最大变换单元的大小RootTuSize可根据预测模式的类型而变化。

例如,当当前预测模式是帧间模式时,可根据下面的等式(2)确定RootTuSize,其中,“MaxTransformSize”表示最大变换单元的大小,“PUSize”表示当前预测单元的大小:

RootTuSize=min(MaxTransformSize,PUSize) (2)

换言之,当当前预测模式是帧间模式时,当TU大小标记是0时变换单元的大小“RootTuSize”可被设置为最大变换单元的大小和当前预测单元的大小之中较小的大小。

当当前分区单元的预测模式是帧内模式时,可根据下面的等式(3)确定“RootTuSize”,其中,“PartitionSize”表示当前分区单元的大小:

RootTuSize=min(MaxTransformSize,PartitionSize) (3)

换言之,当当前预测模式是帧内模式时,当TU大小标记是0时变换单元的大小“RootTuSize”可被设置为最大变换单元的大小和当前分区单元的大小之中较小的大小。

但是,应注意,根据分区单元的预测模式变化的当前最大变换单元的大小“RootTuSize”仅是示例性的,并且在另一示例性实施例中用于确定当前最大变换单元的大小“RootTuSize”的因素不限于此。

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

参照图14,在操作1210,当前画面被划分为至少一个最大编码单元。可预先设置表示可能的划分总次数的最大深度。

在操作1220,对通过划分根据深度的最大编码单元的区域获得的至少一个划分区域进行编码,从而针对每个至少一个划分区域确定用于输出最终编码结果的编码深度,并且确定根据树结构的编码单元。

每当深度加深,就在空间上划分最大编码单元,从而最大编码单元被划分为更低深度的编码单元。每个编码单元可通过独立于相邻编码单元在空间上被划分而被划分为另一更低深度的编码单元。对根据深度的每个编码单元重复地执行编码。

另外,针对每个更深的编码单元确定具有最小编码误差的分区类型和变换单元。为了确定每个最大编码单元中具有最小编码误差的编码深度,可在根据深度的所有更深的编码单元中测量并比较编码误差。

在操作1230,输出作为至少一个划分区域的编码的最终结果的图像数据以及关于编码深度和编码模式的编码信息。关于编码模式的编码信息可包括关于编码深度的信息或划分信息、关于预测单元的分区类型的信息、预测模式和变换单元的大小。关于编码模式的编码信息与编码的图像数据一起可被发送到解码器。

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

参照图15,在操作1310,经过编码的视频的比特流被接收并解析。

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

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

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

现在将参照图16到图31详细描述根据示例性实施例的基于分层数据单元的扫描顺序对视频进行编码的方法和设备以及基于分层数据单元的扫描顺序对视频进行解码的方法和设备。

图16是根据示例性实施例的基于分层数据单元的扫描顺序的视频编码设备1400的框图。

基于分层数据单元的扫描顺序的视频编码设备1400包括最大编码单元划分器1410、编码单元确定器1420和输出单元1430。由于基于分层数据单元的扫描顺序的视频编码设备1400是视频编码设备100的示例性实施例,因此视频编码设备100的最大编码单元划分器110、编码单元确定器120和输出单元130可分别对应于最大编码单元划分器1410、编码单元确定器1420和输出单元1430。

最大编码单元划分器1410将输入图像的画面划分为每个具有预定大小的最大编码单元,并且将每个最大编码单元的图像数据输出到编码单元确定器1420。

随着深度加深,编码单元确定器1420分层划分从最大编码单元划分器1410接收到的最大编码单元的区域,并基于独立于分层划分区域的与划分次数相应的根据深度的更深的编码单元执行编码。

基于每个更深的编码单元的编码包括基于形状或尺寸小于或等于更深的编码单元的预测单元的预测以及基于形状或尺寸小于或等于更深的编码单元的变换单元的变换。

因此,编码单元确定器1420可确定将输出编码结果的至少一个编码深度、具有编码深度的编码单元的分区类型、预测模式、变换单元的大小等。与以这种方式被确定的具有编码深度的编码单元关联的多条信息可被确定为关于编码模式的信息。

为了针对最大编码单元的每个独立的区域确定将输出编码结果的编码深度和与编码深度关联的编码模式,编码单元确定器1420可从根据深度的更深的编码单元之中搜索发生最小编码误差的编码单元的至少一个编码深度。

根据示例性实施例,对最大编码单元进行编码的顺序是光栅扫描顺序。可在与相同深度相应的更深的编码单元之中以Z字形(zigzag)顺序对最大编码单元中根据分层深度的编码单元进行扫描。对包括在最大编码单元中的最小单元进行编码的顺序是Z字形扫描顺序或者光栅扫描顺序。

现在将示出在根据Z字形扫描顺序的包括在最大编码单元中的更深的编码单元之中的上层编码单元和下层编码单元之间的关系。预定的下层编码单元相对于上层编码单元的相对位置可被表示为基于包括在上层编码单元中的下层编码单元的Z字形扫描顺序的预定的下层编码单元的索引。

以下,下层数据单元相对于上层数据单元的索引被阐释为表示在上层数据单元中存在于相同级别的下层数据单元之间的Z字形扫描顺序的扫描顺序。

例如,编码单元确定器1420可使用最大编码单元内预定深度的编码单元的索引,以表示包括在最大编码单元中的预定深度的编码单元的相对位置。编码单元确定器1420可使用最大编码单元的最小单元的索引,以表示最小单元相对于最大编码单元的相对位置。

编码单元确定器1420可将根据Z字形扫描顺序定义的下层数据单元相对于上层数据单元的相对位置变换为当前画面上的下层数据单元的绝对位置。另外,编码单元确定器1420可将当前画面上的下层数据单元的绝对位置变换为根据Z字形扫描顺序定义的下层数据单元相对于上层数据单元的相对位置。预定数据单元的绝对位置的示例可以是当前画面上的预定数据单元的左上端的像素的x坐标值和y坐标值的组合。

基于数据单元之间的分层结构(例如,最大编码单元、更深的编码单元、编码深度的编码单元、预测单元、最小单元等),包括在最大编码单元中的上层编码单元和下层编码单元之间的相对位置可互相变换。

编码单元确定器1420可通过使用上层编码单元相对于当前最大编码单元的相对位置来确定下层编码单元相对于当前最大编码单元的相对位置。编码单元确定器1420还可通过使用上层编码单元相对于当前最大编码单元的相对位置来确定当前画面的下层编码单元的绝对位置。

编码单元确定器1420还可通过使用当前画面上的上层编码单元的绝对位置来确定当前最大编码单元的下层编码单元的相对位置。编码单元确定器1420还可通过使用当前画面上的上层编码单元的绝对位置来确定当前画面的下层编码单元的绝对位置。

编码单元确定器1420可使用位于包括在当前最大编码单元中的每个更深的编码单元的左上端的最小单元相对于当前最大编码单元的索引,以定义更深的编码单元之中的上层编码单元和下层编码单元之间的关系。例如,编码单元确定器1420可通过使用位于上层编码单元的左上端的最小单元相对于当前最大编码单元的索引来确定位于包括在上层编码单元中的预定的下层编码单元的左上端的最小单元相对于当前最大编码单元的索引。

编码单元确定器1420可通过使用包括在当前预测单元中的预定的编码单元相对于当前最大编码单元的相对位置来确定包括在当前预测单元中的最小单元相对于当前最大编码单元的相对位置。

例如,编码单元确定器1420可通过使用位于当前预测单元的左上端的最小单元的索引来确定位于当前预测单元的右上端的最小单元相对于当前最大编码单元的索引或者位于当前预测单元的左下端的最小单元相对于当前最大编码单元的索引。

编码单元确定器1420可基于包括预测单元的编码深度的编码单元的分区类型和分区索引来确定确定相对于当前最大编码单元的索引的方法。分区类型可以是用于将编码深度的编码单元的高度或宽度等分的对称分区类型(例如,2N×2N、2N×N、N×2N或N×N)或者用于非对称划分编码深度的编码单元的高度或宽度的非对称分区类型。

因此,编码单元确定器1420可通过使用位于当前预测单元的左上端的最小单元相对于当前最大编码单元的索引和大小、分区类型以及包括预测单元的编码深度的编码单元的分区索引来确定包括在当前预测单元中的最小单元相对于当前最大编码单元的索引。

编码单元确定器1420可基于当前编码单元相对于当前最大编码单元的相对位置来确定在当前编码单元的左上端的最小单元的绝对位置。

编码单元确定器1420可基于当前预测单元的编码单元相对于当前最大编码单元的相对位置来确定在当前预测单元的左上端的最小单元的绝对位置。

编码单元确定器1420可参考当前数据单元的邻域信息,以对当前数据单元的图像数据进行编码。例如,可参考相邻最大编码单元、相邻编码单元等的邻域信息,以对当前最大编码单元、当前编码单元或者当前预测单元执行预测编码。

详细地,当前最大编码单元的邻域信息可包括位于当前最大编码单元的左侧的最大编码单元、预测单元和最小单元、位于当前最大编码单元的上侧的最大编码单元、预测单元和最小单元、位于当前最大编码单元的右上侧的最大编码单元、预测单元和最小单元以及位于当前最大编码单元的左上侧的最大编码单元、预测单元和最小单元。

编码单元确定器1420可通过使用包括在当前预测单元中的最小单元的索引来确定当前预测单元的相邻最小单元相对于相应最大编码单元的索引以及表示相邻最小单元是否可被用作参考信息的可用性,以确定用于任意方向帧内预测的参考信息。

例如,编码单元确定器1420可通过使用基于当前最大编码单元的绝对位置、当前编码单元的绝对位置以及当前预测单元的分区类型和相对位置的预测单元的大小,来确定包括相邻最小单元的预测单元是否偏离当前画面。如果相邻最小单元或相邻预测单元偏离当前画面,或者如果相邻最小单元或相邻预测单元没有偏离当前画面但还不是根据Z字形扫描顺序的可访问数据,则可确定相应相邻信息不能用作参考信息。

编码单元确定器1420可基于关于下层数据单元的信息来确定关于上层数据单元的信息。例如,由于设置了关于最小单元的编码信息(包括关于相应深度的编码单元的信息、关于将相应深度的编码单元划分为预测单元的信息以及关于预测单元的预测模式的信息中的至少一个),因此,可推断关于编码单元、预测单元和包括最小单元的最大编码单元的信息。

将由编码单元确定器1420确定的关于编码深度和与编码深度关联的编码模式的信息输出到输出单元1430。

输出单元1430输出关于每个最大编码单元的编码深度和与编码深度关联的编码模式的所有信息、以及作为编码的结果的编码的视频数据。

图17是根据示例性实施例的基于分层数据单元的扫描顺序的视频解码设备1500的框图。

参照图17,基于分层数据单元的扫描顺序的视频解码设备1500包括接收器1510、提取器1520和解码器1530。基于分层数据单元的扫描顺序的视频解码设备1500可以是图2的视频解码设备200的示例性实施例。视频解码设备200的接收器210、图像数据和编码信息提取器220以及图像数据解码器230可分别与视频解码设备1500的接收器1510、提取器1520和解码器1530相应。

接收器1510接收并解析经过编码的视频的比特流。

提取器1520从接收器1510接收解析的比特流,并从解析的比特流提取关于每个最大编码单元的编码深度和与编码深度关联的编码模式的信息以及经过编码的视频数据。

解码器1530从提取器1520接收关于编码深度和编码模式的信息以及经过编码的视频数据,并基于关于编码深度和编码模式的信息对针对至少一个编码深度的每个编码单元编码的视频数据进行解码。

通过解码恢复的视频数据可被发送到各种再现终端或者存储在存储设备中。

根据示例性实施例,对最大编码单元进行编码的顺序是光栅扫描顺序。可在具有相同深度的编码单元之中以Z字形扫描顺序对包括在最大编码单元中的根据分层深度的编码单元进行扫描。对包括在最大编码单元中的最小单元进行编码的顺序可以是Z字形扫描顺序或光栅扫描顺序。

与编码单元确定器1420类似,解码器1530可基于对分层数据单元进行扫描的顺序将数据单元的绝对位置和相对位置互相变换,并搜索数据单元的绝对位置和相对位置。

例如,解码器1530可通过使用上层编码单元的相对位置或绝对位置来确定下层编码单元的绝对位置或相对位置。解码器1530可通过使用位于上层编码单元的左上端的最小单元相对于当前最大编码单元的索引,来确定位于包括在上层编码单元中的预定的下层编码单元的左上端的最小单元相对于当前最大编码单元的索引。

解码器1530可通过使用包括在当前预测单元中的预定的最小单元相对于当前最大编码单元的相对位置来确定包括在当前预测单元中的最小单元相对于当前最大编码单元的相对位置。例如,解码器1530可通过使用位于当前预测单元的左上端的最小单元的索引,来确定位于当前预测单元的右上端的最小单元相对于当前最大编码单元的索引或者位于当前预测单元的左下端的最小单元相对于当前最大编码单元的索引。

解码器1530可根据包括预测单元的编码深度的编码单元的分区类型和分区索引来确定确定当前预测单元的最小单元相对于当前最大编码单元的索引的方法。

解码器1530可基于当前编码单元相对于当前最大编码单元的相对位置,来确定在当前编码单元的左上端的最小单元的绝对位置。解码器1530可基于当前预测单元相对于当前最大编码单元的相对位置,来确定在当前预测单元的左上端的最小单元的绝对位置。

解码器1530可通过使用根据Z字形扫描顺序的包括在当前预测单元中的最小单元的索引来分析当前预测单元的相邻最小单元相对于相应最大编码单元的索引、相邻最小单元的可用性以及相邻最大编码单元的地址,以确定用于任意方向帧内预测的参考信息。

例如,解码器1530可通过使用基于当前最大编码单元的绝对位置的预测单元的大小、当前编码单元的绝对位置以及当前预测单元的分区类型和相对位置来确定包括相邻最小单元的预测单元是否偏离当前画面。

由于可提取针对最小单元的编码信息(包括关于相应深度的编码单元的信息、关于将相应深度的编码单元划分为预测单元的信息以及关于预测单元的预测模式的信息中的至少一个),因此解码器1530可基于关于最小单元的编码信息来预测并使用关于相应编码深度的编码单元、预测单元和包括最小单元的最大编码单元的信息。

因此,基于分层数据单元的扫描顺序的视频编码设备1400和基于分层数据单元的扫描顺序的视频解码设备1500能够通过基于分层数据单元的扫描顺序将数据单元的相对位置和绝对位置互相变换并使用数据单元的相对位置和绝对位置,当使用相对大于现有宏块和各种类型的数据单元的数据单元时,来准确快速地分析各种类型的数据单元的位置,从而对视频进行有效地编码或解码。

图18示出根据示例性实施例的根据分层结构的像条、编码单元、预测单元、分区和变换单元的位置与其扫描索引之间的关系。

参照图18,一个画面被划分为多个像条,并且一个像条1850包括多个最大编码单元LCU。包括在像条1850中的多个最大编码单元LCU之中的最大编码单元1860的位置lcuAddr可被表示为在最大编码单元1860的左上端的样值(sample)与在像条1850的左上端的样值相比的相对位置。

最大编码单元1860中具有树结构的多个编码单元之中的编码单元1870的位置可被表示为编码单元1870与在最大编码单元1860的左上端的样值相比的扫描索引cuIdx。如果编码单元1870是与编码深度相应的编码单元(即,不再划分到更低深度的编码单元),则编码单元1870变为预测单元1870,并且预测单元1870的位置可被表示为预测单元1870与在最大编码单元1860的左上端的样值相比的扫描索引puIdx。

预测单元1870可被划分为至少一个PU分区。预测单元1870的多个PU分区之中的PU分区1890的位置可被表示为PU分区1890与在预测单元1870的左上端的样值相比的扫描索引puPartIdx。预测单元1870可至少包括变换单元TU。预测单元1870的多个变换单元之中的变换单元1880的位置可被表示为变换单元1880与在预测单元1870的左上端的样值相比的扫描索引tuIdx。

视频编码设备1400可使用根据以上参照图18描述的示例性实施例的编码单元、预测单元、分区和变换单元的位置及其扫描索引,以执行视频编码。视频解码设备1500可通过使用编码单元、预测单元、分区和变换单元的位置及其扫描索引基于具有树结构的编码单元对经过编码的图像的数据进行解码。

图19是示出根据示例性实施例的基于分层编码单元的Z字形扫描顺序的索引的示图。

基于分层数据单元的扫描顺序的视频编码设备1400的编码单元确定器1420和基于分层数据单元的扫描顺序的视频解码设备1500的解码器1530可根据Z字形扫描顺序对包括在上层数据单元中的下层数据单元进行扫描。

最大编码单元LCU 1600包括深度d-1的多个编码单元,其中,深度d-1的编码单元包括编码单元CU_d-1 1610。深度d-1和深度d分别表示上层深度和下层深度,并且深度d-1的编码单元CU_d-1 1610是上层编码单元,深度d的编码单元CU_d 1630、1640、1650和1660是下层编码单元。

上层编码单元CU_d-1 1610可包括作为下层编码单元的四个编码单元CU_d 1630、1640、1650和1660。具体地讲,可根据表示Z字形扫描顺序的索引以具有编码单元索引0的编码单元CU_d 1630、具有编码单元索引1的编码单元CU_d 1640、具有编码单元索引2的编码单元CU_d 1650和具有编码单元索引3的编码单元CU_d 1660的顺序对四个下层编码单元CU_d 1630、1640、1650和1660进行扫描。

编码单元确定器1420和解码器1530可通过使用位于上层编码单元CU_d-1 1610的左上端的最小单元SU_d-1 1620相对于最大编码单元的相对位置,来确定位于下层编码单元CU_d 1630、1640、1650和1660的每一个的左上端的最小单元SU_d相对于最大编码单元的相对位置。

例如,根据用于最大编码单元的Z字形扫描方法,对于位于上层编码单元CU_d-1 1610的左上端的最小单元SU_d-1 1620设置最小单元索引suIdx_d-1。在这种情况下,可从位于上层编码单元CU_d-1 1610的左上端的最小单元SU_d-1 1620的最小单元索引suIdx_d-1,来确定位于上层编码单元CU_d-1 1610的下层编码单元CU_d 1640的左上端的最小单元SU_d 1670相对于最大编码单元的索引suIdx_d。

为便于解释,假定具有2N×2N大小的上层编码单元CU_d-1 1610仅被划分为均具有N×N大小的编码单元CU_d 1630、1640、1650和1660的情况。确定位于下层编码单元CU_d 1640的左上端的最小单元SU_d 1670的索引suIdx_d的方法的示例遵循下面的等式(4):

suIdx_d=suIdx_d-1+cuIdx_d*NumSusInLcu/(4^d) (4)

其中,NumSusInLcu表示包括在最大编码单元LCU 1600中的最小单元SU的总数。因此,编码单元确定器1420和解码器1530可通过使用下层编码单元CU_d的索引cuIdx_d和位于上层编码单元CU_d-1的左上端的最小单元SU_d-1的索引suIdx_d-1,来确定位于下层编码单元CU_d的左上端的最小单元SU_d的索引suIdx_d。

尽管为便于解释,等式(4)预先假定具有2N×2N大小的上层编码单元CU_d-1仅被划分为均具有N×N大小的多个下层编码单元CU_d,并且仅将基于Z字形扫描的编码单元相对于最大编码单元的索引示为根据深度的更深的编码单元的相对位置,但编码单元确定器1420和解码器1530不限于此。

编码单元确定器1420和解码器1530可通过使用下层编码单元CU_d相对于最大编码单元LCU的相对位置和位于下层编码单元CU_d-1的左上端的最小单元SU_d-1相对于最大编码单元LCU的相对位置,来确定位于下层编码单元CU_d的左上端的最小单元SU_d相对于最大编码单元LCU的相对位置。

图20是示出根据示例性实施例的最大编码单元、分层编码单元和最小单元的相对位置的示图。

存在深度0的最大编码单元1710、1720和1730,并且每个最小单元的大小1740与具有深度3的编码单元的大小相应。基于最大编码单元、预测单元和最小单元的分层结构,预测单元相对于最大编码单元的相对位置遵循Z字形扫描顺序,并且最小单元相对于预测单元的相对位置也遵循Z字形扫描顺序。最小单元相对于最大编码单元的相对位置也遵循Z字形扫描顺序。

因此,当前最大编码单元1710的当前预测单元1750的最小单元相对于当前最大编码单元1710的相对位置可被表示为当前最大编码单元1710中基于Z字形扫描顺序的索引。

编码单元确定器1420和解码器1530可通过使用位于当前预测单元1750的左上端的最小单元1752相对于最大编码单元的相对位置,在当前预测单元1750相对于最大编码单元的预定位置处确定最小单元的相对位置。

例如,编码单元确定器1420和解码器1530可通过使用位于当前预测单元1750的左上端的最小单元1752相对于最大编码单元的索引来确定位于当前预测单元1750的右上端的最小单元1754相对于最大编码单元的索引和位于当前预测单元1750的左下端的最小单元1756相对于最大编码单元的索引。

详细地,编码单元确定器1420和解码器1530可通过使用位于当前预测单元1750的左上端的最小单元1752相对于最大编码单元的索引、当前编码单元的大小、当前编码单元的分区类型和当前分区类型的索引,来确定位于当前预测单元1750的右上端的最小单元1754相对于最大编码单元的索引和位于当前预测单元1750的左下端的最小单元1756相对于最大编码单元的索引。当前编码单元的分区类型表示在当前编码单元中划分为当前预测单元的划分方法和划分类型,当前分区类型的索引表示当前预测单元相对于当前编码单元的索引。

按照根据示例性实施例的视频编码和视频解码中编码单元和数据单元的分层结构,编码单元的分区类型(即,预测单元的形状)的示例可包括对称分区类型和非对称分区类型。2N×2N大小编码单元的对称分区类型的示例可包括2N×2N类型、2N×N类型、N×2N类型和N×N类型。非对称分区类型的示例可包括通过以1:3比率划分2N×2N大小编码单元的高度获得的2N×nU类型、通过以3:1比率划分2N×2N大小编码单元的高度获得的2N×nU类型、通过以1:3比率划分2N×2N大小编码单元的宽度获得的nL×2N类型以及通过以3:1比率划分2N×2N大小编码单元的宽度获得的nR×2N类型。

当前预测单元的最小单元的索引可通过使用当前预测单元的高度或宽度和预测单元的数量被确定,以用作变量。然而,由于当前预测单元的高度或宽度和预测单元的数量根据分区类型而改变,因此编码单元确定器1420和解码器1530可根据当前预测单元的分区类型来设置确定当前预测单元的最小单元的索引的方法。

因此,可根据当前预测单元1750的分区类型是2N×2N类型、2N×N类型、N×2N类型、N×N类型、2N×nU类型、2N×nD类型、nL×2N类型还是nR×2N类型,来选择性地确定通过使用在当前预测单元1750的左上端的最小单元1752相对于最大编码单元的索引suIdxAL确定在当前预测单元1750的右上端的最小单元1754相对于最大编码单元的索引suIdxAR和在当前预测单元1750的左下端的最小单元1756相对于最大编码单元的索引suIdxBL的方法。稍后将参照图22描述确定针对预测单元的每个分区类型的最小单元的索引的方法。将与当前最大编码单元1710的当前预测单元1750的最小单元相邻的外部最小单元A 1760、B 1762、C 1764、D 1766和E 1768显示为当前预测单元1750的邻域信息。

例如,当前预测单元1750的左邻域信息、上邻域信息、右上邻域信息、左上邻域信息和左下邻域信息可表示分别位于当前预测单元1750的外部并且在当前预测单元1750的左上端的最小单元1752的左侧、上侧、右上侧、左上侧和左下侧的外部最小单元A 1760、B 1762、C 1764、D 1766和E 1768。

编码单元确定器1420和解码器1530可检查与当前预测单元相邻的最小单元的位置和可用性以及最大编码单元的位置。相邻最小单元的位置或最大编码单元的位置可被表示为与当前预测单元相邻的最小单元的索引或者包括与当前预测单元相邻的最小单元的相邻最大编码单元的地址。

在不同于情况(i)、情况(ii)、情况(iii)或情况(iv)的情况下,可发现相邻的更深的编码单元的数据可用,其中,在情况(i)中,相邻最大编码单元不包括在当前画面中;在情况(ii)中,相邻最大编码单元不包括在当前像条中;在情况(iii)中,在扫描顺序上,相邻最大编码单元的地址在当前最大编码单元的地址之后;在情况(iv)中,在扫描顺序上,根据Z字形扫描顺序的在与当前预测单元相邻的更深的编码单元的左上端的最小单元的索引在根据Z字形扫描顺序的当前最小单元的索引之后。

为了搜索当前预测单元的邻域信息,可考虑位于当前预测单元的左上端、右上端或左下端的最小单元的索引,并使用分区类型信息和关于编码深度的信息。如果并不是所有预测单元大小相同,则使用当前编码单元的预测单元的索引。

图21示出根据示例性实施例的用于任意方向帧内预测的相邻预测单元。

参照图20和图21,现在将描述根据示例性实施例的确定邻域信息的可用性的方法。在当前最大编码单元1800中具有编码深度的编码单元1810的当前预测单元CurrPU 1820可参考邻域信息,以执行预测编码。编码单元确定器1420和解码器1530可搜索与当前预测单元1820相邻的预测单元的索引和可用性。

详细地,编码单元确定器1420和解码器1530可通过使用位于当前预测单元1820的左上端的最小单元的索引suIdx、位于当前预测单元1820的右上端的最小单元的索引suIdxAR、位于当前预测单元1820的左下端的最小单元的索引suIdxBL、当前预测单元1820的分区类型、当前编码单元的深度、当前预测单元1820相对于当前编码单元的索引等,来确定当前预测单元1820的邻域信息的位置和可用性。

当前预测单元1820的邻域信息可包括当前预测单元1820的左邻域信息A、上邻域信息B、右上邻域信息C、左上邻域信息D和左下邻域信息E。每个邻域信息的位置和可用性可包括与当前预测单元1820相邻的最小单元的索引和可用性以及与相邻最小单元相应的最大编码单元的地址。

具体地讲,当编码单元确定器1420和解码器1530确定多个邻域信息之中的当前预测单元1820的右上邻域信息C和左下邻域信息E的可用性时,编码单元确定器1420和解码器1530首先确定右上邻域信息C和左下邻域信息E是否是可访问的数据。

编码单元确定器1420和解码器1530可确定当前预测单元1820的右上邻域信息C之中的位于当前预测单元1820的右上侧的预测单元1850的可用性。

通过使用当前最大编码单元的x坐标值、当前编码单元的x坐标值和基于其分区类型的当前预测单元1820的宽度,如果位于当前预测单元1820的右上侧的预测单元1850偏离当前画面,则预测单元1850被确定为不可用作参考信息的邻域信息。此时,可从在当前预测单元1820的右上端的最小单元的索引suIdxAR来确定当前编码单元的x坐标值。可基于在当前预测单元1820的左上端的最小单元的索引suIdx从关于当前最大编码单元的信息来确定当前最大编码单元的x坐标值。

类似地,编码单元确定器1420和解码器1530可确定当前预测单元1820的左下邻域信息E之中的位于当前预测单元1820的左下侧的预测单元1840的可用性。通过使用当前最大编码单元的y坐标值、当前编码单元的y坐标值和基于其分区类型的当前预测单元1820的高度,如果位于当前预测单元1820的左下侧的预测单元1840没有偏离当前画面,则预测单元1840被确定为可用作参考信息的邻域信息。

此时,可从在当前预测单元1820的右上端的最小单元的索引suIdxBL来确定当前编码单元的y坐标值。可基于在当前预测单元1820的左上端的最小单元的索引suIdx从关于当前最大编码单元的信息来确定当前最大编码单元的y坐标值。

但是,如果编码单元确定器1420和解码器1530从位于当前预测单元1820的左下侧的预测单元1840的左上端的最小单元的信息确定:相应最大编码单元1830根据Z字形扫描顺序还不可用,则编码单元确定器1420和解码器1530可将位于当前预测单元1820的左下侧的预测单元1840确定为不可用作参考信息的邻域信息。

编码单元确定器1420和解码器1530可确定相邻最小单元的索引和可用性,并从关于相邻最小单元的编码模式的信息搜索相应相邻预测单元的索引和可用性或相应相邻最大编码单元的地址。

现在将参照图22到图29描述编码单元确定器1420和解码器1530根据预测单元的分区类型确定预测单元的最小单元相对于最大编码单元的索引的方法。为便于解释,将示出2N×2N大小的最大编码单元包括16个最小单元并且当前深度的编码单元是最大编码单元的情况。然而,最大编码单元、编码单元和最小单元的结构不限于上述情况。

图22示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置和分区类型2N×2N的预测单元1990。

2N×2N大小的最大编码单元1900包括16个最小单元1905、1910、1915、1920、1925、1930、1935、1940、1945、1950、1955、1960、1965、1970、1975和1980。

在预测单元1990的左上端的最小单元1905相对于最大编码单元1900的索引、编码单元的大小、预测单元1990的分区类型和预测单元1990的分区索引可用于确定在预测单元1990的右上端和左下端的最小单元1920和1965分别相对于最大编码单元1900的索引。

以下,示出用于确定分别在分区类型2N×2N的预测单元1990的左上端、右上端和左下端的最小单元1905、1920和1965相对于最大编码单元1900的索引的等式。在最大编码单元1900的左上端的最小单元1905的绝对索引SuIdxUL、每个最小单元的大小SuSize和在最大编码单元1900的宽度方向上布置的最小单元的个数LcuWidthInSus可以是固定的参数。

首先,将解释根据示例性实施例的基于光栅扫描顺序的最小单元的绝对索引和基于Z字形扫描顺序的最小单元的相对索引之间的差异。根据示例性实施例的最小单元的绝对索引表示基于最大编码单元的最小单元的光栅扫描顺序的索引。根据示例性实施例的最小单元的相对索引表示基于最大编码单元的最小单元的Z字形扫描顺序的索引。

根据示例性实施例的最小单元的Z字形扫描顺序表示从左上端、到右上端、到左下端、再到右下端对四个相邻的最小单元进行扫描的顺序。以光栅扫描顺序对均包括4个最小单元的相邻组进行扫描。例如,当以光栅扫描顺序布置的8个最小单元1905、1910、1915、1920、1925、1930、1935和1940以Z字形扫描顺序被扫描时,它们可以以最小单元1905、1910、1925、1930、1915、1920、1935和1940的顺序被扫描。因此,当最小单元1905的绝对索引和相对索引是0时,最小单元1925的绝对索引可被设为4,并且其相对索引可被设为2。

在下面图22到图29的描述中,位操作符“a>>b”表示移位,并且表示将比特串a向右移动b位的操作。当位操作符“a>>b”以十进制被描述时,位操作符“a>>b”与将以十进制的值a除以2b的操作相同。例如,使用包括在最大编码单元中的最小单元的个数NumSusInLcu的位操作NumSusInLcu>>1、NumSusInLcu>>2、NumSusInLcu>>3和NumSusInLcu>>4的结果分别是8(=16/2^1)、4(=16/2^2)、2(=16/2^3)和1(=16/2^4)。位操作“NumSusInLcu>>1”可表示根据Z字形扫描顺序将相对索引变换(增加或减小)到超过或落后当前最小单元8步的最小单元的操作。类似地,位操作“NumSusInLcu>>2”可表示根据Z字形扫描顺序将相对索引变换(增加或减小)到超过或落后当前最小单元4步的最小单元的操作,位操作“NumSusInLcu>>3”可表示根据Z字形扫描顺序将相对索引变换(增加或减小)到超过或落后当前最小单元2步的最小单元的操作,位操作“NumSusInLcu>>4”可表示根据Z字形扫描顺序将相对索引变换(增加或减小)到超过或落后当前最小单元1步的最小单元的操作。

在具有分区类型2N×2N的预测单元1990的情况下,在预测单元1990的左上端的最小单元1905相对于最大编码单元1900的相对索引suIdxALtemp遵循等式(5):

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

其中,绝对索引SuIdxAL表示在预测单元1990的左上端的最小单元1905相对于最大编码单元1900的索引。函数ConvertAbsToRel()将最大编码单元的绝对索引转换为相对索引。

在具有分区类型2N×2N的预测单元1990的情况下,在预测单元1990的右上端的最小单元1920相对于最大编码单元1900的索引SuIdxAR可根据等式(6)来确定:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

根据等式(6),临时变量suIdxARtemp表示在分区类型2N×2N的预测单元1990的右上端的最小单元1920的相对索引。

在预测单元1990的左下端的最小单元1965相对于最大编码单元1900的索引SuIdxBL可根据等式(7)和等式(8)来确定:

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

根据等式(7),临时变量suIdxBLtemp表示预测单元1990的最小单元1965的相对索引。

suIdxBLtemp+=NumSusInLcu>>1 (8)

根据等式(7)和等式(8),临时变量suIdxBLtemp表示预测单元1990的最小单元1965的相对索引。

因此,在当前预测单元1990的左上端的最小单元1905的相对索引suIdxALtemp、在当前预测单元1990的右上端的最小单元1920的相对索引suIdxARtemp和在当前预测单元1990的左下端的最小单元1965的相对索引suIdxBLtemp,可使用在当前预测单元1990的左上端的最小单元1905的索引SuIdxAL、当前编码单元的大小CuSize以及当前预测单元1990的分区类型和分区索引来确定。

现在将参照图23到图29详细描述用于基于上述等式(5)、(6)和(7)的在最小单元的相对索引的基础上根据预测单元的分区类型2N×N、N×2N、N×N、2N×nU、2N×nD、nL×2N和nR×2N来确定在预测单元的左上端、右上端和左下端的最小单元的索引的等式的示例。

图23示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置以及均具有分区类型2N×N的预测单元2000和2010。

在具有分区类型2N×N和分区索引0的预测单元2000的情况下,等式(5)、(6)和(7)可不经改变而用于在预测单元2000的左上端的最小单元AL0 1905相对于最大编码单元1900的索引、在预测单元2000的右上端的最小单元AR0 1920相对于最大编码单元1900的索引和在预测单元2000的左下端的最小单元BL0 1925相对于最大编码单元1900的索引。

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

在具有分区类型2N×N和分区索引1的预测单元2010的情况下,除了等式(5)、(6)、(7)和(8)之外,可设置等式(9)和(10)用于在预测单元2010的左上端的最小单元AL1 1945的索引、在预测单元2010的右上端的最小单元AR1 1960的索引和在预测单元2010的左下端的最小单元BL1 1965的索引。

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxALtemp+=NumSusInLcu>>1 (9)

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxARtemp+=NumSusInLcu>>1 (10)

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>1 (8)

根据等式(9)、(10)和(8),临时变量suIdxALtemp、suIdxARtemp和suIdxBLtemp可分别表示在预测单元2010的左上端的最小单元AL1 1945的相对索引、在预测单元2010的右上端的最小单元AR1 1960的相对索引和在预测单元2010的左下端的最小单元BL1 1965的相对索引。

图24示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置以及均具有分区类型N×2N的预测单元2100和2110。

在具有分区类型N×2N和分区索引0的预测单元2100的情况下,等式(5)、(7)和(8)可不经改变而用于在预测单元2100的左上端的最小单元AL0 1905相对于最大编码单元1900的索引和在预测单元2100的左下端的最小单元BL0 1965相对于最大编码单元1900的索引。

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>1 (8)

可基于等式(6)设置等式(11)用于在具有分区索引0的预测单元2100的右上端的最小单元AR0 1910相对于最大编码单元1900的索引:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxARtemp-=NumSusInLcu>>2 (11)

根据等式(5)、(9)和(11),临时变量suIdxALtemp、suIdxBLtemp和suIdxARtemp可分别表示在预测单元2100的左上端的最小单元AL0 1905的相对索引、在预测单元2100的左下端的最小单元BL0 1965的相对索引和在预测单元2100的右上端的最小单元AR0 1910的相对索引。

在具有分区类型N×2N和分区索引1的预测单元2110的情况下,可基于等式(5)设置等式(12)用于在预测单元2110的左上端的最小单元AL1 1915的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxALtemp+=NumSusInLcu>>2 (12)

可基于等式(7)设置等式(13)用于在具有分区类型N×2N和分区索引1的预测单元2110的左下端的最小单元BL1 1975相对于最大编码单元1900的索引:

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>2*3 (13)

等式(6)可不经改变而用于在具有分区类型N×2N和分区索引1的预测单元2110的右上端的最小单元AR1 1920相对于最大编码单元1900的索引:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

根据等式(12)、(6)和(13),临时变量suIdxALtemp、suIdxARtemp和suIdxBLtemp可分别表示在预测单元2110的左上端的最小单元AL1 1915的相对索引、在预测单元2110的右上端的最小单元AR1 1920的相对索引和在预测单元2110的左下端的最小单元BL1 1975的相对索引。

图25示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置以及均具有分区类型N×N的预测单元2200、2210、2220和2230。

在最大编码单元1900中均具有分区类型N×N的预测单元2200、2210、2220和2230的左上端的最小单元分别是具有分区索引0的最小单元AL0 1905、具有分区索引1的最小单元AL1 1915、具有分区索引2的最小单元AL2 1945和具有分区索引3的最小单元AL3 1955。在预测单元2200、2210、2220和2230的右上端的最小单元分别是具有分区索引0的最小单元AR0 1910、具有分区索引1的最小单元AR1 1920、具有分区索引2的最小单元AR2 1950和具有分区索引3的最小单元AR3 1960。在预测单元2200、2210、2220和2230的左下端的最小单元分别是具有分区索引0的最小单元BL0 1925、具有分区索引1的最小单元BL1 1935、具有分区索引2的最小单元BL2 1965和具有分区索引3的最小单元BL3 1975。

例如,可基于等式(6)设置等式(14)用于在具有分区类型N×N和分区索引0的预测单元2200的右上端的最小单元AR0 1910相对于最大编码单元1900的索引:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxARtemp-=NumSusInLcu>>2 (14)

例如,可基于等式(5)设置等式(15)用于在具有分区类型N×N和分区索引1的预测单元2210的左上端的最小单元AL1 1915相对于最大编码单元1900的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxALtemp+=NumSusInLcu>>2 (15)

例如,可根据分区索引CuPartIdx设置等式(7)和(16)用于在具有分区类型N×N的预测单元2200、2210、2220和2230的左下端的最小单元BL0 1925、BL1 1935、BL2 1965和BL3 1975相对于最大编码单元的索引:

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>2*CuPartIdx (16)

与等式(14)、(15)和(16)类似,在预测单元2200、2210、2220和2230的左上端的最小单元AL0 1905、AL1 1915、AL2 1945和AL3 1955的相对索引suIdxALtemp、在预测单元2200、2210、2220和2230的右上端的最小单元AR0 1910、AR1 1920、AR2 1950和AR3 1960的相对索引suIdxARtemp以及在预测单元2200、2210、2220和2230的左下端的最小单元BL0 1925、BL1 1935、BL2 1965和BL3 1975的相对索引suIdxBLtemp可被设置为临时变量。

图26示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置以及均具有分区类型2N×nU的预测单元2300和2310。

在具有分区类型2N×nU和分区索引0的预测单元2300的情况下,等式(5)和(6)可不经改变而分别用于在预测单元2300的左上端的最小单元AL0 1905相对于最大编码单元的索引和在预测单元2300的右上端的最小单元AR0 1920相对于最大编码单元的索引。

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

可基于等式(7)设置等式(17)用于在具有分区类型2N×nU和分区索引0的预测单元2300的左下端的最小单元BL0 1905相对于最大编码单元1900的索引:

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp-=NumSusInLcu>>3 (17)

根据等式(5)、(6)和(17),临时变量suIdxALtemp、suIdxBLtemp和suIdxARtemp可分别表示在预测单元2300的左上端的最小单元AL0 1905的相对索引、在预测单元2300的左下端的最小单元BL0 1905的相对索引和在预测单元2300的右上端的最小单元AR0 1920的相对索引。

在具有分区类型2N×nU和分区索引1的预测单元2310的情况下,可基于等式(5)和(6)设置等式(18)和(19)用于在预测单元2310的左上端的最小单元AL1 1925的索引和在预测单元2310的右上端的最小单元AR1 1940的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxALtemp+=NumSusInLcu>>3 (18)

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxARtemp+=NumSusInLcu>>3 (19)

下面的等式(7)和(8)可用于在具有分区类型2N×nU和分区索引1的预测单元2310的左下端的最小单元BL1 1965相对于最大编码单元的索引:

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>1 (8)

根据等式(18)、(19)和(8),临时变量suIdxALtemp、suIdxARtemp和suIdxBLtemp可分别表示在预测单元2310的左上端的最小单元AL1 1925的相对索引、在预测单元2310的右上端的最小单元AR1 1940的相对索引和在预测单元2310的左下端的最小单元BL1 1965的相对索引。

图27示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置以及均具有分区类型2N×nD的预测单元2400和2410。

在具有分区类型2N×nD和分区索引0的预测单元2400的情况下,等式(5)和(6)可分别用于在预测单元2400的左上端的最小单元AL0 1905相对于最大编码单元的索引和在预测单元2400的右上端的最小单元AR0 1920相对于最大编码单元的索引。

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

可基于等式(7)设置等式(20)用于在具有分区类型2N×nD和分区索引0的预测单元2400的左下端的最小单元BL0 1945相对于最大编码单元1900的索引:

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>2+NumSusInLcu>>3 (20)

根据等式(5)、(6)和(20),临时变量suIdxALtemp、suIdxBLtemp和suIdxARtemp可分别表示在预测单元2400的左上端的最小单元AL0 1905的相对索引、在预测单元2400的左下端的最小单元BL0 1945的相对索引和在预测单元2400的右上端的最小单元AR0 1920的相对索引。

在具有分区类型2N×nD和分区索引1的预测单元2410的情况下,可基于等式(5)和(6)设置等式(21)和(22)用于在预测单元2410的左上端的最小单元AL1 1965的索引和在预测单元2410的右上端的最小单元AR1 1980的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxALtemp+=NumSusInLcu>>1+NumSusInLcu>>3 (21)

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxARtemp+=NumSusInLcu>>1+NumSusInLcu>>3 (22)

等式(7)和(8)可用于在具有分区类型2N×nD和分区索引1的预测单元2410的左下端的最小单元BL1 1965相对于最大编码单元1900的索引:

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>1 (8)

根据等式(21)、(22)和(6),临时变量suIdxALtemp、suIdxARtemp和suIdxBLtemp可分别表示在预测单元2410的左上端的最小单元AL1 1965的相对索引、在预测单元2410的右上端的最小单元AR1 1980的相对索引和在预测单元2410的左下端的最小单元BL1 1965的相对索引。

图28示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置以及均具有分区类型nL×2N的预测单元2500和2510。

在具有分区类型nL×2N和分区索引0的预测单元2500的情况下,等式(5)、(7)和(8)可不经改变而用于在预测单元2500的左上端的最小单元AL0 1905相对于最大编码单元1900的索引和在预测单元2500的左下端的最小单元BL0 1965相对于最大编码单元1900的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>1 (8)

可基于等式(6)设置等式(23)用于在具有分区类型nL×2N和分区索引0的预测单元2500的右上端的最小单元AR0 1905相对于最大编码单元的索引:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxARtemp-=NumSusInLcu>>2+NumSusInLcu>>4 (23)

根据等式(5)、(8)和(23),临时变量suIdxALtemp、suIdxBLtemp和suIdxARtemp可分别表示在预测单元2500的左上端的最小单元AL0 1905的相对索引、在预测单元2500的左下端的最小单元BL0 1965的相对索引和在预测单元2500的右上端的最小单元AR0 1905的相对索引。

在具有分区类型nL×2N和分区索引1的预测单元2510的情况下,可基于等式(4)和(7)设置等式(24)和(25)分别用于在预测单元2510的左上端的最小单元AL1 1910的索引和在预测单元2510的左下端的最小单元BL1 1970的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (4)

suIdxALtemp+=NumSusInLcu>>4 (24)

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>1+NumSusInLcu>>4 (25)

等式(6)可用于在具有分区类型nL×2N和分区索引1的预测单元2510的右上端的最小单元AR1 1920相对于最大编码单元1900的索引:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

根据等式(24)、(25)和(6),临时变量suIdxALtemp、suIdxARtemp和suIdxBLtemp可分别表示在预测单元2510的左上端的最小单元AL1 1910的相对索引、在预测单元2510的左下端的最小单元BL1 1970的相对索引和在预测单元2510的右上端的最小单元AR1 1920的相对索引。

图29示出根据示例性实施例的在2N×2N大小的最大编码单元1900中的最小单元的位置以及均具有分区类型nR×2N的预测单元2600和2610。

在具有分区类型nR×2N和分区索引0的预测单元2600的情况下,等式(5)、(7)和(8)可不经改变而用于在预测单元2600的左上端的最小单元AL0 1905相对于最大编码单元1900的索引和在预测单元2600的左下端的最小单元BL0 1965相对于最大编码单元1900的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (7)

suIdxBLtemp+=NumSusInLcu>>1 (8)

可基于等式(6)设置等式(26)用于在具有分区类型nR×2N和分区索引0的预测单元2600的右上端的最小单元AR0 1915相对于最大编码单元的索引:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

suIdxARtemp-=NumSusInLcu>>4 (26)

根据等式(5)、(8)和(26),临时变量suIdxALtemp、suIdxBLtemp和suIdxARtemp可分别表示在预测单元2600的左上端的最小单元AL0 1905的相对索引、在预测单元2600的左下端的最小单元BL0 1965的相对索引和在预测单元2600的右上端的最小单元AR0 1915的相对索引。

在具有分区类型nR×2N和分区索引1的预测单元2610的情况下,可基于等式(5)和(7)设置等式(27)和(28)分别用于在预测单元2610的左上端的最小单元AL1 1920的索引和在预测单元2610的左下端的最小单元BL1 1980的索引:

suIdxALtemp=ConvertAbsToRel(SuIdxAL) (5)

suIdxALtemp+=NumSusInLcu>>2+NumSusInLcu>>4 (27)

suIdxBLtemp=ConvertAbsToRel(SuIdxUL+((CuSize/SuSize)>>1-1)*LcuWidthInSus) (8)

suIdxBLtemp+=NumSusInLcu>>1+NumSusInLcu>>2+

NumS

usInL

cu>>4

(28)

等式(6)可用于在具有分区类型nR×2N和分区索引1的预测单元2610的右上端的最小单元AR1 1920相对于最大编码单元1900的索引:

suIdxARtemp=ConvertAbsToRel(SuIdxUL+CuSize/SuSize-1) (6)

根据等式(27)、(28)和(6),临时变量suIdxALtemp、suIdxARtemp和suIdxBLtemp可分别表示在预测单元2610的左上端的最小单元AL1 1920的相对索引、在预测单元2610的左下端的最小单元BL1 1980的相对索引和在预测单元2610的右上端的最小单元AR1 1920的相对索引。

参照上述的图22到图29,在当前预测单元的左上端、右上端和左下端的最小单元的相对索引suIdxALtemp、suIdxARtemp和suIdxBLtemp可被转换为根据等式(29)到(31)的绝对索引SuIdxAL、SuIdxAR和SuIdxBL:

SuIdxAL=ConvertRelToAbs(suIdxALtemp) (29)

SuIdxAR=ConvertRelToAbs(suIdxARtemp) (30)

SuIdxBL=ConvertRelToAbs(suIdxBLtemp) (31)

因此,参照图22到图29,编码单元确定器1420和解码器1530可通过使用在当前编码单元的预测单元的左上端的最小单元的索引、当前编码单元的大小CuSize以及当前预测单元的分区类型和分区索引,来确定在当前预测单元的左上端、右上端和左下端的最小单元相对于最大编码单元的索引SuIdxAL、SuIdxAR和SuIdxBL。

图30是示出根据示例性实施例的基于分层数据单元的扫描顺序的图像编码方法的流程图。

在操作2710,画面被划分为均具有预定最大尺寸的多个编码单元。

在操作2720,通过基于最大编码单元和画面根据深度被划分为的编码单元对图像进行编码,来确定具有分层结构的最大编码单元和编码单元,并确定编码单元的编码深度和编码模式。可基于下层数据单元的绝对位置或与上层数据单元相比的相对位置来确定具有树结构的编码单元中属于分层结构的数据单元的数据扫描顺序。例如,上层数据单元可包括通过更深的编码单元、编码单元、预测单元和分区从作为最上层数据单元的最大编码单元到作为最下层数据单元的最小编码单元的顺序中的至少一个下层数据单元。

换言之,可对以区域(最大编码单元随着深度加深被分层划分为所述区域)为单位的每个最大编码单元执行基于数据扫描顺序的编码,所述数据扫描顺序取决于具有分层结构的至少一个深度的编码单元的绝对位置和相对位置。因此,可确定包括关于至少一个编码深度的信息的编码深度的编码单元的编码模式,在所述至少一个编码深度下将输出对每个区域进行编码的结果。

在操作2730,针对每个最大编码单元,输出关于编码深度和编码模式的编码信息以及最大编码单元的大小信息。还可输出经过编码的视频数据。

图31是根据示例性实施例的基于分层数据单元的扫描顺序的视频解码方法的流程图。

在操作2810,接收并解析经过编码的视频的比特流。

在操作2820,从比特流提取关于编码单元的编码深度和编码模式的编码信息以及最大编码单元的大小信息。还可提取经过编码的视频数据。

在操作2830,通过使用关于编码深度和编码模式的编码信息以及最大编码单元的大小信息,来确定最大编码单元和编码单元的分层结构,并基于编码单元来恢复画面。可以以由于下层数据单元的绝对位置或相对位置确定的数据扫描顺序读取多条图像数据,并以所述数据扫描顺序对所述多条图像数据进行解码,其中,与由具有树结构的编码单元确定的数据单元之中的上层数据单元的位置相比来确定所述下层数据单元的相对位置。

换言之,基于关于每个最大编码单元的编码深度和编码模式的编码信息,对通过对最大编码单元的至少一个编码深度的每个编码单元进行编码获得的视频数据进行解码。基于数据扫描顺序读取经过编码的视频数据,并且可通过参考以扫描顺序读取和解码的邻域信息对当前视频数据进行解码,其中,所述数据扫描顺序取决于具有分层结构的至少一个深度的编码单元的绝对位置和相对位置。

在根据图23的示例性实施例的基于分层数据单元的扫描顺序的视频编码方法和根据图24的示例性实施例的基于分层数据单元的扫描顺序的视频解码方法中,可以以具有分层结构的数据单元的Z字形扫描顺序,将编码单元的绝对位置和相对于最大编码单元的编码单元的相对位置互相变换,并且对编码单元的绝对位置和相对于最大编码单元的编码单元的相对位置进行分析。

在最大编码单元中的上层编码单元和下层编码单元之间的关系中,可使用上层编码单元的绝对位置或相对位置来确定下层编码单元的绝对位置或相对位置。相反,可基于相对于最大编码单元的最小单元的绝对位置或最小单元的索引来确定相应更深的编码单元或相应预测单元的像素位置或索引。

基于位于上层数据单元的左上端的最小单元的相对位置,可确定在与上层数据单元的左上端不同的位置的最小单元的相对位置。

可从当前最大编码单元的位置、当前预测单元的最小单元的索引以及当前预测单元的分区类型来确定邻域信息的可用性。例如,确定当前预测单元的邻域信息是否存在于当前画面中,或者通过以Z字形扫描顺序被访问确定是否可被参考,并且可通过使用从当前最大编码单元的位置确定的当前最大编码单元的x坐标值和y坐标值、从在当前最大编码单元的右上端的最小单元的索引确定的当前编码单元的x坐标值以及从在当前最大编码单元的左下端的最小单元的索引确定的当前编码单元的y坐标值,来确定邻域信息的可用性。

因此,根据示例性实施例的基于分层数据单元的扫描顺序的视频编码方法和根据示例性实施例的基于分层数据单元的扫描顺序的视频解码方法能够通过基于分层数据单元的扫描顺序将数据单元的相对位置和绝对位置互相变换,当使用相对大于现有宏块和各种类型的数据单元的数据单元时,准确快速地分析各种类型的数据单元的位置,从而对视频有效地进行编码或解码。

另外,一个或多个示例性实施例可被写为计算机程序,并可在使用计算机可读记录介质执行程序的通用数字计算机中被实施。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)。此外,上述设备的一个或多个单元可包括执行存储在计算机可读介质中的计算机程序的处理器或微处理器。

尽管已具体示出和描述了示例性实施例,但本领域普通技术人员将理解,在不脱离由权利要求限定的本发明构思的精神和范围的情况下,可在形式和细节上进行各种改变。示例性实施例应被认为仅是描述意义,而不是用于限制的目的。因此,不是通过示例性实施例的详细描述,而是通过权利要求来限定本发明构思的范围,并且所述范围内的所有差异将被解释为包括在本发明构思中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1