專(zhuān)利名稱(chēng):基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的快速運(yùn)動(dòng)估計(jì)視頻編碼方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻壓縮編碼領(lǐng)域,涉及一種基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的視頻快速運(yùn)動(dòng)估計(jì)編碼方法。
背景技術(shù):
在2003年由國(guó)際電信聯(lián)盟(ITU-T)和國(guó)際標(biāo)準(zhǔn)化組織(IS0/IEC)聯(lián)合頒布提出了新一代視頻編碼標(biāo)準(zhǔn)H.264/AVC。H.264優(yōu)異的壓縮性能和視頻質(zhì)量使得它在現(xiàn)實(shí)生活中被廣泛應(yīng)用,包括數(shù)字電視廣播、多媒體短信、網(wǎng)絡(luò)視頻流媒體傳遞和視頻實(shí)時(shí)通信等等。相比于之前的編碼標(biāo)準(zhǔn),H.264在以下幾個(gè)方面進(jìn)行了改進(jìn):采用1/4像素精度運(yùn)動(dòng)估計(jì);支持16X16、16X8、8X16、8X8、8X4、4X8、4X4共7種尺寸塊的預(yù)測(cè)方式;支持多幀參考;采用4X4整數(shù)變換代替8X8的DCT變換;可選2種熵編碼方式:基于上下文自適應(yīng)變長(zhǎng)編碼(context Adaptive Variable Length Coding,簡(jiǎn)稱(chēng) CAVLC)和基于上下文自適應(yīng)二進(jìn)制算術(shù)編碼(Context Adaptive Binary Arithmetic Coding,簡(jiǎn)稱(chēng) CABAC);米用率失真優(yōu)化技術(shù),編碼過(guò)程中綜合考慮編碼性能和碼率并進(jìn)行權(quán)衡。雖然H.264在編碼性能方面有了很大的改善,但卻是以犧牲編碼復(fù)雜度為代價(jià)換取的。H.264的高復(fù)雜度計(jì)算使得編碼耗時(shí)長(zhǎng),嚴(yán)重影響了其實(shí)時(shí)性能,所以對(duì)于提升H.264編碼速度方面的研究至關(guān)重要。相關(guān)研究表明,H.264編碼耗時(shí)大多來(lái)自于幀間預(yù)測(cè)編碼,其中運(yùn)動(dòng)估計(jì)(MotionEstimation,簡(jiǎn)稱(chēng)ME)過(guò)程占了編碼總時(shí)間的60% —80%,是增加運(yùn)算復(fù)雜度和影響編碼性能的關(guān)鍵部分。近年來(lái),研究者們一直致力于對(duì)運(yùn)動(dòng)估計(jì)過(guò)程進(jìn)行優(yōu)化,在保證編碼性能的同時(shí),盡量縮短運(yùn)動(dòng)估計(jì)時(shí)間。H.264中對(duì)于運(yùn)動(dòng)估計(jì)采用塊匹配運(yùn)動(dòng)估計(jì)算法,其原理如
圖1所示。首先將視頻一幀分割成若干的MXN塊,假設(shè)塊中所有像素都做相同的平移運(yùn)動(dòng)。設(shè)前一幀搜索區(qū)為(M+2ffx, N+2ffy),當(dāng)前幀塊與前一幀塊的位移為d(i,j),在搜索區(qū)中如果能找到與當(dāng)前幀塊匹配的前一幀塊,該d(i,j)即為所需要的運(yùn)動(dòng)矢量MV(Motion vector)。在塊匹配方法中,通常采用絕對(duì)差值和SAD (Sum of Absolute Difference)作為相關(guān)函數(shù)來(lái)衡量當(dāng)前塊與預(yù)測(cè)塊之間的相關(guān)程度,SAD值越小,則表示相關(guān)性越強(qiáng),二者越匹配。在現(xiàn)有的塊匹配運(yùn)動(dòng)估計(jì)算法中,搜索精度最高的是全搜索算法(FS)。由于FS算法計(jì)算復(fù)雜度過(guò)高,不利于實(shí)時(shí)應(yīng)用,為此研究人員相繼提出了三步法(TSS)、四步法(FSS)和六邊形法(HEXBS)等新的搜索算法,但它們依舊存在搜索點(diǎn)數(shù)多,易陷入局部最優(yōu)的不足。隨著研究的深入,針對(duì)時(shí)空相關(guān)性和人眼視覺(jué)特性所提出的新算法有了很大發(fā)展,典型的有非對(duì)稱(chēng)十字多層六邊形搜索算法(Unsymmetrical-Cross Mult1-HexagonSearch,簡(jiǎn)稱(chēng)UMHexagonS)。相比于全搜索算法,該算法能降低90%的運(yùn)動(dòng)估計(jì)時(shí)間,峰值信噪比平均下降小于0.05dB,且能維持碼率基本不變。申請(qǐng)?zhí)枮镃N201010140709.3的專(zhuān)利公開(kāi)了一種基于宏塊運(yùn)動(dòng)矢量特征分類(lèi)的快速運(yùn)動(dòng)估計(jì)視頻編碼方法,稱(chēng)為NUMHexagonS (New-UMHexagonS)算法,其運(yùn)動(dòng)估計(jì)搜索方案如圖2所示。該算法針對(duì)UMHexagonS算法有了很大改進(jìn),但仍然存在未能充分利用運(yùn)動(dòng)矢量分布特征進(jìn)行搜索策略制定、對(duì)于大型搜索模板搜索區(qū)域劃分不夠精細(xì)和忽略了運(yùn)動(dòng)矢量為O時(shí)的搜索特點(diǎn)等不足。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明提出了一種新的運(yùn)動(dòng)估計(jì)搜索算法,在保持低碼率和高質(zhì)量的前提下,通過(guò)減少運(yùn)動(dòng)估計(jì)過(guò)程中搜索點(diǎn)數(shù)達(dá)到縮短視頻編碼時(shí)間,提聞編碼效率目的。本發(fā)明采用的技術(shù)方案為:基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的快速運(yùn)動(dòng)估計(jì)視頻編碼方法,針對(duì)大范圍搜索模板存在搜索點(diǎn)數(shù)浪費(fèi)的缺點(diǎn),對(duì)非對(duì)稱(chēng)十字形搜索模板和非均勻六邊形網(wǎng)格搜索模板進(jìn)行了重新設(shè)計(jì),并在非對(duì)稱(chēng)十字形搜索和非均勻六邊形網(wǎng)格搜索之前分別進(jìn)行運(yùn)動(dòng)矢量分布預(yù)測(cè),自適應(yīng)地選擇相應(yīng)的搜索區(qū)域,在搜索期間判斷運(yùn)動(dòng)矢量是否為0,加入提前終止準(zhǔn)則,進(jìn)而實(shí)現(xiàn)對(duì)幀間宏塊的快速運(yùn)動(dòng)估計(jì)視頻編碼,其特征在于具體包括下述步驟:步驟一,從當(dāng)前視頻幀中提取當(dāng)前被預(yù)測(cè)宏塊的亮度信息作為編碼對(duì)象;步驟二,確定雙重運(yùn)動(dòng)估計(jì)搜索模板,進(jìn)行搜索點(diǎn)數(shù)分配,方法如下:(I)非對(duì)稱(chēng)十字形搜索模板:由4個(gè)搜索區(qū)域組成,垂直上下分別分配4個(gè)搜索點(diǎn)數(shù),水平左右分別分配8個(gè)搜索點(diǎn)數(shù);(2)非均勻六邊形網(wǎng)格搜索模板:由4層和8個(gè)方向共同構(gòu)成32個(gè)搜索區(qū)域,每個(gè)區(qū)域進(jìn)行非均勻點(diǎn)數(shù)分配,隨著搜索半徑的增加,搜索范圍的擴(kuò)大,由內(nèi)至外分配搜索點(diǎn)數(shù)遞增,在水平方向±45°區(qū)域內(nèi)共有搜索點(diǎn)數(shù)62個(gè),在垂直方向±45°區(qū)域內(nèi)共有搜索點(diǎn)數(shù)22個(gè);步驟三,確定高準(zhǔn)確的初始搜索點(diǎn):由拉格朗日率失真優(yōu)化(RDO-RateDistortion Optimizati on)函數(shù)作為運(yùn)動(dòng)估計(jì)判決依據(jù),選擇率失真意義上最佳匹配預(yù)測(cè)塊和最優(yōu)運(yùn)動(dòng)矢量,使得運(yùn)動(dòng)矢量和殘差編碼的比特分配最小。利用拉格朗日率失真準(zhǔn)則選擇最優(yōu)運(yùn)動(dòng)矢量問(wèn)題可描述為:Jmotion (mv, ref λ motion) = SAD [s, r (ref, mv) ] + λ motion[R(mv-pred)+R(ref)]其中,Jmotion為當(dāng)前預(yù)測(cè)的運(yùn)動(dòng)矢量的率失真代價(jià)值().s為當(dāng)前宏塊像素值,mv為當(dāng)前運(yùn)動(dòng)矢量,pred為預(yù)測(cè)運(yùn)動(dòng)矢量,ref為參考巾貞,r (ref, mv)為參考宏塊的像素值,R是運(yùn)動(dòng)矢量進(jìn)行差分編碼消耗的比特?cái)?shù),包括運(yùn)動(dòng)矢量與其預(yù)測(cè)值的差值編碼比特?cái)?shù)和參考巾貞的編碼比特?cái)?shù);λ m(rtim為拉格朗日乘子,SAD (Sum of Absolute Difference)為當(dāng)前塊與參考?jí)K像素間的絕對(duì)誤差和:
h B2(ref, /mv)] = | s(x, y) — r(x — mx, n — mv) |
λ.1.r I其中,B1和B2分別表示塊的水平像素和垂直像素,根據(jù)不同的幀間預(yù)測(cè)模式,其取值可為16,8,4;S(x,y)為當(dāng)前宏塊像素值;r(x,y)為參考宏塊的像素值,mx和my分別表示水平和垂直方向的位移量。利用拉格朗日率失真準(zhǔn)則選擇最優(yōu)模式的問(wèn)題可表述為:Jmode (s,c,MODE | λ mode) = SSD (s, c, MODE | QP) + λ mode X R (s, c, MODE | QP) (I)
其中,MODE表示當(dāng)前宏塊的一種幀間編碼模式Jmtxle (s,c,MODE I λ mode)表示MODE
模式下的率失真代價(jià)值(體 ,,s為原始的視頻信號(hào);c為采用MODE模式編碼后的重
構(gòu)視頻信號(hào);XnrodeS拉格朗日乘子;R(s,c,M0DE|QP)是與MODE和量化參數(shù)有關(guān)的包括宏塊頭信息、運(yùn)動(dòng)矢量和所有DCT塊信息的總的二進(jìn)制位數(shù),它是通過(guò)對(duì)塊進(jìn)行實(shí)際的編碼后獲得的,所以其運(yùn)算量較大;QP是編碼量化步長(zhǎng);SSD(s,c,MODE I QP) (Sum of SquareDifference)為原始信號(hào)與重構(gòu)信號(hào)之間的平方差之和,即:
權(quán)利要求
1.一種基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的視頻快速運(yùn)動(dòng)估計(jì)編碼方法,其特征在于該方法根據(jù)當(dāng)前宏塊運(yùn)動(dòng)矢量分布預(yù)測(cè)自適應(yīng)地選擇模板搜索區(qū)域,在大范圍模板搜索之前對(duì)運(yùn)動(dòng)矢量是否為O進(jìn)行預(yù)測(cè),加入提前終止準(zhǔn)則,進(jìn)而實(shí)現(xiàn)對(duì)幀間宏塊的快速運(yùn)動(dòng)估計(jì)視頻編碼,具體包括以下步驟: 步驟一,從當(dāng)前視頻幀中提取當(dāng)前被預(yù)測(cè)宏塊的亮度信息作為編碼對(duì)象; 步驟二,確定雙重運(yùn)動(dòng)估計(jì)搜索模板,進(jìn)行搜索點(diǎn)數(shù)分配; 步驟三,確定高準(zhǔn)確的初始搜索點(diǎn): 由拉格朗日率失真優(yōu)化(RDO-Rate Distortion Optimization)函數(shù)作為運(yùn)動(dòng)估計(jì)判決依據(jù),選擇率失真意義上最佳匹配預(yù)測(cè)塊和最優(yōu)運(yùn)動(dòng)矢量,使得運(yùn)動(dòng)矢量和殘差編碼的比特分配最小;利用拉格朗日率失真準(zhǔn)則選擇最優(yōu)運(yùn)動(dòng)矢量問(wèn)題可描述為:
2.根據(jù)權(quán)利要求1所述的基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的視頻快速運(yùn)動(dòng)估計(jì)編碼方法,其特征在于,步驟二確定運(yùn)動(dòng)估計(jì)模板分配搜索點(diǎn)數(shù)的方法如下: (O非對(duì)稱(chēng)十字形搜索模板:由4個(gè)搜索區(qū)域組成,垂直上下分別分配4個(gè)搜索點(diǎn)數(shù),水平左右分別分配8個(gè)搜索點(diǎn)數(shù); (2)非均勻六邊形網(wǎng)格搜索模板:由4層和8個(gè)方向共同構(gòu)成32個(gè)搜索區(qū)域,每個(gè)區(qū)域進(jìn)行非均勻點(diǎn)數(shù)分配,隨著搜索半徑的增加,搜索范圍的擴(kuò)大,由內(nèi)至外分配搜索點(diǎn)數(shù)遞增,在水平方向±45°區(qū)域內(nèi)共有搜索點(diǎn)數(shù)62個(gè),在垂直方向±45°區(qū)域內(nèi)共有搜索點(diǎn)數(shù)22個(gè)。
3.根據(jù)權(quán)利要求1所述的基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的視頻快速運(yùn)動(dòng)估計(jì)編碼方法,其特征在于,步驟五預(yù)測(cè)當(dāng)前宏塊進(jìn)行運(yùn)動(dòng)矢量方向的方法包括以下步驟: (1)根據(jù)當(dāng)前宏塊運(yùn)動(dòng)矢量位置計(jì)算方向參數(shù): 當(dāng)前宏塊運(yùn)動(dòng)矢量坐標(biāo)(MVX,MVy),運(yùn)動(dòng)矢量方向用其方向向量MV= (MVX,MVy)表示,計(jì) 算
4.根據(jù)權(quán)利要求1所述的基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的視頻快速運(yùn)動(dòng)估計(jì)編碼方法,其特征在于,步驟七判斷當(dāng)前宏塊運(yùn)動(dòng)矢量大小的方法如下: (1)根據(jù)初始搜索點(diǎn)的預(yù)測(cè)方式確定Predminrast和RDminrast的值: 若在步驟三中采用時(shí)間預(yù)測(cè)方式,則:predminMSt = ref_predmincost ; 若在步驟三中采用空間預(yù)測(cè)方式,則:predminMSt = space_predminc0St ; 若在步驟三中采用上層塊預(yù)測(cè)方式,則:predminMSt = uplayer_predmincost ; RDminrast為由公式(I)中計(jì)算當(dāng)前預(yù)測(cè)宏塊在MODE模式下的最小率失真代價(jià)值; (2)計(jì)算預(yù)測(cè)運(yùn)動(dòng)矢量參數(shù): 預(yù)測(cè)運(yùn)動(dòng)矢量下限閾值為: (1+Y ) Predmincost 預(yù)測(cè)運(yùn)動(dòng)矢量上限閾值為: (1+ δ ) predmincost 預(yù)測(cè)運(yùn)動(dòng)矢量因子為:
5.根據(jù)權(quán)利要求1所述的基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的視頻快速運(yùn)動(dòng)估計(jì)編碼方法,其特征在于,步驟九預(yù)測(cè)運(yùn)動(dòng)矢量方向的方法如下: (1)根據(jù)當(dāng)前宏塊運(yùn)動(dòng)矢量位置計(jì)算方向參數(shù):同步驟五(I),計(jì)算得到運(yùn)動(dòng)矢量方向參數(shù)k的值; (2)判斷當(dāng)前預(yù)測(cè)宏塊運(yùn)動(dòng)矢量分布方向:當(dāng)k < 0.25時(shí),根據(jù)MVx取值進(jìn)行判斷:當(dāng)MVx > O時(shí),判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?-22.5°,22.5° ];當(dāng)MVx < O時(shí),判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?157.5°,202.5° ];當(dāng)k > 1.5或MVx = O時(shí),根據(jù)MVy取值進(jìn)行判斷:當(dāng)MVy > O時(shí),判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?67.5° ,112.5° ] ;iMVy < O時(shí),判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?-112.5。, -67.5° ]; 當(dāng)0.25彡k彡1.5時(shí),根據(jù)MVx和MVy取值進(jìn)行判斷:當(dāng)MVx > O且MVy > O時(shí),判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?22.5° ,67.5° ];當(dāng)MVx < O且MVy < O時(shí),判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?-157.5°,-112.5° ];當(dāng)MVx < O且MVy > O時(shí)判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?112.5°,157.5° ];當(dāng)MVx > O且MVy < O時(shí),判定當(dāng)前宏塊運(yùn)動(dòng)矢量方向?yàn)?-67.5° , -22.5° ] ο
全文摘要
本發(fā)明屬于視頻壓縮編碼領(lǐng)域,公開(kāi)了一種基于運(yùn)動(dòng)矢量分布預(yù)測(cè)的快速運(yùn)動(dòng)估計(jì)視頻編碼方法。該方法首先從原始視頻數(shù)據(jù)中提取當(dāng)前宏塊的亮度信息,針對(duì)整像素運(yùn)動(dòng)矢量分布特征搜索設(shè)計(jì)簡(jiǎn)潔的運(yùn)動(dòng)估計(jì)搜索模板,合理分配搜索點(diǎn)數(shù)。然后對(duì)運(yùn)動(dòng)矢量分布進(jìn)行預(yù)測(cè),根據(jù)預(yù)測(cè)結(jié)果自適應(yīng)地選擇在搜索模板相應(yīng)區(qū)域內(nèi)小范圍搜索。在運(yùn)動(dòng)估計(jì)搜索過(guò)程中對(duì)運(yùn)動(dòng)矢量是否為0進(jìn)行判斷,作為跳過(guò)模板搜索的判據(jù)。本發(fā)明方法與視頻編碼標(biāo)準(zhǔn)H.264中采用的運(yùn)動(dòng)估計(jì)搜索算法及其它改進(jìn)算法相比較,能有效地加速運(yùn)動(dòng)估計(jì)搜索過(guò)程,減少運(yùn)動(dòng)估計(jì)耗時(shí),嚴(yán)格控制了碼率增加,保證了較好的重構(gòu)圖像質(zhì)量,實(shí)現(xiàn)了快速運(yùn)動(dòng)估計(jì)編碼。
文檔編號(hào)H04N7/36GK103188496SQ20131009821
公開(kāi)日2013年7月3日 申請(qǐng)日期2013年3月26日 優(yōu)先權(quán)日2013年3月26日
發(fā)明者高原, 劉鵬宇, 賈克斌 申請(qǐng)人:北京工業(yè)大學(xué)