一种十字菱形运动估计搜索方法

文档序号:7927418阅读:187来源:国知局

专利名称::一种十字菱形运动估计搜索方法
技术领域
:本发明涉及一种视频压縮中的处理方法,特别涉及一种视频压縮中快速块匹配运动估计中的搜索方法。技术背景由于视频序列图像在时间轴上具有较强的相关性,运动估计(ME)及运动补偿(MC)技术可以有效的减少时间相关性,因此该技术被广泛应用于各种视频压缩编码方案中。运动估计用来估计物体的位移,得到运动矢量;运动补偿根据得到的运动矢量,对前一帧中由于运动而产生的位移进行调整,从而得到尽可能接近本帧的预测帧。由此可见,运动估计算法越完善,估计出的运动矢量越准确,运动补偿的性能就越好,从而使预测误差越小,编码后需要传输的信息量也将随之大大减少,整个系统的码率压縮比得到很大的提高,因此运动估计和补偿技术己经成为视频序列图像编码系统中减少时间冗余、提高压縮比的重要技术。现有的运动估计算法有多种,其中块匹配法以其算法简单有效、易于硬件实现的特点,被当今所有的视频编码标准所采用。块匹配的基本思想就是将当前帧分成若干个大小相同的块,对每一个块(当前块)分别在参考帧中的一定区域(称为搜索窗)内,按照一定的匹配准则搜索与之最接近的块(称为预测块),预测块与当前块之间的位移称为运动矢量,它们的像素间的差值称为残差块,预测块与当前块之间通过匹配准则函数得到的值称为块失真度(BDM)。这样当前帧中的每一块都可用一个残差块和一对运动矢量来表示。图1为块匹配运动估计的示意图。块匹配运动估计可以从三个方面进行研究块形状与大小、块匹配准则、搜索策略。目前,块形状与大小以及块匹配准则由于相对比较简单,已经有了比较一致的选择。而搜索策略最为复杂,它决定了一个块匹配运动估计方法的好坏,因此一直是快速运动估计研究的主要方向。目前的H.26X和MPEG-1,MPEG-2,MPEG-4等标准采用的都是基于块运动估计与运动补偿的帧间压縮方案,其压縮比和基于帧内压縮的标准(如JPEG)相比有较大的提高。如在H.261的编码过程中,在采用著名的三步快速搜索法的情况下,运动估计仍要占用整个编码过程的63%的计算量;而在11263编码器中,运动估计占用了42%的计算量。因此,运动估计是视频压縮的瓶颈。由于上述原因,高效快速的运动估计算法一直是视频压縮领域的研究热点。尤其是从1997年10月召开的MPEG会议上开始征集运动估计快速算法以来,在视频编码中运动估计算法的研究领域中竞争日益激烈。为此,很多运动估计的快速算法从降低匹配函数复杂度和降低搜索点数等方面进行了改进,早期的运动估计改进算法主要有三步搜索法(TSS),后来为了进一步提高计算速度和预测矢量精度,利用运动矢量的中心偏移分布特性来设计搜索模式,相继又提出了新三步法(NTSS)、四步法(FSS)、菱形搜速法(DS)、十字菱形搜索法(CDS)和六边形搜索法(HEXBS)等算法。在所有的搜索算法中,.全搜索算法虽然精度最高,但是巨大的计算复杂度使其不宜实时应用。三步法通过限制搜索位置的数目来减小计算复杂度,不利于估计小的运动且容易陷入局部最小。新三步法,四步法,菱形搜索法和六边形搜索法提高了匹配速度,减小了陷入局部最小的可能性,但是搜索点数依然较多,可以进一步优化。
发明内容本发明要解决的技术问题是为克服现有技术的不足,本发明提供一种十字菱形运动估计搜索方法,在不影响图像质量的同时能够大大降低了计算复杂度,縮短了计算时间。本发明解决其技术问题所采用的技术方案是一种十字菱形运动估计搜索方法,其特征在于包括以下步骤'第一步(小十字模式)在小十字模式的5个搜索点中,应用改进的部分块失真准则,找出最小块失真(MBD)所在点,如果最小块失真MBD点在小十字模式的中心,则一步搜索停止,得到最终要求的运动矢量MV(O,O);否则,进入第二步;第二步(小十字模式)以第一步所搜索的最小块失真MBD点为中心构造新的小十字模式,搜寻3个新的搜索点,应用改进的部分块失真准则,找出新的最小块失真MBD点,如果该点在小十字模式的中心,则二步搜索停止,得到最终要求的运动矢量MV(士l,O)或(O,±1);否则,进入第三步;第三步(大十字模式)搜索大十字模式3个还没有搜索到的点,应用改进的部分块失真准则,找出新的最小块失真MBD点,以作为下一步搜索的中心;第四步(大菱形模式)以第三步中的最小块失真MBD点为中心,构造大菱形搜索模式,应用改进的部分块失真准则,找出新的最小块失真MBD点,如果该点在大菱形的中心,进入第五步;否则,继续第四步;第五步(小菱形模式)以第四步中的最小块失真MBD点为中心,构造小菱形搜索模式,应用改进的部分块失真准则,找出新的最小块失真MBD点。该点所对应的向量即为最终要求的运动矢量。采用改进的部分块失真准则搜索所述的最小块失真MBD点,改进的部分块失真准则具体如下在块匹配算法BMA中,改进的部分块失真准则只使用块其中的一部分像素就可以对失真度有较好的度量。定义块的大小为16x16,第n帧左上角坐标为(m,n)的块与第n-l帧左上角坐标为(m+p,w+《)的块间的失真度量SAD值由下式给出-15—IS>SC(ff^;7,gr)=〉:>1乂(附+/,"+力-1,(附+/+/,"+9+/)|其中,/(附+,',"+力表示第11帧坐标为(>+/,"+刀像素点的像素值。将失真度量&4Z)(m,";;7,《):分成16个部分失真度量^《(w,(k=l,2,...,16)。第k个部分失真度量的定义如下式所示■sac/4(m,m;j3,g)=ZZ|/(m+4!'+^,w+4乂+/+4/十5^,w+9+47+々)1'■=0乂=0其中A,t分别为第k个部分失真度量所用左上角像素点相对于块左上角的水平和垂直偏移。部分失真度量sa《(m,w;A《)(k-l,2,…,16)的计算顺序如图5方框内序号所示。第k次累加部分失真度量的定义如下式所示(附,w;g)=Ssad,(附,7T,p,g),=1如果第k次累加部分失真度量满足16x(w,m;m)>A:xmin(&4D)其中min(&4")是搜索过程中当前得到的最小失真,k为自己设定的整数,取值范围为32^^16,则认为该点不可能为匹配点。否则,继续计算第k+l次累加部分失真度量&4£>4+1(m,n;p,g),再进行比较。本发明与现有技术相比所具有的优点在于本发明的搜索方法在菱形搜索之前加上十字搜索,并对传统的十字菱形搜索做出了改进,使其进一步符合视频序列间运动矢量的运动规律,减少了寻找最优匹配块的搜索点,从而缩短了搜索时间;本发明还采用了中途停止,即一步停止和二步停止,对静止和半静止块的搜索速度有显著的提高;本发明同时对最优匹配准则进行了优化,在不影响判别失真度情况下,大大降低了计算复杂度,縮短了计算时间。实验测试表明本发明的搜索方法对各种测试视频序列都有较好的适应性,尤其是对背景变化不太大的序列,搜索点数明显降低,搜索时间有较大的减少,而搜索质量(运动估计和补偿后的图像的峰值信噪比PSNR)降低很少甚至没有变化。图1.块匹配模型;图2.十字菱形搜索中的搜索模式图2(a)表示菱形模式,其中G)表示大菱形模式,E3表示小菱形模式;图2(b)表示十字模式,其中表示大十字模式,攀表示小十字模式;图3.本发明的十字菱形运动估计搜索方法流程图;图4.本发明的十字菱形运动估计搜索方法搜索示例图4(a)表示一步停止;图4(b)表示二步停止;图4(c)表示搜索大十字模式没有搜索到的3个点;图4(d)表示大菱形搜索;图4(e)表示小菱形搜索得到最终运动矢量MV;图5.改进的部分失真准则所用到的搜索点;其中16个数字表示部分失真度量的计算顺序,16个黑点为1个部分失真度量所用到的像素;图6.akiyo.qcif视频中第19帧、20帧的原始图像、运动矢量图以及运动估计和补偿图像图6(a)表示参考帧第19帧;图6(b)表示原始帧第20帧;图6(c)表示运动矢量图;图6(d)表示本发明十字菱形运动估计搜索方法对第20帧的运动估计和补偿图像;图7.对mother-daughter.cif视频前70帧逐帧进行运动估计图7(a)表示每帧搜索点数;图7(b)表示运动估计和补偿后每帧图像的峰值信噪比。具体实施方式下面结合附图及具体实施方式详细介绍本发明。本发明的一种十字菱形运动估计搜索方法分为两种模式十字模式和菱形模式,如图2所示,其中十字模式分为大十字模式和小十字模式,菱形模式分为大菱形模式和小菱形模式。本发明改进的十字菱形搜索方法的前两步采用小十字模式,而并非传统的十字菱形搜索方法中首先使用大十字模式进行搜索,从而使得在静止块和准静止块中,可以用更少的搜索点便可找到匹配块。然后搜索大十字模式没有搜索到的点和准静止区域中没有搜索到的点,以为下面的菱形搜索找到更精确的搜索方向。图3所示为本发明的十字菱形搜索方法流程图,图4为本实施例的一种十字菱形搜索方法,具体步骤如下(1)、(小十字模式)应用改进的部分块失真准则,在小十字模式中的.5个搜索点中搜索最小块失真MBD所在点。如图4(a)所示,此步骤中小十字模式的5个搜索点用①表示。如果最小块失真MBD点在小十字模式的中心,即中心的黑色的①位置处,此时一步搜索停止,得到最终要求的运动矢量MV(0,0);否则,进入步骤(2);(2)、(小十字模式)以步骤(1)搜索到的最小块失真MBD点为中心构造新的小十字模式,应用改进的部分块失真准则,此时需要搜寻3个新的搜索点,如图4(b)中的增加的②所示。紧接着再搜索最小块失真MBD点,如果该点在小十字模式的中心,即中心的黑色的①位置处,二步搜索停止,得到最终要求的运动矢量MV(士l,O)或(O,±1);否则,进入步骤(3);(3)、(大十字模式)搜索大十字模式3个还没有搜索到的点,如图4(c)中的增加的③所示。应用改进的部分块失真准则,搜索新的最小块失真MBD点,如黑色的②位置处,以作为下一步搜索的中心;(4)、(大菱形模式)以上一步的最小块失真MBD点为中心,构造大菱形搜索模式,如图4(d)中的增加的④所示。应用改进的部分块失真准则,找出新的最小块失真MBD点,如果该点在大菱形的中心,即中心的黑色的②位置处,进入步骤(5);否则,继续步骤(4);(5)、(小菱形模式)以步骤(4)所搜索到的位于大菱形的中心的最小块失真MBD点为中心,构造小菱形搜索模式,如图4(e)中的增加的⑤所示。应用改进的部分块失真准则,找出新的最小块失真MBD点,如黑色的⑤位置处,该点所对应的向量即为最终要求的运动.矢量。相比菱形搜索法和现有的十字菱形搜索法,本发明的十字菱形搜索法最大的改进是搜索点数减少,搜索速度提高,尤其是对静止块或准静止块(|MV|-1)。对于静止块,菱形搜索法需要搜索13个搜索点,现有的十字菱形搜索需要搜索9个点,而本发明的十字菱形搜索法只需要搜索5个点;对于准静止块,菱形搜索法需要搜索13个搜索点,现有的十字菱形搜索法需要搜索11个点,而本发明的十字菱形搜索法只需要搜索7个点。在以上步骤中的改进的部分块失真准则,其具体实现过程如下在块匹配算法BMA中,运动估计通常使用块的全部像素来计算失真度,这大大增加了计算的复杂度。实际上,只使用块其中的一部分像素就可以对失真度有较好的度量。定义块的大小为16x16,第n帧左上角坐标为(m,ft)的块与第n-l帧左上角坐标为(柳+A"+《)的块间的失真度量SAD值由下式给出」5■S4D^;,q)=〉:>1乂(附+/,"+力丄(附+;7+/,,+力其中,/(>+/,"+刀表示第n帧坐标为O+/,"+像素点的像素值。将失真度量&4Z)(m,";/7,《)分成16个部分失真度量m《(附,(k=l,2,...,16)。第k个部分失真度量的定义如下式所示■sm/4O,p,《)=ZZj/"O+4/+^,"+4_/+)一(w+/+4/+&,m+《+4_/+)|'■=o_/=o其中A,々分别为第k个部分失真度量所用左上角像素点相对于块左上角的水平和垂直偏移。部分失真度量^《0,n;;,《)(]^l,2,…,16)的计算顺序如图5方框内序号所示。第k次累加部分失真度量的定义如下式所示&4Z^(m,w;p,《)=Zs"《(附,w;p,《)对于累加部分失真度量来说,这样的计算顺序使其用到的像素点在块内均匀分布。如果进行判断时累加部分失真度量&4A(m,";A《)所用的像素点太少,则不能正确的表征块的失真,非常可能造成失误。对大量的测试视频序列进行试验,发现当A》3时,误判的概率小于5%。在本发明中,如果第k次累加部分失真度量满足16x(附,";/,《)>A:xmin(S^D)其中min(&4D)是搜索过程中当前得到的最小失真,k为自己设定的整数,取值范围为3Sit^16,则认为该点不可能为匹配点。否则,继续计算第k+l次累加部分失真度量&iDt+1(m,w;p,《),再进行比较。为了验证本发明的十字菱形搜索方法,对多个不同运动程度的视频序列进行了实验。计算机CPU为InterCore2E6300,主频1.86GHz,内存2G,在VisualC++6.0环境中进行编程。在实验仿真中,宏块的大小为16x16像素,搜索窗口的最大距离在水平和垂直方向均为士7像素,失真准则采用了改进的部分块失真准则。测试中用到了六个不同运动程度的视频序列,分别为低空间细节且运动缓慢的测试序列claire.cif,hall.cif;中等空间细节且运动一般的测试序列foreman.cif,flower,cif,paris.cif;高空间细节且运动剧烈的测试序列stefan.cif。测试序列均取视频序列前面的70帧。将本发明的十字菱形搜索方法,简称为新十字菱形搜索法NCDS,同现有三步搜索法TSS、新型三步搜索法NTSS、菱形搜索法DS、十字菱形搜索法CDS在两个方面进行了对比(1)搜索点数每一帧测试序列搜索到最小块失真MBD点、即最佳匹配块所需要的搜索点数;(2)峰值信噪比PSNR:用以衡量运动估计和补偿后的图像和原图像的差别。PSNR=10xlogl0(2552/MSE)其中15152从表2可以看出在所有的视频测试序列中,NCDS所用到的搜索点数是所有搜索算法中最少的,具体有TSS>NTSS>DS>CDS〉NCDS。尤其对运动不太剧烈且背景变化不太大的视频序列,如claire.cif和hall.cif,NCDS较DS能节省41%的搜索点,NCDS较CDS能节省16%的搜索点。对运动剧烈且背景有较大变化的视频序列,如stefan.cif,NCDS也有较好的效果。表2每帧的平均搜索点数<table>tableseeoriginaldocumentpage10</column></row><table>从表3可以看出相比于CDS,NCDS的PSNR下降的很少(大约有0~1.7%的下降),尤其是对测试序列背景变化不大的视频,NCDS拥有和CDS差不多的PSNR。表3平均峰值信噪比PSNR<table>tableseeoriginaldocumentpage11</column></row><table>针对视频akiyo.qcif,抽取其任意一帧(第20帧,如图6(b)所示),图6(a)是其参考帧第19帧,应用NCDS进行运动估计和补偿,得到运动矢量图和其补偿后图像如图6(c)和图6(d)所示。更进一步,对中等空间细节且运动一般的测试序列mother-daughter.cif的前70帧的每一帧所用到的搜索点数和运动估计补偿后的峰值信噪比(PSNR)做了实验,其结果如图7所示。权利要求1、一种十字菱形运动估计搜索方法,其特征在于包括以下步骤(1)在小十字模式的5个搜索点中,搜索最小块失真MBD所在点,如果最小块失真MBD点在小十字模式的中心,则一步搜索停止,得到最终要求的运动矢量MV(0,0);否则,进入步骤(2);(2)以步骤(1)所搜索的最小块失真MBD点为中心构造新的小十字模式,搜寻3个新的搜索点,找出新的最小块失真MBD点,如果该点在小十字模式的中心,则二步搜索停止,得到最终要求的运动矢量MV(±1,0)或(0,±1);否则,进入步骤(3);(3)搜索大十字模式3个还没有搜索到的点,找出最小块失真MBD点,以作为下一步搜索的中心;(4)以步骤(3)中的最小块失真MBD点为中心,构造大菱形搜索模式,找出新的最小块失真MBD点,如果该点在大菱形的中心,进入步骤(5);否则,继续步骤(4);(5)以步骤(4)所搜索到的最小块失真MBD点为中心,构造小菱形搜索模式,找出新的最小块失真MBD点,该点所对应的向量即为最终要求的运动矢量。2、根据权利要求1所述的一种十字菱形运动估计搜索方法,其特征在于采用改进的部分块失真准则搜索所述的最小块失真MBD点,改进的部分块失真准则具体如下-定义块的大小为16x16,第n帧左上角坐标为(w,")的块与第n-l帧左上角坐标为(m,n)的块间的失真度量SAD由下式给出<formula>formulaseeoriginaldocumentpage2</formula>其中,fn(m+i,n+j)表示第n帧坐标为(m+i,n+j)像素点的像素值;将失真度量SAD)m,n;p,q)分成16个部分失真度量sadk(m,n;p,1)(k=l,2,...,16),第k个部分失真度量的定义如下式所示<formula>formulaseeoriginaldocumentpage2</formula>其中A,分别为第k个部分失真度量所用左上角像素点相对于块左上角的水平和垂直偏移,第k次累加部分失真度量的定义如下式所示-&4Z)A(附,";_p,《)=2ra《(w,";;,《)如果第k次累加部分失真度量满足16x(w,";;,g)>&xmin(5^D)其中minOSL4D)是搜索过程中当前得到的最小失真,k为自己设定的整数,取值范围为3St《16,则认为该点不可能为匹配点;否则,继续计算第k+l次累加部分失真度量&4A+1(m,n;p,《),再进行比较。全文摘要一种新型的十字菱形搜索方法,首先用小十字模式进行预搜索,找到最小块匹配失真(MBD)点,以MBD为中心构造大十字搜索模式,找到MBD;然后以大十字模式的MBD为中心,开始菱形搜索首先搜索大菱形,如果MBD在中心,以小菱形方式搜索,找到的MBD点即为最终的块匹配失真点。否则继续大菱形搜索。十字菱形还采用了中途停止技术,对静止和半静止块的搜索速度有显著的提高。改进的部分失真准则在不影响失真度的情况下大大降低了计算复杂度。实验结果表明新型十字菱形搜索方法比菱形搜索方法和十字菱形搜索方法在信噪比降低很少甚至不降低的情况下,分别节省41%和16%的搜索点,和其它流行的块匹配运动估计方法相比,本方法有更快的搜索速度和更小的失真度。文档编号H04N7/32GK101394566SQ20081022498公开日2009年3月25日申请日期2008年10月29日优先权日2008年10月29日发明者申晓东,祝世平申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1