发明名称 一种面向全景视频编码的快速全局运动估计方法
摘要 本发明公开了一种面向全景视频编码的快速全局运动估计方法。该方法分为两步:第一步,用一个基于统计特性与阈值均值相结合的亮度残差阈值模型来大致划分局部运动区域与全局运动区域,得到全局运动估计区域的近似集合;第二步,使用一种运动矢量残差分级阈值技术在能量残差函数最小化迭代过程中逐步细化全局运动像素点集合,最后分离出完整的全局运动区域,从而实现快速运动估计的目的。本发明的优点是:兼顾了全局运动估计的准确性和鲁棒性,在保证重构图象质量不下降,而且还有略微提升的前提下,大大节省运动估计计算开销。对全景视频序列的全局运动估计具有算法复杂度低,运动参数估计精确的效果。
申请公布号 CN101877790B 申请公布日期 2012.01.25
申请号 CN201010183380.9 申请日期 2010.05.26
申请人 广西大学 发明人 覃团发;郑嘉利
分类号 H04N7/26(2006.01)I;H04N7/50(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 广西南宁公平专利事务所有限责任公司 45104 代理人 王素娥
主权项 1.一种面向全景视频编码的快速全局运动估计方法,其特征在于:该方法分为两步进行:1第一步,执行亮度残差阈值法;其进一步包括以下步骤:1-1,把整幅图像分成互不重叠的块,块大小是16×16,用块匹配算法对每一个块做运动估计,得到每一个块的运动矢量(Δx,Δy);1-2,使用步骤1-1中得到的运动矢量(Δx,Δy)对当前帧每一个块做运动补偿,得到当前帧每一像素点的预测值I<sub>k</sub>;1-3,计算当前块内所有像素的梯度均值S,其中,<img file="FSB00000655147300011.GIF" wi="425" he="147" />以及在参考帧中的对应块内所有像素的梯度均值S′,<img file="FSB00000655147300012.GIF" wi="428" he="122" />比较S和S′残差绝对值的大小,也即|S-S′|,计算方式为公式(1),即<maths num="0001"><![CDATA[<math><mrow><msub><mi>G</mi><mi>B</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>|</mo><msub><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msubsup><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mo>&prime;</mo></msubsup><mo>|</mo><mo>/</mo><mi>m</mi><mo>&times;</mo><mi>n</mi><mo>,</mo></mrow></math>]]></maths>m×n是块大小;1-4,计算阈值C<sub>g</sub>,阈值C<sub>g</sub>根据公式(2)来确定,即<img file="FSB00000655147300014.GIF" wi="342" he="121" />式中,N是图像被划分成互不重叠的块的个数,G<sub>i</sub>是根据公式(1)计算的图像中第i个块的亮度残差,<img file="FSB00000655147300015.GIF" wi="157" he="119" />代表当前帧的亮度残差均值;如果当前块的亮度残差G<sub>B</sub>小于C<sub>g</sub>,则当前块被判定为局部运动区域块,从全局运动宏块集合中剔除出去;第二步,执行运动矢量残差分级阈值法,具体包括:2-1,使用块匹配算法估计当前帧每一块的局部运动位移,得到每一个块的局部运动矢量(Δx,Δy);2-2,估计运动模型参数:选取图像左上角、右上角、左下角三个48×48图像区域的大小为16×16的中心块的运动矢量作为第一次高斯牛顿迭代估计模型参数过程的初始化输入值,通过高斯牛顿迭代计算,得出初始化的若干个运动模型参数值;2-3,计算图像中每一个块的全局运动矢量(Δx′,Δy′):图像中,背景区域的块运动属于全局运动,而前景区域的块运动属于局部运动,通过把上一步骤中得到的运动模型参数值重新代入高斯牛顿迭代中,根据每一个块中心像素点的坐标(x,y)的值,分别计算出每一个块的全局运动矢量,对于局部运动块,该运动矢量是伪全局运动矢量;2-4,计算运动矢量残差:对于同一个块,把步骤2-1得出的该块的运动矢量(Δx,Δy)与步骤2-3中得出的该块的运动矢量(Δx′,Δy′)作方差;2-5,设置百分比阈值排除局部运动块:采用分级递减的百分比阈值P来逐步精细全局运动区域,同时设置一个分级递减的运动矢量残差阈值T来判断本次迭代是否可以结束,在第一次迭代过程中,设置P的初始值为50,同时设置T为0.04,计算公式为<maths num="0002"><![CDATA[<math><mrow><msqrt><msup><mrow><mo>(</mo><mi>&Delta;x</mi><mo>-</mo><msup><mi>&Delta;x</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>&Delta;y</mi><mo>-</mo><msup><mi>&Delta;y</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>></mo><mi>T</mi><mo>;</mo></mrow></math>]]></maths>把满足上式条件的最多不超过图像块数目总和的P百分比的块标记为局部运动块,剩余的标记为全局运动块,作为下一次全局运动估计迭代计算的块集合;如果本次全局运动估计块集合里所有块的运动矢量残差都不满足上式条件,则结束本次迭代,生成最终的运动模型参数,同时可根据每次迭代所标记的局部运动块集合分割出局部运动区域;P和T的递减规则:每次进入新一轮的迭代计算前,将P更新为P的四分之一,将T更新为T=T-0.01;第一次高斯牛顿迭代结束以后,将得到新的一套运动模型参数值,把这套运动模型参数值作为下一轮高斯牛顿迭代的输入值;2-6,重复步骤2-3至2-5,直到所有块的运动矢量残差都小于T或者迭代次数等于4,则结束迭代过程。
地址 530004 广西壮族自治区南宁市大学东路100号