劉小杰 郜廣蘭 任 剛 狄文輝
(河南工學院計算機科學與技術學院,河南 新鄉453000)
每一代視頻編碼標準相比上一代都會有將近50%的編碼效率提升[1,2]。HEVC標準相比H.264/AVC做了許多改進,但仍然屬于基于塊的混合編碼框架,即HEVC(High Efficiency Video Coding)仍然是圍繞預測,變換/量化,環路濾波和熵編碼進行提升。HEVC預測方面改進主要圍繞編碼單元,幀內預測和幀間預測[3-5];HEVC變換編碼支持更大的尺寸的變換,由16×16增大到32×32,并且新增了DST(Discrete Sine Transform)變換和跳過變換模式(Transform Skip)[6];環路濾波主要改進了原來的Deblocking Filter(DF)技術和新增了樣點自適應補償技術(SAO,Sample Adaptive Offset)工具;熵編碼不再支持CAVLC技術,針對HEVC框架中變換后系數的特性,HEVC變換系數編碼進行了相應的優化。針對高碼率下HEVC幀間固定插值濾波器無法自適應于視頻內容,本文提出了一種幀間自適應插值算法,對于每個編碼單元有兩組插值濾波器,每個編碼單元可以自適應的選擇一組插值濾波器,然后將相應的濾波器選擇結果編入碼流中。將所提出的算法應用于HEVC參考模型HM中,在Low Delay P配置文件下,QP ISlice分別設置為12、15、18和21,所提出的算法平均提升5.29%的編碼效率,對于Kimono測試序列有11.82%的編碼效率提升。
HEVC亞像素運動搜索采用最高精度為1/4的亞像素運動搜索,進行亞像素運動搜索首先需要估計出亞像素,亞像素由固定插值濾波器與整數像素做內積得到。HEVC亮度分量使用的固定插值濾波器如表1所示,一共有三組插值濾波器f1,f2和f3,其中f1和f 3為七抽頭插值濾波器,f2為8抽頭插值濾波器。逆序f1濾波器的系數即可得到f3。可以觀察到f2具有對稱性。

表1 HEVC亮度分量插值濾波器
HEVC亮度層整像素和亞像素的位置如圖1所示,其中大寫字母Ai,j表示第j行和第i列的整像素,小寫字母a,b,c,d,e,f,g,h,i,j,k,n,p,q和r表示 亞像素。其中水平方向亞像素和豎直方向的亞像素a,b,c,d,h和n可直接由插值濾波器f1,f2和f3直接與整像素做內積得到,其他位置亞像素由插值濾波器與亞像素a,b和c做內積得到。亞像素a,b,c,d,h和n可以由公式(1)得到,其中>>表示右移運算。

圖1 HEVC亮度分量亞像素示意圖

其他位置亞像素點e,f,g,i,j,k,p,q和r由公式(2)得到。

在原有HEVC插值濾波器基礎上,新增一組插值濾波器如表2所示。每個編碼塊可以根據率失真代價從表1和表2這兩組濾波器選擇一種,率失真代價如公式(3)所示。

表2 亮度分量新插值濾波器

其中SATD(Sum of Absolute Transformed Difference)表示當前塊的經過亞像素插值以后的殘差進行哈達瑪變換(Hadamard Transform,HT)以后的系數絕對值之和,λ表示拉格朗日乘子,B表示編碼當前塊選擇濾波器的結果符號位所消耗的比特數(Bits)。
編碼插值濾波器選擇的結果在編碼運動向量之后,這樣當亞像素運動向量為0,則不需要傳輸把濾波器選擇結果。
將所提出算法應用到HEVC參考軟件HM12.1中,采用Low Delay P配置文件,QPISlice分別設置為12、15、18和21,采用了5個測試序列,分別是Nebuta Festival(2560×1600)、Kimono(1920×1080)、BQTerrace(1920×1080)、BasketballDive(1920×1 080)和Vidyo3(1280×720),使用BD-Rate(Bjontegaard-Delta Rate)來評價實驗結果[7],負值表示碼率節省。測試序列可以在參考文獻[8]中找到,視頻格式全部采用YUV420。在視頻格式為YUV420中,編碼效率主要由亮度層決定,因此我們把所提出的方案僅應用到亮度層。
實驗結果如表3所示,與HEVC相比,所提出的算法在亮度層平均可以提升5.29%的編碼效率,平均提升PSNR達0.07dB。對于Kimono序列,本算法編碼效率提升達到了11.82%。

表3 所提出算法與HEVC的編碼效率比較
針對HEVC高碼率下的幀間插值,本文提出一種幀間自適應插值算法,該算法可以有效提升幀間編碼效率,最高可以達到11.82%。所提出的算法僅應用于亮度層,將來可以將所提出算法應用到色度層。從本文也可以看出高碼率下的視頻編碼仍然有很大的提升空間,尤其是幀間亞像素運動補償模塊。