摘 要: 分布式視頻編碼系統(tǒng)中,現(xiàn)有碼率控制方法大致分兩類,一種是基于反饋信道,另一種是基于無反饋信道。基于反饋信道碼率控制算法雖然可以獲得較高的解碼質(zhì)量,但是時延大;相反,無反饋信道碼率控制算法時延小、實(shí)時性高,但是有損解碼質(zhì)量。為解決這一矛盾,闡述一種混合碼率控制算法,即在編碼端先估計出較小的碼率,當(dāng)解碼失敗時,解碼端才利用反饋信道向編碼端請求更多的校驗(yàn)比特直到解碼成功。實(shí)驗(yàn)結(jié)果表明,在相同目標(biāo)碼率下,與有反饋碼率控制算法相比,該算法所需反饋次數(shù)有所減少;與現(xiàn)有無反饋碼率控制算法相比,對于不同視頻序列解碼幀的峰值信噪比均有不同程度的提高。
關(guān)鍵詞: 分布式視頻編碼;碼率控制;Wyner-Ziv編碼;反饋信道
0 引言
隨著無線多媒體技術(shù)的日益發(fā)展,目前出現(xiàn)的一些新興應(yīng)用場合由于其計算能力和存儲能力有限,都要求低復(fù)雜度的編碼。這些應(yīng)用場合包括無線攝像機(jī)、低功率監(jiān)視器、移動視頻會議等。分布式視頻編碼(Distributed Video Coding,DVC)系統(tǒng)是為解決上述問題而提出的一種新型的編碼方案。分布式視頻編碼的理論基礎(chǔ)是20世紀(jì)70年代提出的兩個信息理論:Slepian-Wolf定理[1]和Wyner-Ziv定理[2],其采用幀內(nèi)編碼幀間解碼的思想,將復(fù)雜的運(yùn)動估計和運(yùn)動補(bǔ)償?shù)燃夹g(shù)放到解碼端實(shí)現(xiàn),從而降低了編碼端復(fù)雜度。
DVC方案因其可靈活分配視頻編解碼器的復(fù)雜度,壓縮效率高,抗差錯性能強(qiáng)的優(yōu)勢,已經(jīng)成為國內(nèi)外學(xué)術(shù)界的研究熱點(diǎn),其中碼率控制也是研究熱點(diǎn)之一。碼率控制的目的是通過調(diào)節(jié)編碼參數(shù)控制單位時間內(nèi)傳輸?shù)浇獯a端的視頻流,從而使傳輸?shù)谋忍芈誓軌蜻m應(yīng)應(yīng)用需求。如果編碼端傳輸?shù)谋忍芈蔬^大,解碼端可能來不及做處理,此時就會出現(xiàn)丟包等現(xiàn)象;比特率太小會造成時間的浪費(fèi),資源的利用率降低。因此,合理的碼率是視頻壓縮方案需要考慮的問題。目前分布式視頻碼率控制方案主要分兩大類,一種基于反饋信道,另一種基于無反饋信道?;诜答佇诺赖拇a率控制算法是利用反饋信道,解碼端可以告知編碼端解碼情況,如果不成功,編碼端會向解碼端傳遞更多的校驗(yàn)比特,直到解碼成功為止。雖然利用反饋信道可以較好地控制碼率,解碼端可以獲得比較穩(wěn)定的視頻流,但是解碼端需要多次向編碼端請求校驗(yàn)比特,時間開銷大,從而限制了分布視頻編碼方案在一些實(shí)時性要求比較高的場合下的使用。基于無反饋信道的碼率控制算法旨在解決無反饋信道下如何準(zhǔn)確地估計出碼率,其缺點(diǎn)是有損解碼質(zhì)量,可能造成視頻不穩(wěn)定等現(xiàn)象。為克服這一矛盾,本文在現(xiàn)有碼率控制算法的基礎(chǔ)上提出了一種混合碼率控制算法,即在編碼端先根據(jù)現(xiàn)有條件估計出一個碼率,如果在估計出的碼率條件下解碼失敗,解碼端可利用反饋信道向編碼端請求校驗(yàn)比特直到成功解碼。
1 Wyner-Ziv視頻編碼方案
為與現(xiàn)有算法進(jìn)行比較,本文選用比較典型的Discover Wyner-Ziv視頻編碼框架(以早期的斯坦福WZ視頻編解碼結(jié)構(gòu)[3]為基礎(chǔ)),并在此基礎(chǔ)上提出了改進(jìn),具體編解碼流程如圖1所示。圖1中陰影部分是本文在Wyner-Ziv視頻編碼框架上所做的改進(jìn),將在第3節(jié)詳細(xì)介紹。下面簡單介紹圖1編解碼過程。
?。?)編碼端。首先對WZ幀進(jìn)行4×4塊的離散余弦變換(DCT),根據(jù)每個DCT系數(shù)在4×4塊中的位置,將所有系數(shù)重組為系數(shù)帶CK,K=1,2,…,16;然后對CK進(jìn)行2MK級均勻量化,從量化后的符號流中提取比特平面,將比特平面送入LDPCA編碼器編碼,并將編碼生成的校驗(yàn)比特存儲在緩存器中。
?。?)解碼端。首先利用當(dāng)前幀前后兩個已解碼的關(guān)鍵幀產(chǎn)生邊信息,然后對邊信息進(jìn)行DCT變換得到WZ幀DCT系數(shù)的估計值;設(shè)原始WZ幀與邊信息之間的差值被當(dāng)作虛擬信道的噪聲,稱之為相關(guān)噪聲,它滿足拉普拉斯分布,由相關(guān)模型計算拉普拉斯參數(shù);一旦知道了邊信息的DCT變換系數(shù)和殘差的統(tǒng)計分布,LDPCA解碼器會利用接收到的校驗(yàn)位對邊信息比特面進(jìn)行LDPCA解碼,合并比特面形成量化后的系數(shù)帶;最后利用量化后的系數(shù)帶和邊信息系數(shù)帶重構(gòu)得到WZ幀系數(shù)帶,再進(jìn)行反變換(IDCT)得到解碼后的WZ幀。
2 混合碼率控制算法
本文編碼端碼率估計步驟如圖1中陰影部分所示,先在編碼端對邊信息進(jìn)行估計,再對邊信息與原始WZ幀的殘差建模,獲得拉普拉斯參數(shù),然后進(jìn)行碼率估計,分比特平面速率估計和每個比特的校驗(yàn)碼碼率估計。詳細(xì)步驟如下。
2.1 邊信息估計
設(shè)XB和XF分別表示當(dāng)前WZ幀的前后參考幀,為了降低Wyner-Ziv編碼器的計算復(fù)雜度,本文利用XB和XF的簡單加權(quán)平均來代替邊信息,即:
其中,=XF(u,v)/[XF(u,v)+XB(u,v)],為加權(quán)系數(shù);XB(u,v)和XF(u,v)分別為前后相鄰參考幀在坐標(biāo)(u,v)處的像素值。
2.2 殘差建模
設(shè)X是代表WZ幀的隨機(jī)變量,由式(1)得到的邊信息其實(shí)是原始WZ幀的一個估計值,因此可以看成是有噪聲污染的X,可用式(2)表示二者關(guān)系。
其中,Z表示原始WZ幀以及其估計值(邊信息)的殘差,即相關(guān)噪聲,服從拉普拉斯分布[4]。Z的概率密度函數(shù),為拉普拉斯參數(shù)。為進(jìn)行碼率控制,需要計算值。設(shè)殘差Z(u,v)=(u,v)-X(u,v),(u,v)為空間坐標(biāo),則可得到相關(guān)噪聲Z的方差z2,再由=可計算得到拉普拉斯參數(shù)。以上參數(shù)的估計主要考慮了時間相關(guān)性,而沒有考慮空間相關(guān)性。為使拉普拉斯參數(shù)在時間和空間上更好地適應(yīng)相關(guān)噪聲模型,本文采取下列思想對進(jìn)行修正。設(shè)D是WZ幀中當(dāng)前宏塊的周圍宏塊的像素值均值,本文的選取原則如下:
其中,E(Z)是相關(guān)噪聲的期望值。式(3)中第一種情況說明當(dāng)前塊與相鄰塊差距比較小,說明塊運(yùn)動不是很復(fù)雜,此時邊信息估計效果比較好。對于其他情況,直接由相關(guān)噪聲方差得到。仿真實(shí)驗(yàn)表明,同時考慮拉普拉斯參數(shù)的空時域相關(guān)性能較好地控制碼率。
2.3 碼率估計
為更好地控制碼率,獲得穩(wěn)定的視頻流且減少解碼端的請求次數(shù)和計算復(fù)雜度,本文的碼率估計分為兩部分,包括比特平面速率估計和每個比特平面的校驗(yàn)碼碼率估計。實(shí)驗(yàn)結(jié)果表明,本文的兩重估計方法在分布式視頻編碼碼率控制方面有較好的性能。
2.3.1 比特平面速率估計
比特平面速率估計指確定編碼端每秒傳送到解碼器的平面?zhèn)€數(shù),即對每個DCT系數(shù)構(gòu)成的比特平面進(jìn)行估計。由2.2節(jié)相關(guān)噪聲模型得到拉普拉斯參數(shù),圖1中WZ幀經(jīng)4x4 DCT變換,DCT系數(shù)經(jīng)均勻量化器后,則WZ幀的量化失真函數(shù)可用下式計算得到[5]。
其中,為拉普拉斯參數(shù),由2.2節(jié)得到;為量化步長且=2M-L-1,其中M為比特平面總數(shù),L即為一次需要傳送到解碼端的比特平面?zhèn)€數(shù),在給定失真度D和量化步長下,可計算得到比特平面速率L。
2.3.2 校驗(yàn)碼碼率估計
本文采用率失真函數(shù)估計每個比特平面的校驗(yàn)碼碼率。由分布式信源編碼的率失真模型可得出本文分布式系統(tǒng)的率失真模型如式(5)所示。
其中,X2是源信息的方差,D是量化失真,Z2是相關(guān)噪聲方差。在實(shí)際編解碼系統(tǒng)中,Z2遠(yuǎn)遠(yuǎn)小于X2[6],為降低編碼端的計算復(fù)雜度,可以簡化R(D),推導(dǎo)過程如下:
3 實(shí)驗(yàn)仿真結(jié)果與分析
本文選擇兩種標(biāo)準(zhǔn)視頻測試序列Soccer@30 Hz,Hall Monitor@15 Hz進(jìn)行測試。將其中的偶數(shù)幀作為關(guān)鍵幀K,奇數(shù)幀作為Wyner-Ziv幀,只對亮度分量進(jìn)行編碼,采用圖1編解碼框架。表1是不同測試序列在不同目標(biāo)碼率下,用本文碼率控制方法產(chǎn)生的實(shí)際碼率。從表中可以看出,本文碼率控制算法與實(shí)際碼率誤差平均小于 0.35%,可見本文算法能夠較好地控制碼率。
另外,與在圖1編碼框架中單純地利用反饋信道控制碼率算法相比,本文碼率控制算法平均反饋次數(shù)可減少40%~58%,從而減少了時延并可獲得較高效率的解碼,如圖2所示。圖2中的Qi(i=1,2,…,8)是Discover DVC方案中定義的質(zhì)量等級,每一個質(zhì)量等級對應(yīng)不同的量化系數(shù),等級越高所需碼率越大,解碼一個WZ幀解碼端會需要更多的請求次數(shù)。
參考文獻(xiàn)[7]完全移除了反饋信道,與參考文獻(xiàn)[7]相比,在相同碼率下,本文算法針對不同測試序列的峰值信噪比均有不同程度的提高,如圖3所示。由圖3(a)可以看出,對于運(yùn)動復(fù)雜的Soccer視頻序列,本文算法可以使PSNR提高 0.2~0.9 dB;而對于運(yùn)動緩慢的Hall Monitor視頻序列,如圖3(b)所示,本文算法使已解碼圖像PSNR值最高可以提高1.7 dB,可發(fā)現(xiàn)本文算法對在視頻序列運(yùn)動緩慢情況下性能表現(xiàn)比較好,這是由于本文算法考慮了拉普拉斯參數(shù)模型的分類,并進(jìn)行了比特平面速率估計和校驗(yàn)碼碼率估計。
4 結(jié)論
本文主要討論了Wyner-Ziv視頻編碼的碼率控制算法,在現(xiàn)有算法基礎(chǔ)上,提出一種混合碼率控制算法。仿真實(shí)驗(yàn)表明,與現(xiàn)有碼率控制算法相比,Wyner-Ziv編碼框架綜合性能有所提升。但本文后期需要進(jìn)一步研究的問題還有很多,如研究質(zhì)量更高的邊信息估計算法并同時保證編碼端低復(fù)雜度要求,從而使Wyner-Ziv編碼方案能適應(yīng)多種應(yīng)用場合。
參考文獻(xiàn)
[1] SLEPIAN D, WOLF J. Noiseless coding of correlated information sources[J]. IEEE Transactions on Information Theory, 1973,19(4):47l-480.
[2] WYNER A, ZIV J. The rate-distortion function for source coding with side information at the decoder[J]. IEEE Transactions on Information Theory, 1976,22(1):1-10.
[3] RARON A, RANE S, SETTON E, et al. Transform-domain wyner-ziv codec for video[C]. Visual Communications and Computers, Pacific Grove, CA, January 2004.
[4] SLOWACK J, SKORUPA J, MYS S, et al. Correlation noise estimation in distributed video coding[C]. Effective Video Coding for Multimedia Applications,2011:133-156.
[5] ROCA A, MORBEE M, PRADES-NEBOT J, et al. Rate control algorithm for pixel-domain wyner-ziv video coding[C]. Visual Communi-cations and Image Processing 2008, 2008,6822(1):68221T.
[6] 秦浩,屈蓓,宋彬,等.無反饋分布式視頻編碼中Wyner-Ziv幀碼率控制算法[J].西安電子科技大學(xué)學(xué)報(自然科學(xué)版), 2012,39(4):34-35.
[7] BRITES C, PEREIRA F. An efficient encoder rate control solution for transform domain Wyner-Ziv video coding[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2011,21(9):1278-1292.