王 剛,陳賀新,陳綿書,劉媛媛,3,桑愛軍
(1.吉林大學通信工程學院,長春130022;2.白城師范學院機械工程學院,吉林白城137000;3.吉林農業大學信息技術學院,長春130118)
在混合視頻編碼技術中,編碼器的核心算法是幀間預測。利用幀間預測可去除視頻序列中時間域的冗余信息。它包括整像素運動估計和分像素運動估計。在運動估計中,利用像素間的相關性進行分像素值的內插可提高運動矢量估計的準確性,從而使運動補償過程產生較小的殘差數據。目前,視頻編碼國際標準H.264/AVC[1-3]引入了1/4像素精度運動估計技術提高運動補償的精度,通過6階濾波系數為(1,-5,20,20,-5,1)/32維納濾波器實現參考圖像的二分之一像素插值。四分之一像素插值采用了線性濾波器。實驗證明,高精度的運動補償能夠提高視頻編碼的壓縮效率,在提高了運動預測性能的同時,也帶來了運算量大和存儲操作頻繁等問題[1,3]。濾波器的階數決定了參考數據的讀入量,如何在保證預測準確性的前提下,降低插值的空間復雜度是目前要研究的問題。針對此問題,本文提出了一種新的低復雜度、高效率分像素插值方法-4階濾波系數可變的整數化濾波方法。
H.264/AVC定義了系數為(1,-5,20,20,-5,1)6階濾波器。圖1為6×6像素塊,‘M’到‘U’是整像素。
①整像素的水平、垂直插值濾波。
1/2像素b、aa、ss、ee、kk、dd、s、vv;h、cc、tt、bb、m、ff、pp和uu的樣點值通過對臨近的整像素位置樣點進行水平、垂直方向6階濾波插值計算得到。b和h計算過程如下:

②1/2像素的水平、垂直插值濾波。
1/2像素j、ii、hh、jj、gg、mm、nn、qq、rr的樣點值通過對臨近的1/2像素進行水平或垂直方向(二者得到的結果相等)6階濾波插值計算得到。j計算過程如下:

當1/2像素得到后,1/4像素位置樣本值使用雙線性濾波插值得到。
①整像素、1/2像素的水平、垂直和對角線插值濾波。
1/4像素位置a、c,d、n,e、g、p和r上的值可通過在垂直、水平和對角線方向兩個最近的整像素和1/2像素使用線性插值得到。a、d和e計算過程如下:

②1/2像素水平、垂直插值濾波
1/4像素位置f、i、k和q上的值應該通過在垂直、水平方向計算兩個最近1/2像素的平均值得到。f和i計算過程如下:

對于1/2像素插值算法的改進,采用系數為(c0,c1,c2,c3)/8的雙線性濾波器,并滿足條件: c0,c1,c2,c3均為整數;c0+c1+c2+c3=8。
①整像素的水平、垂直插值濾波。
圖1中,aa、b、s、dd、ee、kk,bb、h、m、cc、ff和pp處的1/2像素可通過對最近的水平、垂直方向整像素應用4階濾波器計算得到。b和h計算過程:
②1/2像素水平、垂直插值濾波。
1/2像素ii、hh、jj、gg、j、mm、nn、qq和rr的樣點值通過對臨近的1/2像素進行水平或垂直方向(二者得到的結果相等)4階濾波器計算得到。例如j計算過程:

對于1/4像素插值算法的改進,本文采用兩個4階系數為(a0,a1,a2,a3)/2n和(b0,b1,b2,b3)/2m的整數化濾波器F1和F2,滿足以下條件: a0,a1,a2,a3及b0,b1,b2,b3均為整數;a0+a1+a2+a3=2n,b0+b1+b2+b3=2m,m=n≥4;a0=b3,a1=b2,a2=b1,a3=b0。
①整像素、1/2像素的水平、垂直和對角線插值濾波。
當1/2像素得到后,圖1中,1/4像素位置a、c,d、n,e、g、p和r上的值可以通過對水平、垂直和對角線方向上兩個最接近的整像素和1/2像素位置使用濾波器F1和F2插值得到。整個計算過程如下:

②1/2像素水平、垂直插值濾波。
圖1中,1/4像素位置i、k,f、q上的值可以通過對水平、垂直方向上四個最接近的1/2像素位置使用濾波器F1和F2插值得到。計算過程如下:

本文給出了m=n=(4、5、6)時,濾波系數(a0,a1,a2,a3)和(b0,b1,b2,b3)的值,而對濾波系數(c0,c1,c2,c3)采用AVS標準中給出的值,具體值如下:

文中從空間和計算復雜度角度對一個4×4的數據塊進行插值比較,表1列出了改進算法與H.264插值方法的復雜度比較。從表1可知,使用H.264標準中6階濾波器需要9×9的參考數據量,而使用本文提出的4階濾波器需要7×7的參考數據量。H.264需要66/8行參考幀數據,而改進算法需要54/8行參考幀數據,改進算法可降低18%的空間復雜度。兩者的計算復雜度接近。

表1 改進算法與H.264插值方法的復雜度比較Table 1 The compare in complexity between the improved algorithm and interpolation method of H.264
把新算法嵌入到H.264的標準參考軟件JM12.1[5-7]進行仿真比較。采用了4個視頻序列Container、Foreman、News和Tenis。其中每個序列由30個CIF幀組成,各編碼100幀,運動估計采用全搜索,搜索半徑為16,選用5個參考幀,熵編碼采用CABAC,編碼結構為IBBPBBPBBP。量化參數QP分別取16、24、32和40。
改進算法與H.264標準中算法的圖像質量比較如表2所示。通過調整量化參數 QP對Container、Foreman、News和Tenis序列編碼進行測試(幀頻為30 Hz)得到算法改進前后碼率-信噪比的比較關系如圖2所示。其中PSNR(dB)表示每個序列亮度信號峰值信噪比,△PSNR為峰值信噪比的增加;Bit-rate(kbit/s)表示編碼碼率,△Bit-rate為平均碼率的增加。從表2和圖2可知,相對于H.264標準中分像素插值算法,改進后的插值算法峰值噪聲比(PSNR)明顯增加,同時比特率(Bit-rate)明顯減少。

表2 改進算法與H.264標準中算法的圖像質量比較Table 2 The com pare in im age quality between the im proved algorithm and algorithm in H.264 standards

圖2 算法改進前后的碼率-信噪比關系曲線Fig.2 The relation of the bit-rate—PSNR-Y before and after im proved algorithm
本文首先給出H.264/AVC分像素插值濾波算法原理,在此基礎之上提出了一種濾波系數可變、系數和不變的分像素插值算法。從目前國際視頻編碼標準H.264/AVC中6階濾波器簡化到4階濾波器,并給出了m=n=(4、5、6)的濾波系數值。仿真結果顯示,該算法與視頻編碼標準H. 264相比,計算復雜度相當,同時降低18%的空間復雜度,并減小存儲面積,提高了編碼性能。
[1]Wilegand T,Sullivab G J,Bjointegaard G,et al.Overview of the H.264 video coding standard[J].IEEE Tansactions on Circuits and Systems for Video Technology,2003,13(7):560-576.
[2]畢厚杰.新一代視頻壓縮編碼標準(H.264/AVC)[M].北京:人民郵電出版社,2005.
[3]張凱.像素插值濾波方法及裝置,解碼方法及系統[P].中國:CN101902632A,2010.
[4]LIU Guo-jun,TANG Xiang-long,HUANG Jian-hua,et al.An image contrast enhancement approach based on fuzzy wavelet[J].ACTA Electronica Sinica,2005,33 (4):643-646.
[5]Fang Yan-long,Zhou Jun.Fast algorithm for H.264 Interpolation[J].Computer Engineering,2006,32(1): 218-223.
[6]Hu Li,Wang Feng,Zhen Shi-bao,et al.A hardware architecture for quarter-pixel interpolation in H.264[J]. Digital Television and Video,2005(10):14-17.
[7]Horowitz M,Joch A,Kossentini F,et al.JVT/H.26L decoder complexity analysis[S].ISO/IEC JTC1/SC29/ WG11 and ITU-TSG16 Q.6,2002.