?

空域多描述編碼的視頻錯誤隱藏算法*

2013-08-16 05:46徐巍煒蔣榮欣陳耀武
關鍵詞:宏塊空域插值

徐巍煒 蔣榮欣 陳耀武

(1.浙江大學數字技術及儀器研究所,浙江杭州310027;

2.浙江大學浙江省網絡多媒體技術研究重點實驗室,浙江杭州310027)

視頻在經過易錯信道進行傳輸時,較容易產生丟包和錯包.丟失的包不但影響當前幀的質量,而且會在后續幀中引起錯誤擴散,給高質量的視頻傳輸帶來了很大的挑戰.錯誤隱藏算法利用解碼端接收到的碼流信息,近似地恢復丟失或受損的數據,提高了易錯信道上圖像傳輸的質量.錯誤隱藏算法僅僅在解碼端進行,無需重傳增加額外的帶寬,因而被廣泛應用[1].錯誤隱藏算法依賴于碼流內部語義單元和圖像以及序列本身的特征,對于不同特征的碼流需要采取不同的恢復策略.從不同編碼方式對于圖像本身的劃分來看,可分為基于宏塊劃分的編碼方式和基于像素劃分的編碼方式,前者包括傳統幀編碼和可變宏塊順序(FMO)編碼,后者包括空域多描述編碼和場編碼.

由于多描述編碼良好的容錯性能和靈活性,多描述編碼的錯誤隱藏算法逐漸成為研究熱點[1].多描述錯誤隱藏算法多采用與多描述生成方式相關的錯誤隱藏算法,可以分為空域和時域隱藏兩大類.空域多描述編碼采取直接對像素[2-3]或者聯合頻域處理對像素進行空域分割[4-6],然后編碼為多個描述.與之對應的錯誤隱藏算法利用描述間像素和頻域系數的相似性,通過插值的方法得到丟失描述的像素[4-5]或系數信息[6-7].時域多描述編碼對于原始序列從時間上劃分為多個子序列,分別編碼為不同描述.與之對應的錯誤隱藏算法利用時域描述的運動相關性,通過前后幀運動信息恢復當前幀的運動信息[8-10].

場編碼是H.264標準支持的圖像編碼方式,每幀的碼流由頂場和底場兩幅圖像組成,主要針對隔行掃描的數據格式.空域恢復的方法利用頂場圖像和底場圖像的相似性,通過插值的方法恢復受損圖像[2];時域恢復的方法利用當前幀未丟失的頂場或底場的運動信息來恢復丟失場[3];空域和時域自適應的方法[2-3]通過分析時域恢復宏塊和空域恢復宏塊與未丟失宏塊的空域相關性來實現.

場圖像和空域多描述編碼與傳統幀編碼圖像的錯誤隱藏算法應用的環境有所不同.對于空域錯誤隱藏算法,幀編碼碼流的錯誤隱藏需要計算邊緣信息,分類宏塊,然后對于不同紋理復雜度的宏塊使用不同的空域錯誤隱藏算法,如對于平坦塊和邊緣塊采用插值[11-12]的方法比較有效[13].而對于空域多描述編碼,可以使用另一描述插值來高效地恢復當前描述丟失宏塊的像素信息.對于時域錯誤隱藏算法,傳統幀編碼碼流與時域多描述編碼的錯誤隱藏類似,利用前后幀和相鄰宏塊的運動一致性,使用相鄰宏塊的運動矢量,結合外推法[16-17]得到估計的運動矢量,再通過邊沿匹配[14-15]準則來恢復丟失宏塊.而空域多描述編碼的兩場或兩個描述的運動矢量和分割模式高度相似,與幀圖像有很大不同.

以往空域多描述編碼錯誤隱藏算法使用的是空域錯誤隱藏策略,利用了描述的空域相關性.空域多描述編碼的兩個描述在運動上的相關性被以往的空域多描述編碼容錯和錯誤隱藏算法所忽略.時域多描述編碼的錯誤隱藏策略[8,10]并不適合空域多描述編碼.混合多描述編碼的自適應錯誤隱藏策略[9],需要利用其特殊編碼方式的運動矢量和殘差,也不適合空域多描述編碼.在對場編碼容錯方法的研究[2-3]中,由于最終的恢復準則還是依賴于像素相似性,圖像恢復的質量受到了影響.對于不同序列,空域多描述編碼生成的多個描述之間的相關性具有不同的特征.錯誤隱藏算法不僅要考慮到描述間的像素相關性,也要考慮到兩個描述像素的差異性和運動的相似性,需要對兩個描述運動信息的特征和像素差異性的特征進行綜合比較,以提高錯誤隱藏的總體質量.

文中提出了一個空域多描述編碼錯誤隱藏框架,對不同特征區域使用不同恢復策略.使用相鄰幀的像素差異性失真估計當前描述的像素差異性失真,通過殘差能量估計兩個描述的運動差異性失真,進而進行相似性和差異性區域的劃分,不同區域選擇不同的方法進行錯誤隱藏.

1 空域多描述編碼的錯誤隱藏

空域多描述編碼使用不同的濾波器和上下采樣過程對原始序列進行預處理,然后再分別對不同的描述進行編碼.之前的空域多描述編碼方法利用加入頻域的對齊[5]、濾波器分離高頻信號[4]或空域和頻域聯合處理[6]的方法生成不同描述的碼流,然而該碼流的解碼過程與H.264標準不兼容.如果把經處理過的幀圖像分為兩個場圖像即兩個描述,利用H.264場模式進行編碼,就可以實現標準兼容的空域多描述編碼算法[2-3].文中以場編碼作為空域多描述編碼實現的平臺.為了方便論述,下文將同一幀的兩個描述(即兩場)相同位置的兩個宏塊定義為一個互補宏塊對.

在I幀中,如果互補宏塊對中的一個宏塊丟失,此時可以利用正確接收的宏塊的像素進行插值得到丟失宏塊[4];如果互補宏塊對中的兩個宏塊都丟失,那么使用幀編碼圖像的空域錯誤隱藏策略[12]恢復丟失宏塊.在P幀中,如果互補宏塊對中的兩個宏塊都丟失,可以使用運動補償的時域錯誤隱藏方法[18]恢復丟失宏塊.

視頻在易錯信道中傳輸,如果丟包率為p,那么互補宏塊對中兩個宏塊都丟失的概率則為p2,將遠小于單個宏塊的丟包率p.一般來說,P幀在圖像組中的數量遠多于I幀,因此,文中將重點論述在P幀互補宏塊對中丟失一個宏塊情況下的錯誤隱藏策略.其他的小概率情況可用上文所述方法進行錯誤隱藏.

在P幀中,一個互補宏塊對中丟失一個宏塊,可以有兩種方法進行錯誤隱藏:①使用宏塊對中另一個宏塊的像素進行插值,恢復丟失宏塊像素信息;②使用宏塊對中另一個宏塊的運動信息恢復丟失宏塊運動信息.經過分析發現,該兩種恢復方法對于不同特征的區域有不同的恢復效果.對于像素相關性強的區域,使用像素插值恢復方法恢復的效果比較好.對于運動相關性強的區域,使用運動信息進行恢復效果比較好.像素和運動差異性相近的情況下,優先使用像素信息進行恢復效果比較好.

為了對不同區域丟失的宏塊都有較好的恢復效果,可以根據兩場圖像編碼模式及信息的相關性和差異性進行不同特征區域的劃分,再根據劃分結果選擇不同的恢復策略.

2 區域特征提取

2.1 像素差異性失真估計

兩場圖像像素的差異性失真D1(x,y,n),可通過計算互補場宏塊對中兩個宏塊相互插值恢復的宏塊插值失真得到:

式中,x、y為宏塊坐標,n 為幀序號,D1(x,y,n)是像素差異性失真值,FEC為通過互補場插值出的恢復場,F為原始重建場.恢復場通過插值計算,即

式中,A為一個互補場宏塊對中的兩個宏塊.當前宏塊的插值恢復失真越大,相關性越弱.

宏塊的插值失真與圖像的紋理有很大的相關性.由于采用縱向的插值,所以對于具有豐富橫向紋理和交織細節紋理的區域,宏塊的插值失真較大.紋理比較平滑的區域,宏塊的插值失真較小,如圖1所示.圖像中的每個數值代表計算出的該位置的頂場和底場宏塊的插值失真.紋理較復雜的flower序列中的花圃具有最大的宏塊失真;hall序列中,平滑紋理較多的地板的宏塊插值失真最小;coastguard中,橫向紋理較多的水面具有中等大小的宏塊插值失真.

圖1 不同序列中不同紋理區域的兩場對應宏塊的像素差異失真值Fig.1 Pixel difference of relative macro-blocks between two fields of different sequences with diverse textures

因為當前宏塊對中有一個丟失,所以無法直接計算當前幀該宏塊的像素差異失真值.當前幀圖像通過從參考幀圖像的預測過程得到重建.由于當前幀已丟失,可以通過對上一幀運動矢量外推的方法得到當前幀重建幀的預測[17,19].像素差異性失真值可以通過對上一幀的差異性失真值外推得到,即

式中,wi為權重系數,,)為使用的運動矢量.權重系數通過當前塊重疊的面積占當前塊的比例來得到.如果另一個未丟失的宏塊是幀間編碼宏塊,運動矢量就使用未丟失宏塊的運動矢量.如果另一個未丟失的宏塊是幀內編碼宏塊,則使用前一幀的運動矢量.

2.2 運動差異性失真估計

兩場圖像編碼模式和信息的差異性失真D2(x,y,n)通過判別碼流的殘差、運動矢量和分割等運動信息得到,即

式中,R為殘差,(vx,vy)為正確的運動矢量.運動預測的失真可以通過比較正確矢量和恢復矢量對應的預測塊得到:

將式(5)和(6)代入式(4),則運動差異性失真可以表示為

從式(7)可以看出,運動差異性失真可以分為殘差能量失真和運動預測失真兩部分.

兩場圖像具有相臨近的距離(1個像素),運動具有較大的相似性,如圖2所示.圖中paris序列兩場圖像的兩個人的人體部分運動、hall序列中兩場圖像人體的運動和coastguard序列兩場圖像的船的運動矢量具有較大的相似性.對于幀圖像來說,運動相似性一般指的是前后幀運動的平滑性和物體運動的一致性[15-16],與文中方法中兩個描述的運動的相似性有很大不同.

圖2 paris序列第51幀、hall序列第50幀和 coastguard序列第46幀的運動矢量Fig.2 Motion vectors of 51th frame of paris,50th frame of hall,and 46th frame of coastguard

由于具體搜索算法和碼率控制的差異,運動矢量可能略微有區別,但是總體還是表現出了較好的一致性.可以利用場宏塊對中一個宏塊的運動矢量和參考幀索引去恢復另一個宏塊的運動矢量和參考幀索引,式(3)可化為

碼流經過反量化和反變換之后得到了重建的殘差Res.重建殘差Res加上由運動矢量從參考幀預測的預測塊P,得到當前宏塊的重建殘差Rcon.殘差信息的計算為

式中,Eres代表殘差能量.同一幀的兩場圖像碼流具有相似的殘差能量,如圖3所示.圖中每個數值代表該位置宏塊的殘差能量值.小船所在的運動區域、大船頭部區域和混亂海浪的區域具有較大的殘差能量值;岸邊的石頭草地區域和平滑的海面區域具有較小的殘差能量值,而且兩場相同位置的殘差能量基本相似.因此可使用場宏塊對中一個宏塊的殘差能量去預測另一個宏塊的殘差能量.兩場圖像的殘差能量具有相似性,式(7)可化為

所以,兩場的運動差異性失真主要通過計算殘差能量得到.

圖3 coastguard序列第19th幀的宏塊殘差能量Fig.3 Residual energy of 19th frame of coastguard sequence

3 基于區域特征劃分的恢復策略選擇

通過像素差異性失真值和運動差異性失真值對當前宏塊劃分區域類型,即

式中,A為區域類型,Tres和TEC為相關性判定的閾值.A為0表示運動相關性強的區域,A為1表示像素相關性強的區域,A為2表示像素和運動差異性強的區域.

對于像素或運動相關性較強的區域,直接采用像素插值和運動恢復.首先判別宏塊是否處于運動相關性強的區域,如果宏塊所處區域的運動差異性失真D2小于Tres,則被認為是運動相關性強.使用互補宏塊對中未丟失宏塊的運動矢量和參考幀,作為當前丟失宏塊的運動矢量和參考幀,然后使用正常解碼過程進行解碼.其次判別宏塊是否處于像素相關性強的區域,如果宏塊所處區域的像素失真值D1低于TEC,這個宏塊被認為是強像素相關性宏塊.使用互補宏塊對中未丟失的宏塊重建后的像素插值來作為丟失塊的重建像素值.

對于像素和運動相關性較弱的區域,由于在采取不同的恢復策略時,恢復的圖像具有不同的特征.像素域恢復的方法,雖然有可能引入模糊現象,但是在運動區域,相比恢復運動信息的方法,具有較好的恢復質量.而且同樣的丟包情況下,對于同樣的序列,單純采用運動矢量恢復的方式,比沒有采用以插值為基準的恢復質量好.所以在比較像素差異性和運動差異性的基礎上,對于高差異性的區域,采取差別化錯誤隱藏策略.如果宏塊區域的運動差異性失真D2大于Tres,并且像素失真值D1大于TEC,認為宏塊處于高差異性區域,優先使用像素插值的方法進行恢復.比較運動差異性失真D2(重建殘差能量Eres)和像素失真值D1(宏塊插值失真DEC),如果滿足:

D2<D1-Tb(12)則使用運動矢量和參考幀的方式來進行恢復,否則就使用像素插值的方法進行恢復,其中Tb為設置的閾值.

4 實驗和結果分析

文中實驗通過對幀圖像序列進行場編碼的方式來實現空域多描述編碼.不同空域多描述編碼的性能集中在兩個描述的空域相似性上,即空域插值失真;通過不同空域插值失真大小的序列來代表不同空域多描述容錯編碼方法;通過對具有不同空域相似性序列進行實驗,來間接模擬文中錯誤隱藏算法在不同特征的空域多描述編碼方法上的效果.

首先,使用JM14.0編碼器,將序列coastguard、Edberg、flower、hall、waterfall和 paris編碼,產生測試的場編碼流.所有的編碼序列都以30幀/s進行編碼,碼率設置為1M.使用main profile,I幀間隔設置為30幀,使用一個參考幀.使用多slice模式進行編碼,隨機幀內宏塊刷新被關閉.所有的分隔大小和子塊分割大小都被使用.接著,編碼得到的碼流經過丟包程序,以5%、10%和20%的丟包率進行隨機丟包,丟包后的碼流送給解碼器.最后,在解碼后通過不同的錯誤隱藏方法進行恢復.3種錯誤隱藏程序被集成在JM14.0的解碼器中,包括文中提出的自適應空域時域錯誤恢復算法(TASTEC),還有之前被提出的場圖像錯誤隱藏算法(ECSD)[2-3],以及傳統空域多描述編碼的空域錯誤隱藏方法(MDCEC)[4].用解碼器輸出的圖像與原始序列計算峰值信噪比PSNR,來衡量圖像傳輸的客觀質量.對于同一個的丟包碼流,使用不同的錯誤隱藏程序分別進行恢復,然后比較恢復結果的質量.

對于紋理復雜和運動中等的序列flower,紋理復雜運動簡單的序列paris,紋理中等和運動中等的序列 coastguard,以及紋理簡單、運動簡單的序列hall在各個丟包率上傳輸質量,文中方法與ECSD相比有明顯提高,最高達4 dB,如表1所示.對于復雜紋理、較復雜運動的序列Edberg,文中方法視頻恢復的質量與ECSD相當,如表1所示.

表1 在不同丟包率下文中方法相比ECSD的錯誤隱藏質量提升(PSNR)Table 1 Quality improvement of the proposed method comparing with ECSD under different loss rates(PSNR)

對于waterfall序列,其運動形式以鏡頭漸遠的輕微全局運動為主,整體的錯誤擴散失真很小,但運動相對復雜.占多數圖像區域的樹木包含的是復雜不規則紋理,殘差能量與錯誤隱藏失真都很小并且呈隨機噪聲分布.當前幀的某種恢復策略使得當前幀有較好的恢復效果,由于錯誤擴散的影響,后續幀的錯誤擴散失真并非最?。詫τ趙aterfall序列,文中提出的方法在低丟包率時,恢復質量略低于ECSD.由于人眼對于復雜不規則紋理中失真的敏感度較低,PSNR上微小的差異不會對主觀質量造成大的影響,如圖4所示.文中提出的方法與ECSD相比平均提升1.64dB.

MDCEC算法的錯誤隱藏效果依賴于兩個描述的相似性.如表2所示,對于空域失真小、時域失真相對大的序列Edberg和waterfall,錯誤隱藏的結果和TASTEC相差較?。畬τ诳沼蚴д娲?、時域失真小的序列 paris、hall、flower和 coastguard,TASTEC 錯誤隱藏的結果和MDCEC相比有較大提高.文中方法對于各種特征的序列都有相對較好的錯誤隱藏效果,對于不同的空域多描述編碼方法也會有較好的適應性.

圖4 對于waterfall序列兩種方法的主觀質量對比Fig.4 Subjective quality comparison of two methods for waterfall sequence

表2 在不同丟包率下文中方法相比MDCEC的錯誤隱藏質量提升(PSNR)Table 2 Quality improvement of the proposed method comparing with MDCEC under different loss rates(PSNR)

對于主觀質量,在同樣有丟失碼流的情況下,ECSD恢復容易造成細節的模糊,而TASTEC則對于細節和輪廓都有較好的恢復.如圖5和6所示,一些細節的部分,如圖中的門框和背景中的書,都被TASTEC很好地恢復.而且和ECSD相比,圖中的人物和物體的輪廓在錯誤隱藏后也更加清晰.

圖5 對于hall序列兩種方法的主觀質量對比Fig.5 Subjective quality comparison of two methods for hall sequence

圖6 對于paris序列兩種方法的主觀質量對比Fig.6 Subjective quality comparison of two methods for paris sequence

5 結語

文中提出了一種低復雜度場的空域多描述編碼錯誤隱藏方法.通過對兩個描述像素的差異以及運動特征的分析,提出了基于區域特征劃分的錯誤隱藏框架.使用相鄰幀的像素差異性失真估計當前描述的像素差異性失真,通過殘差能量估計兩個描述的運動差異性失真.以此對丟失宏塊進行區域劃分,并對不同特征區域使用不同恢復策略.通過實驗證明了該錯誤隱藏方法的有效性.圖像的主觀質量也有較大提升.與之前算法相比未增加運算量,總體的運算量與解碼過程相比基本可以忽略.在今后空域多描述編碼的研究中,可以通過提高兩個描述的運動相似性來進一步提高容錯性能.

[1]Cui Z G,Gan Z L,Zhan X F,et al.Error concealment techniques for video transmission over error-prone channels:a survey [J].Journal of Computational Information Systems,2012,8(21):8807-8818.

[2]Li M Q,Xu Z Q,Xu Y Y.A robust video coding scheme for mobile wireless communications[J].Journal of Multimedia,2009,4(6):405-411.

[3]Li M Q,Xu Z Q.An error resilient coding scheme for video transmission based on pixel line decimation[C]∥Second International Symposium on Intelligent Information Technology Application.Shanghai:IEEE,2008:315-320.

[4]Yan B,Hamid G,Hu B.Pixel interlacing based video transmission for low complexity intra frame error concealment[J].IEEE Transaction on Broadcasting,2011,57(2):253-257.

[5]Farzamnia A,Yusof S K S,Fisal N.Error concealment using joint multiple description coding and zero padding[J].International Review on Computers and Software,2011,6(2):244-249.

[6]Hsiao C W,Tsai W J.Hybrid multiple description coding based on H.264 [J].IEEE Transaction on Circuits and System for Video Technology,2010,20(1):76-87.

[7]劉杰平,余英林.視頻多描述編碼與差錯隱藏的聯合抗誤碼算法[J].華南理工大學學報:自然科學版,2004,32(7):15-19.Liu J P,Yu Y L.Combat channel errors algorithm combining multiple description coding and error concealment for video[J].Journal of South China University of Technology:Natural Science Edition,2004,32(7):15-19.

[8]Zhang G.Efficient error recovery for multiple description video coding[C]∥International Conference on Image Processing.Singapore:IEEE,2012:829-832.

[9]Tsai W J,Chen J Y.Joint temporal and spatial error concealment for multiple description video coding[J].IEEE Transactions on Circuits and Systems for Video Technology,2010,20(12):1822-1833.

[10]Tsai W J,Yu H.Multiple description video coding based on hierarchical B pictures using unequal redundancy[J].IEEE Transactions on Circuits and Systems for Video Technology,2012,22(2):309-320.

[11]Agrafiotis D,Bull D R,Canagarajah C N.Enhanced error concealment with mode selection [J].IEEE Transaction on Circuits and System for Video Technology,2006,16(8):960-973.

[12]Kim W,Koo J,Jeong J.Fine directional interpolation for spatial error concealment[J].IEEE Transaction on Consumer Electronic,2006,52(3):1050-1056.

[13]Gan N,Gong S R,Wang Z H,et al.Spatial error concealment method based on tensor voting[J].Journal on Communications,2011,32(10):127-142.

[14]Xu Y L,Zhou Y H.Adaptive temporal error concealment scheme for H.264/AVC video decoder[J].IEEE Transaction on Consumer Electronic,2008,54(4):1846-1851.

[15]Thaipanich T,Wu P H,Kuo C C J.Low-complexity video error concealment for mobile applications using OBMA[J].IEEE Transaction on Consumer Electronic,2008,54(2):753-761.

[16]Chien J T,Li G L.Effective error concealment algorithm of whole frame loss for H.264 video coding standard by recursive motion vector refinement[J].IEEE Transaction on Consumer Electronic,2010,56(3):1689-1695.

[17]Zhou J,Yan B,Gharavi H.Efficient motion vector interpolation for error concealment of H.264/AVC [J].IEEE Transaction on Broadcasting,2011,57(1):75-80.

[18]Lim K P,Sullivan G,Wiegand T.Text description of joint model reference encoding methods and decoding concealment methods.[EB/OL][2005-01-31].http:∥ftp3.itu.int/av-arch/jvtsite/2005_01_HongKong/JVT-N046.doc.

[19]Hwang M C,Kim J H,Yang H Y,et al.Frame error concealment technique using adaptive inter-mode estimation for H.264/AVC [J].IEEE Transaction on Consumer Electronic,2008,54(1):163-170.

猜你喜歡
宏塊空域插值
我國全空域防空體系精彩亮相珠海航展
基于Sinc插值與相關譜的縱橫波速度比掃描方法
基于貝葉斯估計的短時空域扇區交通流量預測
淺談我國低空空域運行管理現狀及發展
基于能量空域調控的射頻加熱花生醬均勻性研究
一種改進FFT多譜線插值諧波分析方法
基于四項最低旁瓣Nuttall窗的插值FFT諧波分析
基于選擇特征宏塊的快速視頻穩像
Blackman-Harris窗的插值FFT諧波分析與應用
基于宏塊合并的H.264模式選擇算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合