摘 ?要: 在無線網(wǎng)絡環(huán)境下的視頻通信過程中,錯誤隱蔽是一種提高解碼圖像質(zhì)量的重要手段。提出了一種針對實時視頻應用的自適應時域運動補償處理方法,不僅考慮了受損視頻在時間上的相關性,而且針對補償圖像中的塊效應進行自適應處理,能夠有效地提高解碼圖像質(zhì)量。
??? 關鍵詞: 視頻通信;錯誤隱蔽;塊效應
?
?? 3G無線網(wǎng)絡提供了更大的網(wǎng)絡帶寬,但是無線網(wǎng)絡不能保證傳輸質(zhì)量,使傳輸誤碼或者丟包不可避免,因此如何提高傳輸視頻對誤碼或者丟包的抗干擾和恢復能力一直是無線多媒體通信領域的研究熱點。在視頻解碼器端進行錯誤隱蔽的方法[1],可以在不增加傳輸帶寬和傳輸時延的情況下改善接收到的圖像質(zhì)量,因此在出錯環(huán)境下的視頻傳輸中得到廣泛關注。目前的錯誤隱蔽方法有二類:基于運動補償?shù)臅r域方法和基于空域或頻域插值的方法。
??? 最簡單的基于空域或頻域插值的錯誤隱蔽(例如雙線性內(nèi)插),很難恢復出紋理和邊界信息豐富的區(qū)域的丟失信息?;谶吔缁蛘邇?nèi)容的空域和頻域插值方法[2]計算量很大,很難在實際中應用,而且在整幀圖像丟失的情況下,由于缺少空間相鄰信息,基于空域或頻域插值的方法無法恢復出受損數(shù)據(jù)。
??? 基于運動補償?shù)臅r域錯誤隱蔽方法是通過估計丟失幀的宏塊運動信息來恢復丟失信息的,例如邊界匹配方法[3]。但該方法存在一個明顯缺點:在出現(xiàn)整幀丟失的情況下無法獲取空間相鄰宏塊的MV,因此也不能估計丟失宏塊的MV。
1 圖像幀錯誤隱蔽方法回顧
??? 傳統(tǒng)的空域或者時域視頻錯誤隱蔽方法都是在單個或者多個連續(xù)的宏塊丟失的假設條件下實現(xiàn)的。但是在低碼率的無線視頻通信中,傳輸錯誤往往導致整幀圖像的丟失。一方面,在低碼率的情況下,1幀圖像的數(shù)據(jù)量通常小于1個基本網(wǎng)絡傳輸單元,而網(wǎng)絡傳輸中的數(shù)據(jù)包丟失通常對應于一整幀圖像內(nèi)容的丟失;另一方面,3G無線網(wǎng)絡的傳輸誤碼一般為連續(xù)的突發(fā)性誤碼,這將導致連續(xù)的數(shù)據(jù)受損,表現(xiàn)為整幀圖像的丟失。
??? 針對整幀圖像丟失的錯誤隱蔽方法分為二類:一類是利用光流方法來估計丟失圖像幀的運動矢量場[4-5],并對每個像素的MV進行濾波或者插值,然后逐個像素采取時域運動補償方法恢復出受損圖像幀。但是這種方法計算量非常大,不適合無線視頻通信應用中的手持終端應用;第二類是運動矢量外推方法(MVE)[6],快速預測丟失幀圖像塊的MV,但是估計精度有限,恢復的丟失幀圖像會出現(xiàn)明顯的塊效應。
??? 本文提出了一種改進的塊運動矢量外推方法,通過基于瑕疵塊的圖像質(zhì)量評測尺度來修正丟失圖像幀的塊運動矢量信息,既能夠提高恢復的丟失圖像幀質(zhì)量,又能夠適應手持終端的實時應用。
2 算法框架
??? 錯誤隱蔽的目的是恢復出丟失的壓縮視頻中的內(nèi)容。雖然丟失的視頻數(shù)據(jù)不可能完全恢復,但是視頻信息總是存在相關性,因此可以利用丟失數(shù)據(jù)時間相關性恢復出丟失部分的視頻數(shù)據(jù)。本文提出了一種自適應的時域錯誤隱蔽算法,其執(zhí)行過程如圖1所示。
?
??? 對輸入的視頻碼流進行錯誤檢測,若沒有圖像幀丟失,則按照正常解碼過程輸出解碼圖像。若發(fā)現(xiàn)圖像幀丟失,標記出受損圖像幀,t-1幀的第i個4×4子塊的運動矢量記為;接著按照運動矢量外推方法計算前向外推運動矢量場,每個4×4子塊的前向外推運動矢量記為,從而可以按照前向運動補償方法得到預估計的丟失幀圖像,詳細方法見2.1節(jié)。
??? 對預估計的丟失幀圖像進行修正,按照8×8塊大小計算邊界系數(shù),判斷是否有錯誤圖像塊,若有,對錯誤圖像塊重新估計運動矢量,并重新進行運動補償,得到修正的圖像塊數(shù)據(jù),具體方法見2.2節(jié)。
2.1 時域運動補償
??? 為了能夠更有效地利用視頻數(shù)據(jù)在時域上的相關性,本文采用了參考文獻[6]的MVE方法作為時域錯誤隱蔽算法的基礎,即利用運動矢量外推方法恢復出受損圖像塊的MV,然后通過運動補償恢復受損圖像。
?
式中,W1,…WN表示權(quán)值,正比于各個子塊在第j塊中所占的像素區(qū)域,WN+1是當前子塊中沒有被疊加塊覆蓋的像素區(qū)域在整個子塊中所占的比例。
??? 在進行運動矢量外推時,第t幀的部分子塊可能沒有外推的運動矢量,此時該子塊的外推運動矢量記為0。
??? 在第t幀的每個子塊都得到1個外推運動矢量后,對應子塊的圖像數(shù)據(jù)為:
???
2.2 基于瑕疵塊的圖像塊修正
??? 在完成時域運動補償后,部分區(qū)域可能存在瑕疵塊,原因在于運動矢量外推方法假設物體是剛體運動,但是運動目標的局部運動特性不能通過剛體運動來模擬。因此根據(jù)剛體運動模型得到的運動矢量場會產(chǎn)生錯誤的預測,造成明顯的塊效應。
??? 針對這個問題,本文提出了一種基于瑕疵塊判斷的局部區(qū)域進行修正的方法。具體如下:對預估計圖像提取子塊(8×8)的水平邊界和垂直邊界位置處于塊邊界內(nèi)部和外部的2個像素區(qū)域,記為BlockIn[2]和BlockOut[2],其中數(shù)組序號表示距離邊界位置的距離。計算這2個區(qū)域的:
? ?
??? 式中,SAD( )表示計算2組數(shù)據(jù)的絕對差值和。塊邊界系數(shù)S3=S1/S2,對于未壓縮的圖像,S3接近1;但是對于分塊壓縮的圖像而言,S3必定大于1。因此,當S3大于1個給定閾值T時,則表示存在瑕疵塊。當圖像壓縮率越高時,圖像上的塊效應也比較多。為了找出最明顯的瑕疵塊,T的取值也要增大,在此根據(jù)經(jīng)驗取T=2.5。
??? 確定了瑕疵塊后,可以采用BMA方法進行重新估計瑕疵塊的運動矢量。具體就是用瑕疵塊8個相鄰的4×4塊的運動矢量加上1個0運動矢量作為候選的運動矢量集,然后根據(jù)BMA方法在這9個候選運動矢量中選擇1個最佳運動矢量作為錯誤子塊的運動矢量估計值。最后根據(jù)這個估計值計算出瑕疵塊的補償數(shù)據(jù)。
3 實驗結(jié)果
??? 為了驗證本文提出的算法的有效性,以H.264為平臺,選用了Akiyo和Foreman序列進行實驗;傳輸誤碼模擬采取隨機丟包方式進行,每次丟棄1幀數(shù)據(jù);圖像大小為CIF,編碼速率分別為64、128、256、320、384(Kb/s),IPPP編碼模式。
??? 為了比較不同錯誤隱蔽算法的性能,本方法選取了參考文獻[6]的MVE進行對比,在實驗中,丟包率都設置為3 %,其實驗結(jié)果分別如表1及圖3所示??梢钥闯?,本文提出的方法(Proposed)相對于MVE,Y分量大,PSNR提高0.4~2.3 dB左右,而且主觀質(zhì)量有明顯改善。
??? 由于現(xiàn)有的多媒體視頻傳輸信道不能保證QoS,為了提高在出錯環(huán)境下的視頻圖像質(zhì)量,視頻解碼端的錯誤隱蔽是現(xiàn)有的視頻通信系統(tǒng)中一個非常重要的部分。特別是在無線通信環(huán)境下,視頻碼流的丟包和誤碼更為嚴重,常常會出現(xiàn)整幀圖像的丟失。
??? 本文提出了整幀圖像丟失的錯誤隱蔽算法,針對無線視頻通信過程中數(shù)據(jù)丟包的特點,采取了自適應的基于瑕疵塊判斷策略進行時域運動補償,既能夠消除運動矢量外推方法中的瑕疵塊,又不會大幅度增加視頻解碼的復雜度,適合于無線視頻通信應用。今后的思路應該在空域和時域結(jié)合方向上,針對某些不適合時域補償?shù)膱D像塊進行空域插值方法來提高圖像質(zhì)量。
參考文獻
[1] WANG Y, ZHU Q F. Error control and concealment for video communication: a review[J]. Proceedings of the IEEE, 1998,86(5):974-997.
[2] CHEN M, ZHENG Y F, WU M. Classification-based spatial error concealment for visual communications[J]. EURASIP Journal on Applied Signal Processing, 2006(1):257-257.
[3] YAN B, WING NG K. A novel selective motion vector matching algorithm for error concealment in MPEG-4 video transmission over error-prone channels[J].IEEE Trans. Consum. Electron., 2003,49(4):1416-1423.
[4] BELFIORE S, GRANGETTO M. Concealment of whole-frame losses for wireless low bit-rate video based on multiframe optical flow estimation[J]. IEEE Transactions on Multimedia, 2005,7(2):316-329.
[5] 陳建樂,劉濟林,陳國斌,等.一種針對整幀圖像丟失的錯誤隱藏算法[J].中國圖像圖形學報,2007,12(1):37-42.
[6] PENG Q, YANG T W, ZHU C Q. Block-based temporal error concealment for video packet using motion vector extrapolation[C]. in:Proceeding of ICCCAS'02.Chengdu,China:2002:10-14.