对图像进行解码的方法和设备与流程

文档序号:12498175阅读:282来源:国知局
对图像进行解码的方法和设备与流程

技术领域

本发明涉及一种用于对视频进行编码和解码的方法和设备,更具体地,涉及一种用于有效地对当前预测单元的运动信息进行编码和解码的方法和设备。



背景技术:

由于最近高清晰度视频内容增加,对于具有比根据现有技术的视频编解码器(诸如,MPEG-4H.264/MPEG-4高级视频编码(AVC))更高的编码效率的视频编解码器的需求正在增加。

运动补偿是用于去除视频信号中的时间冗余的技术。通过运动补偿,作为原始信号和由运动矢量指示的参考信号之间的差的残差信号被发送,从而增加视频编码的压缩效率。一般来说,作为通过运动补偿获得的每个块的编码的结果,每个块的运动矢量和残差值被发送到解码器端。由于各个块的运动矢量占用编码的比特流的相当一部分,因此关于分配给各个块的运动矢量的信息将被减少以增加压缩效率。

为了减少根据运动矢量的编码的传输开销,在根据现有技术的MPEG-2编解码器中,先前块的运动矢量用作当前块的运动矢量预测,在诸如MPEG-4H.264/MPEG-4AVC的编解码器中,与当前块的左侧、上侧和右上侧相邻的先前编码的块的运动矢量的中值用作运动矢量预测。



技术实现要素:

技术问题

本发明提供一种用于有效地对预测单元的运动信息进行编码的方法和设备。

技术方案

通过使用与当前预测单元时间或空间相关的预测单元的运动信息来产生预定的固定数量的运动信息候选。

有益效果

根据本发明的实施例,由于使用了固定数量的运动信息候选,因此与基于周边信息确定运动信息的方法或单独地发送运动信息的方法相比,可执行独立的处理。即使产生了误差,也由于运动信息候选的数量固定,因此在解析阶段的误差健壮性增加。

附图说明

通过参照附图详细描述本发明的示例性实施例,本发明的以上和其他特征和优点将变得更清楚,其中:

图1是根据本发明的实施例的视频编码设备的框图;

图2是根据本发明的实施例的视频解码设备的框图;

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

图4是根据本发明的实施例的基于具有分层结构的编码单元的视频编码器的框图;

图5是根据本发明的实施例的基于具有分层结构的编码单元的视频解码器的框图;

图6是示出根据本发明的实施例的根据深度的较深层编码单元和分区(partition)的示图;

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

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

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

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

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

图14a是示出根据本发明的实施例的运动信息编码设备的结构的框图;

图14b是示出根据本发明的另一实施例的运动信息编码设备的结构的框图;

图15是示出根据本发明的实施例的图14a的运动矢量预测候选产生器的详细结构的框图;

图16示出根据本发明的实施例的在获得当前预测单元的运动矢量预测时使用的周边预测单元;

图17是根据本发明的实施例的用于解释确定经缩放的空间运动矢量预测候选的操作的参考示图;

图18是用于解释根据本发明的实施例的通过对周边预测单元的运动矢量进行缩放来产生当前预测单元的运动矢量预测候选的方法的参考示图;

图19是用于解释根据本发明的实施例的产生时间运动矢量预测的操作的参考示图;

图20a和图20b示出根据本发明的实施例的指示当前预测单元的运动矢量预测的索引信息;

图21a和图21b是根据本发明的实施例的用于解释从合并候选去除的周边预测单元的参考示图;

图22是用于解释根据本发明的实施例的去除包括在合并候选中的运动信息的冗余的操作的参考示图;

图23至图25是用于解释根据本发明的实施例的将选择性的合并候选添加到合并候选的操作的参考示图;

图26是根据本发明的实施例的对运动信息进行编码的方法的流程图;

图27a是示出根据本发明的实施例的运动信息解码设备的结构的框图;

图27b是示出根据本发明的另一实施例的运动信息解码设备的结构的框图;

图28是根据本发明的实施例的对运动矢量进行解码的方法的流程图。

最佳模式

根据本发明的一方面,提供一种对运动信息进行编码的方法,所述方法包括:通过对当前预测单元执行运动预测来获得关于当前预测单元的运动信息;通过使用与当前预测单元时间或空间相关的预测单元的运动信息来获得运动信息候选;当包括在运动信息候选中的运动信息的数量小于预定数量n(n是整数)时,将可选择的运动信息添加到运动信息候选,从而包括在运动信息候选中的运动信息的数量达到预定数量n;从n个运动信息候选中确定关于当前预测单元的运动信息;将指示所述运动信息的索引信息编码为当前预测单元的运动信息。

根据本发明的另一方面,提供一种用于对运动信息进行编码的设备,所述设备包括:运动信息候选产生器,用于通过使用与当前预测单元时间或空间相关的预测单元的运动信息来获得运动信息候选,并且当包括在运动信息候选中的运动信息的数量小于预定数量n(n是整数)时,将可选择的运动信息添加到运动信息候选,从而包括在运动信息候选中的运动信息的数量达到预定数量n;运动信息编码器,用于从n个运动信息候选中确定关于当前预测单元的运动信息,并且将指示所述运动信息的索引信息编码为当前预测单元的运动信息。

根据本发明的另一方面,提供一种对运动信息进行解码的方法,所述方法包括:通过使用与当前预测单元时间相关的预测单元的运动信息和与当前预测单元空间相关的预测单元的运动信息,来获得运动信息候选;当包括在运动信息候选中的运动信息的数量小于预定数量n(n是整数)时,将可选择的运动信息添加到运动信息候选,从而包括在运动信息候选中的运动信息的数量达到数量n;从比特流获得指示包括在运动信息候选中的n个运动信息之中的运动信息之一的索引;通过使用由获得的索引指示的运动信息来获得当前预测单元的运动信息。

根据本发明的另一方面,提供一种用于对运动信息进行解码的设备,所述设备包括:运动信息候选产生器,用于通过使用与当前预测单元时间相关的预测单元的运动信息以及与当前预测单元空间相关的预测单元的运动信息来获得运动信息候选,当包括在运动信息候选中的运动信息的数量小于预定数量n(n是整数)时,将可选择的运动信息添加到运动信息候选,从而包括在运动信息候选中的运动信息的数量达到预定数量n;熵解码器,用于从比特流获得指示包括在运动信息候选中的n个运动信息之中的一个运动信息的索引;运动信息解码器,用于通过使用由获得的索引指示的运动信息来获得当前预测单元的运动信息。

具体实施方式

以下,将参照附图来详细描述本发明的实施例。

图1是根据本发明的实施例的视频编码设备100的框图。

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

最大编码单元划分器110可基于作为最大尺寸的编码单元的最大编码单元来划分图像的当前画面。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据本发明的实施例的最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是具有2的若干次方的宽度和长度并且大于8的正方形。图像数据可以以至少一个最大编码单元为单位被输出到编码单元确定器120。

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

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

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

编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分区域进行编码,并根据所述至少一个划分区域确定用于输出最终编码的图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元对根据深度的较深层编码单元中的图像数据进行编码并选择具有最小编码误差的深度,来确定编码深度。根据最大编码器的确定的编码深度和编码图像数据被输出到输出单元130。

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

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

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

根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元执行划分的次数相关的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元执行划分的总次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度是0时,最大编码单元被划分一次的编码单元的深度可被设置为1,并且最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度为0、1、2、3和4的5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。

可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的多个深度的较深层编码单元来执行预测编码和变换。

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

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

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

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

例如,当2N×2N(其中,N是正整数)的编码单元不再被划分并且变为2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高度或宽度进行对称划分而获得的对称分区、通过对预测单元的高度或宽度进行不对称划分(诸如,1:n或n:1)而获得的分区、通过对预测单元进行几何划分而获得的分区以及具有任意形状的分区。

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

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

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

用作变换的基础的数据单元现将被称为“变换单元”。与编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的区域,从而变换单元可以以区域为单位被独立地确定。因此,编码单元中的残差数据可根据具有根据变换深度的树结构的变换单元被划分。

还可在变换单元中设置指示通过对编码单元的高度和宽度进行划分以达到变换单元而执行划分的次数的变换深度。例如,在2N×2N的当前编码单元中,当变换单元的尺寸是2N×2N时,变换深度可以是0,当变换单元的尺寸是N×N时,变换深度可以是1,当变换单元的尺寸是N/2×N/2时,变换深度可以是2。也就是说,也可根据变换深度设置具有树结构的变换单元。

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

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

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

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

编码的图像数据可以是图像的残差数据的编码结果。

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

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

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

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

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

根据本发明的实施例的最小单元是通过将组成最低深度的最小编码单元划分为4份而获得的矩形数据单元。可选择地,最小单元可以是可被包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中的最大矩形数据单元。

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

在视频编码设备100中,较深层编码单元可以是通过将作为上一层的更高深度的编码单元的高度或宽度除以二而获得的编码单元。换句话说,在当前深度的编码单元的尺寸是2N×2N时,更低深度的编码单元的尺寸是N×N。另外,尺寸为2N×2N的当前深度的编码单元可包括最多4个更低深度的编码单元。

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

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

图2是根据本发明的实施例的视频解码设备200的框图。

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

接收器210接收编码视频的比特流以对语法元素进行解析。图像数据和编码信息提取器220通过对解析的语法元素执行熵解码来基于具有结构的编码单元提取指示编码图像数据的语法元素,并且将提取的语法元素输出到图像数据解码器230。也就是说,图像数据和编码信息提取器220执行以0和1的比特串的形式接收的语法元素的熵解码,从而恢复语法元素。

另外,图像数据和编码信息提取器220从解析的比特流针对根据每个最大编码单元的具有树结构的编码单元提取关于编码深度的信息、编码模式、颜色分量信息、预测模式信息等。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。比特流中的图像数据被划分为最大编码单元,从而图像数据解码器230可针对每个最大编码单元对图像数据进行解码。

可针对关于与编码深度相应的至少一个编码单元的信息来设置关于根据最大编码单元的编码深度和编码模式的信息,并且关于编码模式的信息可包括关于以下内容的信息:与编码深度相应的相应编码单元的分区类型、预测模式以及变换单元的尺寸。另外,根据深度的划分信息可被提取为关于编码深度的信息。

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

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

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

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

另外,图像数据解码器230可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元执行反变换,以便根据最大编码单元执行反变换。

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

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

视频解码设备200可获得关于当针对每个最大编码单元递归执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元的编码图像数据进行解码。

因此,即使图像数据具有高分辨率和大数据量,也可通过使用从编码器接收的关于最佳编码模式的信息,通过使用根据图像数据的特性自适应地确定的编码单元的尺寸和编码模式来有效地对图像数据进行解码和恢复。

现将参照图3至图13描述根据本发明的实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。

图3是用于描述根据本发明的实施例的分层编码单元的概念的示图。

编码单元的尺寸可按照宽度×高度来表示,并可以是64×64、32×32、16×16和8×8。64×64的编码单元可被划分为64×64、64×32、32×64或32×32的分区,32×32的编码单元可被划分为32×32、32×16、16×32或16×16的分区,16×16的编码单元可被划分为16×16、16×8、8×16或8×8的分区,8×8的编码单元可被划分为8×8、8×4、4×8或4×4的分区。

关于视频数据310,设置分辨率是1920×1080,编码单元的最大尺寸是64,并且最大深度是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的框图。

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

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

为了使视频编码器400被应用到视频编码设备100中,视频编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)不得不在考虑每个最大编码单元的最大深度的同时,基于具有树结构的多个编码单元中的每个编码单元执行操作。

具体地讲,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时,确定具有树结构的多个编码单元中的每个编码单元的分区和预测模式,并且变换器430确定具有树结构的多个编码单元的每个编码单元中的变换单元的尺寸。

图5是根据本发明的实施例的基于编码单元的视频解码器500的框图。

解析器510从比特流505解析将被解码的编码图像数据以及解码所需的关于编码的信息。编码的图像数据通过解码器520和反量化器530被输出为反量化的数据。反变换器540将反量化的数据恢复为空间域中的图像数据。帧内预测器550针对空间域中的图像数据在帧内模式下对编码单元执行帧内预测,运动补偿器560通过使用参考帧585在帧间模式下对编码单元执行运动补偿。

经过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580被后处理之后被输出为恢复的帧595。另外,经过去块单元570和环路滤波单元580被后处理的图像数据可被输出为参考帧585。

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

帧内预测器550和运动补偿器560针对每个具有树结构的编码单元确定分区和预测模式,并且反变换器540必须针对每个编码单元确定变换单元的尺寸。

图6是示出根据本发明的实施例的根据深度的较深层编码单元和分区的示图。

视频编码设备100和视频解码设备200使用分层的编码单元以考虑图像的特性。编码单元的最大高度、最大宽度和最大深度可根据图像的特性被自适应地确定,或者可由用户不同地设置。根据深度的较深层编码单元的尺寸可根据编码单元的预定最大尺寸被确定。

在根据本发明的实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度都是64,并且最大深度是4。由于深度沿着分层结构600的纵轴加深,因此较深层编码单元的高度和宽度都被划分。另外,作为用于每个较深层编码单元的预测编码的基础的预测单元和分区沿分层结构600的横轴被显示。

换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度是0,尺寸(即,高度乘宽度)是64×64。深度沿纵轴加深,并且存在尺寸为32×32且深度为1的编码单元620、尺寸为16×16且深度为2的编码单元630、尺寸为8×8且深度为3的编码单元640以及尺寸为4×4且深度为4的编码单元650。尺寸为4×4且深度为4的编码单元650是最小编码单元。

编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64×64且深度为0的编码单元610是预测单元,则该预测单元可被划分为包括在编码器610中的分区(即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614、或者尺寸为32×32的分区616)。

类似地,尺寸为32×32且深度为1的编码单元620的预测单元可被划分为包括在编码单元620中的分区(即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624以及尺寸为16×16的分区626)。

类似地,尺寸为16×16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区(即,包括在编码单元630中的尺寸为16×16的分区、尺寸为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是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。

视频编码设备100的输出单元130可对关于分区类型的信息800、关于预测模式的信息810以及关于与编码深度相应的每个编码单元的变换单元的尺寸的信息820进行编码和发送,作为关于编码模式的信息。

信息800指示关于通过划分当前编码单元的预测单元而获得的分区的形状的信息,其中,所述分区是用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2N×2N的当前编码单元CU_0可被划分为如下分区中的任何一个:尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806以及尺寸为N×N的分区808。这里,关于分区类型的信息800被设置为指示尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806以及尺寸为N×N的分区808中的一个。

信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式(即,帧内模式812、帧间模式814或跳过模式816)。

信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。

视频解码设备200的图像数据和编码信息提取器210可根据每个较深层编码单元来提取并使用用于解码的关于编码单元的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820。

图9是根据本发明的实施例的根据深度的较深层编码单元的示图。

划分信息可用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为更低深度的编码单元。

用于对深度为0且尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括如下分区类型的分区:尺寸为2N_0×2N_0的分区类型912、尺寸为2N_0×N_0的分区类型914、尺寸为N_0×2N_0的分区类型916以及尺寸为N_0×N_0的分区类型918。图9仅示出通过对预测单元910进行对称划分而获得的分区类型912至918,但是分区类型不限于此,并且预测单元910的分区可包括不对称分区、具有预定形状的分区以及具有几何形状的分区。

根据每个分区类型对如下分区重复地执行预测编码:尺寸为2N_0×2N_0的一个分区、尺寸为2N_0×N_0的两个分区、尺寸为N_0×2N_0的两个分区以及尺寸为N_0×N_0的四个分区。可对尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0以及N_0×N_0的分区执行帧内模式和帧间模式下的预测编码。仅对尺寸为2N_0×2N_0的分区执行跳过模式下的预测编码。

如果在尺寸为2N_0×2N_0、2N_0×N_0和N_0×2N_0的分区类型912至916之一中的编码误差最小,则预测单元910可不被划分为更低深度。

如果在尺寸为N_0×N_0的分区类型918中的编码误差最小,则在操作920,深度从0改变为1以划分分区类型918,并且对深度为2且尺寸为N_0×N_0的分区类型的编码单元重复地执行编码以搜索最小编码误差。

用于对深度为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。

如果在尺寸为N_1×N_1的分区类型948中编码误差最小,则在操作950,深度从1改变为2以划分分区类型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)的四个分区。

即使在尺寸为N_(d-1)×N_(d-1)的分区类型998具有最小编码误差时,由于最大深度是d,因此深度为d-1的编码单元CU_(d-1)不再被划分到更低深度,并且构成当前最大编码单元900的编码单元的编码深度被确定为d-1并且当前最大编码单元900的分区类型可被确定为N_(d-1)×N_(d-1)。另外,由于最大深度是d,因此最小编码单元980的划分信息不被设置。

数据单元999可以是当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元980划分为4份而获得的矩形数据单元。通过重复地执行编码,视频编码设备100可通过比较根据编码单元900的多个深度的多个编码误差来选择具有最小编码误差的深度以确定编码深度,并且将相应分区类型以及预测模式设置为编码深度的编码模式。

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

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

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

编码单元1010是最大编码单元中的与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是每个编码单元1010的预测单元的分区,变换单元1070是每个编码单元1010的变换单元。

当在编码单元1010中最大编码单元的深度是0时,编码单元1012和1054的深度是1,编码单元1014、1016、1018、1028、1050和1052的深度是2,编码单元1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。

在预测单元1060中,一些编码单元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和1054在尺寸和形状上与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050、1052和1054不同。换句话说,视频编码设备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:n和n:1(其中,n是大于1的整数)划分预测单元的高度来分别地获得尺寸为2N×nU和2N×nD的不对称分区类型,可通过以1:n和n:1划分预测单元的宽度来分别地获得尺寸为nL×2N和nR×2N的不对称分区类型。

变换单元的尺寸可被设置为帧内模式中的两种类型以及帧间模式中的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是作为当前编码单元的尺寸的2N×2N。如果变换单元的划分信息是1,则可通过划分当前编码单元来获得变换单元。另外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是不对称分区类型,则变换单元的尺寸可以是N/2×N/2。

关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元以及最小单元中的至少一个。与编码深度相应的编码单元可包括:包含相同编码信息的预测单元和最小单元中的至少一个。

因此,通过对邻近数据单元的编码信息进行比较,来确定邻近数据单元是否被包括在与编码深度相应的相同编码单元中。另外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,因此最大编码单元中的编码深度的分布可被确定。

因此,如果基于邻近数据单元的编码信息预测当前编码单元,则与当前编码单元邻近的较深层编码单元中的数据单元的编码信息可被直接参考和使用。

可选择地,如果基于邻近数据单元的编码信息来预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并且搜索到的邻近编码单元可被参考以用于预测当前编码单元。

图13是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图。

最大编码单元1300包括多个编码深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是编码深度的编码单元,因此划分信息可被设置为0。关于尺寸为2N×2N的编码单元1318的分区类型的信息可被设置为以下分区类型之一:尺寸为2N×2N的分区类型1322、尺寸为2N×N的分区类型1324、尺寸为N×2N的分区类型1326、尺寸为N×N的分区类型1328、尺寸为2N×nU的分区类型1332、尺寸为2N×nD的分区类型1334、尺寸为nL×2N的分区类型1336和尺寸为nR×2N的分区类型1338。

当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的划分信息(TU尺寸标记)为0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标记为1,则设置尺寸为N×N的变换单元1344。

当分区类型被设置为不对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标记为1,则设置尺寸为N/2×N/2的变换单元1354。

以下,将详细描述图4的图像编码设备100的运动预测器420和运动补偿器425以及图5的图像解码设备200的运动补偿单元550中执行的运动预测和补偿、以及图4的熵编码器450和图5的熵解码器520中执行的运动信息的编码和解码。如上参照图1至图13所述,预测单元表示用于编码单元的预测编码的预测单元;以下,预测单元可表示预测单元本身或通过划分预测单元而获得的分区。

如上所述,以各种预测模式(诸如,帧内预测模式、帧间预测模式和跳过模式)对预测单元进行编码。

在帧间预测模式下,通过单向预测或双向预测来预测当前预测单元。详细地,通过单向预测对包括在P条带中的预测单元进行预测,其中,在单向预测中仅使用包括在P条带中的参考画面列表(List 0)中所包括的参考画面(L0画面)和参考画面列表(List 1)中所包括的参考画面(L1画面)中的一个。使用包括在参考画面列表(List 0)中的参考画面(L0画面)的预测方法称为“L0预测”,使用包括在参考画面列表(List 1)中的参考画面(L1画面)的预测方法称为“L1预测”。在参考画面列表(List 0)中,以从最近的过去的画面到其前一画面的顺序分配参考画面索引,随后,以从最接近的将来的画面到其下一画面的顺序分配参考画面索引。另一方面,在参考画面列表(List 1)中,与参考画面列表(List 0)相反,以从最接近的将来的画面到其下一画面的顺序分配参考画面索引,随后,以从最近的过去的画面到其前一画面的顺序分配参考画面索引。

通过单向预测或双向预测对包括在B条带中的预测单元进行预测,其中,在双向预测中使用包括在参考画面列表(List 0)中的参考画面(L0画面)和包括在参考画面列表(List 1)中的参考画面(L1画面)的均值。在运动预测器420中执行的双向预测模式中,可使用任意两个参考画面而不限于当前画面的前一参考画面和随后的参考画面,并且双向预测模式还可称为bipredictive模式。

可对通过对根据每个预测模式获得的预测值进行编码而获得的代价进行比较,并可将具有最小代价的预测模式确定为最终的预测模式。当对代价进行比较时,可基于率失真确定将应用于当前预测单元的最终的预测模式。

为了在解码器端产生帧间预测的预测单元的预测值,将发送运动信息,诸如,针对每个帧间预测的预测单元指示哪一画面正被参考的参考画面信息、运动矢量信息和预测方向。

根据本发明的实施例,可使用以下模式对运动信息进行编码:1)第一运动信息编码模式(以下,称为“高级运动矢量预测(AMVP)”模式),在第一运动信息编码模式中,分别对预测单元的运动矢量预测索引、预测模式矢量和原始运动矢量之间的差、参考画面信息和预测方向信息进行编码和发送;2)作为合并模式的第二运动信息编码模式(以下,称为“合并模式”),在合并模式中,周边预测单元的运动信息用作当前预测单元的运动信息,并且将标记(合并标记)和索引(合并索引)中的一个编码为预测单元的运动信息,其中,所述标记(合并标记)指示模式是否相应于合并模式,所述索引(合并索引)指示将携带运动信息的周边预测单元之一。关于从AMVP模式和合并模式中选择用于对预测单元的运动信息进行编码的模式,可通过对根据每个模式产生的RD代价进行比较来选择具有较小的代价的模式。

在编码器侧,当在AMVP模式下对当前预测单元的运动信息进行编码时,将指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)设置为0,并对预测单元的运动矢量预测索引、运动矢量预测和原始运动矢量之间的差、参考画面信息和预测方向信息进行编码并将其发送到解码侧。在解码器端,如果指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)被设置为0,则确定当前预测单元的运动信息在AMVP模式下被编码,并从比特流获得预测单元的运动矢量预测索引、运动矢量预测和原始运动矢量之间的差、参考画面信息和预测方向信息。

此外,在编码器侧,当在合并模式下对当前预测单元的运动信息进行编码时,将指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)设置为1,并将指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)和指示将携带运动信息的合并预测候选之一的索引(合并索引)发送到解码器侧。在解码器侧,如果指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)被设置为1,则确定当前预测单元的运动信息被确定为在合并模式下被编码,并从比特流获得指示将携带运动信息的合并候选之一的索引(合并索引),并且使用合并索引确定的合并候选的运动信息(即,周边单元的运动矢量、参考画面信息和预测方向信息)在不进行任何改变的情况下用作当前预测单元的运动信息。

根据本发明的实施例的用于对运动信息进行编码和解码的方法和设备,使用默认运动信息产生当前预测单元的运动信息候选,其中,使用与当前预测单元时间或空间相关的预测单元的运动信息来获得默认运动信息,如果默认运动信息少于预设的预定数量n(n是整数),则修改默认运动信息或将预设的运动信息添加到运动信息候选以便产生n个运动信息,并使用指示应用于当前预测单元的运动信息的索引执行编码或解码作为当前预测单元的运动信息。

尽管在本说明书中描述集中于运动信息中的运动矢量信息的编码,但本发明的实施例不限于此,并还可应用于除运动矢量信息以外的其他类型的运动信息(诸如,参考画面信息或预测方向信息)的编码。

以下,将详细描述根据本发明的实施例的用于对预测单元的运动信息进行编码的方法和设备以及用于对预测单元的运动信息进行解码的方法和设备。

I.根据AMVP模式的运动信息的编码

图14a是示出根据本发明的实施例的运动信息编码设备1400的结构的框图。参照图14a,运动信息编码设备1400包括运动矢量预测候选产生器1410和运动矢量编码器1420。图14a的运动信息编码设备1400可包括在图4的视频编码器400中。例如,图4的运动预测器420可执行图14a的运动矢量预测候选产生器1410的功能,熵解码器450可执行图14a的运动矢量编码器1420的功能。然而,本发明的实施例不限于此,在图14a的运动信息编码设备1400中执行的功能还可使用图4的视频解码器400的其他组件或控制单元(未示出)来执行。运动矢量预测候选产生器1410通过使用当前预测单元的周边预测单元的运动矢量获得运动矢量预测候选。具体地讲,根据本发明的当前实施例的运动矢量预测候选产生器1410不论外部条件(诸如,当前预测单元的位置或周边预测单元的运动信息)如何总是产生固定数量n(n是整数)个运动矢量预测候选。如果包括在运动矢量预测候选中的运动矢量的数量小于预定数量n(n是整数),则运动矢量预测候选产生器1410可修改与当前预测单元时间相关或空间相关的预测单元的默认运动矢量预测,从而包括在运动矢量预测候选中的矢量的数量是n,或者可将包括零矢量的可选择的运动矢量预测添加到运动矢量预测候选,从而产生总共n个运动矢量预测。稍后将描述如何产生运动矢量预测候选。

运动矢量编码器1420从n个运动矢量预测候选中确定关于当前预测单元的运动矢量的运动矢量预测,并将指示运动矢量预测的索引信息编码为当前预测单元的运动矢量信息。详细地,运动矢量编码器1420可将从0到(n-1)的运动矢量预测索引分配给所述n个运动矢量预测候选中的每个,并可将与当前预测单元的运动矢量预测相应的运动矢量预测索引编码为当前预测单元的运动矢量信息。例如,当n=2时,即,在当前预测单元的运动矢量预测候选的数量固定为两个时,假设沿L0方向和L1方向中的每个使用运动矢量预测候选产生器1410产生的两个运动矢量预测候选是MVLX_Cand0和MVLX_Cand1(X是0或1),运动矢量编码器1420将指示MVLX_Cand0的运动矢量预测索引设置为0并将指示MVLX_Cand1的运动矢量预测索引设置为1,并将与根据对当前预测单元进行编码的结果而具有最小代价的运动矢量预测相应的索引编码为当前预测单元的运动矢量信息。如上所述,当n=2时,可通过使用1比特的运动矢量预测索引来对当前预测单元的运动矢量信息进行编码。

除运动矢量预测索引以外,运动矢量编码器1420对当前预测单元的原始运动矢量和运动矢量预测之间的差、参考画面信息和预测方向信息进行编码,并将其添加到比特流。

如上所述,当在编码器侧基于预定的规则获得固定数量的运动矢量预测候选并从编码器侧发送指示运动矢量预测候选之一的索引信息时,在解码器侧,可基于与编码器侧相同的规则产生固定数量的运动矢量预测候选并可使用发送的索引信息确定当前预测单元的运动矢量预测。此外,在解码器侧,可从比特流获得原始运动矢量和运动矢量预测之间的差,并可通过将所述差与由预测运动矢量索引指示的运动矢量预测相加来恢复当前预测单元的运动矢量。此外,在解码器侧,恢复的运动矢量以及从比特流获得的参考画面信息和预测方向信息(L0方向或L1方向)可用于产生当前预测单元的预测值。

以下,将详细描述在AMVP中产生运动矢量预测候选的操作。

图15是示出根据本发明的实施例的图14a的运动矢量预测候选产生器1410的详细结构的框图。

参照图15,运动矢量预测候选产生器1410包括空间运动矢量预测候选产生器1510、时间运动矢量预测候选产生器1520、冗余去除单元1530和最终运动矢量预测候选产生器1540。

空间运动矢量预测候选产生器1510通过使用与当前预测单元空间相关的预测单元的运动信息来产生运动矢量预测候选。详细地,空间运动矢量预测候选产生器1510包括第一空间运动矢量预测产生器1511和第二空间运动矢量预测产生器1512,其中,第一空间运动矢量预测产生器1511以预定顺序依次搜索位于当前预测单元的左侧的周边预测单元以获得第一空间运动矢量预测候选,第二空间运动矢量预测产生器1512以预定顺序依次搜索位于当前预测单元上面的周边预测单元以获得第二空间运动矢量预测候选。

图16示出根据本发明的实施例的在获得当前预测单元1610的运动矢量预测时使用的周边预测单元。

参照图16,空间运动矢量预测候选产生器1510从位于当前预测单元1610的左侧的周边预测单元中,将位于当前预测单元1610的左下侧的周边预测单元A0 1621和位于所述位于左下侧的周边预测单元A0 1621的上侧的周边预测单元A1 1622的运动矢量中的可用的运动矢量,确定为第一空间运动矢量预测候选。此外,空间运动矢量预测候选产生器1510从位于当前预测单元1610的上侧的周边预测单元中,将位于当前预测单元1610的右上侧的周边预测单元B0 1631、位于所述位于右上侧的周边预测单元B0 1631的左侧的周边预测单元B1 1632以及位于当前预测单元1610的左上侧的周边预测单元B2的运动矢量中的可用的运动矢量,确定为第二空间运动矢量预测候选。

详细地,第一空间运动矢量预测候选产生器1511依次检查周边预测单元A0 1621和A1 1622的运动矢量的可用性,并将找到具有可用运动矢量的周边预测单元的运动矢量确定为第一空间运动矢量预测候选。运动矢量的可用性指周边预测单元是否具有指示与当前预测单元相同的参考画面列表中的相同的参考画面的运动矢量。例如,如果当前预测单元1610的运动矢量是指示L0列表中的具有R0参考索引的参考画面(L0R0画面)的运动矢量,并且周边预测单元A0 1621是帧内预测的预测单元,具有指示包括在与当前预测单元1610不同的参考画面列表中的参考画面的运动矢量,或具有指示相同参考画面列表的另一参考画面的运动矢量,则周边预测单元A0 1621被确定为不具有可用的运动矢量。如果周边预测单元A1 1622具有指示与当前预测单元1610相同的参考画面列表中的相同的参考画面的运动矢量,则周边预测单元A1 1622的运动矢量被确定为第一空间运动矢量预测候选。

类似地,第二空间运动矢量预测候选产生器1512依次检查周边预测单元B0 1631、周边预测单元B1 1632和周边预测单元B2 1633的运动矢量的可用性,并将指示与当前预测单元1610相同的参考画面列表中的相同的参考画面的周边预测单元的运动矢量确定为第二空间运动矢量预测候选。

如果周边预测单元中不存在具有可用运动矢量的周边预测单元,则可对指示相同的参考画面列表的另一参考画面的周边预测单元的运动矢量、或指示包括在另一参考画面列表中的参考画面的周边预测单元的运动矢量进行缩放,并可将经缩放的运动矢量用作当前预测单元的运动矢量预测候选。

图17是根据本发明的实施例的用于解释确定经缩放的空间运动矢量预测候选的操作的参考示图。

参照图17,当前预测编码单元1730的运动矢量MVL0_Cur指示L0R0画面1720,其中,L0R0画面1720是L0列表中的具有R0参考索引的参考画面;周边预测单元1735表示帧内预测的预测单元;周边预测单元A1 1736具有指示L1R0画面1740的运动矢量mvL1_A1,其中,L1R0画面1740是L1列表中的具有R0参考索引的参考画面;周边预测单元B0 1732表示帧内预测的预测单元;周边预测单元B1 1733具有指示L1R1画面1750的运动矢量mvL1_B1,其中,L1R1画面1750是L1列表中的具有R1参考索引的参考画面;周边预测单元B2 1734具有指示L0R1画面1710的运动矢量mvL0_B2,其中,L0R1画面1710是L0列表中的具有R1参考索引的参考画面。在图17中,当前预测单元1731的周边预测单元中的任意一个不具有如当前预测单元1731的运动矢量mvL0_Cur的具有L0R0画面1720的运动矢量。

如上所述,如果不存在具有指示与由当前预测单元1731的运动矢量指示的参考画面相同的参考画面的运动矢量的周边预测单元,则空间运动矢量预测候选产生器1510可基于时间距离对帧间预测的预测单元的运动矢量进行缩放,并将经缩放的运动矢量与运动矢量预测候选相加,其中,所述时间距离是指由周边预测单元中的帧间预测的预测单元的运动矢量指示的参考画面与由当前预测单元的运动矢量指示的参考画面之间的时间距离。也就是说,空间运动矢量预测候选产生器1510可将周边预测单元的运动矢量中的、指示与当前预测单元1731相同的参考画面列表中的具有另一参考索引的参考画面的周边预测单元的运动矢量与运动矢量预测候选相加,或者如果存在指示与当前预测单元1731相同的参考画面列表中的具有另一参考索引的参考画面的周边预测单元的任何运动矢量,则空间运动矢量预测候选产生器1510可添加指示与当前预测单元1731不同的另一参考画面列表中的参考画面的周边预测单元的运动矢量。

例如,除帧内预测的周边预测单元A0 1735以外,空间运动矢量预测候选产生器1510可考虑当前画面1730与由当前预测单元1731的运动矢量mvL0_Cur指示的L0R0画面1720之间的时间距离、以及当前画面1730与由周边预测单元A1 1736的运动矢量mvL1_A1指示的L1R0画面1740之间的时间距离,来对周边预测单元A1 1736的运动矢量mvL1_A1进行缩放,并将经缩放的运动矢量mvL1_A1’确定为第一空间运动矢量预测候选。

此外,代替指示L1R1画面1750(L1R1画面1750是另一参考画面列表中的参考画面)的周边预测单元B1 1733的运动矢量mvL1_B1,空间运动矢量预测候选产生器1510可将指示L0R1画面1710(L0R1画面1710是与当前预测单元1731的运动矢量mvL0_Cur相同的参考画面列表中的具有另一参考索引的参考画面)的周边预测单元B2 1734的运动矢量mvL0_B2缩放为第二空间运动矢量预测候选,以将经缩放的运动矢量确定为第二空间运动矢量预测候选。也就是说,当确定周边预测单元的将缩放的运动矢量时,空间运动矢量预测候选产生器1510可首先确定指示包括在与当前预测单元的运动矢量相同的参考画面列表中的参考画面的周边预测单元的运动矢量,随后,如果不存在指示包括在所述相同的参考画面列表中的参考画面的周边预测单元的运动矢量,则空间运动矢量预测候选产生器1510可将指示包括在另一参考画面列表中的参考画面的周边预测单元的运动矢量确定为将缩放的运动矢量。空间运动矢量预测候选产生器1510可考虑当前画面1730与由当前预测单元1731的运动矢量mvL0_Cur指示的L0R0画面1720之间的时间距离、以及当前画面1730与由周边预测单元B2 1734的运动矢量mvL0_B2指示的L1R0画面1710之间的时间距离,来对周边预测单元B1 1734的运动矢量mvL0_B2进行缩放,并将经缩放的运动矢量mvL0_B2’确定为第二空间运动矢量预测候选。

同时,可考虑预定条件确定是否将上述经缩放的运动矢量包括在空间运动矢量预测候选中。例如,仅在与当前预测单元1730的左侧相邻的周边预测单元1735A0和1736A1之一被帧内预测时,空间运动矢量预测候选产生器1510可对周边预测单元B0 1732、B1 1733和B2 1734中的帧间预测的预测单元的运动矢量进行缩放,以便包括经缩放的运动矢量作为第二空间运动矢量预测候选。换句话说,可根据是否满足预设的预定条件来选择性地确定是否将经缩放的运动矢量包括在空间运动矢量预测候选中。预定条件不限于上述条件,并可以以各种方式设置。

图18是根据本发明的实施例的用于解释通过对周边预测单元的运动矢量进行缩放来产生当前预测单元的运动矢量预测候选的方法的参考示图。

如上所述,如果不存在具有与当前预测单元的运动矢量相同的运动矢量的周边预测单元,即,如果不存在指示存在于相同的参考画面中的具有相同的参考索引的参考画面的运动矢量,则可对表示相同的参考画面列表中的另一参考画面的周边预测单元(图18的Bn预测单元)的运动矢量MV(Bn)进行缩放,或可对表示另一参考画面列表中的参考画面的周边预测单元(图18的An预测单元)的运动矢量MV(An)进行缩放,并可将经缩放的运动矢量添加到当前预测单元的运动矢量预测候选。详细地,在当前画面与由运动矢量MVL0_Cur指示的参考画面(L0R0画面)之间的时间距离是d(cur),并且当前画面与由Bn预测单元的运动矢量MV(Bn)指示的参考画面(L0R1画面)之间的时间距离是d(Bn)时,可根据如下等式:MV(Bn)’=MV(Bn)×{d(cur)/d(Bn)}对Bn预测单元的运动矢量MV(Bn)进行缩放,并将经缩放的运动矢量MV(Bn)’添加到当前预测单元的运动矢量预测候选。类似地,在当前画面与由An预测单元的运动矢量MV(An)指示的参考画面(L1R1画面)之间的时间距离是d(An)时,可根据如下等式:MV(An)’=MV(An)×{d(cur)/d(An)}对An预测单元的运动矢量MV(An)进行缩放,并可将经缩放的运动矢量MV(An)’添加到当前预测单元的运动矢量预测候选。

返回参照图15,冗余去除单元1530确定第一空间运动矢量预测候选与第二空间运动矢量预测候选是否相同,如果第一运动矢量预测候选与第二运动矢量预测候选相同,则可从运动矢量预测候选去除冗余的第二运动矢量预测候选以便仅将第一空间运动矢量预测包括在运动矢量预测候选中;如果第一空间运动矢量预测候选与第二空间运动矢量预测候选不相同,则第一空间运动矢量预测候选和第二空间运动矢量预测候选都保持在运动矢量预测候选中。

时间运动矢量预测候选产生器1520可将使用与当前预测单元时间相关的预测单元的运动矢量(即,先前编码的先前画面的预测单元中的与当前预测单元的位置相关的预测单元的运动矢量)产生的时间运动矢量预测添加到运动矢量预测候选。

图19是根据本发明的实施例的用于解释产生时间运动矢量预测的操作的参考示图。

参照图15和图19,时间运动矢量预测候选产生器1520可通过对在当前画面1910之前编码的参考画面1920的预测单元中的预测单元1924的运动矢量进行缩放来产生时间运动矢量预测,并将时间运动矢量预测添加到运动矢量预测候选,其中,预测单元1924位于参考画面1920的预测单元1921的右下侧与当前预测单元1911相同的位置处。如以上参照图18所述,可基于由位于右下侧的预测单元1924的运动矢量指示的参考画面与由当前预测单元的运动矢量指示的参考画面之间时间距离执行对时间运动矢量预测进行缩放的操作。

如果位于右下侧的预测单元1924被帧内预测并因此其运动矢量不可用,则时间运动矢量预测候选产生器1520可通过对预测单元1921的运动矢量进行缩放来产生时间运动矢量预测,其中,预测单元1921在与当前预测单元1911的中心位置的点C 1911相同的位置处包括参考画面1920的点C’1922。

包括在使用冗余去除单元1530去除了冗余的预测运动矢量候选中的运动矢量预测的数量可能小于固定的数量n。在以上示例中,如果位于与当前预测单元的上侧或左侧相邻的所有周边预测单元被帧内预测,则通过空间运动矢量预测候选产生器1510和时间运动矢量预测候选产生器1520可能仅产生了少于n个的预测矢量候选。

如果包括在去除了冗余的运动矢量预测候选中的运动矢量的数量少于预设的固定数量n,则最终运动矢量预测候选产生器1540可将具有预设的分量至的预定的运动矢量添加到运动矢量预测候选,或将具有修改的默认运动矢量预测值的运动矢量预测添加到运动矢量预测候选,直到包括在运动矢量预测候选中的运动矢量的数量达到n。所述预定的运动矢量可优选为每个分量具有值0的零矢量。例如,当n=2,并且去除了时间和空间运动矢量预测的冗余的运动矢量预测候选仅具有一个运动矢量预测候选时,最终运动矢量预测产生器1540将零矢量(0,0)添加到运动矢量预测候选。

图20a和图20b示出根据本发明的实施例的指示当前预测单元的运动矢量预测的索引信息。参照图20a和图20b,示出了在n=2的情况下,即,当存在两个将包括在预测运动矢量候选中的运动矢量预测时,针对包括在运动矢量预测候选中的每个运动矢量预测而设置的索引AMVP_idx。

在图20a中,示出了设置为作为当前预测单元的运动矢量预测的沿L0方向的运动矢量预测候选的索引,在图20b中,示出了设置为作为当前预测单元的运动矢量预测的沿L1方向的运动矢量预测候选的索引。如图20a和图20b所示,当n=2时,从0到1的运动矢量预测索引AMVP_idx被分配给运动矢量预测候选mvLX_Cand0或mvLX_Cand1(X是0或1)中的每个,分配给当前预测单元的运动矢量预测的索引AMVP_idx被编码为当前预测单元的运动矢量信息。

运动矢量预测索引AMVP_idx可优选地被分配为使得相对小的值被分配为使用与当前预测单元时间和空间相关的预测单元的运动矢量获得的运动矢量预测的索引,在分配给时间运动矢量预测候选和空间运动矢量预测候选的索引之后的值可优选地被分配给可选择的运动矢量预测,其中,可选择的运动矢量预测被添加以便修改默认运动矢量预测候选,或者可选择的运动矢量预测像零矢量一样被添加从而运动矢量预测候选的总数量达到n。此外,可使用截断一元二值化方法对运动矢量预测索引AMVP_idx进行编码。

如上所述,在AMVP模式下,产生固定数量n个运动矢量预测候选,将从0到(n-1)的运动矢量预测索引AMVP_idx分配给所述n个运动矢量预测候选中的每个,并作为当前预测单元的运动矢量信息,对运动矢量预测索引AMVP_idx、运动矢量预测和原始运动矢量之间的差、参考画面信息和预测方向信息进行编码并将其发送到解码器端,其中,运动矢量预测索引AMVP_idx指示在当前预测单元的运动矢量的预测中使用的运动矢量预测候选。

II.根据合并模式的运动信息的编码

在合并模式下,使用包括在合并候选中的预测单元的运动信息对当前预测单元的运动信息进行编码,并将指示(编码模式)是否是合并模式的标记(合并标记)以及指示将携带运动信息的合并候选之一的索引(合并索引)发送到解码器端。

图14b是示出根据本发明的另一实施例的运动信息编码设备1450的结构的框图。

参照图14b,运动信息编码设备1450包括合并候选产生器1460和运动信息编码器1470。

合并候选产生器1460首先搜索当前预测单元的周边预测单元以通过使用周边预测单元中的每个的运动信息产生合并候选。找到的时间和空间相关的周边预测单元与如上所述的在AMVP模式下为了产生运动矢量预测候选而搜索到的预测单元类似。然而,合并模式在搜索空间相关的周边预测单元的顺序方面与AMVP模式不同。详细地,参照图14b和图16,合并候选产生器1460以周边预测单元A1 1622、B1 1632、B0 1631、A0 1621和B2 1633的顺序搜索周边预测单元,以检查是否将周边预测单元中的每个的运动信息包括在合并候选中。合并候选产生器1460以上述顺序搜索每个预测单元,并去除包括在另一分区中的预测单元或去除具有重复的运动信息的预测单元,并通过使用剩余的预测单元的运动信息来产生合并候选。具体地讲,合并候选产生器1460产生总是固定数量n(n是整数)的合并候选。如果包括在合并候选中的运动信息的数量小于预定数量n,则合并候选产生器1460将可选择的合并候选添加到合并候选,从而包括在合并候选中的运动信息的数量达到n。如稍后将描述的,作为可选择的合并候选,可使用在产生时间运动矢量预测时使用的预测单元的运动信息或零矢量的运动信息。

运动信息编码器1470可从n个合并候选中确定将用作当前预测单元的运动信息的合并候选,并对指示确定的合并候选的索引(合并索引)和指示编码模式是否是合并模式的标记(合并标记)进行编码。

图21a和图21b是根据本发明的实施例的用于解释从合并候选去除的周边预测单元的参考示图。

参照图21a,假设预测单元PU0 2110和预测单元PU1 2120是包括在编码单元2100中的预测单元。由于预测单元PU1 2120不是编码单元2100的第一预测单元,因此从合并候选排除作为包括在预测单元PU0 2110中的预测单元的周边预测单元A1 2115的运动信息。除周边预测单元A1 2115以外的剩余的周边预测单元B1、B0、A0和B2包括在合并候选中。从合并候选排除不具有运动信息的那些周边预测单元B1、B0、A0和B2。

类似地,参照图21b,假设预测单元PU0 2140和预测单元PU1 2150是包括在编码单元2130中的预测单元。由于预测单元PU 2150不是编码单元2130的第一预测单元,因此,当产生预测单元PU1 2150的合并候选时,从合并候选排除作为包括在预测单元PU 2140中的预测单元的周边预测单元B1的运动信息,并将剩余的周边预测单元A1、B0、A0和B2的运动信息包括在合并候选中。

合并候选产生器1460基于周边预测单元A1、B1、B0、A0和B2的运动信息的可用性、或周边预测单元A1、B1、B0、A0和B2是否包括在另一分区中,针对当前预测单元产生合并候选,并随后去除合并候选中存在的运动信息的冗余。

图22是根据本发明的实施例的用于解释去除包括在合并候选中的运动信息的冗余的操作的参考示图。

参照图16和图22,如果首先找到的预测单元A1的运动信息包括在合并候选中,则合并候选产生器1460将预测单元A1的运动信息保持在合并候选中。合并候选产生器1460沿图22中示出的箭头方向检查运动信息的冗余。例如,如果预测单元B1的运动信息和预测单元A1的运动信息被比较发现为重复,则合并候选产生器1460从合并候选去除预测单元B1的运动信息。此外,合并候选产生器1460对预测单元B1的运动信息和预测单元A1的运动信息进行比较,并且如果两个运动信息重复,则合并候选产生器1460从合并候选去除预测单元B1的运动信息。类似地,当预测单元B0包括与预测单元B1的运动信息相同的运动信息时,合并候选产生器1460从合并候选去除预测单元B0的运动信息;当预测单元A0包括与预测单元A1的运动信息相同的运动信息时,合并候选产生器1460从合并候选去除预测单元A0的运动信息;当预测单元B2包括与预测单元B1和预测单元A1中的一个的运动信息相同的运动信息时,合并候选产生器1460从合并候选去除预测单元B2的运动信息,从而去除存在于合并候选中的运动信息的冗余。

此外,如上述的图19所示,合并候选产生器1460可将在AMVP模式下产生时间运动矢量预测候选时使用的预测单元1921和1924的运动信息包括在合并候选中。

如果包括周边预测单元的运动信息或在产生时间运动矢量预测候选时使用的预测单元的运动信息的合并候选的数量超过固定数量n,则合并候选产生器1460可从首先产生的合并候选选择n个合并候选。如果合并候选的数量少于固定数量n,则合并候选产生器1460可将可选择的合并候选添加到合并候选。

图23至图25是根据本发明的实施例的用于解释将可选择的合并候选添加到合并候选的操作的参考示图。

参照图23,假设使用例如周边预测单元的运动信息或在确定时间运动矢量预测时使用的预测单元的运动信息产生的原始合并候选(2300)如表2300所示。为了B条带的双向预测的预测单元的运动信息的编码,合并候选产生器1460可将包括在原始合并候选2300中的运动信息2311和2312组合来将关于双向预测的运动信息2313添加到原始合并候选2300,从而产生更新的合并候选2310。如果当前预测单元是使用参考画面列表(list 0)中具有参考索引ref0的参考画面以及参考画面列表(list 1)中的具有参考索引ref0的参考画面而双向预测的,则可将索引Merge_idx=3编码为当前预测单元的运动信息。在解码器侧,以与在编码器侧相同的方式产生和更新合并候选,随后可使用包括在比特流中的合并索引确定当前预测单元的运动信息,并可使用确定的运动信息产生当前预测单元的预测值。

参照图24,假设使用例如周边预测单元的运动信息或在确定时间运动矢量预测时使用的预测单元的运动信息产生的原始合并候选(2400)如表2400所示。为了B条带的双向预测的预测单元的运动信息的编码,合并候选产生器1460可对包括在原始合并候选中的运动信息2411和2412进行缩放,并将通过缩放而产生的关于双向预测的运动信息2413和2414添加到原始合并候选2400,从而产生更新的合并候选2410。例如,合并候选产生器1460可对包括在与索引Merge_idx=0相应的运动信息2411中的运动矢量mvL0_A进行缩放,以产生指示参考画面L1R1的运动信息2413,其中,参考画面L1R1与包括在另一参考画面列表中的参考画面具有相同的参考索引。

参照图25,假设使用例如周边预测单元的运动信息或在确定时间运动矢量预测时使用的预测单元的运动信息产生的原始合并候选(2500)如表2500所示。为了B条带的双向预测的预测单元的运动信息的编码,合并候选产生器1460保持包括在原始合并候选(2500)中的运动信息的参考画面信息,但将具有零矢量的运动信息2511和2512新添加到原始合并候选2500,从而产生更新的合并候选2510。

如上所述,合并候选产生器1460可将包括在原始合并候选中的运动信息结合,对运动矢量进行缩放,或将具有零矢量的运动信息添加到原始合并候选,从而n个运动信息包括在合并候选中。

当包括n个运动信息的合并候选如上所述地被产生时,运动信息编码器1470为n个运动信息中的每个设置从0至(n-1)的合并索引,并将指示在当前预测单元的编码中使用的运动信息的合并索引、以及指示是否应用合并模式的标记(合并标记)编码为当前预测单元的运动信息。

图26是根据本发明的实施例的对运动信息进行编码的方法的流程图。

参照图26,在操作2610,运动预测器420通过对当前预测单元执行运动预测来获得当前预测单元的运动矢量。

在操作2620,运动矢量预测候选产生器1410通过使用与当前预测单元时间相关的预测单元的运动矢量和与当前预测单元空间相关的预测单元的运动矢量,获得运动矢量预测候选。如上述的图16所示,运动矢量预测候选产生器1410检查与左侧相邻的周边预测单元A0和A1的运动矢量、以及与上侧相邻的周边预测单元B0、B1和B2的运动矢量的可用性,并将可用的周边预测单元的运动矢量包括在运动矢量预测候选中。如上所述,如果没有可用的周边预测单元的运动矢量,则通过对帧间预测的周边预测单元的运动矢量进行缩放而获得的运动矢量可包括在运动矢量预测候选中。

在操作2630中,当包括在运动矢量预测候选中的运动信息的数量小于预定数量n(n是整数)时,运动矢量预测候选产生器1410将可选择的运动矢量预测添加到运动矢量预测候选,从而包括在运动矢量预测候选中的运动矢量的数量达到n。如上所述,通过修改默认运动矢量预测而获得的运动矢量或零矢量可用作可选择的运动矢量预测。

在操作2640,运动矢量编码器1420从n个运动矢量预测候选确定关于当前预测单元的运动矢量的运动矢量预测。在操作S2650,运动矢量编码器1420将指示运动矢量预测的索引信息AMVP_idx编码为当前预测单元的运动矢量信息。另外,除指示运动矢量预测的索引信息AMVP_idx以外,发送当前预测单元的实际运动矢量和运动矢量预测之间的差、参考画面信息和预测信息。

同时,图14a的运动信息编码器1400的预测运动候选产生器1410可在将可选择的运动矢量预测包括在候选组中时减少冗余检查,以便减少检查操作的复杂度。

此外,尽管在上述本发明的实施例中假设了在编码器端和解码器端使用了预设的固定数量n个运动矢量预测候选的示例,但本发明的实施例不限于此,可将运动矢量预测候选的数量添加到将发送的序列参数集(SPS)、画面参数集(PPS)或条带头。此外,可基于在当前预测单元之前先前处理的周边预测单元中的被帧间预测为具有运动矢量的数量A个的预测单元,适应性地确定运动矢量预测候选的数量,或者可将数量A和预设的固定数量n中的较小的值设置为运动矢量预测候选的数量。

III.AMVP模式下的运动信息的解码

如上所述,当在AMVP模式下对当前预测单元的运动信息进行编码时,将指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)设置为0。在解码器端,如果指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)被设置为0,则确定当前预测单元的运动信息在AMVP模式下被编码,并且从比特流获得当前预测单元的运动矢量预测索引AMVP_idx、运动矢量预测和原始运动矢量之间的差、参考画面信息和预测方向信息。

图27a是示出根据本发明的实施例的运动信息解码设备2700的结构的框图。

参照图27a,运动矢量预测解码设备2700包括熵解码器2710、运动矢量预测候选产生器2720和运动矢量解码器2730。

熵解码器2710从比特流获得当前预测单元的运动矢量预测索引AMVP_idx、运动矢量预测和原始运动矢量之间的差、参考画面信息和预测方向信息。

如同上述的图14a的运动矢量预测候选产生器1410,运动矢量预测候选产生器2720通过使用当前预测单元的周边预测单元的运动矢量获得运动矢量预测候选,并且如果包括在运动矢量预测中的运动矢量的数量少于预定数量n(n是整数),则运动矢量预测候选产生器2720将可选择的运动矢量预测添加到运动矢量预测候选,从而包括在运动矢量预测候选中的运动矢量的数量是n。

运动矢量解码器2730使用从比特流获得的当前预测单元的运动矢量预测索引(AMVP_idx)来从使用运动矢量预测候选产生器2720产生的运动矢量预测候选获得一个运动矢量预测。此外,运动矢量解码器2730通过将从比特流获得的运动矢量预测与原始运动矢量之间的差添加到运动矢量预测来恢复当前预测单元的运动矢量。

IV.在合并模式下的运动信息的解码

当如上所述在合并模式(其中,周边预测单元的运动信息用作当前预测单元的运动信息)下对当前预测单元的运动信息进行编码时,在编码器端将指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)设置为1,并将指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)以及指示将携带运动信息的合并候选中的一个的索引(合并索引)发送到解码器端。在解码器端,如果指示应用于当前预测单元的模式是否是合并模式的标记(合并标记)被设置为1,则确定当前预测单元的运动信息在合并模式下被编码,并获得来自比特流的指示将携带运动信息的合并候选之一的索引(合并索引),并将使用合并索引确定的合并候选的运动信息(即,周边预测单元的运动矢量、参考画面信息和预测方向信息)用作当前预测单元的运动信息。

图27b是示出根据本发明的另一实施例的运动信息解码设备2750的结构的框图。

参照图27b,运动信息解码设备2750包括熵解码器2760、合并候选产生器2770和运动矢量解码器2780。

熵解码器2760从比特流获得指示应用于当前预测单元的模式是否与合并模式相应的标记(合并标记)以及指示将携带运动信息的合并候选之一的索引(合并索引)。

如上述图14b的合并候选产生器1460,运动矢量预测候选产生器2720搜索当前预测单元的周边预测单元以将周边预测单元中的每个的运动信息、在确定时间运动矢量预测时使用的预测单元的运动信息以及在原始合并候选中包括的运动信息结合,以对运动矢量进行缩放,或添加具有零矢量的运动信息,从而产生包括n个运动信息的合并候选。

当包括n个运动信息的合并候选被产生时,运动信息解码器2780通过使用由索引(合并索引)指示的合并候选的运动信息设置当前预测单元的运动信息,其中,所述索引(合并索引)指示从比特流获得的合并候选之一。在合并模式下,与AMVP模式不同,包括在合并候选中的运动矢量在不进行任何改变的情况下用作当前预测单元的运动矢量。

图28是根据本发明的实施例的对运动矢量进行解码的方法的流程图。

参照图28,在操作2810,运动矢量预测候选产生器2720通过使用与当前预测单元时间相关的预测单元的运动矢量和与当前预测单元空间相关的预测单元的运动矢量获得运动矢量预测候选。如上所述,运动矢量预测候选产生器2720与图14a的运动矢量预测候选产生器1410以相同的方式产生运动矢量预测候选。

在操作2820,如果包括在运动矢量预测候选中的运动矢量的数量小于预定数量n(n是整数),则运动矢量预测候选产生器2720将可选择的运动矢量添加到运动矢量预测候选,从而包括在运动矢量预测候选中的运动矢量的数量是预定数量n。如上所述,预设的固定数量n个运动矢量预测候选被产生,使得在没有修改指示运动矢量预测候选的索引(AMVP_idx)的情况下,无需任何周边信息即可进行独立的处理。

在操作2830,熵编码器2710从比特流获得指示运动矢量预测候选中应用于当前预测单元的运动矢量预测的索引。

在操作2840,运动矢量解码器2730通过使用由获得的索引指示的运动矢量预测恢复当前预测单元的运动矢量。详细地,运动矢量解码器2730通过将使用指示包括在比特流中的运动矢量预测的索引AMVP_idx确定的运动矢量预测与包括在比特流中的运动矢量预测和原始运动矢量之间的差相加,来恢复当前预测单元的运动矢量。如上所述,在AMVP模式下,除如上所述的关于运动矢量的信息以外,比特流中还包括参考画面信息和预测方向信息。在合并模式下,包括在合并候选中的运动信息在不进行任何改变的情况下用于恢复当前预测单元的运动信息。

本发明还可被实施为计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可存储随后可由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储装置等。计算机可读记录介质还可分布于联网的计算机系统,从而可以以分布的方式存储和执行计算机可读代码。

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

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