??? 摘? 要: MPEG4 AVC/ITU-T H.264視頻編碼標(biāo)準(zhǔn)因其優(yōu)異的編碼效率和性能而被廣泛采用,但其模式?jīng)Q策問(wèn)題導(dǎo)致運(yùn)動(dòng)估計(jì)器運(yùn)算復(fù)雜度非常大。本文提出一種快速模式?jīng)Q策算法的實(shí)現(xiàn)方法。仿真結(jié)果證明,本方法在編碼質(zhì)量降低較小的情況下,能夠減少80%以上的編碼時(shí)間。
??? 關(guān)鍵詞: H.264? 快速模式?jīng)Q策? 編碼器復(fù)雜度
?
1 現(xiàn)有的快速?zèng)Q策算法
??? ITU-T和ISO/IEC組成的聯(lián)合視頻專(zhuān)家組(JVT)于2003年3月公布了H.264/MPEG-4 AVC標(biāo)準(zhǔn)(以下簡(jiǎn)稱(chēng)H.264)。與MPEG-4 ASP標(biāo)準(zhǔn)相比,在編碼質(zhì)量相同的情況下,編碼率可以減少50%。這一優(yōu)異性能的取得很大程度上得益于H.264所采用的多模式、多參考幀的運(yùn)動(dòng)估計(jì)編碼算法和多模式幀內(nèi)預(yù)測(cè)編碼算法。但是,其采用的基于最佳碼率和失真折衷(Rate-Distortion Optimization,RDO)的模式?jīng)Q策算法,使編碼算法的復(fù)雜度提高了3倍,編碼時(shí)間也大大增加。而且,H.264用于模式?jīng)Q策的時(shí)間占整個(gè)編碼時(shí)間的80%~90%。所以,如何有效加快模式?jīng)Q策過(guò)程的實(shí)現(xiàn)速度,成為當(dāng)前研究的熱點(diǎn)。
??? 針對(duì)運(yùn)動(dòng)估計(jì)模式的快速?zèng)Q策算法已有如下幾種:(1)通過(guò)3×3的Sobel計(jì)算得到當(dāng)前宏塊的邊緣矢量圖(Edge Map),然后利用每點(diǎn)邊緣矢量的幅度值之和的統(tǒng)計(jì)特性去判斷宏塊的空間一致性,并根據(jù)一致性越強(qiáng)所采用的運(yùn)動(dòng)估計(jì)塊越大的原則,減少進(jìn)行復(fù)雜的碼率和失真折衷值(Rate-Distortion Cost,RDC)計(jì)算的候選模式數(shù)量。但是,由于Sobel計(jì)算涉及每個(gè)象素點(diǎn),因此它本身的計(jì)算量也很大。(2)利用模式間的相關(guān)性把7種模式分組,計(jì)算有代表性的16×16、8×8、4×4三種模式的RDC值,通過(guò)分析結(jié)果選擇出最佳的模式組,然后只對(duì)組內(nèi)的候選模式進(jìn)行RDC計(jì)算。這種算法沒(méi)有考慮編碼圖像自身的特性,能夠刪除的候選模式不多。(3)只進(jìn)行基于8×8子塊的運(yùn)動(dòng)估計(jì),通過(guò)分析得到的4個(gè)運(yùn)動(dòng)矢量間的相似性進(jìn)行估計(jì)塊(即模式)的合并,合并后得到的模式即為最佳模式。此外,也有學(xué)者針對(duì)幀內(nèi)編碼模式的選擇,提出了多種快速算法。
??? 本文提出一種適合在移動(dòng)終端設(shè)備等計(jì)算能力有限的應(yīng)用場(chǎng)合下進(jìn)行H.264實(shí)時(shí)編碼的快速模式?jīng)Q策算法的實(shí)現(xiàn)方法。該方法具有計(jì)算復(fù)雜度低和邏輯簡(jiǎn)單的特點(diǎn)。實(shí)驗(yàn)證明,在圖像質(zhì)量和壓縮效率降低很少的情況下,該方法使編碼速度提高了80%以上。
2? H.264的模式?jīng)Q策算法
??? H.264采用8種幀間編碼模式,包括7種采用不同大小和形狀的運(yùn)動(dòng)估計(jì)塊對(duì)宏塊進(jìn)行運(yùn)動(dòng)估計(jì)的編碼模式和SKIP模式。H.264幀間預(yù)測(cè)模式如圖1所示,其決策算法是:首先,對(duì)宏塊分別計(jì)算16×16、16×8、8×16和SKIP 4種模式下的RDC值;然后,對(duì)宏塊中的每一個(gè)8×8子塊分別計(jì)算8×8、8×4、4×8和4×4 4種子模式下的RDC值,得到具有最小值的最佳子模式,再將子塊的最小RDC值相加得到宏塊在模式下的RDC值;最后,在宏塊層次上比較各模式RDC值,選取值最小的模式作為宏塊最佳編碼模式。
?
??? 在幀內(nèi)編碼方面,H.264采用基于4×4子塊和基于16×16宏塊的2種預(yù)測(cè)模式,其中4×4模式有9個(gè)預(yù)測(cè)方向,宏塊模式有4個(gè)預(yù)測(cè)方向。在最新的參考軟件JM9.3中加入了基于8×8子塊的預(yù)測(cè)模式。每一種預(yù)測(cè)模式都是利用相鄰已編碼塊的樣點(diǎn)值去預(yù)測(cè)當(dāng)前塊的樣點(diǎn)值。H.264要分別計(jì)算宏塊在基于4×4、16×16和8×8 3種模式下的各個(gè)預(yù)測(cè)方向的RDC值,并選擇值最小的模式作為最佳幀內(nèi)預(yù)測(cè)模式。如果當(dāng)前編碼宏塊屬于幀間預(yù)測(cè)幀(P幀),該最小值還要與最佳幀間編碼模式的RDC值進(jìn)行比較來(lái)確定最佳模式。
??? H.264協(xié)議采用Lagrange代價(jià)函數(shù)計(jì)算每種模式下宏塊的RDC值,其定義如下:
???
??? 式(1)中,JMODE表示相應(yīng)模式的RDC值,λMODE是Lagrange因子,其值與量化系數(shù)有關(guān)。R(s,c,MODE)指的是該模式所需的編碼比特?cái)?shù)。SSD(s,c,MODE)指的是原始宏塊和重建宏塊之間的平方差之和,其定義如下:
???
式(2)中,S(x,y)表示原始宏塊,C(x,y)表示重建宏塊。
??? 通過(guò)上面的分析可以看到,H.264在進(jìn)行宏塊模式?jīng)Q策時(shí),運(yùn)動(dòng)估計(jì)、量化、反量化和DCT變換等操作被多次反復(fù)調(diào)用,這樣的計(jì)算強(qiáng)度對(duì)于實(shí)時(shí)性要求較高的視頻通信應(yīng)用及處理能力相對(duì)較弱的手持設(shè)備而言是很難被接受的。
3? 模式?jīng)Q策算法的快速實(shí)現(xiàn)
3.1 提出方法的動(dòng)機(jī)
??? H.264協(xié)議幀間模式?jīng)Q策的基本原則是:對(duì)只含有背景成分、全局運(yùn)動(dòng)成分或很少量局部運(yùn)動(dòng)成分的宏塊采用大估計(jì)塊模式進(jìn)行編碼;對(duì)于含有豐富運(yùn)動(dòng)成分的宏塊采用小估計(jì)塊模式進(jìn)行編碼。由此可以得出:隨著7種運(yùn)動(dòng)估計(jì)塊自大向小被調(diào)用,宏塊的RDC值呈現(xiàn)出近似的單調(diào)變化趨勢(shì)。所以,通過(guò)對(duì)這種趨勢(shì)的分析,很可能在不調(diào)用所有模式的情況下得到最佳編碼模式。
??? 使用H.264參考軟件JM9.3對(duì)9個(gè)QCIF和CIF格式的圖像序列進(jìn)行編碼實(shí)驗(yàn),編碼模式的分配情況如表1所示。從表中可以得到很多關(guān)于圖像統(tǒng)計(jì)特性的信息:(1)SKIP模式被使用的概率相當(dāng)高,特別是那些類(lèi)似于視頻通信應(yīng)用的圖像序列,如Claire、News等序列。這表明對(duì)這些圖像進(jìn)行編碼時(shí)如果能夠盡早確定是否采用SKIP模式,將使模式?jīng)Q策過(guò)程所需的時(shí)間大大減少。(2)P幀中的宏塊使用幀內(nèi)預(yù)測(cè)編碼模式(表中INTRA列)的概率很低,所以對(duì)P幀中的宏塊不采用幀內(nèi)模式對(duì)編碼質(zhì)量不會(huì)產(chǎn)生大的影響。(3)對(duì)于8×8的子塊采用8×4、4×8、4×4 3種子模式的概率較低,特別是在那些類(lèi)似于視頻通信應(yīng)用的序列中,這3種子模式被使用的概率只有1%左右,而含有許多運(yùn)動(dòng)成分的圖像序列使用這3種子模式的概率大約是2%~10%。由于算法主要針對(duì)小尺寸視頻圖像在移動(dòng)終端設(shè)備中的應(yīng)用,為了大幅度降低算法復(fù)雜度可以去掉這3種子模式。
?
3.2 幀間模式?jīng)Q策算法的快速實(shí)現(xiàn)
??? 通過(guò)分析,本文提出一種快速模式?jīng)Q策算法的實(shí)現(xiàn)方法。具體步驟如下。
??? 第1步:計(jì)算編碼宏塊SKIP模式的RDC值JSKIP并與閾值TSKIP比較,若小于閾值則表示SKIP模式為最佳模式,模式?jīng)Q策過(guò)程結(jié)束;否則,到第2步。其中閾值TSKIP的確定方法是根據(jù)經(jīng)驗(yàn)確定一個(gè)比較小的初值,在編碼過(guò)程中利用所有用SKIP模式編碼的已編碼宏塊的RDC值的均值動(dòng)態(tài)改變它。
??? 第2步:計(jì)算16×16模式的RDC值J16×16和16×8模式的代價(jià)函數(shù)值J16×8,若J16×8-J16×16≥T16,則表示隨著運(yùn)動(dòng)估計(jì)塊的變小,宏塊RDC值增大的趨勢(shì)已經(jīng)明顯,所以設(shè)16×16模式為最佳模式,模式?jīng)Q策過(guò)程結(jié)束;否則,到第3步。其中閾值T16的確定方法與第1步中TSKIP的確定方法類(lèi)似。
??? 第3步:計(jì)算8×16模式的RDC值J8×16,若J8×16-J16×16≥T16,則根據(jù)與第2步相同的原因,設(shè)16×16模式為最佳模式,模式?jīng)Q策過(guò)程結(jié)束;若J16×8-J16×16≥T16且J8×16-J16×16≥T8,也可認(rèn)為隨著運(yùn)動(dòng)估計(jì)塊的變小,宏塊RDC值有增大趨勢(shì),所以設(shè)16×16模式為最佳模式,模式?jīng)Q策過(guò)程結(jié)束;若J8×16
??? 第4步:計(jì)算8×8模式的RDC值J8×8,并與上面得到的各種模式的值進(jìn)行比較,得到最佳模式。
3.3 幀內(nèi)模式?jīng)Q策算法的快速實(shí)現(xiàn)
??? 關(guān)于幀內(nèi)預(yù)測(cè)模式?jīng)Q策算法的快速實(shí)現(xiàn),本文提出的方法的核心思想是利用反映圖像空間特性的原始圖像和預(yù)測(cè)圖像在變換域中的絕對(duì)差值之和(SATD)與JMODE值之間的相關(guān)性,減少需要RDC計(jì)算的候選模式的數(shù)量。SATD定義如下:
???
式中I(x,y)表示原始圖像值,P(x,y)表示預(yù)測(cè)圖像值,T{}表示Hadamard變換,bk表示取值范圍,即塊的大小。
??? 方法的具體步驟是:(1)計(jì)算每個(gè)4×4子塊基于4×4預(yù)測(cè)模式的可能預(yù)測(cè)方向上的SATD值。(2)選擇具有最小SATD值的3個(gè)模式進(jìn)行RDC值的計(jì)算,如果由相鄰的已編碼塊得出的最可能模式?jīng)]有被包含其中,則還要計(jì)算這種模式的RDC值。(3)選出具有最小RDC值的模式為4×4子塊的最佳模式。對(duì)基于8×8塊的預(yù)測(cè)模式的選擇采用同樣的辦法。
4? 仿真結(jié)果
??? 根據(jù)本文提出的方法,修改軟件JM9.3的相應(yīng)部分,并對(duì)8個(gè)格式為CIF和QCIF的圖像序列進(jìn)行了編碼仿真。具體的仿真環(huán)境:編碼幀數(shù)為100,參考幀數(shù)為5,序列形式為IPPP,固定的量化系數(shù)(28、38),CAVLC熵編碼。此外,采用JM軟件默認(rèn)的運(yùn)動(dòng)估計(jì)算法,搜索范圍為16。本方法的仿真結(jié)果如表2所示。表中ΔPSNR-Y表示本方法與原算法編碼圖像亮度信號(hào)之間的PSNR差值,ΔBitrate表示比特的增加比率,Speed Up表示編碼時(shí)間的減少比率。仿真結(jié)果表明,本方法雖然使得圖像質(zhì)量有所下降,但明顯減少了編碼時(shí)間。
?
5? 結(jié)束語(yǔ)
??? 本文提出的H.264模式?jīng)Q策算法的快速實(shí)現(xiàn)方法,有效利用了圖像序列和編碼模式的統(tǒng)計(jì)特性和空間特性。因此,本方法能夠在編碼質(zhì)量下降不多的情況下,大幅度地降低編碼時(shí)間和算法復(fù)雜度,使H.264協(xié)議更適于移動(dòng)終端設(shè)備的視頻通信應(yīng)用。下一步的工作重點(diǎn)是改進(jìn)運(yùn)動(dòng)估計(jì)的搜索算法,擬采用自適應(yīng)路徑搜索算法(Adaptive Root Pattern Search,ARPS),以及整個(gè)決策算法的硬件實(shí)現(xiàn)和仿真。
參考文獻(xiàn)
1?? Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification.ITU-T Rec.H.264 | ISO/IEC 14496-10 AVC,2003
2?? Wiegand T,Sullivan G J,Bjontegaard G et al.Overview of H.264 Video Coding Standartd.IEEE Trans on Circuits?and Systems for Video Technology,2003;13(7)
3?? Wu D,Wu S,Lim K P et al.Block Inter Mode Decision for Fast Encoding of H.264.In:IEEE Int′l Conference on?Speech Acoustics and Signal Processing,2004
4?? Yin P,Tourapis H Y,Tourapis A M et al.Fast Mode Decision and Motion Estimation for H.264.In:IEEE Int′l Conference on Image Processing,2003
5?? Tu Y,Yang J,Shen Y et al.Fast Variable-size Block Motion Estimation Using Merging Procedure with an Adaptive Threshold.In:IEEE Int′l Conference on Multimedia & Expo,Baltimore,Maryland,2003
6?? Kim C S,Shih H H,Kuo C J.Feature Based Intra-prediction Mode Decision for H.264.In:IEEE International Conference on Image Processing,2004