发明名称 一种基于自适应机制的图像快速运动估计方法
摘要 本发明公开了一种基于自适应机制的图像快速运动估计方法,该方法具体按照以下步骤实施:步骤1.运动矢量的分类;步骤2.计算公式中的系数a和常数b;步骤3.选择搜索方式,采用小钻石搜索方式SDSP和方形搜索方式SSP,这两种搜索方式是并列选择关系;步骤4.进行快速运动的估计。本发明的图像快速运动估计方法,利用了运动矢量局部变化程度来进行自适应搜索选择,基于LMSD和MVVD的关系,最终采用LMSD对运动矢量进行分类,根据在MPEG-4校验平台上的实验结果,本发明方法中的算法比其它算法相比明显提高了运动估计的速度,并且具有与其它运动估计算法近似或更好的性能,具有很好的有效性和实用性。
申请公布号 CN102572434B 申请公布日期 2014.07.02
申请号 CN201210002009.7 申请日期 2012.01.06
申请人 西安理工大学 发明人 刘龙;康小龙;赵晶
分类号 H04N19/513(2014.01)I;H04N19/57(2014.01)I 主分类号 H04N19/513(2014.01)I
代理机构 西安弘理专利事务所 61214 代理人 李娜
主权项 1.一种基于自适应机制的图像快速运动估计方法,其特点在于:该方法具体按照以下步骤实施:步骤1、运动矢量的分类定义图像中的运动矢量的变化程度L<sub>k,i,j</sub>如下:<maths num="0001"><![CDATA[<math><mrow><msub><mi>L</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mo>|</mo><mi>&Delta;V</mi><mo>|</mo><mo>=</mo><mo>|</mo><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中的<img file="FDA0000444007800000012.GIF" wi="128" he="88" />和<img file="FDA0000444007800000013.GIF" wi="102" he="88" />分别代表在k+1帧和k帧中坐标位置为(i,j)的运动矢量,首先,假定MB<sub>k,i,j</sub>是k帧中坐标为(i,j)的宏块,i和j分别表示宏块的横纵坐标;R<sub>k,i,j</sub>表示包含宏块MB<sub>k,i,j</sub>及其相邻宏块的集合;S<sub>k,i,j</sub>表示集合R<sub>k,i,j</sub>中所有宏块所对应的运动矢量形成的集合,定义集和S<sub>k,i,j</sub>的均值见式(2)和方差见式(3),分别如下:<maths num="0002"><![CDATA[<math><mrow><msub><mover><mi>u</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mo>{</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>|</mo><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&Element;</mo><msubsup><mi>S</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>k</mi></msubsup><mo>}</mo></mrow></munder><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow><mi>N</mi></mfrac><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msubsup><mi>&delta;</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>2</mn></msubsup><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mo>{</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>|</mo><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&Element;</mo><msubsup><mi>S</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>k</mi></msubsup><mo>}</mo></mrow></munder><mrow><mo>(</mo><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><mover><mi>u</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><mover><mi>u</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow></mrow><mi>N</mi></mfrac><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths><img file="FDA0000444007800000016.GIF" wi="118" he="86" />是S<sub>k,i,j</sub>的均值<img file="FDA0000444007800000017.GIF" wi="100" he="84" />是S<sub>k,i,j</sub>的方差,S<sub>k,i,j</sub>表示集合R<sub>k,i,j</sub>中所有宏块所对应的运动矢量形成的集合,其次,对不同的视频序列采样<img file="FDA0000444007800000018.GIF" wi="100" he="84" />和L<sub>k,i,j</sub>,将局部运动相似程度和运动矢量的变化程度近似的看作是线性关系,采用线性表达式描述LMSD和MVVD之间的关系,定义如下公式:δ<sup>2</sup>=a·L+b,a>0,b>0,        (4)然后,通过选取的L值与阈值进行比较对运动矢量进行分类,设定运动矢量的分类阈值为L=3,运动矢量根据情况分为三类:无变化的运动矢量L=0;小变化运动矢量0<L≤3;大变化运动矢量L>3,分类过程定义如公式(5):<maths num="0004"><![CDATA[<math><mrow><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&Element;</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>UMV</mi></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>L</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mn>0</mn><mo>,</mo></mtd></mtr><mtr><mtd><mi>SCMV</mi></mtd><mtd><mi>if</mi></mtd><mtd><mn>0</mn><mo>&lt;</mo><msub><mi>L</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&le;</mo><mn>3</mn><mo>,</mo></mtd></mtr><mtr><mtd><mi>GCMV</mi></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>L</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>></mo><mn>3</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>考虑到LMSD和MVVD之间的线性关系,采用LMSD代替MVVD对运动矢量进行分类,根据公式(4)和公式(5)转换成下式(6):<maths num="0005"><![CDATA[<math><mrow><msub><mover><mi>V</mi><mo>&RightArrow;</mo></mover><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&Element;</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>UMV</mi></mtd><mtd><mi>if</mi></mtd><mtd><msubsup><mi>&delta;</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>2</mn></msubsup><mo>&le;</mo><mi>b</mi><mo>,</mo></mtd></mtr><mtr><mtd><mi>SCMV</mi></mtd><mtd><mi>if</mi></mtd><mtd><mi>b</mi><mo>&lt;</mo><msubsup><mi>&delta;</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>2</mn></msubsup><mo>&le;</mo><mn>3</mn><mo>&CenterDot;</mo><mi>a</mi><mo>+</mo><mi>b</mi><mo>,</mo></mtd></mtr><mtr><mtd><mi>GCMV</mi></mtd><mtd><mi>if</mi></mtd><mtd><msubsup><mi>&delta;</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>2</mn></msubsup><mo>></mo><mn>3</mn><mo>&CenterDot;</mo><mi>a</mi><mo>+</mo><mi>b</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中的a是LMSD和MVVD之间的线性表达式的系数,b是LMSD和MVVD之间的线性表达式的常数;步骤2、计算公式(6)中的系数a和常数b系数a和常数b对于不同的视频有不同的值,在运动估计的初始阶段,公式(6)中的系数a和b首先被初始化,采用钻石法估计两帧运动矢量场,再通过最小二乘法计算系数a和常数b,其过程如下:假定运动矢量场中有N个运动矢量;通过公式(1)和公式(3)计算{L<sub>i</sub>|1≤i≤N}和{δ<sub>i</sub>|1≤i≤N},预测误差为:E<sub>i</sub>=δ<sub>i</sub>-(aL<sub>i</sub>+b),     (7)则平方误差如下:<maths num="0006"><![CDATA[<math><mrow><mfrac><mo>&PartialD;</mo><mrow><mo>&PartialD;</mo><mi>b</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>E</mi><mi>i</mi><mn>2</mn></msubsup><mo>=</mo><mn>0</mn><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><mfrac><mo>&PartialD;</mo><mrow><mo>&PartialD;</mo><mi>a</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>E</mi><mi>i</mi><mn>2</mn></msubsup><mo>=</mo><mn>0</mn><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><mi>i</mi><mo>.</mo><mi>e</mi><mo>.</mo><mfrac><mo>&PartialD;</mo><mrow><mo>&PartialD;</mo><mi>b</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>[</mo><msub><mi>&delta;</mi><mi>i</mi></msub><mo>-</mo><mrow><mo>(</mo><mi>a</mi><msub><mi>L</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup><mo>=</mo><mn>0</mn><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><mfrac><mo>&PartialD;</mo><mrow><mo>&PartialD;</mo><mi>a</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>[</mo><msub><mi>&delta;</mi><mi>i</mi></msub><mo>-</mo><mrow><mo>(</mo><mi>a</mi><msub><mi>L</mi><mi>i</mi></msub><mo>+</mo><mi>b</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup><mo>=</mo><mn>0</mn><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>最终得到系数a和常数b的计算式(12):<maths num="0010"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>N</mi></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>L</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>L</mi><mi>i</mi></msub></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>L</mi><mi>i</mi><mn>2</mn></msubsup></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>b</mi></mtd></mtr><mtr><mtd><mi>a</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&delta;</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>L</mi><mi>i</mi></msub><msub><mi>&delta;</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤3、选择搜索方式根据上述的运动矢量分类,采用小钻石搜索方式SDSP和方形搜索方式SSP,这两种搜索方式是并列选择关系;步骤4、进行快速运动的估计运动估计方法分为三个步骤,假定运动估计的次序是从左到右、从上到下并且k帧的运动矢量是已知的,对k+1帧运动矢量场进行估计,估计过程是:4.1)、先根据步骤2提供的计算式进行系数a和b的初始化计算;4.2)、再通过公式(6)对<img file="FDA0000444007800000032.GIF" wi="96" he="88" />进行分类;4.3)、根据不同的<img file="FDA0000444007800000033.GIF" wi="99" he="78" />分类结果,采用不同的搜索方式对<img file="FDA0000444007800000034.GIF" wi="126" he="87" />进行估计,当<img file="FDA0000444007800000035.GIF" wi="103" he="88" />属于UMV,<img file="FDA0000444007800000036.GIF" wi="128" he="88" />被<img file="FDA0000444007800000037.GIF" wi="99" he="88" />直接代替;当<img file="FDA0000444007800000038.GIF" wi="100" he="87" />属于SCMV,用<img file="FDA0000444007800000039.GIF" wi="102" he="86" />作为搜索初始点,采用小钻石搜索方式对<img file="FDA00004440078000000310.GIF" wi="125" he="87" />进行估计;当<img file="FDA00004440078000000311.GIF" wi="101" he="88" />属于GCMV,用<img file="FDA00004440078000000312.GIF" wi="102" he="88" />作为搜索初始点,采用方形搜索方式对<img file="FDA00004440078000000313.GIF" wi="128" he="88" />进行估计,即成。
地址 710048 陕西省西安市金花南路5号