馬力群,沈海虹,張其善,張益強(qiáng)
(1.北京航空航天大學(xué) 電子信息工程學(xué)院,北京 100083;2.中國(guó)航天員科研訓(xùn)練中心,北京 100094;3.中國(guó)地質(zhì)大學(xué) 地球物理與信息技術(shù)學(xué)院,北京 100083;4.空軍駐洛陽(yáng)軍事代表室,河南 洛陽(yáng) 471000)
H.264是由ITU和ISO聯(lián)合開(kāi)發(fā)并公布的最新的國(guó)際視頻壓縮標(biāo)準(zhǔn),與以往編碼標(biāo)準(zhǔn)明顯不同的是H.264采用了基于Lagrange優(yōu)化算法的編碼控制模型,其編碼性能相比以往的所有編碼標(biāo)準(zhǔn)有了重大提高[1].H.264碼率控制算法比經(jīng)典碼率控制算法要復(fù)雜,除了考慮緩沖區(qū)的充盈度和圖像復(fù)雜度外,還要考慮率-失真模型,并且運(yùn)動(dòng)估計(jì)中的運(yùn)動(dòng)矢量選擇及分塊模式的選擇都要執(zhí)行率-失真優(yōu)化(rate distortion optimization,RDO).目前的碼率控制主要是對(duì)幀層、宏塊層的比特?cái)?shù)分配進(jìn)行細(xì)致的處理[2-5],而且H.264已經(jīng)接納的幾個(gè)碼率控制技術(shù)提案如JVT-G012、JVT-H014、JVT-I049、JVT-O016以及相關(guān)研究等都采用了平均絕對(duì)誤差(mean absolute difference,MAD)線性預(yù)測(cè)模型與二次R-Q模型[6-9].其中,JVT-G012是一種經(jīng)典的H.264碼率控制算法提案.本文通過(guò)推導(dǎo)分析得知,在JVT-G012提案中,對(duì)Baseline profile下的GOP(group of picture)中剩余未編碼P幀分配目標(biāo)比特采用了平均分配比特的方式,而實(shí)際上P編碼的主要內(nèi)容是當(dāng)前幀與其預(yù)測(cè)幀之間的差值并經(jīng)過(guò)變換量化和熵編碼后的比特?cái)?shù).由于不同P幀壓縮出來(lái)的比特率是不同的,因而其預(yù)分配的比特也應(yīng)該是不同的.對(duì)于低目標(biāo)碼率下的碼率控制而言,這極易導(dǎo)致后續(xù)編碼幀的比特分配不能快速響應(yīng)幀間變化,進(jìn)而導(dǎo)致碼率控制與目標(biāo)比特偏差大,圖像質(zhì)量降低.針對(duì)上述問(wèn)題,本文提出了一種基于碼率緩沖回饋的碼率控制算法.該算法能快速對(duì)低目標(biāo)比特率下的碼率調(diào)整做出響應(yīng),減少了原碼率控制算法因調(diào)整當(dāng)前幀碼率而對(duì)后續(xù)編碼幀比特分配的影響.
H.264當(dāng)前幀的目標(biāo)比特f(ni,j)由基于緩沖占有量計(jì)算的比特~f(ni,j)和基于剩余未編碼幀計(jì)算的比特加權(quán)計(jì)算,即
其中:
編完GOP中第1個(gè)P幀后,復(fù)位目標(biāo)緩存級(jí)為T(mén)BL(ni,2)=Bc(ni,2),而B(niǎo)c(ni,2)是編完GOP中第1個(gè)P幀后的實(shí)際緩存占有.隨后各P幀的目標(biāo)緩存級(jí)(target buffer level,TBL)由下式確定:
式中:Sp和Sb是編碼相應(yīng)幀產(chǎn)生的比特?cái)?shù),Qp和Qb是相應(yīng)的量化參數(shù).因此
1)基于剩余未編碼幀的目標(biāo)比特率計(jì)算
2)基于緩沖占有量計(jì)算的比特
對(duì)于Baseline下IP,…,P結(jié)構(gòu)的序列,式(6)轉(zhuǎn)換為
P幀分配的目標(biāo)比特為
可以看出,未編碼P幀分配的目標(biāo)比特是采用均勻分配剩余目標(biāo)比特.在低目標(biāo)比特率下,如果相鄰幀之間差異大,后續(xù)幀目標(biāo)比特率分配也應(yīng)該有差異,否則,依據(jù)下面的二次R-Q模型:
式中:MAD為平均絕對(duì)誤差,Rreal=R-Rheader,為編碼碼流中除去編碼后信息之外的數(shù)據(jù)長(zhǎng)度.執(zhí)行碼率控制操作即根據(jù)分配的比特?cái)?shù)計(jì)算編碼操作的量化值Q.因此,均分比特意味著編碼過(guò)程中相同的量化值,而不同內(nèi)容、不同運(yùn)動(dòng)復(fù)雜度的幀、編碼基本單元或MB采用相同的Q量化操作必然導(dǎo)致壓縮后實(shí)際比特與目標(biāo)比特偏差較多,而這在面向低目標(biāo)碼率下的RC表現(xiàn)更顯著,本文試驗(yàn)部分的分析數(shù)據(jù)也直接證明了這一點(diǎn).
基于JVT-G012提案算法的分析,在進(jìn)行目標(biāo)比特分配時(shí)應(yīng)考慮實(shí)際編碼幀的差別以減小實(shí)際編碼比特率與目標(biāo)比特率的偏差.文獻(xiàn)[10]提出了一種基于單幀圖像質(zhì)量加權(quán)的視頻質(zhì)量評(píng)價(jià)模型,其中加權(quán)因子描述了視頻序列內(nèi)運(yùn)動(dòng)及場(chǎng)景變化的劇烈程度.平均絕對(duì)誤差MAD描述了視頻內(nèi)前后幀在時(shí)間上的距離,記作me.定義參數(shù)k對(duì)視頻運(yùn)動(dòng)信息進(jìn)行描述,有
令Vei=mei-mei-1,利用上述定義的參數(shù)對(duì)未編碼P幀的目標(biāo)比特分配進(jìn)行調(diào)節(jié):
Tth為試驗(yàn)門(mén)限數(shù)據(jù),用以表征運(yùn)動(dòng)活躍性是否已經(jīng)顯著.在JVT-G012中,編碼當(dāng)前幀后,當(dāng)前緩沖占有根據(jù)下式計(jì)算:
式中:nbits0是理想情況下編碼一幀所用的比特,即
而在低目標(biāo)比特率下,為了更有效和快速的抑制比特率波動(dòng),在進(jìn)行比特率回饋時(shí)給出了一種強(qiáng)化的回饋方式,即根據(jù)實(shí)際編碼幀所占比特和理想編碼幀所占比特的差異進(jìn)行緩沖回饋比特的調(diào)整,通過(guò)回饋比特能夠快速反映出當(dāng)前已經(jīng)發(fā)生了顯著的幀間變化,后續(xù)幀目標(biāo)比特分配也自動(dòng)據(jù)此做出相應(yīng)的調(diào)整,進(jìn)而保證最終編碼碼率與目標(biāo)比特率相近.具體如下:
利用常見(jiàn)的視頻序列采用JVT-G012提案方法,采用H.264參考代碼JM8.6中的碼率控制方法,將本文的方法與JVT-G012算法在低目標(biāo)碼率下的碼率控制結(jié)果進(jìn)行了比較,如表1~4.實(shí)驗(yàn)采用多視頻序列、多目標(biāo)碼率進(jìn)行測(cè)試,所有序列按IPP,..PP編碼,I幀間隔為30幀.基于低目標(biāo)比特率及甚低目標(biāo)比特率要求,實(shí)驗(yàn)采用QCIF序列在24 kb/s(甚低比特率),32 kb/s,64 kb/s和96 kb/s下進(jìn)行測(cè)試.試驗(yàn)結(jié)果證明了本文所提出的算法能夠有效減少實(shí)際編碼比特率與目標(biāo)比特率的偏差并取得了不錯(cuò)的PSNR,也進(jìn)一步說(shuō)明該算法在面向低目標(biāo)比特率及甚低目標(biāo)比特率編碼時(shí)能在保持圖像質(zhì)量的同時(shí)有效抑制碼率波動(dòng)的偏差.為了全面綜合比較本文算法與JVT-G012提案,對(duì)較高比特率下的碼率控制結(jié)果也進(jìn)行了比較.
表1 24 kb/s QCIF測(cè)試序列碼率控制輸出結(jié)果Table 1 The results of bit rate control with 24 kb/s QCIF sequences
表2 32 kb/s QCIF測(cè)試序列碼率控制輸出結(jié)果Table 2 The results of bit rate control with 32 kb/s QCIF sequences
表3 64 kb/s QCIF測(cè)試序列碼率控制輸出結(jié)果Table 3 The results of bit rate control with 64 kb/s QCIF sequences
表4 96 kb/s QCIF測(cè)試序列碼率控制輸出結(jié)果Table 4 The results of bit rate control with 96 kb/s QCIF sequences
從實(shí)驗(yàn)結(jié)果可以看出,本文算法在低目標(biāo)比特率下Y分量的PSNR明顯高于原RC算法(雖然本文在色差分量即UV上PSNR降低,但就影響人眼視覺(jué)因素而言,Y分量比UV更重要,而且節(jié)約比特約10%).在較高目標(biāo)比特率時(shí),本文算法與JVTG012算法相比取得了相近的結(jié)果,但在低目標(biāo)比特率下,在PSNR比較接近的情況下,本文算法的比特率略有降低,降低約2%.因此,相比JVT-G012算法而言,本文提供的算法能有效的支持低目標(biāo)比特率下碼率控制,取得理想的碼率控制結(jié)果和圖像質(zhì)量.另外,本文碼率控制部分涉及的MAD信息不需要額外計(jì)算,只需要在編碼過(guò)程中進(jìn)行運(yùn)動(dòng)估計(jì)時(shí)保留SAD信息即可,MAD可由SAD計(jì)算,因此,本文提出的碼率控制算法幾乎沒(méi)有增加算法復(fù)雜度.
本文提出了一種面向低目標(biāo)碼率的碼率控制算法,一方面將視頻序列運(yùn)動(dòng)及場(chǎng)景變化劇烈程度描述因子引入碼率控制過(guò)程中的幀比特分配,另一方面采用了強(qiáng)化緩沖回饋方式,有效地對(duì)低目標(biāo)比特率下的碼率調(diào)整做出響應(yīng),減少了原碼率控制算法因調(diào)整當(dāng)前幀碼率而對(duì)后續(xù)編碼幀比特分配的影響.該算法可廣泛適用于低目標(biāo)碼率下的視頻碼率控制,并作為JVT-G012碼率控制算法在低碼率下的替代算法.本文提出的算法主要是針對(duì)低目標(biāo)碼率及甚低目標(biāo)碼率要求,比特分配調(diào)整主要在幀層,而宏塊層的比特調(diào)整將會(huì)進(jìn)一步提高碼率控制的精度,這也將是后續(xù)研究的內(nèi)容.另外,在其他格式視頻及目標(biāo)碼率下算法的測(cè)試和驗(yàn)證也是進(jìn)一步研究的內(nèi)容.
致謝
感謝北京航空航天大學(xué)佟雨兵博士與本文作者就有關(guān)問(wèn)題的有益探討.
[1]GARY S.The H.264/AVC video coding standard and its deployment status and future developments[C]//Proc in VCIP.Beijing,2005:709-719.
[2]MA Siwei,GAO Wen.Rate control for H.264/AVC video coding standard[J].Acta Electronica Sinica,2004,32 (12):2024-2027.
[3]XU Jianfeng,HE Yun.A novel rate control for H.264[C]//Proceedings of the 2004 International Symposium on Circuits and Systems.Vancouver,Canada,2004:809-812.
[4]LIM C S.Verification of JVT-G012[DB/OL].(2010-01-05).http://wftp3.itu.int/av-arch/jvt-site/2003_03_ Pattaya/JVT-G020.doc.
[5]JIAN Mingqiang,YI Xiaoquan.Improved frame-layer rate control for H.264 Using MAD ratio[C]//Proceedings of the 2004 International Symposium on Circuits and Systems.Vancouver,Canada,2004:813-816.
[6]LI Zhengguo,GAO Wen,PAN Feng.Adaptive rate control with HRD consideration[DB/OL].[2010-01-05].http://www.asicfpga.com/site_upgrade/asicfpga/pds/image _pds_files/JVT-H014.doc.
[7]GARY S.Joint model reference encoding methods and decoding concealment methods[DB/OL].[2010-01-05].http://wftp3.itu.int/av-arch/jvt-site/2003_09_SanDiego/ JVT-I049d0.doc.
[8]YUAN Wu,LIN Shouxun,ZHANG Yongdong.Optimum bit allocation and rate control for H.264/AVC[DB/OL].[2010-01-05].http://wftp3.itu.int/av-arch/jvt-site/ 2005_04_Busan/JVT-O016.doc.
[9]JIANG Minqiang,LING Nam.On lagrange multiplier and quantizer adjustment for H.264 frame-layer video rate control[J].IEEE Trans on Circuit Syst for Video Technol,2006,16(5):663-669.
[10]CHANG Qing,TONG Yubing.Video quality assessing model based on single image quality with different weights[J].Journal of Beijing University of Aeronautics and Astronautics,2007,33(3):311-314.