说明书对运动信息进行解码的方法
本申请是申请日为2012年6月27日、申请号为201280042090.X、题为“用于对运动信息进行编码的方法和设备以及用于对运动信息进行解码的方法和设备”的专利申请的分案申请。
技术领域
本发明涉及一种用于编码和解码运动信息的方法和设备,更具体地讲,涉及一种用于有效编码和解码当前预测单元的运动信息的方法和设备。
背景技术
最近,随着高分辨率视频内容变得被广泛使用,对具有比传统视频编解码器(诸如MPEG-4H.264/MPEG-4先进视频编码(AVC))更高编码效率的视频编解码器的需要增加。
根据作为用于去除视频信号中的空间冗余的技术的运动补偿,通过发送作为在原始视频信号和由运动矢量指示的参考信号之间的差值的残差信号来提高压缩效率。通常,将作为通过使用运动补偿编码每个块而获得的编码结果的每个块的运动矢量和残差值发送到解码器。由于每个块的运动矢量占据大量的编码比特流,因此需要减少关于分配给每个块的运动矢量的信息,以提高压缩效率。
为了减少在运动矢量的编码期间的发送开销,在传统的MPEG-2编解码器中,将先前块的运动矢量用作当前块的预测运动矢量,并且在诸如MPEG-4H.264/MPEG-4AVC中,将与当前块的左侧、上侧和右上侧相邻的被先前编码的块的运动矢量的中值用作当前块的预测运动矢量。
发明内容
技术问题
本发明提供一种用于有效编码和解码当前预测单元的运动信息的方法和设备。
技术方案
根据本发明的实施例,通过使用在空间上与当前预测单元共同定位(collocate)的预测单元的运动信息和在时间上与当前预测单元共同定位的预测单元的运动信息来产生各种候选运动信息。
有益效果
根据本发明的实施例,可通过使用基于相邻预测单元的运动信息而获得的各种运动候选来提高图像的压缩效率。
附图说明
图1是根据本发明的实施例的用于编码视频的设备的框图;
图2是根据本发明的实施例的用于解码视频的设备的框图;
图3是用于描述根据本发明的实施例的编码单元的概念的框图;
图4是根据本发明的实施例的基于编码单元的图像编码器的框图;
图5是根据本发明的实施例的基于编码单元的图像解码器的框图;
图6是根据本发明的实施例的根据深度的较深层编码单元和分区的示图;
图7是根据本发明的实施例的在编码单元和变换单元之间的关系的示图;
图8是根据本发明的实施例的用于描述与编码深度相应的编码单元的编码信息的示图;
图9是根据本发明的实施例的根据深度的较深层编码单元的示图;
图10至图12是根据本发明的实施例的用于描述在编码单元、预测单元和变换单元之间的关系的示图;
图13是根据表1的编码模式信息的用于描述在编码单元、预测单元或分区和变换单元之间的关系的示图;
图14是根据本发明的实施例的运动信息编码设备的框图;
图15是根据本发明的实施例的图14的候选运动信息产生单元的框图;
图16示出根据本发明的实施例的在空间上与当前预测单元共同定位的相邻预测单元;
图17A是根据本发明的实施例的用于解释确定被缩放的空间预测运动矢量候选的处理的参考示图;
图17B是根据本发明的实施例的用于解释通过使用在空间上与当前预测单元共同定位的预测单元来产生附加候选运动信息的处理的参考示图;
图18是根据本发明的实施例的用于解释通过缩放相邻预测单元的运动矢量来产生当前预测单元的预测运动矢量候选的方法的参考示图;
图19是根据本发明的实施例的用于解释产生时间候选运动信息的处理的参考示图;
图20A和图20B是根据本发明的另一实施例的用于解释通过使用可用的预测单元的运动信息来产生附加候选运动信息的处理的示图;
图21A和图21B是根据本发明的实施例的用于描述当产生图20A和图20B的附加候选运动信息时在当前画面和参考画面之间的位置关系的示图;
图22是根据本发明的实施例的编码运动矢量的方法的流程图;
图23是根据本发明的实施例的运动矢量解码设备的框图;
图24是根据本发明的实施例的解码运动信息的方法的流程图。
最优实施方式
根据本发明的一方面,提供一种编码运动信息的方法,所述方法包括:对当前预测单元执行运动预测以获得关于当前预测单元的运动信息;确定在空间上与当前预测单元共同定位的空间预测单元的运动信息和在时间上与当前预测单元共同定位的时间预测单元的运动信息是否可用;作为所述确定的结果,当空间预测单元的运动信息和时间预测单元的运动信息的数量小于预定数量“n”时,通过使用可用的空间预测单元的运动信息和时间预测单元的运动信息来产生附加候选运动信息,使得候选运动信息的总条数是“n”,其中,n是整数;通过使用“n”条运动信息来编码当前预测单元的运动信息。
所述确定的步骤可包括:以预定扫描顺序搜索位于当前预测单元上方的预定预测单元,并将具有可用运动信息的第一上侧预测单元的运动信息选择为当前预测单元的上侧空间运动信息候选;以预定扫描顺序搜索位于当前预测单元左侧的预定预测单元,并将具有可用运动信息的第一左侧预测单元的运动信息选择为当前预测单元的左侧空间运动信息候选;基于具有与当前预测单元相同的位置的先前画面的预测单元,将从先前画面选择的先前画面的 预测单元的运动信息选择为当前预测单元的时间运动信息候选,其中,当通过使用上侧空间运动信息候选、左侧空间运动信息候选和时间运动信息候选获得的候选运动信息的总条数小于“n”时,执行附加候选运动信息的产生。
产生附加候选运动信息的步骤可包括:以预定扫描顺序将在具有可用运动信息的第一上侧预测单元被搜索之后被搜索的可用上侧预测单元的运动信息产生为附加候选运动信息。
产生附加候选运动信息的步骤可包括:以预定扫描顺序产生在具有可用运动信息的第一左侧预测单元被搜索之后被搜索的具有可用左侧预测单元的运动信息的附加候选运动信息。
产生附加候选运动信息的步骤可包括:当基于具有与当前预测单元相同的位置的先前画面的预测单元而确定的先前画面的预测单元以预定扫描顺序被扫描时,对在除了具有可用运动信息的第一先前画面的预测单元之外的先前画面的其余预测单元中的具有运动信息的所述先前画面的预测单元的运动信息进行缩放,并产生附加候选运动信息。
所述确定的步骤可包括:将在位于当前预测单元上方和左侧的预定预测单元中的被先前确定位置的预定空间预测单元的运动信息选择为当前预测单元的空间运动信息候选;将基于具有与当前预测单元相同的位置的先前画面的预测单元从先前画面中选择的先前画面的预测单元的运动信息选择为当前预测单元的时间运动信息候选,其中,当通过使用空间运动信息候选和时间运动信息候选而获得的候选运动信息的总条数小于“n”时,执行附加候选运动信息的产生。
产生附加候选运动信息的步骤可包括:将被先前确定的预定运动信息产生为附加候选运动信息。所述预定运动信息可以是具有预定值的运动矢量、具有预定值的参考画面索引以及根据当前预测单元所属的条带类型的参考方向信息。
产生附加候选运动信息的步骤可包括:当可用空间预测单元和时间预测单元的运动信息包括方向L0和方向L1的预测的双向运动矢量信息时,通过将预定偏移量加到方向L0的预测的运动矢量和方向L1的预测的运动矢量上或从方向L0的预测的运动矢量和方向L1的预测的运动矢量减去预定偏移量来产生附加候选运动信息。
当在方向L0的预测中使用的第一参考画面和在方向L1的预测中使用的 第二参考画面位于基于包括当前预测单元的当前画面的相同位置时,可将所述偏移量加到方向L0的预测的运动矢量和方向L1的预测的运动矢量上,并且当当前画面位于在方向L0的预测中使用的第一参考画面和在方向L1的预测中使用的第二参考画面之间时,可将所述偏移量加到方向L0的预测的运动矢量上,并将通过使所述偏移量乘以-1而获得的值加到方向L1的预测的运动矢量上。
产生附加候选运动信息的步骤可包括:改变可用空间预测单元的运动信息和可用时间预测单元的运动信息的预测方向以产生附加候选运动信息。
产生附加候选运动信息的步骤可包括:当可用空间预测单元的运动信息和可用时间预测单元的运动信息包括方向L0的预测和方向L1的预测的双向运动矢量信息时,通过使用从方向L0的方向和方向L1的方向中选择的一个方向的单向运动信息来产生附加候选运动信息。
产生附加候选运动信息的步骤可包括:当可用空间预测单元的运动信息和可用时间预测单元的运动信息包括从方向L0的方向和方向L1的方向中选择的一个方向的单向运动信息时,通过使用经由合并方向L0的预测和方向L1的预测而获得的双向运动信息来产生附加候选运动信息。
产生附加候选运动信息的步骤可包括:当可用空间预测单元的运动信息和可用时间预测单元的运动信息包括从方向L0的方向和方向L1的方向中选择的一个方向的单向运动信息时,将通过合并包括具有预定分量值的运动矢量的单向运动信息而产生的双向运动信息产生为附加候选运动信息。
另外,产生附加候选运动信息的步骤可包括:将具有拥有预定值的参考画面索引的参考画面产生为附加候选运动信息。
在产生附加候选运动信息时,可不检查默认候选运动信息和产生的附加候选运动信息是否重复,并可将产生的附加候选运动信息添加到候选运动信息。
根据本发明的另一方面,提供一种用于编码运动信息的设备,所述设备包括:候选运动信息产生单元,用于对当前预测单元执行运动预测以获得关于当前预测单元的运动信息,用于确定在空间上与当前预测单元共同定位的空间预测单元的运动信息和在时间上与当前预测单元共同定位的时间预测单元的运动信息是否可用,作为所述确定的结果,当空间预测单元的运动信息和时间预测单元的运动信息的数量小于预定数量“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的若干次方的正方形。可根据至少一个最大编码单元将图像数据输出到编码单元确定器120。
可用最大尺寸和深度来表征根据本发明的实施例的编码单元。所述深度表示编码单元在空间上从最大编码单元被划分的次数,并且随着深度加深,可从最大编码单元到最小编码单元划分根据深度的较深层编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此与更高深度相应的编码单元可包括多个与相应的编码单元。
如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分成最大编码单元,每个最大编码单元可包括根据深度被划分的较深层编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此在最大编码单元中包括的空间域的图像数据可根据深度被分层地分类。
限制最大编码单元的高度和宽度被分层地划分的总次数的编码单元的最大深度和最大尺寸可被预先确定。
编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分区域进行编码,并根据所述至少一个划分区域来确定深度以输出最终编码的图像数据。换句话说,编码单元确定器120通过根据当前画面的最大编码单元以根据深度的较深层编码单元编码图像数据并选择具有最小编码误差的深度来确定编码深度。因此,最终输出与确定的编码深度相应的编码单元的编码图像数据。此外,可将与编码深度相应的编码单元视为编码的编码单元。确定的编码深度和根据所述确定的编码深度的编码的图像数据被输出到输出单元130。
基于与等于或小于最大深度的至少一个深度相应的较深层编码单元来编码在最大编码单元中的图像数据,并基于每个较深层编码单元来对编码图像数据的结果进行比较。可在对所述较深层编码单元的编码误差进行比较之后选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
最大编码单元的尺寸随着编码单元根据深度被分层地划分并且编码单元的数量增加而被划分。此外,即使在一个最大编码单元中编码单元与相同深 度相应,仍可通过测量每个编码单元的图像数据的编码误差分别将与相同深度相应的每个编码单元划分到更低深度。因此,即使当图像数据被包括在一个最大编码单元中时,所述图像数据仍根据深度被划分成区域,在所述一个最大编码单元中编码误差会根据区域而不同,从而在所述图像数据中编码深度可根据区域而不同。因此,可在一个最大编码单元中确定一个或更多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
因此,编码单元确定器120可确定在最大编码单元中包括的具有树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括在最大编码单元中包括的所有较深层编码单元中的与被确定为编码深度的深度相应的编码单元。可在最大编码单元的相同区域中根据深度来分层地确定编码深度的编码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。
根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元的划分次数相关的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元执行的划分总次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度总级数。例如,当最大编码单元的深度是0时,最大编码单元被划分一次的编码单元的深度可设置为1,并且最大编码单元被划分两次的编码单元的深度可设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在5个深度级0、1、2、3和4,从而第一最大深度可设置为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可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的较深层编码单元的编码误差。
输出单元130将基于由编码单元确定器120确定的至少一个编码深度而编码的最大编码单元的图像数据、以及关于根据编码深度的编码模式的信息输出在比特流中。
可通过编码图像的残差数据来获得编码的图像数据。
关于根据编码深度的编码模式的信息可包括关于编码深度、关于预测单元中的分区类型、预测模式以及变换单元的尺寸的信息。
可通过使用根据深度的划分信息来定义关于编码深度的信息,所述划分信息指示是否对更低的深度而不是当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并输出,从而划分信息可被定义为不将当前编码单元划分到更低深度。可选地,如果当前编码单元的当前深度不是编码深度,则对更低深度的编码单元执行编码,从而划分信息可被定义为划分当前编码单元以获得更低深度的编码单元。
如果当前深度不是编码深度,则对被划分成更低深度的编码单元的编码单元执行编码。由于在当前深度的一个编码单元中存在更低深度的至少一个编码单元,因此对更低深度的每个编码单元重复地执行编码,从而可针对具有相同深度的编码单元递归地执行编码。
由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一种编码模式的信息,因此可针对一个最大编码单元确定关于至少一种编码模式的信息。此外,由于图像数据根据深度被分层地划分,因此最大编码单元的图像数据的编码深度可根据位置而不同, 从而可针对图像数据设置关于编码深度和编码模式的信息。
因此,输出单元130可将关于相应编码深度和编码模式的编码信息分配给在最大编码单元中包括的编码单元、预测单元和最小单元中的至少一个。
根据本发明的实施例的最小单元是通过将构成最低深度的最小编码单元划分成4份而获得的矩形数据单元。可选地,最小单元可以是可在包括于最大编码单元中的所有的编码单元、预测单元、分区单元和变换单元中包括的最大的矩形数据单元。
例如,可将通过输出单元130输出的编码信息分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式和关于分区的尺寸的信息。根据预测单元的编码信息可包括关于估计的帧间模式的方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息以及关于帧内模式的插值方法的信息。此外,可将关于根据画面、条带或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息插入到比特流的头中。
在视频编码设备100中,较深层编码单元可以是通过将作为上面一层的更高深度的编码单元的高度或宽度除以2而获得的编码单元。换句话说,当当前深度的编码单元的尺寸是2N×2N时,更低深度的编码单元的尺寸是N×N。此外,尺寸为2N×2N的当前深度的编码单元可包括最多4个更低深度的编码单元。
因此,视频编码设备10可基于考虑当前画面的特性而确定的最大编码单元的尺寸和最大深度,通过针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于通过使用各种预测模式和变换中的任意一种来对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
因此,如果以传统宏块来编码具有高分辨率或大数据量的图像,则每个画面的宏块数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,从而难以发送压缩信息,并且数据压缩效率降低。然而,由于在考虑图像的尺寸时增加编码单元的最大尺寸,同时在考虑图像的特性时调整编码单元,因此可通过使用视频编码设备100提高图像压缩效率。
图2是根据本发明的实施例的视频解码设备200的框图。
视频解码设备200包括接收器210、图像数据和编码信息提取器220以 及图像数据解码器230。针对视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元以及关于各种编码模式的信息)的定义与参照图1和视频编码设备100描述的术语相同。
接收器210接收并解析编码视频的比特流。图像数据和编码信息提取器220针对每个编码单元从解析的比特流提取编码的图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从关于当前画面的头提取关于当前画面的编码单元的最大尺寸的信息。
此外,图像数据和编码信息提取器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,因此视频数据320的编码单元325可包括具有64的长轴尺寸的最大编码单元,以及由于通过划分三次最大编码单元将深度加深至3而具有32、16和8的长轴尺寸的编码单元。随着深度加深,可精确地表示详细信息。
图4是根据本发明的实施例的基于编码单元的图像编码器400的框图。
图像编码器400执行视频编码设备100的编码单元确定器120的操作以对图像数据进行编码。换句话说,帧内预测器410在当前帧405中以帧内模式对编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495在当前帧405中以帧间模式对编码单元执行帧间估计和运动补偿。
从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为被量化的变换系数。被量化的变换系数通过反量化器460和逆变换器470被恢复为空间域中的数据,并且空间域中的恢复的数据在通过去块单元480和环路滤波单元490被后处理之后被输出为参考帧495。被量化的变换系数可通过熵编码器450被输出为比特流455。
为了使图像编码器400应用在视频编码设备100中,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度时基于在具有树结构的编码单元中的每个编码单元执行操作。
具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度时确定在具有树结构的编码单元中的每个编码单元的分区和预测模式,并且变换器430确定在具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
图5是根据本发明的实施例的基于编码单元的图像解码器500的框图。
解析器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使用分层编码单元以考虑图像的特性。编码单元的最大高度、最大宽度和最大深度可根据图像的特性被自适应地确定,或可被用户不同地设置。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。
在编码单元的分层结构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×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是根据本发明的实施例的根据深度的较深层编码单元的示图。
划分信息可用来指示深度的改变。划分信息指示当前深度的编码单元是否被划分成更低深度的编码单元。
用于对深度为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、N_0×2N_0、2N_0×N_0和N_0×N_0的分区类型912至916中的一个分区类型中编码误差最小,则可不将预测单元910划分成更低深度。
如果在尺寸为N_0×N_0的分区类型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。
如果在具有N_1×N_1的尺寸的分区类型948中编码误差最小,则深度从1改变到2以在操作950中划分分区类型948,并对深度为2和尺寸为N_2×N_2的编码单元960重复执行编码来搜索最小编码误差。
当最大深度是d时,根据每个深度的划分操作可被执行直到深度变成d-1,并且划分信息可被编码直到深度是0至d-2中的一个。换句话说,当编码被执行直到在与d-2的深度相应的编码单元在操作970中被划分之后深度是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并且具有最低深度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之间的关系的示图。
编码单元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在尺寸和形状方面不同于预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元单独地执行帧内预测、运动估计、运动补偿、变换和逆变换。
因此,在最大编码单元的每个区域中对具有分层结构的编码单元中的每个编码单元递归地执行编码以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。
表1
视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收到的比特流提取关于具有树结构的编码单元的编码信息。
划分信息指示是否将当前编码单元划分成更低深度的编码单元。如果当前深度的划分信息是0,则当前编码单元不再被划分到更低深度的深度是编码深度,从而可针对所述编码深度来定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对更低深度的四个划分编码单元独立地执行编码。
预测模式可以是帧内模式、帧间模式和跳过模式中的一种。帧内模式和帧间模式可被定义在所有分区类型中,跳过模式仅被定义在尺寸为2N×2N的分区类型中。
关于分区类型的信息可指示通过对称地划分预测单元的高度或宽度而获得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型,以及通过非对称地划分预测单元的高度或宽度而获得的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的非对称分区类型。可通过将预测单元的高度划分成1:3和3:1来分别获得尺寸为2N×nU和2N×nD的非对称分区类型,可通过将预测单元的宽度划分成1:3和3:1来分别获得尺寸为nL×2N和nR×2N的非对称分区类型。
可将变换单元的尺寸设置成帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是作为当前编码单元的尺寸的2N×2N。如果变换单元的划分信息是1,则可通过划分当前编码单元来获得变换单元。此外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是非对称分区类型,则变换单元的尺寸可以是N/2×N/2。
关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一种。与编码深度相应的编码单元可包括包含相同编码信息的预测单元和最小单元中的至少一种。
因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。
因此,如果当前编码单元基于邻近数据单元的编码信息被预测,则可直接参考并使用在与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。
可选地,如果当前编码单元基于邻近数据单元的编码信息被预测,则使用所述数据单元的编码信息来搜索与当前编码单元邻近的数据单元,搜索的相邻编码单元可被参考用于预测当前编码单元。
图13是用于描述根据表1的编码模式信息的在编码单元、预测单元或分区和变换单元之间的关系的示图。
最大编码单元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所描述的,预测单元是用于编码单元的预测编码的数据单元。在下文中,预测单元指示预测单元自身或通过划分预测单元而获得的分区。
如上所述,通过使用各种预测模式(诸如帧内预测模式、帧间模式和跳过模式)来编码预测单元。
在帧间预测模式中,经由单向预测或双向预测来预测当前预测单元。详细地,经由仅使用包括在参考画面列表“列表0”中的参考画面“L0画面”和包括在参考画面列表“列表1”中的参考画面“L1画面”中的一个的单向预测来预测包括在P条带中的预测单元。使用包括在参考画面列表“列表0”中的参考画面“L0画面”的预测方法被称为“LO预测”。使用包括在参考画面列表“列表1”中的参考画面“L1画面”的预测方法被称为“L1预测”。在参考画面列表“列表0”,参考画面索引以从最新过去画面到所述最新过去画面的先前画面的顺序被分配,并然后以从最近将来画面到在所述最近将来画面之后的下一个画面的顺序被分配。另一方面,在参考画面列表“列表1” 中,参考画面索引以从最近将来画面到在所述最近将来画面之后的下一个画面的顺序被分配,并然后以从最新过去画面到所述最新过去画面的先前画面的顺序被分配。
经由单向预测或使用包括在参考画面列表“列表0”中的参考画面“L0画面”和包括在参考画面列表“列表1”中的参考画面“L1画面”的平均值的双向预测来预测包括在B条带中的预测单元。由运动估计器420执行的双向预测模式可使用两个参考画面而不限制于当前画面的先前参考画面或下一个参考画面,并可被称为双向预测模式。
将通过对根据预测模式获得的预测值进行编码而获得的损耗彼此进行比较,并将具有最小损耗的预测模式确定为当前预测单元的最终预测模式。当损耗被彼此比较时,可基于率失真来确定将被应用到当前预测单元的最终预测模式。
为了使解码端产生被执行帧间预测的预测单元的预测值,可将关于被执行帧间预测的每个预测单元所参考的画面的参考画面信息、运动矢量信息和运动信息(诸如预测方向)发送到解码端。根据本发明的实施例,为了减少发送开销,所述运动信息基于通过使用被先前编码的相邻预测单元的运动信息或通过使用在先前画面中与当前预测单元共同定位的预测单元而被预测的运动信息被编码,而不是在没有变化的情况下被编码。
根据本发明的实施例,提供用于以下处理的各种方法:另外地产生候选运动信息,使得当由编码端和解码端先前确定的从在空间上和时间上与当前预测单元共同定位的预测单元获得的默认运动信息的条数小于预定数量时,运动信息的总条数等于预定数量。根据本发明的实施例,可通过编码端和解码端预先确定在另外地产生候选运动信息的各种方法中的相同方法。在这种情况下,可设置指示另外地产生候选运动信息的各种方法的各自预定索引。另外,指示另外地产生被用于编码的候选运动信息的方法的索引可被添加到序列参数集(SPS)、图像参数集(PPS)或条带头并可被发送。
在整个本说明书中,将在作为运动信息的运动矢量信息被编码的情况下描述本发明。然而,本发明不限于此。可选地,可将本发明应用于运动信息(诸如参考画面信息和预测方向信息)而不是运动矢量信息被编码的情况。
在下文中,将对于本发明的示例性实施例来详细地描述用于编码预测单元的运动信息的方法和设备以及用于解码预测单元的运动信息的方法和设 备。
图14是根据本发明的实施例的运动信息编码设备1400的框图。参照图14,运动信息编码设备1400包括候选运动信息产生单元1410和运动信息编码器1420。图14的运动信息编码设备1400可被包括在图4的图像编码器400中。例如,图4的运动估计器420可执行图14的候选运动信息产生单元1410的功能,图4的熵编码器450可执行图14的运动信息编码器1420的功能。本发明不限于此。图4的图像编码器400的其他组件或控制器(未示出)可执行图14的运动信息编码设备1400的功能。候选运动信息产生单元1410通过使用在空间上和在时间上与当前预测单元共同定位的相邻预测单元的运动信息来获得候选运动信息。具体地讲,候选运动信息产生单元1410从在空间上与被先前设置的当前预测单元共同定位的相邻预测单元和在时间上与被先前设置的当前预测单元共同定位的预测单元中获得默认候选运动信息。如果默认候选运动信息的条数小于预定数量n(其中,n是整数),则候选运动信息产生单元1410通过修改或合并在空间上与当前预测单元共同定位的预测单元的运动信息和在时间上与当前预测单元共同定位的预测单元的运动信息或者添加具有预定值的运动信息,来产生“n”条候选运动信息,使得候选运动信息的总条数可以是“n”。随后将描述产生候选运动信息的处理。
运动信息编码器1420从“n”条候选运动信息中确定关于当前预测单元的运动信息,并将指示确定的运动信息的索引信息编码为当前预测单元的运动信息。详细地,运动信息编码器1420分别将0至(n-1)运动信息索引分配给“n”条候选运动信息,并将与当前预测单元的运动信息相应的索引编码为当前预测单元的运动信息。例如,当运动信息与预测运动矢量相应并且n=2时,也就是说,当当前预测单元的预测运动矢量候选的数量被固定为2时,如果由候选运动信息产生单元1410分别对于方向L0和方向L1产生的两个预测运动矢量候选分别是MVLX_Cand0和MVLX_Cand1(X是0或1),则运动信息编码器1420将指示MVLX_Cand0的预测运动矢量索引设置为0,将指示MVLX_Cand1的预测运动矢量索引设置为1,并根据当前预测单元的编码结果将与具有最小损耗的预测运动矢量相应的索引编码为当前预测单元的运动矢量信息。
除了预测运动矢量索引之外,运动信息编码器1420可编码参考画面信息、预测方向信息和在预测运动矢量和当前预测单元的原始运动矢量之间的 差值,并可将编码的信息添加到比特流。
当编码端在预定规则下获得固定条数的候选运动信息并发送指示多条候选运动信息中的单条运动信息的索引信息时,解码端可在与编码端相同的规则下产生固定条数的候选运动信息,可通过使用发送的索引信息来确定当前预测单元的运动信息。类似于上述示例,当运动信息与预测运动矢量相应时,编码端可从比特流获得指示预测运动矢量的索引以及在运动矢量和预测运动矢量之间的差值,并可通过将所述差值和由预测运动矢量索引指示的预测运动矢量相加来恢复当前预测单元的运动矢量。另外,解码端可通过使用恢复的运动矢量以及从比特流获得的参考图像信息和预测方向信息(方向L0和L1)来产生当前预测单元的预测值。
图15是根据本发明的实施例的图14的候选运动信息产生单元1410的框图。
参照图15,候选运动信息产生单元1410包括空间候选运动信息产生单元1510、时间候选运动信息产生单元1520、冗余去除单元1530和附加候选运动信息产生单元1540。
空间候选运动信息产生单元1510通过使用在空间上与当前预测单元共同定位的预测单元的运动信息来产生候选运动信息。详细地,空间候选运动信息产生单元1510包括上侧候选运动信息产生单元1511和左侧候选运动信息产生单元1512,其中,上侧候选运动信息产生单元1511以预定顺序依次搜索位于当前预测单元上面的相邻预测单元来获得运动信息,左侧候选运动信息产生单元1512以预定顺序依次搜索位于当前预测单元左侧的相邻预测单元来获得运动信息。
图16示出根据本发明的实施例的在空间上与当前预测单元共同定位的相邻预测单元。本发明不限于图16中示出的情况。例如,可将不同空间位置的相邻预测单元用作用于预测当前预测单元的运动信息的在空间上与当前预测单元共同定位的相邻预测单元。
参照图16,空间候选运动信息产生单元1510以预定搜索顺序在位于当前预测单元1610的左侧的相邻预测单元中搜索位于当前预测单元1610的左下角的左下角相邻预测单元A0 1621和位于左下角相邻预测单元A0 1621上方的左下侧相邻预测单元A1 1622,并将在左下角相邻预测单元A0 1621和左下侧相邻预测单元A1 1622中被首先搜索到的具有可用运动信息的第一预 测单元的运动信息确定为左侧候选运动信息。另外,空间候选运动信息产生单元1510在位于当前预测单元1610上方的相邻预测单元中搜索位于当前预测单元1610的右上侧的相邻预测单元B0 1631、位于相邻预测单元B0 1631左侧的相邻预测单元B1 1632以及位于当前预测单元1610左上侧的相邻预测单元B2 1633,并将被首先搜索到的具有可用运动信息的预测单元的运动信息确定为上侧候选运动信息。同样地,空间候选运动信息产生单元1510不搜索位于当前预测单元1610周围的所有的预测单元,并搜索默认的相邻预测单元(即,相邻预测单元A0、A1、B0、B1和B2)来获得运动信息,从而减小计算复杂度。如上所述,可改变被搜索以获得空间候选运动信息的相邻预测单元的数量和位置。然而,为了使解码端恢复当前预测单元的运动信息,可预先设置在编码端和解码端中被搜索以获得空间候选运动信息的相邻预测单元的数量和位置。
如用于确定运动信息的处理的示例,将描述用于从在空间上与当前预测单元共同定位的相邻预测单元中确定当前预测单元的运动矢量的预测运动矢量的处理。
参照图15和图16,左侧候选运动信息产生单元1512依次检查左下角相邻预测单元A0 1621和左下侧相邻预测单元A1 1622的运动矢量是否可用,并将具有可用运动矢量的相邻预测单元的运动矢量确定为左侧候选运动矢量。这里,运动矢量的可用性是指相邻预测单元是否具有指示在与当前预测单元相同的参考画面列表中的相同参考画面的运动矢量。例如,当当前预测单元1610的运动矢量是指示具有列表L0中的参考索引RO的参考画面(LORO画面)的运动矢量时,如果左下角相邻预测单元A0 1621是被执行帧内预测的预测单元,或者具有指示在与当前预测单元1610不同的参考画面列表中包括的参考画面的运动矢量,或者具有指示在与当前预测单元1610相同的参考画面列表中包括的不同参考画面的运动矢量,则确定左下角相邻预测单元A0 1621不具有可用的运动矢量。如果左下侧相邻预测单元A1 1622具有指示在与当前预测单元1610相同的参考画面列表中的相同画面的运动矢量,则左下侧相邻预测单元A1 1622的运动矢量被确定为左侧候选运动矢量。
类似地,上侧候选运动信息产生单元1511依次检查相邻预测单元B0 1631、相邻预测单元B1 1632和相邻预测单元B2 1633的运动矢量是否可用,并将指示在与当前预测单元1610相同的参考画面列表中的相同参考画面的 相邻预测单元的运动矢量确定为上侧候选运动矢量。
当在相邻预测单元中不存在具有可用运动矢量的相邻预测单元时,空间候选运动信息产生单元1510可对指示与当前预测单元1610相同的参考画面列表的不同参考画面的相邻预测单元的运动矢量或指示在与当前预测单元1610不同的参考画面列表中包括的参考画面的相邻预测单元的运动矢量进行缩放,并可将缩放后的运动矢量用作当前预测单元1610的预测运动矢量候选。
图17A是根据本发明的实施例的用于解释用于确定被缩放的空间预测运动矢量候选的处理的参考示图。
参照图17A,当前预测单元1731的运动矢量MVL0_Cur指示作为具有列表L0中的参考索引RO的参考画面的LORO画面1720,左下角相邻预测单元A0 1621具有被执行帧内预测的预测单元,左下侧相邻预测单元A1 1622具有指示L1R0画面1740(作为具有列表L1中的参考索引R0的参考画面)的运动矢量mvL1_A1,相邻预测单元B0 1631具有被执行帧内预测的预测单元,相邻预测单元B11632具有指示L1R1画面1750(作为具有列表L1中的参考索引R1的参考画面)的运动矢量mvL1_B1,并且相邻预测单元B2 1633具有指示LOR1画面1710(作为具有列表L0中的参考索引R1的参考画面)的运动矢量mvL0_B2。在图17A中,在当前预测单元1731的相邻预测单元中的任何预测单元都不具有与当前预测单元1731的运动矢量MVL0_Cur相同的指示LOR0画面1720的运动矢量。当在相邻预测单元中不存在具有指示与由当前预测单元1731的运动矢量指示的参考画面相同的参考画面的运动矢量的相邻预测单元时,空间候选运动信息产生单元1510可基于在由被执行帧间预测的预测单元的运动矢量所指示的参考画面和由当前预测单元的运动矢量所指示的参考画面之间的时间距离,对相邻预测单元中的被执行帧间预测的预测单元的运动矢量进行缩放,并可将缩放后的运动矢量添加到候选运动矢量。也就是说,空间候选运动信息产生单元1510可将在相邻预测单元的运动矢量中的指示具有在与当前预测单元1731相同的参考画面列表中的不同参考索引的参考画面的相邻预测单元的运动矢量添加到候选运动矢量。另外,当在相邻预测单元的运动矢量中不存在指示具有在与当前预测单元1731相同的参考画面列表中的不同参考索引的参考画面的相邻预测单元的运动矢量时,空间候选运动信息产生单元1510可将指示在与当前预测单元1731不同的参 考画面列表中的参考画面的相邻预测单元的运动矢量添加到候选运动矢量。
例如,除被执行帧内预测的左下角相邻预测单元A0 1621之外,空间候选运动信息产生单元1510可考虑到在当前画面1730和由当前预测单元1731的运动矢量MVL0_Cur指示的LOR0画面1720之间的时间距离以及在当前画面1730和由左下侧相邻预测单元A1 1622的运动矢量mvL1_A1指示的L1R0画面1740之间的时间距离,对左下侧相邻预测单元A1 1622的运动矢量mvL1_A1进行缩放,并可将缩放后的运动矢量mvL1_A1’确定为左侧运动矢量候选。
另外,空间候选运动信息产生单元1510可对指示LOR1画面1710(作为具有在与当前预测单元1731的运动矢量MVL0_Cur相同的参考画面中的不同参考索引的参考画面)的相邻预测单元B2 1633的运动矢量mvL0_B2进行缩放,而不是指示L1R1画面1750(作为在与当前预测单元1731不同的参考画面列表中的参考画面)的相邻预测单元B1 1632的运动矢量mvL_B1,并将缩放后的运动矢量mvL0_B2’确定为上侧运动矢量候选。也就是说,当空间候选运动信息产生单元1510确定需要缩放的相邻预测单元的运动矢量时,空间候选运动信息产生单元1510可确定指示包括在与当前预测单元的运动矢量相同的参考画面列表中的参考画面的相邻预测单元的运动矢量。然后,当不存在指示包括在与当前预测单元相同的参考画面列表中的参考画面的相邻预测单元的运动矢量时,空间候选运动信息产生单元1510可将指示包括在与当前预测单元不同的参考画面列表中的参考画面的相邻预测单元的运动矢量确定为需要缩放的运动矢量。空间候选运动信息产生单元1510可考虑到在当前画面1730和由当前预测单元1731的运动矢量MVL0_Cur指示的L0R0画面1720之间的时间距离以及在当前画面1730和由相邻预测单元B2 1633的运动矢量mvL0_B2指示的L0R1画面1710之间的时间距离,对相邻预测单元B2的运动矢量mvL0_B2进行缩放,并可将缩放后的运动矢量mvL0_B2’确定为上侧运动矢量候选。
图18是根据本发明的实施例的用于解释通过对相邻预测单元的运动矢量进行缩放来产生当前预测单元的预测运动矢量候选的方法的参考示图。
如上所述,当在当前预测单元的相邻预测单元中不存在与当前预测单元相同的运动矢量(即,指示具有在与当前预测单元相同的参考画面列表中包括的相同参考索引的参考画面的运动矢量)时,可对参考在与当前预测单元相同的参考画面列表中的不同参考画面的相邻预测单元的(图18的预测单元 Bn)运动矢量MV(Bn)或者参考在与当前预测单元不同的参考画面列表中包括的参考画面的相邻预测单元(图18的预测单元An)的运动矢量MV(An)进行缩放,并可将缩放后的运动矢量添加到当前预测单元的预测运动矢量候选。详细地,当在当前画面和由当前预测单元的运动矢量MVL0_Cur指示的参考画面(LOR0画面)之间的空间距离d(cur)是d(cur)并且在当前画面和由预测单元Bn的运动矢量MV(Bn)指示的参考画面(LOR1画面)之间的时间距离是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)’添加到当前预测单元的预测运动矢量候选。
考虑到预定条件,可确定缩放后的运动矢量是否包括在空间运动矢量候选中。例如,仅当帧内预测针对与当前预测单元的左侧相邻的相邻预测单元A0和A1中的一个被执行时,空间候选运动信息产生单元1510可对在相邻预测单元B0、B1和B2中的被执行帧间预测的预测单元的运动矢量进行缩放,并可将缩放后的运动矢量添加到上侧运动矢量候选。换句话说,可根据预定条件是否被满足,选择性地执行是否将缩放后的运动矢量添加到空间预测运动矢量候选。所述预定条件可按各种方式被设计并且不限于以上描述的示例。
在以上描述的示例中,当空间候选运动信息产生单元1510搜索在空间上与当前预测单元共同定位的上侧预测单元和左侧预测单元时,空间候选运动信息产生单元1510按A0->A1的顺序来搜索左侧相邻预测单元,或者按B0->B1->B2的顺序来搜索上侧相邻预测单元。然而,本发明不限于此扫描顺序。可选地,空间候选运动信息产生单元1510可以以例如A1->B1->B0->A0->B2的顺序而不是诸如上侧或左侧的基准来确定相邻预测单元,并确定是否将每个相邻预测单元的运动信息用作当前预测单元的运动信息。
另外,当空间候选运动信息产生单元1510产生空间候选运动信息时,空间候选运动信息产生单元1510可在无需代替以预定扫描顺序搜索相邻预测单元的任何扫描顺序的情况下,检查位于当前预测单元上方和当前预测单元 左侧的所有预测单元(例如,所有相邻预测单元A0、A1、B0、B1和B2)的运动信息是否可用,然后可将在相邻预测单元A0、A1、B0、B1和B2的运动信息中的所有可用运动信息条添加到空间运动信息候选。
参照图15,时间候选运动信息产生单元1520通过使用在时间上与当前预测单元共同定位的运动单元的运动信息(即,在被先前编码的先前画面的预测单元中的基于当前预测单元的位置被共同定位的运动单元的运动信息)来产生时间候选运动信息。
图19是根据本发明的实施例的用于解释产生时间候选运动信息的处理的参考示图。
参照图15和图19,时间候选运动信息产生单元1520可通过使用在对当前画面1910先前编码的参考画面1920的预测单元中的位于参考画面1920的预测单元1921(具有与当前预测单元1911相同的位置)右下侧的预测单元1924的运动信息,来产生时间候选运动信息。例如,当运动信息是预测运动矢量时,时间候选运动信息产生单元1520可通过对预测单元1924的运动矢量进行缩放来产生时间运动矢量候选。如参考图18所描述的,可基于在LOR0画面1920和参考画面L1R01930之间的时间距离以及在当前画面1910和参考画面L1R01930之间的时间距离来执行时间预测运动矢量的缩放。
如果位于预测单元1921右下侧的预测单元1924被帧内预测,使得预测单元1924的运动矢量不可用,则时间候选运动信息产生单元1520可对包含与当前预测单元1911的中心点的点C 1912相同位置的参考画面1920的点C’1922的预测单元1921的运动矢量进行缩放,并可产生时间预测运动矢量。也就是说,时间候选运动信息产生单元1520可首先检查在先前画面的预测单元中的位于具有与当前预测单元相同的位置的预测单元的右下侧的预测单元的运动信息是否可用,并可继而确定包含具有与当前预测单元的中心点相同的位置的点的预测单元的运动信息是否可用,然后可将可用的预测单元的运动信息添加到时间候选运动信息。被搜索以产生时间候选运动信息的先前画面的预测单元的数量和位置可不限于图19中示出的情况,并可以以各种方式被改变。另外,当时间候选运动信息产生单元1520产生时间候选运动信息时,时间候选运动信息产生单元1520可不以预定顺序检查先前画面的预测单元的运动信息是否可用,可检查位于具有与当前预测单元相同的位置的预测单元的左下侧的预测单元的运动信息是否可用以及包含具有与当前预测单元的 中心点相同的位置的点的预测单元的运动信息是否可用这两者,然后可将先前画面的预测单元的所有可用运动信息条添加到时间候选运动信息。
参照图15,冗余去除单元1530可确定空间候选运动信息和时间候选运动信息是否彼此相同,并可从候选运动信息中去除冗余运动信息。为了减小计算复杂度,可省略冗余去除单元1530。也就是说,可跳过检查冗余的处理。
由空间候选运动信息产生单元1510和时间候选运动信息产生单元1520产生的候选运动信息的条数可小于预定数量“n”。在以上描述的示例中,当帧内预测针对位于当前预测单元上方或当前预测单元左侧的所有相邻预测单元被执行时,或者当帧内预测针对位于由时间候选运动信息产生单元1520搜索的先前画面的预定位置中的预测单元被执行时,产生的候选运动信息的条数可小于“n”。
当由空间候选运动信息产生单元1510和时间候选运动信息产生单元1520所产生的产生的候选运动信息的条数小于预定数量“n”时,附加候选运动信息产生单元1540可通过使用空间预测单元的运动信息和时间预测单元的可用运动信息来产生附加候选运动信息,使得候选运动信息的总条数可以是“n”。
在下文中,将描述经由附加候选运动信息产生单元1540产生附加候选运动信息的各种方法。
当空间候选运动信息产生单元1510依次检查当前预测单元的相邻预测单元是否可用时,附加候选运动信息产生单元1540可通过使用在被首先检查到的可用相邻预测单元之后被检查的预测单元的运动信息来产生附加候选运动信息。
图17B是根据本发明的实施例的用于解释用于通过使用在空间上与当前预测单元共同定位的预测单元来产生附加候选运动信息的处理的参考示图。
参照图17B,附加候选运动信息产生单元1540可从相邻预测单元A0、A1、B0、B1和B2将具有可用运动信息但由于在以扫描顺序被先前扫描的另一预测单元之后被检查而未被包括在候选运动信息中的预测单元的运动信息产生为附加候选运动信息。
例如,假设由空间候选运动信息产生单元1510产生的左侧候选运动信息是“Left”,由空间候选运动信息产生单元1510产生的上侧候选运动信息是“Above”,由时间候选运动信息产生单元1520产生的时间候选运动信息是 “Temporal”。附加候选运动信息产生单元1540确定候选运动信息(即,Left、Above和Temporal)是否可用(即,候选运动信息是否存在),并确定候选运动信息的条数是否为预定数量3(与n=3相应)。另外,当候选运动信息的条数小于预定数量时,附加候选运动信息产生单元1540可通过使用在被先前检查的可用相邻预测单元之后被检查的预测单元的运动信息来产生附加候选运动信息。
如上所述,当空间候选运动信息产生单元1510产生空间候选运动信息时,空间候选运动信息产生单元1510可在无需任何扫描顺序的情况下检查位于当前预测单元上方和左侧的所有预测单元(例如,所有相邻预测单元A0、A1、B0、B1和B2)的运动信息是否可用,然后可将在相邻预测单元A0、A1、B0、B1和B2的运动信息中的所有可用运动信息条添加到空间运动信息候选。在这种情况下,当候选运动信息的条数小于预定数量(例如,5)时,附加候选运动信息产生单元1540可通过使用可用预测单元的运动信息来产生附加候选运动信息。
假设左侧候选运动信息不存在,并且相邻预测单元B0、B1和B2的运动信息可用。如图17B中所示,将以扫描顺序被先前检查的相邻预测单元B0的运动信息选择为上侧候选运动信息,相邻预测单元B1和B2的运动信息不包括在默认运动信息中。当候选运动信息的总条数由于相邻预测单元A0和A1不具有可用运动信息而小于预定数量时,附加候选运动信息产生单元1540可将相邻预测单元B1或B2的运动信息添加到附加候选运动信息。
类似地,当上侧候选运动信息不存在,并且左侧相邻预测单元A0和A1的运动信息可用时,将被先前检查的相邻预测单元A0的运动信息选择为左侧运动信息,并且在相邻预测单元A0之后被检查的相邻预测单元A1的运动信息不包括在默认运动信息中。然而,当候选运动信息的条数由于相邻预测单元B0、B1和B2不具有可用运动信息而小于预定数量时,可将相邻预测单元A1的运动信息包括在附加候选运动信息中。
根据本发明的另一实施例,当时间候选运动信息产生单元1520依次检查在时间上与当前预测单元共同定位的先前画面的预测单元是否可用时,附加候选运动信息产生单元1540可对在具有可用运动信息的除了第一先前画面之外的其余先前画面的预测单元中的具有运动信息的先前画面的预测单元的运动信息进行缩放,并可将缩放后的运动信息添加到附加候选运动信息。
再次参照图19,时间候选运动信息产生单元1520检查在被先前编码的参考画面1920的预测单元中的位于具有与当前预测单元1911相应的位置的参考画面1920的预测单元1921右下侧的预测单元1924的运动信息对当前画面1910是否可用,然后确定包含与当前预测单元1911的中心点的点C 1912相同的位置的参考画面1920的点C’1922的预测单元1921的运动信息是否可用。如果位于预测单元1921右下侧的预测单元1924具有可用运动信息,则位于预测单元1921右下侧的预测单元1924的运动信息被包括在默认候选运动信息中,并且包含与点C 1912相同的位置的参考画面1920的点C’1922的预测单元1921的运动信息不被包括在默认候选运动信息中。当候选运动信息的总条数小于预定数量时,附加候选运动信息产生单元1540可将包含与点C 1912相同的位置的参考画面1920的点C’1922的预测单元1921的运动信息添加到附加候选运动信息。也就是说,附加候选运动信息产生单元1540可将在先前画面的预测单元中的不被包括在默认候选运动信息中的预测单元的运动信息添加到附加候选运动信息。
根据本发明的另一实施例,附加候选运动信息产生单元1540可将具有预定值的运动信息添加到附加候选运动信息。例如,当运动信息是预测运动矢量时,如果候选运动信息的条数小于预定数量,则附加候选运动信息产生单元1540可将具有预定分量值的运动矢量(诸如(0,0)、(0,1)或(1,0))添加到候选运动矢量。
根据本发明的另一实施例,当空间预测单元和时间预测单元的可用运动信息包含方向L0和L1的预测的双向运动矢量信息时,附加候选运动信息产生单元1540可将预定偏移量(offset)加到方向L0的预测的运动矢量和方向L1的预测的运动矢量上或者从方向L0的预测的运动矢量和方向L1的预测的运动矢量减去预定偏移量,来产生附加候选运动信息。
图20A和图20B是根据本发明的另一实施例的用于通过使用可用预测单元的运动信息来产生附加候选运动信息的处理的示图。图21A和图21B是根据本发明的实施例的用于描述当产生图20A和图20B的附加候选运动信息时在当前画面和参考画面之间的位置关系的示图。
参照图20A和图21A,当在位于当前预测单元上方的预测单元中的相邻预测单元B1具有指示作为方向L0的预测的参考图像的LORO画面2110的运动矢量mvL0_B1和指示作为方向L1的预测的参考画面的L1R0画面2120的运 动矢量mvL1_B1,并且当前画面2100位于L0R0画面2110和L1R0画面2120之间时,附加候选运动信息产生单元1540可将具有相同绝对值和不同符号的预定偏移量加到方向L0的预测的运动矢量mvL0_B1和方向L1的预测的运动矢量mvL1_B1上来产生新的运动矢量,并可将所述新的运动矢量添加到附加候选运动信息。也就是说,如图20A中所示,附加候选运动信息产生单元1540可将预定偏移量mv_offset加到方向L0的预测的运动矢量mvL0_B1上,使得产生的运动矢量mvL0’可被包括在方向L0的预测的附加候选运动矢量中,并可从方向L1的预测的运动矢量mvL1_B1减去偏移量mv_offset,使得产生的运动矢量mvL1’可被包括在方向L1的预测的附加候选运动矢量中。
当被包括在从可用相邻预测单元获得的双向运动信息中的方向L0的运动矢量List0MV具有值(mx0,my0)并且方向L1的运动矢量List1MV具有值(mx1,my1)时,如果当前画面位于方向L1的预测的参考画面和方向L0的预测的参考画面之间,则附加候选运动信息产生单元1540可将预定偏移量(offset)加到方向L0的预测的运动矢量和方向L1的预测的运动矢量上并从方向L0的预测的运动矢量和方向L1的预测的运动矢量减去预定偏移量来产生附加候选运动信息,如下所示。
List0MV=(mx0+offset,my0),List1MV=(mx0-offset,my0);
List0MV=(mx0-offset,my0),List1MV=(mx0+offset,my0);
List0MV=(mx0,my0+offset),List1MV=(mx0,my0-offset);
List0MV=(mx0,my0-offset),List1MV=(mx0,my0+offset);
List0MV=(mx0+offset,my0+offset),
List1MV=(mx0-offset,my0-offset);
List0MV=(mx0+offset,my0-offset),
List1MV=(mx0-offset,my0+offset);
List0MV=(mx0-offset,my0+offset),
List1MV=(mx0+offset,my0-offset);和
List0MV=(mx0-offset,my0-offset),
List1MV=(mx0+offset,my0+offset)。
参照图20B和图21B,当在位于当前预测单元上方的预测单元中的相邻预测单元B1具有指示作为方向L0的参考画面的L1R0画面2140的运动矢量mvL1R0_B1以及指示作为方向L1的参考画面的L1R1画面2150的运动矢量 mvL1R1_B1时,如果L1R0画面2140和L1R1画面2150对于当前画面2130位于相同位置,则附加候选运动信息产生单元1540可将预定偏移量加到方向L0的预测的运动矢量mvL1R0_B1和方向L1的预测的运动矢量mvL1R1_B1上或从方向L0的预测的运动矢量mvL1R0_B1和方向L1的预测的运动矢量mvL1R1_B1减去预定偏移量来产生新的运动矢量,并可将产生的所述新的运动矢量添加到附加候选运动信息。也就是说,如图20B所示,附加候选运动信息产生单元1540可将通过将偏移量mv_offset加到方向L0的预测的运动矢量mvL1R0_B1上所产生的运动矢量mvL0’添加到方向L0的预测的附加候选运动矢量,并可将通过将偏移量mv_offset加到方向L1的预测的运动矢量mvL1R1_B1上所产生的运动矢量mvL1’添加到方向L1的附加候选运动矢量。
当从可用相邻预测单元获得的方向L0的运动矢量List0MV具有值(mx0,my0),方向L1的运动矢量List1MV具有值(mx1,my1),并且方向L1的参考画面和方向L0的参考画面对于当前画面位于相应位置时,附加候选运动信息产生单元1540可将预定偏移量加到方向L0的预测的运动矢量和方向L1的预测的运动矢量上或从方向L0的预测的运动矢量和方向L1的预测的运动矢量减去预定偏移量来产生附加候选运动信息,如下所示。
List0MV=(mx0+offset,my0),List1MV=(mx0+offset,my0);
List0MV=(mx0-offset,my0),List1MV=(mx0-offset,my0);
List0MV=(mx0,my0+offset),List1MV=(mx0,my0+offset);
List0MV=(mx0,my0-offset),List1MV=(mx0,my0-offset);
List0MV=(mx0+offset,my0+offset),
List1MV=(mx0+offset,my0+offset);
List0MV=(mx0+offset,my0-offset),
List1MV=(mx0+offset,my0-offset);
List0MV=(mx0-offset,my0+offset),
List1MV=(mx0-offset,my0+offset);和
List0MV=(mx0-offset,my0-offset),
List1MV=(mx0-offset,my0-offset)。
根据本发明的另一实施例,附加候选运动信息产生单元1540可改变空间预测单元和时间预测单元的可用运动信息来产生附加候选运动信息。当空间预测单元和时间预测单元的可用运动信息包括方向L0和L1的双向运动矢量 信息时,附加候选运动信息产生单元1540可将通过拆分方向L0和L1的预测所产生的双向信息添加到附加候选运动信息。例如,假设从可用空间预测单元和时间预测单元获得的双向运动信息包括方向L0的运动信息和方向L1的运动信息,其中,方向L0的运动信息包括方向L0的运动矢量List0MV和指示方向L0的参考画面的参考画面索引List0REF,方向L1的运动信息包括方向L1的运动矢量List1MV和指示方向L1的参考画面的参考画面索引List1REF。附加候选运动信息产生单元1540可划分双向运动信息来产生两条单向运动信息,并将所述两条单向运动信息添加到附加候选运动信息。也就是说,附加候选运动信息产生单元1540可将双向运动信息划分成方向L0的单向运动信息和方向L1的单向运动信息,并可将单向运动信息添加到附加候选运动信息,其中,方向L0的单向运动信息包括{方向L0的运动矢量List0MV和指示方向L0的参考画面的参考画面索引List0REF},方向L1的单向运动信息包括{方向L1的运动矢量List1MV和指示方向L1的参考画面的参考画面索引List1REF}。
另外,当空间预测单元和时间预测单元的可用运动信息包括方向L0的运动信息和方向L1的运动信息的单向运动信息时,附加候选运动信息产生单元1540可将通过合并方向L0和L1的单向运动信息所产生的双向运动信息添加到附加候选运动信息。例如,当包括{方向L0的运动矢量List0MV和指示方向L0的参考画面的参考画面索引List0REF}的方向L0的单向运动信息和包括{方向L1的运动矢量List1MV和指示方向L1的参考画面的参考画面索引List1REF}的方向L1的单向运动信息作为从在空间上和在时间上与当前预测单元共同定位的预测单元所获得的运动信息而存在时,合并方向L0的单向运动信息和方向L1的单向运动信息以产生双向运动信息,并将产生的双向运动信息添加到附加候选运动信息。
另外,附加候选运动信息产生单元1540可将具有预定值和参考索引的运动矢量添加到方向L0的单向运动信息和方向L1的单向运动信息中的任何一个,来产生不同方向的单向运动信息,使得获得的双向运动信息被添加到附加候选运动信息。例如,当只有包括{方向L0的运动矢量List0MV和指示方向L0的参考画面的参考画面索引List0REF}的方向L0的单向运动信息作为从在空间上和在时间上与当前预测单元共同定位的预测单元所获得的运动信息而存在时,附加候选运动信息产生单元1540可将具有预定值(诸如(0,0)) 的运动矢量设置为方向L1的运动矢量List1MV并可将指示方向L1的参考画面的参考画面索引List1REF设置为预定值0,来产生方向L1的运动信息,并可合并所产生的方向L1的运动信息和存在的方向L0的运动信息,使得产生的双向运动信息被包括在附加候选运动信息中。
附加候选运动信息产生单元1540可仅通过使用可用预测单元从可用预测单元的运动信息中产生运动矢量信息,并可单独地设置其余的参考方向(预测方向)信息或参考画面索引。在这种情况下,当附加候选运动信息产生单元1540通过使用可用预测单元的运动信息来产生附加候选运动信息时,附加候选运动信息产生单元1540可根据当前预测单元的条带类型产生参考方向信息。例如,当当前预测单元被包括在P条带中时,将包括在附加候选运动信息中的参考方向设置为方向L0。当当前预测单元被包括在B条带中时,可将参考方向设置为包括方向L0和L1的预测的双向。另外,附加候选运动信息产生单元1540可将参考画面索引设置在(0~可用预测单元的参考画面索引)中的范围内,并可将多个参考画面索引添加到附加候选运动信息。
当附加候选运动信息产生单元1540产生参考画面索引时,附加候选运动信息产生单元1540可使用指示具有在包括在可用空间预测单元和时间预测单元的运动信息中的参考画面中的最高频率的参考画面的参考画面索引,或者可使用指示由当前预测单元的最邻近的预测单元所参考的参考画面的参考画面索引,而不是如上所述的设置具有预定值的参考画面索引。
另外,当由空间候选运动信息产生单元1510和时间候选运动信息产生单元1520所产生的默认候选运动信息的条数小于预定数量“n”时,附加候选运动信息产生单元1540可省略用于检查包括在候选运动信息中的附加候选运动信息是否重复的处理,使得候选运动信息的总条数可以是“n”。也就是说,即使附加候选运动信息与默认运动信息相同,附加候选运动信息产生单元1540仍可将通过改变默认运动信息而产生的附加候选运动信息添加到候选运动信息。
图22是根据本发明的实施例的编码运动矢量的方法的流程图。
参照图22,在操作2310,运动估计器420对当前预测单元执行运动预测以获得关于当前预测单元的运动信息。
在操作2320,候选运动信息产生单元1410确定在空间上与当前预测单元共同定位的空间预测单元的运动信息和在时间上与当前预测单元共同定位 的时间预测单元的运动信息是否可用。如上所述,候选运动信息产生单元1410检查位于当前预测单元左侧的相邻预测单元A0和A1的运动信息和位于当前预测单元上方的相邻预测单元B0、B1和B2的运动信息是否可用,并可将可用相邻预测单元的运动信息添加到默认候选运动信息。另外,候选运动信息产生单元1410检查在先前画面的预测单元中的预定位置的预测单元的运动信息是否可用,并可将先前画面的运动信息添加到默认候选运动信息。
在操作2330,当空间预测单元和时间预测单元的运动信息条数小于预定数量“n”时,候选运动信息产生单元1410可通过使用可用空间预测单元和时间预测单元的运动信息来产生附加候选运动信息,使得候选运动信息的总条数可以是“n”。
在操作2340,运动信息编码器1420通过使用n条运动信息来编码当前预测单元的运动信息。详细地,运动信息编码器1420在产生的候选运动信息中确定与当前预测单元的运动信息最相似的运动信息,并发送指示确定的运动信息的索引信息。例如,当运动信息是运动矢量时,候选运动信息产生单元1410产生当前预测单元的预测运动矢量候选,并且运动信息编码器1420可编码关于指示在预测运动矢量候选中与当前预测单元的运动矢量最相似的预测运动矢量的索引值的信息,以及关于在当前预测单元的运动矢量和预测运动矢量之间的差值的信息。
图23是根据本发明的实施例的运动矢量解码设备2400的框图。
参照图23,运动矢量解码设备2400包括熵解码器2410、运动信息解码器2420和候选运动信息产生单元2430。
熵解码器2400从比特流提取在候选运动信息中的在当前预测单元中使用的运动信息。例如,当运动信息是运动矢量时,熵解码器2410提取指示关于预测运动矢量索引的运动信息的索引、预测运动矢量和原始运动矢量之间的差值、参考画面信息和预测方向信息。
与图14中所示的候选运动信息产生单元1410相同,候选运动信息产生单元2430通过使用在时间上和在空间上与当前预测单元共同定位的相邻预测单元的运动信息来获得候选运动信息,并通过使用在空间上和在时间上与当前预测单元共同定位的预测单元的运动信息来产生附加候选运动信息,使得候选运动信息的条数是“n”。
运动信息解码器2420通过使用从比特流中获得的指示当前预测单元的 运动信息的索引来获得由候选运动信息产生单元2430产生的单条候选运动信息。如上所述,当运动信息是运动矢量时,运动信息解码器2420通过使用从比特流中获得的指示预测运动矢量的索引来获得在预测运动矢量候选中的单个预测运动矢量,从比特流提取关于在预测运动矢量和原始运动矢量之间的差值的信息,然后将所述差值和所述预测运动矢量相加来恢复当前预测单元的运动矢量。
图24是根据本发明的实施例的解码运动信息的方法的流程图。
参照图24,在操作2510,候选运动信息产生单元2430确定在空间上与当前预测单元共同定位的空间预测单元的运动信息和在时间上与当前预测单元共同定位的时间预测单元的运动信息是否可用。在操作2520,作为确定结果,当空间预测单元和时间预测单元的可用运动信息的条数小于预定数量“n”(其中,n是整数)时,候选运动信息产生单元2430通过使用空间预测单元和时间预测单元的可用运动信息来产生附加候选运动信息,使得候选运动信息的总条数可以是“n”。
在操作2530,熵解码器2410从比特流中获得并输出指示“n”条候选运动信息中的运动信息的索引信息。在操作2540,运动信息解码器2420通过使用由索引指示的运动信息来获得当前预测单元的运动信息。如上所述,当运动信息是运动矢量时,运动信息解码器2420通过使用从比特流中获得的指示预测运动矢量的索引来获得在预测运动矢量候选中的单条预测运动信息,从比特流提取关于在预测运动矢量和原始运动矢量之间的差值的信息,然后将所述差值和所述预测运动矢量相加来恢复当前预测单元的运动矢量。
本发明的实施例可被编写为计算机程序,并可被实现在使用计算机可读记录介质执行程序的通用数字计算机中。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光存储介质(例如,CD-ROM或DVD)。
虽然已参照本发明的示例性实施例具体地示出并描述了本发明,但是将由本领域的技术人员理解的是,在不脱离由权利要求限定的本发明的精神和范围的情况下,可在形式和细节上做出各种改变。