?

一種基于小波變換的多描述視頻編碼方法

2012-06-29 01:37義,史
電視技術 2012年23期
關鍵詞:編碼方案標量碼流

鄭 義,史 萍

(中國傳媒大學信息工程學院,北京 100024)

責任編輯:哈宏疆

隨著通信和多媒體技術的發展,通過互聯網和無線信道傳輸高質量的視頻成為一項廣泛應用的業務,但是網絡和無線信道很不可靠,網絡擁塞、信道帶寬的波動、各種網絡的差異性以及路由選擇造成的延時等問題都會造成傳輸的視頻信息丟失。20世紀70年代,貝爾實驗室提出了多描述編碼問題,90年代,多描述編碼應用到圖像編碼中。

多描述編碼[1](Multiple Descriptions Videoing Coding,MDSQ)是一種錯誤恢復編碼方式,在編碼端產生多種形式描述的碼流(稱為描述),各描述之間存在一定量的互補冗余信息,并且具有同等的獨立性和重要性,即每一路描述均可獨立編碼和解碼。同時,在相互獨立的信道中傳送不同的描述,各個信道丟失相同部分圖像數據的概率很小。所以,源視頻的任意一個描述都可以解碼出質量可接受的視頻,而多個描述聯合解碼可以重構出高質量的視頻。多描述編碼的方法主要有基于量化的方法(包括標量和矢量量化)、基于變換的方法、基于運動補償預測的方法、基于框架擴展的方法等。

1993年,Vaishampayan首次提出利用帶有漸進特性的多描述標量量化器構造實用的多描述編碼器[2]。他提出利用Lloyd迭代算法來設計標量量化器,然后將量化后的高斯無記憶信源信號經索引分配產生兩路描述。之后,Vaishampayan在原有基礎上提出受熵約束的MDSQ(ECMDSQ)[3],采用變長碼來代替定長碼,但ECMDSQ的編碼復雜度較高。之后,這種方法應用到兩個以上的多描述情況[4],該算法中的MDSQ使用通用多描述標量量化器(UMDSQ),能夠獲得中央失真和邊緣失真之間連續的折中點[5],以較低的復雜度實現了與ECMDSQ相同的性能。Gavrilescu提出嵌入式的多描述標量量化器[6],它使用多描述統一標量量化器對索引值進行量化,并對量化后的基本層的系數進行分級,使用嵌入式標量量化器對各級進行標量量化和索引分配,得到可分級的碼流。程國華提出將過完備小波變換與凸集投影(POCS)相結合[7],使用過完備小波變換得到基本信號與冗余信號,通過對它們使用不同的量化步長來控制編碼中的冗余度。根據基本信號與冗余信號之間的相關性,利用POCS算法來進行解碼器端的圖像重建。張文琴引入冗余小波變換技術[8],在變換域中進行運動估計與補償,對多描述分解碼流采用嵌入式編碼方法。王寧提出將小波變換后的每個子帶信號看做一個描述[9],得到多描述子帶編碼系統。

本文結合多描述標量量化思想,提出了一種基于小波變換的多描述視頻編碼方案,將小波變換后的系數使用多描述統一標量量化(Multiple Description Uniform Scalar Quantization,MDUSQ)和嵌入式的索引分配策略,結合位比特平面編碼和算術編碼,產生可以漸進傳輸的碼流,提高了在不穩定信道中傳輸的穩健性。

1 系統框架

本文在MJPEG2000的框架下,結合多描述標量量化的思想,產生基于小波變換的多描述碼流[10]。編碼端框圖如圖1所示,解碼端框圖如圖2所示。

若編碼端輸入的視頻序列為無符號數,由于小波變換處理的是有符號數,則需首先進行前向DC電位平移將無符號數轉變為有符號數。再經過正向小波變換形成各種分辨力級的小波系數,各子帶小波系數經過量化和索引分配后產生相互間含有一定冗余的兩路描述,兩路描述再分別經過最優截斷嵌入式塊編碼[11](Embedded Block Coding with Optimized Truncation,EBCOT)和打包的過程形成最終的碼流。

解碼端是一個相反的過程,若解碼端收到兩路描述,則根據熵解碼后的兩路描述進行中央索引合成,若其中一路描述完全丟失,則只能根據剩余一路描述的碼流進行邊路的索引合成。索引合成后的系數經過反量化、反DCT變換和電位平移得到最終的解碼視頻。

1.1 離散小波變換

二維圖像的離散小波變換的實質是對原始圖像進行高通和低通濾波,將原始圖像分為低頻平滑近似和高頻細節兩部分。對圖像的每一行和每一列都進行濾波后產生4個子帶,分別是LL,HL,LH和HH,下一級的分解在LL子帶上進行。重建時利用不同級分解后的子帶得到不同分辨力的圖像。

1.2 多描述標量量化

多描述標量量化包括量化和索引分配兩部分,系統中采用了帶死區的均勻量化方法。為了保證解碼端能夠恢復出可接受的圖像質量,又能夠得到更大的壓縮比,關鍵是采用合適的量化步長。小波分解使低頻子帶和高頻子帶的動態范圍不同,所以量化步長的設計應根據小波變換后子帶的動態范圍而變化。

量化后的系數要進行索引分配,產生兩路相互間含有冗余的描述。索引分配就是將每個系數通過映射函數A(·)映射為兩個索引號,即分解成兩個描述,如式(1)所示

式中:N是自然數集;i,j代表兩路描述索引號。

為了保證只收到一路描述時解碼器能得到質量可接受的視頻,每路描述都應包含解碼所需的足夠的信息,這就造成兩路描述間含有大量的冗余。兩路描述間含有的冗余越多,壓縮碼流的容錯性能就越高,但中央編解碼器的率失真性能降低。所以應在容錯性能和率失真性能之間尋求最佳平衡。因為索引分配控制著兩路描述間的冗余,所以MDSQ的核心問題是怎樣將量化后的系數分配為索引對,并且這種分配能合理地控制兩路描述間的冗余。另外,這種分配必須是可逆的,這樣才能保證解碼端準確恢復出信源。Vaishampayan提出索引分配問題可以用索引分配矩陣來解決[2]。以下是索引分配矩陣的設計原則[2]:首先建立一個N×N的矩陣,將量化后的信息從0到N-1方向、從左上到右下、從主對角線向外填入該矩陣。圖3是本系統使用的索引分配矩陣。

圖3 DWT-MDSQ系統的索引分配矩陣

經過索引分配的小波變換系數要經過比特平面編碼,并按照比特平面分層打包成嵌入式碼塊位流,以保證在可利用的信道帶寬減小時,優先傳輸高位比特平面,低比特平面丟失,得到一個模糊的圖像,假設兩路描述分別收到bi和bj個比特平面,對于獨立同分布的高斯信源,中央解碼器的失真為

在圖3所示的嵌入式索引分配矩陣中,若i路和j路描述分別收到一個比特平面。則重建值由索引矩陣中陰影區域的值確定,也就是使重建值為陰影區域的重心。根據式(2),為使重建失真最小,應根據信源統計特性對不同系數改變索引分配矩陣,使收到的兩路比特平面數與信源概率密度分布決定的中央失真最小。這樣一來,不僅計算極為復雜,而且在傳輸碼流時不僅要傳輸兩路描述還要傳輸相應的索引分配矩陣,造成很大的開銷。為解決上述問題,本系統采用了統一標量量化,并對所有系數用相同的索引分配矩陣產生兩路描述,兩路描述再分別根據信源統計特性進行熵編碼。

1.3 EBCOT熵編碼

將小波變換以后的子帶劃分為大小固定的碼塊,碼塊是EBCOT熵編碼的最小單位。每個碼塊獨立編碼,在解碼端若一個碼塊的數據出現錯誤,并不影響其余碼塊的解碼,防止了錯誤在碼塊間的傳播。對每個碼塊首先進行位平面編碼,位平面編碼的判決輸出符號經過基于上下文的算術編碼和PCRD優化截斷算法后打包成為最終碼流。

2 實驗結果和分析

本文將基于小波變換的多描述視頻編碼方案在PC機上進行仿真,采用幀率為25 f/s的CIF格式foreman,football和container視頻測試序列,色度采樣格式為4∶2∶0。對測試序列分別進行MPEG-2,H.264,MJPEG2000單描述編碼和基于小波變換的多描述編碼。為方便描述,基于小波變換的多描述編碼方案用DWT-MDSQ來表示,索引分配矩陣如圖3所示,des-mdsq表示描述2完全丟失、解碼端只收到一路描述的情況。MPEG-2和H.264采用I-BB-P的GoP結構,將一個slice封裝成一個數據包,每個丟失的數據包都用前向復制的方法進行錯誤隱藏。多描述編碼產生兩路碼流,兩路多描述碼流的總碼率與單描述碼流的碼率相等。DWT-MDSQ在實驗中進行3級無損(5,3)小波分解,打包成一個質量層的碼流。單描述與多描述碼流分別在丟包率為0.02,0.05,0.08,0.10的信道中傳輸,解碼端對有丟包的碼流進行解碼重建。

圖4中,基于運動補償預測的H.264和MPEG-2對于運動較慢的container序列效果較好,對于運動快的序列,運動補償預測的誤差增大,PSNR下降。而MJPEG2000只運用了幀內編碼,所以不管序列運動的快慢,編碼性能較為接近。由于在多描述方案中,兩路描述中含有冗余,所以丟包率為0時,單描述編碼方案的PSNR都高于多描述編碼方案。在高丟包率情況,多描述編碼方案的PSNR要高于單描述編碼方案,這是因為H.264和MPEG-2運用前向復制的方法進行錯誤隱藏,由此造成的誤差比多描述方案中用收到的一路描述預測另一路描述的誤差大。另外,在有丟包時DWT-MDSQ比MJPEG2000的PSNR高5~10 dB。在一路描述完全丟失情況下,邊解碼器解碼剩余一路描述時的PSNR較低,但隨著丟包率的增加,其PSNR逐漸與MJPEG2000接近,解碼端也可獲得質量可接受的視頻。

圖4 測試序列重建視頻PSNR

圖 5 是在碼率為 5.5 Mbit/s,4 Mbit/s,3 Mbit/s,2 Mbit/s,1.5 Mbit/s和0.8 Mbit/s時重建序列和原始序列的峰值信噪比。從圖5可看出,在高碼率時,多描述方案的兩路描述的碼率都較高,而且丟失相同信息的概率較小,所以DWT-MDSQ的性能都比MJPEG2000好。當碼率下降時,兩路描述的碼率都要降低,所以多描述方案的PSNR下降較快。由于H.264和MPEG-2使用的前向復制錯誤隱藏對運動慢的視頻效果好,所以對于運動較快的football序列,多描述編碼方案和MJPEG2000的PSNR較高。

圖5 測試序列在丟失率為5%時的R-D曲線

3 結語

本文在MJPEG2000視頻編碼框架下,對小波變換后的系數進行量化和索引分配產生互有冗余的兩路描述,提高在有丟包信道中傳輸的穩健性。實驗結果表明對于運動較慢的序列在高碼率的情況下,基于小波變換的多描述編碼方案的重建圖像質量好于H.264,MPEG-2,MJPEG2000單描述方案。另外,基于小波變換的編碼方案在有丟包時沒有塊效應。多描述編碼方案適合在信道不穩定,有丟包的網絡信道和無線信道中傳輸。

[1]駱超,史萍.基于標量量化分割的視頻多描述編碼研究[J].電視技術,2011,35(2):33-36.

[2]VAISHAMPAYAN V A.Design of multiple description scalar quantizers[J].IEEE Trans.Information Theory,1993,39(3):821-834.

[3]VAISHAMPAYAN V,DOMASZEWICZ J.Design of entropy-constrained multiple-description scalar quantizers[J].IEEE Trans.Information Theory,1994,40(1):245-250.

[4]BERGER-WOLF T Y,REINGOLD E M.Index assignment for multichannel communication under failure[J].IEEE Trans.Information Theory,2002,48(10):2656-2668.

[5]TIAN Chao,HEMAMI S S.Universal multiple description scalar quantization:Analysis and design[J].IEEE Trans.Information Theory,2003,50(9):2089-2102.

[6]GAVRILESCU A I,MUNTEANU A,SCHELKENS P.Embedded multiple description scalar quantizers for progressive image transmation[J].IEEE Electronics Letters,2003,39(13):979-980.

[7]程國華.周源華.一種對信道差錯魯棒性的多描述編碼算法[J].上海交通大學學報,2004,32(11):1781-1784.

[8]張文琴.先進的小波視頻壓縮方法及其應用研究[D].北京:中國科學院研究生院,2005.

[9]王寧.基于子帶分解的多描述變換編碼[D].北京:北京大學,2010.

[10]CRAVE O,PESQUET-POPESCU B,GUILLEMOT C.Robust video coding based on multiple description scalar quantization with side information[J].IEEE Trans.Circuits and Systems for Video Technology,2010,20(6):769-779.

[11]張旭東,盧國棟,馮健.圖像編碼基礎和小波壓縮技術——原理、算法和標準[M].北京:清華大學出版社,2004.

猜你喜歡
編碼方案標量碼流
數字電視TS碼流協議簡要分析
基于唯一標識的ATP車載設備編碼方案研究
一種高效的橢圓曲線密碼標量乘算法及其實現
用演化算法求解多階段配電網規劃問題
基于改進粒子群算法的毫米波大規模MIMO混合預編碼方案
一種靈活的橢圓曲線密碼并行化方法
新時期金融機構編碼標準化的挑戰及解決方案
新時期金融機構編碼標準化的挑戰及解決方案
應用動能定理解決多過程問題錯解典析
一種比較ASN.1碼流差異的方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合