摘 要:提出了一種完全可伸縮視頻編碼的改進方法。首先給出了一種采用運動補償時域濾波、二維離散小波變換和EZW編碼的傳統可伸縮編碼方案,該方案將時間、空間、質量三方面的伸縮性有機地結合在一起,實現了完全可伸縮性能。針對運動補償時域濾波技術中的GOP(group of pictures)結構和更新操作進行了改進,引入GOP結構自適應選擇,降低系統內存需求和運算復雜度;采用基于人眼視覺系統特性的最小可覺差對更新操作中所引進的誤差進行內容自適應修正。實驗結果表明,編碼效率和視頻序列的重建質量都得到了顯著的提高。
關鍵詞:可伸縮視頻編碼; 運動補償時域濾波; 圖像組; 最小可覺差
中圖分類號:TN919.8文獻標志碼:A
文章編號:1001-3695(2009)09-3578-03
doi:10.3969/j.issn.1001-3695.2009.09.110
Achievement and improvement for full-scalable video coding
XIANG You-jun, ZHANG Ke-xin, WU Zong-ze, XIE Sheng-li
(School of Electronic Information Engineering, South China University of Technology, Guangzhou 510640, China)
Abstract:This paper presented an improved method for full-scalable video coding. First, offered a full-scalable video coding system, which was based on the motion compensated temporal filter (MCTF), discrete wavelet transforms (DWT) and embedded zero tree wavelet(EZW). In this system, organized the coded bit-stream to achieve the brilliant combination of three main scalabilities: temporal, spatial and PSNR scalabilities. Then, presented adaptive GOP structure and content adaptive update steps based on the property of the human vision system for lifting-based motion-compensated temporal filtering (MCTF). Experimental results show that the coding efficiency and the quality of reconstructed sequence are improved significantly.
Key words:scalable video coding(SVC); MCTF; GOP; JND
可伸縮視頻編碼(SVC)對于可變帶寬下的多媒體傳輸、不同存儲容量的媒體存儲和不同顯示能力的終端都具有重要的意義。到目前為止,實現SVD技術的方法大致上可以劃分為基于小波變換和基于傳統的混合編碼結構的可伸縮技術兩種。前者的代表性技術包括三維提升子帶視頻編碼器(barbell lifting)[1]和運動補償的嵌入式零樹塊編碼器(MC-EZBC)[2~ 4]。后者的代表性技術包括H.264/AVC 的可伸縮性擴展[5]和MPEG-4 的FGS[6]編碼方案。視頻的可伸縮性通常有三種情況,即時域可伸縮、空域可伸縮和質量可伸縮(或稱SNR 可伸縮) 。
本文實現了一種完全可伸縮視頻編碼系統,該系統采用基于Haar小波的提升過程來實現多層基于運動補償的時域濾波(MCTF),增強了時間可伸縮性;采用離散小波二維變換(DWT)實現空間可伸縮性;采用 EZW和自適應算術編碼實現質量(SNR)可伸縮性。在此基礎上,本文針對運動補償時域濾波技術中的GOP結構和更新操作進行了研究,引入GOP結構自適應選擇和基于人眼視覺系統特性的最小可覺差來對MCTF的更新操作進行改善。實驗結果表明,改進后的系統不僅能將時間、空間、質量這三個方面的伸縮性有機地結合起來,實現了完全可伸縮性能,還顯著提高了編碼效率和視頻序列的重建質量。
1 可伸縮性視頻編碼的實現
1.1 實現框架
在圖1中,輸入的視頻首先形成幀組,在幀組間進行運動估計,并進行MCTF去除時間冗余。時間分解后形成的各高低通幀分別進行空域的小波分解,去除空間冗余。子帶經過嵌入式零樹小波編碼 (EZW),與運動矢量一起經熵編碼形成完全可伸縮的輸出碼流。
1.2 基于提升Haar小波的運動補償時域濾波技術
在可伸縮性視頻編碼中,MCTF是實現時間可伸縮性的常用方法。本系統中采用提升Haar小波來實現,提升步驟為
Hk[n]=F2k+1[n]-F2k[n-v2k+1→2k[n]](1)
Lk[n]=F2k[n]+Hk[n-v2k→2k+1[n]]/2(2)
其中:F[n]為原始視頻幀,Hk[n]為高通幀,Lk[n]為低通幀,vi→j[n]表示從第i幀到第j幀作運動估計得到的運動矢量。
多層MCTF可以實現更好的時域伸縮性。用圖2的三層MCTF結構來分析。如果要求幀速率減半,可舍棄四個H,只用其他的幀來重建初始視頻序列。重建的幀是第一層MCTF后的四個低通幀,它們記錄了原始視頻序列的主要信息。如果要求幀速率減少到初始的1/4,可以舍棄四個H和兩個LH,而僅保留剩余的幀。這種分層結構有效地實現了時間(幀速率)可伸縮性。
1.3 二維小波變換
視頻序列經過運動補償時域濾波之后,需要對每一幀圖像進行空域二維濾波,本系統采用9-7 濾波器作為空域濾波器,對每一幀視頻數據進行三級小波分解。圖3給出了視頻幀經過空域二維小波三級分解的示意圖。其中,LL為低頻子帶,記錄了圖像的主要信息;HL、LH、HH分別為三個不同方向的高頻子帶,記錄細節信息。經過運動補償時域濾波和空域二維小波分解之后,視頻序列(例中選8幀為一個GOP)被分成了80個子帶(subband) 。后面的熵編碼將對這80個子帶進行編碼,形成嵌入式碼流。
空域可伸縮性可通過使用低頻子帶加不同的高頻子帶進行圖像的重建來實現,以達到不同的分辨率。
1.4 EZW編碼
EZW編碼由零樹結構結合逐次逼近傳輸實現。零樹結構的目的是為了高效地表示小波變換系數矩陣中非零值的位置(有效值映射)。逐次逼近的量化方法(SAQ)是一個由粗到精的漸進式逼近過程,SAQ按順序使用了一系列閾值T0,T1,…,Tn-1來判斷重要性。其中Ti= Ti-1/2,且2T0>|Xmax|。這里,Xmax是小波變換系數矩陣中的最大絕對值。
在進行有效值映射掃描過程中,會產生主表;在對已發現的有效值進行更加細化表示的副掃描過程中產生了副表。主表的輸出信息起到了恢復各重要值的空間位置結構的作用,而副表的輸出為各重要系數的二進制值。
初始量化閾值T0下,經過編碼,得到第一主表和第一副表,在進行自適應算術編碼后,它們組成第一符號碼流,解碼圖像為原圖像的第一重構圖像,質量最為粗糙;余下的系數在新的量化閾值T1= T0/2下編碼形成第二符號碼流,解碼圖像為原圖像的第二重構圖像,質量優于第一重構圖像。依次下去,完成所有的編碼。
根據編碼的原理,這些符號碼流同樣可由其內在規律進行分層。這樣,可根據用戶對于圖像質量清晰度的要求進行選擇性重構視頻。若是用戶對于質量要求不高,可以在解碼的時候對碼流進行截斷,舍棄后面不重要的層,提取出前面的層進行解碼,實現質量可伸縮性。
2 可伸縮視頻編碼的改進
在可伸縮視頻編碼中,運動補償時域濾波對系統的編碼效率和視頻質量有著非常重要的影響。本文針對運動補償時域濾波技術中的GOP結構和更新操作進行了研究,引入GOP自適應結構選擇和基于人眼視覺系統特性的最小可覺差JND來對MCTF的更新操作進行改善。
2.1 GOP結構的自適應選擇
運動補償時間濾波可以有效地去除連續幀之間的冗余信息,但也是編碼系統中運算復雜度最高的部分。對于運動平滑的序列來說,運行運動補償時間濾波后,相鄰的兩個時域低通幀之間仍然存在很強的相關性,需要作進一步去冗余;而運動劇烈的視頻序列,相鄰低通幀之間存在的相關性較弱,如果繼續作運動補償時間濾波,對去冗余意義不大,而且需要更多的內存開銷和運算量。因此,如何根據視頻序列的運動特征,合理選擇GOP大小,將對提高視頻編碼性能、降低系統內存需求和運算復雜度有著重要的影響。
通常,可供選擇的GOP的大小有16、8、4、2四種。圖4給出了GOP的所有結構組合。聯合可分級視頻編碼模型(joint scalable video model,JSVM),采用MCTF方法把8幀或16幀作為一個圖像組進行時域濾波以提供時間可伸縮,當視頻序列變化時,這種固定GOP的MCTF分解并不能取得很好的編碼效果。根據視頻序列在時間軸上的變化特性,Park 等人提出了自適應圖像組結構來進一步提高編碼效率[7~9]。該算法對每一個GOP(如GOP=16) 要進行GOP=16 ,8 ,4 ,2 的MCTF分解,根據最小的MSE決定選擇相應的圖像分組結構。這種自適應圖像組結構是通過相當于4倍的正常MCTF編碼過程預編碼獲得精確的圖像分組結構,這大大增加了算法實現的復雜度和編碼時延。
本文基于視頻序列的運動特征,以運動矢量來反映運動大小,提出一種自適應選擇GOP結構的方法。該方法使用平均運動矢量作為運動特征的判決條件,定義如下:
aveMV=(1/NMV)∑NMVi=1(|MVi_x|+|MVi_y|)(3)
其中:NMV是該幀的運動矢量個數,MVi_x和MVi_y分別是第i個運動矢量的x分量和y分量。平均運動矢量aveMV大,說明該幀運動劇烈,反之則運動平緩。鑒于視頻序列相鄰幀之間的運動特征相差很小,對于一個GOP而言,可以將其中一幀的平均運動矢量作為全部幀的運動特征判決條件。如果aveMV大,則說明視頻序列運動劇烈,相鄰幀之間的相關性弱,應該選擇GOP小的結構,這樣可以減少運動補償時域分解的次數,降低系統內存需求和運算復雜度;如果aveMV小,則說明視頻序列運動平緩,相鄰幀之間的相關性強,應選擇GOP大的結構,充分去除幀間冗余,提高編碼性能。
為簡單起見,本文選取[2,2,2,2,2,2,2,2],[4,4,4,4],[8,8]和[16]四種結構模式。如果aveMV≥TH1,則GOP選擇第一種;如果TH2≤aveMV
2.2 運動補償時域濾波更新操作的改進
純粹從像素值出發的MSE 準則與人眼的視覺判斷通常有一定的誤差。近年來,人們利用人眼視覺系統(human vision system,HVS)的視覺掩蓋效應提出了一些有效的改進技術,可以針對小波提升中的更新操作所引進的誤差來進行修正。目前,基于MCTF的可伸縮視頻編碼效率還不是很高,而結合HVS有可能在保持視頻可伸縮特性和視覺效果的基礎上,使編碼效率有較大幅度的提高。
在本文中,引入更新約束——HVS中JND的域值來判斷和進行相關的更新操作,從而改善運動補償時域濾波技術的性能。
德國生理學家韋伯于1834 年發現引起差感覺所需要的最小刺激的增量或減量ΔI與原來的刺激強度I的比例是一個常數K,用公式表示就是K=ΔI/I。因此JND隨原有刺激強度I 的增大而增加, 故對圖像不同亮度區域進行同等幅度的修改變動所表現出來的視覺顯示效果不相同。
對1.2節中的Harr小波,其產生的低通幀改記為
Lk[n]=F2k[n]+f{U(F2k[n])}(4)
其中:U(F2k[n])=Hk[n-v2k→2k+1[n]]/2。
f(U(F2k[n]))=
U(F2k[n])|U(F2k[n])|<JNDFk[n](m,n)S
JNDFk[n](m,n)SU(F2k[n])≥JNDFk[n](m,n)S
-JNDFk[n](m,n)SU(F2k[n])≤-JNDFk[n](m,n)S(5)
自適應調整函數f( )中的JND模型為
JNDFk[n](m,n)=1-[1/(1+θσ2Fk(m,n))](6)
其中:σ2Fk(m,n)是以像素點(m ,n)為中心的窗口模塊的局部方差,而θ為調整參數,其計算公式為
θ=D/σ2Fk(m,n)max(7)
其中:σ2Fk(m,n)max是給定視頻幀的最大局部方差;D∈[50,100]是實驗所設定的參數;S為強度因子。
3 實驗結果和分析
3.1 完全可伸縮性能
完全可伸縮性是指時間、空間、質量三方面可伸縮性的同時實現,系統進行三層MCTF、三次DWT、九層EZW編碼,時間提取一層、空間提取一層、質量提取三層后解碼,也即幀速率減為原視頻序列的1/2,空間分辨率降為原始圖像的1/4,PSNR(質量)也比原視頻序列降低了三個級別。圖5給出了重建序列的第一幀圖像。從圖中可以看到,系統可以很好地實現時間、空間、質量三方面的完全可伸縮性。
3.2 改進后系統性能
為了驗證本文所提出的改進的完全可伸縮視頻編碼系統(簡稱為IMC_VCFS)的有效性,表1給出了IMC_VCFS與文獻[3]所提出的系統(簡稱為MC_ EZBC)的性能比較。實驗條件相同。實驗選用四個有代表性的CIF格式的YUV視頻測試序列——Mobile、Stefan、Foreman和Coastguard。選擇這四個序列是因為它們具有十分不同的運動形式和紋理性質。所有的序列都是96幀,幀率為30 fps。
從表1可以看出,與MC_ EZBC方法相比,在同等條件下,無論是運動平緩的還是劇烈的序列,本文提出的IMC_VCFS均可以獲得更好的性能。
圖6給出了Stefan序列使用兩種方法的主觀效果比較。為了更清晰地看到質量上的差別,給出了其中一幀的局部圖像。從(b)和(c)可以看出,本文提出的IMC_VCFS的重構幀序列所顯示的視覺效果更加清晰,特別是對于運動比較劇烈和紋理較多的區域,如背景的字母。
4 結束語
本文實現了一個完全可伸縮視頻編碼系統,很好地實現了時間、空間、質量三方面的可伸縮性。同時,本文引入GOP結構自適應選擇和基于人眼視覺系統特性的最小可覺差來對MCTF的更新操作進行改善。實驗結果表明,改進后的系統提高了視頻編碼性能,降低了系統內存需求和運算復雜度,使得編碼效率和視頻序列的重建質量都得到了顯著的提高。
參考文獻:
[1]XU Ji-zheng, XIONG Rui-qin, FENG Bo, et al. ISO/IEC JTC1/SC29/ WG11 M 10569, 3D sub-band video coding using barbell lif-ting[S]. 2004.
[2]WIEN M, RUSERT T, HANKE K. ISO/IEC JTC1/SC29/WG11/ MPEG2004/M10569/S16, RWTH proposal for scalable video coding technology[S]. 2004.
[3]CHOI S J, WOODS J W. Motion-compensated 3D subband coding of video[J]. IEEE Trans on Image Processing, 1999, 8(2): 155-167.
[4]CHEN P. Fully scalable subband/wavelet coding[D].New York: Rensselaer Technical Institute, 2003.
[5]SCHWARZ H, MARPE D, WIEGAND T. ISO/IEC JTC1/SC29/WG11, Scalable extension of H.264/AVC[S]. 2004.
[6]LI W. Overview of fine granularity scalability in MPEG-4 video standard[J]. IEEE Trans on Circuits and Systems for Video Technology, 2001, 11(3):301-317.
[7]WANG Y G,LIANG F. Improved adaptive group of pictures structure[J].IEE Electronics Letters,2006 , 42(21): 1210-1211.
[8]PARK G H, PARK M W, JEONG S. Adaptive GOP structure for joint scalable video coding[J].IEICE Trans on Commun, 2007, E 90-B(2):431-434.
[9]常錚,卓力,沈蘭蓀. 一種高效的運動補償三維小波視頻編碼方案[J ].電子與信息學報,2006, 28(2):237-241.