用于对视频进行解码的方法和设备转让专利

申请号 : CN201510004895.0

文献号 : CN104486623B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈建乐千岷洙李再出闵正惠郑海庆金壹求李相来李教爀

申请人 : 三星电子株式会社

摘要 :

公开了一种用于对视频进行解码的方法和设备,所述方法包括:将当前画面划分为至少一个最大编码单元;通过基于与最大编码单元的区域被划分的次数成比例地加深的深度对至少一个划分区域进行编码,来确定用于输出根据所述至少一个划分区域的最终编码结果的编码深度,其中,通过根据深度对最大编码单元的区域进行划分来获得所述至少一个划分区域;根据所述至少一个最大编码单元,输出构成根据所述至少一个划分区域的最终编码结果的图像数据,以及关于编码深度和预测模式的编码信息。

权利要求 :

1.一种对视频进行解码的方法,所述方法包括:

从编码视频的比特流解析关于编码单元的最大尺寸的信息,并根据关于编码单元的最大尺寸的信息来确定从图像划分的多个最大编码单元;

从所述比特流解析关于编码深度的信息和编码模式;

通过使用关于编码深度的信息在最大编码单元之中确定具有分层结构的编码单元,并通过使用编码模式来确定用于对编码单元进行预测的至少一个预测单元,其中,所述至少一个预测单元具有与编码单元的尺寸相等的尺寸,或者所述至少一个预测单元通过对编码单元的高度和宽度中的至少一个进行划分而被形成;

通过基于编码模式使用所述至少一个预测单元执行预测,对图像进行解码,其中:关于编码深度的信息包括划分信息,其中,所述划分信息指示编码单元之中的当前深度的编码单元是否被划分为更低深度的编码单元,编码模式包括关于编码单元之中的当前深度的编码单元的分区类型的信息以及关于当前深度的编码单元的预测模式的信息,根据所述划分信息,所述多个最大编码单元之中的最大编码单元被分层划分为编码深度的编码单元,当所述划分信息指示当前深度的编码单元被划分时,通过对当前深度的编码单元的高度和宽度进行划分来将当前深度的编码单元划分为更低深度的编码单元,当所述划分信息指示当前深度的编码单元不被划分时,使用关于分区类型的信息来确定预测单元,当关于预测模式的信息指示帧间模式时,对预测单元执行运动补偿,当关于预测模式的信息指示帧内模式时,对预测单元执行帧内预测。

2.如权利要求1所述的方法,其中,编码单元的宽度×高度是64×64、32×32、16×16和

8×8之一。

说明书 :

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

[0001] 本申请是向中国知识产权局提交的申请日为2010年8月13日、申请号为201080036192.1、发明名称为“用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备”的申请的分案申请。

技术领域

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

背景技术

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

发明内容

[0004] 技术问题
[0005] 示例性实施例提供了基于各种大小的分层编码单元对图像进行的编码和解码。
[0006] 技术方案
[0007] 根据示例性实施例的一方面,提供了一种对视频进行编码的方法,所述方法包括:将当前画面划分为至少一个最大编码单元;基于与每个最大编码单元的区域被划分的次数成比例地加深的深度,通过对至少一个划分区域进行编码来确定用于输出根据所述至少一个划分区域的最终编码结果的编码深度,其中,通过根据深度对所述至少一个最大编码单元中的每一个的区域进行划分来获得所述至少一个划分区域;根据每个最大编码单元,输出构成根据所述至少一个划分区域的最终编码结果的图像数据,以及关于编码深度和预测模式的编码信息。
[0008] 有益效果
[0009] 当图像数据具有高分辨率和大数据量时,可通过使用编码单元的大小和编码模式,有效地解码并恢复图像数据,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特性自适应地确定所述编码单元的大小和所述编码模式。

附图说明

[0010] 通过参照附图详细地描述本发明的示例性实施例,示例性实施例的以上和其它特征将变得更清楚,其中:
[0011] 图1是根据示例性实施例的用于对视频进行编码的设备的框图;
[0012] 图2是根据示例性实施例的用于对视频进行解码的设备的框图;
[0013] 图3是用于描述根据示例性实施例的编码单元的概念的示图;
[0014] 图4是根据示例性实施例的基于编码单元的图像编码器的框图;
[0015] 图5是根据示例性实施例的基于编码单元的图像解码器的框图;
[0016] 图6是示出根据示例性实施例的根据深度的更深编码单元以及分区(partition)的示图;
[0017] 图7是用于描述根据示例性实施例的编码单元和变换单元之间的关系的示图;
[0018] 图8是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图;
[0019] 图9是根据示例性实施例的根据深度的更深编码单元的示图;
[0020] 图10至图12是用于描述根据示例性实施例的编码单元、预测单元和变换单元之间的关系的示图;
[0021] 图13是用于根据表1的编码模式信息描述编码单元、预测单元或分区,和变换单元之间的关系的示图;
[0022] 图14是示出根据示例性实施例对视频进行编码的方法的流程图;
[0023] 图15是示出根据示例性实施例对视频进行解码的方法的流程图。
[0024] 最佳实施方式
[0025] 根据示例性实施例的一方面,提供了一种对视频进行编码的方法,所述 方法包括:将当前画面划分为至少一个最大编码单元;通过基于与每个最大编码单元的区域被划分的次数成比例地加深的深度对至少一个划分区域进行编码来确定用于输出根据所述至少一个划分区域的最终编码结果的编码深度,其中,通过根据深度对所述至少一个最大编码单元中的每一个的区域进行划分来获得所述至少一个划分区域;根据每个最大编码单元,输出构成根据所述至少一个划分区域的最终编码结果的图像数据,以及关于编码深度和预测模式的编码信息。
[0026] 编码单元可由最大大小和深度来表征。
[0027] 深度指示编码单元被分层划分的次数,并且随着深度加深,根据深度的更深编码单元可从最大编码单元被划分以获得最小编码单元。深度从更高深度被加深到更低深度。随着深度加深,最大编码单元被划分的次数增加,最大编码单元被划分的可能的总次数相应于最大深度。编码单元的最大大小和最大深度可被预先确定。
[0028] 所述方法还可包括:预先确定所述至少一个最大编码单元的最大深度和最大大小,最大深度指示所述至少一个最大编码单元的高和宽被分层划分的总次数。
[0029] 可针对所述至少一个最大编码单元中的每一个,基于根据至少一个深度的更深编码单元对图像数据进行编码,随着深度加深,编码单元可从每个最大编码单元被分层划分。
[0030] 确定编码深度的步骤可包括:根据针对每个最大编码单元的根据深度的更深编码单元,根据与当前深度相应的编码单元以及通过对与当前深度相应的编码单元的高和宽中的至少一个进行划分而获得的分区,执行预测编码。
[0031] 确定编码深度的步骤可包括:根据针对最大编码单元的根据深度的更深编码单元,对具有比与当前深度相应的编码单元的高和宽更小的高或宽的数据单元执行变换。
[0032] 确定编码深度的步骤还可包括:通过比较根据每个最大编码单元的多个深度进行编码的结果,确定具有最小编码误差的编码深度,并且确定以下项中的至少一个:每个与编码深度相应的编码单元中执行预测编码的数据单元的分区类型和预测模式、与编码深度相应的编码单元中执行变换的数据单元的大小。
[0033] 可根据与编码深度相应的编码单元独立地确定预测模式,预测模式包括 帧内模式、帧间模式和跳过模式中的至少一个。
[0034] 关于编码模式的信息可包括以下项中的至少一个:针对每个最大编码单元的编码深度、关于根据与编码深度相应的编码单元的执行预测编码的数据单元的分区类型的信息、关于根据与编码深度相应的编码单元的分区的预测模式的信息、以及关于根据与编码深度相应的编码单元的执行变换的数据单元的大小的信息。
[0035] 所述方法还可包括:对划分信息进行编码,划分信息指示是否根据每个最大编码单元中的多个深度对更低深度而不是当前深度的编码单元执行编码。所述方法还可包括:如果基于当前深度的划分信息,对更低深度的编码单元执行编码,则对通过对与当前深度相应的编码单元进行划分而获得的每个部分编码单元重复执行编码。
[0036] 最大编码单元的深度可以是最高深度,构成根据深度的划分区域的根据深度的更深编码单元可以是通过对更高深度的编码单元的高和宽划分两次而获得的编码单元。与当前深度相应的分区可以是通过对与当前深度相应的数据单元的高和宽中的至少一个划分两次而获得的数据单元。
[0037] 可通过使用基于拉格朗日乘子的率失真优化方法来测量编码误差。
[0038] 可根据通过对与当前深度相应的编码单元划分两次或对与当前深度相应的编码单元的高和宽中的至少一个划分两次而获得的数据单元来执行帧内模式下的预测编码和帧间模式下的预测编码。
[0039] 根据示例性实施例的另一方面,提供了一种对视频进行解码的方法,所述方法包括:接收并解析编码视频的比特流;从比特流提取分配给至少一个最大编码单元的当前画面的图像数据以及关于根据所述至少一个最大编码单元的编码深度和编码模式的信息;基于关于针对每个最大编码单元的编码深度和编码模式的编码信息,对所述至少一个最大编码单元中的每一个中的图像数据进行解码,其中,深度与每个最大编码单元的区域被划分的次数成比例地加深,通过在对当前画面进行编码的同时对每个最大编码单元的至少一个划分区域进行编码,根据所述至少一个划分区域输出最终编码结果的深度被确定为针对每个最大编码单元的至少一个编码深度,其中,通过根据深度对每个最大编码单元的区域进行划分来获得所述至少一个划分区域。
[0040] 所述方法还可包括:从比特流提取关于每个最大编码单元的最大深度的信息和关于每个最大编码单元的最大大小的信息,最大深度指示每个最大编 码单元的高和宽被分层划分的总次数。
[0041] 解码的步骤可包括:基于提取的关于每个最大编码单元的编码模式的信息中的关于编码深度的信息以及关于用于执行预测解码的数据单元的分区类型和预测模式的信息,对每个最大编码单元的与编码深度相应的编码单元执行预测编码。
[0042] 解码的步骤可包括:基于关于每个最大编码单元的编码深度和用于执行反变换的数据单元的大小的信息,针对最大编码单元对每个与编码深度相应的编码单元执行反变换。
[0043] 所述方法还可包括:从比特流提取划分信息,划分信息指示是否根据每个最大编码单元的多个深度对与更低深度而不是当前深度相应的编码单元执行解码。
[0044] 根据示例性实施例的另一方面,提供了一种用于对视频进行编码的设备,所述设备包括:最大编码单元划分器,用于将当前画面划分为至少一个最大编码单元;编码单元确定器,用于通过基于与每个最大编码单元的区域被划分的次数成比例地加深的深度,对至少一个划分区域进行编码来确定用于输出根据所述至少一个划分的区域的最终编码结果的编码深度,其中,通过根据深度对所述至少一个最大编码单元中的每一个的区域进行划分来获得所述至少一个划分区域;输出单元,根据每个最大编码单元,用于输出构成根据所述至少一个划分区域的最终编码结果的图像数据,以及关于编码深度和预测模式的编码信息。
[0045] 根据示例性实施例的另一方面,提供了一种用于对视频进行解码的设备,所述设备包括:接收器,用于接收并解析编码视频的比特流;图像数据和编码信息提取器,用于从比特流提取被分配给至少一个最大编码单元的当前画面的图像数据以及关于根据所述至少一个最大编码单元的编码深度和编码模式的信息;解码器,用于基于关于针对所述至少一个最大编码单元中的每一个的编码深度和编码模式的信息,对每个最大编码单元中的图像数据进行解码,其中,深度与每个最大编码单元的区域被划分的次数成比例地加深,通过在对当前画面进行编码的同时对每个最大编码单元的至少一个划分区域进行编码,根据所述至少一个划分区域输出最终编码结果的深度被确定为针对每个最大编码单元的至少一个编码深度,其中,通过根据深度对每个最大编码单元的区域进行划分来获得所述至少一个划分区域。
[0046] 根据示例性实施例的另一方面,提供了一种计算机可读记录介质,所述计算机可读记录介质记录有用于执行对视频进行编码的方法的程序。
[0047] 根据示例性实施例的另一方面,提供了一种计算机可读记录介质,所述计算机可读记录介质记录有用于执行对视频进行解码的方法的程序。

具体实施方式

[0048] 以下,将参照附图更充分地描述示例性实施例,其中,示例性实施例在附图中示出。在示例性实施例中,“单元”可表示取决于其上下文的大小的单位,或可不表示取决于其上下文的大小的单位。
[0049] 以下,“编码单元”是根据示例性实施例的编码数据单元(encoding data unit)以及被编码的数据单元(encoded data unit),其中,图像数据在编码器侧按照所述编码数据单元被编码,被编码的图像数据在解码器侧按照被编码的数据单元被解码。此外,“编码深度(coded depth)”指示编码单元被编码的深度。
[0050] 以下,“图像”可表示视频的静止图像或运动图像(即,视频本身)。
[0051] 图1是根据示例性实施例的视频编码设备100的框图。
[0052] 视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。
[0053] 最大编码单元划分器110可基于针对图像的当前画面的最大编码单元对当前画面进行划分。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据示例性实施例的最大编码单元可以是具有32×32、64×64、128×128、256×256等大小的数据单元,其中,数据单元的形状是宽和高为2的平方的方形。图像数据可根据所述至少一个最大编码单元被输出到编码单元确定器120。
[0054] 根据示例性实施例的编码单元可由最大大小和深度来表征。深度表示编码单元从最大编码单元被空间划分的次数。因此,随着深度加深或增加,根据深度的更深编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个深度相应的编码单元的大小随着最大编码单元的深度加深而减小,因此,与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。
[0055] 如上所述,当前画面的图像数据根据编码单元的最大大小被划分为最大 编码单元,所述最大编码单元中的每一个可包括根据深度被划分的更深编码单元。由于根据示例性实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层划分。
[0056] 可预先确定编码单元的最大深度和最大大小,所述最大深度和最大大小限定最大编码单元的高和宽被分层划分的总次数。
[0057] 编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分区域进行编码,并确定用于输出根据所述至少一个划分区域的最终编码的图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元以根据深度的更深编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。因此,最终输出与确定的编码深度相应的编码单元的编码图像数据。此外,与编码深度相应的编码单元可被视为被编码的编码单元。
[0058] 确定的编码深度和根据确定的编码深度的编码图像数据被输出到输出单元130。
[0059] 基于与等于或低于最大深度的至少一个深度相应的更深编码单元对最大编码单元中的图像数据进行编码,并基于更深编码单元中的每一个来比较对图像数据进行编码的结果。在比较更深编码单元的编码误差之后,可选择具有最小编码误差的深度。可为每个最大编码单元选择至少一个编码深度。
[0060] 随着编码单元根据深度被分层划分,并随着编码单元的数量增加,最大编码单元的大小被划分。此外,即使在一个最大编码单元中多个编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每一个划分至更低的深度。因此,即使当图像数据被包括在一个最大编码单元中时,图像数据也根据深度被划分到多个区域,在一个最大编码单元中编码误差可根据区域而不同,因此,编码深度可根据图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
[0061] 因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据示例性实施例的“具有树结构的编码单元”包括最大编码单元中所包括的所有更深编码单元中与被确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,编码深度的编码单元可根据深度被分层 地确定,在不同的区域中,编码深度的编码单元可被独立地确定。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。
[0062] 根据示例性实施例的最大深度是与从最大编码单元到最小编码单元的划分次数相关的索引。根据示例性实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据示例性实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、1、2、3和4的5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。
[0063] 可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于或小于最大深度的深度的更深编码单元来执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。
[0064] 由于每当最大编码单元根据深度被划分时更深编码单元的数量增加,因此可针对随着深度加深而产生的所有更深编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。
[0065] 视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的大小或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
[0066] 例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择与编码单元不同的数据单元以对编码单元中的图像数据执行预测编码。
[0067] 为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与更低深度相应的编码单元的编码单元)执行预测编码。以下,不再被划分并且变成用于预测编码的基本单元的编码单元现在将被称为“预测单元”。通过对预测单元进行划分所获得的分区(partition)可包括通过对预测单元的高和宽中的至少一个进行划分所获得的预测单元或数据单元。
[0068] 例如,当2N×2N(其中,N是正整数)的编码单元不再被划分,并且变成2N×2N的预测单元时,分区的大小可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高或宽进行对称划分所获得的对称分区、通过对预测单元的高或宽进行不对称划分(诸如1:n或n:1)所获得的分区、通过对预测单元进行几何划分所获得的分区以及具有任意形状的分区。
[0069] 预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可针对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。此外,可仅针对2N×2N的分区执行跳过模式。针对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
[0070] 视频编码设备100还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,对编码单元中的图像数据执行变换。
[0071] 为了在编码单元中执行变换,可基于具有小于或等于编码单元的大小的数据单元来执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。
[0072] 用作变换的基础的数据单元将被称为“变换单元”。还可在变换单元中设置指示通过对编码单元的高和宽进行划分以达到变换单元的划分次数的变换深度。例如,在2N×2N的当前编码单元中,当变换单元的大小也为2N×2N时,变换深度可以是0,在当前编码单元的高和宽中的每一个被划分为两等份,总共被划分为4^1个变换单元,从而变换单元的大小是N×N时,变换深度可以是1,在当前编码单元的高和宽中的每一个被划分为四等份,总共被划分为4^2个变换单元,从而变换单元的大小是N/2×N/2时,变换深度可以是2。例如,可根据分层树结构来设置变换单元,其中,根据变换深度的分层特性,更高变换深度的变换单元被划分为四个更低变换深度的变换单元。
[0073] 与编码单元类似,编码单元中的变换单元可被递归地划分为大小更小的区域,从而可以以区域为单位独立地确定变换单元。因此,可根据具有根据变换深度的树结构的变换,来划分编码单元中的残差数据。
[0074] 根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要关于与预测编码和变换有关的信息的信息。因此,编码单元确定器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的大小。
[0075] 稍后将参照图3至图12详细描述根据示例性实施例的最大编码单元中的根据树结构的编码单元以及确定分区的方法。
[0076] 编码单元确定器120可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的更深编码单元的编码误差。
[0077] 输出单元130在比特流中输出最大编码单元的图像数据以及关于根据编码深度的编码模式的信息,其中,所述图像数据基于由编码单元确定器120确定的至少一个编码深度被编码。
[0078] 通过对图像的残差数据进行编码来获得编码图像数据。
[0079] 关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型、预测模式和变换单元的大小的信息。
[0080] 可通过使用根据深度的划分信息来定义关于编码深度的信息,关于编码深度的信息指示是否针对更低深度而不是当前深度的编码单元来执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并被输出,因此划分信息可被定义为不将当前编码单元划分至更低深度。可选地,如果当前编码单元的当前深度不是编码深度,则针对更低深度的编码单元来执行编码,因此划分信息可被定义为划分当前编码单元以获得更低深度的编码单元。
[0081] 如果当前深度不是编码深度,则针对被划分为更低深度的编码单元的编码单元来执行编码。由于在当前深度的一个编码单元中存在更低深度的至少一个编码单元,因此针对更低深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。
[0082] 由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。此外,由于图像数据根据深度被分层划分,因此最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模式的信息。
[0083] 因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。
[0084] 根据示例性实施例的最小单元是通过将构成最低深度的最小编码单元划分4次所获得的矩形数据单元。可选地,最小单元可以是最大矩形数据单元,所述最大矩形数据单元可包括在最大编码单元中所包括的所有编码单元、预 测单元、分区单元和变换单元中。
[0085] 例如,通过输出单元130输出的编码信息可被分为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区的大小的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息。此外,关于根据画面、像条或GOP定义的编码单元的最大大小的信息以及关于最大深度的信息可被插入比特流的头或SPS(序列参数集)中。
[0086] 在视频编码设备100中,更深编码单元可以是通过将作为上一层的更高深度的编码单元的高或宽划分两次所获得的编码单元。换句话说,在当前深度的编码单元的大小为2N×2N时,更低深度的编码单元的大小可以是N×N。此外,具有2N×2N的大小的当前深度的编码单元可包括最多4个更低深度的编码单元。
[0087] 因此,视频编码设备100可通过基于考虑当前画面的特征所确定的最大编码单元的大小和最大深度,针对每个最大编码单元确定具有最佳形状和最佳大小的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式和变换中的任意一个来针对每个最大编码单元执行编码,因此可考虑各种图像大小的编码单元的特征来确定最佳编码模式。
[0088] 因此,如果以现有技术的宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块的数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩信息并且数据压缩效率降低。然而,通过使用视频编码设备100,在考虑图像的大小的同时增加编码单元的最大大小时,由于在考虑图像的特征的同时调整编码单元,因此可提高图像压缩效率。
[0089] 图2是根据示例性实施例的视频解码设备200的框图。
[0090] 视频解码设备200包括接收器210、图像数据和编码信息提取器220以及图像数据解码器230。用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图1和视频编码设备100描述的那些术语相同。
[0091] 接收器210接收并解析编码视频的比特流。图像数据和编码信息提取器220从解析的比特流提取每个编码单元的编码图像数据,并将提取的图像数据输出到图像数据解码器230,其中,所述编码单元具有根据每个最大编码 单元的树结构。图像数据和编码信息提取器220可从关于当前画面的头或者SPS中提取关于当前画面的编码单元的最大大小的信息。
[0092] 此外,图像数据和编码信息提取器220从解析的比特流提取关于具有根据每个最大编码单元的树结构的编码单元的编码深度和编码模式的信息。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换句话说,比特流中的图像数据被划分为最大编码单元,从而图像数据解码器230针对每个最大编码单元对图像数据进行解码。
[0093] 可针对关于与编码深度相应的至少一个编码单元的信息,来设置关于根据最大编码单元的编码深度和编码模式的信息,并且关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式和变换单元的大小的信息。此外,根据深度的划分信息可被提取作为关于编码深度的信息。
[0094] 由图像数据和编码信息提取器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于这样的编码深度和编码模式的信息:所述编码深度和编码模式被确定用于当编码器(诸如视频编码设备100)根据每个最大编码单元针对根据深度的每个更深编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。
[0095] 由于关于编码深度和编码模式的编码信息可被分配给相应编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可提取关于根据预定数据单元的编码深度和编码模式的信息。被分配有关于编码深度和编码模式的相同信息的预定数据单元可被推断是包括在相同最大编码单元中的数据单元。
[0096] 图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码,来恢复当前画面。换句话说,图像数据解码器230可基于提取的关于包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的分区类型、预测模式和变换单元的信息,来对编码图像数据进行解码。解码处理可包括预测(所述预测包括帧内预测和运动补偿)和反变换。可根据反正交变换或反整数变换的方法来执行反变换。
[0097] 图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的 分区类型和预测模式的信息,根据每个编码单元的分区和预测模式执行帧内预测或运动补偿。
[0098] 此外,图像数据解码器230可基于关于根据编码深度的编码单元的变换单元的大小的信息,根据编码单元中的每个变换单元执行反变换,从而根据最大编码单元执行反变换。
[0099] 图像数据解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度中不再被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用关于与编码深度相应的每个编码单元的预测单元的分区类型、预测模式和变换单元的大小的信息,对当前最大编码单元中与每个编码深度相应的至少一个编码单元的编码数据进行解码,并输出当前最大编码单元的图像数据。
[0100] 换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集来收集包含编码信息(所述编码信息包括相同的划分信息)的数据单元,收集的数据单元可被视为是将由图像数据解码器230以相同的编码模式进行解码的一个数据单元。
[0101] 视频解码设备200可获得关于当针对每个最大编码单元递归执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,可考虑分辨率和图像数据量来确定编码单元的最大大小。
[0102] 因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的大小和编码模式来对图像数据进行有效地解码和恢复,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特征来自适应地确定所述编码单元的大小和所述编码模式。
[0103] 现在将参照图3至图13描述根据示例性实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。
[0104] 图3是用于描述根据示例性实施例的编码单元的概念的示图。
[0105] 编码单元的大小可被表示为宽×高,并且可以是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的分区。
[0106] 在视频数据310中,分辨率为1920×1080,编码单元的最大大小为64,并且最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大大小为64,并且最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大大小为16,并且最大深度为1。图3中示出的最大深度指示从最大编码单元到最小解码单元的划分总次数。
[0107] 如果分辨率高或数据量大,则编码单元的最大大小可以较大,从而不仅提高了编码效率,还精确地反映出图像的特征。因此,具有比视频数据330更高的分辨率的视频数据310和320的编码单元的最大大小可以是64。
[0108] 由于第一视频数据310的最大深度是2,因此,由于通过对最大编码单元划分两次,深度被加深到两层,因此视频数据310的编码单元315可包括具有64的长轴大小的最大编码单元以及具有32和16的长轴大小的编码单元。同时,由于视频数据330的最大深度是1,因此,由于通过对最大编码单元划分一次,深度被加深到一层,因此视频数据330的编码单元335可包括具有16的长轴大小的最大编码单元以及具有8的长轴大小的编码单元。
[0109] 由于视频数据320的最大深度为3,因此,由于通过对最大编码单元划分三次,深度被加深到3层,因此视频数据320的编码单元325可包括具有64的长轴大小的最大编码单元以及具有32、16和8的长轴大小的编码单元。随着深度加深,可精确地表示详细信息。
[0110] 图4是根据示例性实施例的基于编码单元的图像编码器400的框图。
[0111] 图像编码器400执行视频编码设备100的编码单元确定器120的操作以对图像数据进行编码。换句话说,帧内预测器410在帧内模式下对当前帧405中的编码单元执行帧内预测,运动估计器420和运动补偿器425在帧间模式下通过使用当前帧405和参考帧495,对当前帧405中的编码单元执行帧间估计和运动补偿。
[0112] 从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反量化器460和反变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块单元480和环路滤波单元490进行后处理之后被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。
[0113] 为了将图像编码器400应用在视频编码设备100中,图像编码器400的 所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元来执行操作。
[0114] 具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大大小和最大深度的同时,确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的大小。
[0115] 图5是根据示例性实施例的基于编码单元的图像解码器500的框图。
[0116] 解析器510从比特流505中解析将被解码的编码图像数据以及解码所需要的关于编码的信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过反变换器540被恢复为空间域中的图像数据。
[0117] 帧内预测器550针对空间域中的图像数据,在帧内模式下对编码单元执行帧内预测,运动补偿器560通过使用参考帧585在帧间模式下对编码单元执行运动补偿。
[0118] 经过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580进行后处理之后被输出为恢复的帧595。此外,通过去块单元570和环路滤波单元580进行后处理的图像数据可被输出为参考帧585。
[0119] 为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,图像解码器500可执行在解析器510之后执行的操作。
[0120] 为了将图像解码器500应用在视频解码设备200中,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、反变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)针对每个最大编码单元基于具有树结构的编码单元执行操作。
[0121] 具体地,帧内预测器550和运动补偿器560基于具有树结构的每个编码单元的分区和预测模式执行操作,反变换器540基于每个编码单元的变换单元的大小执行操作。
[0122] 图6是示出根据示例性实施例的根据深度的更深编码单元以及分区的示图。
[0123] 视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特征。可根据图像的特征自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大大小来确定根据深度的更深编码单元的大小。
[0124] 在根据示例性实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度均为64,并且最大深度为4。由于深度沿分层结构600的纵轴加深,因此更深编码单元的高度和宽度均被划分。此外,沿分层结构600的横轴示出作为用于每个更深编码单元的预测编码的基础的预测单元和分区。
[0125] 换句话说,编码单元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是最小编码单元。
[0126] 编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果大小为64×64且深度为0的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,大小为64×64的分区610、大小为64×32的分区612、大小为32×64的分区614或大小为32×32的分区616。
[0127] 类似地,大小为32×32且深度为1的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,大小为32×32的分区620、大小为32×16的分区622、大小为16×32的分区624和大小为16×16的分区626。
[0128] 类似地,大小为16×16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即,包括在编码单元630中的大小为16×16的分区、大小为16×8的分区632、大小为8×16的分区634和大小为8×8的分区636。
[0129] 类似地,大小为8×8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即,包括在编码单元640中的大小为8×8的分区、大小为8×4的分区642、大小为4×8的分区634和大小为4×4的分区646。
[0130] 大小为4×4且深度为4的编码单元650是最小编码单元和最低深度的编码单元。编码单元650的预测单元仅被分配给大小为4×4的分区。
[0131] 为了确定构成最大编码单元610的编码单元的至少一个编码深度,视频 编码设备100的编码单元确定器120针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
[0132] 随着深度加深,以相同范围中和相同大小包括数据的根据深度的更深编码单元的数量增加。例如,覆盖包括在一个与深度1相应的编码单元中的数据需要四个与深度2相应的编码单元。因此,为了比较相同数据的根据深度的编码结果,与深度1相应的编码单元和四个与深度2相应的编码单元均被编码。
[0133] 为了针对深度中的当前深度执行编码,可通过沿分层结构600的横轴,针对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选地,可通过随着深度沿分层结构600的纵轴加深针对每个深度执行编码来比较根据深度的最小编码误差,从而搜索最小编码误差。编码单元610中具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
[0134] 图7是用于描述根据示例性实施例的编码单元710和变换单元720之间的关系的示图。
[0135] 视频编码设备100或200针对每个最大编码单元,根据具有小于或等于最大编码单元的大小的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择编码期间用于变换的变换单元的大小。
[0136] 例如,在视频编码设备100或200中,如果编码单元710的大小是64×64,则可通过使用大小为32×32的变换单元720来执行变换。
[0137] 此外,可通过对小于64×64的大小为32×32、16×16、8×8和4×4的变换单元中的每一个执行变换,来对大小为64×64的编码单元710的数据进行编码,随后可选择具有最小编码误差的变换单元。
[0138] 图8是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图。
[0139] 视频编码设备100的输出单元130可对用于与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的大小的信息820进行编码和发送,作为关于编码模式的信息。
[0140] 信息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之一。
[0141] 信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
[0142] 信息820指示当针对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧内变换单元828。
[0143] 视频解码设备200的图像数据和编码信息提取器220可根据每个更深编码单元提取和使用用于解码的信息800、810和820。
[0144] 图9是根据示例性实施例的根据深度的更深编码单元的示图。
[0145] 划分信息可被用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为更低深度的编码单元。
[0146] 用于对深度为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的分区可包括不对称分区、具有预定形状的分区和具有几何形状的分区。
[0147] 根据每个分区类型,对一个大小为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的分区执行跳过模式下的预测编码。
[0148] 比较包括分区类型912至918中的预测编码的编码的误差,在分区类型中确定最小编码误差。如果在分区类型912至916之一中编码误差最小,则预测单元910可不被划分到更低深度。
[0149] 如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920对分区类型918进行划分,对深度为2且大小为N_0×N_0的编码单元930重 复执行编码,以搜索最小编码误差。
[0150] 用于对深度为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。
[0151] 如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950对分区类型948进行划分,对深度为2且大小为N_2×N_2的编码单元960重复执行编码,以搜索最小编码误差。
[0152] 当最大深度为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。
[0153] 可在分区类型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)的分区重复执行预测编码,以搜索具有最小编码误差的分区类型。
[0154] 即使分区类型998具有最小编码误差,但由于最大深度为d,因此深度为d-1的编码单元CU_(d-1)不再被划分到更低深度,用于构成当前最大编码单元900的编码单元的编码深度被确定为d-1,当前最大编码单元900的分区类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d,并且具有最低深度d-1的最小编码单元980不再被划分到更低深度,因此不设置用于最小编码单元980的划分信息。
[0155] 数据单元999可以是针对当前最大编码单元的“最小单元”。根据示例性实施例的最小单元可以是通过对最小编码单元980划分4次而获得的矩形数据单元。通过重复执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度,以确定编码深度,并将相应的分区类型和预测模式设置为编码深度的编码模式。
[0156] 这样,在1至d的所有深度中比较根据深度的最小编码误差,具有最小 编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关于编码模式的信息而被编码和发送。此外,由于编码单元从深度0被划分到编码深度,因此仅编码深度的划分信息被设置为0,除了编码深度之外的深度的划分信息被设置为1。
[0157] 视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息,以对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息来将划分信息为0的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。
[0158] 图10至图12是用于描述根据示例性实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
[0159] 编码单元1010是最大编码单元中与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是编码单元1010中的每一个的预测单元的分区,变换单元1070是编码单元1010中的每一个的变换单元。
[0160] 当编码单元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。
[0161] 在预测单元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的预测单元和分区小于或等于每个编码单元。
[0162] 对小于编码单元1052的数据单元中的变换单元1070中的编码单元1052的图像数据执行变换或反变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在大小和形状方面与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052不同。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元分别执行帧内预测、运动估计、运动补偿、变换和反变换。
[0163] 因此,对最大编码单元的每个区域中具有分层结构的编码单元中的每一个递归地执行编码,以确定最佳编码单元,从而可获得具有递归树结构的编 码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的大小的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。
[0164] 表1
[0165]
[0166] 视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收的比特流提取关于具有树结构的编码单元的编码信息。
[0167] 划分信息指示当前编码单元是否被划分为更低深度的编码单元。如果当前深度d的划分信息为0,则当前编码单元不再被划分到更低深度的深度是编码深度,因此可针对编码深度定义关于分区类型、预测模式和变换单元的大小的信息。如果当前编码单元根据划分信息被进一步划分,则对更低深度的四个划分的编码单元独立地执行编码。
[0168] 预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分区类型中定义帧内模式和帧间模式,仅在大小为2N×2N的分区类型中定义跳过模式。
[0169] 关于分区类型的信息可指示通过对预测单元的高或宽进行对称划分而获得的大小为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的不对称分区类型。
[0170] 变换单元的大小可被设置为帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的大小可以是2N×2N,这是当前编码单元的大小。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获得变换单元。此外,如果大小为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的大小可以是N×N,如果当前编码单元的分区类型是不对称分区类型,则变换单元的大小可以是N/2×N/2。
[0171] 关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括:包括相同编码信息的预测单元和最小单元中的至少一个。
[0172] 因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。
[0173] 因此,如果基于邻近数据单元的编码信息来预测当前编码单元,则可直接参考和使用与当前编码单元邻近的更深编码单元中的数据单元的编码信息。
[0174] 可选地,如果基于邻近数据单元的编码信息来预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,可参考搜索到的邻近编码单元来预测当前编码单元。
[0175] 图13是用于根据表1的编码模式信息描述编码单元、预测单元或分区、和变换单元之间的关系的示图。
[0176] 最大编码单元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。
[0177] 当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的划分信息(TU大小标记)为0,则设置大小为2N×2N的变换单元1342,如果TU大小标记为1,则设置大小为N×N的变换单元1344。
[0178] 当分区类型被设置为不对称(即,分区类型1332、1334、1336或1338)时,如果TU大小标记为0,则设置大小为2N×2N的变换单元1352,如果TU大小标记为1,则设置大小为N/2×N/2的变换单元1354。
[0179] 参照图13,TU大小标记是具有值0或1的标记,但是TU大小标记不限于1比特,在TU大小标记从0增加的同时,变换单元可被分层划分以具有树结构。
[0180] 在这种情况下,根据示例性实施例,可通过使用变换单元的TU大小标记以及变换单元的最大大小和最小大小来表示实际上已使用的变换单元的大小。根据示例性实施例,视频编码设备100能够对最大变换单元大小信息、最小变换单元大小信息和最大TU大小标记进行编码。对最大变换单元大小信息、最小变换单元大小信息和最大TU大小标记进行编码的结果可被插入SPS。根据示例性实施例,视频解码设备200可通过使用最大变换单元大小信息、最小变换单元大小信息和最大TU大小标记来对视频进行解码。
[0181] 例如,如果当前编码单元的大小是64×64并且最大变换单元大小是32×32,则当TU大小标记为0时,变换单元的大小可以是32×32,当TU大小标记为1时,变换单元的大小可以是16×16,当TU大小标记为2时,变换单元的大小可以是8×8。
[0182] 作为另一示例,如果当前编码单元的大小是32×32并且最小变换单元大小是32×32,则当TU大小标记为0时,变换单元的大小可以是32×32。这里,由于变换单元的大小不能够小于32×32,因此TU大小标记不能够被设置为除了0以外的值。
[0183] 作为另一示例,如果当前编码单元的大小是64×64并且最大TU大小标记为1,则TU大小标记可以是0或1。这里,TU大小标记不能被设置为除了0或1以外的值。
[0184] 因 此 ,如 果 定 义 在 T U 大 小 标 记 为 0 时 最 大 T U 大 小 标 记 为“MaxTransformSizeIndex”,最小变换单元大小为“MinTransformSize”,并且变 换单元大小为“RootTuSize”,则随后可通过等式(1)来定义可在当前编码单元中确定的当前最小变换单元大小“CurrMinTuSize”:
[0185] CurrMinTuSize=max(MinTransformSize,RootTuSize/(2∧MaxTransformSizeIndex))   (1)
[0186] 与可在当前编码单元中确定的当前最小变换单元大小“CurrMinTuSize”相比,当TU大小标记为0时的变换单元大小“RootTuSize”可指示可在系统中选择的最大变换单元大小。在等式(1)中,“RootTuSize/(2∧MaxTransformSizeIndex)”指示当TU大小标记为0时,变换单元大小“RootTuSize”被划分了与最大TU大小标记相应的次数时的变换单元大小,“MinTransformSize”指示最小变换大小。因此,“RootTuSize/(2∧MaxTransformSizeIndex)”和“MinTransformSize”中较小的值可以是可在当前编码单元中确定的当前最小变换单元大小“CurrMinTuSize”。
[0187] 根据示例性实施例,最大变换单元大小RootTuSize可根据预测模式的类型而改变。
[0188] 例如,如果当前预测模式是帧间模式,则随后可通过使用以下的等式(2)来确定“RootTuSize”。在等式(2)中,“MaxTransformSize”指示最大变换单元大小,“PUSize”指示当前预测单元大小。
[0189] RootTuSize=min(MaxTransformSize,PUSize)……(2)
[0190] 也就是说,如果当前预测模式是帧间模式,则当TU大小标记为0时的变换单元大小“RootTuSize”可以是最大变换单元大小和当前预测单元大小中较小的值。
[0191] 如果当前分区单元的预测模式是帧内模式,则可通过使用以下的等式(3)来确定“RootTuSize”。在等式(3)中,“PartitionSize”指示当前分区单元的大小。
[0192] RootTuSize=min(MaxTransformSize,PartitionSize)……(3)
[0193] 也就是说,如果当前预测模式是帧内模式,则当TU大小标记为0时的变换单元大小“RootTuSize”可以是最大变换单元大小和当前分区单元的大小中较小的值。
[0194] 然而,根据分区单元中的预测模式的类型而改变的当前最大变换单元大小“RootTuSize”仅是示例,并且不限于此。
[0195] 图14是示出根据示例性实施例的对视频进行编码的方法的流程图。
[0196] 在操作1210,当前画面被划分为至少一个最大编码单元。指示可能的划分次数的总数的最大深度可被预先确定。
[0197] 在操作1220,通过对至少一个划分区域进行编码来确定用于输出根据所述至少一个划分区域的最终编码结果的编码深度,并确定根据树结构的编码单元,其中,通过根据深度对每个最大编码单元的区域进行划分来获得所述至少一个划分区域。
[0198] 每当深度加深时,最大编码单元被空间划分,从而最大编码单元被划分为更低深度的编码单元。每个编码单元可通过与邻近编码单元在空间上独立地划分而被划分为另一更低深度的编码单元。对根据深度的每个编码单元重复执行编码。
[0199] 此外,针对每个更深编码单元确定根据具有最小编码误差的分区类型的变换单元。为了确定每个最大编码单元中具有最小编码误差的编码深度,可在所有根据深度的更深编码单元中测量和比较编码误差。
[0200] 在操作1230,针对每个最大编码单元输出构成根据编码深度的最终编码结果的编码图像数据以及关于编码深度和编码模式的信息。关于编码模式的信息可包括关于编码深度或划分信息的信息、关于预测单元的分区类型、预测模式和变换单元的大小的信息。关于编码模式的编码信息以及编码图像数据可被发送到解码器。
[0201] 图15是示出根据示例性实施例的对视频进行解码的方法的流程图。
[0202] 在操作1310,接收并解析编码视频的比特流。
[0203] 在操作1320,从解析的比特流提取被分配给最大编码单元的当前画面的编码图像数据以及关于根据最大编码单元的编码深度和编码模式的信息。每个最大编码单元的编码深度是每个最大编码单元中具有最小编码误差的深度。在对每个最大编码单元进行编码时,基于通过根据深度对每个最大编码单元进行分层划分而获得的至少一个数据单元来对图像数据进行编码。
[0204] 根据关于编码深度和编码模式的信息,最大编码单元可被划分为具有树结构的编码单元。具有树结构的编码单元中的每一个被确定为与编码深度相应的编码单元,并被最佳编码以输出最少编码误差。因此,可通过在确定根据编码单元的至少一个编码深度之后对编码单元中的每条编码图像数据进行解码来提高图像的编码和解码效率。
[0205] 在操作1330,基于关于根据最大编码单元的编码深度和编码模式的信息 来对每个最大编码单元的图像数据进行解码。解码的图像数据可通过再现设备被再现,可被存储在存储介质中,或可通过网络被发送。
[0206] 示例性实施例可被编写为计算机程序,并可在使用计算机可读记录介质来执行所述程序的通用数字计算机中被实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光学记录介质(例如,CD-ROM或DVD等)。
[0207] 虽然已参照本发明的示例性实施例具体示出并描述了本发明,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可对其进行形式和细节上的各种改变。示例性实施例应被视为仅是说明的意义,而不是为了限制的目的。因此,本发明的范围不是由本发明的详细描述来限定,而是由权利要求来限定,并且在所述范围内的所有差别将被解释为包括在本发明中。