基于减少的运动矢量预测候选对运动矢量进行编码和解码的方法和设备的制作方法

文档序号:7847802阅读:222来源:国知局
专利名称:基于减少的运动矢量预测候选对运动矢量进行编码和解码的方法和设备的制作方法
技术领域
与示例性实施例一致的设备和方法涉及对运动矢量进行编码和解码,更具体地讲,涉及对当前块的运动矢量进行预测编码和预测解码。
背景技术
在编解码器(诸如,MPEG-4H. 264/MPEG先进视频编码(AVC))中,与当前块相邻的先前编码的块的运动矢量可被用于预测当前块的运动矢量。与当前块的左侧、上侧、右上侧相邻的先前编码的块的运动矢量的中值被用作当前块的运动矢量预测。未直接对当前块的运动矢量进行编码,而是对运动矢量和运动矢量预测之间的差进行编码。

发明内容
解决方案一个或多个示例性实施例提供一种用于对运动矢量进行预测编码和预测解码的方法和设备,以及记录有用于执行所述方法的计算机程序的计算机可读记录介质。有益效果根据示例性实施例,当运动矢量预测候选被用于对运动矢量进行预测编码和预测解码时,运动矢量预测候选的数量可被减少以对运动矢量进行预测编码和预测解码。因此,可使用最少比特对这样的信息进行编码,从而增加了编码/解码运动矢量的压缩率,并且从而可提高编码/解码图像的压缩率,其中,所述信息是运动矢量预测候选中对被用于预测当前块的运动矢量的运动矢量预测进行指定所需的信息。


通过参照附图对示例性实施例进行详细描述,本发明的上述和其他特点和优点将会变得更加清楚,其中图I是根据示例性实施例的用于对图像进行编码的设备的框图;图2是根据示例性实施例的用于对图像进行解码的设备的框图;图3示出根据示例性实施例的分层编码单元;图4是根据示例性实施例的基于编码单元的图像编码器的框图;图5是根据示例性实施例的基于编码单元的图像解码器的框图;图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元。图7示出根据示例性实施例的编码单元和变换单元;图8A到图8D示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状;图9是根据示例性实施例的用于对运动矢量进行编码的设备的框图;图IOA和图IOB示出根据示例性实施例的运动矢量预测候选;
图IOC到图IOE示出根据示例性实施例的具有多种尺寸的与当前块相邻的块;图IlA到图IlC示出根据另一示例性实施例的运动矢量预测候选;图12示出根据示例性实施例的减少运动矢量预测候选的方法;图13A到图13D示出根据示例性实施例的包括在具有预定尺寸的编码单元中的当前块的位置;图14是根据示例性实施例的用于对运动矢量进行解码的设备的框图;图15是示出根据示例性实施例的对运动矢量进行编码的方法的流程图;图16是示出根据示例性实施例的对运动矢量进行解码的方法的流程图。
最佳模式根据示例性实施例的一方面,提供了一种对运动矢量进行编码的方法,所述方法包括通过估计当前块的运动矢量,基于估计的结果将多个运动矢量预测候选中的第一运动矢量预测候选确定为当前块的运动矢量预测,基于当前块的运动矢量和当前块的运动矢量预测来产生关于运动矢量的信息;通过使用多个运动矢量预测候选中的第二运动矢量预测候选和关于运动矢量的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对矢量差和关于运动矢量的信息进行比较,从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选;对关于当前块的运动矢量的信息和关于当前块的运动矢量预测信息进行编码。根据是另一示例性实施例的一方面,提供了一种对运动矢量进行解码的方法,所述的方法包括对关于当前块的运动矢量的信息进行解码;通过使用多个运动矢量预测候选中的预定的运动矢量预测候选和关于所述运动矢量的解码的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对产生的矢量差和关于运动矢量的解码的信息进行比较,从多个运动矢量预测候选中选择性地排除预定的运动矢量预测候选;将从多个运动矢量预测候选中没有排除的运动矢量预测候选的运动矢量预测确定为当前块的运动矢量预测,并基于确定的运动矢量预测和关于运动矢量的解码的信息恢复当前块的运动矢量。根据是另一示例性实施例的一方面,提供了一种用于对运动矢量进行编码的设备,所述设备包括运动矢量估计器,通过估计当前块的运动矢量,基于当前块的运动矢量和当前块的运动矢量预测产生关于运动矢量的信息,基于估计的结果将多个运动矢量预测候选中的第一运动矢量预测候选确定为当前块的运动矢量预测;候选确定器,通过使用多个运动矢量预测候选中的第二运动矢量预测候选和关于运动矢量的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对矢量差和关于运动矢量的信息进行比较,从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选;运动矢量编码器,对关于运动矢量的信息和关于当前块的运动矢量预测的信息进行编码。根据是另一示例性实施例的一方面,提供了一种用于对运动矢量进行解码的设备,所述设备包括运动矢量解码器,对关于当前块的运动矢量的信息进行解码;候选确定器,通过使用多个运动矢量预测候选中的预定的运动矢量预测候选和关于所述运动矢量的解码的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对产生的矢量差和关于运动矢量的解码的信息进行比较,从多个运动矢量预测候选中选择性地排除预定的运动矢量预测候选;运动矢量恢复单元,将从多个运动矢量预测候选中没有排除的运动矢量预测候选的运动矢量预测候选确定为当前块的运动矢量预测,并基于确定的运动矢量预测和关于运动矢量的解码的信息恢复当前块的运动矢量。根据另一示例性实施例的一方面,提供了一种实施了用于执行对运动矢量进行编码和解码的方法的计算机程序的计算机可读记录介质。
具体实施例方式以下,将参照附图更全面地描述一个或多个示例性实施例。当诸如中的至少一个”的表述位于一列元件之后时,其修饰整列元件而不是修饰列出的单个元件。以下,“图像”可表示视频的静止图像或运动图像(即,视频本身)。
图I是根据示例性实施例的用于对图像进行编码的设备100的框图。参照图1,用于对图像进行编码的设备100包括最大编码单元划分器110、编码深度确定器120、图像数据编码器130和编码信息编码器140。最大编码单元划分器110可基于最大编码单元(即,最大尺寸的编码单元)划分当前帧或当前像条。也就是说,最大编码单元划分器110可将当前帧或当前像条划分为至少一个最大编码单元。根据示例性实施例,可使用最大编码单元和深度表示编码单元。如上所述,最大编码单元表示当前帧的编码单元中具有最大尺寸的编码单元,所述深度表示分层减少编码单元的程度。随着深度的增加,编码单元可从最大编码单元减少为最小编码单元,其中,最大编码单元的深度被定义为最小深度并且最小编码单元的深度被定义为最大深度。由于编码单元的尺寸随着深度的增加从最大编码单元减少,第k深度的子编码单元可包括多个第(k+n)深度的子编码单元(k和n是等于或大于I的整数)。根据将被编码的帧的尺寸的增加量,按照更大的编码单元对图像进行编码可引起更高的图像压缩率。然而,如果固定更大的编码单元,则可能没有通过反映连续变化的图像特征有效地对图像进行编码。例如,当对平滑区域(诸如,海或天空)进行编码时,编码单元越大,可增加的压缩率越多。然而,当对复杂区域(诸如,人或建筑物)进行编码时,编码单元越小,可增加的压缩率越多。因此,根据示例性实施例,可针对每个帧或每个像条设置不同的最大编码单元和不同的最大深度。由于最大深度表示编码单元可减少的最大次数,可根据最大深度可变地设置包括在最大编码单元中的每个最小编码单元的尺寸。编码深度确定器120确定最大深度。可基于率失真(RD)代价的计算确定最大深度。可针对每个帧或每个像条或针对每个最大编码单元不同地确定最大深度。确定的最大深度被提供给编码信息编码器140,根据最大编码单元的图像数据被提供给图像数据编码器 130。最大深度可表示具有可被包括在最大编码单元中的最小尺寸的编码单元(即,最小编码单元)。换句话说,如稍后将参照图8A和图SB进行的描述,最大编码单元可根据不同的深度被划分为具有不同的尺寸的子编码单元。另外,可基于具有不同的尺寸的处理单元对包括在最大编码单元中的具有不同尺寸的子编码单元进行预测或变换。执行所述变换以将空间域像素值变换为频域的系数,并且所述变换可以是离散余弦变换或KarhunenLoever变换(KLT)。换句话说,用于对图像进行编码的设备100可基于具有多种尺寸和多种形状的处理单元执行关于图像编码的多个处理操作。为了对图像数据进行编码,执行处理操作(诸如,预测、变换和熵编码中的至少一个),其中,具有相同的尺寸或不同的尺寸的处理单元可被用于每个操作。例如,用于对图像进行编码的设备100可选择与编码单元不同的处理单元以预测所述编码单元。当编码单元的尺寸是2NX2N(其中,N是正整数)时,用于预测的处理单元可以是2NX2N、2NXN、NX2N和NXN。换句话说,可基于这样的形状的处理单元执行运动预测,其中,在所述形状中编码单元的高度和宽度中的至少一个被均等地划分为两个。以下,作为预测的基础的处理单元被定义为“预测单元”。预测模式可以是帧内模式、帧间模式、跳过模式中的至少一个,可仅针对具有特定尺寸或特定形状的预测单元执行特定预测模式。例如,可仅针对形状是正方形的具有尺寸 为2NX2N和NXN的预测单元执行帧内模式。另外,可仅针对具有尺寸为2NX2N的预测单元执行跳过模式。如果在编码单元中存在多个预测单元,则可在针对每个预测单元执行预测之后,选择具有最少的编码错误的预测模式。可选地,用于对图像进行编码的设备100可基于具有与编码单元不同的尺寸的处理单元对图像数据执行变换。针对编码单元中的变换,可基于具有与编码单元尺寸相同的尺寸或小于编码单元的尺寸的尺寸的处理单元执行所述变换。以下,作为变换的基础的处理单元被定义为“变换单元”。编码深度确定器120可使用基于拉格朗日乘子的RD优化来确定包括在最大编码单元中的子编码单元。换句话说,编码深度确定器120可确定从最大编码单元划分的多个子编码单元具有的形状,其中,多个子编码单元根据它们的深度具有不同的尺寸。图像数据编码器130通过基于由编码深度确定器120确定的划分形状对最大编码单元进行编码来输出比特流。编码信息编码器140对关于由编码深度确定器120确定的最大编码单元的编码模式的信息进行编码。换句话说,编码信息编码器140通过对以下信息进行编码来输出比特流关于最大编码单元的划分形状的信息、关于最大深度的信息和关于针对每个深度的子编码单元的编码模式的信息。关于子编码单元的编码模式的信息可包括关于子编码单元的预测单元的信息、关于针对每个预测单元的预测模式的信息和关于子编码单元的变换单元的信息。关于最大编码单元的划分形状的信息可以是表示每个编码单元是否被划分的信息。例如,当对最大编码单元进行划分和编码时,对表示最大编码单元是否被划分的信息进行编码。另外,当对从最大编码单元划分出的子编码单元进行划分和编码时,对表示子编码单元是否被划分的信息进行编码。表示子编码单元是否被划分的信息可以是标志信息。由于针对每个最大编码单元存在具有不同的尺寸的子编码单元,并且必须针对每个子编码单元确定关于编码模式的信息,所以可针对一个最大编码单元确定关于至少一个编码模式的息。用于对图像进行编码的设备100可根据深度的增加通过均等地将最大编码单元的高度和宽度两者划分为两个来产生子编码单元。也就是说,当第k深度的编码单元的尺寸是2NX2N时,第(k+1)深度的编码单元的尺寸是NXN。因此,用于对图像进行编码的设备100可考虑图像特征基于最大编码单元的尺寸和最大深度确定针对每个最大编码单元的最佳划分形状。通过考虑图像特征可变地调整最大编码单元的尺寸并通过将最大编码单元划分为不同深度的子编码单元对图像进行编码,可对具有各种分辨率的图像进行更有效的编码。图2是根据示例性实施例的用于对图像进行解码的设备200的框图。参照图2,用于对图像进行解码的设备200包括图像数据采集单元210 、编码信息提取器220和图像数据解码器230。图像数据采集单元210通过对由用于对图像进行解码的设备200接收的比特流进行解析来根据最大编码单元获得图像数据,并将所述图像数据输出到图像数据解码器230。图像数据采集单元210可从当前帧或当前像条的头提取关于当前帧或当前像条的最大编码单元的信息。换句话说,图像数据采集单元210按照最大编码单元对比特流进行划分,从而图像数据解码器230可根据最大编码单元对图像数据进行解码。编码信息提取器220通过对由用于对图像进行解码的设备200接收的比特流进行解析来从当前帧的头提取以下信息关于最大编码单元的信息、关于最大深度的信息、关于最大编码单元的划分形状的信息、关于子编码单元的编码模式的信息。关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。关于最大编码单元的划分形状的信息可包括在最大编码单元中包括的关于根据深度具有不同尺寸的子编码单元的信息,并且可以是表示每个编码单元是否被划分的信息(例如,标志信息)。关于编码模式的信息可包括关于根据子编码单元的预测单元的信息、关于预测模式的信息和关于变换单元的信息。图像数据解码器230通过基于由编码信息提取器220提取的信息对每个最大编码单元的图像数据进行解码来恢复当前帧。图像数据解码器230可基于关于最大编码单元的划分形状的信息对包括在最大编码单元中的子编码单元进行解码。解码处理可包括包括帧内预测和运动补偿的帧间预测处理和逆变换处理。图像数据解码器230可基于关于根据子编码单元的预测单元的信息和关于预测模式的信息执行帧内预测或帧间预测以预测子编码单元。图像数据解码器230可还基于关于子编码单元的变换单元的信息针对每个子编码单元执行逆变换。图3示出根据示例性实施例的分层编码单元。参照图3,分层编码单元可包括宽度X高度是64X64、32X32、16X16、8X8和4X4的编码单元。除具有完全正方的形状的这些编码单元以外,可还存在宽度X高度是64X32、32X64、32X16、16X32、16X8、8X16、8X4 和 4X8 的编码单元。在图3中,针对分辨率为1920X 1080的图像数据310,最大编码单元的尺寸被设置为64 X 64,最大深度被设置为2。针对分辨率为1920X1080的图像数据320,最大编码单元的尺寸被设置为64X64,最大深度被设置为3。针对分辨率为352X288的图像数据330,最大编码单元的尺寸被设置为16 X 16,最大深度被设置为2。当分辨率高或者数据量大时,编码单元的最大尺寸可以相对大以增加压缩率并精确地反映图像特征。因此,针对具有比图像数据330更高的分辨率的图像数据310和图像数据320,64X64可被选择为最大编码单元的尺寸。最大深度表示分层编码单元中的层的总数。由于图像数据310的最大深度是2,所以图像数据310的编码单元315根据深度的增加可包括长轴尺寸为64的最大编码单元和长轴尺寸为32和16的子编码单元。另一方面,由于图像数据330的最大深度是2,图像数据330的编码单元335根据深度的增加可包括长轴尺寸为16的最大编码单元和长轴尺寸为8和4的编码单元。然而,由于图像数据320的最大深度是4,图像数据320的编码单元325根据深度的增加可包括长轴尺寸为64的最大编码单元和长轴尺寸为32、16、8和4的子编码单元。由于随着深度增加基于更小的子编码单元对图像进行编码,示例性实施例适于对包括多个分钟场景的图像进行编码。 图4是根据示例性实施例的基于编码单元的图像编码器400的框图。帧内预测单元410在当前帧405中对帧内模式的预测单元执行帧内预测,并且运动估计器420和运动补偿器425使用当前帧405和参考帧495对帧间模式的预测单元执行运动补偿和帧间预测。基于从帧内预测单元410、运动估计器420和运动补偿器425输出的预测单元产生残差值,并且产生的残差值通过经过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过经过反量化器460和逆变换器470被恢复为残差值,通过经过去块单元480和环路滤波单元490对恢复的残差值进行后处理,并且恢复的残差值被输出为参考帧495。量化的变换系数通过经过熵编码编码器450可被输出为比特流455。为了基于根据示例性实施例的编码方法执行编码,图像编码器400的组件基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像编码处理,其中,所述图像编码器400的组件包括帧内预测单元410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490。图5是根据示例性实施例的基于编码单元的图像解码器500的框图。参照图5,比特流505经过解析器510从而对将被解码的编码的图像数据和被用于解码的编码信息进行解析。编码的图像数据通过经过熵解码器520和反量化器530被输出为反量化的数据,并通过经过逆变换器540被恢复为残差值。通过将残差值添加到帧内预测单元550的帧内预测结果或运动补偿单元560的运动补偿结果根据编码单元来恢复残差值。恢复的编码单元通过经过去块单元570和环路滤波单元580被用于下一个编码单元或下一个帧的预测。为了基于根据示例性实施例的解码方法执行解码,图像解码器500的组件基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像解码处理,其中,所述图像解码器500的组件包括解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测单元550、运动补偿器560、去块单元570和环路滤波单元580。具体来讲,帧内预测单元550和运动补偿器560通过考虑最大编码单元和深度来确定子编码单元中的预测单元和预测模式,逆变换器540通过考虑变换单元的尺寸执行逆变换。
图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元。图I中示出的用于对图像进行编码的设备100和图2中示出的用于对图像进行解码的设备200使用分层编码单元以考虑图像特征执行编码和解码。可根据图像特征适应性地设置最大编码单元和最大深度,或者可根据用户的需要可变地设置最大编码单元和最大深度。在图6中,分层编码单元结构600具有最大编码单元610,其中,所述最大编码单元610的高度和宽度是64且最大深度是4。深度沿着分层编码単元结构600的纵轴增加,并且随着深度増加,子编码单元620到650的高度和宽度減少。沿着分层编码结构600的横轴示出最大编码单元610和子编码单元620到子编码单元650的预测单元。最大编码单元610的深度为O且编码单元的尺寸(即,高度和宽度)为64X64。沿着纵轴深度増加,存在尺寸为32X32且深度为I的子编码单元620、尺寸为16X16且深度为2的子编码单元630、尺寸为8 X 8且深度为3的子编码单元640和尺寸为4X4且深度为4的子编码单元650。尺寸为4X4且深度为4的子编码单元650是最小编码单元。參照图6,沿着横轴根据每个深度示出预测单元的示例。也就是说,深度为O的最大编码単元610的预测单元可以是尺寸与编码单元610相同的(即,64X64)预测单元、或尺寸小于尺寸为64X64的编码单元610的以下预测单元尺寸为64X32的预测单元612、尺寸为32X64的预测单元614、或尺寸为32X32的预测单元616。深度为I且尺寸为32X32的编码单元620的预测单元可以是尺寸与编码单元620相同的(即,32X32)预测单元、或尺寸小于尺寸为32X32的编码单元620的以下预测单元尺寸为32X16的预测单元622、尺寸为16X32的预测单元624、或尺寸为16X16的预测单元626。深度为2且尺寸为16 X 16的编码单元630的预测单元可以是尺寸与编码单元630相同的(即,16X16)预测单元、或尺寸小于尺寸为16X16的编码单元630的以下预测单元尺寸为16X8的预测单元632、尺寸为8X16的预测单元634、或尺寸为8X8的预测单兀 636。深度为3且尺寸为8X8的编码单元640的预测单元可以是尺寸与编码单元640相同的(即,8X8)预测单元、或尺寸小于尺寸为8X8的编码单元640的以下预测单元尺寸为8X4的预测单元642、尺寸为4X8的预测单元644、或尺寸为4X4的预测单元646。最后,深度为4且尺寸为4X4的编码单元650是最大深度的编码单元,并且编码単元650的预测单元可以是尺寸为4X4的预测单元650。然而,最大深度的编码单元可不总是与预测单元的尺寸相同。与编码单元610到编码单元650相似地,最大深度的编码单元可被划分为具有小于所述编码单元的尺寸的预测单元并可执行预测。图7示出根据示例性实施例的编码单元和变换单元。图I中示出的用于对图像进行编码的设备100和图2中示出的用于对图像进行解码的设备200使用最大编码单元本身或从最大编码单元划分出的等于或小于最大编码单元的子编码单元来执行编码和解码。在编码和解码过程中,不论编码单元和预测单元如何,为了最高的压缩率选择用于变换的变换单元的尺寸。例如,參照图7,当当前编码单元710的尺寸为64X64时,可使用尺寸为32X32的变换单元720执行变换。 图8A到图8D示出根据示例性实施例的编码单元810、预测单元860和变换单元870的划分形状。图8A到图8B示出 根据示例性实施例的编码单元810和预测单元860。图8A示出由图I中示出的用于对图像进行编码的设备100选择的划分形状,以对最大编码单元810进行编码。用于对图像进行编码的设备100将最大编码单元810划分为多种形状,执行编码,通过基于RD代价对多种划分形状的编码结果进行相互比较来选择最佳划分形状。当照其原样对最大编码单元810进行编码是最佳吋,可对最大编码单元810进行编码而不需如图8A到图8D所示划分最大编码单元810。參照图8B,通过将深度是O的最大编码单元810划分为深度为等于或大于I的子编码单元对最大编码单元810进行编码。也就是说,将最大编码单元810划分为深度为I的4个子编码单元,并且将深度为I的所有或一些子编码单元划分为深度为2的子编码单
J Li ο将深度为I的子编码单元中的位于右上侧的子编码单元和位于左下侧的子编码単元划分为深度为等于或大于2的子编码单元。可将深度为等于或大于2的ー些子编码单元划分为深度为等于或大于3的子编码单元。图8B示出最大编码单元810的预测单元860的划分形状。參照图8B,可从最大编码单元810不同地划分最大编码单元810的预测单元860。换句话说,每个子编码单元的预测单元可小于相应的子编码单元。例如,深度为I的子编码单元中位于右下侧的子编码单元854的预测单元可小于子编码单元854。另外,深度为2的子编码单元814、816、818、828、850和852中的一些子编码单元814、816、850和852的预测单元可分别小于子编码单元814、816、850和852。另外,深度为3的子编码单元822、832和848的预测单元可分别小于子编码单元822,832和848。所述预测単元可具有以高度或宽度的方向将相应的子编码单元均等地划分为两个的形状,或者可具有以高度和宽度的方向将相应的子编码单元均等地划分为四个的形状。图8C和图8D示出根据示例性实施例的预测单元860和变换单元870。图8C示出图8B中示出的最大编码单元810的预测单元860的划分形状,图8D示出最大编码单元810的变换单元870的划分形状。參照图8D,可从预测单元860不同地设置变换单元870的划分形状。例如,即使选择具有这样的形状的深度为I的编码单元854的预测单元,也可选择具有与编码单元854相同的尺寸的变换单元,其中,所述形状是指将编码单元854的高度均等地划分为两个的形状。同样地,即使选择具有这样的形状的深度为2的编码单元814和编码单元850的预测单元,也可选择具有与编码单元814和编码单元850中的每个编码单元的原始尺寸相同的尺寸的变换单元,其中,所述形状是指将编码单元814和编码单元850中的每个编码单元的高度均等地划分为两个的形状。可选择具有小于预测単元的尺寸的变换单元。例如,当选择具有这样的形状的深度为2的编码单元852的预测单元时,其中,所述形状是指将编码单元852的宽度均等地划分为两个的形状,可选择具有以高度和宽度方向将编码単元852均等地划分为四个的形状的变换单元,其中,所述变换単元具有小于预测単元的形状的尺寸。图9是根据示例性实施例的用于对运动矢量进行编码的设备900的框图。
在图9中详细示出可被包括在图I中示出的用于对图像进行编码的设备100或图4中示出的图像编码器400中的用于对运动矢量进行编码的设备900。參照图9,用于对运动矢量进行编码的设备900包括运动矢量估计器910、候选确定器920和运动矢量编码器930。为了使用帧间预测(即,时间上的预测)对已编码的块进行解码,需要关于运动矢量的信息,所述关于运动矢量的信息表示參考图像中的相似块和当前块之间的相对位置差。因此,当对图像进行编码时,对关于运动矢量的信息进行编码并将其插入到比特流。当直接对关于运动矢量的信息进行编码和插入时,増加了用于对关于运动矢量的信息进行编码的开销,因此图像数据的压缩率降低了。
因此,在图像编码中,预测当前块的运动矢量,仅对作为预测的结果产生的运动矢量预测和原始运动矢量之间的原始运动矢量差进行编码和插入,从而压缩了关于运动矢量的信息。在运动矢量的预测编码中,可存在显式模式和隐式模式。在编解码器(诸如,MPEG-4H. 264/MPEG-4先进视频编码(AVC))中,与当前块相邻的先前编码的块的运动矢量可被用于预测当前块的运动矢量。与当前块的左侧、上侧和右上侧相邻的先前編码的块的运动矢量的中值被用作当前块的运动矢量预测。由于通过使用相同的方法来预测使用帧间预测编码的所有的块的运动矢量,可不单独地对关于当前块的运动矢量预测的信息进行编码。然而,根据ー个或多个示例性实施例的用于对图像进行编码的设备100或图像编码器400使用隐式模式和显式模式两者,以准确地预测运动矢量,其中,在所述隐式模式中未単独地对关于运动矢量预测的信息进行编码,其中,在所述显式模式中未对关于运动矢量预测的信息进行编码。在显式模式中,对关于从多个运动矢量预测候选中的被用作当前块的运动矢量预测的运动矢量预测的信息进行编码,并作为序列參数、像条參数或块參数将其输入到比特流。图9示出在根据显式模式对运动矢量进行编码时执行预测编码的设备。运动矢量估计器910估计当前块的运动矢量。在至少ー个參考图像中搜索与当前块相似或相同的块,并作为搜索的结果估计运动矢量,其中,运动矢量是当前块和搜索的參考图像之间的相对位置差。基于绝对误差和(SAD)捜索与当前块相似或相同的块,并作为捜索的結果,可估计当前块的运动矢量。另外,运动矢量估计器910基于包括在与当前块相邻的先前编码的区域中的块的运动矢量来预测当前块的运动矢量。换句话说,将包括在与当前块相邻的先前编码的区域中的块的运动矢量设置为运动矢量预测候选,并确定运动矢量预测候选中与当前块的估计的运动矢量最相似的运动矢量预测候选。在编解码器(诸如,MPEG-4H. 264/MPEG-4先进视频编码(AVC))中,与当前块的左侦れ上侧和右上侧相邻的先前編码的块的运动矢量的中值被用作当前块的运动矢量预测。由于通过使用先前編码的块的运动矢量来预测已编码的块的运动矢量并且仅使用ー个运动矢量预测,可不单独地对关于运动矢量预测的信息进行编码。换句话说,使用帧间预测编码的块的运动矢量预测的数量是ー个。然而,当准确地预测当前块的运动矢量时,可以以高压缩率对运动矢量进行编码。在这里,根据示例性实施例,选择多个运动矢量预测候选之ー并将其用作当前块的运动矢量预测,从而可以以高压缩率对当前块的运动矢量进行编码。以下,将详细描述通过使用多个运动矢量预测候选对当前块的运动矢量进行编码的方法。图IOA和图IOB示出根据示例性实施例的运动矢量预测候选。參照图10A,在预测运动矢量的方法中,与当前块相邻的先前编码的块的运动矢量之一可被用作当前块的运动矢量预测。与当前块的上侧相邻的块中,以下块的所有运动矢量可被用作当前块的运动矢量预测候选在最左侧的块a0、在与左侧相邻的最上侧的块b 0、与右上侧相邻的块C、与左上侧相邻的块d和与左下侧相邻的块e。在根据ー个或多个示例性实施例的对图像进行编码和解码的方法中,基于具有由深度分类的多个尺寸的编码单元执行图像编码和图像解码,并因此与左下侧相邻的块的运动矢量可被用作运动矢量预测的候选。參照图10B,与当前块相邻的所有块的运动矢量可被用作运动矢量预测候选。换句话说,不仅与上侧相邻的块中的最左侧的块a0的运动矢量可被用作运动矢量预测候选,与上侧相邻的a0到aN的所有块的运动矢量也可被用作运动矢量预测候选。另外,不仅与左侧相邻的块中的最上侧的块b0的运动矢量可被用作运动矢量预测候选,与左侧相邻的b0到bN的所有块的运动矢量也可被用作运动矢量预测候选。另外,相邻块的运动矢量的中值可被用作运动矢量预测候选。换句话说,中值mv_a0、mv_b0或mv_c可被用作当前块的运动矢量预测的候选。在此,mv_a0是块a0的运动矢量,mv_b0是块b0的运动矢量,mv_c是块c的运动矢量。然而,如将參照图10C到图10E进行的详细描述,可根据当前快的尺寸和相邻块的尺寸限制当前块的运动矢量预测候选。图10C到图10E示出根据示例性实施例的具有多种尺寸的与当前块相邻的块。如上所述,在根据ー个或多个示例性实施例的对图像进行编码和解码的方法中,具有根据深度确定的多种尺寸的编码单元和预测单元可被用于对图像进行编码。因此,由干与当前块相邻的块可以是多种尺寸,当当前块的尺寸和ー些相邻块的尺寸彼此显著地不同时,可不将所述ー些相邻块的运动矢量用作运动矢量预测候选。參照图10C,与当前快1010的上侧相邻的块1014到块1018小于当前块1010。由于与当前块1010相邻并具有与当前块1010相同的尺寸的块1012的运动矢量可以与当前块1010的运动矢量相同或相似,运动矢量估计器910可仅将块1012的运动矢量用作运动矢量预测的候选。虽然尺寸不相同,可仅将具有预定的尺寸或大于所述预定的尺寸的相邻块的运动矢量用作运动矢量预测候选。例如,可仅将块1012和块1018的运动矢量用作运动矢量预测候选,其中,块1012和块1018的尺寸为当前块1010的1/4或大于当前块1010的1/4。參照图10D,与当前块1020的左侧相邻的块1022的尺寸比当前块1020的尺寸大16倍,从而存在尺寸方面的巨大差异。由于所述巨大差异,与左侧相邻的块1022的运动矢量可能不相同或不相似于当前块1020的运动矢量。因此,与左侧相邻的块1022的运动矢量未被用作当前块1020的运动矢量预测候选,并且可仅将与上侧相邻的块1024的运动矢量和与左上侧相邻的块1026的运动矢量用作运动矢量预测候选。參照图10E,当前块1030的尺寸大于所有相邻的块1031到块1037的尺寸。在此,当所有相邻的块1031到块1037的运动矢量被用作当前块1030的运动矢量预测候选时,当前块1030的运动矢量预测候选的数量可能会高。随着当前块1030和相邻的块1031到块1037之间的尺寸差异增加,运动矢量预测候选的数量也増加。因此,运动矢量估计器910可不将相邻的块中的一些块的运动矢量用作当前块1030的运动矢量预测候选。例如,在图IOE中,可不将与左下侧相邻的块1031的运动矢量和与右上侧相邻的块1037用作当前块1030的运动矢量预测候选。更一般来说,当当前块1030的尺寸大于预定的尺寸时,可不将相邻块中的以特定方向相邻的块的运动矢量用作当前块1030的运动矢量预测候选。图IlA到图IlC示出根据另ー示例性实施例的运动矢量预测候选。图IlA示出确定双向预测图像(B图像)的运动矢量预测候选的方法。当包括当 前块的当前图像是执行双向预测的B图像时,基于时间上的距离产生的运动矢量可以是运动矢量预测候选。可通过使用在时间上早于当前图像1110的图像1112的块1120的运动矢量,确定当前图像1110的当前块1100的运动矢量预测候选mv_temporal,其中,块1120被布置在与当前块1100并列的位置。例如,当相对于时间上晚于当前图像1110的图像1114的搜索的块1122产生块1120的运动矢量mv_colA时,其中,块1120被布置在与当前块1100并列的位置,可通过以下方式确定当前块1100的运动矢量预测候选mv_L0A和mv_LlA mv_LlA = (tl/t2) *mv_colAmv_L0A = mv_L I A-mv_c o IA在此,mv_L0A表示相对于时间上早于当前图像1110的图像1112的当前块1110的运动矢量预测候选,mv_LlA表示相对于时间上晚于当前图像1110的图像1114的当前块1100的运动矢量预测候选。在图IlA中,作为B图像的当前图像1110被插入在时间上早于当前图像1110的图像1112和时间上晚于当前图像1110的图像1114之间。这里,当相对于时间上晚于当前图像1110的图像1114产生块1120的运动矢量mv_colA时,其中,块1120被布置在与当前块1100并列的位置,可基于mv_LlA准确地预测当前块1100的运动矢量。换句话说,与mv_colA是具有与图IlA中示出的方向相反的方向的运动矢量的情况(即,相对于在时间上早于当前图像1110的图像1112之前的另ー图像产生mv_colA的情况)比较,当mv_colA是具有图IlA中示出的方向的运动矢量时,可更准确地预测当前块1100的运动矢量。因此,当从当前块1110到被布置在与当前块1100并列的位置的块1120的方向是ListO时,运动矢量mv_colA需要在Listl方向上,因此当前图像1110可如图IlA所示被插入在图像1112和图像1114之间,从而可基于mv_colA准确地预测当前块1100的运动矢量。此外,根据时间顺序示出了图IlA中示出的图像1110到图像1114,因此可基于图像序列号(POC)产生当前块的运动矢量预测候选mv_temporal。由当前块參考的图像可以是在图IlA中示出的除相邻图像1112和1114以外的图像,因此基于POC产生当前块的运
动矢量预测候选。例如,当当前图像的POC是CurrPOC并且由当前图像參考的图像的POC是CurrRefPOC时,可通过以下方式产生当前块的运动矢量预测候选
Scale = (CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)mv_temporal = Scale*mv_colA在此,ColPOC是时间上早于当前图像1110的图像1112的POC并包括块1120,ColRefPOC是时间上晚于当前图像1110的图像1114的POC并包括由块1120參考的块1122。图IlB示出产生B图像的运动矢量预测候选的另一方法。图IlB中的方法与图IlA中的方法的区别在于时间上晚于当前图像1110的图像1114包括被布置在与当前块1100并列的位置的块。參照图11B,可通过使用被布置在与图像1114的当前块1100并列的位置的块1130的运动矢量产生当前图像1110的当前块1100的运动矢量预测候选,其中,图像1114时间上晚于当前图像1110。例如,当相对于图像1112的搜索的块1132产生被布置在与当前块1100并列的位置的块1130的运动矢量mv_colB时,其中,图像1112时间上早于当前·图像1110,可通过以下方式确定当前块1100的运动矢量预测候选mv_L0B和mv_LlB mv_L0B = (t3/t4) *mv_colBmv_LlB = mv_L0B-mv_colB在此,mv_L0B表示相对于图像1112的当前块1110的运动矢量预测候选,其中,图像1112时间上早于当前图像1110,mv_LlB表示相对于图像1114的当前块1100的运动矢量预测候选,其中,图像1114时间上晚于当前图像1110。相似于图11A,在图IlB中,作为B图像的当前图像1110被插入在时间上早于当前图像1110的图像1112和时间上晚于当前图像1110的图像1114之间。因此,当相对于时间上早于当前图像1110的图像1112产生被布置在与当前块1100并列的位置的块1130的运动矢量mv_colB时,可基于mv_L0B准确地预测当前块1100的运动矢量。换句话说,与mv_colB是具有与图IlB中示出的方向相反的方向的运动矢量的情况(即,相对于在时间上晚于当前图像1110的图像1114之后的另ー图像产生mv_colB的情况)比较,当mv_colB是具有图IlB中示出的方向的运动矢量时,可更准确地预测当前块1100的运动矢量。因此,当从当前块1110到被布置在与当前块1100并列的位置的块1130的方向是Listl时,块1130的运动矢量mv_colB需要在ListO方向上,因此当前图像1110可如图IlB所示被插入在图像1112和图像1114之间,从而可基于mv_colB准确地预测当前块1100的运动矢量。此外,由当前块參考的图像可以是在图IlB中示出的除相邻图像1112和1114以外的图像,因此基于POC产生当前块的运动矢量预测候选。例如,当当前图像的POC是CurrPOC并且由当前图像參考的图像的POC是CurrRefPOC时,可通过以下方式产生当前块的运动矢量预测候选Scale = (CurrPOC-CurrRefPOC)/(ColPOC-ColRefPOC)mv_temporal = Scale氺mv_colB在此,ColPOC是时间上晚于当前图像1110的图像1114的POC并包括块1130,ColRefPOC是时间上早于当前图像1110的图像1112的POC并包括由块1130參考的块1132。图IlC示出预测图像(P图像)的运动矢量预测候选。
參照图11C,可通过使用被布置在与图像1112的当前块1100并列的位置的块1140的运动矢量确定当前图像1110的当前块1100的运动矢量预测候选,其中,图像1112时间上早于当前图像1110。例如,当相对于图像1116的搜索的块1142产生被布置在与当前块1100并列的位置的块1140的运动矢量mv_colC时,其中,图像1116时间上早于当前图像1110,可通过以下方式确定当前块1100的运动矢量预测候选mv_L0C mv_L0C = (t6/t5) *mv_colC
如与图IlA和图IlB相关的描述,可基于POC确定mv_L0C。可基于以下POC确定mv_L0C:当前图像1110的P0C、由当前图像1110參考的图像的P0C、时间上早于当前图像1110的图像1112的POC和时间上早于当前图像1110的图像1116的P0C。由于当前图像1110是P图像,与图IlA和图IlB不同,确定仅ー个当前块1100的
运动矢量预测候选。另外,为了使用基于在图IlA和图IlB中的时间上的距离产生的运动矢量预测候选来预测当前块的运动矢量,可还对这样的信息进行编码,其中,所述信息表示被布置在与当前块1100并列的位置的块1120和块1130中被用于产生运动矢量预测的块。这样的信息可作为像条參数或序列參数被包括在像条头或序列头中。总的来说,根据图10A、图IOB和图IlA到图IlC的运动矢量预测候选的组C可由下式表示C = |mediarumv_aO,mv_b0, mv_c),mv_a0, mv_ai. · ·,mv_aN,mv_b0,mv_b I,...,mv_bN, mv_c, mv_d, mv_e, mv_temporal}此外,组C可以是运动矢量预测候选的数量被減少的组C = {median (mv_a,,mv_b,,mv_c,ノ,mv_a,,mv_b,,mv_c,,mv_temporal}在此,mv_x表示块X的运动矢量,median ()表示中值,并且mv_temporal表示通过使用与图11到图IlC相关描述的时间上的距离产生的运动矢量预测候选。mv_a’表示mv_a0,mv_al. . . ,mv_aN中的第一个有效的运动矢量。例如,当使用巾贞内预测对块a0进行编码并參考当前块和其它图像时,块aO的运动矢量mv_aO不是有效的运动矢量,因此mv_a’ =mv_alo此外,当块al的运动矢量不是不是有效的运动矢量时,mv_a’ = mv_a2。相似地,mv_b’ 是 mv_bO,mv_bl,. . .,mv_bN 中的第一个有效的运动矢量,mv_c’ 是 mv_c,mc_d 和 mv_e中的第一个有效的运动矢量。与当前块相邻的块的运动矢量中的參考当前块以外的图像的块的运动矢量不能有效地预测当前块的运动矢量。因此,可从运动矢量预测候选的组C排除參考当前块以外的图像的块的运动矢量。当用于对运动矢量进行编码的设备900根据显式模式对运动矢量进行编码时,设备900还对这样的信息进行编码,其中,所述信息表示组C中被用于预测当前块的运动矢量的运动矢量预测候选。换句话说,当用于对运动矢量进行编码的设备900对运动矢量进行编码吋,设备900将ニ进制数分配给组C的相应的元素(即,运动矢量预测候选),并对与被用于预测当前块的运动矢量的运动矢量预测候选相应的ニ进制数进行编码。为了指定组C中的元素之一,分配并输出每个与运动矢量预测候选相应的ニ进制数。因此,随着组C中的元素的数量減少,可以以具有更少的比特的ニ进制数指定组C中的元素。
因此,如果在组C中存在重叠的运动矢量预测候选,则可在从组C排除重叠的运动矢量预测候选之后分配ニ进制数。例如,当组C是如上所述的C = {median(mv_a’,mv_b’,mv_c ’ ), mv_a’, mv_b ’, mv_c ’, mv_temporal}并且 mv_a’, mv_b ’ 和 mv_c ’ 彼此相同时,可确定组C中存在两个元素为C = {mv_a’,mv_temporal}并可分配ニ进制数。当在排除重叠的运动矢量预测候选之前可使用3比特来指定组C中的五个元素时,在排除重叠的运动矢量预测候选之后可使用I比特来指定两个元素。为了增加重叠的运动矢量预测候选被确定为当前块的运动矢量预测的概率,而不是排除重叠的运动矢量预测候选,可添加预定的权重。如上所述,由于mv_a’,mv_b’和mv_c’彼此相同并且仅mv_a’被包括在组C中,预定的权重被添加到mv_a’,因此可增加mv_a’被用于预测当前块的运动矢量的概率。此外,当存在一个运动矢量预测候选时,可能不对被用于指定运动矢量预测候选之一的ニ进制数进行编码。例如,当组0是0= {median (mv_a0, mv_b0, mv_c), mv_a0, mv_al. . .,mv_aN, mv_b0,mv_bI, · · ·,mv_bN,mv_c, mv_d, mv_e, mv_temporal}并且对块 a O 至Ij块aN、块bO到块bN、块C、块d和块e均进行巾贞内预测时,组C是C = {mv_temporal},因此实质上包括ー个元素。因此,在这种情况下,用于对运动矢量进行编码的设备900可能不对被用于指定运动矢量预测候选之ー的ニ进制数进行编码。可将除上面描述的运动矢量预测候选以外的运动矢量用作运动矢量预测候选对于本领域的普通技术人员是明显的。另外,根据另ー示例性实施例,候选确定器920可基于编码结果的估计减少运动矢量预测候选的数量。如上所述,对单独的信息进行编码并将其包括在比特流中以在多个运动矢量预测候选中指定用于预测当前块的运动矢量的运动矢量预测候选。因此,随着组C中的元素的数量減少,可以以低比特对这样的信息进行编码,其中,所述信息是指在组C中指定用于预测当前块运动矢量的运动矢量预测候选所需的信息。在这里,候选确定器920可通过使用预定的评价函数选择性地从所有运动矢量预测候选中排除预定的运动矢量预测候选,其中,将參照图12详细描述所述预定的评价函数。图12示出根据示例性实施例的減少运动矢量预测候选的方法。在图12中,假设在组C中存在三个元素MVPl、MVP2和MVP3并且当前块的运动矢量是MV。由干与当前块的运动矢量最相似的运动矢量预测候选被用于预测当前块的运动矢量,与MV最相似的MVP3被用于预测当前块的运动矢量。因此,当前块的运动矢量和用于预测当前块的运动矢量的运动矢量预测候选之间的矢量差(以下,称为“原始运动矢量差”)是(2,0)。由于MV是(5,0)并且MVP3是(3,O),故原始运动矢量差是(2,O)。候选确定器920通过使用原始运动矢量差和预定的评价函数从所有运动矢量预测候选中选择性地排除至少ー个运动矢量预测候选。更具体来讲,原始运动矢量差和预定的运动矢量预测候选被用于产生虚拟运动矢量,并且相对于所有候选产生已产生的虚拟运动矢量和所有运动矢量预测候选之间的差(以下,称为“虚拟运动矢量差”)。彼此添加原始运动矢量差和预定的运动矢量预测候选以产生虚拟运动矢量,并计算已产生的虚拟运动矢量和所有运动矢量预测候选之间的虚拟运动矢量差。通过对原始运动矢量差和相对于所有候选计算的虚拟运动矢量差进行比较,可从所有运动矢量预测候选选择性地排除预定的运动矢量预测候选。參照图12,候选确定器920确定是否从全部的候选中排除运动矢量预测候选之ー的 MVPI。当通过从基于MVPl的虚拟运动矢量减去运动矢量预测候选而产生的虚拟运动矢量差小于原始运动矢量差吋,MVPl可能不被用于预测当前块的运动矢量。例如,当通过从通过添加MVPl和原始运动矢量差产生的虚拟运动矢量减去MVP3产生的虚拟运动矢量差小于原始运动矢量差时,相比于MVP1,MVP3更准确地预测虚拟运动矢量,并且在这种情况下,MVPl不能是运动矢量预测。在图12中,当彼此添加MVPl和原始运动矢量差时,基于MVPl的虚拟运动矢量是(2,0) ο因此,当基于MVPl产生虚拟运动矢量时,MVP2的虚拟运动矢量差是(2,O)并且MVP3的虚拟运动矢量差是(_1,0)。在此,由于MVP3的虚拟运动矢量差(_1,0)小于原始运动矢量差(2,0),MVP1不可以是当前块的运动矢量预测。因此,可从所有运动矢量预测候选排除MVPl。换句话说,可从组C排除与MVPl相应的运动矢量预测候选。在此,针对MVPl本身计算的虚拟运动矢量差是(2,0)并总是与原始运动矢量差相同,从而虚拟运动矢量差不会小于原始运动矢量差。因此,当针对所有运动矢量预测候选计算虚拟运动矢量差时,可不计算针对MVPl本身的虚拟运动矢量差。当完成确定是否排除MVPl时,候选确定器920确定是否从所有运动矢量预测候选中排除MVP2。当彼此添加MVP2和原始运动矢量差时,基于MVP2的虚拟运动矢量是(2,O)。因此,针对MVPl的虚拟运动矢量差是(2,0)并且针对MVP3的虚拟运动矢量差是(_1,0)。由于针对MVP3的虚拟运动矢量差小于原始运动矢量差,可如同MVPl从所有运动矢量预测候选排除MVP2。当确定是否排除MVP2时,可选择性地对针对MVPl的虚拟运动矢量差和原始运动矢量差进行比较。由于已确定应已经排除MVP1,可对针对MVPl以外的候选的虚拟运动矢量差和原始运动矢量差进行比较。另外,候选确定器920确定是否排除MVP3。基于MVP3的虚拟运动矢量与当前块的原始运动矢量相同。虽然从原始运动矢量减去另ー运动矢量预测候选(即,MVPl或MVP2),但不会产生小于原始运动矢量差的虚拟运动矢量差。因此,未从运动矢量预测候选排除MVP3。另外,根据另ー示例性实施例,由于未从运动矢量预测排除确定被用于预测当前块的运动矢量的MVP3,候选确定器920可跳过确定MVP3 (用于预测当前块的运动矢量的运动矢量预测候选)是否被排除。简略地,当候选确定器920确定是否排除运动矢量预测候选之ー的第二运动矢量预测候选时,彼此添加第二运动矢量预测候选和原始运动矢量差以产生虚拟运动矢量,并且针对所有候选计算所述虚拟运动矢量和其它运动矢量预测候选之间的差以产生多个虚拟运动矢量差。当多个虚拟运动矢量差中存在小于原始运算运动矢量差的至少ー个虚拟运动矢量差时,第二运动矢量预测候选不是当前块的运动矢量预测并从运动矢量预测候选排 除所述第二运动矢量预测候选。另外,候选确定器920针对运动矢量预测候选重复执行关于排除的确定,从而可減少运动矢量预测候选(即,组C的元素)的数量。根据组C的运动矢量预测候选的排列顺序,按顺序确定是否排除。例如,当 C = {median (mv_a’, mv_b’,mv_c’ ), mv_a’, mv_b’,mv_c’,mv_temporal}时,确定是否排除 median (mv_a’,mv_b’,mv_c’ ),并且当完成确定时,确定是否排除mv_a’。然后,确定是否排除mv_b’。根据组C的排列顺序,重复关于排除的确足直到mv_temporal。当重复执行确定时,如与MVP2的排除相关的描述,可省略针对在确定中已排除的候选的原始运动矢量差和虚拟运动矢量差之间的比较。另外,如稍后将參照图13A到图13D进行的描述,可根据预定的标准重新布置组C。当重新布置组C时,根据重新布置的顺序重复关于排除的确定。不仅可将与图12相关起来描述的虚拟运动矢量差和原始运动矢量差之间的比较应用到一维运动矢量,还可将其应用到ニ维运动矢量。换句话说,对由X坐标和I坐标定义的虚拟运动矢量差的大小和原始运动矢量差的大小进行比较,因此可选择性地从全部候选中排除预定的运动矢量预测。 然而,用于对虚拟运动矢量差和原始运动矢量差进行比较的大小仅是ー个示例,并且多种标准可被用于对虚拟运动矢量差和原始运动矢量差进行比较。当基于预定的标准产生针对虚拟运动矢量差的值和针对原始运动矢量差的值的评价函数是“A”时,可根据下面的等式I对虚拟运动矢量差和原始运动矢量差进行比较;(等式I)A (mvx+MVD-mvy) < A (MVD)候选确定器920确定在所有候选中是否存在至少ー个“mvy”,以确定是否从运动矢量预测候选排除运动矢量预测候选之ー的“mvx”。在等式I中,“MVD”表示原始运动矢量差。为了确定是否排除“mvx”,通过使用预定的+评价函数“A”计算“A(mvx+MVD-mvy) ”和其它运动矢量预测候选,并对作为计算的结果产生的值和作为针对原始运动矢量差的值的“A(MVD) ”进行比较,其中,“A(mvx+MVD-mvy) ”是通过评价“mvx+MVD-mvy”获得的值,其中,“mvx+MVD-mvy”是基于“mvx”的虚拟运动矢量“mvx+MVD”和“mvy”之间的虚拟运动矢量差。重复地将所有候选中的除“mvx”以外的运动矢量预测候选替换为“mvy”,并且确定在全部候选中是否存在满足等式I的至少ー个“mvy”。如上所述,可由X坐标和y坐标定义通过“A”评价的虚拟运动矢量差和原始运动矢量差。在这种情况下,如下面的等式2,可由X坐标评价的值和I坐标评价的值之和定义评价函数;(等式2)A(p,q) = f (p) +f (q)当由X坐标“p”和y坐标“q”定义虚拟运动矢量差或原始运动矢量差吋,将每个坐标值输入到预定的函数“f”并且由通过替换获得的总和定义评价函数“A”。根据示例性实施例,等式I和等式2中的评价函数“A”可以是这样的评价函数,其中,所述评价函数对通过对虚拟运动矢量差进行熵编码而获得的结果和通过对原始运动矢量差进行熵编码而获得的结果进行估计。候选确定器920对通过基于评价函数“A”对虚拟运动矢量差和原始运动矢量差进行熵编码而获得的结果进行估计,并且可基于估计的结果減少运动矢量预测候选的数量。将參照下面的等式3详细描述上述过程(等式3)Length=I:
Temp=(val<=0) (-val l )+1 :(val l);
Wlii le( I !=Temp) {
Temp = I;
し ength+=2
}
f(val)=Length可如等式3定义函数“f”,其中,函数“f”估计通过相对于X坐标值或y坐标值进行熵编码而获得的結果。当将X坐标值或y坐标“val”输入到估计可变长编码(例如,通用可变长编码)结果的函数“f”时,根据等式3计算“Length”。可由下式表示等式3:
权利要求
1.一种对运动矢量进行编码的方法,所述方法包括 通过估计当前块的运动矢量,基于估计的结果将多个运动矢量预测候选中的第一运动矢量预测候选确定为当前块的运动矢量预测,基于当前块的运动矢量和当前块的运动矢量预测来产生关于运动矢量的信息; 通过使用多个运动矢量预测候选中的第二运动矢量预测候选和关于运动矢量的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对矢量差和关于运动矢量的信息进行比较,根据所述比较从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选; 对关于当前块的运动矢量的信息和关于当前块的运动矢量预测的信息进行编码。
2.如权利要求I所述的方法,其中,关于运动矢量的信息包括当前块的运动矢量和当前块的运动矢量预测之间的矢量差。
3.如权利要求2所述的方法,其中,从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选的步骤包括 将多个运动矢量预测候选中的一个设置为第二运动矢量预测,并通过使用设置的第二运动矢量预测以及当前块的运动矢量和当前块的运动矢量预测之间的矢量差产生虚拟运动矢量; 产生已产生的虚拟运动矢量和多个运动矢量预测候选之间的矢量差; 估计通过对虚拟运动矢量和多个运动矢量预测候选之间的矢量差进行熵编码而获得的结果和通过对当前块的运动矢量和当前块的运动矢量预测之间的矢量差进行熵编码而获得结果; 基于估计的结果从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选。
4.如权利要求3所述的方法,其中,所述估计的步骤包括估计通过对虚拟运动矢量和多个运动矢量预测候选之间的矢量差进行可变长编码而获得的结果和通过对当前块的运动矢量和当前块的运动矢量预测之间的矢量差进行可变长编码而获得的结果。
5.如权利要求4所述的方法,其中,基于所述估计的结果从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选的步骤包括当通过对虚拟运动矢量和多个运动矢量预测候选之间的矢量差进行可变长编码而获得的结果中至少一个结果被估计将以比通过对当前块的运动矢量和当前块的运动矢量预测之间的矢量差进行可变长编码而获得结果更短的距离进行编码时,从多个运动矢量预测候选中排除第二运动矢量预测。
6.如权利要求3所述的方法,其中,从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选的步骤还包括通过针对所有的多个运动矢量预测候选执行操作来排除至少一个候选。
7.如权利要求3所述的方法,其中,多个运动矢量预测候选根据在包括当前块的编码单元中的当前块的位置以不同的顺序被排列,并根据所述排列的顺序被索引。
8.—种对运动矢量进行解码的方法,所述方法包括 对关于当前块的运动矢量的信息进行解码; 通过使用多个运动矢量预测候选中的预定的运动矢量预测候选和关于所述运动矢量的解码的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对产生的矢量差和关于运动矢量的解码的信息进行比较,根据所述比较从多个运动矢量预测候选中选择性地排除预定的运动矢量预测候选; 将从多个运动矢量预测候选中没有排除的运动矢量预测候选的运动矢量预测候选确定为当前块的运动矢量预测,并基于确定的运动矢量预测和关于运动矢量的解码的信息恢复当前块的运动矢量。
9.如权利要求8所述的方法,其中,对关于当前块的运动矢量的信息进行解码的步骤包括对当前块的运动矢量和当前块的运动矢量预测之间的矢量差进行解码。
10.如权利要求8所述的方法,其中,多个运动矢量预测候选包括在与当前块相邻的先前编码的区域中包括的块的至少一个运动矢量。
11.如权利要求10所述的方法,其中,多个运动矢量预测候选还包括以下项中的至少一个与当前块的左侧相邻的块的运动矢量、与当前块的上侧相邻的块的运动矢量、与当前块的右上侧相邻的块的运动矢量和与当前块的左下侧相邻的块的运动矢量。
12.如权利要求9所述的方法,其中,从多个运动矢量预测候选中选择性地排除预定的运动矢量预测候选的步骤包括 将多个运动矢量预测候选中的一个设置为预定的运动矢量预测候选,并通过使用已设置的预定的运动矢量预测候选和解码的矢量差产生虚拟运动矢量; 产生已产生的虚拟运动矢量和多个运动矢量预测候选之间的矢量差; 估计通过对已产生的差进行熵编码而获得的结果和通过对已解码的矢量差进行熵编码而获得的结果; 基于所述估计的结果从多个运动矢量预测候选中选择性地排除预定的运动矢量预测候选。
13.一种用于对运动矢量进行编码的设备,所述设备包括 运动矢量估计器,通过估计当前块的运动矢量,基于当前块的运动矢量和当前块的运动矢量预测产生关于运动矢量的信息,基于估计的结果将多个运动矢量预测候选中的第一运动矢量预测候选确定为当前块的运动矢量预测; 候选确定器,通过使用多个运动矢量预测候选中的第二运动矢量预测候选和关于运动矢量的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对矢量差和关于运动矢量的信息进行比较,根据所述比较从多个运动矢量预测候选中选择性地排除第二运动矢量预测候选; 运动矢量编码器,对关于当前块的运动矢量的信息和关于当前块的运动矢量预测的信息进行编码。
14.一种用于对运动矢量进行解码的设备,所述设备包括 运动矢量解码器,对关于当前块的运动矢量的信息进行解码; 候选确定器,通过使用多个运动矢量预测候选中的预定的运动矢量预测候选和关于所述运动矢量的解码的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对产生的矢量差和关于运动矢量的解码的信息进行比较,从多个运动矢量预测候选中选择性地排除预定的运动矢量预测候选; 运动矢量恢复单元,将从多个运动矢量预测候选中没有排除的运动矢量预测候选的运动矢量预测候选确定为当前块的运动矢量预测,并基于确定的运动矢量预测和关于运动矢量的解码的信息恢复当前块的运动矢量。
15.一种实施了用于执行权利要求I到权利要求12中的一项权利要求的方法的计算机程序的计算机可读记录介质。
全文摘要
一种用于对当前块的运动矢量进行编码和解码的方法和设备。所述编码的方法包括通过估计运动矢量,基于估计的结果将多个运动矢量预测候选中的第一运动矢量预测候选确定为运动矢量预测,基于当前块的运动矢量和当前块的运动矢量预测来产生关于运动矢量的信息;通过使用第二运动矢量预测候选和关于运动矢量的信息产生虚拟运动矢量,产生虚拟运动矢量和多个运动矢量预测候选之间的矢量差,对矢量差和关于运动矢量的信息进行比较,根据所述比较选择性地排除第二运动矢量预测候选。
文档编号H04N7/32GK102714736SQ201180006526
公开日2012年10月3日 申请日期2011年1月19日 优先权日2010年1月19日
发明者李泰美, 韩宇镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1