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

文档序号:14257871阅读:155来源:国知局
用于对视频进行解码的方法和设备与流程

技术领域

本发明涉及对视频进行编码和解码。



背景技术:

随着用于再现和存储高分辨率或高质量视频内容的硬件的发展和提供,对有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。在现有技术的视频编解码器中,基于预定大小的宏块,根据受限的编码方法对视频进行编码。另外,在现有技术的视频编解码器中,通过根据光栅方法对宏块进行扫描来对视频数据进行编码和解码。



技术实现要素:

技术问题

与示例性实施例一致的设备和方法提供一种与视频的编码和解码有关的数据扫描顺序,以及数据之间的邻近关系。

技术方案

根据示例性实施例的一方面,提供了一种对视频进行解码的方法,所述方法包括:接收并解析编码视频的比特流;从比特流中提取分配给编码视频的当前画面的最大编码单元的当前画面的图像数据,以及关于根据最大编码单元的编码深度和编码模式的信息,其中,最大编码单元是当前画面的具有最大大小的编码单元;考虑最大编码单元的光栅扫描顺序以及最大编码单元的根据深度的编码单元的Z字形(zigzag)扫描顺序,基于最大编码单元的关于编码深度和编码模式的信息,对最大编码单元的编码图像数据进行解码,其中,最大编码单元被空间划分为根据至少一个深度的至少一个编码单元,并且随着深度从最上层深度加深,最大编码单元从与最上层深度相应的最大编码单元被分层划分为与所述至少一个深度的最下层深度相应的至少一个最小编码单元,其中,所述至少一个编码单元是较深层编码单元。

有益效果

考虑各种分层数据单元的扫描顺序(诸如最大编码单元或预测单元的光栅扫描顺序或者最小单元的Z字形扫描顺序或光栅扫描顺序),可检查邻近信息的可用性并且可参考邻近信息,以便对预定编码单元进行解码。根据示例性实施例的邻近信息可包括关于位于当前数据单元的左下方的数据单元的信息。

附图说明

通过参照附图详细描述本发明的示例性实施例,以上和/或其它方面将变得更加明显,其中:

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

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

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

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

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

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

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

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

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

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

图13是用于描述根据示例性实施例的根据编码模式信息的编码单元、预测单元以及变换单元之间的关系的示图;

图14示出根据示例性实施例的最大编码单元的光栅扫描顺序;

图15示出根据示例性实施例的最小单元的光栅扫描顺序;

图16示出根据示例性实施例的最小单元的Z字形扫描顺序;

图17示出根据示例性实施例的编码单元、预测单元、分区和变换单元的位置和扫描索引之间的关系;

图18示出根据示例性实施例的编码单元的扫描索引;

图19示出根据示例性实施例的根据编码单元的扫描索引的编码单元的扫描顺序;

图20示出根据示例性实施例的根据分区类型的分区的扫描索引;

图21示出根据示例性实施例的可用作当前数据单元的邻近信息的数据单元;

图22示出根据示例性实施例的与当前最大编码单元邻近的最大编码单元;

图23示出符合光栅扫描方法的宏块;

图24示出根据示例性实施例的符合Z字形扫描顺序的当前预测单元;

图25示出根据示例性实施例的与当前分区邻近的最小单元;

图26是用于解释根据示例性实施例的使用邻近信息的运动矢量预测方法的示图;

图27示出根据本发明的示例性实施例的使用邻近信息的插值方法;

图28是示出根据示例性实施例的通过使用邻近信息来对视频进行编码的方法的流程图;

图29是示出根据示例性实施例的通过使用邻近信息来对视频进行解码的方法的流程图。

最佳实施方式

根据示例性实施例的一方面,提供一种对视频进行解码的方法,所述方法包括:接收并解析编码视频的比特流;从比特流提取被分配给当前画面的最大编码单元的编码视频的当前画面的编码图像数据以及关于根据最大编码单元的编码深度和编码模式的信息,其中,最大编码单元是当前画面的具有最大大小的编码单元;考虑最大编码单元的光栅扫描顺序以及最大编码单元的根据深度的编码单元的Z字形扫描顺序,基于最大编码单元的关于编码深度和编码模式的信息,对最大编码单元的编码图像数据进行解码,其中,最大编码单元被空间划分为根据至少一个深度的至少一个编码单元,并且随着深度从最上层深度加深,最大编码单元从与最上层深度相应的最大编码单元被分层划分为与所述至少一个深度的最下层深度相应的至少一个最小编码单元,其中,所述至少一个编码单元是较深层编码单元。

对编码图像数据进行解码的步骤可包括:通过使用最大编码单元的关于编码深度和编码模式的信息,分析最大编码单元的至少一个较深层编码单元的分层结构。

对编码图像数据进行解码的步骤可包括:基于根据光栅扫描顺序的最大编码单元的地址,搜索最大编码单元的位置。

对编码图像数据进行解码的步骤可包括:基于最大编码单元的根据Z字形扫描顺序的最小单元的索引,搜索最小单元的位置。

对编码图像数据进行解码的步骤可包括:基于最大编码单元的根据光栅扫描顺序的最小单元的索引,搜索最小单元的位置。

对编码图像数据进行解码的步骤可包括:针对最大编码单元,将根据Z字形扫描顺序的最小单元的索引和根据光栅扫描顺序的最小单元的索引彼此互相转换。

最大编码单元的位置可被表示为位于最大单元的左上方的像素的位置,所述位置相对于位于当前画面的左上方的样点的位置。

最小单元的位置可被表示为位于最小单元的左上方的像素的位置,所述位置相对于位于最大编码单元的左上方的样点的位置。

在对编码图像数据进行解码时,可考虑最大编码单元、预测单元、分区和最小单元的扫描顺序,通过检查邻近信息的可用性来参考邻近信息。

对编码图像数据进行解码的步骤可包括:检查最大编码单元的可用性。

在除了下列情况之外的情况下,可使用与最大编码单元相应的数据:最大编码单元不包括在当前画面中的情况、最大编码单元不包括在当前像条中的情况以及最大编码单元的地址在扫描顺序方面位于当前最大编码单元的地址之后的情况。

对编码图像数据进行解码的步骤可包括:检查包括在最大编码单元中的至少一个较深层编码单元的可用性。

在除了下列情况之外的情况下,可使用与较深层编码单元相应的数据:最大编码单元不包括在当前画面中的情况、最大编码单元不包括在当前像条中的情况、最大编码单元的地址在扫描顺序方面位于当前最大编码单元的地址之后的情况、根据Z字形扫描顺序的较深层编码单元的左上方的最小单元的索引在扫描顺序方面位于根据Z字形扫描顺序的最小单元的索引之后的情况。

对编码图像数据进行解码的步骤可包括:检查与最大编码单元邻近的至少一个最大编码单元以及该至少一个邻近最大编码单元的可用性。

所述与最大编码单元邻近的至少一个最大编码单元包括以下项中的至少一个:在最大编码单元的左侧的最大编码单元、在最大编码单元的上方的最大编码单元、在最大编码单元的右上方的最大编码单元、以及在最大编码单元的左上方的最大编码单元。

对编码图像数据进行解码的步骤还可包括:检查与包括在最大编码单元中的当前预测单元邻近的至少一个最小单元以及该至少一个邻近最小单元的可用性。

所述与当前预测单元邻近的至少一个最小单元可包括以下项中的至少一个:在当前预测单元的左侧的最小单元、在当前预测单元的上方的最小单元、在当前预测单元的右上方的最小单元、在当前预测单元的左上方的最小单元、在当前预测单元的左下方的最小单元。

对编码图像数据进行解码的步骤还可包括:检查与最大编码单元邻近的至少一个边界的位置和可用性。

所述与最大编码单元邻近的至少一个边界可包括以下项中的至少一个:在最大编码单元的左侧的最大编码单元、在最大编码单元的上方的最大编码单元、在最大编码单元的右上方的最大编码单元、以及在最大编码单元的左上方的最大编码单元。

最小单元可被分配有编码信息,所述编码信息包括以下项中的至少一个:关于相应较深层编码单元的信息、关于将相应较深层编码单元划分为预测单元或分区的信息以及关于预测单元或分区的预测模式的信息。

对编码图像数据进行解码的步骤还可包括:基于分配给最小单元的编码信息,检查包括最小单元的较深层编码单元或预测单元的可用性。

最大编码单元可包括多个编码单元,当与所述多个编码单元中的第二编码单元邻近的所述多个编码单元中的第一编码单元根据光栅扫描顺序在第二编码单元之后被扫描,并且第一编码单元根据Z字形扫描顺序在第二编码单元之前被扫描时,可参考第一编码单元以对第二编码单元进行解码。

当第一编码单元在第二编码单元的左下方时,可参考第一编码单元以对第二编码单元进行解码。

当第一编码单元在第二编码单元的左下方时,可参考第一编码单元的右边界以对第二编码单元进行解码。

根据另一示例性实施例的一方面,提供一种对视频进行编码的方法,所述方法包括:将视频的当前画面划分为最大编码单元;基于与最大编码单元的区域被划分的次数成比例地加深的至少一个深度,通过对至少一个划分的区域进行编码来确定用于输出根据所述至少一个划分的区域的最终编码结果的编码深度,其中,通过根据深度对最大编码单元的区域进行划分来获得所述至少一个划分的区域;对以针对最大编码单元确定的编码深度进行编码的图像数据以及关于编码深度和编码模式的信息进行编码和输出,其中,考虑最大编码单元的光栅扫描顺序以及包括在最大编码单元中的至少一个编码单元的Z字形扫描顺序,执行编码。

在所述方法中,包括位于当前数据单元的左下方的数据单元的邻近信息可被参考以对与当前数据单元相应的图像数据进行编码。

邻近信息可包括:在最大编码单元的左侧的最大编码单元、在最大编码单元的上方的最大编码单元、在最大编码单元的右上方的最大编码单元、以及在最大编码单元的左上方的最大编码单元。

邻近信息可包括:在当前预测单元的左侧的最小单元、在当前预测单元的上方的最小单元、在当前预测单元的右上方的最小单元、在当前预测单元的左上方的最小单元、在当前预测单元的左下方的最小单元。

邻近信息可包括:位于当前预测单元的左下方的编码单元的右边界。

最大编码单元可包括多个编码单元;当与所述多个编码单元中的第二编码单元邻近的所述多个编码单元中的第一编码单元根据光栅扫描顺序在第二编码单元之后被扫描,并且第一编码单元根据Z字形扫描顺序在第二编码单元之前被扫描时,第一编码单元可被用作邻近信息,所述邻近信息被用于对第二编码单元进行编码,

第一编码单元可在第二编码单元的左下方。

根据另一示例性实施例的一方面,提供了一种用于对视频进行解码的设备,所述设备包括:接收器,接收并解析编码视频的比特流;图像数据和编码信息提取器,从比特流提取被分配给当前画面的最大编码单元的编码视频的当前画面的编码图像数据以及关于根据最大编码单元的编码深度和编码模式的信息,其中,最大编码单元是当前画面的具有最大大小的编码单元;图像数据解码器,考虑最大编码单元的光栅扫描顺序以及根据深度的编码单元的Z字形扫描顺序,基于最大编码单元的关于编码深度和编码模式的信息,对最大编码单元的编码图像数据进行解码,其中,随着深度从最上层深度加深,最大编码单元从与最上层深度相应的最大编码单元被分层划分为与最下层深度相应的最小编码单元。

根据另一示例性实施例的一方面,提供一种对视频进行编码的设备,所述设备包括:最大编码单元划分器,将视频的当前画面划分为最大编码单元;编码单元确定器,基于与最大编码单元的区域被划分的次数成比例地加深的深度,通过对至少一个划分的区域进行编码来确定用于输出根据所述至少一个划分的区域的最终编码结果的编码深度,其中,通过根据深度对最大编码单元的区域进行划分来获得所述至少一个划分的区域;输出单元,对以针对最大编码单元确定的编码深度进行编码的图像数据以及关于编码深度和编码模式的信息进行编码和输出,其中,考虑最大编码单元的光栅扫描顺序以及包括在最大编码单元中的至少一个编码单元的Z字形扫描顺序,执行编码。

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

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

根据另一示例性实施例的一方面,提供一种对视频进行解码的方法,所述方法包括:从比特流提取被分配给当前画面的最大编码单元的视频的当前画面的编码图像数据以及关于根据最大编码单元的编码深度的信息,其中,最大编码单元是当前画面的具有最大大小的编码单元;考虑最大编码单元的光栅扫描顺序以及最大编码单元的根据深度的编码单元的Z字形扫描顺序,基于关于编码深度的信息,对最大编码单元的编码图像数据进行解码,其中,最大编码单元被空间划分为根据至少一个深度的至少一个编码单元,并且随着深度从最上层深度加深,最大编码单元从与最上层深度相应的最大编码单元被分层划分为与所述至少一个深度的最下层深度相应的至少一个最小编码单元,其中,所述至少一个编码单元是较深层编码单元。

具体实施方式

以下,将参照附图更充分地描述示例性实施例,其中,相同的标号始终表示相同的元件。当诸如“…中的至少一个”的措辞位于一列元件之后时,是用于修饰整列元件,而不是用于修饰列表中的个别元件。

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

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

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

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

根据示例性实施例的编码单元可由最大大小以及深度来表征。深度表示编码单元从最大编码单元被空间划分的次数。因此,随着深度加深,根据深度的较深层编码单元可被从最大编码单元划分为最小编码单元。最大编码单元的深度是最上层深度,最小编码单元的深度是最下层深度。由于与每个深度相应的编码单元的大小随着最大编码单元的深度加深而减小,因此,与上层深度相应的编码单元可包括多个与下层深度相应的编码单元。

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

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

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

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

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

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

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

根据示例性实施例的最大深度是关于从最大编码单元到最小编码单元的划分次数的索引。根据示例性实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据示例性实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、1、2、3和4这5个深度级。在这种情况下,第一最大深度可被设置为4,第二最大深度可被设置为5。

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

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

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

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

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

例如,当大小为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的框图。参照图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,因此,由于通过将最大编码单元划分三次,深度被加深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的分区。

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

随着深度加深,以相同范围和相同大小包括数据的根据深度的较深层编码单元的数量增加。例如,覆盖包括在与深度1相应的一个编码单元中的数据需要四个与深度2相应的编码单元。因此,为了比较相同数据根据深度的编码结果,与深度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指示关于通过对当前编码单元的预测单元进行划分而获得的分区的形状的信息,其中,所述分区是用于对当前编码单元进行预测编码的数据单元。例如,大小为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进行对称划分而获得的分区类型910至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之间的关系的示图。

参照图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

视频编码设备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的编码模式信息的编码单元、预测单元或分区、变换单元之间的关系的示图。参照图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能够对最大变换单元大小信息、最小变换单元大小信息和最大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仅是示例,将理解另外的示例性实施例不限于此。

现在将参照图14至图27详细描述根据一个或多个示例性实施例的基于具有树结构的编码单元、预测单元和变换单元的数据单元的索引和扫描顺序。

根据示例性实施例的视频编码设备100使用光栅扫描顺序作为以包括在像条中的最大编码单元为单位执行编码的顺序。包括在最大编码单元中的根据深度的分层编码单元可以在与相同深度相应的编码单元中以Z字形方式进行扫描。可以按照光栅扫描顺序执行每个最大编码单元的最小单元的编码。

视频编码设备100可参照关于当前数据单元的邻近数据单元的信息(以下,称为当前数据单元的邻近信息),以对与当前数据单元相应的图像数据进行编码。例如,当对当前最大编码单元、与编码深度相应的当前编码单元或当前预测单元进行预测编码时,可参考关于与当前最大编码单元邻近的最大编码单元或根据深度的当前编码单元、与编码深度相应的当前编码单元或者当前预测单元的信息等。

具体地,邻近信息可包括关于在当前最大编码单元的左侧的最大编码单元、在当前最大编码单元的上方的最大编码单元、在当前最大编码单元的右上方的最大编码单元、在当前最大编码单元的左上方的最大编码单元等中的至少一个的信息。邻近信息可包括关于位于当前最大编码单元的左侧、上方、右上方和左上方中的至少一个的编码单元的信息。邻近信息还可包括关于位于当前最大编码单元的左侧、上方、右上方、左上方的预测单元等的信息。邻近信息还可包括关于位于当前最大编码单元的左侧、上方、右上方、左上方中的至少一个的分区等的信息。

邻近信息还可包括关于位于当前预测单元的左侧、上方、右上方、左上方中的至少一个的最小单元等的信息。

可将数据单元的其中一部分(而不是整个数据单元)作为邻近信息来参考。例如,邻近信息可包括位于当前预测单元的左下方的最大编码单元的右边界。

由于根据示例性实施例的光栅扫描顺序,位于当前数据单元的左下方的数据单元在当前数据单元之后被扫描,因此在符合光栅扫描顺序的宏块编码方法中,当对当前宏块进行编码时可不参考位于当前数据单元的左下方的数据单元。然而,在本示例性实施例中,即使最大编码单元仅符合光栅扫描顺序,由于可以以Z字形方式对最大编码单元中的最小单元和数据单元进行扫描,因此最小单元和数据单元也可用作邻近信息。

视频编码设备100的编码单元确定器120可检查预定编码单元的位置和可用性。被检查的编码单元可以是具有树结构的编码单元,即,与编码深度相应的编码单元。编码单元确定器120可检查与当前数据单元邻近的数据单元的位置和可用性。与当前数据单元邻近的数据单元可包括位于当前数据单元的左侧、上方、右上方和左上方的数据单元中的至少一个。将被检查的邻近数据单元可包括最大编码单元、编码单元、预测单元、分区、变换单元和最小单元中的至少一个。

根据示例性实施例的视频解码设备200的图像数据解码器230考虑针对最大编码单元的光栅扫描顺序和针对根据深度的编码单元的Z字形扫描顺序,从而对与基于每个最大编码单元的关于编码深度和编码模式的信息而编码的每个最大编码单元相应的图像数据进行解码,以恢复当前画面。以下,考虑针对最大编码单元的光栅扫描顺序和针对根据深度的编码单元的Z字形扫描顺序而进行扫描的编码单元是具有树结构的编码单元中与编码深度相应的编码单元。

可参考邻近信息以对当前数据单元进行解码。例如,可通过参考与当前分区邻近的分区的运动矢量执行对当前分区的帧间预测。此外,可通过参考与当前分区的像素值邻近的数据单元的像素值来执行对当前分区的帧间预测。

图像数据解码器230可检查可被参考的邻近数据单元的位置、可用性等,从而对当前数据单元进行解码。因此,图像数据解码器230可通过考虑针对最大编码单元和分区的光栅扫描顺序以及针对最小单元的Z字形扫描顺序或光栅扫描顺序,检查邻近信息的可用性,来参考邻近信息。

图像数据解码器230可基于扫描顺序检查数据单元的位置。例如,可基于根据光栅扫描顺序的最大编码单元的地址,来搜索每个最大编码单元的位置。

可基于根据Z字形扫描顺序的最小单元的索引,来搜索最大编码单元中的最小单元的位置。可选地,可基于根据光栅扫描顺序的最小单元的索引,来搜索最大编码单元中的最小单元的位置。根据Z字形扫描顺序的最小单元的索引和根据光栅扫描顺序的最小单元的索引可彼此互相转换。为了便于解释,以下将基于扫描顺序的索引称为扫描索引。

可基于相应最大编码单元中的最小单元的扫描索引来表示编码单元、预测单元和变换单元的各扫描索引。还可基于相应最大编码单元中的最小单元的扫描索引来表示预测单元的分区的扫描索引。

编码单元和预测单元的样点的位置或坐标可被表示为相应最大编码单元中的坐标。变换单元以及预测单元的分区的样点的位置或坐标也可被表示为相应预测单元中的坐标。

当前最大编码单元的位置可被表示为位于当前最大编码单元的左上方的像素的位置,所述位置相对于位于当前像条的左上方的样点的位置。当前最小单元的位置可被表示为位于当前最小单元的左上方的像素的位置,所述位置相对于位于相应最大编码单元的左上方的样点的位置。

图像数据解码器230可检查预定编码单元的位置和可用性。将被检查的编码单元可以是具有树结构的编码单元,即,与编码深度相应的编码单元。图像数据解码器230可检查与当前最大编码单元邻近的最大编码单元的位置和可用性。与当前最大编码单元邻近的最大编码单元可包括位于当前最大编码单元的左侧、上方、右上方和最上方的最大编码单元中的至少一个。

图像数据解码器230可检查与当前编码单元邻近的编码单元的位置、索引和可用性。与当前编码单元邻近的编码单元可包括位于当前编码单元的左侧和上方的编码单元中的至少一个。被检查的编码单元可以是具有树结构的编码单元之一,即与编码深度相应的编码单元。

图像数据解码器230可检查与当前预测单元邻近的预测单元的位置、索引和可用性。与当前预测单元邻近的预测单元可包括位于当前预测单元的左侧、上方、右上方和左上方的预测单元中的至少一个。

图像数据解码器230可检查与当前预测单元邻近的分区的位置、索引和可用性。与当前预测单元邻近的分区可包括位于当前预测单元的左侧、上方、右上方和左上方的分区中的至少一个。

图像数据解码器230可检查与包括在当前最大编码单元中的当前预测单元邻近的最小单元的位置、索引和可用性。与当前预测单元邻近的最小单元可包括位于当前预测单元的左侧、上方、右上方和左上方的最小单元中的至少一个。

图像数据解码器230可检查与当前预测单元邻近的边界的位置和可用性。与当前预测单元邻近的边界可包括位于当前预测单元的左侧、上方、右上方、左上方和左下方的数据单元中的至少一个的边界。在边界上的像素的位置可被表示为相对于在当前编码单元的左上方的像素的位置的坐标,或可被表示为相对于在当前最大编码单元的左上方的样点的位置的坐标。如果与当前编码单元邻近的像素脱离当前最大编码单元,则可确定该像素不可用。

图像数据解码器230可基于最小单元的编码信息,检查包括最小单元的根据深度的编码单元或预测单元的可用性。因此,图像数据解码器230可通过使用与当前数据单元邻近的最小单元的编码信息,来检查与当前数据单元邻近的预测单元、根据深度的编码单元、最大编码单元等的位置或可用性。

根据光栅扫描顺序,在当前最大编码单元被扫描的时间点,位于当前最大编码单元左侧或上方的最大编码单元已被解码,但是位于当前最大编码单元的右侧或下方的最大编码单元尚未被解码。

根据示例性实施例,假设最大编码单元包括至少一个宏块的情况,以将存在的宏块与分层数据单元进行比较。现在将示出第一宏块和第二宏块被包括在相同最大编码单元中并且第一宏块在第二宏块的左下方的情况。

根据光栅扫描顺序,第一宏块在第二宏块之后被扫描。根据Z字形扫描顺序,第一宏块在第二宏块之前被扫描。在编码方法中,由于第一宏块根据光栅扫描顺序在第二宏块之后被扫描,并在第二宏块之后被编码和解码,因此第二宏块可不参考关于第一宏块的信息。然而,根据本发明的实施例的视频编码设备100可在对第二宏块进行编码时参考第一宏块作为第二宏块的邻近信息。

由于根据示例性实施例的视频编码设备100和视频解码设备200针对具有树结构的分层编码单元中的每一个,不仅使用光栅扫描方法,还使用Z字形扫描方法,因此与现有技术相比,设备100和200可使用宽范围的邻近信息。

图14示出根据示例性实施例的最大编码单元1610的光栅扫描顺序。参照图14,根据光栅扫描顺序,从画面1600的左端到画面1600的右端,并从画面1600的上端到画面的下端,对最大编码单元1610进行扫描。因此,根据光栅扫描顺序,在当前最大编码单元被扫描的时间点,位于当前最大编码单元的左侧或上方的最大编码单元已被扫描,但是位于当前最大编码单元的右侧或下方的最大编码单元尚未被扫描。

根据示例性实施例的视频解码设备200可通过确定当前最大编码单元的地址、最大编码单元的大小以及画面的大小,来获知符合光栅扫描顺序的当前最大编码单元的位置。这里,当前最大编码单元的位置相应于从所述画面的左上端到当前最大编码单元的左上端的距离,并可被表示为在当前最大编码单元的左上方的像素的位置,所述位置相对于在所述画面的左上方的样点的位置。

现在将参照图9描述根据深度的编码单元的分区的扫描顺序。根据深度0至d-1,根据深度的编码单元的分区符合光栅扫描顺序。例如,如果深度为0,则以下列方式来扫描大小为2N_0×N_0的分区类型914和大小为N_0×2N_0的分区类型916中的每一个:按照索引顺序来扫描索引为0和1的分区。以下列方式来扫描大小为N_0×N_0的分区类型918:按照索引顺序来扫描索引为0、1、2和3的分区。

视频解码设备200的图像数据解码器230可搜索根据深度的编码单元中的每一个中的分区的位置。在当前编码单元中,当当前分区的索引、每个分区的大小以及当前编码单元的大小已知时,可确定符合兴栅扫描顺序的当前分区的位置。

这里,当前分区的位置相应于从当前数据单元的左上端到当前分区的左上端的距离,并可被表示为在当前分区的左上端的像素的位置,所述位置相对于在当前数据单元的左上端的样点的位置。

根据一个或多个示例性实施例,可根据Z字形扫描顺序或光栅扫描顺序来扫描最大编码单元中的最小单元。因此,可针对每个最小单元来定义基于Z字形扫描顺序的索引和基于光栅扫描顺序的索引。图15示出根据示例性实施例的符合光栅扫描顺序的最小单元1710,图16示出根据示例性实施例的符合Z字形扫描顺序的最小单元1810。

参照图15,按照光栅扫描顺序来扫描最小单元1710,即,从最大编码单元1700的左端到最大编码单元1700的右端,并从最大编码单元1700的上端到最大编码单元1700的下端来扫描最小单元1710。因此,从在上端的最小单元1710开始,按照从左端到右端索引为0、1、2、3、4、5、6和7的最小单元的顺序来执行扫描。随后,扫描下移,并按照索引为8、9、10、11、12、13、14和15的最小单元的顺序来执行扫描。扫描再次下移,并按照索引为16、17、18和19的最小单元的顺序来执行扫描。

根据示例性实施例的视频解码设备200的图像数据解码器230可搜索每个最大编码单元中的最小单元的位置。当符合光栅扫描顺序的当前最小单元的索引、每个最小单元的大小和当前最大编码单元的大小已知时,可确定符合光栅扫描顺序的当前最小单元的位置。

这里,当前最小单元的位置相应于从当前最大编码单元的左上端到当前最小单元的左上端的距离,并可被表示为在当前最小单元的左上端的像素的位置,所述位置相对于在当前最大编码单元的左上端的样点的位置。

参照图16,在与相同深度相应的编码单元中执行按照Z字形扫描顺序的扫描。例如,最大编码单元1800具有深度0,最小单元1810具有深度3。四个最小单元被组合,可以以组为单位执行Z字形扫描。换句话说,按照Z字形扫描顺序扫描索引为0、1、2和3的最小单元1810,按照Z字形扫描顺序扫描索引为4、5、6和7的最小单元1810。

索引为0、1、2和3的最小单元1810的组是深度为2的编码单元。因此,包括索引为0、1、2和3的最小单元1810的第一组、包括索引为4、5、6和7的最小单元1810的第二组、包括索引为8、9、10和11的最小单元1810的第三组、包括索引为12、13、14和15的最小单元1810的第四组分别是深度为2的编码单元,并且可按照Z字形扫描顺序被扫描。

类似地,可在4个与深度1相应的编码单元中按照Z字形扫描顺序来执行扫描,其中,与深度1相应的编码单元中的每一个包括四个与深度2相应的编码单元。

根据示例性实施例的视频解码设备200的图像数据解码器230可搜索最大编码单元中的最小单元的位置。当符合Z字形扫描顺序的当前最小单元的索引、每个最小单元的大小和当前最大编码单元的大小已知时,可确定符合Z字形扫描顺序的当前最小单元的位置。

这里,当前最小单元的位置相应于从当前最大编码单元的左上端到当前最小单元的左上端的距离,并可被表示为在当前最小单元的左上端的像素的位置,所述位置相对于在当前最大编码单元的左上端的样点的位置。

视频解码设备200的图像数据解码器230可在最大编码单元内将根据Z字形扫描顺序的最小单元的索引和根据光栅扫描顺序的最小单元的索引彼此互相转换。可考虑最大编码单元的大小、当前深度和最大深度来执行该互相转换。

图17示出根据本发明的实施例的编码单元、预测单元、分区和变换单元的位置和扫描索引之间的关系。参照图17,画面被划分为像条,像条1750包括多个最大编码单元LCU。包括在像条1750中的最大编码单元LCU中的最大编码单元1760的位置lcuAddr可被表示为在最大编码单元1760的左上端的样点的位置与在像条1750的左上端的样点相比的相对位置。

在最大编码单元1760中的具有树结构的编码单元中的编码单元1770的位置可被表示为编码单元1770与在最大编码单元1760的左上端的样点相比的扫描索引cuIdx。如果编码单元1770是与编码深度相应的编码单元,即,不再被划分到下层深度的编码单元,则编码单元1770变为预测单元1770,并且预测单元1770的位置可被表示为预测单元1770与在最大编码单元1760的左上端的样点相比的扫描索引puIdx。

预测单元1770可被划分为至少一个PU分区。预测单元1770的PU分区中的PU分区1790可被表示为PU分区1790与在预测单元1770的左上端的样点相比的扫描索引puPartIdx。预测单元1770可至少包括变换单元TU。预测单元1770的变换单元中的变换单元1780可被表示为变换单元1780与在预测单元1770的左上端的样点相比的扫描索引tuIdx。

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

图18示出根据示例性实施例的编码单元1850的扫描索引。参照图18,编码单元1850具有CUSize的高和CUSize的宽,并且随着编码单元1850的深度增加一个级别,编码单元1850可被划分为四个与下层深度相应的编码单元CU0、CU1、CU2和CU3。编码单元CU0、CU1、CU2和CU3均具有CUSize/2的高和CUSize/2的宽。

编码单元1850的扫描索引和编码单元CU0、CU1、CU2和CU3的扫描索引被表示为位于编码单元1850和编码单元CU0、CU1、CU2和CU3的左上端的最小单元的扫描索引,最小单元的扫描索引表示最小单元在最大编码单元中被扫描的顺序。例如,编码单元1850的索引cuIdx表示在编码单元1850的左上端的最小单元的索引。

数据单元(诸如最大编码单元、编码单元、预测单元、分区或变换单元)的大小可被表示为该数据单元的最小单元的数量。例如,在数据单元的高(宽)上排列的最小单元的数量可指示数据单元的高(宽)。

因此,由于编码单元CU0、CU1、CU2和CU3的扫描索引相应于编码单元CU0、CU1、CU2和CU3距离编码单元1850的左上端的位置,因此可使用编码单元CU0、CU1、CU2和CU3的大小来表示编码单元CU0、CU1、CU2和CU3的扫描索引,其中,编码单元CU0、CU1、CU2和CU3的扫描索引从编码单元1850的扫描索引cuIdx增加了最小单元的数量。具体地,编码单元CU0、CU1、CU2和CU3的扫描索引可被如下定义:

(1)编码单元CU0的扫描索引是cuIdx。因此,编码单元CU0的扫描索引与编码单元1850的扫描索引相同,编码单元1850在深度方面高于编码单元CU0

(2)编码单元CU1的扫描索引从上层编码单元1850的扫描索引增加了在编码单元CU0的宽上排列的最小单元的数量CuSizeInSu/2。因此,编码单元CU1的扫描索引是cuIdx+CuSizeInSu/2。

(3)编码单元CU2的扫描索引从上层编码单元1850的扫描索引增加了在编码单元CU0的高上排列的最小单元的数量CuSizeInSu/2与在最大编码单元的宽上排列的最小单元的数量LcuSizeInSu的乘积。因此,编码单元CU2的扫描索引是cuIdx+CuSizeInSu/2×LcuSizeInSu。

(4)编码单元CU3的扫描索引从编码单元CU2的扫描索引增加了编码单元CU2的水平大小CuSizeInSu/2。因此,编码单元CU3的扫描索引是cuIdx+CuSizeInSu/2+CuSizeInSu/2×LcuSizeInSu。

图19示出根据示例性实施例的根据编码单元的扫描索引的编码单元的扫描顺序。参照图19,在最大编码单元1900内的具有树结构的编码单元可分别具有与最小单元的大小相同的大小,或者可被重复划分直到例如进一步的划分不被允许或不可能。在最大编码单元1900内的具有树结构的编码单元可包括深度为1的编码单元1970、深度为2的编码单元1910、1912、1914和1916、深度为2的编码单元1960、1962、1964和1966、深度为3的编码单元1920、1922、1924、1926、1930、1932、1934、1936、1940、1942、1944、1946、1950、1953、1954和1956。

根据本示例性实施例,在所有具有树结构的编码单元中执行Z字形扫描,并且在具有相同深度的编码单元中也执行Z字形扫描。

因此,在最大编码单元1900内的具有树结构的编码单元的扫描顺序和扫描索引可被定义为以下顺序:从深度为2的编码单元

(1910→1912→1914→1916),到深度为3的编码单元

(1920→1922→1924→1926),到深度为3的编码单元

(1930→1932→1934→1936),到深度为3的编码单元

(1940→1942→1944→1946),到深度为3的编码单元

(1950→1953→1954→1956),到深度为2的编码单元

(1960→1962→1964→1966),到深度为1的编码单元1970。

图20示出根据示例性实施例的根据分区类型的预测单元的分区的扫描索引。参照图20,预测单元的分区可被定义为对称分区类型2050、2052、2054和2056以及根据预测单元的高和宽中的至少一个被划分的比率的不对称分区类型2060、2062、2064和2066。

预测单元的位置可被表示为根据最小单元的大小定义的预测单元的索引。在对称分区类型2050、2052、2054和2056和不对称分区类型2060、2062、2064和2066内标记的数字0、1、2和3是预测单元的分区的扫描索引。

根据示例性实施例的图像数据解码器230可基于预测单元的扫描索引来搜索预测单元的位置。具体地,图像数据解码器230可通过使用预测单元的扫描索引、最小单元的高和宽以及最大编码单元的大小,来搜索在预测单元的左上端的像素与在最大编码单元的左上端的样点相比的相对位置。

图像数据解码器230可基于PU分区的扫描索引来搜索PU分区的位置。具体地,图像数据解码器230可通过使用PU分区的扫描索引、最小单元的高和宽以及预测单元的大小,来搜索在PU分区的左上端的像素与在预测单元的左上端的样点相比的相对位置。

类似地,图像数据解码器230可基于变换单元的扫描索引来搜索变换单元的位置。具体地,图像数据解码器230可通过使用变换单元的扫描索引、最小单元的高和宽以及预测单元的大小,来搜索在变换单元的左上端的像素与在预测单元的左上端的样点相比的相对位置。

图21示出根据示例性实施例的可被用作当前数据单元2170的邻近信息的数据单元。参照图21,根据示例性实施例的视频编码设备100和视频解码设备200可在对当前数据单元2170进行编码和解码时参考与当前数据单元2170邻近的数据单元。数据单元是最大编码单元、编码单元、预测单元或分区。

与当前数据单元X(2170)邻近的数据单元可以是左侧的数据单元A(2180)、上方的数据单元B(2182)、右上方的数据单元C(2184)、左上方的数据单元D(2186)和左下方的数据单元E(2188)。

图22示出根据示例性实施例的与当前最大编码单元2270邻近的最大编码单元。参照图22,根据示例性实施例的视频编码设备100可在对最大编码单元2270进行编码时参考与当前最大编码单元2270邻近的最大编码单元。根据示例性实施例的视频解码设备200可在对当前最大编码单元2270进行解码时参考与当前最大编码单元2270邻近的最大编码单元。

与当前最大编码单元2270邻近的最大编码单元可以是左侧的最大编码单元2280、上方的最大编码单元2282、右上方的最大编码单元2284、左上方的最大编码单元2286和左下方的最大编码单元2288。视频解码设备200的图像数据解码器230可搜索邻近最大编码单元2280、2282、2284、2286和2288的地址和可用性lcuAddrA、lcuAddrB、lcuAddrC、lcuAddrD、lcuAddrE。邻近最大编码单元2280、2282、2284、2286和2288可被表示为相对于当前最大编码单元2270的地址CurrLcuAddr的位置。

视频解码设备的图像数据解码器230可检查每个最大编码单元的可用性。在除了最大编码单元不包括在当前画面中的情况(i)、最大编码单元不包括在当前像条中的情况(ii)以及最大编码单元的地址在扫描顺序方面位于当前最大编码单元的地址之后的情况(iii)之外的情况下,最大编码单元的数据可被认为可用。

图23示出符合光栅扫描方法的宏块。现有技术的编解码器(诸如H.264)使用均将最大大小为16×16的用作数据被编码的单位的宏块。参照图23,虽然在画面200中存在的当前宏块2010可通过参照在相同画面200中存在的邻近宏块而被解码,但是由于按照光栅扫描顺序对宏块进行解码,因此位于当前宏块2010的左下方的宏块2020还未被解码,因此不能被当前宏块2010参考。以下,当由于邻近数据单元还未被解码因而不能被当前编码单元参考时,该邻近数据单元被定义为不可用。

图24示出根据示例性实施例的符合Z字形扫描顺序的当前预测单元2156。在编码方法中,由于根据光栅扫描方法对宏块进行扫描,因此,第二宏块可不参考关于在第二宏块之后扫描的第一宏块的信息。然而,根据示例性实施例的视频编码设备100可参考第一宏块作为第二宏块的邻近信息,以对第二宏块进行编码。

参照图24,使用画面2100作为示例,按照与深度1相应的编码单元2110、2120、2130和2140的Z字形扫描顺序来对大小为64×64的最大编码单元进行解码。此外,也可按照Z字形顺序扫描在与深度1相应的编码单元2140中的与深度2相应的编码单元2142、2144、2146和2148。

在Z字形扫描顺序中,在深度为1的编码单元2140被解码之后,深度为1的编码单元2150被解码。按照与深度2相应的编码单元2152、2154和2156的顺序来执行深度为1的编码单元2150的解码。由于在深度为2的编码单元2156的左下方存在深度为2的编码单元2144,并且该深度为2的编码单元2144已根据Z字形扫描顺序被解码,因此深度为2的编码单元2144可被参考,作为深度为2的编码单元2156的邻近信息。如果深度为2的编码单元2156不再被划分到下层深度,则编码单元2156变为预测单元,预测单元2156可通过参考深度为2的编码单元2144而被预测解码。

根据光栅扫描方法,编码单元2144在编码单元2156之后被解码,因此在对编码单元2156进行解码时不能参考关于编码单元2144的信息。

图25示出根据示例性实施例的与当前分区邻近的最小单元。参照图25,存在与深度0相应的最大编码单元2210、2220和2230,最小编码单元2240被设置为具有深度3。当前最大编码单元2210的当前分区250的邻近信息指示当前分区2250中的与最小单元邻近的外部最小单元。

例如,当前分区250的左侧的邻近信息、上方的邻近信息和左上方的邻近信息指示位于最小单元2256的左侧、上方和左上方的最小单元2262、2260和2266,其中,最小单元2256位于当前分区2250的左上方。

当前分区2250的右上方的邻近信息指示位于最小单元2254的右上方的最小单元2264,其中,最小单元2254位于当前分区2250的右上方。当前分区2250的左下方的邻近信息指示位于最小单元2256的左下方的最小单元2268,其中,最小单元2256位于当前分区2250的左下方。

根据示例性实施例的视频解码设备200的图像数据解码器230可检查与当前分区邻近的最小单元或最大编码单元的位置和可用性。邻近最小单元的地址或最大编码单元的位置可被表示为与当前分区邻近的最小单元的索引或包括邻近最小单元的最大编码单元的地址。

在除了最大编码单元不包括在当前画面中的情况(i)、最大编码单元不包括在当前像条中的情况(ii)、最大编码单元的地址在扫描方面位于当前最大编码单元的地址之后的情况(iii)或根据Z字形扫描顺序在较深层编码单元的左上方的最小单元的索引在扫描顺序方面位于根据Z字形扫描顺序的当前最小单元的索引之后的情况(iv)之外的情况下,较深层编码单元的数据可被认为可用。

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

图26是用于解释根据示例性实施例的使用邻近信息的运动矢量预测方法的示图。根据示例性实施例的视频编码设备100和视频解码设备200可在基于帧间模式执行运动预测时参考与当前预测单元邻近的预测单元的运动矢量、

也就是说,参照图26,为了预测当前预测单元2300的运动信息,可参考与当前预测单元2300邻近的预测单元的多条运动信息MV_A(2310)、MV_B(2320)、MV_C(2330)、MV_D(2340)和MV_E(2350)。所述多条运动信息MV_A(2310)、MV_B(2320)、MV_C(2330)、MV_D(2340)和MV_E(2350)是当前预测单元2300的邻近信息,即,关于位于当前预测单元2300的左侧、上方、右上方、左上方和左下方的预测单元的信息。可通过使用相应预测单元的最小单元的各个编码信息来搜索所述多条运动信息MV_A(2310)、MV_B(2320)、MV_C(2330)、MV_D(2340)和MV_E(2350)。

图27示出根据示例性实施例的使用邻近信息的插值方法。根据示例性实施例的视频编码设备100和视频解码设备200可在基于帧内模式执行预测编码时参考在与当前预测单元邻近的预测单元的边界上的像素的像素值。

也就是说,参照图27,可通过参考在与当前预测单元2400邻近的数据单元的边界上的像素(即,上下文像素2410和2420)的像素值来预测当前预测单元2400的像素值。上下文像素2430是当前预测单元2400的邻近信息,即,位于当前预测单元2400的左下方的像素的信息。

在符合光栅扫描顺序的基于宏块的现有技术编解码器中,关于位于当前宏块的左下方的邻近部分的信息(即,运动信息MV_E(2350)或上下文像素2430)不能被用作邻近信息。

然而,由于根据Z字形扫描顺序对根据分层深度的编码单元进行编码和解码,因此根据示例性实施例的视频编码设备100和视频解码设备200可参考关于位于当前数据单元的左下方的邻近部分的信息。因此,如果视频编码设备100和视频解码设备200认为关于位于当前数据单元的左下方的邻近部分的信息可用,则视频编码设备100和视频解码设备200可在对当前数据单元进行编码或解码时参考邻近信息。

图28是示出根据示例性实施例的通过参考邻近信息对视频进行编码的方法的流程图。参照图28,在操作2510,当前画面被划分为至少一个最大编码单元。

在操作2520,通过基于随着深度的增加而被分层划分的编码单元对与每个最大编码单元相应的图像数据进行编码,来确定至少一个编码深度,并且根据树结构的编码单元被确定。每当深度加深,最大编码单元被空间划分,因此最大编码单元被划分为下层深度的编码单元。每个编码单元可通过与邻近编码单元独立地被空间划分来被划分为另一下层深度的编码单元。可针对每个根据深度的编码单元重复执行编码。此外,可针对每个较深层编码单元确定具有最小编码误差的分区类型和变换单元。为了确定每个最大编码单元中的具有最小编码误差的编码深度,可在所有根据深度的较深层编码单元中测量和比较编码误差。

考虑最大编码单元中的光栅扫描顺序以及包括在每个最大编码单元中的较深层编码单元之间的Z字形扫描顺序,对图像数据进行编码。还可通过考虑数据单元中的扫描顺序参考可用邻近信息来对图像数据进行编码。

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

图29是示出根据示例性实施例的通过参考邻近信息对视频进行解码的方法的流程图。参照图29,在操作2610,接收并解码编码视频的比特流。

在操作2620,从解析的比特流获得被分配给最大编码单元的当前画面的编码图像数据,从解析的比特流提取根据最大编码单元的关于编码深度和编码模式的信息。

每个最大编码单元的编码深度是每个最大编码单元中的具有最小编码误差的深度。在对每个最大编码单元进行编码时,基于通过根据深度对每个最大编码单元进行分层划分而获得的至少一个数据单元,对图像数据进行编码。

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

在操作2530,考虑最大编码单元中的光栅扫描顺序以及包括在每个最大编码单元中的较深层编码单元之间的Z字形扫描顺序,来对每个最大编码单元的编码图像数据进行解码。可搜索根据光栅扫描顺序的最大编码单元的位置和根据Z字形扫描顺序的较深层编码单元的位置,根据Z字形扫描顺序的最小单元的索引和根据光栅扫描顺序的最小单元的索引可彼此互相转换。

为了考虑各种分层数据单元的扫描顺序(诸如针对最大编码单元或预测单元的光栅扫描顺序或者针对最小单元的Z字形扫描顺序或光栅扫描顺序)对预定编码单元进行解码,可检查邻近信息的可用性并可参考邻近信息。根据示例性实施例的邻近信息可包括关于位于当前数据单元的左下方的数据单元的信息。

根据一个或多个示例性实施例,可通过存储在存储介质中或通过网络发送的再现设备来再现解码的图像数据。

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

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

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