快速运动估计方法

文档序号:7614897阅读:191来源:国知局
专利名称:快速运动估计方法
技术领域
本发明涉及一种快速运动估计方法,尤其涉及一种在数字视频信号处理(如场/帧频转换器、去隔行扫描转换器)或数字视频编码中用于提升估计矢量场平滑度的高性能快速运动估计方法。
背景技术
众所周知,目前运动估计在数字视频领域中的应用大致可以分为两类一种是视频压缩编码,另一种是视频后处理,如场/帧频转换器、去隔行扫描转换器等。
现有视频压缩编码标准(如H.26x和MPEG-2)采用了基于块运动补偿+残差DCT变换的混合结构编码框架,此种编码框架要求块运动估计做支撑。视频压缩编码标准中的运动估计和运动补偿是对视频图像作一种非线性变换,此种变换过程是以增加运动矢量编码成本来降低补偿残差编码成本最终实现总体编码成本最小化过程。可以理解,在标准指定的固定分块结构前提下,也就是给定运动矢量编码成本的前提下,运动估计应设法降低运动补偿残差。因此,在视频压缩应用中,运动估计可不必是真实的物理运动,只要能够降低补偿残差的运动估计就是最优的。
在数字视频扫描格式转换和自适应帧频提升应用中,运动估计的目标是在根据现存的信息寻找视频对象的真实运动,进而根据运动矢量所指示的参考图像信息来插补当前图像的缺失信息。因此,在视频后处理应用中,对视频对象的运动真实性捕捉是至关重要的,这种真实性在运动矢量场上则表现为相邻运动矢量场具有内在的平滑性。但是现有的运动估计匹配准则,包括最小方差准则、绝对偏差准则乃至匹配像素计数准则都不能反映相邻运动场这种内在平滑性。
为来弥补运动估计评估准则存在的不足,目前广泛采用预约束机制进行算法改良(如美国第5212548号和第6278736号专利所揭示的运动估计方法),也就是在构造候选运动矢量时预先考虑运动场内在连续性。典型的办法有(1)利用视频序列的帧内相关性,在当前帧内抽取当前块的左上方、右上方或正左方、正上方的像素块的运动矢量进行空间递归预测;(2)利用视频序列的帧间相关性,在前一帧内与当前块对应的一个局部领域内抽取部分像素块的运动矢量对当前块的运动矢量进行时间递归预测。上述方法为了降低运动估计的计算复杂度,同时又尽可能保持运动估计精度,一般在都采用固定的、类正交的局部时空抽样结构进行时空递归预测。
然而,通常视频对象的外形是复杂多变的,上述现有运动估计方法的固定的稀疏抽样结构,时常造成运动矢量的预测矢量偏离误差面的收敛方向,其会导致运动估计的收敛速度减慢,运动矢量场的平滑度下降等问题。

发明内容
为了克服上述现有技术的不足,而提供一种快速运动估计方法,从而解决目前运动估计方法的运动估计的收敛速度减慢、运动矢量场的平滑度下降的问题。
本发明所采用的技术方案为提供一种快速运动估计方法,其首先将每帧图像分成互不重叠的多个子块,并对每个当前像素块确定估计矢量的空间上下文和时间上下文,其还包括根据上述空间上下文和时间上下文确定多个候选运动矢量,计算每个候选运动矢量对应的运动估计匹配误差值,并将具有最低匹配误差值的候选运动矢量指定为当前像素块的最佳运动矢量的步骤。
所述每个当前像素块的空间上下文和时间上下文确定方法是在当前帧内,选取当前像素块的正左方、左上方、正上方、右上方像素块的运动矢量作为当前像素块运动矢量的空间上下文;在前一帧内,选取与当前像素块对应子块的运动矢量及其一个局部邻域抽样({T11,T12,T13,T14}或{T21,T22,T23,T24})作为当前块运动矢量的时间上下文。
所述候选运动矢量包括基于空间上下文生成的一个空间中值估计子(V1)、一个空间反中值估计子(V2)和一个空间更新估计子(V4),基于时间上下文生成的一个时间中值估计子(V3)和一个时间更新估计子(V5),一个零矢量(V0)。
所述空间中值估计子通过空间上下文的扩展矢量中值滤波确定,所述空间反中值估计子通过空间上下文的扩展矢量反中值滤波确定,所述空间更新估计子通过随机选取一个矢量并与空间中值估计子叠加确定,所述时间中值估计子通过时间上下文的扩展矢量中值滤波确定,所述时间更新估计子通过随机选取一个矢量并与时间中值估计子叠加确定。
上述方法中所述空间上下文和时间上下文的扩展矢量中值滤波包括以下步骤(a)计算输入矢量的均值Vave,即Vave=(V0+V1+...+Vn-1)/n;(b)将Vave添加到序列的尾部(即Vn=Vave)形成一组新序列V0,V1,...,Vn-1,Vn;(c)计算每个Vi同其他矢量的距离和SD,即SD=Σj=0ndist(Vi,Vj);]]>(d)从V0,V1,...Vn中选择使得SD取极小值的Vi作为扩展矢量中值滤波结果输出。
上述方法中所述空间上下文的扩展矢量反中值滤波包括以下步骤(a)计算输入矢量的均值Vave,即Vave=(V0+V1+...+Vn-1)/n;(b)将Vave添加到序列的尾部(即Vn=Vave)形成一组新序列V0,V1,...,Vn-1,Vn;(c)计算每个Vi同其他矢量的距离和SD,即SD=Σj=0ndist(Vi,Vj);]]>(d)从V0,V1,...Vn-1中选择使得SD取极大值的Vi作为扩展矢量反中值滤波结果输出。
所述每个Vi同其他矢量的距离计算可以采用以下函数方法dist(A,B)=|Ax-Bx|+|Ay-By|。
所述每个Vi同其他矢量的距离计算也可以采用以下函数方法dist(A,B)=(Ax-Bx)2+(Ay-By)2。
所述运动估计匹配误差值可以通过计算当前像素子块的像素值与在参考像素子块中的相应数目的像素值之间绝对误差和求得。
所述运动估计匹配误差值也可以通过计算当前像素子块的像素值与在参考像素子块中的相应数目的像素值之间均方差求得。
本发明的有益效果在于本发明快速运动估计方法通过根据空间和时间上下文确定多个候选运动矢量,并计算每个候选运动矢量对应的运动估计匹配误差值,以将具有最低匹配误差值的候选运动矢量指定为当前像素块的最佳运动矢量,其可大幅度提高估计运动场的平滑度,又能加速运动估计的收敛速度。


图1是本发明快速运动估计方法的处理流程图;图2是本发明快速运动估计方法的空间上下文和时间上下文的抽取方法示意图;图3是本发明快速运动估计方法的扩展矢量中值滤波处理流程图;图4是本发明快速运动估计方法的扩展矢量反中值滤波处理流程图。
具体实施例方式
请参阅图1,本发明快速运动估计方法包括以下步骤首先,将每帧视频图像分成互不重叠的图像块;其次,对每个当前像素块分别确定空间上下文{S0,S1,S2,S3}和时间上下文{T0,T1,T2,T3,T4};根据时-空上下文为每个当前像素块生成六个候选运动矢量(V0,V1,V2,V3,V4,V5);计算每个候选运动矢量对应的运动估计匹配误差函数J,将具有最低匹配误差值的候选运动矢量指定为当前像素块的最佳运动矢量。
请一并参阅图2,上述步骤中为每个当前子块确定空间上下文和时间上下文的方法如下首先,在当前帧内,选取当前块(C)的正左方子块的运动矢量S0、左上方子块的运动矢量S1、正上方子块的运动矢量S2、右上方子块的运动矢量S3作为当前块运动矢量的空间上下文{S0,S1,S2,S3};其次,在前一帧内,选取与当前块(C)对应子块的运动矢量T0和它的一个局部邻域抽样{T11,T21,T31,T41}或{T12,T22,T32,T42}作为当前子块运动矢量的时间上下文{T0,T1,T2,T3,T4}。
上述步骤中为每个当前子块生成六个候选运动矢量方法如下(1)零矢量赋予V0,即V0=(0,0);(2)对空间上下文实施扩展矢量中值滤波,生成的空间中值估计子赋予V1,即V1=EVM(S0,S1,S2,S3);(3)对空间上下文实施扩展矢量反中值滤波,生成的空间反中值估计子赋予V2,即V2=EVAM(S0,S1,S2,S3);(4)对时间上下文实施扩展矢量中值滤波,生成的时间中值估计子赋予V3,即V3=EVM(T0,T1,T2,T3,T4);
(5)从{(1/4,0),(0,1/4),(-1/4,0),(0,-1/4)}中随机选取一个空间迭代更新子US更新V1,生成的空间更新估计子赋予V4,即V4=V1+US;(6)从{(2,0),(0,2),(-3,0),(0,-3),(1/4,0),(0,1/4),(-1/4,0),(0,-1/4)}中随机选取一个时间迭代更新子UT更新V3,生成的时间更新估计子赋予V5,即V5=V3+UT;请一并参阅图3和图4,上述步骤中所述扩展矢量中值滤波EVM包含如下步骤301.计算输入矢量的均值Vave,即Vave=(V0+V1+...+Vn-1)/n;302.将Vave添加到序列的尾部(即Vn=Vave)生成一组新序列V0,V1,...,Vn-1,Vn;303.计算每个Vi同其他矢量的距离和SD,即SD=Σj=0ndist(Vi,Vj);]]>304.从V0,V1,...Vn中选择使得SD取极小值的Vi作为扩展矢量中值滤波结果输出。
可以理解,与扩展矢量中值滤波类似,上述步骤中所述扩展矢量反中值滤波EVAM包含如下步骤401.计算输入矢量的均值Vave,即Vave=(V0+V1+...+Vn-1)/n;402.将Vave添加到序列的尾部(即Vn=Vave)生成一组新序列V0,V1,...,Vn-1,Vn;403.计算每个Vi同其他矢量的距离和SD,即SD=Σj=0ndist(Vi,Vj)]]>404.从V0,V1,...Vn-1中选择使得SD取极大值的Vi作为扩展矢量反中值滤波结果输出。
可以理解,上述滤波运算中运动矢量间的距离可以通过选择下面两种方法中的任意一种方法进行计算方法1dist(A,B)=|Ax-Bx|+|Ay-By|;方法2dist(A,B)=(Ax-Bx)2+(Ay-By)2;此外,本发明快速运动估计方法可以通过选取下面两种方法中的任意一种计算每个候选运动矢量对应的运动估计匹配误差函数值方法1计算当前像素块的像素值与在参考像素块中的相应数目的像素值之间绝对误差和;
方法2计算当前像素块的像素值与在参考像素块中的相应数目的像素值之间均方差。
权利要求
1.一种快速运动估计方法,其首先将每帧视频图像分成互不重叠的多个子块,并对每个当前像素块确定估计矢量的空间上下文和时间上下文,其特征在于其还包括根据上述空间上下文和时间上下文确定多个候选运动矢量,计算每个候选运动矢量对应的运动估计匹配误差值,并将具有最低匹配误差值的候选运动矢量指定为当前像素块的最佳运动矢量的步骤。
2.如权利要求1所述的快速运动估计方法,其特征在于所述每个当前像素块的空间上下文和时间上下文确定方法是在当前帧内,选取当前像素块的正左方、左上方、正上方和右上方子块的运动矢量作为当前像素块运动矢量的空间上下文;在前一帧内,选取与当前像素块对应子块的运动矢量及其一个局部邻域抽样({T11,T12,T13,T14}或{T21,T22,T23,T24})作为当前像素块运动矢量的时间上下文。
3.如权利要求1所述的快速运动估计方法,其特征在于所述候选运动矢量包括基于空间上下文生成的一个空间中值估计子(V1)、一个空间反中值估计子(V2)和一个空间更新估计子(V4),基于时间上下文生成的一个时间中值估计子(V3)和一个时间更新估计子(V5),一个零矢量(V0)。
4.如权利要求3所述的快速运动估计方法,其特征在于所述空间中值估计子通过空间上下文的扩展矢量中值滤波确定,所述空间反中值估计子通过空间上下文的扩展矢量反中值滤波确定,所述空间更新估计子通过随机选取一个矢量并与空间中值估计子叠加确定,所述时间中值估计子通过时间上下文的扩展矢量中值滤波确定,所述时间更新估计子通过随机选取一个矢量并与时间中值估计子叠加确定。
5.如权利要求4所述的快速运动估计方法,其特征在于所述空间上下文和时间上下文的扩展矢量中值滤波包括以下步骤(a)计算输入矢量的均值Vave,即Vave=(V0+V1+...+Vn-1)/n;(b)将Vave添加到序列的尾部(即Vn=Vave)形成一组新序列V0,V1,...,Vn-1,Vn;(c)计算每个Vi同其他矢量的距离和SD,即SD=Σj=0ndist(Vi,Vj);]]>(d)从V0,V1,...Vn中选择使得SD取极小值的Vi作为扩展矢量中值滤波结果输出。
6.如权利要求4所述的快速运动估计方法,其特征在于所述空间上下文的扩展矢量反中值滤波包括以下步骤(a)计算输入矢量的均值Vave,即Vave=(V0+V1+...+Vn-1)/n;(b)将Vave添加到序列的尾部(即Vn=Vave)形成一组新序列V0,V1,...,Vn-1,Vn;(c)计算每个Vi同其他矢量的距离和SD,即SD=Σj=0ndist(Vi,Vj);]]>(d)从V0,V1,...Vn-1中选择使得SD取极大值的Vi作为扩展矢量中值滤波结果输出。
7.如权利要求5或6所述的快速运动估计方法,其特征在于所述每个Vi同其他矢量的距离计算采用以下函数方法dist(A,B)=|Ax-Bx|+|Ay-By|。
8.如权利要求5或6所述的快速运动估计方法,其特征在于所述每个Vi同其他矢量的距离计算采用以下函数方法dist(A,B)=(Ax-Bx)2+(Ay-By)2。
9.如权利要求1所述的快速运动估计方法,其特征在于所述运动估计匹配误差值是通过计算当前像素块的像素值与在参考像素块中的相应数目的像素值之间绝对误差和求得。
10.如权利要求1所述的快速运动估计方法,其特征在于所述运动估计匹配误差值是通过计算当前像素块的像素值与在参考像素块中的相应数目的像素值之间均方差求得。
全文摘要
本发明涉及一种快速运动估计方法,其首先将每帧视频图像分成互不重叠的多个子块,并对每个当前像素块确定估计矢量的空间上下文和时间上下文,其还包括根据上述空间上下文和时间上下文确定多个候选运动矢量,计算每个候选运动矢量对应的运动估计匹配误差值,并将具有最低运动估计匹配误差值的候选运动矢量指定为当前像素块的最佳运动矢量的步骤。本发明快速运动估计方法通过根据空间和时间上下文确定多个候选运动矢量,并计算每个候选运动矢量对应的运动估计匹配误差值,以将具有最低匹配误差值的候选运动矢量指定为当前像素块的最佳运动矢量,其可大幅度提高估计运动场的平滑度,又能加速运动估计的收敛速度。
文档编号H04N7/01GK1925614SQ20051003697
公开日2007年3月7日 申请日期2005年8月30日 优先权日2005年8月30日
发明者张宗平, 刘鲲, 彭吉虎, 田华 申请人:深圳清华大学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1