運(yùn)動(dòng)估計(jì)(Motion Estimation)是幀率轉(zhuǎn)換中運(yùn)動(dòng)補(bǔ)償內(nèi)插算法的關(guān)鍵環(huán)節(jié),運(yùn)動(dòng)估計(jì)的精度直接決定內(nèi)插幀的質(zhì)量[1~4],目前三維遞歸搜索法(3-D Recursive Search,3DRS)是現(xiàn)有通用的運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法。但是傳統(tǒng)的三維遞歸搜索算法[5~7]存在以下不足:當(dāng)視頻序列存在場(chǎng)景切換時(shí),相鄰幀的相關(guān)性下降,這種內(nèi)插幀的方法就會(huì)失效;當(dāng)視頻序列劇烈運(yùn)動(dòng),某一宏塊包含多個(gè)運(yùn)動(dòng)對(duì)象時(shí),用此搜索算法估算出的宏塊運(yùn)動(dòng)矢量不準(zhǔn)確,從而導(dǎo)致內(nèi)插出來(lái)的圖像存在“塊效應(yīng)”;同時(shí),傳統(tǒng)的三維遞歸搜索算法采用固定位置鄰近宏塊運(yùn)動(dòng)矢量作為候選運(yùn)動(dòng)矢量,由于指定宏塊的局限性,通常有很多候選運(yùn)動(dòng)矢量是相同的,而與當(dāng)前塊運(yùn)動(dòng)一致的運(yùn)動(dòng)矢量卻未進(jìn)入候選矢量中,從而影響算法收斂速度和運(yùn)動(dòng)估計(jì)效果。
針對(duì)傳統(tǒng)三維遞歸搜索方法的不足,本算法先依據(jù)灰度直方圖的二階差分檢測(cè)場(chǎng)景,將視頻序列劃分為多個(gè)場(chǎng)景片段進(jìn)行場(chǎng)景內(nèi)插幀,同時(shí)利用灰度直方圖的一階差分獲得該場(chǎng)景內(nèi)的幀序列運(yùn)動(dòng)強(qiáng)度,根據(jù)運(yùn)動(dòng)強(qiáng)度設(shè)置匹配塊大小。在包含當(dāng)前塊的指定區(qū)域中,選取該區(qū)域中所有塊作為當(dāng)前塊的時(shí)空預(yù)測(cè)塊,采用三維遞歸搜索算法獲得當(dāng)前塊所有時(shí)空預(yù)測(cè)塊的運(yùn)動(dòng)矢量,選出互異的運(yùn)動(dòng)矢量作為當(dāng)前塊的候選運(yùn)動(dòng)矢量,依據(jù)本文給出的比較指標(biāo)求出最優(yōu)運(yùn)動(dòng)矢量。最后對(duì)最優(yōu)運(yùn)動(dòng)矢量進(jìn)行平滑濾波,補(bǔ)償重構(gòu)中間幀。
本算法包括4個(gè)主要模塊:場(chǎng)景及運(yùn)動(dòng)強(qiáng)度檢測(cè)、三維遞歸搜索獲取運(yùn)動(dòng)矢量、候選運(yùn)動(dòng)矢量處理及平滑中值濾波,具體如下:
對(duì)輸入的原始視頻序列,首先計(jì)算灰度直方圖的一階及二階差分[8],進(jìn)行場(chǎng)景檢測(cè),獲取幀間運(yùn)動(dòng)強(qiáng)度,根據(jù)運(yùn)動(dòng)強(qiáng)度的強(qiáng)弱設(shè)置匹配塊(測(cè)量窗口)的尺寸。
每個(gè)候選運(yùn)動(dòng)矢量都與當(dāng)前塊對(duì)應(yīng)一個(gè)匹配塊,用設(shè)定的比較指標(biāo)計(jì)算所有候選運(yùn)動(dòng)矢量對(duì)應(yīng)的匹配塊和當(dāng)前塊相似程度,選出相似度最高的運(yùn)動(dòng)矢量作為當(dāng)前塊的最優(yōu)運(yùn)動(dòng)矢量。
對(duì)上述的最優(yōu)運(yùn)動(dòng)矢量平滑中值濾波處理,插值補(bǔ)償重構(gòu)中間幀。
圖1 算法結(jié)構(gòu)框圖
為了有效消除場(chǎng)景變換檢測(cè)的誤檢,采用直方圖的二階差分檢測(cè)場(chǎng)景變換,幀間直方圖二階差分計(jì)算公式為[8]
當(dāng)直方圖的二階差分大于給定場(chǎng)景切換檢測(cè)閥值時(shí),即可認(rèn)為發(fā)生了場(chǎng)景切換。
幀間運(yùn)動(dòng)強(qiáng)度對(duì)宏塊大小選取有較大影響,當(dāng)運(yùn)動(dòng)劇烈時(shí),為了獲取更多的運(yùn)動(dòng)細(xì)節(jié),獲得正確描述運(yùn)動(dòng)的估計(jì)矢量,需將該匹配塊細(xì)分,依據(jù)運(yùn)動(dòng)強(qiáng)度強(qiáng)弱,設(shè)置匹配塊(測(cè)量窗口)尺寸,設(shè)定宏塊運(yùn)動(dòng)強(qiáng)度高低門(mén)限值和每個(gè)宏塊的運(yùn)動(dòng)強(qiáng)度被定義成3種情形。
三維遞歸搜索塊匹配算法是結(jié)合空間和時(shí)間的遞歸算法,對(duì)于第t幀中像素點(diǎn)(x,y)所在的宏塊,其時(shí)空相關(guān)預(yù)測(cè)候選運(yùn)動(dòng)矢量的集合C為[5-7]
式(4)中候選矢量對(duì)應(yīng)的時(shí)空預(yù)測(cè)塊,總是在當(dāng)前塊鄰域中幾個(gè)固定的位置,它們的運(yùn)動(dòng)矢量在很多情形是相同的,而當(dāng)前塊真正的運(yùn)動(dòng)矢量卻沒(méi)有被選為候選矢量,從而影響運(yùn)動(dòng)估計(jì)效果.適當(dāng)擴(kuò)大包含當(dāng)前塊的區(qū)域,從而擴(kuò)大候選運(yùn)動(dòng)矢量的范圍,去除候選矢量中相同的矢量,可避免大量候選矢量的重復(fù)而有效運(yùn)動(dòng)矢量被遺漏的問(wèn)題,有效增加運(yùn)動(dòng)估計(jì)的效果,加快運(yùn)動(dòng)估計(jì)的收斂速度.
本算法根據(jù)運(yùn)動(dòng)強(qiáng)度對(duì)圖像按塊進(jìn)行分割,指定包含當(dāng)前塊的一個(gè)含有個(gè)塊的區(qū)域,按照從上到下、從左到右的順序掃描排序,該區(qū)域中位于當(dāng)前塊之前的宏塊為空間預(yù)測(cè)塊,位于當(dāng)前塊之后的宏塊為時(shí)間預(yù)測(cè)塊,利用三維遞歸搜索算法求出這個(gè)預(yù)測(cè)塊對(duì)應(yīng)的時(shí)空運(yùn)動(dòng)矢量,將這個(gè)運(yùn)動(dòng)矢量構(gòu)成的集合與式(4)作并集,再?gòu)拇瞬⒓刑暨x出互異的運(yùn)動(dòng)矢量,作為當(dāng)前塊的候選運(yùn)動(dòng)矢量集合
對(duì)當(dāng)前塊,每個(gè)候選運(yùn)動(dòng)矢量都對(duì)應(yīng)一個(gè)匹配塊,計(jì)算候選運(yùn)動(dòng)矢量匹配塊與當(dāng)前塊灰度值絕對(duì)差和(sum of absolute differences),計(jì)算公式為
運(yùn)動(dòng)矢量的類(lèi)型有:空間候選矢量、時(shí)間候選矢量、更新矢量,它們?cè)诤蜻x矢量中的優(yōu)先級(jí)是依次遞減的.為了區(qū)別它們的優(yōu)先級(jí),在SAD值上增加一個(gè)類(lèi)型懲罰因子[5-7],得到評(píng)價(jià)指標(biāo)其計(jì)算公式為
為了保持運(yùn)動(dòng)矢量的連續(xù)性,減小內(nèi)插幀的塊效應(yīng),需對(duì)求出的運(yùn)動(dòng)矢量進(jìn)行平滑濾波.
計(jì)算當(dāng)前塊運(yùn)動(dòng)矢量與8鄰域塊運(yùn)動(dòng)矢量的距離來(lái)衡量它們的一致性。設(shè)為當(dāng)前塊坐標(biāo),是其運(yùn)動(dòng)矢量,為其周?chē)?鄰域塊坐標(biāo),為其對(duì)應(yīng)的運(yùn)動(dòng)矢量,計(jì)算衡量運(yùn)動(dòng)矢量的連續(xù)性指標(biāo)計(jì)算公式為
若當(dāng)前塊為不連續(xù)的運(yùn)動(dòng)矢量,采用最小二乘法求其運(yùn)動(dòng)矢量,即求使下式
在Matlab軟件的Simulink下進(jìn)行仿真編程[9,10],采用視頻標(biāo)準(zhǔn)化(CIF)格式4個(gè)標(biāo)準(zhǔn)測(cè)試序列bus、stefan、football、akiyo進(jìn)行測(cè)試,圖像格式為YUV4:2:0,幀率為30幀/s.實(shí)驗(yàn)從原始視頻序列抽取奇數(shù)幀,裁剪成15幀/s,然后采用幀率轉(zhuǎn)換算法重構(gòu)出偶數(shù)幀恢復(fù)原始幀率,客觀質(zhì)量通過(guò)內(nèi)插幀與原始幀的PSNR值來(lái)衡量。
為驗(yàn)證本算法的有效性,將本算法與全搜索FS(Full Search)、3DRS這2種算法應(yīng)用于這4個(gè)標(biāo)準(zhǔn)測(cè)試序列,然后計(jì)算出每種算法的PSNR進(jìn)行比較,如表1所示。
表1 測(cè)試序列內(nèi)插幀PSNR(dB)
由表1可知,本算法獲得了最優(yōu)的內(nèi)插幀PSNR值,優(yōu)于傳統(tǒng)的3DRS算法,而3DRS算法又優(yōu)于全搜索法。
圖2給出了3種算法對(duì)于akiyo序列內(nèi)插幀后圖像的主觀質(zhì)量比較,圖2(b)FS算法出現(xiàn)了明顯的宏塊效應(yīng),圖2(c)3RDS算法頭發(fā)邊緣重影現(xiàn)象較為明顯,圖2(d)本文算法對(duì)以上兩種情形都有了較為明顯的抑制效果。
圖2 akiyo序列內(nèi)插幀結(jié)果
本文研究將場(chǎng)景檢測(cè)引入幀率轉(zhuǎn)換方法中,計(jì)算幀間灰度直方圖的一階和二階差分檢測(cè)場(chǎng)景變換及獲取幀間運(yùn)動(dòng)強(qiáng)度.在同一場(chǎng)景根據(jù)運(yùn)動(dòng)強(qiáng)度設(shè)置匹配塊大??;選取包含當(dāng)前塊的某個(gè)指定區(qū)域中所有塊為當(dāng)前塊的時(shí)空預(yù)測(cè)塊,采用三維遞歸搜索算法得到當(dāng)前塊的候選運(yùn)動(dòng)矢量,同時(shí)優(yōu)化候選矢量的選擇,依據(jù)給出的比較指標(biāo)求出最優(yōu)運(yùn)動(dòng)矢量,最后對(duì)運(yùn)動(dòng)矢量進(jìn)行平滑濾波,重構(gòu)內(nèi)插幀.實(shí)驗(yàn)結(jié)果表明, 該算法收斂速度快,計(jì)算復(fù)雜度低,與傳統(tǒng)的運(yùn)動(dòng)補(bǔ)償插值算法相比,對(duì)內(nèi)插圖像的主觀質(zhì)量和客觀質(zhì)量都有所提高,易于硬件實(shí)現(xiàn),具有很強(qiáng)的實(shí)用性.