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