估计运动矢量的方法和设备,编码器/解码器和解码方法

文档序号:7854223阅读:233来源:国知局
专利名称:估计运动矢量的方法和设备,编码器/解码器和解码方法
技术领域
与本发明一致的方法和设备通常涉及视频编码和解码,更为具体地,涉及使用多个运动矢量预测因子来估计运动矢量。
背景技术
帧间和帧内预测被广泛地用于视频编码技术。帧内预测使用在单个帧中的相邻像素的灰度等级之间的高相关性。帧间预测使用在视频序列中的邻近帧之间的相似性。只要在运动图像中不出现急剧地变换,运动图像的很多部分在邻近帧之间改变很小。具体地,运动矢量估计是用在帧间预测中的多个视频编码技术中的一种。运动矢量估计被设计为通过对由运动估计获得的运动矢量进行差分编码来处理图像。通常,块的运动矢量与相邻部分的运动矢量具有紧密的相关性。出于这个原因,通过从相邻部分的运动矢量预测当前块的运动矢量以及仅对这些两个运动矢量之间的微分矢量进行编码可减小将被编码的比特量。图IA和图IB示出用于现有技术的运动估计的相邻部分。参照图1A,当前宏块E及其相邻部分A、B和C在形状上相同,运动矢量的预测编码使用位于当前宏块E的左侧的块A的运动矢量、位于当前块E的上侧的块B的运动矢量、位于当前宏块E的右上侧的块C的运动矢量的水平分量和垂直分量的中值。图IB中,当前宏块E及其相邻部分A、B和C在形状上不同,并如下估计当前宏块E的运动矢量。(I)如果位于当前宏块E的左侧的相邻部分被划分为多个块,则位于那些块中的最上侧的块A被用于运动估计。如果位于当前宏块E的上侧的相邻部分被划分为多个块,则位于那些块中的最左侧的块B被用于运动估计。块A、块B和位于当前宏块E的右上侧的块C的运动矢量的水平分量和垂直分量的中值被用于当前宏块E的运动矢量的预测编码。(2)但是,如果将被编码的当前宏块E在形状上不是规则正方形,即,当前宏块E由16 X 8或8 X 16像素组成,则基于运动补偿块的大小而不是使用中值来估计当前宏块E的运动矢量,如下。(i)如果当前宏块E由16 X 8像素组成,则位于当前宏块E的上侧的块B和位于当前宏块E的左侧的块A被用于运动估计。(ii)如果当前宏块E由8X16像素组成,则位于当前宏块E的左侧的块A和位于当前宏块E的右上侧的块C被用于运动估计。(3)在跳跃宏块模式中,如⑴中描述的执行估计。如上所述,至少一个相邻块可被用于估计当前块的运动矢量。但是,根据现有技术,只有典型的相邻块,以及在那些相邻块之外的与当前块相似的块,即,与当前块具有相同运动的块是可用的,而其它块则不可用。因此,需要使用多个其它相邻块和那些典型的相邻块进行精确估计。在这种情况下,还需要处理关于用于运动估计的相邻块的信息的处理。发明公开技术方案本发明提供了一种用于估计运动矢量的方法和设备,其中,估计有用的相邻部分以估计当前块的运动矢量并且处理关于估计的相邻部分的信息。有益效果如上所述,根据本发明的示例性实施例,通过估计用于当前块的运动矢量估计的有用部分以及处理关于估计的部分的信息,可减小传送给解码器的信息量。本发明还可被实现为在计算机可读记录介质上的计算机可读代码。计算机可读记 录介质是可存储其后可被计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光学数据存储装置。计算机可读记录介质还可被分布于联网的计算机系统上,从而以分布方式存储和执行计算机可读代码。尽管已经参照本发明的示例性实施例具体示出和描述了本发明,但是本领域的普通技术人员应该理解,在不脱离权利要求限定的本发明的精神和范围的情况下可进行各种形式和细节的改变。


通过参照附图对示例性实施例进行的详细描述,本发明的上述和其他方面将会变得更加清楚,其中图IA和IB示出用于传统运动估计的相邻部分;图2示出根据本发明的示例性实施例的用于运动估计的相邻部分;图3A是根据本发明的示例性实施例的估计当前块的运动矢量的方法的流程图;图3B是根据本发明的另一示例性实施例的估计当前块的运动矢量的方法的流程图;图4A是根据本发明的示例性实施例的用于解释当前块与其相邻部分之间的空间相似性的计算的示图;图4B和4C是根据本发明的示例性实施例的用于解释与当前块相邻的相邻像素和与相应于当前块的每个参考块相邻的相邻像素之间的空间相似性的计算的示图;图5A是根据本发明的示例性实施例的用于估计运动矢量的设备的框图;图5B是根据本发明的另一示例性实施例的用于估计运动矢量的设备的框图;图6是根据本发明的示例性实施例的包括用于估计运动矢量的设备的编码器的框图;图7是根据本发明的示例性实施例的解码器的框图;图8是根据本发明的示例性实施例的解码方法的流程图。最佳方式根据本发明的一方面,提供了一种估计当前块的运动矢量的方法。所述方法包括计算当前块与当前块周围的多个相邻部分之间的空间相似性;基于计算的空间相似性选择至少一个相邻部分;以及,将选择的部分的运动矢量估计为当前块的运动矢量。空间相似性的计算期间,可使用当前块的像素的平均值和每个相邻部分的像素的平均值,可使用相邻部分的像素中的接近当前块的像素来计算当前块的像素的平均值。在空间相似性的计算期间,可根据编码器和解码器之间先前同意的空间顺序,将空间相似性分配给相邻部分。所述方法还可包括传送当前块的运动矢量与当前块的估计的运动矢量之间的运动信息和用于当前块的运动矢量的重建的部分信息。在估计步骤中,当选择了多个相邻部分时,可将选择的相邻部分中的一个的运动矢量估计为当前块的运动矢量。
在估计的步骤中,当选择了多个相邻部分时,可将选择的相邻部分的运动矢量的中值估计为当前块的运动矢量。在估计的步骤中,当选择了多个相邻部分时,可将选择的相邻部分的运动矢量的加权和估计为当前块的运动矢量。在估计的步骤中,可将在参考帧中的位于空间上与当前块相同位置的部分的运动矢量估计为当前块的运动矢量。根据本发明的另一方面,提供了一种估计当前块的运动矢量的方法。所述方法包括使用当前块周围的多个相邻部分来搜索至少一个参考帧以搜索与当前块相应的块;计算与每个找到的块相邻的相邻像素和与当前块相邻的相邻像素之间的相似性;以及,基于计算结果将部分的运动矢量中的一个估计为当前块的运动矢量。根据本发明的另一方面,提供了一种具有在其上记录有用于执行所述方法的程序的计算机可读记录介质。根据本发明的另一方面,提供了一种用于使用当前块周围多个相邻部分的运动矢量来估计当前块的运动矢量的设备。所述设备包括空间相似性计算单元,计算当前块与当前块周围的多个相邻部分的之间的空间相似性;部分选择单元,基于计算的空间相似性选择至少一个相邻部分;以及,运动矢量估计单元,将选择的部分的运动矢量估计为当前块的
运动矢量。根据本发明的另一方面,提供了一种视频编码器。视频编码器包括运动估计单元,产生当前块和当前块周围的多个相邻部分中的每一个的运动矢量;运动矢量估计单元,计算当前块与当前块周围的多个相邻部分之间的空间相似性,基于计算的空间相似性选择至少一个相邻部分,并将选择的部分的运动矢量估计为当前块的运动矢量;以及,熵编码单元,对当前块的运动矢量与当前块的估计的运动矢量之间的运动信息和用于当前块的运动矢量的重建的部分信息执行熵编码。根据本发明的另一方面,提供了一种视频解码器。视频解码器包括熵解码单元,对来自编码的比特流的残余块、运动信息和部分信息执行熵解码;运动矢量估计单元,计算当前块与当前块周围的多个相邻部分之间的空间相似性,基于计算的空间相似性选择至少一个相邻部分,将选择的部分的运动矢量估计为当前块的运动矢量,以及,将解码的运动信息添加到当前块的估计的运动矢量以重建当前块的运动矢量;以及,宏块重建单元,使用重建的运动矢量从解码的残余块重建当前块。根据本发明的另一方面,提供了一种解码方法。所述解码方法包括对来自编码的比特流的残余块、运动信息和部分信息执行熵解码;计算当前块与当前块周围的多个相邻部分之间的空间相似性,基于计算的空间相似性选择至少一个相邻部分,将选择的部分的运动矢量估计为当前块的运动矢量,以及,将解码的运动信息添加到当前块的运动矢量以重建当前块的运动矢量;以及,使用重建的运动矢量从解码的残余块重建当前块。根据本发明的另一方面,提供了一种具有在其上记录用于执行所述解码方法的程序的计算机可读记录介质。
具体实施方式
下面,通过参照附图对本发明的示例性实施例进行详细的描述。应该注意的是在一个或多个附图中相同的标号表示相同的元件。对本领域的普通技术人员明显的是仅为了本发明的易于理解而提供了诸如电路的元件的说明以及可不使用那些说明来实现本发明。在本发明的下面描述中,为了简明和清楚,将省略公知的功能和配置的详细描述。图2示出根据本发明的示例性实施例的用于运动估计的相邻部分。参照图2,根据现有技术不仅可使用相邻部分A、B和C来估计当前块E的运动矢量,还可使用其它相邻部分A1、A2和BI和B2来估计当前块E的运动矢量。当前块E可以是16 X 16宏块,相邻部分的大小可小于当前块E并可以是16X8、8X16、8X4、4X8和4X4中的一个。图3A是根据本发明的示例性实施例的估计当前块的运动矢量的方法的流程图,图4A根据本发明的示例性实施例的用于解释计算当前块与其相邻部分之间的空间相似性的示图。参照图3A,在操作S300,计算当前块E的像素的平均值和每一个相邻部分A、B、A1、A2、B1、B2和C的像素的平均值,以选择与当前块E具有空间相似性的相邻部分。在操作S301,使用计算的平均值选择相似的相邻部分作为当前块的预测因子。预测因子是将与当前块相比较的用于获得运动矢量差(MVD)的块。更具体地,在当前块的像素的平均值是第一平均以及相邻部分的像素的平均值是第二平均时,如果第一平均与第二平均之差的绝对值小于预定阈值,则选择相邻部分作为当前块的预测因子。具体地,当前块的像素的平均值与当前块周围的多个相邻部分中的每一个像素的平均值可用于计算空间相似性,可使用相邻部分的像素中的接触到当前块的像素来计算当前块的像素的平均值。在空间相似性的计算期间,根据在编码器与解码器之间先前同意的空间顺序将空间相似性分配给每个相邻部分。在操作S302,选择的相邻部分的运动矢量被估计为当前块的运动矢量。如参照图4描述,在操作S301,已选择了至少两个相邻部分。图4A是根据本发明的示例性实施例的用于解释计算当前块与其相邻部分之间的空间相似性的示图。在图4A中,假设当前块E是16X16宏块,相邻部分A由8X4像素组成,相邻部分Al由8 X 4像素组成,相邻部分A2由8 X 8像素组成,相邻部分B由4 X 8像素组成,相邻部分BI由4X8像素组成,相邻部分B2由8X8像素组成,相邻部分C由16X8像素组成。另外,假设当前块E的像素的平均值与相邻部分A2、B1和B2中的每一个的像素的平均值之差的绝对值小于预定阈值。根据本发明的示例性实施例,可如下面的(i)、(ii)、(iii)或(iv)估计当前块E的运动矢量。(i)选择相邻部分A2、B1和B2中的一个,将选择的相邻部分的运动矢量估计为当前块E的运动矢量。(ii)选择相邻部分A2、B1和B2的组合,例如,组合公式3C2,将选择的相邻部分的运动矢量的X分量和y分量的中值估计为当前块E的运动矢量。(iii)如果相邻部分A2、BI和B2的运动矢量是MVPA2、MVPBl和MVPB2,则将运动矢量的加权和,例如,a XMVPA2+P XMVPBl+y XMVPB2,估计为当前块E的运动矢量。关于相邻部分的信息,即,部分信息,遵守先前为解码器保留的规则。例如,部分信息可表示将与当前块具有空间相似性的相邻部分中的位于当前块的左侧的相邻部分的运动矢量估计为当前块的运动矢量,或者将相邻部分的运动矢量的中值估计为当前块的运动矢量。当使用权重时,将权重系数(a、P、Y)作为部分类型传送给解码器。 (iv)可将在参考帧中的位于在空间上与当前块的位置相应的位置的部分的运动矢量估计为当前块的运动矢量。在暂时地接近参考帧中的位于在空间上与当前块的位置相应的位置的部分,即,在参考帧中的位于在空间上与当前块相同的位置的部分,很有可能具有与当前块的运动相似的运动。因此,可将位于在空间上与当前块相同的位置的部分的运动矢量估计为当前块的运动矢量。关于相邻部分的信息,即,部分信息,遵守先前为解码器保存的规则。例如,部分信息可表示将与当前块具有空间相似性的相邻部分中的位于当前块的左侧的相邻部分的运动矢量估计为当前块的运动矢量或将相邻部分的运动模式的中值估计为当前块的运动模式。当使用权重时,将权重系数(a、0、Y)作为部分类型传送给解码器。图3B是根据本发明的另一实施例的估计当前块的运动矢量的方法的流程,图4B和图4C是根据本发明的示例性实施例的用于解释计算与当前块相邻的像素和与相应于当前块的每个块相邻的像素之间的空间相似性的示图。参照图3B,在操作310,使用与当前块410相邻的多个相邻部分A、B、C、Al、A2、BI、B2和C的运动矢量来搜索至少一个参考帧以搜索与当前块410相应的块420至422。假设当前块410与在图3A中示出的当前块E相同。将多个相邻部分A、B、C、A1、A2、B1、B2和C的相邻部分的运动矢量估计为当前块410的运动矢量。例如,图4A中示出的部分A的运动矢量可以是估计的运动矢量MVP1、图4A中不出的部分B的运动矢量可以是估计的运动矢量MVP2、图4A中不出的部分C的运动矢量可以是估计的运动矢量MVP3。在操作311,计算与相应于当前块410的发现的块420至422相邻的相邻像素423至425和与当前块410相邻的相邻像素411之间的相似性。优选地,但不是必需地,可通过计算像素423至425与像素411之间的绝对差之和(SAD)来计算所述相似性。对在操作311中的SAD计算,不是必须使用所有与相应于当前块410的块420至422相邻的相邻像素423至425和与当前块410相邻的相邻像素411。如图4C所示,可通过仅计算相邻像素423至425中的几个与相邻像素411之间的SAD来计算相似性。在图4C中,相邻像素423至425以及相邻像素411中,只有位于相应的块的左上侧、右上侧和左下侧的相邻像素被用于计算相似性。
在操作312,基于在操作311中计算的相似性,将相邻部分A、B、C、Al、A2、BI、B2
和C的运动矢量中的一个运动矢量估计为当前块的运动矢量。
如果在操作311中已经由相似性计算了 SAD,则用于搜索与具有最小SAD的像素相邻的块的运动矢量被估计为当前块的运动矢量。例如。如果当前块410的相邻像素411与使用运动矢量MVPl找到的块420的相邻像素423之间的SAD是计算的SAD中最小的,因此相邻像素411与相邻像素423之间的相似性最高,将用于搜索块410的运动矢量,即,运动矢量MVPl估计为当前块的运动矢量。但是,不是必须将用于搜索与具有最小SAD的像素相邻的块的运动矢量估计为当前块的运动矢量。尽管与最小SAD相应,但是当考虑当前块的所有率失真(R-D)成本时,运动矢量可能不是适当地被估计的运动矢量。因此,选择N个运动矢量候选量,S卩,与较小的SAD相应的多个运动矢量候选量,以及将在选择的运动矢量候选量中保证低的R-D成本的运动矢量估计为当前块的运动矢量。在这种情况下,表示多个运动矢量候选量中的哪个运动矢量已被估计为当前块的运动矢量的信息将被传送给解码器。假设图4B中示出的运动矢量MVP1、MVP2和MVP3中的运动矢量MVPl和MVP2与小的SAD相应,与运动矢量MVPl相应的SAD小于与运动矢量MVP2相应的SAD。将两个运动矢量MVPl和MVP2估计为当前块的运动矢量并使用估计的运动矢量执行编码。作为编码的结果,如果确定与将运动矢量MVP2估计为当前块的运动矢量的情况相应的R-D成本低于与其它情况相应的R-D成本,则将运动矢量MVP2估计为当前块的运动运动矢量。参照图3B、4B和4C如上所述,对相似性计算不是必须使用直接地与块410的边缘相邻的像素411和与块420至422的边缘相邻的像素423至425。具有块410和块420至422的边缘间隔预定的距离的像素具有与块410和块420至422具有相关性,也可使用这些像素。但是,本领域的普通工作人员应该理解如上所述的方法仅是示例且各种组合是可用的。图5A是根据本发明的示例性实施例的用于估计运动矢量的设备500的框图。参照图5A,设备500包括空间相似性计算单元501、部分选择单元502和运动矢量估计单元503。空间相似性计算单元501计算当前块E的像素的平均值和当前块E周围的相邻部分A、B、Al、A2、BI、B2和C中的每一个的像素的平均值。计算的平均值被传送给部分选择单元502。如果当前块E的像素的平均值是第一平均值,相邻部分A、B、A1、A2、B1、B2和C中的每一个的像素的平均值是第二平均值,则当第一平均值与相应于相邻部分的第二平均值之差的绝对值小于预定的阈值时,部分选择单元502选择相邻部分(或多个相邻部分)作为当前块E的预测因子。关于选择的(多个)相邻部分的信息被传送给运动矢量估计单元503。如上参照图3A和4A所述,运动矢量估计单元503使用选择的(多个)相邻部分的运动矢量(或多个运动矢量)来估计当前块E的运动矢量。可如上参照图3A和4A所述,选择至少两个相邻部分并执行这种情况下的运动估计。图5B是根据本发明的另一示例性实施例的用于估计运动矢量的设备500的框图。参照图5B,设备500包括搜索单元511、相似性计算单元512和运动矢量估计单元513。搜索单元511使用与当前块410相邻的多个相邻部分A、B、C、Al、A2、BI、B2和C的运动矢量来搜索至少一个参考帧以搜索与当前块410相应的块420至422。如参照图3B所阐述,当前块410被假设为与图3A中示出的当前块E相同。相似性计算单元512计算分别与找到的块420至422相邻的相邻像素423至425和与当前块410相邻的相邻像素411之间的相似性。对相似性计算,相似性计算单元512计算相邻像素423至425与相邻像素411之间的SAD。运动矢量估计单元513基于通过相似性计算单元512获得的计算结果估计当前块410的运动矢量。参照图3B、4B和4C已对用于运动矢量估计的详细的方法进行了描述。
图6是根据本发明的示例性实施例的包括设备500的编码器600的框图。参照图6,加法器单元601计算从外部输入的当前帧的图像数据与从运动补偿单元609接收的运动补偿视频数据之间的差并将所述差传送给频率变换单元602。如果当前宏块经过帧间模式编码,则单元601将从外部输入的图像数据与运动补偿视频数据之间的差并将所述差传送给频率变换单元602。频率补偿单元602对从附加单元601接收的图像数据执行离散余弦变换(DCT)以将空间域值转换为频率域值并将转换的频率域值输出给量化单元603。量化单元603对从频率转换单元602接收的频率域值进行量化,并将量化的频率域值输出给熵编码单元604。熵编码单元604对从量化单元603接收的量化的频率域值、运动信息以及从设备500接收的部分信息执行熵编码以产生编码的比特流。反量化单元605、频率逆变换单元606、巾贞存储单元607、运动估计单元607、运动补偿单元609和设备500构成用于运动补偿的整套模块/装置。反量化单元605对从量化单元603接收的量化的频域值执行反量化并将反量化的频域值输出给频率逆变换单元606。频率逆变换单元606将从反量化单元605接收的反量化的频域值变换为空间域值并将空间域值输出给附加单元606a。单元606a将从频率逆变换单元606输出的图像数据与从运动补偿单元609接收的图像数据相加以产生用于运动补偿的参考图像数据。产生的参考图像数据存储在帧存储单元607。帧存储单元607存储从单元606a接收的参考帧的图像数据。运动估计单元608执行从外部输入的当前帧的图像数据与存储在帧存储单元607中的图像数据之间的运动估计以计算运动矢量。将通过运动估计单元608计算的运动矢量传送到运动补偿单元609和设备500。运动补偿单元609使用通过运动估计单元608计算的运动矢量对存储在巾贞存储单元607中的图像数据执行运动补偿以产生运动补偿图像数据。将运动补偿图像数据传送给单元601和单元606a。如参照图5A所述,设备500包括空间相似性计算单元501、部分选择单元502和运动矢量估计单元503。空间相似性计算单元501计算当前块E的像素的平均值和当前块E周围的相邻部分A、B、Al、A2、BI、B2和C中的每一个的像素的平均值。如果当前块E的像素的平均值是第一平均值,相邻部分A、B、A1、A2、B1、B2和C中的每一个的像素的平均值是第二平均值,则当第一平均值与相应于相邻部分的第二平均值之差的绝对值小于预定的阈值时,部分选择单元502将选择相邻部分(或多个相邻部分)作为当前块E的预 测因子。关于选择的(多个)相邻部分的信息被传送给运动矢量估计单元 503。运动矢量估计单元503使用选择的(多个)相邻部分的运动矢量(或多个运动矢量)来估计当前块E的运动矢量。将部分信息和运动信息输出给熵编码单元604。运动信息表示当前块的估计的运动矢量与选择的相邻部分的运动矢量之差。参照图3A和4A已详细的描述了这些方法。根据本发明的另一实施例,如图5B所示,设备500包括搜索单元511、相似性计算单元512和运动矢量估计单元513。搜索单元511使用与当前块410相邻的多个相邻部分A、B、C、A1、A2、B1、B2和C的运动矢量来搜索至少一个(多个)参考帧以搜索与当前块相应的块420至422。相似性计算单元512计算分别与找到的块420至422相邻的相邻像素423至425与与当前块410相邻的相邻像素411之间的相似性。对相似性计算,相似性计算单元512计算相邻像素423至425与相邻像素411之间的SAD。运动矢量估计单元513基于通过相似性计算单元512获得的计算结果估计当前块410的运动矢量。将部分信息和运动信息输出给熵编码单元604。运动信息表示当前块的估计的运动矢量与用于估计当前块的运动矢量的相邻部分的运动矢量之差。参照图3B、4B和4C已描述用于运动模式矢量的详细的方法。图7是根据本发明的示例性实施例的解码器700的框图,解码器700包括熵解码单元701、反量化单元702、频率逆变换单元703、巾贞存储单元704、运动补偿单元705、单元706和运动矢量估计单元707。参照图7,熵解码单元701对编码的比特流执行熵解码并将熵解码的比特留传送给反量化单元702和运动矢量估计单元707。具体地,在帧间模式编码的情况下,熵解码单元701提取与当前宏块相关联的运动信息和部分信息以及熵解码的图像数据,并将提取的图像数据输出到反量化单元702以及将提取的运动信息和部分信息输出到运动矢量估计单元707。反量化单元702对从熵解码单元702输出的熵解码的图像数据执行反量化,并将反量化的图像数据输出到频率逆变换单元703。频率逆变换单元703将从反量化单元702输出的反量化的图像数据变换为空间域值并将空间域值输出到单元706。单元706将从运动补偿单元705接收的运动补偿图像数据与从频率逆变换单元703接收的逆变换的量化图像数据相加以产生重建的图像数据。单元706的输出是当前帧的解码图像数据。帧存储单元704存储从单元706输出的帧的图像数据。运动矢量估计单元707使用通过熵解码单元701提取的运动信息和帧存储单元704的参考块估计当前块的运动矢量。估计的运动矢量被输出到运动补偿单元705。
更为具体地,运动矢量估计单元707按与包括在图6中示出的编码器600中的设备500估计运动矢量的方法相同的方法来估计当前块的运动矢量。因此,运动矢量估计单兀707可被配置为与图6中不出的设备500相同的方式。运动补偿单元705将从运动矢量估计单元707接收的运动矢量和部分信息应用到存储在帧存储单元704中的参考帧的图像数据以执行运动补偿。运动补偿图像数据被输出到单元706。图8是根据本发明的示例性实施例的解码方法的流程图。参照图8,在操作S801,对编码的比特流中的运动信息、部分信息和残余块执行熵解码。在操作S802,使用解码的运动信息和部分信息来重建当前块的运动矢量。更为 具体的,基于解码的部分信息来计算当前块与当前块周围的多个相邻部分之间的空间相似性。基于计算的空间相似性选择至少一个相邻部分,选择的相邻部分的运动矢量被估计为当前块的运动矢量。然后,将运动信息添加到估计的运动矢量以重建当前块的运动矢量。根据本发明的示例性实施例,使用基于解码的部分信息确定的当前块周围的多个相邻部分的运动矢量来搜索至少一个参考帧以搜索与当前块相应的块,。计算分别与找到的块相邻的相邻像素和与当前块相邻的相邻像素之间的空间相似性。基于计算结果将相邻部分的运动矢量中的一个运动矢量估计为当前块的运动矢量,将解码的运动信息添加到估计的运动矢量以重建当前块的运动矢量。在操作S803,在操作S802重建的运动矢量被应用到解码的参考块以产生运动补偿块。另外,在操作S801熵解码的残余块随后通过反量化和频率逆变换以产生空间域残余块。运动补偿块和空间域参与块被相加以产生当前块。由于相邻部分还可按与解码器中的相同的方法被用于解码方法和解码器以估计当前块的运动矢量是明显的,将省略对其的详细描述。
权利要求
1.一种估计当前块的运动矢量的方法,所述方法包括 基于当前块与当前块周围的多个相邻部分之间的空间相似性从所述当前块周围的多个相邻部分选择至少一个部分,其中,所述至少一个部分与当前块相比较以获得运动矢量差; 将选择的部分的运动矢量估计为当前块的运动矢量并产生运动矢量差;和 传送关于运动矢量差的信息和用于当前块的运动矢量的重建的部分信息。
2.根据权利要求I所述的方法,其中,基于当前块的像素的平均值和每个相邻部分的像素的平均值计算空间相似性。
3.根据权利要求2所述的方法,其中,使用相邻部分的像素中的与当前块相邻的像素来计算当前块的像素的平均值。
4.根据权利要求I所述的方法,其中,根据编码器和解码器之间先前同意的空间顺序,将空间相似性分配给相邻部分。
5.根据权利要求I所述的方法,其中,在估计的步骤中,如果选择了多个相邻部分,则将选择的相邻部分中的一个的运动矢量估计为当前块的运动矢量。
6.根据权利要求I所述的方法,其中,在估计的步骤中,如果选择了多个相邻部分,则将选择的相邻部分的运动矢量的中值估计为当前块的运动矢量。
7.根据权利要求I所述的方法,其中,在估计的步骤中,如果选择了多个相邻部分,则将选择的相邻部分的运动矢量的加权和估计为当前块的运动矢量。
8.根据权利要求I所述的方法,其中,在估计的步骤中,将在参考帧中的位于空间上与当前块相同位置的部分的运动矢量估计为当前块的运动矢量。
9.一种用于估计当前块的运动矢量的设备,所述设备包括 部分选择单元,基于当前块与当前块周围的多个相邻部分之间的空间相似性从所述当前块周围的多个相邻部分选择至少一个部分,其中,所述至少一个部分与当前块相比较以获得运动矢量差; 运动矢量估计单元,将选择的部分的运动矢量估计为当前块的运动矢量并产生运动矢量差, 其中,运动矢量估计单元传送关于运动矢量差的信息和用于当前块的运动矢量的重建的部分信息。
10.根据权利要求9所述的设备,其中,基于当前块的像素的平均值和每个相邻部分的像素的平均值计算空间相似性。
11.根据权利要求10所述的设备,其中,使用相邻部分的像素中的与当前块相邻的像素来计算当前块的像素的平均值。
12.根据权利要求9所述的设备,其中,根据编码器与解码器之间先前同意的空间顺序将空间相似性分配给相邻部分。
13.根据权利要求9所述的设备,其中,如果选择了多个相邻部分,则运动矢量估计单元将选择的相邻部分中的一个的运动矢量估计为当前块的运动矢量。
14.根据权利要求9所述的设备,其中,如果选择了多个相邻部分,则运动矢量估计单元将选择的相邻部分的运动矢量的中值估计为当前块的运动矢量。
15.根据权利要求9所述的设备,其中,如果选择了多个相邻部分,则运动矢量估计单元将选择的相邻部分的运动矢量的加权和估计为当前块的运动矢量。
16.根据权利要求9所述的设备,其中,运动矢量估计单元将在参考帧中的位于空间上与当前块相同位置的部分的运动矢量估计为当前块的运动矢量。
17.—种视频编码器,包括 运动估计单元,产生当前块和当前块周围的多个相邻部分中的每一个的运动矢量; 运动矢量估计单元,基于当前块与当前块周围的多个相邻部分之间的空间相似性从所述当前块周围的多个相邻部分选择至少一个部分,其中,所述至少一个部分与当前块相比较以获得运动矢量差,并将选择的部分的运动矢量估计为当前块的运动矢量,产生运动矢量差并传送关于运动矢量差的信息和用于当前块的运动矢量的重建的部分信息;和 熵编码单元,对关于运动矢量差的信息和用于当前块的运动矢量的重建的部分信息执行熵编码。
18.根据权利要求17所述的视频编码器,其中,基于当前块的像素的平均值和每个相邻部分的像素的平均值计算空间相似性。
19.根据权利要求18所述的视频编码器,其中,使用相邻部分的像素中的与当前块相邻的像素来计算当前块的像素的平均值。
20.根据权利要求17所述的视频编码器,其中,根据编码器与解码器之间先前同意的空间顺序将空间相似性分配给相邻部分。
21.根据权利要求17所述的视频编码器,其中,如果选择了多个相邻像素,则运动矢量估计单元将选择的相邻部分中的一个的运动矢量估计为当前块的运动矢量。
22.根据权利要求17所述的视频编码器,其中,如果选择了多个相邻像素,则运动矢量估计单元将选择的相邻部分的运动矢量的中值估计为当前块的运动矢量。
23.根据权利要求17所述的视频编码器,其中,如果选择了多个相邻像素,则运动矢量估计单元将选择的相邻部分的运动矢量的加权和估计为当前块的运动矢量。
24.根据权利要求17所述的视频编码器,其中,运动矢量估计单元将在参考帧中的位于空间上与当前块相同位置的部分的运动矢量估计为当前块的运动矢量。
25.一种视频解码器,包括 熵解码单元,对来自编码的比特流的残余块、关于运动矢量差的信息和部分信息执行熵解码; 运动矢量估计单元,基于当前块与当前块周围的多个相邻部分之间的空间相似性从所述当前块周围的多个相邻部分选择至少一个部分,将选择的部分的运动矢量估计为当前块的运动矢量,以及,将解码的运动矢量差添加到当前块的估计的运动矢量以重建当前块的运动矢量;和 宏块重建单元,使用重建的运动矢量从解码的残余块重建当前块。
26.根据权利要求25所述的视频解码器,其中,基于当前块的像素的平均值和每个相邻部分的像素的平均值计算空间相似性。
27.根据权利要求26所述的视频解码器,其中,使用相邻部分的像素中的与当前块相邻的像素计算当前块的像素的平均值。
28.根据权利要求25所述的视频解码器,其中,根据编码器与解码器之间先前同意的 空间顺序将空间相似性分配给相邻部分。
29.根据权利要求25所述的视频解码器,其中,如果选择了多个相邻部分,则运动矢量估计单元将选择的相邻像素中的一个的运动矢量估计为当前块的运动矢量。
30.根据权利要求25所述的视频解码器,其中,如果选择了多个相邻部分,则运动矢量估计单元将选择的相邻部分的运动矢量的中值估计为当前块的运动矢量。
31.根据权利要求25所述的视频解码器,其中,如果选择了多个相邻部分,则运动矢量估计单元将选择的相邻部分的运动矢量的加权和估计为当前块的运动矢量。
32.根据权利要求25所述的视频解码器,其中,运动矢量估计单元将在参考帧中的位于空间上与当前块相同位置的部分的运动矢量估计为当前块的运动矢量。
33.一种解码方法,包括 对来自编码的比特流的残余块、关于运动矢量差的信息和部分信息执行熵解码; 基于当前块与当前块周围的多个相邻部分之间的空间相似性从所述当前块周围的多个相邻部分选择至少一个部分,将选择的部分的运动矢量估计为当前块的运动矢量,以及,将解码的运动矢量差添加到当前块的估计的运动矢量以重建当前块的运动矢量;和 使用重建的运动矢量从解码的残余块重建当前块。
34.根据权利要求33所述的解码方法,其中,基于当前块的像素的平均值和每个相邻部分的像素的平均值计算空间相似性。
35.根据权利要求34所述的解码方法,其中,使用相邻部分的像素中的与当前块相邻的像素计算当前块的像素的平均值。
36.根据权利要求33所述的解码方法,其中,根据编码器与解码器之间先前同意的空间顺序将空间相似性分配给相邻部分。
37.根据权利要求33所述的解码方法,其中,如果选择了多个相邻部分,则所述估计步骤包括将选择的相邻部分中的一个的运动矢量估计为当前块的运动矢量。
38.根据权利要求33所述的解码方法,其中,如果选择了多个相邻部分,则所述估计步骤包括将选择的相邻部分的运动矢量的中值估计为当前块的运动矢量。
39.根据权利要求33所述的解码方法,其中,如果选择了多个相邻部分,则将选择的相邻部分的运动矢量的加权和估计为当前块的运动矢量。
40.根据权利要求33所述的解码方法,其中,所述估计包括将在参考帧中的位于空间上与当前块相同位置的部分的运动矢量估计为当前块的运动矢量。
全文摘要
提供了一种用于使用多个运动矢量预测因子来估计运动矢量的方法和设备,编码器、解码器和解码方法。所述方法包括计算当前块与当前块周围的多个相邻部分之间的空间相似性;基于计算的空间相似性选择至少一个相邻部分;将选择的部分的运动矢量估计为当前块的运动矢量。
文档编号H04N7/50GK102752593SQ201210210549
公开日2012年10月24日 申请日期2007年12月27日 优先权日2007年1月3日
发明者李太美, 韩宇镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1