文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)04-0109-03
近年來,多媒體通信領(lǐng)域有了長足的發(fā)展,高效的視頻編碼標(biāo)準(zhǔn)是其中的關(guān)鍵因素。相較于傳統(tǒng)的編碼標(biāo)準(zhǔn),H.264視頻編碼標(biāo)準(zhǔn)在低比特率下提供了更高的編碼效率,然而其編碼復(fù)雜度也明顯增加[1]。目前在減少H.264視頻編碼計(jì)算復(fù)雜度方面,已有大量算法研究。這些算法側(cè)重于預(yù)測模式并提前終止預(yù)測,目的是減少總編碼時(shí)間,從而降低視頻編碼器的計(jì)算復(fù)雜度,但并不適于維持恒定幀編碼的實(shí)時(shí)應(yīng)用。
本文提出了一種減小H.264視頻編碼計(jì)算復(fù)雜度的快速模式?jīng)Q策算法。該方法以帕累托最優(yōu)宏塊定義和率失真代價(jià)模式預(yù)測指標(biāo)為基礎(chǔ),制定類決策指標(biāo),劃分宏塊類,優(yōu)化了已有的模式?jīng)Q策算法。同時(shí),提高了H.264視頻編碼器實(shí)時(shí)軟件編碼的效率。
1減小H.264編碼復(fù)雜度分析
通常對(duì)減少H.264標(biāo)準(zhǔn)復(fù)雜度的研究包括兩方面:非實(shí)時(shí)低復(fù)雜度算法和實(shí)時(shí)算法實(shí)現(xiàn)。
1.1 實(shí)時(shí)H.264編碼算法
實(shí)時(shí)編碼器要求保持恒定的幀編碼時(shí)間,有多種H.264編碼器實(shí)時(shí)動(dòng)態(tài)復(fù)雜度控制算法,如幀內(nèi)預(yù)測編碼算法[1]。該算法利用宏塊分割進(jìn)行邊界方向檢測,得到圖像紋理方向,只對(duì)最可能的幾種模式進(jìn)行預(yù)測,從而減少運(yùn)算量;另有算法根據(jù)時(shí)域和空域活動(dòng)指標(biāo)限制搜索模式,并考量拉格朗日參數(shù)以降低計(jì)算復(fù)雜度和率失真代價(jià)[2]。上述方法并不包含前向SKIP預(yù)測和幀緩沖技術(shù),導(dǎo)致計(jì)算復(fù)雜度高;而缺乏幀緩沖則意味著必須保守估計(jì)幀編碼時(shí)間,從而導(dǎo)致20%的時(shí)鐘周期閑置。
1.2 低復(fù)雜度H.264編碼
H.264編碼的關(guān)鍵創(chuàng)新是它提供了多達(dá)7種幀間編碼模式:16×16、16×8、8×16、8×8、8×4、4×8和4×4[3],從而獲得更準(zhǔn)確的預(yù)測和更高的編碼效率。
傳統(tǒng)模式?jīng)Q策算法分析了所有可能的宏塊類型,遍歷每種編碼模式,以選擇率失真代價(jià)最小的模式,運(yùn)算量極大。率失真代價(jià)J的計(jì)算公式為:
2.4 實(shí)驗(yàn)結(jié)果與分析
為考量本文算法的性能,從輸出碼率、總編碼時(shí)間和PSNR三方面,將其與H.264參考軟件JM10.2進(jìn)行比較。采用經(jīng)典視頻序列的前300幀進(jìn)行測試,測試條件:圖像大小為CIF,幀率為30 f/s,CABAC編碼,選用5個(gè)參考幀;編碼幀結(jié)構(gòu)QP為IBBP,打開率失真優(yōu)化。統(tǒng)計(jì)每個(gè)序列在QP為28、32、36和40時(shí)的輸出碼率BR、編碼時(shí)間t和PSNR,并按下述公式計(jì)算?駐BR、Δt和ΔPSNR,本文算法與JM10.2編碼性能參數(shù)的比較結(jié)果如表2所示。
Mobile視頻序列的率失真曲線如圖2所示。本算法的率失真曲線幾乎和參考編碼器的曲線一致。
本文算法在最低編碼效率損失的前提下顯著降低了復(fù)雜度。E指標(biāo)的最大值是5.21,而參考編碼器的E值約為10;本算法的率失真曲線幾乎和參考編碼器的曲線一致;視頻序列的總編碼時(shí)間減少了57.2%~70%。由于算法相對(duì)于原來的編碼器產(chǎn)生了略高的SKIP速率,導(dǎo)致低運(yùn)動(dòng)序列的比特率有所降低,PSNR存在0.08~0.26 dB的退化是合理的。
本文研究了實(shí)時(shí)H.264高效視頻編碼,對(duì)宏塊進(jìn)行了分類,將類決策算法與率失真代價(jià)指標(biāo)用于提前結(jié)束算法和前向SKIP預(yù)測,并給出了基于帕累托最優(yōu)宏塊分類的快速模式?jīng)Q策算法。該算法降低了H.264視頻編碼的總復(fù)雜度,減少了編碼時(shí)間。后續(xù)的工作包括改善宏塊類的J預(yù)測模型;優(yōu)化閾值的標(biāo)準(zhǔn),使用自適應(yīng)閾值進(jìn)一步改善類決策的精確度。
參考文獻(xiàn)
[1] 何宜寶,陳再秀,畢篤彥,等.利用邊緣方向檢測實(shí)現(xiàn)H.264幀內(nèi)預(yù)測編碼的新算法[J].西安電子科技大學(xué)學(xué)報(bào), 2009,36(6):1126-1131.
[2] 高蒿,陳耀武.基于紋理區(qū)域分割的SVC快速模式?jīng)Q策算法[J]. 計(jì)算機(jī)工程,2011,37(22):256-249.
[3] 王喆,劉貴忠,錢學(xué)明.一種高效的基于H.264/AVC壓縮域信息的全局運(yùn)動(dòng)估計(jì)方法[J].電子學(xué)報(bào),2011,39(3A):19-22.
[4] 王曉,鄧云,朱柳.一種低碼率下的H.264跳幀算法[J].計(jì)算機(jī)工程,2010,36(23),223-226.
[5] JING X, CHAU L P. Fast approach for H.264 inter mode decision[J]. Electronic Letters,2004,40(17):1050-1052.
[6] ZENG H, CAI C, MA K K. Fast mode decision for H.264/AVC based macroblock motion activity[J]. IEEE Transaction.on Circuits and System for Video Technology, 2009,19(1):1-11.
[7] 何輝.H.264的算法優(yōu)化[D].山東:山東大學(xué),2006:38-40.