确定运动矢量的方法与流程

文档序号:13950763阅读:189来源:国知局
确定运动矢量的方法与流程

技术领域

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



背景技术:

随着用于再现和存储高分辨率或高质量的视频内容的硬件正被开发和供应,对于有效地对高分辨率或高质量的视频内容进行编码或解码的视频编解码器的需求正在增加。在现有技术的视频编解码器中,基于具有预定大小的宏块,根据有限的编码方法对视频进行编码或解码。宏块被串行(sequentially)编码或解码,并且参考附近信息的预测编码或解码被广泛使用。



技术实现要素:

技术问题

一个或多个示例性实施例提供了根据按照预定数据单元级别的独立编码对视频进行编码,并根据按照预定数据单元级别的独立解析或独立解码对视频进行解码。

技术方案

根据示例性实施例的一方面,提供了一种视频解码方法,包括:从已编码的视频的比特流提取指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个;通过基于指示数据单元的独立解析的信息对比特流进行解析,来提取已编码的视频数据和根据最大编码单元的关于编码深度和编码模式的信息;基于指示数据单元的独立解码的信息和根据最大编码单元的关于编码深度和编码模式的信息,根据已编码的视频数据的每个最大编码单元的编码深度对至少一个编码单元进行解码。数据单元包括至少一个编码单元的组和至少一个最大编码单元的组中的一个组。

有益效果

根据示例性实施例的视频编码设备可基于附近信息独立地对编码单元进行编码。由于根据示例性实施例的视频编码设备按照具有大于现有技术的宏块的大小的编码单元对数据进行编码,故根据示例性实施例的视频编码设备可通过使用包括在一个编码单元中的数据对当前编码单元执行预测编码,其中,现有技术的宏块具有8×8或16×16的大小。

由于根据示例性实施例的视频解码设备按照大编码单元对数据进行解码,故各种类型的图像信息可被包括在一个编码单元中。因此,根据示例性实施例的视频编码设备和根据示例性实施例的视频解码设备可通过与其它编码单元独立地使用关于一个编码单元的信息来执行编码和解码,以减小编码单元的时间或空间重叠的数据。因此,视频编码设备和视频解码设备分别按照编码单元级别根据编码单元独立地执行编码和解码。

附图说明

通过参照附图对示例性实施例进行详细描述,上述和/或其它方面将变得更加清楚,其中:

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

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

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

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

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

图6是示出根据示例性实施例的根据深度的更深编码单元和分块(partition)的示图;

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

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

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

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

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

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

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

图16是根据示例性实施例的用于按照编码单元级别的独立解析和独立解码的视频编码设备的框图;

图17是根据示例性实施例的根据按照编码单元级别的独立解析和独立解码的视频解码设备的框图;

图18是用于描述根据H.264标准编码和解码方法的按照像条级别的并行处理的略图;

图19是示出根据一个或多个示例性实施例的按照像条级别的并行处理和按照编码单元级别的并行处理的可能组合的表;

图20是用于描述根据示例性实施例的按照编码单元级别的并行处理的示图;

图21是用于描述根据示例性实施例的按照数据单元的分层并行处理的示图;

图22是用于描述根据示例性实施例的、根据按照编码单元级别的独立解码的可能的部分解码的示图;

图23是根据示例性实施例的、根据按照编码单元级别的并行解码的按照编码单元的可能的并行显示的示图;

图24是根据示例性实施例的序列参数集的语法,其中,指示按照编码单元级别的独立解析的信息和指示按照编码单元级别的独立解码的信息被插入到序列参数集的语法中;

图25是用于描述根据示例性实施例的用于按照编码单元级别的独立解码的帧内预测的示图;

图26是用于描述根据示例性实施例的使用附近恢复采样的帧内预测的后处理的示图;

图27是用于描述根据示例性实施例的用于按照编码单元级别的独立解码的帧内预测的后处理的示图;

图28是用于描述针对根据示例性实施例的按照编码单元级别的独立解码和根据示例性实施例的按照编码单元级别的独立解析的、遵循上下文自适应二进制算术编码(CABAC)方法的熵编码和熵解码的示图;

图29是示出根据示例性实施例的用于独立解析或独立解码的视频编码方法的流程图;

图30是示出根据示例性实施例的根据独立解析或独立解码的视频解码方法的流程图。

最优模式

根据示例性实施例的一方面,提供了一种视频解码方法,包括:从已编码的视频的比特流提取指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个;通过基于指示数据单元的独立解析的信息对比特流进行解析,提取已编码的视频数据和根据最大编码单元的关于编码深度和编码模式的信息;基于指示数据单元的独立解码的信息和根据最大编码单元的关于编码深度和编码模式的信息,对根据已编码的视频数据的每个最大编码单元的编码深度的至少一个编码单元进行解码。数据单元包括至少一个编码单元的组和至少一个最大编码单元的组中的一个组。

编码单元可由最大大小和深度表征。

深度可表示编码单元被分层划分的次数,随着深度加深,根据深度的更深编码单元可从最大编码单元被划分以获得最小编码单元,其中,深度从更高深度被加深至更低深度,其中,随着深度加深,最大编码单元被划分的次数增加,并且最大编码单元被划分的可能的次数的总数对应于最大深度,其中,编码单元的最大大小和最大深度可被预先确定。

指示数据单元的独立解析的信息可包括指示按照编码单元级别的独立解析的信息,所述指示按照编码单元级别的独立解析的信息指示是否能够从比特流中提取针对每个最大编码单元独立编码的信息,指示数据单元的独立解码的信息可包括指示按照编码单元级别的独立解码的信息,所述指示按照编码单元级别的独立解码的信息指示是否能够对针对每个最大编码单元独立编码的数据进行解码。

指示按照编码单元级别的独立解析的信息和指示按照编码单元级别的独立解码的信息可被彼此独立地设置。

解码的步骤可包括:如果由于预定的附近信息未在至少一个编码单元之前被解码,因此不能参考预定的附近信息以对所述至少一个编码单元执行预测解码,则根据指示数据单元的独立解析的信息和指示数据单元的独立解码的信息通过搜索并参考可参考的附近信息来对所述至少一个编码单元执行预测编码。

解码的步骤可包括:如果仅已编码的视频的部分区域将被解码,则基于指示按照编码单元级别的独立编码的信息,仅对已编码的视频数据的与所述部分区域相应的至少一个最大编码单元进行解码。可从比特流提取指示是否对数据单元执行部分区域解码的信息或指示部分区域解码的目标数据单元的信息。

视频解码方法还可包括:基于指示按照编码单元级别的独立编码的信息,按照编码单元级别并行恢复和再现视频数据,所述视频数据级别按照编码单元级别以每预定数量的编码单元被并行解码。

执行预测解码的步骤可包括:如果至少一个编码单元的当前附近信息不可参考,则可通过使用所述至少一个编码单元的另一条当前可参考的附近信息或者关于当前编码单元的信息对所述至少一个编码单元进行解码,以对所述至少一个编码单元执行帧内预测、帧间预测、频域预测解码、根据上下文自适应二进制算术编码(CABAC)的熵解码以及帧内预测值的后处理中的至少一个。

可从比特流中提取指示编码单元的大小、或者至少一个编码单元的组的数量或至少一个最大编码单元的组的数量的关于数据单元的信息。

可从比特流的像条头或序列参数集提取指示数据单元的独立解析的信息或指示数据单元的独立解码的信息。

根据另一示例性实施例的一方面,提供了一种视频编码方法,包括:将当前画面划分为至少一个最大编码单元;根据所述至少一个最大编码单元的至少一个划分区域,确定编码深度以及与编码深度相应的编码单元,以输出基于具有分层结构的更深编码单元对所述至少一个最大编码单元的视频数据进行编码的结果,其中,在具有分层结构的更深编码单元中,更高深度的编码单元随着深度加深而被划分;输出比特流,所述比特流包括指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个、针对所述至少一个最大编码单元中的每一个按照编码深度编码的视频数据以及根据所述至少一个最大编码单元的关于编码深度和编码模式的信息。

输出比特流的步骤可包括:基于在对视频数据进行编码以确定编码深度时数据单元是否被独立编码,来设置指示数据单元的独立解码的信息。

输出比特流的步骤可包括:针对每个数据单元,基于已编码的视频数据以及根据至少一个最大编码单元的关于编码深度和编码模式的信息是否被独立地插入到比特流中,来设置指示数据单元的独立解析的信息。指示编码单元的大小、或者至少一个编码单元的组的数量或至少一个最大编码单元的组的数量的关于数据单元的信息可被插入到比特流中。

确定编码深度和编码单元的步骤可包括:如果由于编码单元按照编码单元级别被独立编码,故用于对编码单元执行预测编码的参考信息不是关于先前编码单元的信息,则搜索并参考在编码单元之前被编码的附近信息中的可参考的附近信息,以对编码单元进行预测。

搜索和参考附近信息的步骤可包括:当对编码单元执行帧内预测、频域预测编码、帧间预测、帧内预测之后的后处理或根据CABAC的熵编码时,参考附近信息中的在当前编码单元之前被编码的附近信息或关于当前编码单元的信息。

视频编码方法和视频解码方法可通过使用多个独立处理器按照每多个编码单元同时地并行处理编码单元。

根据另一示例性实施例的一方面,提供了一种视频解码设备,包括:接收器,从已编码的视频的比特流提取指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个;解析器,通过基于指示数据单元的独立解析的信息对比特流进行解析,提取已编码的视频数据和根据最大编码单元的关于编码深度和编码模式的信息;解码器,基于指示数据单元的独立解码的信息和根据最大编码单元的关于编码深度和编码模式的信息,对根据已编码的视频数据的每个最大编码单元的编码深度的至少一个编码单元进行解码。

根据另一示例性实施例的一方面,提供了一种视频编码设备,包括:最大编码单元划分器,将当前画面划分为至少一个最大编码单元;编码单元确定器,根据所述至少一个最大编码单元的至少一个划分区域,确定编码深度以及与编码深度相应的编码单元,以输出基于具有分层结构的更深编码单元对所述至少一个最大编码单元的视频数据进行编码的结果,其中,在具有分层结构的更深编码单元中,更高深度的编码单元随着深度加深而被划分;输出单元,输出比特流,所述比特流包括指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个、针对所述至少一个最大编码单元的中每一个按照编码深度编码的视频数据以及根据所述至少一个最大编码单元的关于编码深度和编码模式的信息。

根据另一示例性实施例的一方面,提供了一种视频解码方法,包括:通过基于指示数据单元的独立解析的信息对比特流进行解析,来从比特流提取已编码的视频数据和根据最大编码单元的关于编码深度和编码模式的信息;基于指示数据单元的独立解码的信息和根据最大编码单元的关于编码深度和编码模式的信息,对根据已编码的视频数据的每个最大编码单元的编码深度的至少一个编码单元进行解码。

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

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

具体实施方式

在下文中,将参照示出示例性实施例的附图更充分地描述示例性实施例。此外,当诸如“…中的至少一个”的表述在列出的元件之后时,所述表述修饰列出的全部元件而不是修饰各个列出的元件。在示例性实施例中,“单元”依据其上下文可表示大小的单位或者可不表示大小的单位。

以下,根据示例性实施例,“编码单元”是在编码器侧对图像数据进行编码的编码数据单元(encoding data unit)以及在解码器侧对已编码的图像数据进行解码的被编码的数据单元(encoded data unit)。此外,“编码深度(coded depth)”表示编码单元被编码的深度。

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

将参照图1至图15描述根据示例性实施例的按照具有分层树结构的数据单元进行的视频编码和解码。将参照图16至图30描述根据示例性实施例的、基于具有分层树结构的数据单元的考虑按照编码单元级别的独立解析或独立解码的视频编码和解码。

现在将参照图1至图15描述根据示例性实施例的视频编码设备、视频解码设备、视频编码方法和视频解码方法。

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

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

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

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

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

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

确定的编码深度和根据确定的编码深度的已编码的图像数据被输出到输出单元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个变换单元,从而变换单元的大小是N×N时,变换深度可以是1,在当前编码单元的高和宽中的每一个被划分为四等份,总共被划分为42个变换单元,从而变换单元的大小是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描述的那些相似。

接收器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,第一视频数据310具有1920×1080的分辨率和最大大小为64且最大深度为2的编码单元。此外,示例性地提供了第二视频数据320,第二视频数据320具有1920×1080的分辨率和最大大小为64且最大深度为3的编码单元。此外,示例性地提供了第三视频数据330,第三视频数据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的框图。图像编码器400可执行根据示例性实施例的视频编码设备100的编码单元确定器120的操作以对图像数据进行编码。也就是说,参照图4,帧内预测器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中的最大编码单元,其中,深度为0,大小(即,高度乘宽度)为64×64。深度沿纵轴加深,存在大小为32×32且深度为1的第二编码单元620、大小为16×16且深度为2的第三编码单元630、大小为8×8且深度为3的第四编码单元640以及大小为4×4且深度为4的第五编码单元650。大小为4×4且深度为4的第五编码单元650是最小编码单元。

编码单元的预测单元和分块根据每个深度沿横轴排列。也就是说,如果大小为64×64且深度为0的第一编码单元610是预测单元,则预测单元可被划分为包括在第一编码单元610中的分块,即,大小为64×64的分块610、大小为64×32的分块612、大小为32×64的分块614或大小为32×32的分块616。

类似地,大小为32×32且深度为1的第二编码单元620的预测单元可被划分为包括在第二编码单元620中的分块,即,大小为32×32的分块620、大小为32×16的分块622、大小为16×32的分块624和大小为16×16的分块626。

类似地,大小为16×16且深度为2的第三编码单元630的预测单元可被划分为包括在第三编码单元630中的分块,即,包括在第三编码单元630中的大小为16×16的分块、大小为16×8的分块632、大小为8×16的分块634和大小为8×8的分块636。

类似地,大小为8×8且深度为3的第四编码单元640的预测单元可被划分为包括在第四编码单元640中的分块,即,包括在第四编码单元640中的大小为8×8的分块、大小为8×4的分块642、大小为4×8的分块644和大小为4×4的分块646。

大小为4×4且深度为4的第五编码单元650是最小编码单元和最低深度的编码单元。第五编码单元650的预测单元仅被分配给大小为4×4的分块。

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

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

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

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

根据示例性实施例的视频编码设备100或视频解码设备200针对每个最大编码单元,根据具有小于或等于最大编码单元的大小的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择编码期间用于变换的变换单元的大小。

例如,在视频编码设备100或视频解码设备200中,如果编码单元710的大小是64×64,则可通过使用大小为32×32的变换单元720来执行变换。

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

图8是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图。参照图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进行对称划分而获得的分块类型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之间的关系的示图。

参照图10,编码单元1010是最大编码单元中与由根据示例性实施例的视频编码设备100确定的编码深度相应的、具有树结构的编码单元。参照图11和图12,预测单元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的标记,但应该理解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/(2MaxTransformSizeIndex))……(1)

与可在当前编码单元中确定的当前最小变换单元大小CurrMinTuSize相比,当TU大小标记为0时的变换单元大小RootTuSize可指示可在系统中选择的最大变换单元大小。在等式(1)中,RootTuSize/(2MaxTransformSizeIndex)指示当TU大小标记为0时,变换单元大小RootTuSize被划分了与最大TU大小标记相应的次数时的变换单元大小。此外,MinTransformSize指示最小变换大小。因此,RootTuSize/(2MaxTransformSizeIndex)和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是示出根据示例性实施例的对视频进行编码的方法的流程图。参照图14,在操作1210,当前画面被划分为至少一个最大编码单元。指示可能的划分次数的总数的最大深度可被预先确定。

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

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

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

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

图15是示出根据示例性实施例的对视频进行解码的方法的流程图。参照图15,在操作1310,接收并解析已编码的视频的比特流。

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

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

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

在下文中,将参照图16至图30描述根据本发明示例性实施例的考虑按照编码单元级别的独立解析或独立解码的视频编码和解码。

图16是根据示例性实施例的用于按照编码单元级别的独立解析和独立解码的视频编码设备1400的框图。参照图16,视频编码设备1400包括最大编码单元划分器1410、编码单元确定器1420和输出单元1430。

最大编码单元确定器1410将当前画面划分为至少一个最大编码单元。最大编码单元的像素值数据被输出到编码单元确定器1420。

编码单元确定器1420对由最大编码单元确定器1410产生的最大编码单元的像素值数据进行压缩和编码。详细地讲,编码单元确定器1420对通过根据深度分层划分最大编码单元获得的划分区域中的更深编码单元进行编码。最大编码单元的每个划分区域在当前深度被编码,并且随着深度加深,每个划分区域被再次划分以产生新的划分区域。因此,对新产生的划分区域中的相应更深编码单元进行编码的处理被递归地执行。

通过对最大编码单元的每个划分区域中的更深编码单元进行递归编码的处理而获得的编码结果被进行比较,并且具有最高编码效率的深度被确定为相应划分区域的编码深度。由于在划分区域中彼此独立地确定具有最高编码效率的深度,故在一个最大编码单元中可确定至少一个编码深度。

编码单元确定器1420可按照像条级别每预定数量的编码单元地对编码单元执行并行编码。例如,每预定数量的编码单元地对参考相同的I像条或P像条的B像条进行并行编码。

编码单元确定器1420可按照编码单元级别执行独立编码。因此,关于临近编码单元的信息可不被参考以对当前编码单元进行编码。

由于编码单元确定器1420按照编码单元级别执行独立编码,故每预定数量的编码单元地对编码单元执行并行编码。将在根据按照编码单元级别的并行编码的下一周期中被编码的编码单元可不被用作用于在当前周期中对将被编码的编码单元进行编码的参考信息。另外,将在根据按照编码单元级别的并行编码的相同周期中被编码的编码单元可不被彼此用作参考信息。

基于串行编码的编码手段通过参考根据串行顺序被先前编码的附近信息来执行预测编码。

因此,如果按照编码单元级别执行独立编码,则可能不能原样使用基于编码单元的串行编码的编码手段。当编码单元确定器1420按照编码单元级别独立执行帧内预测时,如果当前编码单元的参考信息不是关于在当前编码单元之前被编码的先前编码单元,则在编码单元之前被编码的附近信息中可被参考的附近信息可被搜索并被参考。现将描述参考在编码单元之前被编码的附近信息中可被参考的附近信息的方法,其中,针对编码手段执行所述方法。

当编码单元确定器1420按照编码单元级别独立地执行帧内预测时,如果当前编码单元的参考信息不是关于在当前编码单元之前被编码的先前编码单元,则通过使用当前编码单元的附近信息中的在当前编码单元之前被编码的信息而获得的直流(DC)值可被确定为当前编码单元的预测值。

帧内预测模式指示被参考用于当前编码单元的帧内预测的附近信息的方向。因此,多个帧内预测模式可基于可被当前编码单元参考的附近信息的方向的数量而被设置。当编码单元确定器1420按照编码单元级别独立地执行帧内预测时,如果当前编码单元的参考信息不是关于在当前编码单元之前被编码的先前编码单元,则仅指示关于当前编码单元的附近信息中的在当前编码单元之前被编码的信息的帧内预测方向的帧内预测模式可作为一种类型的帧内预测模式而被压缩。

编码单元确定器1420可通过使用频域中的临近编码单元的变换系数来执行对当前编码单元的变换系数进行预测的频域预测。当编码单元确定器1420按照编码单元级别独立执行频域预测时,可通过使用当前编码单元的附近信息中的在当前编码单元之前被编码的信息来预测当前编码单元的变换系数。

根据示例性实施例的频域预测模式可指示被当前编码单元参考的附近信息的方向。当编码单元确定器1420按照编码单元级别独立执行频域预测时,如果当前编码单元的参考信息不是关于在当前编码单元之前被编码的先前编码单元,则当前编码单元的频域预测模式可被改变为指示当前编码单元的附近信息中的在当前编码单元之前被编码的信息的方向的预测模式。

编码单元确定器1420可搜索关于临近编码单元的参考可能性的信息,以搜索用于帧间预测的当前编码单元的参考信息。当编码单元确定器1420按照编码单元级别独立执行帧间预测时,如果当前编码单元的参考信息不是关于在当前编码单元之前被编码的先前编码单元,则临近编码单元与当前编码单元之间的运动矢量可基于当前编码单元的附近信息的参考可能性中的改变的参考可能性而被预测。

编码单元确定器1420可对当前编码单元的预测值执行预定后处理,其中,通过对当前编码单元执行帧内预测获得所述当前编码单元的预测值。编码单元确定器1420可通过使用根据后处理的目的的各种参数和附近信息来修正当前编码单元的预测值。当编码单元确定器1420在帧内预测之后按照编码单元级别独立执行后处理时,如果当前编码单元的参考信息不是关于在当前编码单元之前被编码的先前编码单元,则可通过使用当前编码单元的像素值以及当前编码单元的已编码的附近信息中的临近像素值的后处理的像素值,来计算当前编码单元的后处理的像素值。

编码单元确定器1420可使用编码单元的附近信息的上下文信息来执行根据上下文自适应二进制算术编码(CABAC)的熵编码。当编码单元确定器1420按照编码单元级别独立执行熵编码时,在某些情况下可不参考当前编码单元的附近信息中的在当前编码单元之前被编码的附近信息的上下文信息。

输出单元1430输出比特流,所述比特流包括按照针对每个最大编码单元确定的编码深度而编码的视频数据以及根据最大编码单元的关于编码深度和编码模式的信息。另外,输出单元1430将指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个插入到比特流中,以用于按照编码单元级别的独立解析或独立解码。

指示数据单元的独立解码的信息可基于数据单元是否被独立编码而被设置,指示数据单元的独立解析的信息可基于数据单元是否被独立插入到比特流中而被设置。

独立编码的数据单元可以是至少一个编码单元的组或者至少一个最大编码单元的组。对于独立编码的数据单元,指示编码单元的大小、至少一个编码单元的组的数量和至少一个最大编码单元的组的数量中的至少一个的信息可被编码并与其它数据单元独立地被插入到比特流中。

根据示例性实施例的数据单元的独立解析和独立解码可分别包括按照像条级别的独立解析和独立解码或者按照编码单元级别的独立解析和独立解码。因此,指示数据单元的独立解析的信息可包括指示按照像条级别的独立解析的信息和指示按照编码单元级别的独立解析的信息中的至少一个,指示数据单元的独立解码的信息可包括指示按照像条级别的独立解码的信息和指示按照编码单元级别的独立解码的信息中的至少一个。

指示数据单元的独立解析的信息和指示数据单元的独立解码的信息可被彼此独立地设置。因此,指示数据单元的独立解析的信息和指示数据单元的独立解码的信息的组合基于在编码期间是否执行独立解析或独立解码可以是(真,假)、(假,真)、(真,真)或(假,假)。

指示数据单元的独立解析的信息或指示数据单元的独立解码的信息可被存储在像条头或序列参数集中。

输出单元1430可将如下信息插入到比特流中:指示是否与部分区域的其它数据单元独立地执行所述部分区域解码的信息或者指示所述部分区域解码的目标数据单元的信息。

视频编码设备1400可基于附近信息独立地对编码单元进行编码。由于视频编码设备1400按照具有例如32×32、64×64、128×128、256×256等的大小的编码单元(大于现有技术的具有8×8或16×16的大小的宏块)对数据进行编码,故视频编码设备1400可通过使用包括在一个编码单元中的数据对当前编码单元执行预测编码。因此,视频编码设备1400能够按照编码单元级别执行独立编码,其中,对每个编码单元独立执行预测编码。

另外,如果存在能够对编码单元执行独立编码的多个算术处理器,则多个编码单元可被并行编码。因此,经由按照编码单元级别的独立编码,解码器可对编码单元执行独立解析或独立解码,并可对编码单元执行并行解析和并行解码。

图17是根据示例性实施例的根据按照编码单元级别的独立解析和独立解码的视频解码设备1500的框图。参照图17,视频解码设备1500包括接收器1510、解析器1520和解码器1530。接收器1510接收已编码的视频的比特流。接收器1510从接收的比特流提取指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个。

指示数据单元的独立解析的信息和指示数据单元的独立解码的信息被彼此单独设置,从而可被单独提取。指示数据单元的独立解析的信息和指示数据单元的独立解码的信息可从比特流的像条头或序列参数集中被提取。

可按照像条级别或编码单元级别定义独立解析或独立编码的执行。例如,指示数据单元的独立解析的信息和指示数据单元的独立解码的信息可分别包括指示按照像条级别的独立解析的信息和指示按照像条级别的独立解码的信息,或者指示按照编码单元级别的独立解析的信息和指示按照编码单元级别的独立解码的信息。

由于I像条、P像条和B像条的特性,I像条在某些情况下可参考附近信息以对当前编码单元执行帧内预测,P像条和B像条在某些情况下可不参考用于帧内预测的附近信息。因此,按照像条级别的独立解析或独立解码被用于P像条和B像条中时的性能会高于被用于I像条中时。

解析器1520通过基于指示数据单元的独立解析的信息根据数据单元对比特流进行解析来提取编码的信息。例如,如果关于考虑按照编码单元级别的解析而编码的视频的比特流被接收,则解析器1520对每个最大编码单元进行解析并提取相应的最大编码单元的已编码的视频数据、关于编码深度的信息和关于编码模式的信息。

与其它数据单元独立地解析或解码的数据单元可以是至少一个编码单元的组或至少一个最大编码单元的组。对于独立解析或解码的数据单元,指示编码单元的大小、至少一个编码单元的组的数量或至少一个最大编码单元的组的数量中的至少一个的信息也可从比特流中被独立解析并被提取。

解码器1530可基于由解析器1520提取的指示数据单元的独立解码的信息,对每个编码单元的已编码的视频数据(该视频数据由解析器1520解析和提取)进行独立解码。可基于根据最大编码单元的、关于与至少一个编码深度相应的每个编码单元的编码模式和编码深度的信息,按照与最大编码单元中的至少一个编码深度相应的每个编码单元,对已编码的视频数据进行解码。

算术处理器可根据数据单元执行独立解析或独立解码。因此,如果存在多个算术处理器,则算术处理器可连续和同时地对不同数据单元执行独立解析和独立解码。因此,可基于根据数据单元的独立解析和独立解码对多个数据单元执行并行处理。通过仅参考附近数据单元中的在当前数据单元之前根据并行处理被解析和解码的数据单元,来对当前数据单元进行解码。

基于串行解码的解码手段通过参考关于根据串行顺序被预先解码的先前编码单元的信息,对当前编码单元进行解码。因此,由视频解码设备1500接收的比特流可包括根据数据单元被独立编码的数据,从而通过使用基于编码单元的串行解码的解码手段可能不能原样恢复原始数据。

如果由于用于对编码单元执行预测解码的预定附近信息未在当前编码单元之前被解码而不可参考所述预定附近信息,则解码器1530可根据数据单元的独立解析或独立解码,通过搜索和参考可由当前编码单元参考的附近信息来对当前编码单元执行预测解码。

当解码器1530按照编码单元级别执行独立帧内预测时,如果用于对当前编码单元执行帧内预测的当前附近信息可能不被参考,则通过使用当前可被当前编码单元参考的附近信息(非当前附近信息)而计算的DC值可被确定为当前编码单元的预测值。

可选择地,当解码器1530按照编码单元级别执行独立帧内预测时,如果用于对当前编码单元执行帧内预测的当前附近信息可能不被参考,则可按照仅沿当前可被当前编码单元参考的附近信息(非当前附近信息)的帧内预测方向被压缩的帧内预测方向模式,来执行帧内预测。

因此,如果当前数据单元基于指示数据单元的独立解析的信息或指示数据单元的独立解码的信息被独立解析或解码,则当前附近信息受限于当前数据单元的独立解析和解码。非当前附近信息的数据单元可不被参考用于对当前数据单元执行帧间(帧内)预测/补偿。当解码器1530按照编码单元级别执行独立频域预测时,如果用于对当前编码单元执行频域预测的当前附近信息可能不被参考,则可通过使用当前可由当前编码单元参考的临近编码单元(非当前附近信息)来恢复当前编码单元的变换系数。

具体地,编码信息中的编码单元的频域预测模式可指示将由编码单元参考的当前附近信息的方向。因此,如果编码单元的当前附近信息可能不被参考,则解码器1530可根据改变为指示当前可由当前编码单元参考的临近编码单元(非当前附近信息)的方向的频域预测模式,来恢复当前编码单元的变换系数。

当解码器1530按照编码单元级别执行独立帧间预测,并且用于对当前编码单元执行帧间预测的临近编码单元的参考可能性改变时,关于基于改变的参考可能性可用的临近编码单元的运动矢量可被用于对当前编码单元进行帧间预测。

在当前编码单元的用于在按照编码单元级别的独立帧内预测之后执行后处理的当前附近信息未在当前编码单元之前被恢复时,解码器1530可通过使用当前编码单元的恢复的临近像素值中的当前可被参考的恢复的像素值(非当前附近信息),来对当前编码单元的帧内预测值执行后处理。

当解码器1530按照编码单元级别执行根据CABAC的独立熵解码时,如果当前编码单元的当前附近信息可能不被参考,则临近编码单元的上下文信息可能不被当前编码单元参考。

由于解码器1530对编码单元进行独立解码,故解码器1530能够仅对与已编码的视频数据的部分区域相应的至少一个最大编码单元进行解码。因此,仅已编码的视频的部分区域可被选择性地解码。如果解析器1520从比特流提取指示是否执行部分区域解码的信息或指示部分区域解码的目标数据单元的信息,则解码器1530可根据指示是否执行部分区域解码的信息确定是否执行部分区域解码,并与相应于指示部分区域解码的目标数据单元的信息的部分区域的其它编码单元独立地对与指示部分区域解码的目标数据单元的信息相应的部分区域的数据单元执行解码。例如,指示部分区域解码的目标数据单元的信息可包括将被部分解码的最大编码单元或编码单元的索引以及将被部分解码的最大编码单元或编码单元的范围中的至少一种。

另外,由于解码器1530并行地对编码单元进行独立解码,故按照编码单元级别并行解码的视频数据可按照最大编码单元级别被并行地恢复和再现。当显示装置再现大尺寸编码单元的像素时,时间会被延迟。此外,当显示装置串行地再现编码单元时,对于将被再现的画面,时间会被延迟到相当大的程度。因此,当显示装置按照编码单元独立地并行处理和再现视频数据(该视频数据由视频解码设备1500按照编码单元级别并行地解码和恢复)时,显示装置中的再现时间延迟可被减小。

由于视频解码设备1500按照大编码单元对数据进行解码,故各种类型的图像信息可被包括在一个编码单元中。因此,根据示例性实施例的视频编码设备1400和视频解码设备1500可通过与其它编码单元独立地使用关于一个编码单元的信息来执行编码和解码,以减小编码单元的时间或空间重叠的数据。因此,视频编码设备1400和视频解码设备1500分别按照编码单元级别根据编码单元独立地执行编码和解码。

图18是用于描述根据H.264标准编码和解码方法的按照像条级别的并行处理的略图。

H.264标准编码和解码方法支持按照帧或像条级别的并行处理。参照图18,I像条1610在不参考另一像条的情况下被解码。由于P像条1620参考I像条1610,故P像条1620在I像条1610之后被解码。由于B像条1630参考I像条1610和P像条1620,故B像条1630在I像条1610和P像条1620之后被解码。

由于B像条1640参考I像条1610和B像条1630,故B像条1640在I像条1610和B像条1630之后被解码,由于B像条1650参考P像条1620和B像条1630,故B像条1650在P像条1620和B像条1630之后被解码。彼此不参考的B像条1640和1650可被并行处理。由于这种被并行处理的B像条1640和1650不具有像条相关性,故B像条1640和1650可不管像条处理顺序而被处理。

图19是示出根据一个或多个示例性实施例的按照像条级别的并行处理和按照编码单元级别的并行处理的可能组合的表。

根据示例性实施例的视频编码设备1400和视频解码设备1500可以按照小于像条级别的级别对数据单元执行分层并行处理。另外,用于并行处理的独立解析和独立解码可被单独地设置。相似地,根据编码单元的并行解析和并行解码可被单独地设置。

参照图19的表,分层并行处理不仅可采用情况1(其中,如在H.264标准编码和解码方法中,并行处理仅能够用于像条级别),还可如情况2和情况3中所示选择性地组合按照编码单元级别的并行解析或按照编码单元级别的并行解码。虽然在图19中未示出,但是视频编码设备1400和视频解码设备1500可实现按照像条级别的并行处理、按照编码单元的并行解析和按照编码单元的并行解码全部被采用的情况。

另外,视频解码设备1500还可选择性地执行按照编码单元的并行解析和并行解码而不执行按照像条级别的并行处理,如情况4或情况5。

解析是用于在比特流中读取符号(symbol)的操作,解码是产生恢复采样的操作。因此,按照编码单元级别,解码的算术操作和吞吐量比解析的算术操作和吞吐量更多。因此,考虑在吞吐量到并行处理方面的性能提高,可在串行解析和并行解码被执行的情况下采用情况3。

另外,如果由于按照编码单元级别的独立解码而涉及预测的图像的质量下降,则可在按照编码单元级别执行并行解析和串行解码级别的情况下采用情况1或情况2。

因此,视频编码设备1400可在考虑用于编码和解码的硬件性能、用户需求、传输环境等中的至少一个的同时选择性地执行编码单元的独立编码和并行编码。另外,视频解码设备1500可基于是否对已编码的视频数据执行了独立编码或并行编码来对已编码的视频数据执行独立解析或独立解码以及并行解析或并行解码。

图20是用于描述根据示例性实施例的按照编码单元级别的并行处理的示图。参照图20,根据示例性实施例的视频编码设备1400和视频解码设备1500可将画面1800划分为最大编码单元,并根据编码单元独立地处理最大编码单元。视频编码设备1400可按照编码单元级别独立地对最大编码单元进行编码,或可同时对预定数量的最大编码单元并行地进行编码。例如,可根据并行编码在一个周期同时对三个最大编码单元1810到1830进行编码。

在接收到按照编码单元级别被独立地编码的比特流的情况下,视频解码设备1500独立地对编码单元进行解析或解码。例如,当根据并行编码而被编码的比特流将被解码时,可对关于三个最大编码单元1810到1830的数据执行并行解析或并行解码。

图21是用于描述根据示例性实施例的按照数据单元的分层并行处理的示图。

根据示例性实施例的视频编码设备1400可根据像条独立地设置按照编码单元级别的并行处理。例如,参照图21,由于I像条1910、P像条1920和B像条1930将彼此参考,故I像条1910、P像条1920和B像条1930不被并行处理。另外,由于B像条1940和1950彼此不参考,故B像条1940和1950不被并行处理。因此,I像条1910被第一个解码,P像条1920被第二个解码,B像条1930被第三个解码,并且B像条1940和1950关于彼此被第四个解码。

另外,即使按照像条级别执行并行处理,也可根据分层并行处理按照编码单元级别选择性地执行串行处理或并行处理。例如,可按照编码单元级别对I像条1910和P像条1920执行串行解析和串行解码,并可按照编码单元级别对B像条1930到B像条1950执行并行解析和并行解码。

另外,如上所述,可按照编码单元级别单独地设置并行解析和并行解码。也就是说,可针对像条按照编码单元级别选择并行解析和串行解码的组合或串行解析和并行解码的组合。

图22是用于描述根据示例性实施例的根据按照编码单元级别的独立解码的可能的部分解码的示图。

参照图22,根据示例性实施例的视频编码设备1400按照编码单元级别对视频数据2010进行独立编码。根据示例性实施例的视频解码设备1500接收按照编码单元独立地编码的比特流,并通过按照编码单元级别对比特流进行独立地解析或解码来恢复视频数据2010。

因此,如果视频解码设备1500仅对视频数据2010的部分区域2015进行解码,则与部分区域2015相应的最大编码单元可被独立地解码和恢复。因此,由视频解码设备1500恢复的结果图像2020可包括部分恢复的部分区域2025。

图23是根据示例性实施例的根据按照编码单元级别的并行解码的按照编码单元的可能的并行显示的示图。

由根据示例性实施例的视频编码设备1400按照编码单元级别编码的视频数据可由根据示例性实施例的视频解码设备1500每预定数量的编码单元地并行解码。显示装置接收并行解码和恢复的编码单元的视频信号,并并行地再现编码单元。

例如,参照图23,视频解码设备1500按照编码单元级别独立地解码和恢复包括最大编码单元A1到A4、B1到B4、C1到C4、D1到D4和E1到E4的画面2100。

根据当前示例性实施例的视频解码设备1500可并行地解码和恢复在水平方向上的五个连续最大编码单元。最大编码单元A1到E1的组2110可在第一处理周期被解码和恢复,最大编码单元A2到E2的组2120可在第二处理周期被解码和恢复,最大编码单元A3到E3的组2130可在第三处理周期被解码和恢复,最大编码单元A4到E4的组2140可在第四处理周期被解码和恢复。这里,为了再现画面2100,显示装置可按照每五个连续最大编码单元并行恢复的顺序来再现恢复的最大编码单元A1到A4、B1到B4、C1到C4、D1到D4和E1到E4。

可选择地,在另一示例性实施例中,视频解码设备1500可并行地解码和恢复在垂直方向上的四个连续最大编码单元。在这种情况下,最大编码单元A1到A4的组可在第一处理周期被解码和恢复,最大编码单元B1到B4的组可在第二处理周期被解码和恢复,最大编码单元C1到C4的组可在第三处理周期被解码和恢复,最大编码单元D1到D4的组可在第四处理周期被解码和恢复,最大编码单元E1到E4的组可在第五处理周期被解码和恢复。这里,为了再现画面2100,显示装置可按照每四个连续最大编码单元并行恢复的顺序来再现恢复的最大编码单元A1到A4、B1到B4、C1到C4、D1到D4和E1到E4。

图24是根据示例性实施例的序列参数集2200的语法,其中,指示按照编码单元级别的独立解析的信息和指示按照编码单元级别的独立解码的信息被插入到序列参数集2200的语法中。这里使用的sequence_parameter_set表示关于当前图像像条的序列参数集2200的语法。在图24中,指示按照编码单元级别的独立解析的信息和指示按照编码单元级别的独立解码的信息被插入到关于当前图像像条的序列参数集2200的语法中。

此外,在图24中,picture_width指示输入图像的高度,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_motion_partition_flag)。指示各种操作的可用性的语法使得能够通过定义在对当前像条进行编码和解码时是否使用相应的操作来进行有效编码和解码。

具体地,可根据use_adaptive_loop_filter_flag和use_quadtree_adaptive_loop_filter_flag在序列参数集2200中定义自适应环路滤波器的滤波器长度(即,alf_filter_length)、自适应环路滤波器的类型(即,alf_filter_type)、用于量化自适应环路滤波器的系数的参考值Q比特(即,alf_qbits)、自适应环路滤波器中的色彩分量的数量(即,alf_num_color)。

由根据示例性实施例的视频编码设备1400和视频解码设备1500使用的、关于编码单元的深度、编码手段和操作模式之间的对应关系的信息可包括与编码单元的深度(即,uiDepth)相应的帧间预测的操作模式(即,mvp_mode[uiDepth])以及指示树重要映射中的重要映射的类型的操作模式(即,significant_map_mode[uiDepth])。也就是说,根据编码单元的深度的帧间预测与相应的操作模式之间对应关系或使用树重要映射的编码和解码与相应的操作模式之间的对应关系可在序列参数集2200中被设置。

输入采样的比特深度(即,input_sample_bit_depth)和内部采样的比特深度(即,internal_sample_bit_depth)也可在序列参数集2200中被设置。

视频解码设备1500可通过读取序列参数集2200来提取use_independent_cu_decode_flag和use_independent_cu_parse_flag,并在相应的序列中确定是否按照编码单元级别执行独立解析或独立解码。

由视频编码设备1400和视频解码设备1500设置、编码和解码的use_independent_cu_decode_flag和use_independent_cu_parse_flag可被插入到图24的序列参数集2200中,并也可以以像条、帧、画面或GOP为单位被设置、编码和解码。

当use_independent_cu_parse_flag包括在像条头中时,如果use_independent_cu_parse_flag是“真”,则可在相应的像条中按照编码单元级别执行独立解析,如果use_independent_cu_parse_flag是“假”,则可在相应的像条中执行现有技术的串行解析。

另外,当use_independent_cu_decode_flag包括在像条头中时,如果use_independent_cu_decode_flag是“真”,则可在相应的像条中按照编码单元级别执行独立解码,如果use_independent_cu_decode_flag是“假”,则可在相应的像条中执行现有技术的串行解码。

图25是用于描述根据示例性实施例的用于按照编码单元级别的独立解码的帧内预测的示图。

参照图25,根据示例性实施例的视频解码设备1500可在考虑关于当前编码单元2310的临近编码单元2320、2330和2340的方向的同时对当前编码单元2310执行任意方向的帧内预测。任意方向的帧内预测根据使用当前编码单元2310的临近编码单元2320、2330和2340的恢复采样的外插来计算当前编码单元2310的帧内预测值。

根据按照编码单元级别的独立解码,分别布置在当前编码单元2310的边界2335和2345上的临近编码单元2330和2340的恢复采样可能不被参考。如果由于临近编码单元2330还未被解码而不可参考在当前编码单元2310与当前编码单元2310上面的临近编码单元2330之间的边界2335上的像素值,则可仅通过参考在当前编码单元2310与当前编码单元2310左面的临近编码单元2340之间的边界2345上的像素值来执行帧内预测。例如,边界2345上的像素值的DC值可被计算为当前编码单元2310的帧内预测值。

相似地,如果由于临近编码单元2340还未被解码而不可参考在当前编码单元2310与临近编码单元2340之间的边界2345上的像素值,则可通过参考在当前编码单元2310与临近编码单元2330之间的边界2335上的像素值来执行帧内预测。例如,边界2335上的像素值的DC值可被计算为当前编码单元2310的帧内预测值。

另外,如果由于临近编码单元2330和2340还未被解码而不可参考临近编码单元2330和2340两者,则预定DC值可被选择作为当前编码单元2310的帧内预测值,或者当前编码单元2310的帧内预测模式被被设置为不可预测模式。

可选择地,根据示例性实施例的视频编码设备1400可独立地对当前编码单元2310执行任意方向的帧内预测,而不参考当前编码单元2310的临近编码单元2320、2330和2340。

视频编码设备1400可执行频域预测。根据频域预测,频域中当前编码单元的变换系数的预测值可通过使用临近编码单元的恢复采样而被计算。因此,视频解码设备1500能够执行频域中的预测解码。频域中当前编码单元的变换系数可通过使用临近编码单元的恢复采样而被恢复。

根据被参考的附近信息的方向来定义频域预测模式。例如,当参考垂直方向的附近信息时,频域预测模式(即,FDP_mode)被设置为0(即,FDP_mode=0),当参考水平方向的附近信息时,频域预测模式被设置为1(即,FDP_mode=1)。另外,通过示例的方式,在遵循DC帧内预测模式的编码单元中,频域预测模式被设置为2(即,FDP_mode=2),当参考垂直方向和水平方向的附近信息两者时,频域预测模式被设置为3(即,FDP_mode=3)。

为了使视频编码设备1400通过使用附近信息恢复当前编码单元的变换系数,在当前编码单元之前解码的先前编码单元的恢复采样被参考。然而,如果用于恢复当前编码单元的变换系数的参考信息是根据按照编码单元级别的独立编码而可能不被参考的采样,则视频解码设备1500可使用附近信息中的可使用的恢复采样。

例如,如果独立的上编码单元的变换系数根据按照编码单元级别的独立编码而当前可能不被参考,则视频编码设备1400将频域预测模式改变为FDP_mode=1(参考水平方向的附近信息)以参考关于左编码单元的信息。相似地,如果左编码单元的变换系数可能不被参考,则视频编码设备1400将频域预测模式改变为FDP_mode=0(参考垂直方向的附近信息)以参考上编码单元的变换系数。

然而,如果当前编码单元是最大编码单元,则频域预测不被执行。

如果use_independent_cu_decode_flag或use_independent_cu_parse_flag被确定为“真”,则按照编码单元级别采用独立解析或独立解码,视频解码设备1500可按照编码单元级别根据独立频域预测执行解码。然而,当前附近信息根据按照编码单元级别的独立解析或独立解码可能不能被参考。

被视频编码设备1400插入到比特流中并发送的编码信息可包括频域预测模式(即,FDP_mode),其中,所述频域预测模式(即,FDP_mode)被调节以指示可被参考用于按照编码单元级别独立执行的频域预测的附近信息。因此,视频解码设备1500可从比特流提取编码信息并根据编码信息中的频域预测模式按照编码单元级别独立地执行频域预测解码。

图26是用于描述根据示例性实施例的使用附近恢复采样的帧内预测的后处理的示图。

当未考虑按照编码单元级别的独立编码时,根据示例性实施例的视频编码设备1400可通过将当前编码单元的临近编码单元的恢复采样用作多参数来执行多参数帧内预测,该多参数帧内预测对当前编码单元的帧内预测值执行后处理。

参照图26,当前编码单元2400的白色圆形像素是帧内预测值的采样,当前编码单元2400周围的区域2405中的黑色圆形像素是附近恢复采样。在操作S2411,通过使用上附近恢复采样和左附近恢复采样对左上像素进行后处理。当前编码单元2400的后处理的恢复采样以白色方形像素示出。

如操作S2412到S2416中所示,通过使用当前像素的上附近恢复采样或左附近恢复采样(黑色圆形像素)或当前编码单元2400的后处理的恢复采样(白色方形像素)对当前像素的帧内预测值进行后处理。

图27是用于描述根据示例性实施例的用于按照编码单元级别的独立解码的帧内预测的后处理的示图。

当根据示例性实施例的视频编码设备1400按照编码单元级别执行独立编码时,当前编码单元的临近编码单元的恢复采样可能不被参考,因此用于多参数帧内预测的参数可被改变。

参照图27,当前编码单元2450的白色圆形像素是帧内预测值的采样,当前编码单元2450周围的区域2455中的黑色圆形像素是附近恢复采样。这里,区域2455中的附近恢复采样根据按照编码单元级别的独立编码可能不被参考。

这里,由于左上像素不能参考上附近恢复采样和左附近恢复采样,故视频编码设备1400在操作S2461将当前DC值确定为后处理值。另外,可通过使用分别在右像素和下像素下面的后处理的左上像素和下像素来对后处理的左上像素的右像素和下像素进行后处理。

相似地,如操作S2462到S2465所示,可通过使用当前编码单元2450中的当前像素的上、左和下像素中的后处理的恢复采样来对当前像素的帧内预测值进行后处理。

如果当前编码单元的附近恢复采样根据按照编码单元级别的独立解析或独立解码可能不被参考,则根据示例性实施例的视频解码设备1500可使用当前编码单元中的当前像素的上、左和下像素中的后处理的恢复采样,以对当前编码单元的帧内预测值进行后处理。

图28是用于描述针对根据示例性实施例的按照编码单元级别的独立解码和根据示例性实施例的按照编码单元级别的独立解析的,遵循CABAC方法的熵编码和熵解码的示图。

为了执行遵循CABAC方法的熵编码和熵解码,根据示例性实施例的视频编码设备1400可参考当前编码单元的像素、在当前编码单元与上编码单元之间的边界上的像素以及在当前编码单元与左编码单元之间的边界上的像素。

当按照编码单元级别执行独立解码时,视频编码设备1400不能参考当前编码单元的临近编码单元的恢复采样以执行遵循CABAC方法的熵编码。

例如,参照图28,在上编码单元(CUa)2520与当前编码单元(CUcurrent)2510之间的边界2525以及在左编码单元Cub 2530与CUcurrent 2510之间的边界2535可被参考,以根据按照编码单元级别的串行编码对CUcurrent2510执行熵编码。

然而,根据按照编码单元级别的独立编码,边界2525和边界2535的像素可能不被参考用于级别对CUcurrent 2510执行熵编码。另外,甚至根据按照编码单元级别的熵解码,边界2525和边界2535上的恢复采样可能不被参考用于级别对CUcurrent 2510执行熵解码。

图29是示出根据示例性实施例的用于独立解析或独立解码的视频编码方法的流程图。参照图29,在操作2610,将当前画面划分为至少一个最大编码单元。在操作2620,通过对随着深度加深而产生的至少一个划分区域进行编码,针对所述至少一个最大编码单元中的每一个确定至少一个编码深度和相应的编码单元。根据所述方法,不参考附近信息而对当前编码单元进行编码的按照编码单元级别的独立编码是可能的。另外,在在同时支持多个算术处理器的算术环境中,独立编码(其中,基于附近信息对每个编码单元进行独立编码)和并行编码(其中,并行地对多个编码单元同时进行编码)可被实现。

在操作2630,可针对每个最大编码单元输出包括已编码的视频数据以及根据最大编码单元的关于编码深度和编码模式的信息的比特流。指示数据单元的独立解析的信息、指示数据单元的独立解码的信息中的至少一个可被插入到比特流中。具体地,指示是否支持按照编码单元级别的独立解析或独立解码的信息可被插入到比特流并与比特流一起被输出。

图30是示出根据示例性实施例的,根据独立解析或独立解码的视频解码方法的流程图。参照图30,在操作2710,接收已编码的视频的比特流,从比特流中提取指示数据单元的独立解析的信息和指示数据单元的独立解码的信息中的至少一个。可从像条头、序列参数集或根据编码单元的信息中提取指示数据单元的独立解析的信息和指示数据单元的独立解码的信息。

数据单元的独立解析或独立编码可以是按照像条级别或按照编码单元级别的独立解析或独立编码。

在操作2720,基于指示数据单元的独立解析的信息对比特流进行解析,从比特流提取根据最大编码单元编码的视频数据和编码信息。编码信息可包括关于相应最大编码单元中的至少一个编码深度的信息以及关于根据所述至少一个编码深度的编码单元的编码模式的信息。例如,如果指示数据单元的独立解析的信息是“真”,则可在不参考附近信息的情况下对当前编码单元的符号进行解析。

在操作2730,基于指示数据单元的独立解码的信息和根据最大编码单元的关于编码深度和编码模式的信息,根据已编码的视频数据的最大编码单元对根据至少一个编码深度的编码单元进行解码。如果指示数据单元的独立解码的信息定义按照编码单元级别的独立解码,则可在不参考关于临近编码单元的信息的情况下对根据最大编码单元的已编码的视频数据进行解码。

附近信息根据独立解码可能是不可使用的,其中,所述附近信息被参考以通过使用解码手段(该解码手段使用串行解码)对当前编码单元进行解码。这里,用于当前编码单元的参考信息可被改变,以通过参考当前可使用的信息对当前编码单元执行预测解码。

根据示例性实施例,由于可使用大编码单元,故可在不参考附近信息的情况下对当前编码单元执行预测编码和解码。另外,由于硬件性能提高并且硬件成本降低,故可实现使用多个算术处理器的解码器。因此,由于每个算术处理器对不同编码单元按照编码单元级别同时执行独立解析和独立解码,故可按照编码单元级别执行并行解码。

尽管不局限于此,但是一个或多个示例性实施例可被编写为计算机程序并可在使用计算机可读记录介质执行所述程序的通用数字计算机中被实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)。此外,尽管不是在所有示例性实施例中需要,但是视频编码设备100或1400和视频解码设备200或1500的一个或多个单元可包括执行存储在计算机可读介质中的计算机程序的处理器或微处理器。

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

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