劉小杰 郜廣蘭 任 剛 狄文輝
(河南工學(xué)院計算機科學(xué)與技術(shù)學(xué)院,河南 新鄉(xiāng)453000)
每一代視頻編碼標準相比上一代都會有將近50%的編碼效率提升[1,2]。HEVC標準相比H.264/AVC做了許多改進,但仍然屬于基于塊的混合編碼框架,即HEVC(High Efficiency Video Coding)仍然是圍繞預(yù)測,變換/量化,環(huán)路濾波和熵編碼進行提升。HEVC預(yù)測方面改進主要圍繞編碼單元,幀內(nèi)預(yù)測和幀間預(yù)測[3-5];HEVC變換編碼支持更大的尺寸的變換,由16×16增大到32×32,并且新增了DST(Discrete Sine Transform)變換和跳過變換模式(Transform Skip)[6];環(huán)路濾波主要改進了原來的Deblocking Filter(DF)技術(shù)和新增了樣點自適應(yīng)補償技術(shù)(SAO,Sample Adaptive Offset)工具;熵編碼不再支持CAVLC技術(shù),針對HEVC框架中變換后系數(shù)的特性,HEVC變換系數(shù)編碼進行了相應(yīng)的優(yōu)化。針對高碼率下HEVC幀間固定插值濾波器無法自適應(yīng)于視頻內(nèi)容,本文提出了一種幀間自適應(yīng)插值算法,對于每個編碼單元有兩組插值濾波器,每個編碼單元可以自適應(yīng)的選擇一組插值濾波器,然后將相應(yīng)的濾波器選擇結(jié)果編入碼流中。將所提出的算法應(yīng)用于HEVC參考模型HM中,在Low Delay P配置文件下,QP ISlice分別設(shè)置為12、15、18和21,所提出的算法平均提升5.29%的編碼效率,對于Kimono測試序列有11.82%的編碼效率提升。
HEVC亞像素運動搜索采用最高精度為1/4的亞像素運動搜索,進行亞像素運動搜索首先需要估計出亞像素,亞像素由固定插值濾波器與整數(shù)像素做內(nèi)積得到。HEVC亮度分量使用的固定插值濾波器如表1所示,一共有三組插值濾波器f1,f2和f3,其中f1和f 3為七抽頭插值濾波器,f2為8抽頭插值濾波器。逆序f1濾波器的系數(shù)即可得到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直接與整像素做內(nèi)積得到,其他位置亞像素由插值濾波器與亞像素a,b和c做內(nèi)積得到。亞像素a,b,c,d,h和n可以由公式(1)得到,其中>>表示右移運算。
圖1 HEVC亮度分量亞像素示意圖
其他位置亞像素點e,f,g,i,j,k,p,q和r由公式(2)得到。
在原有HEVC插值濾波器基礎(chǔ)上,新增一組插值濾波器如表2所示。每個編碼塊可以根據(jù)率失真代價從表1和表2這兩組濾波器選擇一種,率失真代價如公式(3)所示。
表2 亮度分量新插值濾波器
其中SATD(Sum of Absolute Transformed Difference)表示當(dāng)前塊的經(jīng)過亞像素插值以后的殘差進行哈達瑪變換(Hadamard Transform,HT)以后的系數(shù)絕對值之和,λ表示拉格朗日乘子,B表示編碼當(dāng)前塊選擇濾波器的結(jié)果符號位所消耗的比特數(shù)(Bits)。
編碼插值濾波器選擇的結(jié)果在編碼運動向量之后,這樣當(dāng)亞像素運動向量為0,則不需要傳輸把濾波器選擇結(jié)果。
將所提出算法應(yīng)用到HEVC參考軟件HM12.1中,采用Low Delay P配置文件,QPISlice分別設(shè)置為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)來評價實驗結(jié)果[7],負值表示碼率節(jié)省。測試序列可以在參考文獻[8]中找到,視頻格式全部采用YUV420。在視頻格式為YUV420中,編碼效率主要由亮度層決定,因此我們把所提出的方案僅應(yīng)用到亮度層。
實驗結(jié)果如表3所示,與HEVC相比,所提出的算法在亮度層平均可以提升5.29%的編碼效率,平均提升PSNR達0.07dB。對于Kimono序列,本算法編碼效率提升達到了11.82%。
表3 所提出算法與HEVC的編碼效率比較
針對HEVC高碼率下的幀間插值,本文提出一種幀間自適應(yīng)插值算法,該算法可以有效提升幀間編碼效率,最高可以達到11.82%。所提出的算法僅應(yīng)用于亮度層,將來可以將所提出算法應(yīng)用到色度層。從本文也可以看出高碼率下的視頻編碼仍然有很大的提升空間,尤其是幀間亞像素運動補償模塊。