易 葵,肖旭青
(1.中航工業(yè)南方航空工業(yè)(集團(tuán))有限公司機(jī)動(dòng)分公司,湖南 株洲 412002;2.株洲市發(fā)展和改革委員會(huì),湖南 株洲 412007)
?
基于SAD優(yōu)化的運(yùn)動(dòng)估計(jì)搜索算法研究
易葵1,肖旭青2
(1.中航工業(yè)南方航空工業(yè)(集團(tuán))有限公司機(jī)動(dòng)分公司,湖南株洲412002;2.株洲市發(fā)展和改革委員會(huì),湖南株洲412007)
摘要:基于對(duì)運(yùn)動(dòng)估計(jì)SAD匹配準(zhǔn)則缺陷和碼量分配原理的分析,本文提出了針對(duì)影響運(yùn)動(dòng)估計(jì)效率的三個(gè)主要因素:搜索中心預(yù)測(cè)、匹配準(zhǔn)則和搜索策略,提出了自適應(yīng)雙十字-鉆石-六邊形搜索算法。實(shí)驗(yàn)結(jié)果表明,該算法在失真度基本保持不變的情況下,搜索速度比MVFAST要提高78%,比PMVFAST要提高5.1%。
關(guān)鍵詞:運(yùn)動(dòng)估計(jì);塊匹配;搜索算法
在幀間視頻壓縮技術(shù)中,塊匹配運(yùn)動(dòng)估計(jì)因簡(jiǎn)單實(shí)用、便于VISL實(shí)現(xiàn)而被MPEG和H.26X標(biāo)準(zhǔn)普遍采用[1~3],大部分塊匹配算法主要采用SAD作為匹配準(zhǔn)則,只考慮了殘差塊對(duì)編碼的影響,忽視了運(yùn)動(dòng)矢量對(duì)編碼的影響,主要目標(biāo)就是搜索SAD值最小的預(yù)測(cè)塊。事實(shí)上,SAD最小并不是最佳匹配塊的充分條件,如何快速找到最有利于視頻壓縮的預(yù)測(cè)塊才是運(yùn)動(dòng)估計(jì)的根本目標(biāo)。
為此,本文在綜合分析SAD準(zhǔn)則缺陷和碼量分配的基礎(chǔ)上,提出了基于SAD優(yōu)化的快速運(yùn)動(dòng)估計(jì)搜索算法(SOMEA)。其主要思路是:首先利用相鄰塊之間的時(shí)空相關(guān)性,預(yù)測(cè)搜索起點(diǎn);其次設(shè)計(jì)符合運(yùn)動(dòng)矢量交叉-中心偏置分布特性的混合搜索模板,通過(guò)基于運(yùn)動(dòng)內(nèi)容靈活處理不同的運(yùn)動(dòng)塊,使其能夠自適應(yīng)選擇模板進(jìn)行搜索;最后采用高效的搜索中止準(zhǔn)則,平滑運(yùn)動(dòng)矢量場(chǎng),減少搜索復(fù)雜度和確保足夠的搜索精度。
一、塊匹配準(zhǔn)則及碼量分配分析
塊匹配算法一般有三種匹配準(zhǔn)則,即絕對(duì)差(SAD)、均方差(MSE)和歸一化相關(guān)函數(shù)(NCCF)。
(1)
(2)
(3)
式中,(i,j)為位移矢量,fk,fk-N分別為當(dāng)前幀和參考幀的灰度值,M×N為宏塊大小。由于匹配準(zhǔn)則對(duì)匹配精度的影響不是很大,為降低編碼器的時(shí)間開銷,在這三種算法中,不含乘除法的SAD準(zhǔn)則成為最常使用的匹配準(zhǔn)則。然而,運(yùn)動(dòng)估值的實(shí)時(shí)性和精度是相互矛盾的,SAD準(zhǔn)則雖然運(yùn)算量最小,但是用該方法尋求最佳匹配塊存在較大的誤差,可能導(dǎo)致SAD值最小的匹配塊并非最優(yōu)。例如,存在一個(gè)4×4當(dāng)前塊Bcur和兩個(gè)參考?jí)KBref1和Bref2,如下:
另外,在碼率控制作用下,Btotal=Bintra+Binter=Bintra+∑(Binter_re+Binter_mv), 其中Btotal(總編碼量)、Bintra(幀內(nèi)編碼量)和Binter(幀間編碼量)基本為常數(shù),Binter_re(殘差系數(shù)編碼量)和Binter_mv(運(yùn)動(dòng)矢量編碼量)相互制約,Binter_mv增加,Binter_re則相應(yīng)減少。目前,視頻編碼標(biāo)準(zhǔn)對(duì)運(yùn)動(dòng)矢量通常采用差分編碼方式,運(yùn)動(dòng)矢量場(chǎng)越均勻,運(yùn)動(dòng)矢量編碼量就越小。因此,在保證一定匹配精度的前提下,適當(dāng)平滑運(yùn)動(dòng)矢量場(chǎng),降低Binter_mv,使殘差編碼獲得更多的比特?cái)?shù),進(jìn)而可以提高圖像質(zhì)量。
綜合以上分析可知,在運(yùn)動(dòng)估計(jì)過(guò)程中,沒(méi)有必要花費(fèi)過(guò)多的代價(jià)去尋找SAD最小的預(yù)測(cè)塊,而通過(guò)高效的搜索中止策略,確保足夠的搜索精度,使運(yùn)動(dòng)矢量場(chǎng)盡量平滑,就有可能獲得更好的視頻壓縮效果。
二、SAD優(yōu)化的快速搜索算法
1.搜索起點(diǎn)預(yù)測(cè)
為防止搜索陷入局部最小和有效降低搜索次數(shù),運(yùn)動(dòng)估計(jì)算法一般都采用起點(diǎn)預(yù)測(cè),使搜索起點(diǎn)距離最佳匹配點(diǎn)足夠近。根據(jù)運(yùn)動(dòng)物體所具有的整體性和視頻序列的連續(xù)性,可以利用時(shí)間和空間方向上的相鄰塊運(yùn)動(dòng)場(chǎng)預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)場(chǎng),圖1顯示相鄰塊的位置。
圖1 相鄰塊位置關(guān)系圖
文獻(xiàn)[4]闡述了各相鄰塊的預(yù)測(cè)效果,指出當(dāng)前塊的運(yùn)動(dòng)矢量與B1,B2,B3,B4塊的運(yùn)動(dòng)矢量相關(guān)性最大。綜合考慮計(jì)算量和預(yù)測(cè)效果等因素,本文選擇這B1,B2,B3,B4,B5塊預(yù)測(cè)搜索起始點(diǎn),預(yù)測(cè)公式為:
MVini為預(yù)測(cè)的起始點(diǎn)位移,MVBi為Bi塊的運(yùn)動(dòng)矢量,MVm為B1,B2,B4,B5四個(gè)塊運(yùn)動(dòng)矢量的平均值,T為門限值,SADMVBi為Bi塊的SAD值,SAD0為當(dāng)前塊與B3塊的失真度。我們提出該預(yù)測(cè)公式的理論依據(jù)在于:(1)如果B1,B2,B4,B5塊屬于同一運(yùn)動(dòng)物體,則argminMVBi‖MVBi-MVm‖所預(yù)測(cè)的起始點(diǎn)將非??拷?dāng)前塊的真實(shí)運(yùn)動(dòng)位置;如果不屬于同一運(yùn)動(dòng)物體,那么選擇最小的位移偏差作為預(yù)測(cè)的起點(diǎn),則可以保持運(yùn)動(dòng)場(chǎng)的中心偏置特性。(2)ifmaxi=1,2,4,5‖MVBi-MVm‖T and SADMVBi?SAD0,通過(guò)SAD比較法得到的預(yù)測(cè)起點(diǎn)都是相鄰塊的運(yùn)動(dòng)矢量,這種預(yù)測(cè)也有助于使運(yùn)動(dòng)矢量場(chǎng)具有均勻性。(3)雖然當(dāng)前塊與B3塊的運(yùn)動(dòng)矢量相關(guān)性大,但是當(dāng)運(yùn)動(dòng)物體突然改變運(yùn)動(dòng)方向,或者運(yùn)動(dòng)速度不穩(wěn)定時(shí),把B3的運(yùn)動(dòng)矢量放入公式(4.1)中,將會(huì)帶來(lái)較大的預(yù)測(cè)誤差。所以我們僅把B3放入(4.2)中考慮。(4)由于零矢量非常有利于編碼效率的提高,在起點(diǎn)預(yù)測(cè)時(shí)對(duì)它給予一定的傾斜。
2.雙十字-鉆石-六邊形搜索模板
經(jīng)過(guò)搜索起點(diǎn)預(yù)測(cè)后,一般情況下,匹配塊運(yùn)動(dòng)矢量將非常接近MVini。為此,我們提出的雙十字-鉆石-六邊形混合搜索模板的基本搜索步長(zhǎng)為1,具體描述如圖2,其基本思想主要來(lái)源文獻(xiàn)[5,6]的結(jié)論:(1)運(yùn)動(dòng)矢量具有中心偏置特性;(2)運(yùn)動(dòng)矢量的概率分布是以(0,0)點(diǎn)為中心遞減的;(3)運(yùn)動(dòng)矢量分布具有交叉偏置特性。
3.自適應(yīng)搜索策略
視頻序列中不同區(qū)域的運(yùn)動(dòng)劇烈程度往往不同,本文算法首先對(duì)當(dāng)前塊進(jìn)行分類,分類準(zhǔn)則為:(1)如果MVB1=MVB2=MVB4=MVB5,或者maxi=1,2,4,5‖MVBi-MVm‖?2,則稱之為靜態(tài)或準(zhǔn)靜態(tài)塊(stationaryorquasi-stationaryblock);(2)否則,稱之為動(dòng)態(tài)塊。
圖2 又十字—鉆石—六邊形搜索模板
其次,設(shè)置早期搜索終止準(zhǔn)則。為提高運(yùn)動(dòng)估計(jì)速度,許多快速算法常采用SAD閾值作為搜索終止條件。由于當(dāng)前塊的SAD值與前一幀相同位置塊的SADB3值具有很強(qiáng)的相關(guān)性,本文選擇SAD Step1:依據(jù)分類準(zhǔn)則判斷當(dāng)前塊運(yùn)動(dòng)類型,如果當(dāng)前塊是靜態(tài)或準(zhǔn)靜態(tài)塊,則進(jìn)入step2;否則進(jìn)入step3。 Step2:以SCSP模板進(jìn)行搜索,如果最小SAD點(diǎn)在SCSP中心,或者最小SAD點(diǎn)的SADs值滿足SADs Step3:以LCSP模板進(jìn)行搜索,如果最小SAD點(diǎn)的SADs值滿足SADs Step4:如果LCSP搜索得到的最小SAD點(diǎn)在(0±1),或(±1,0),如圖2(c)所示,搜索最靠近Step3最小SAD點(diǎn)的兩個(gè)點(diǎn),也就是位于四個(gè)候選點(diǎn)(±1,±1)中的兩個(gè)點(diǎn),如果這一步得出的新的最小SAD點(diǎn)和step3得出的一致,或者SADs Step5:以Step4獲得的最小SAD點(diǎn)作為新的HHSP(或VHSP)模板中心進(jìn)行搜索,如果搜索得到最小SAD點(diǎn)位于新的HHSP(或VUHSP)中心,則進(jìn)入step6;否則,這循環(huán)搜索。 Step6:用上一步找到的最小SAD點(diǎn)作為新的SCSP模板中心,搜索最小的SAD點(diǎn)作為運(yùn)動(dòng)矢量的最終解。 在整個(gè)搜索過(guò)程,我們加入了搜索排除準(zhǔn)則來(lái)排除不需要進(jìn)行匹配運(yùn)算的塊以減少搜索點(diǎn)數(shù)。具體描述如下: fk(m,n)-fk-Ns(m+i,n+j)?|fk(m,n)-fk-Ns(m+i,n+j)| (5) fk-Ns(m,n)-fk(m+i,n+j)?|fk(m,n)-fk-Ns(m+i,n+j)| (6) 對(duì)(5)、(6)兩式的兩邊分別求累加和,可得 C-R(i,j)?SAD(i,j) (7) R(i,j)-C?SAD(i,j) (8) C-SAD(i,j)?R(i,j)?C+SAD(i,j) (9) 在實(shí)際搜索過(guò)程中,只有候選塊R(i,j)滿足式(9)時(shí)才有必要進(jìn)行計(jì)算,否則不予考慮,這樣就大大降低了計(jì)算的復(fù)雜度。 三、實(shí)驗(yàn)結(jié)果及分析 為了評(píng)估本文提出的SOMEA算法性能,我們選擇100幀Qcif序列Football、Coastguard和Mother_daughter進(jìn)行實(shí)驗(yàn)仿真。三個(gè)序列分別代表了不同類型的運(yùn)動(dòng),F(xiàn)ootball序列運(yùn)動(dòng)變化劇烈,Coastguard序列的運(yùn)動(dòng)變化平穩(wěn),Mother_daughter序列只有部分區(qū)域運(yùn)動(dòng)。實(shí)驗(yàn)參數(shù)設(shè)置如下:塊尺寸16×16,搜索窗±16,T=7,t1=0.95,t2=1.07。 Table1和Table2分別列出了不同算法針對(duì)不同序列的平均每塊搜索點(diǎn)數(shù)(ASPB)、速度提升比率(SIP)和平均每個(gè)像素MSE值(AMP)、MSE降低比率(DM)。從中可以清楚看到:(1)本文提出的算法與MPEG4推薦的兩種算法MVFAST和PMVFAST相比,在MSE基本保持不變的情況下,平均SIP分別提升了78%和5.1%。(2)本算法對(duì)于包含平穩(wěn)運(yùn)動(dòng)和靜止背景的視頻序列,其性能提升要好于運(yùn)動(dòng)劇烈的視頻序列,主要原因在于運(yùn)動(dòng)劇烈使得前后幀相關(guān)度急劇下降,導(dǎo)致SAD 表1 平均每塊搜索點(diǎn)數(shù)(ASPB)和速度提升比率(SIR%) 表2 平均每像素均方差(AMP)和MSE降低比率(DMSE%) 圖3 平均每塊搜索點(diǎn)數(shù)ASPB對(duì)比 圖4 平均每個(gè)象素MSE值A(chǔ)MP對(duì)比 四、結(jié)論 本文在分析傳統(tǒng)的SAD塊匹配準(zhǔn)則和碼量分配對(duì)編碼質(zhì)量的影響的基礎(chǔ)上,提出了一種新基于SAD優(yōu)化的運(yùn)動(dòng)估計(jì)算法(SOMEA)。該算法根據(jù)視頻運(yùn)動(dòng)的相關(guān)性,綜合運(yùn)動(dòng)矢量場(chǎng)中心偏置特性與SAD比較法從當(dāng)前塊的時(shí)空位置相鄰塊的運(yùn)動(dòng)矢量中選擇最佳的初始運(yùn)動(dòng)矢量;利用簡(jiǎn)單的運(yùn)動(dòng)分類準(zhǔn)則和搜索轉(zhuǎn)移條件,自適應(yīng)選擇搜索模式,并在搜索過(guò)程中加入搜索終止閾值和搜索排除準(zhǔn)則,使搜索結(jié)果具有足夠的精度和較低的復(fù)雜度。實(shí)驗(yàn)結(jié)果顯示,本文算法在MSE基本保持不變的基礎(chǔ)上,獲得了比MVFAST和PMVFAST更高的搜索速度。 參考文獻(xiàn): [1]HonglunJia.Anewcrossdiamondsearchalgorithmforblockmotionestimation,IEEEInternationalConference.ICASSP, 2004,3(5):17~21. [2]Ma.K.K.Performancereportofmotionvectorfieldadaptivesearchtechnique(MVFAST)[S].In:ISO/IECJTC1/SC29/WG11MPEG99/m5851,Noordwijkerhout,NL, 2000,(3). [3]Tourapis.A.M.Fastblock-matchingmotionestimationusingpredictivemotionvectorfieldadaptivesearchtechnique(PMVFAST)[S].In:ISO/IECJTC1/SC29/WG11MPEG2000/N3324,Noordwijkerhout,NL, 2000,(3). [4]C.Hsieh.Motionestimationalgorithmusinginterblockcorrelation[J].Electron,1990,26(3):276~277. [5]Chun-Ho.Cheung.Anovelcross-diamondsearchalgorithmforfastblockmotionestimation[J].IEEETrans.CircuitsSyst.VideoTechnol,2002,12(12): 1 168~1 177. [6]Chun-Ho.Cheung.Novelcross-diamond-hexagonalsearchalgorithmsforfastblockmotionestimation[J].IEEETrans.Multimedia,2002,7(2). 文章編號(hào):2095-4654(2016)05-0018-04 * 收稿日期:2015-12-28 中圖分類號(hào):TN911.73 文獻(xiàn)標(biāo)識(shí)碼:A