针对块集合的编码选择运动矢量的方法与设备的制作方法

文档序号:7620365阅读:85来源:国知局
专利名称:针对块集合的编码选择运动矢量的方法与设备的制作方法
技术领域
本发明涉及一种针对图像压缩领域的运动的分级估计的方法。该方法可以在划分成块并表示所谓原始分辨率的图像中,针对块集合来选择运动矢量。
背景技术
本发明的环境是压缩,具体是基于逐块(blockwise)编码方案的MPEG-2、MPEG-4类型的视频压缩,第2或第10篇。这些压缩方案基于被称作宏块的基本实体进行操作。以下,术语块可以指定较小块的任何尺寸的组,并且因此,具体地,其可以指定宏块。然而,在使用由块所描述的运动矢量场的任何视频编码方案中均可以实现本发明。
在图像压缩领域,内部运动矢量针对利用视频信号的时间冗余,以于对其进行压缩。因此,原理是预测图像的内容,然后仅对在该预测中得到的误差进行编码。MPEG标准实现了图像的运动补偿技术,以便于将时间冗余的降低最优化。然后,要区分几个步骤运动估计、运动补偿以及编码。如上文所示,本发明涉及运动估计。
作为通用规则,无法通过单个矢量对视频序列中的运动进行建模。因此,图像的每一个宏块与运动提示(cue)相关联。运动估计操作可以在参考图像中确定宏块,所述宏块与要编码的宏块最相似。该搜索算法不是标准化的,并且其效率对于编码器的性能及其复杂性具有根本影响。
最常用的方法是块匹配通过在参考图像搜索区域中所测试的矢量,将宏块与所指向的宏块相比较。在MPEG-2规范的情况下,利用半个像素的精确度来确定该矢量。从象素值之间的差值绝对值之和的观点,基于最小化差值的宏块、以下的复制(dubbed)失真以及矢量场的编码的可能成本来进行选择。由于以原始分辨率对整个图像进行搜索,该方法在计算时间方面成本较高。此外,估计处理是单一分辨率的,其通常收敛到与提供失真/编码成本折衷的函数的局部最小值相对应的矢量场。

发明内容
本发明提出了一种运动估计方法,其不会引起上述所提到的缺点。因此,由于达到了接近全局最小值的最小值,根据本发明的运动估计方法可以得到要求较少计算时间以及较少编码成本的运动估计。
本发明涉及一种运动的分级估计方法,其用于针对从被划分为块的原始图像的块集合,从多个运动矢量中选择运动矢量,所述方法包括计算步骤,用于针对每一个运动矢量,计算块集合的能量函数,所述计算步骤实现了适于块集合尺寸计算的拉格朗日约束条件的子步骤;以及选择步骤,用于选择使所述块集合上的能量函数最小化的运动矢量。
具体地,通过采用基于块集合的分析,本发明提出的宽尺度方法可以进行更全局地分析。使用适于块集合的尺寸的拉格朗日约束条件可以减少计算量。
根据本发明的实施例,计算步骤实现了对于低分辨率图像的失真计算的子步骤,所述低分辨率图像与块集合相对应,并且通过利用基于原始图像的分辨率降低的子步骤来获得。
由于仅对低分辨率的图像计算失真,利用多分辨率方法进行补充的宽尺度方法使得计算量可以进一步减少。
在另一个实施例中,将在分辨率降低的子步骤中所使用的系数用于计算拉格朗日约束条件的子步骤中。
在该情况下,则拉格朗日约束条件适合作为用于产生低分辨率图像的滤波器的特征函数。
根据本发明的实施例,通过向被称作当前运动矢量的块集合的相邻的块集合提供运动矢量,对递减尺寸的块集合序列迭代地重复该方法,在包括相邻块集合的较大尺寸的块集合的之前迭代中,选择所述当前运动矢量。
该多尺度、迭代分级的方法可以比利用单尺度和/或单分辨率方法达到更接近全局最小值的局部最小值,因此,具体地,最优化了块集合的编码成本。具体地,对于尺寸越来越小的块集合进行本发明的迭代,可以最优化整个图像的最小值的确定。于是,获得局部最小值的可能性较小。
根据本发明的实施例,对于n次迭代,块集合的递减尺寸是2n×2n块。
对于将块具体地分为宏块的MPEG编码,本实施例尤其有用的,所述宏块还可以组合在一起,具体地,可以组成2n×2n的块组。例如,迭代的起始块集合可以是要编码的图像中最大可能尺寸2n的块,序列中接下来的集合的尺寸是2n-1等。根据本发明的方法,则针对尺寸2n的集合选择运动矢量,所述尺寸2n的集合与接下来的迭代中的四个尺寸2n-1的集合相对应。然后,根据本发明,针对每一个尺寸2n-1的集合确定运动矢量。此后,通过常规的扫描对这些集合进行遍历(traversed),例如,从左到右和从上到下。然后,依次是尺寸2n-2的集合等等。
根据本发明的实施例,利用降低分辨率的子步骤所得到的图像的尺寸是在块集合的序列中的随后块集合的尺寸。
本发明还设计用于实现之前所描述的方法的设备。
本发明还涉及一种通过实现根据本发明方法而获得压缩的图像。


通过阅读多个实施例的描述,本发明的其它特点和优点将更加显而易见,所述描述通过参考以下附图给出,其中图1是根据本发明的设备的图示。
图2a至图2c表示多尺度结构。
图3示出了针对块集合B的本发明的操作方式。
图4a至图4c表示多分辨率结构。
图5表示与用于计算编码成本的块相邻的块。
具体实施例方式
如图1所示,根据本发明的设备100包括计算模块102,用于针对每一个运动矢量,对于原始图像101的块集合108计算能量函数105。然而,对于同一块集合的多个运动矢量来计算能量函数,为了清楚,通过单个参考数字105表示所述能量函数。因此,作为能量函数的多个值,存储所参考的105,作为被评估的运动矢量。
具体地,为了产生运动估计,因此寻求识别每一个块集合108的运动场。针对当前图像的每一个块集合108,寻求在限制其编码成本的同时,提供对于当前块集合108的较好预测的运动矢量。为此,确定能量函数105,按常规将其分解为两项一项关于时间预测量的测量,以及另一项关于运动的编码成本。
传统地,对于当前图像的块b,与时间预测质量的测量相关的能量以运动补偿误差作为基础。使用被称作SAD的差值的绝对值之和,其计算如下SADb(u)=∑|Icurrent(x,y)-Iref(x+ux,y+uy)|其中,Icurrent是当前图像,Iref是参考图像,(x,y)是象素的地址,(ux,uy)是运动矢量u的分量。
根据MPEG规范,根据以下等式确定关于编码成本的能量Cb(u)=λ.R(u-mb)其中,λ是拉格朗日加权系数、R(...)是针对矢量mb的编码成本函数,所述运动矢量可以用作针对块b的矢量编码的预测。例如,可以计算mb,用作其周围的三个矢量的中值矢量。
因此,运动估计问题可以处理为将以下函数最小化的问题Σb⋐Icurrent(SADb(u)+Cb(u))]]>对于全体块的计算要求大量的计算,如以前所述,所述计算无法达到接近全局最小值的最小值,尤其是对于编码成本而言。
为了避免这些缺点,本发明使用了多尺度方法。如图2b和2c所示,在尺度k>0,块集合B包含尺度k=0的2k×2k块b N×N。
如图3所示,以给定尺度k将块集合B的相邻块表示为Ni(i=1,...,8)。块集合B和Ni的每一个都具有矢量。将B的尺度为0、尺寸为N×N的块表示为bi,并且其尺度为0、尺寸为N×N的相邻块表示为ni。
根据本发明,针对块集合执行最小化,并且有利地,之后以较小尺度进行运动矢量的其它选择,因此,从最大尺度到尺度0执行能量函数的最小化。于是,以给定尺度所得到的运动场用作针对下一个尺度的初始化。为了以给定尺度对图像进行最小化,例如,原理在于逐一地采用块集合,利用从左到右和从上到下的扫描,并且针对每一个块集合选择矢量,所述矢量提供了能量函数的最小值。
将矢量u分配给块集合,这对于块集合自身具有影响,并且,由于针对给定块集合的运动矢量的编码,使用了相邻块集合的运动矢量,因此还对于相邻的块集合具有影响。因此,能量函数的计算任务可以评价该影响,并且将其最小化。
另一方面,将与能量函数中的运动编码成本相对应的项复制到随后的环境能量(contextual energy)中。该能量考虑到针对所处理的块集合的编码成本及其相邻块的编码成本。
因此,参考图3,针对矢量u的块集合B的环境能量等于ECBk(u)=Σi=1K×KCbi(u)+Σi=14K+4Cni(Vni/u)]]>其中,Vn是块n的矢量Cb(x)是针对矢量x的块bB的编码成本,按照以下形式表示Cb(x)∶Cb(x)=λ.R(x-mb)Cn(x/u)是针对矢量x的块nN的编码成本,所述矢量x已知块集合B的矢量是u,按照以下形式表示Cn(x/u)Cn(x/u)=λ.R(x-mn(u)),其中,mn(u)是块n的预测器运动矢量,所述块n已知块集合B的矢量是u。
针对包括在块集合B中的块bK+1与bK×K,运动矢量是u。因此,对于这些块,Cb(u)=λ.R(0)与u无关。
对于从n1到n3K+2和n4K+4的块,运动矢量与u无关。具体地,如标准中所定义以及在图5中阴影线所示,针对块b的其三个相邻块不包含u,或者一个包含u且另两个包含同一个矢量v。因此,通过运动矢量的定义,三个的中值与v相对应。
因此,得到以下结果ECBk(u)=γ+Σi=1KCbi(u)+Σi=3K+34K+3Cni(Vni/u)]]>其中,γ与u无关。
可以将等式的各项进行如下更清晰地的表示Cbi(u)=λ.R(u-VN2)CbK-1(u)=λ.R(u-VN2)CbK(u)=λ.R(u-med(u,VN2,VN3))]]>Cn3K+3(u)=λ.R(VN6-med(VN6,VN4,u))Cn3K+4(u)=λ.R(VN7-u)Cn4K+2(u)=λ.R(VN7-u)Cn4K+3(u)=λ.R(VN7-med(VN7,u,VN5))]]>最终得到 因此,由于其与矢量u无关,对于每一个尺度,仅计算一次系数λ。不需要计算γ,由于该项与u无关。因此,与所测试的运动矢量无关,仅上述等式之和的右侧部分发生变化。因此,本发明可以减小要执行的计算量。因此,与运动矢量的编码相关的能量的计算实现了对拉格朗日约束条件λ的计算,所述拉格朗日约束条件λ针对块集合的尺寸所确定,即,在所考虑的尺度。
对于与单个块相对应的最小尺度,即k=0,环境能量表达为以下形式ECB0(u)=λ.R(u-med(VN4,VN2,VN3))+R(VN5-med(u,VN3,VN9))+R(VN6-med(VN12,VN4,u))+R(VN7-med(VN76,u,VN5))=λ.ecB0(u)]]>另一方面,理论上,关于运动补偿误差的能量是块集合B的尺度0的所有块的SAD之和。为了减少计算负担,本发明执行了多分辨率方法。于是,针对当前图像并且针对参考图像,构建来自原始图像的不同分辨率的图像。注意,当对于多个分辨率迭代地重复本发明时,构建了图像的多分辨率金字塔。如图4所示,在该金字塔中,图4b或图4c中k级的尺寸为N×N的块与图4a中0级的尺寸为N×N的一组2k×2k的块相对应。因此,可以使用尺度0的块集合与尺度k的N×N块相匹配。
为了实现对于不同分辨率图像的失真的计算,计算模块102与计算子模块110合作,所述计算子模块用于计算与块集合108相对应并且利用子模块109的作用得到的图像106的失真104,所述子模块109用于基于原始图像101来降低分辨率。
例如,通过至少对块集合108进行低通滤波而得到较低分辨率的图像106,其来自原始分辨率的图像101,然后进行系数为2的二次抽样。因此,例如,在较低分辨率的图像中的尺寸为N×N的块与在原始分辨率101的图像中尺寸为N×N的块集合108相对应。
具体地,如图4所示,这种情况与以下情况相对应分辨率的降低使得满足块集合108的尺寸通过分辨率的降低而缩小,从而等于块集合的尺寸序列中的下一个尺寸。这种尺寸序列用于迭代地重复根据本发明的方法。
本发明提出针对两个分辨率释放所独立获得的失真之间的连接,以便于将对较低分辨率的图像进行的计算用于原始分辨率的计算。
因此,根据本发明,关于差值的绝对值之和,在较低分辨率的图像的尺寸为N×N的块的SAD与原始分辨率图像中的尺寸为N×N的块的SAD之和之间,发现了近似关系,所述在较低分辨率的图像的尺寸为N×N的块与原始分辨率图像中的块集合相对应。
认为用于SAD的计算中的图像信号x是根据高斯分布的不相关信号。
x~N(μ,σ)假设根据低通滤波而产生的信号y是线性的,则根据该信号的二次抽样得到的信号与以下的统计特性不相关y~N(μ,Σi,jα2(i,j)σ)]]>其中,α(i,j)构成了用于构建低分辨率图像的低通滤波器的系数。通过示例,滤波器可以如下α(0,0)=0.0625 α(0,1)=0.125 α(0,2)=0.0625α(1,0)=0.125 α(1,1)=0.25 α(1,2)=0.125α(2,0)=0.0625 α(2,1)=0.125 α(2,2)=0.0625于是,通过以下公式,可以认为给定分辨率k块的SAD与较高分辨率k-1的相对应块的SAD相关(Σi,jα2(i,j)4).SADk(u/2k)≈ΣmSADmk-1(u/2k-1)]]>迭代地应用,则对于较低分辨率图像的尺寸为N×N的块的SAD的计算可以根据以下公式,近似与在原始尺寸的图像中相对应的尺寸N×N的块的SAD之和(Σi,jα2(i,j)4)k.SADk(u/2k)≈ΣmSADm0(u)]]>,其中SAD°是原始分辨率图像上的块的SAD。
系数4来自于以下事实给定分级的块在较低分级上具有四个相对应的块。
设备包括用于选择最小化能量函数的第一运动矢量的模块,通过计算与运动的编码成本相对应以及与所述块集合的运动补偿误差相对应的能量之和来获得所述第一运动矢量。
于是,针对块集合B的矢量u是使以下函数最小化的运动矢量(Σi,jα2(i,j)4)k.SADk(u/2k)+λ.ecB0(u)]]>因此,具体地,最优矢量的搜索在于搜索最小化以下函数的矢量SADk(u/2k)+λk.ecBk(u)其中λk=λ(Σi,jα2(i,j)4)k]]>因此,在计算子模块103中计算与λk相对应的拉格朗日约束条件113,有利地,所述计算子模块接收用于产生较低分辨率图像106的滤波器的系数112。因此,由于可以首先以较大的尺度执行能量函数的最小化,适于块集合的尺寸的拉格朗日约束条件113的这种新形式使得计算量大为简化,同时确保达到接近图像的全局最小值的最小值,然后,当对于块集合的一些尺寸迭代地重复根据本发明的方法时,对于越来越小的尺寸栅格执行能量函数的最小化。根据本发明,有利地,针对较低分辨率的块集合的图像的块集合的每一个尺寸来计算失真。这可以显著地减少计算量。
然后,通过对于块集合的递减尺寸序列来迭代地重复根据本发明的方法,本发明可以基于粗尺度而保证最优化,例如,第n次迭代的尺寸为2n×2n。使用因果扫描对每一个集合进行遍历。
本发明不局限于所描述的实施例,并且本领域的技术人员将认识到存在各种可选实施例。
权利要求
1.一种运动的分级估计方法,用于针对被划分成块的原始图像(101)的块集合(108),从多个运动矢量中选择运动矢量(111),所述方法包括计算步骤(102),用于针对每一个运动矢量,计算块集合(108)的能量函数(105),所述计算步骤(102)实现了适于块集合(108)的尺寸的拉格朗日约束条件(113)的计算子步骤(103),选择步骤(107),用于选择使所述块集合(108)的能量函数(105)最小化的运动矢量(111)。
2.根据权利要求1所述的方法,其中计算步骤(102)实现了对于较低分辨率的图像(106)的失真(104)的计算子步骤(110),所述较低分辨率的图像与块集合(108)相对应,并且利用基于原始图像(101)的分辨率(109)的降低子步骤来获得。
3.根据权利要求2所述的方法,其中,在分辨率(109)的降低子步骤中所使用的系数(112)用于拉格朗日约束条件(113)的计算子步骤(103)中。
4.根据权利要求1至3之一所述的方法,通过向块集合的相邻块集合提供称作当前运动矢量的运动矢量,对于递减尺寸的块集合序列迭代地重复所述方法,在包括相邻块集合的较大尺寸的块集合的之前迭代中,选择所述当前运动矢量。
5.根据权利要求4所述的方法,其中,对于第n次迭代,块集合(108)的递减的尺寸是2n*2n块。
6.根据权利要求4或5所述的方法,其中,利用分辨率(109)的降低子步骤所获得的图像(106)的尺寸是块集合序列中随后的块集合的尺寸。
7.一种图像编码方法,其特征在于,其包括根据权利要求1所述的方法的分级运动估计阶段。
8.一种用于运动的分级估计的设备(100),用于针对被划分为块的原始图像(101)的块集合(108),从多个运动矢量中选择运动矢量(111),所述设备(100)包括计算模块(102),用于针对每一个运动矢量来计算块集合(108)的能量函数(105),所述计算模块(102)实现了计算子模块(103),用于计算适于块集合(108)的尺寸的拉格朗日约束条件(113),选择模块(107),用于选择使所述块集合(108)的能量函数(105)最小化的运动矢量。
9.根据权利要求8所述的设备(100),其中,计算模块(102)实现了计算子模块(110),用于计算较低分辨率的图像(106)的失真(104),所述较低分辨率的图像与块集合(108)相对应,并且利用用于基于原始图像(101)而降低分辨率(109)的子模块来得到。
10.根据权利要求6或7所述的设备,包括用于选择运动矢量(111)的装置,通过向块集合的相邻块集合提供被称作当前运动矢量的运动矢量,迭代地重复选择递减尺寸的块集合序列的运动矢量(111),在包括相邻块集合的较大尺寸的块集合的之前迭代,选择所述当前运动矢量。
11.根据权利要求10所述的设备,其中当第n次迭代时,块集合(108)的递减的尺寸是2n*2n的块。
12.根据权利要求10或11所述的设备,其中,在用于降低分辨率(109)的子模块中所获得的图像(106)的尺寸是块集合序列中随后的块集合的尺寸。
全文摘要
本发明涉及一种针对运动的分级估计的方法和设备,其目的是针对被划分为块的原始图像(101)的块集合(108),从多个运动矢量中选择运动矢量(111)。针对每一个运动矢量,执行对于块集合(108)的能量函数(105)的计算(102)。该计算(102)实现适于块集合(108)的尺寸的拉格朗日约束条件(113)的计算子步骤(103)。通过最小化所述块集合(108)的能量函数(105),执行运动矢量(111)的选择(107)。
文档编号H04N7/26GK1719899SQ20051008218
公开日2006年1月11日 申请日期2005年7月4日 优先权日2004年7月6日
发明者皮埃尔·鲁埃洛, 爱德华·弗朗索瓦, 菲利普·萨蒙 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1