一種分布式視頻殘差編碼端碼率控制方法
【技術領域】
[0001] 本發(fā)明涉及分布式視頻編碼領域,特別涉及一種分布式視頻殘差編碼端碼率控制 方法。
【背景技術】
[0002] 隨著社會經(jīng)濟的快速發(fā)展,終端設備越來越多,越來越小型化、輕量化,人們對具 有視頻采集功能的終端設備復雜度、能耗、差錯控制等方面要求也越來越高,分布式視頻編 碼(DistributedVideoCoding,DVC)應運而生,它是一種基于Slepian-Wolf無損壓縮理 論和Wyner-Ziv有損壓縮理論的新型視頻編碼框架。每個視頻幀在發(fā)端獨立編碼,在收端 聯(lián)合譯碼。它不僅降低了發(fā)端的復雜度,還有較強的容錯能力。DVC主要分為像素域編碼和 變換域編碼兩種,由于變換域編碼中的DCT變換利用了空域相關性進行壓縮,因此它的率 失真性能(RateDistortion,!?)要優(yōu)于像素域方案,同時也比像素域方案復雜。之后又出 現(xiàn)了像素域視頻殘差(ResidualVideo)編碼方案,證明了它能達到變換域的率失真性能, 同時又降低了復雜度。除此之外,PRISM系統(tǒng)和DISCOVER是另外兩種典型的DVC框架。
[0003] 碼率控制是DVC研宄中的一大熱點。分布式編碼根據(jù)信源(WZ幀,記為X)和邊信 息(SideInformation,記為Y)間的統(tǒng)計相關性來確定為X分配多大的碼率?,F(xiàn)有的碼率控 制方式有兩種:編碼端碼率控制(EncoderRatecontrol,ERC)和譯碼端碼率控制(Decoder ratecontrol,DRC),前者通過估計X和Y間的統(tǒng)計相關性,計算條件j:商H(X|Y)來確定發(fā)送 X所需的碼率。后者是通過建立反饋信道多次執(zhí)行"請求并解碼"過程而決定所需的碼率。 這兩種方法各有優(yōu)點:ERC不需要反饋信道,收端只需一次解碼,系統(tǒng)延遲小,實用性強;缺 點是估計的碼率比較粗糙,存在低估和過估的情況,同時會增加編碼端的復雜度。DRC的優(yōu) 點是能以最優(yōu)碼率解碼,缺點是依賴反饋信道,需要多次譯碼,系統(tǒng)的延遲大。但是ERC不 依賴反饋信道,能降低系統(tǒng)的延遲,實用性和實時性強,因此研宄它是非常有意義的。要實 現(xiàn)ERC需要解決兩方面的問題:一是編碼端邊信息的獲取,但無論是哪種獲取方法,都會增 加編碼端的復雜度。二是發(fā)送碼率方案的制定,目前所有方案的發(fā)送碼率都是在位平面級 別上進行估計,而一幀通常對應有十幾個位平面,這樣導致發(fā)送任何一幀都需要進行多次 碼率估計,增加了編碼端的復雜性和系統(tǒng)延時。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于克服現(xiàn)有技術的缺點與不足,提供一種分布式視頻殘差編碼端 碼率控制方法。
[0005] 本發(fā)明的目的通過以下的技術方案實現(xiàn):
[0006] -種分布式視頻殘差編碼端碼率控制方法(ResidualEncoderRate Control,RERC),包含以下順序的步驟:
[0007]S1.視頻序列按照GOP= 2劃分為傳統(tǒng)的WZ幀和KEY幀,假設視頻幀1為WZ幀, 視頻幀X2k+1SKEY幀,KEY幀采用傳統(tǒng)的H. 264/AVCIntra編譯碼;
[0008] S2..利用與X2k相鄰的兩個KEY幀譯碼的結(jié)果X' ^和X' 2k+1,在發(fā)端本地譯碼器、 收端譯碼器中分別得到一個參考幀XM= (X'n+X'^)/2;
[0009] S3.在發(fā)端用原始的WZ幀和參考幀Xjf減得到殘差R,將殘差經(jīng)過置亂、量化和 格雷編碼然后送入LDPCA編碼器,通過碼率估計模塊得到發(fā)送所需的碼率;經(jīng)過信道傳輸 后送入收端的LDPCA譯碼器;
[0010] S4.在收端通過運動補償?shù)姆椒ǖ玫絏2k的預測信息Y2k,用它減去參考幀xjl到 收端殘差幀的邊信息R',同樣經(jīng)過置亂、量化和格雷編碼然后送入LDPCA譯碼器輔助解碼 視頻;
[0011] S5.在譯碼端,將LDPCA譯碼器輸出的結(jié)果通過格雷譯碼,反置亂和圖像重建得到 殘差信息々,將A與參考幀相加,最后得到譯碼出來的幀圖像。
[0012] 所述的分布式視頻殘差編碼端碼率控制方法,還包括以下步驟:當出現(xiàn)碼率低估 時,部分編碼分組會解碼失敗,對應在一幀當中會有部分像素不能恢復,這時通過邊信息改 善模塊進行進一步解碼。
[0013] 所述的邊信息改善模塊,用已成功解碼的相鄰點去預測解碼失敗的點以此來提高 邊信息的質(zhì)量,提高解碼的成功率,最終解碼失敗的點,則用邊信息信息去替代。
[0014] 步驟S3、S4中,所述的置亂是通過偽隨機碼置亂模塊對殘差幀中的像素用偽隨機 碼進行置亂處理,具體為:將邊信息Y看成是X通過一個虛擬信道的輸出的結(jié)果;兩者的關 系是N=Y-X,N是虛擬信道中的噪聲,表示X和Y之間的差錯;將差錯均勻的分布在一幀中, 在幀級別上進行碼率估計。在傳統(tǒng)的分布式編碼方法中,各個位平面上的N分布差別大,導 致各個位平面要分別估計發(fā)送碼率而且估計出來的碼率之間的差別大。如果能將差錯均勻 的分布在一幀中,就能在幀級別上進行碼率估計,從而減少碼率估計的次數(shù)和系統(tǒng)延時。通 過對殘差幀中的像素用偽隨機碼進行置亂處理就能達到這樣的目的。
[0015] 步驟S3中,所述的碼率估計模塊在幀級別上進行碼率估計,首先要估計RjPR'q 之間的相關性,設Nq=Rq-R'q,得出Nq的分布情況;其次,對R5和R'q進行n位格雷碼 編碼后,推導出兩格雷碼之間誤碼率(即漢明距離#6"與Nq之間的關系;由于系統(tǒng)是對視 頻殘差進行編碼,已知視頻殘差服從laplace分布,它是一種在0附近取值很集中的分布。 而&和R'q是對視頻殘差采用"圍繞〇的中心死區(qū)"量化方法后的結(jié)果,經(jīng)過分析可知它們 在〇附近取值更集中,取值范圍更?。划斄炕墑e分別為2n(n= 2, 3)時,Rq、Nq之間具有近 似的關系。因此,在發(fā)端我們無需產(chǎn)生額外的邊信息用來估計收發(fā)兩端的相關性,直接用Rq 中的概率分布代替Nq中的概率分布:P(Nq=i) ~P(Rq=i) = (i出現(xiàn)的次數(shù)V(LXM), LXM是一幀的大小;同時,根據(jù)格雷碼的編碼特點,推導匕"與Nq2間的關系用公式表示:
[0016]
[0017] 最終收端、發(fā)端的相關性用虛擬信道的錯誤轉(zhuǎn)移概率P來表示,則P的計算公式 為:
[0018] ll
[0019] 將P代入求熵公式H(P) =-P log2p-(l-p)log2(l-p),求出發(fā)送碼率v為:
[0020]
[0021] 整幀數(shù)據(jù)的所有編碼分組我們都按照這個估計的碼率進行發(fā)送;
[0022] 其中Rq為殘差R經(jīng)置亂量化后的結(jié)果,R' 5為殘差幀邊信息R'經(jīng)置亂量化后得 到的結(jié)果。
[0023] 本發(fā)明與現(xiàn)有技術相比,具有如下優(yōu)點和有益效果:
[0024] (1)在發(fā)端利用偽隨機碼對視頻殘差幀進行置亂處理,能在幀級別而不是在位平 面上進行碼率估計,減少了一幀視頻數(shù)據(jù)需要估計的碼率次數(shù)。
[0025] (2)在發(fā)端我們不用額外的產(chǎn)生邊信息用于計算收發(fā)兩端的相關性,極大減小了 發(fā)端的復雜度,比現(xiàn)有所有ERC方案都簡單。
[0026] (3)收端如果像素不能成功解碼,邊信息改善算法能夠顯著提高解碼成功率,解決 碼率低估的問題。
[0027] (4)通過將RERC與其它方案的RD性能相比較可知:在運動變化小的視頻序列中, RERC能很好的工作,性能高于變換域ERC方案,甚至和目前最好的DRC方案,即DISCOVER方 案相當。在運動變化大的視頻序列中,性能和變換域方案相當。
[0028] (5)本發(fā)明沒有反饋請求通道,每一幀都采用單一的碼率進行傳送,因此降低了解 碼延遲。
【附圖說明】
[0029] 圖1為本發(fā)明所述的一種分布式視頻殘差編碼端碼率控制方法的實現(xiàn)框圖;
[0030] 圖2a為Foreman視頻在QP= 37,n= 2時,和\的分布示意圖;圖2b為Foreman 視頻在QP= 24,n= 3時,&和N^的分布示意圖;圖2c為Soccer視頻在QP= 37,n= 2 時,心和N^的分布示意圖;圖2d為Soccer視頻在QP= 24,n= 3時,R^和N^的分布示意 圖;
[0031]圖3為邊信息改善模塊的流程示意圖;
[0032] 圖4a為量化級別為2n(n= 2)時,對一幀視頻進行偽隨機碼置亂前后P值的對 比圖;圖4b為量化級別為2n(n= 3)時,對一幀視頻進行偽隨機碼置亂前后P值的對比 圖;
[0033] 圖5a為Soccer視頻當QP= 27,n= 2時估計碼率V'和最優(yōu)碼率v(即DRC的碼 率)的比較圖;圖5b為Soccer視頻當QP= 24,n= 3估計碼率V'和最優(yōu)碼率v的比較 圖;
[0034] 圖6a為Soccer視頻序列按照發(fā)端碼率v進行首次解碼成功率與采用邊信息改善 模塊后的解碼成功率比較圖;圖6b為Foreman視頻序列按照發(fā)端碼率v進行首次解碼成功 率與采用邊信息改善模塊后的解碼成功率比較圖;
[0035] 圖7a是Hall視頻RERC方案和其它方案率失真特征曲線對比圖;圖7b是 Coastguard視頻RERC方案和其它方案率失真特征曲線對比圖;圖7c是Foreman視頻RERC 方案和其它方案率失真特征曲線對比圖;圖7d是Soccer視頻RERC方案和其它方案率失真 特征曲線對比圖。
【具體實施方式】
[0036] 下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限 于此。
[0037] 一種分布式視頻殘差編碼端碼率控制方法,發(fā)端不需要產(chǎn)生額外邊信息,能在幀 級別上而不是在位平面級別上進行碼率估計的ERC方案,該方案結(jié)構(gòu)最簡單,系統(tǒng)延遲最 小,不需要反饋信道,且具有很高實用性。方案如下:一是利用偽隨機碼對殘差幀中的像素 進行置亂,目的是在一幀內(nèi)發(fā)端編碼分組與其對應邊信息編碼分組之間的差錯均勻化,這 樣發(fā)端就能在幀級別上進行碼率估計,然后按照這個碼率發(fā)送整幀數(shù)據(jù)。二是發(fā)端不需要 產(chǎn)生額外的邊信息,發(fā)端的視頻殘差幀能近似的表示收發(fā)兩端信號之間的相關性。三是當 發(fā)端碼率低估時,利用提出的邊信息改善算法能顯著提高解碼成功率。
[0038] 如圖1所示,該圖是本發(fā)明方案對分布式視頻殘差編碼端碼率控制的具體實施方 式,整個視頻序列按照GOP= 2劃分成WZ幀和KEY幀,圖中X2AWZ幀,X21;+1為KEY幀,其 中KEY幀采用H. 264/AVCIntra編譯碼,利用X21^后譯碼的結(jié)果X' 2k_JPX' 2k+1在發(fā)端和收 端各得到一個參考幀XM= (X' ^-X^k+i)/2。發(fā)端殘差幀為R=X2k-XM,將R送入隨機置亂 模塊進行置亂,置亂模塊(其他過程需要置亂時都按以下步驟進行)的具體實施方法是:
[0039] 步驟1 :用rand函數(shù)產(chǎn)生一個長度為LXM(-幀大小)的偽隨機序列P,同時把一 幀圖像也看成是長度為LXM的一維序列P'。
[0040] 步驟2 :P和P'對應位置上的元素組成元素對汜,P' ^,建立對應的關系。
[0041] 步驟3 :將元素對按照PjA小到大的順序排序。
[0042] 步驟4 :然后從排序后的元素對中取出P'i將得到一個經(jīng)過隨機置亂,看似雜亂 無章的圖像。
[0043] 為了能夠提高信源和邊信息之間的相關性我們對R量化后的&經(jīng)過格雷編碼后 送入LDPCA編碼器并按照估計的碼率v進行發(fā)送。由于視頻殘差服從laplace分布,此