嚴(yán)濤
九江學(xué)院 信息科學(xué)與技術(shù)學(xué)院,江西 九江 332005
基于相關(guān)性分析的MVC比特分配算法
嚴(yán)濤
九江學(xué)院 信息科學(xué)與技術(shù)學(xué)院,江西 九江 332005
隨著數(shù)字視頻的迅速發(fā)展和廣泛應(yīng)用,人們對(duì)視頻的質(zhì)量和內(nèi)容的多樣性要求越來(lái)越高,傳統(tǒng)的2D圖像己不能滿足要求,因此,人們已將目光轉(zhuǎn)向3D視頻技術(shù)。3DTV/FTV(三維電視/自由視點(diǎn)電視)將成為繼高清晰度電視(HDTV)之后的下一代電視技術(shù)[1-2]。但其中多視點(diǎn)視頻編碼(Multi-view Video Coding,MVC)還不成熟,離應(yīng)用還有較長(zhǎng)距離,尤其是MVC的比特分配與碼率控制是面向傳輸和應(yīng)用的關(guān)鍵問(wèn)題。
在實(shí)際應(yīng)用中,碼率控制是主要關(guān)鍵技術(shù)之一,它是視頻編碼中非常重要的技術(shù)之一,任何視頻壓縮標(biāo)準(zhǔn)離開(kāi)碼率控制其應(yīng)用都會(huì)受到限制。以往的視頻壓縮標(biāo)準(zhǔn)如MPEG-2[3]、MPEG-4[4]、H.263[5]、H.264[6]等已給出碼率控制模型,與以往的視頻壓縮標(biāo)準(zhǔn)的碼率控制相比,MVC的碼率控制主要是在各個(gè)視點(diǎn)之間進(jìn)行合理的碼率分配,以保證視點(diǎn)間視頻質(zhì)量的均衡性。
Natio和Matsumoto[7]在立體視頻編碼的碼率控制算法中,對(duì)左右兩個(gè)視點(diǎn)的碼流采用了統(tǒng)一的緩沖區(qū),然后使用MPEG-2的碼率控制模型TM5進(jìn)行碼流速率的控制。但由于在多視點(diǎn)視頻編碼中,隨著編碼圖像類(lèi)型的增多,此種基于TM5的目標(biāo)比特?cái)?shù)分配的準(zhǔn)確率會(huì)變差。Woo W.等人基于率失真理論研究了立體視頻編碼中的最佳比特分配問(wèn)題,提出了最優(yōu)比特分配的算法[8],但復(fù)雜度高、計(jì)算量大,在實(shí)際應(yīng)用中不具有可操作性。且多視點(diǎn)視頻遠(yuǎn)多于兩個(gè)以上視頻,其比特分配和碼率控制更加復(fù)雜。因此也不能沿用兩個(gè)視點(diǎn)的立體視頻的碼率控制模型。韓國(guó)Seanae Park等[9]考慮多視點(diǎn)視頻編碼中采用分層B-幀的影響,在JM12.0基礎(chǔ)上對(duì)多視點(diǎn)視頻編碼進(jìn)行碼率控制,能保持高效的編碼效率,但碼率控制偏差比較大,平均碼率控制誤差在1%以上,很難滿足應(yīng)用的需求。陳建樂(lè)提出一種基于二次信源模型的多視點(diǎn)視頻編碼的碼率控制算法[10],該算法為每個(gè)視頻的編碼圖像建立獨(dú)立的二次信源模型,但是該算法復(fù)雜度高,計(jì)算大,在實(shí)際應(yīng)用中不具有可操作性。之前研究成果文獻(xiàn)[11-12],各個(gè)視點(diǎn)獨(dú)立比特分配,沒(méi)有利用多視點(diǎn)視頻相關(guān)性,為此,本文進(jìn)一步研究高效的多視點(diǎn)視頻編碼碼率控制算法。
本文以JMVC為基礎(chǔ),增加了多視點(diǎn)視頻碼率控制模塊。算法的核心是在分析現(xiàn)有視頻碼率控制算法的基礎(chǔ)上,根據(jù)多視點(diǎn)視頻編碼的特點(diǎn)和其碼率控制的要求,改進(jìn)傳統(tǒng)的二次率失真模型,提出一種面向多視點(diǎn)視頻基本單元層的碼率控制算法。實(shí)驗(yàn)仿真結(jié)果表明,與目前采用固定量化參數(shù)的JMVC[13]相比,本文算法能夠有效地控制多視點(diǎn)視頻編碼的碼率,同時(shí)保持高效的編碼效率。
為與H.264兼容,本文提出的比特分配與碼率控制是以JVT-G012的碼率控制算法為基礎(chǔ)。碼率模型采用之前研究成果文獻(xiàn)[14]。MVC的碼率控制算法分為四層,其中,GOP碼率控制主要是根據(jù)視點(diǎn)間相關(guān)性在各個(gè)視點(diǎn)之間進(jìn)行合理的碼率分配,幀層碼率控制主要是考慮分層B幀的影響分配碼率,基本單元層碼率控制根據(jù)宏塊的內(nèi)容復(fù)雜度采用不同的量化參數(shù)。主要算法如下:
2.1 視點(diǎn)間比特分配
編碼之前視點(diǎn)間比特很難分配,本文根據(jù)視點(diǎn)間的相關(guān)性在不同視點(diǎn)合理的分配比特。用權(quán)重wk表示視點(diǎn)k的重要程度,wk越大表明該視點(diǎn)越重要。在GGOP內(nèi)第k個(gè)視點(diǎn)GOPk分配到的比特總數(shù)由式(1)給出:
其中,S0表示I視點(diǎn),作為其他視點(diǎn)的參考視點(diǎn),Nview表示視點(diǎn)的數(shù)目。
在編碼完成每個(gè)GGOP后,需在編碼后階段進(jìn)行刷新。利用了之前編碼部分的碼率分配結(jié)果進(jìn)行不斷更新。 AGGOP(sni,0)表示編碼第i個(gè)GGOP實(shí)際消耗的比特?cái)?shù),AGOP(nk-1,0)表示編碼第i個(gè)GGOP的第k-1個(gè)GOP實(shí)際消耗的比特?cái)?shù),則wk-1由式(3)給出:
本文用編碼前一個(gè)GGOP視點(diǎn)的權(quán)重預(yù)測(cè)編碼當(dāng)前視點(diǎn)的權(quán)重。wk線性預(yù)測(cè)模型為:
其中 αk1和αk2為一元回歸系數(shù),初值設(shè)為1和0,在每個(gè)GGOP幀編碼完成后,需在編碼后階段進(jìn)行刷新。
2.2 幀層比特分配
MVC六種不同幀類(lèi)型:幀內(nèi)編碼(I幀)、只有時(shí)間方向單向預(yù)測(cè)、只有時(shí)間方向雙向預(yù)測(cè)、只有視點(diǎn)間單向預(yù)測(cè)、只有視點(diǎn)間雙向預(yù)測(cè)、既有時(shí)間又有視點(diǎn)間預(yù)測(cè)。
對(duì)于每個(gè)GGOP中的第一個(gè)GOP的I幀和第一個(gè)B幀以及其他GOP的第一個(gè)P幀用QP0來(lái)編碼,不需要分配目標(biāo)比特,其他B幀(或P幀)目標(biāo)分配比特T(j)由Tr和Tbuf加權(quán)分配:
其中β是定值,當(dāng)沒(méi)有B幀時(shí)它的典型值為0.5,有B幀時(shí)為0.9;式中當(dāng)前幀的Tbuf分配依賴于當(dāng)前的目標(biāo)緩沖區(qū)滿溢度Tbl,類(lèi)似文獻(xiàn)[15]的方法有:
其中λ是定值,當(dāng)沒(méi)有B幀時(shí)它的典型值是0.75,否則為0.25。n代表當(dāng)前幀所在的時(shí)間層,W(l)代表每幀復(fù)雜度的權(quán)重,WB(l)代表B幀的權(quán)重,取值方式見(jiàn)文獻(xiàn)[15]。
式(5)中當(dāng)前幀的Tr分配:
式中,TGOP(nk,j)為當(dāng)前GOP剩余的比特,Wb(nk,j)表示當(dāng)前幀的權(quán)重。Wb(n1,j)(j=1,2,…,N(i))的初值設(shè)為1,在編碼完成每個(gè)GOP后,需在編碼后階段進(jìn)行刷新。設(shè)AGOP(nk-1,0)表示編碼第i個(gè)GGOP的第k-1個(gè)GOP實(shí)際使用的比特?cái)?shù),A(j)表示編碼其中第 j幀實(shí)際使用的比特?cái)?shù),則當(dāng)前幀的權(quán)重Wb(nk-1,j)(j=1,2,…,N(i))由式(8)給出:
其中βk1和βk2為一元回歸系數(shù),初值設(shè)為1和0,在每個(gè)GOP編碼完成后,需在編碼后階段進(jìn)行刷新。TGGOP(sni,j)表示編碼完第i個(gè)GGOP的第 j幀后GGOP的剩余比特?cái)?shù)。
編碼完一幀后,其值由式(10)更新:
其中,A(sni,j-1)表示編碼第i個(gè)GGOP的第 j-1幀實(shí)際使用的比特?cái)?shù)。
2.3 基本控制比特分配
由JVT-G012算法流程可知,該算法在基本單元碼率控制比較簡(jiǎn)單,把每幀所分配的比特平均分給該幀的每個(gè)基本單元層,同一基本單元中的不同宏塊用相同的量化值進(jìn)行編碼。實(shí)際上,同一基本單元中的宏塊在內(nèi)容復(fù)雜度上也有很大的差別。因此,有必要在宏塊層進(jìn)行碼率控制,從而進(jìn)一步提高碼率控制的準(zhǔn)確性和圖像質(zhì)量。為此,同一基本單元中的不同宏塊,根據(jù)其內(nèi)容復(fù)雜度采用不同的量化參數(shù),定義如下:
其中,QPunit,QPmbi分別為當(dāng)前基本單元的量化參數(shù)和當(dāng)前基本單元中第i個(gè)宏塊的量化參數(shù);MADunit,MADmbi分別為當(dāng)前基本單元的MAD的預(yù)測(cè)值和當(dāng)前基本單元中第i個(gè)宏塊的MAD的預(yù)測(cè)值。
表1 多視點(diǎn)視頻編碼碼率控制的仿真結(jié)果
為了檢驗(yàn)提出的多視點(diǎn)視頻編碼的比特分配與碼率控制算法的有效性,本文用KDDI和Nagoya University/ Tanimoto Lab提供的測(cè)試序列Vassar1、Jungle、Akko&Kayo、Flamenco2以及Rena進(jìn)行實(shí)驗(yàn)分析。測(cè)試平臺(tái)為Intel?CoreTMDuo CPU 2.66 GHz(雙),1.96 GB內(nèi)存。表1列出所提出的基于相關(guān)性分析的目標(biāo)比特分配方案的仿真結(jié)果。
在JVT提供的多視點(diǎn)視頻編碼系統(tǒng)平臺(tái)上[13],比較了本文碼率控制算法、文獻(xiàn)[9]以及文獻(xiàn)[11]三種方案的編碼性能。無(wú)碼率控制的JMVC算法采用固定量化值進(jìn)行多視點(diǎn)視頻編碼。采用固定量化值時(shí)得到的碼率作為碼率控制算法的目標(biāo)碼率。
如圖1所示,本文的方法實(shí)際碼率能很好地跟蹤目標(biāo)碼率。表1給出了多視點(diǎn)視頻編碼的碼率控制的仿真結(jié)果,從表1可見(jiàn),本文的碼率控制算法與文獻(xiàn)[9]和文獻(xiàn)[11]相比,碼率偏差較小,碼率誤差能控制在0.6%。這主要原因是不僅在視點(diǎn)之間進(jìn)行合理的比特分配,而且在基本單元層根據(jù)宏塊的內(nèi)容復(fù)雜度采用不同的量化參數(shù)進(jìn)行碼率控制。
圖1 目標(biāo)碼率跟蹤圖
本文在前期研究工作的基礎(chǔ)上,提出了基于相關(guān)性分析的多視點(diǎn)視頻編碼碼率控制算法。視點(diǎn)層碼率控制主要是根據(jù)視點(diǎn)間相關(guān)性在各個(gè)視點(diǎn)之間進(jìn)行合理的碼率分配,幀層碼率控制主要是考慮分層B幀的影響分配碼率,基本單元層碼率控制根據(jù)宏塊的內(nèi)容復(fù)雜度采用不同的量化參數(shù)。該碼率控制算法實(shí)際碼率與目標(biāo)碼率平均誤差能控制0.6%。在此基礎(chǔ)上擬重點(diǎn)突破如何將H.264/ AVC碼率控制二項(xiàng)式模型中核心模塊的MAD預(yù)測(cè)擴(kuò)展至可切換的MAD預(yù)測(cè)及如何建立視間和時(shí)間層目標(biāo)比特分配模型,為不同視點(diǎn)提供盡可能均衡的視覺(jué)質(zhì)量。
[1]Kubota A,Smolic A,Magnor M,et al.Multi-view imaging and3DTV[J].IEEE SignalProcessingMagazine,2007,11(4):10-21.
[2]Ishfaq A.Multi-view video:get ready for next-generation television[J].IEEE Distributed Systems Online,2007,8(3):1-5.
[3]ISO/IEC JTC1/SC29/WG11,MPEG 2 test model 5[Z].1993.
[4]Pan F,Li Z G,Lim K.A study of MPEG-4 rate control scheme and its implementations[J].IEEE Transactions on Circuits and System for Video Technology,2003,13(5):440-446.
[5]ITU-T SG16,Video codec test model,near-term,version 8(TMN8)[Z].1997.
[6]Li Z G,Pan F,Lim K P,et al.Adaptive basic unit layer rate controlfor JVT[C]//7th Meeting,Pattaya,Thailand,2003:7-14.
[7]Naito S,Matsumoto S.34/35 Mbps 3D-HDTV digital codingschemeusingamodifiedmotioncompensationwith disparity vectors[C]//VCIP,USA,1999:1082-1089.
[8]Woo W,Ortega A.Optimal blockwise dependent quantization for stereo image coding[J].IEEE Transactions on Circuits and Systems for Video Technology,1999,9(6):861-867.
[9]Park S,Sim D.An efficient rate-control algorithm for multiview video coding[C]//The 13th IEEE International Symposium on Consumer Electronics,Kyoto,Japan,2009:115-118.
[10]陳建樂(lè).多視點(diǎn)視頻編碼方法的研究[D].杭州:浙江大學(xué),2006.
[11]嚴(yán)濤,安平,沈禮權(quán),等.基于二項(xiàng)式R-D模型的多視點(diǎn)視頻碼率控制算法[J].高技術(shù)通訊,2010,20(5):481-486.
[12]Yan T,Shen L Q,An P,et al.Frame-layer rate control algorithm for multi-view video coding[C]//Proceedings of the 1st ACM/SIGEVO Summit on Genetic and Evolutionary Computation,Shanghai,China,2009:1025-1028.
[13]Joint Video Team of ITU-T VCEG and ISO/IEC MPEG. WD 1referencesoftwareforMVC(JMVC) 1.0,Doc. JVT-AA212[Z].2008.
[14]嚴(yán)濤.多視點(diǎn)視頻編碼及碼率控制的研究[D].上海:上海大學(xué),2010.
[15]Yang J,F(xiàn)ang X Z,Xiong H K.A joint rate control scheme for H.264 encoding of multiple video sequences[J].IEEE Transactions on Consumer Electronics,2005,51(2):7-14.
YAN Tao
School of Information Science and Technology,Jiujiang University,Jiujiang,Jiangxi 332005,China
Current multi-view Video Coding(MVC)reference model in Joint Video Team(JVT)does not provide efficient rate control schemes,this paper proposes a rate control algorithm for MVC based on correlation analysis.The proposed algorithm classifies each picture into six frame types based on the relation between disparity prediction and temporal prediction estimation and also improves the estimation accuracy of the Mean Absolute Difference(MAD).The proposed algorithm consists of four levels to control the rate bits more accurately.This paper reasonably allocates bit-rate among views based on the correlation analysis. In a frame layer,it performs bit allocation according to the hierarchical B-frame.In a basic unit layer,it selects quantization parameter adaptively according to the content complexity of the macroblock.Compared to the multi-view video coding with fixed quantization parameter,the proposed scheme efficiently controls the bit rate with an average rate control error of 0.6%.
Multi-view Video Coding(MVC);rate-control;bit-allocation;rate-distortion model;basic unit layer
針對(duì)目前尚未深入研究多視點(diǎn)視頻編碼(Multi-view Video Coding,MVC)碼率控制的問(wèn)題,提出了一種基于相關(guān)性分析的多視點(diǎn)視頻編碼碼率控制算法。該算法的核心是先根據(jù)視差預(yù)測(cè)和運(yùn)動(dòng)預(yù)測(cè)的結(jié)構(gòu)關(guān)系,將所有圖像分成6種類(lèi)型的編碼幀,并改進(jìn)二項(xiàng)式率失真模型,然后根據(jù)多視點(diǎn)視頻相關(guān)性分析在各個(gè)視點(diǎn)之間進(jìn)行合理的碼率分配,將碼率控制分成4層結(jié)構(gòu)進(jìn)行多視點(diǎn)視頻編碼的碼率控制。其中,幀層碼率控制考慮分層B幀等因素分配碼率,基本單元層碼率控制根據(jù)宏塊的內(nèi)容復(fù)雜度采用不同的量化參數(shù)。實(shí)驗(yàn)結(jié)果表明該碼率控制算法實(shí)際碼率與目標(biāo)碼率平均誤差能控制0.6%。關(guān)鍵詞:多視點(diǎn)視頻編碼;碼率控制;比特分配;率失真模型;基本單元層
A
TP391.41
10.3778/j.issn.1002-8331.1305-0016
YAN Tao.Bit allocation algorithm for multi-view video coding based on correlation analysis.Computer Engineering and Applications,2013,49(23):24-26.
國(guó)家自然科學(xué)基金項(xiàng)目(No.61362032);江西省自然科學(xué)基金資助項(xiàng)目(No.20132BAB211025,No.20114BAB211022);江西省教育廳資助科研項(xiàng)目(No.GJJ13716,No.GJJ12614);教育部人文社科研究項(xiàng)目(No.13YJC870007)。
嚴(yán)濤(1981—),男,博士,講師,研究領(lǐng)域?yàn)槿S視頻處理及碼率控制。E-mail:yantaoshu@yahoo.com.cn
2013-05-07
2013-06-17
1002-8331(2013)23-0024-03
CNKI出版日期:2013-06-27 http://www.cnki.net/kcms/detail/11.2127.TP.20130627.1102.003.html