ComputerKnowledgeandTechnology电脑知识
与技术
计算机工程应用技术本栏目责任编辑:梁书
第6卷第32期(2010年11月)几种经典快速块匹配运动估计算法的比较研究肖敏连(湖南人文科技学院计算机科学技术系,湖南娄底417000)摘要:块匹配运动估计算法被许多视频编码标准采用以消除视频序列帧间的时间冗余信息,而运动估计往往是视频编码器中的最耗时的部分,为了加快视频编码速度,许多快速运动估计被相继提出,该文首先对三种经典的快速运动估计算法进行详细的分析,然后把这三种经典快速运动估计算法嵌入到国际视频编码标准H.264/AVC中,在相同的条件下分别对这三种算法进行性能测试,最后通过比较测试结果对三种经典快速运动估计算法的各自的特点进行了总结。
关键词:块匹配;运动估计;算法中图分类号:TP312文献标识码:A文章编号:1009-3044(2010)32-9152-03ComparativeResearchonSeveralClassicalRapidAlgorithmsofBlock-matchingMotionEstimationXIAOMin-lian(DepartmentofComputerScienceandTechnologyofHunanInstituteofHumanities,ScienceandTechnology,Loudi417000,China)Abstract:Block-matchingmotionestimationwasadoptedbymanyvideostandardstoeliminatethetemporalredundancyinformationbe-tweensuccessiveframes,andusuallythemotionestimationisthemosttimeconsumingpartofthewholeencodingprocess.Manyrapidmotionestimationalgorithmsaredevelopedinthepasttwentyyearssuccessively.Thispaperfirstlyanalyzedthethreeclassicalrapidblock-matchingmotionestimationalgorithms.ThenthesealgorithmswereinsertedintotheH.264/AVCreferencesoftware.Thethreeclassicrapidblock-matchingmotionestimationalgorithms'performancesweretestedunderthesamecondition.Finally,thecharacteristicsofthethreeclassicalrapidalgorithmsweresummarizedaccordingtotheexperimentalresults.
Keywords:block-matching;motionestimation;algorithm对于视频图像序列,如果帧与帧之间不是场景变换,运动幅度不是很大,则两帧之间就会存在很大的时间相关性即时间冗余,可以通过运动估计来消除时间冗余,从而达到视频压缩的目的。块匹配运动估计算法是目前应用最广泛的一种运动估计算法,它已被许多视频编码标准所采纳,如MPEG-1/2/4、H.261、H.263及H.264/AVC等等[1-2]。最基本的块匹配算法是全搜索(FS,FullSearch)
算法,虽然它能通过对搜索范围内所有的点进行搜索而找到最佳匹配点,但其计算量非常巨大,因此寻求快速的块匹配运动估计算法成了视频编码中热点问题。1几种快速经典运动估计算法的搜索策略
运动搜索的目的就是要寻找最优匹配点。在搜索过程中可以采用上述不同的起点预测方法和块匹配准则来加快搜索速度或提高精度。搜索策略选择适当与否对运动估计的准确性、运动估计的速度都有很大的影响。最简单、最可靠、搜索精度最高的是全搜索法,但由于它计算复杂度高,不易于实时应用,为此人们提出了各种改进的快速算法,下面介绍几种经典的快速运动估计算法。1.1三步搜索算法
三步搜索算法[3](ThreeStepSearch,TSS)于1981年由T.KOGA等人提出,作为
一种简单有效的运动估计技术,被广泛使用在低比特率视频压缩场合中,当最大搜索距离为7,搜索精度取1个像素,则步长为4、2、1,共需三步即可满足要求,因此而得名三步法。TSS采用一种由粗到细的搜索模式,从搜索窗中心点开始,按一定步长取周围
8个点构成每次搜索的点群,然后进行匹配计算,跟踪到最小块误差MBD点。
TSS算法具体执行步骤:①它先确定一个中心点,确定最大搜索长度,然后以
最大搜索长度的1/2作为步长,在中心点周围取离中心点距离为一个步长的8个点,将这9个点按照匹配原则进行计算,得到最佳匹配点;②然后以上一步得到的最匹配的块为中心,搜索与此相距为最大搜索长度1/4搜索窗口距离的8个点进行比较,再通过比较找出最匹配的块;③最后比到步长为1时,找出此时的最佳匹配点就是最终的结果。图1为TSS的一个搜索图示。该算法简单、健壮、性能良好。但第一步的搜索步
收稿日期:2010-09-07基金项目:湖南人文科技学院教改课题(RKJGY0928,RKJGZ0706)资助作者简介:肖敏连(1969-),女,湖南娄底人,实验师,本科,主要研究方向为多媒体技术。
图1TSS搜索图示
ISSN1009-3044ComputerKnowledgeandTechnology电脑知识
与技术
Vol.6,No.32,November2010,pp.9152-9154
E-mail:kfyj@cccc.net.cnhttp://www.dnzs.net.cnTel:+86-551-56909635690964
9152ComputerKnowledgeandTechnology电脑知识
与技术
计算机工程应用技术本栏目责任编辑:梁书
第6卷第32期(2010年11月)长过大而引起误导,从而对小运动幅度的视频图像的估计效果就不怎么理想。所以,后来又相继出现了许多改进的新三步法等,以改进它对小运动的估计性能。1.2新三步搜索法
新三步搜索算法[4](NovelThreeStepSearch,NTSS)是1999年由R.li,B.Zeng和M.L.Liou提出的,它是在三步法的基础上所做出的
改进算法,NTSS利用运动矢量的中心偏置分布,采用具有中心倾向的搜索点模式,并应用中止判别技术,以减少搜索次数。NTSS算法具体执行步骤:①除了对原三步法第一步的9个点进行搜索计算匹配
之外,还对搜索窗口中心的周围8个点进行比较。如果匹配的块在中心位置,则结束搜索,若是在周围的8个点上,则转②,如果在最外的8个点上,则转③;②以上一步得到的最匹配的块为中心继续搜索其周围8个点,其中有部分重复了,所以实际需要搜索的点为3到5个点,搜索得到的匹配块即为所求的最佳匹配块;③对最外面的8个点则按原三步法进行搜索。图2为NTSS的一个搜索过程图示。运动矢量通常总是高度集中分布在搜索窗的中心位置附近,NTSS采用中心倾向的搜索点模式不仅提高了匹配速度,而且减少了陷入局部极小的可能性;而采用中止判别技术则大大降低了搜索复杂度,提高了搜索效率。1.3菱形搜索法
菱形搜索算法(DiamondSearch,DS)[5]最早由S.Zhu和K.KMa提出,经过多次改进,成为目前快速块匹配算法中性能较为优异的一种算法。1999年10月被MPEG-4国际标准采纳并收入验证模型(VM)。搜索模板的形状和大小不但影响整个算法的运行速度,而且也影响它的性能。统计数据表明,视频图像中进行运动估计时,最优点通常在零矢量周围以搜索窗口中心点为圆心,两像素为半径的圆内,如图3所示。DS使用了两种搜索模式,分别为有9个点的大菱形搜索模式(LargeDiamondSearchPat-tern,LDSP)和有5个点的小菱形搜索模式(SmallDiamondSearchPatten,SDSP)。图4给出了DS的两种搜索模式,搜索过程先使用LDSP,对9个点进行比较,得到最佳匹配点,如果该点不在中心位置,则以最佳匹配点作为新的中心点,用LDSP继续进行比较,直到最佳匹配点位于中心位置,将LDSP换为SDSP,再进行匹配计算,这时SDSP中5个点中的MBD即为最优匹配点。然后以该点为中心应用SDSP进行比较,得到的最佳匹配点就是最后结果。DS搜索具体步骤:①在搜索区域中心及周围8个点按LDSP分别进行块匹配计算,如果计算得到的MBD在中心点则转到③,否则转到②;②以上一次找到的MBD点为中心,用LDSP计算,若MBD点位于中则转到③,否则重复该步骤;③以上次最佳点为中
心,搜索SDSP下的5个点,找到最佳点即是运动矢量对应的点。图5给出了DS的一个搜索过程,黑点表示该步搜索到的最佳点。该算法分析了视频图像中运动矢量的基本规律,选用了大小两种形式的模板LDSP和SDSP进行搜索,既可以进行粗定位,使搜索过程不会陷入局部最小,也使搜索不至于有大的起伏,所以其性能优于其他算法。另外,DS搜索时各步骤之间有很强的相关性,模板移动时只需要在几个新的检测点处进行匹配计算,所以也提高了搜索速度。但其性能上仍然存在缺陷:其一,对于运动大的序列,菱形法同等地对待搜索区域的各部门,这就造成较大的冗余,影响了算法的搜索速度;其二,对小运动序列来说DS算法还有待改进。在菱形搜索算法的基础上,后来又推出了六边形搜索算法、十字菱形搜索算法等,这些算法基本沿用了菱形搜索策略,提高了平均搜索速度,并且保持了相当的搜索精度。2实验结果
为了便于比较四种算法对运动估计的加速效果,在H.264参考平台JM17.2[6]的基础上,对不同的测试序列进行了一系列的测试,这里选取其中4个具有不同运动水平的视频序列,其中Akiyo(QCIF)和Foreman(QCIF)序列的运动较为简单,而Mobile&Calendar(QCIF)和Coastguard(QCIF)序列的运动则较为复杂;量化参数
(QuantumParameter,QP)选取28,32,36,40;运动搜索范围为33×33矩形窗(即在初始搜索中心点周围±16个整像素范围内),参考帧数为1,采用率失真优化算法及CABAC编码。为了突出各算法与全搜索算法的比较效果,在所有的测试序列中,只
有第一帧被编码为I帧,其它的帧都被编码为P帧,总共编码21帧。
图2NTSS搜索图示图3最优点分布规律图4大菱形模板LDSP及小菱形模板SDSP