王 剛, 陳賀新, 陳綿書
(1. 吉林大學(xué) 通信工程學(xué)院, 長春 130012; 2. 白城師范學(xué)院 機(jī)械工程學(xué)院, 吉林 白城 137000)
自國際視頻編碼標(biāo)準(zhǔn)H.264/AVC發(fā)布后, 自適應(yīng)分像素插值技術(shù)即成為該領(lǐng)域的研究熱點(diǎn). 針對H.264/AVC標(biāo)準(zhǔn)中亮度分量采用6階固定系數(shù)的Wiener濾波器不能進(jìn)一步提高運(yùn)動(dòng)估計(jì)預(yù)測準(zhǔn)確度的問題, Vatis等[1-2]提出了二維不可分離的自適應(yīng)插值濾波(NS-AIF)算法, NS-AIF算法根據(jù)預(yù)測誤差能量最小的準(zhǔn)則求解Wiener方程獲得濾波器系數(shù), 進(jìn)而提高運(yùn)動(dòng)估計(jì)的預(yù)測準(zhǔn)確度. 由于NS-AIF算法在編碼碼流中需要360個(gè)插值濾波器系數(shù), 較大的碼率開銷降低了編碼性能. 為了解決該問題, Kemal等[3]提出了可變對稱性自適應(yīng)插值濾波(FS-AIF)算法; 李宏偉等[4]提出了一種快速多對稱性自適應(yīng)插值濾波(FMS-AIF)算法; Wittman等[5]提出了可分離的自適應(yīng)插值濾波(S-AIF)算法, S-AIF算法雖提高了不同視頻序列的編碼效率, 但硬件實(shí)現(xiàn)計(jì)算復(fù)雜度較高, 時(shí)延較大, 不利于解碼器實(shí)時(shí)解碼; Rusanovskyy等[6-7]提出了方向性自適應(yīng)插值濾波(D-AIF)算法, D-AIF算法降低了計(jì)算復(fù)雜度, 并減少時(shí)延, 但對不同特性視頻序列編碼的魯棒性較差; 文獻(xiàn)[8-9]提出了混合多方向自適應(yīng)分像素插值(CMD-AIF)算法, CMD-AIF算法雖提高了編碼效率, 具有較好的編碼魯棒性, 但時(shí)延增加.
目前, 自適應(yīng)分像素插值算法均在H.264/AVC視頻編碼框架下完成編碼, 通過求解Wiener方程得到可變?yōu)V波器系數(shù), 通過濾波器系數(shù)的變化而獲得較高的編碼增益, 但同時(shí)也增加了解碼計(jì)算復(fù)雜度. 為了解決上述問題, 本文提出一種基于HEVC的自適應(yīng)插值濾波(AIF-HEVC)算法. AIF-HEVC算法在視頻編碼標(biāo)準(zhǔn)HEVC框架下進(jìn)行編碼, 提高視頻編碼效率, 通過濾波器系數(shù)對稱優(yōu)化, 降低碼流所需濾波器系數(shù)和解碼計(jì)算復(fù)雜度.
自適應(yīng)分像素插值濾波器就是利用整像素點(diǎn)Ai,j的值計(jì)算分像素點(diǎn)ai,j,bi,j,…,qi,j,ri,j的值. 利用HEVC視頻編碼框架, 編碼過程如圖1所示. 在HEVC視頻編碼標(biāo)準(zhǔn)中, 亮度運(yùn)動(dòng)補(bǔ)償?shù)姆窒袼匚恢貌捎孟禂?shù)為(-1,4,-10,58,17,-5,1,0),(-1,4,-11,40,40,-11,4,-1),(0,1,-5,17,58,-10,4,-1)的濾波器進(jìn)行插值計(jì)算得到[10-12]. 無需像H.264/AVC[12]中先要進(jìn)行Wiener濾波, 之后再進(jìn)行雙向?yàn)V波. 由于僅需一次濾波計(jì)算, 因此插值過程高效、 簡單.
圖1 基于HEVC的自適應(yīng)插值算法編碼過程Fig.1 Encoding process of adaptive interpolation algorithm based on HEVC
分像素點(diǎn)a0,0,b0,0,c0,0值使用8階濾波器對水平方向上最接近整像素(A-3,0,A-2,0,A-1,0,A0,0,A1,0,A2,0,A3,0,A4,0)插值得到, 計(jì)算過程如下:
其中:
插值過程如圖2所示.
分像素點(diǎn)d0,0,h0,0,n0,0值使用8階濾波器對垂直方向上最接近整像素(A0,-3,A0,-2,A0,—1,A0,0,A0,1,A0,2,A0,3,A0,4)插值得到, 計(jì)算過程如下:
其中:
插值過程如圖3所示.
圖2 AIF-HEVC插值結(jié)構(gòu)分像素點(diǎn)a0,0,b0,0,c0,0插值示意圖Fig.2 Pixel points a0,0,b0,0,c0,0 interpolation schematic of AIF-HEVC interpolation structure
圖3 AIF-HEVC插值結(jié)構(gòu)分像素點(diǎn)d0,0,h0,0,n0,0插值示意圖Fig.3 Pixel points d0,0,h0,0,n0,0 interpolation schematic of AIF_HEVC interpolation structure
1/2像素點(diǎn)j0,0值使用8階濾波器對對角線方向上最接近整像素(A-3,-3,A-2,-2,A-1,-1,A0,0,A1,1,A2,2,A3,3,A4,4)或(A-3,4,A-2,3,A-1,2,A0,1,A1,0,A2,-1,A3,-2,A4,-3)插值得到, 計(jì)算過程如下:
j0,0= (h1,j×A-3,-3+h2,j×A-2,-2+h3,j×A-1,-1+h4,j×A0,0+
h5,j×A1,1+h6,j×A2,2+h7,j×A3,3+h8,j×A4,4)/J,
(7)
1/4像素點(diǎn)e0,0,r0,0值使用8階濾波器對對角線方向上最接近整像素(A-3,-3,A-2,-2,A-1,-1,A0,0,A1,1,A2,2,A3,3,A4,4)插值得到, 計(jì)算過程如下:
1/4像素點(diǎn)g0,0,p0,0值使用8階濾波器對對角線方向上最接近整像素(A-3,4,A-2,3,A-1,2,A0,1,A1,0,A2,-1,A3,-2,A4,-3)插值得到, 計(jì)算過程如下:
圖4 AIF-HEVC插值結(jié)構(gòu)分像素點(diǎn)j0,0插值示意圖Fig.4 Pixel point j0,0 interpolation schematic of AIF-HEVC interpolation structure
圖5 AIF-HEVC插值結(jié)構(gòu)分像素點(diǎn)e0,0,r0,0插值示意圖Fig.5 Pixel points e0,0,r0,0 interpolation schematic of AIF-HEVC interpolation structure
圖6 AIF-HEVC插值結(jié)構(gòu)分像素點(diǎn)p0,0,g0,0插值示意圖Fig.6 Pixel points p0,0,g0,0 interpolation schematic of AIF-HEVC interpolation structure
1/4像素點(diǎn)f0,0,q0,0值使用8階濾波器對對角線方向上最接近整像素(A-3,-3,A-2,-2,A-1,-1,A0,0,A4,-3,A3,-2,A2,-1,A1,0)和(A-3,4,A-2,3,A-1,2,A0,1,A4,4,A3,3,A2,2,A1,1)插值得到, 計(jì)算過程如下:
其中:
插值過程如圖7所示.
1/4像素點(diǎn)i0,0,k0,0值使用8階濾波器對對角線方向上最接近的整像素(A-3,-3,A-2,-2,A-1,-1,A0,0,A-3,4,A-2,3,A-1,2,A0,1)和(A4,-3,A3,-2,A2,-1,A1,0,A4,4,A3,3,A2,2,A1,1)插值得到, 計(jì)算過程如下:
其中:
插值過程如圖8所示.
圖7 AIF-HEVC插值結(jié)構(gòu)分像素點(diǎn)f0,0,q0,0插值示意圖Fig.7 Pixel points f0,0,q0,0 interpolation schematic of AIF-HEVC interpolation structure
圖8 AIF-HEVC插值結(jié)構(gòu)分像素點(diǎn)i0,0,k0,0插值示意圖Fig.8 Pixel points i0,0,k0,0 interpolation schematic of AIF-HEVC interpolation structure
自適應(yīng)插值濾波器根據(jù)預(yù)測殘差最小化的原則為每個(gè)分像素點(diǎn)計(jì)算濾波系數(shù). 分像素插值系數(shù)在編碼器端經(jīng)過局部數(shù)據(jù)訓(xùn)練得到.
1) 分像素點(diǎn)a0,0,b0,0,c0,0水平方向插值濾波系數(shù)計(jì)算過程如下:
(17)
整理式(18)可得
(19)
通過求解式(19)可得分像素點(diǎn)a0,0,b0,0,c0,0的插值濾波系數(shù).
2) 分像素點(diǎn)d0,0,h0,0,n0,0垂直方向插值濾波系數(shù)計(jì)算過程如下:
(20)
(21)
通過求解式(21)可得分像素點(diǎn)d0,0,h0,0,n0,0的插值濾波系數(shù).
3) 分像素點(diǎn)j0,0,e0,0,r0,0,f0,0,q0,0,i0,0,k0,0,g0,0,p0,0對角線方向?yàn)V波系數(shù)計(jì)算過程如下:
(22)
(23)
通過求解式(23)可得分像素點(diǎn)j0,0,e0,0,r0,0,,f0,0,q0,0,i0,0,k0,0,g0,0,p0,0的插值濾波系數(shù).
為減少計(jì)算插值濾波器系數(shù)的數(shù)據(jù)量, 同時(shí)提高不同紋理特性的視頻圖像魯棒性, 本文對各分像素點(diǎn)的系數(shù)進(jìn)行對稱性優(yōu)化假設(shè).
1) 水平方向分像素a0,0和c0,0采取鏡像倒轉(zhuǎn)的插值濾波系數(shù), 計(jì)算過程如下:
hia=h(9-i)c,i=1,2,…,8;
(24)
分像素b0,0采用插值濾波系數(shù)對稱性, 計(jì)算過程如下:
h1b=h8b,h2b=h7b,h3b=h6b,h4b=h5b.
(25)
2) 垂直方向分像素d0,0和n0,0采取鏡像倒轉(zhuǎn)的插值濾波系數(shù), 計(jì)算過程如下:
hid=h(9-i)n,i=1,2,…,8;
(26)
分像素h0,0采用插值濾波系數(shù)對稱性, 計(jì)算過程如下:
h1h=h8h,h2h=h7h,h3h=h6h,h4h=h5h.
(27)
3) 水平方向分像素a0,0,b0,0,c0,0和垂直方向分像素d0,0,h0,0,n0,0采用相同插值濾波系數(shù), 計(jì)算過程如下:
4) 對角線方向分像素j0,0采用插值濾波系數(shù)對稱性, 計(jì)算過程如下:
h1j=h8j,h2j=h7j,h3j=h6j,h4j=h5j;
(31)
分像素e0,0和r0,0及g0,0和p0,0采用鏡像倒轉(zhuǎn)的插值濾波系數(shù), 計(jì)算過程如下:
分像素f0,0和q0,0及i0,0和k0,0采用鏡像相同插值濾波系數(shù), 計(jì)算過程如下:
hif=hiq,i=1,2,…,8,
(34)
hii=hik,i=1,2,…,8.
(35)
由上述分析可知, 對濾波系數(shù)進(jìn)行對稱優(yōu)化假設(shè)可減少計(jì)算插值濾波器系數(shù)的數(shù)據(jù)量, 降低求解插值濾波器系數(shù)的計(jì)算復(fù)雜度. 圖9為5種自適應(yīng)插值濾波算法的濾波器系數(shù)比較結(jié)果. 由圖9可見, 相對NS-AIF算法和S-AIF算法, AIF-HEVC算法所需濾波器系數(shù)大幅度降低, 與MD-AIF算法濾波器系數(shù)相當(dāng), 但高于D-AIF算法. 圖10為不同算法的濾波器乘法數(shù)和加法數(shù)比較結(jié)果. 由圖10可見, 相對S-AIF算法、 D-AIF算法和MD-AIF算法, AIF-HEVC算法極大降低了計(jì)算復(fù)雜度.
圖9 不同算法所需濾波器系數(shù)比較結(jié)果Fig.9 Comparison results of filter coefficients for different algorithms
圖10 不同算法的濾波器乘法數(shù)和加法數(shù)比較結(jié)果Fig.10 Comparison results of multiplicative number and addition number of filter for different algorithms
為了測試本文算法的性能, 在HM10.0[13]上做IPPP編碼結(jié)構(gòu)的仿真實(shí)驗(yàn). 選取HEVC的5種等級視頻測試序列, 分別為Traffic,Park Scene,Vidyo1,Basketball Drill和Basketball Pass. 運(yùn)動(dòng)估計(jì)采用全搜索, 搜索范圍為64, 幀率為30幀/s, GOP長度為4幀, 共編碼100幀, 量化參數(shù)QP分別取20,24,28,32,36. 基于IPPP預(yù)測結(jié)構(gòu)不同分像素插值結(jié)構(gòu)編碼性能, 結(jié)果列于表1.
表1 IPPP編碼預(yù)測結(jié)構(gòu)實(shí)驗(yàn)結(jié)果
表1中Δ Bitrate計(jì)算公式如下:
(36)
其中: Bitrateother為D-AIF算法、 CMD-AIF算法和AIF-HEVC算法的比特率; BitrateS-AIF為S-AIF算法的比特率. 由表1可見: 相對S-AIF算法, D-AIF算法使PSNR值平均降低0.16 dB, 碼率平均提高0.83%; CMD-AIF算法使PSNR值平均提高0.13 dB, 碼率平均降低0.49%; AIF-HEVC算法使PSNR值平均提高0.44 dB, 碼率平均降低4.18%.
通過仿真測試得到不同視頻序列IPPP編碼結(jié)構(gòu)的碼率-信噪比關(guān)系曲線, 分別如圖11~圖15所示. 由圖11~圖15可見, 相對于其他算法, 本文算法提高了峰值信噪比(PSNR), 并減少了輸出碼率, 魯棒性較強(qiáng).
圖11 Traffic序列碼率-峰值信噪比關(guān)系曲線Fig.11 Relation curves of bit rate-PSNR of Traffic sequence
圖12 Park Scene序列碼率-峰值信噪比關(guān)系曲線Fig.12 Relation curves of bit rate-PSNR of Park Scene sequence
圖13 Vidyol序列碼率-峰值信噪比關(guān)系曲線Fig.13 Relation curves of bit rate-PSNR of Vidyol sequence
圖14 Basketball Drill序列碼率-峰值信噪比關(guān)系曲線Fig.14 Relation curves of bit rate-PSNR of Basketball Drill sequence
圖15 Basket Pass序列碼率-峰值信噪比關(guān)系曲線Fig.15 Relation curves of bit rate-PSNR of Basketball Pass sequence
綜上所述, 本文針對目前自適應(yīng)分像素插值算法(NS-AIF算法, S-AIF算法, D-AIF算法和CMD-AIF算法)均基于H.264/AVC視頻編碼框架, 在提高編碼增益的同時(shí)也增加解碼計(jì)算復(fù)雜度的問題, 提出了一種基于HEVC的自適應(yīng)插值濾波算法. 該算法先在HEVC視頻編碼標(biāo)準(zhǔn)框架進(jìn)行編碼, 提高視頻編碼效率, 再通過濾波器系數(shù)對稱優(yōu)化, 降低了碼流所需濾波器系數(shù)和解碼計(jì)算復(fù)雜度. 復(fù)雜度分析結(jié)果表明: 與其他算法相比, AIF-HEVC算法乘法復(fù)雜度最高降229%, 加法復(fù)雜度最高降245%. 編碼性能分析表明: 相對其他算法, AIF-HEVC算法有明顯的編碼增益, 并降低了碼率, 具有較好的魯棒性.
[1] Vatis Y, Ostermann J. Adaptive Interpolation Filter for H.264/AVC [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2009, 19(2): 179-192.
[2] Vatis Y, Edler B, Nguyen D T, et al. Two-Dimensional Non-separable Adaptive Wiener Interpolation Filters for H.264/AVC [R]. Busan, South Korea: ITU-T, 2005.
[3] Kemal U, Jani L, Moncef G.Interpolation Filters with Different Symmetry Properties [EB/OL]. 2007-01-04. http://wftp3.itu.int/av-arch/video-site/0701_Mar/VCEG-AE21.zip.
[4] 李宏偉, 張捷, 吳成柯, 等. 多對稱性快速自適應(yīng)插值濾波算法 [J]. 吉林大學(xué)學(xué)報(bào)(工學(xué)版), 2011, 41(5): 1485-1490. (LI Hongwei, ZHANG Jie, WU Chengke, et al. Fast Multi-symmetry Adaptive Interpolation Filter Algorithm [J]. Journal of Jilin University (Engineering and Technology Edition), 2011, 41(5): 1485-1490.)
[5] Wittman S, Wedi T. Separable Adaptive Interpolation Filter [R]. Geneva, Switzerland: ITU-T, 2007.
[6] Rusanovskyy D,Ugur K, Hallapuro A, et al. Video Coding with Low-Complexity Directional Adaptive Interpolation Filters [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2009, 19(8): 1239-1243.
[7] Rusanovskyy D, Ugur K. Adaptive Interpolation with Directional Filters [R]. Shenzhen: ITU-T, 2007.
[8] WU Zhongmou, HE Yun. Combined Adaptive-Fixed Interpolation with Multi-directional Filters [J]. Signal Processing: Image Communication, 2009, 24(4): 277-286.
[9] 劉曉彤. 高效視頻編碼中自適應(yīng)插值濾波器的研究 [D]. 長春: 吉林大學(xué), 2014. (LIU Xiaotong. Study on Adaptive Interpolation Filter in HEVC [D]. Changchun: Jilin University, 2014.)
[10] 陸寄遠(yuǎn), 劉宇熹, 侯昉, 等. HEVC的高效分像素運(yùn)動(dòng)補(bǔ)償 [J]. 軟件學(xué)報(bào), 2017, 28(8): 2214-2226. (LU Jiyuan, LIU Yuxi, HOU Fang, et al. High Efficiency Algorithm of Fractional Pixel Motion Compensation for HEVC [J]. Journal of Software, 2017, 28(8): 2214-2226.)
[11] 王剛, 陳賀新, 陳綿書. 基于自適應(yīng)選擇濾波系數(shù)的插值算法 [J]. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版), 2017, 35(2): 111-119. (WANG Gang, CHEN Hexin, CHEN Mianshu. Interpolation Algorithm Based on Adaptive Selection Filter Coefficients [J]. Journal of Jilin University (Information Science Edition), 2017, 35(2): 111-119.)
[12] 王剛, 陳賀新, 陳綿書. 面向HEVC的高效插值濾波VLSI架構(gòu)設(shè)計(jì) [J]. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版), 2017, 35(3): 221-228. (WANG Gang, CHEN Hexin, CHEN Mianshu. Design of HEVC-Oriented High-Efficiency Interpolation Filtering VLSI Architecture [J]. Journal of Jilin University (Information Science Edition), 2017, 35(3): 221-228.)
[13] McCann K, Bross B, Han W J, et al. High Efficiency Video Coding Test Model10 (HM10) Encoder Description [R]. Geneva: JCTVC, 2013.