趙 爽 陳敬東 陳 敏
(武漢數(shù)字工程研究所 武漢 430205)
?
一種HEVC幀內(nèi)預(yù)測模式快速選擇算法*
趙爽陳敬東陳敏
(武漢數(shù)字工程研究所武漢430205)
針對H.265/HEVC幀內(nèi)預(yù)測模式選擇算法編碼耗時較長,提出一種幀內(nèi)預(yù)測模式快速選擇算法,通過減少參與幀內(nèi)預(yù)測的模式數(shù)量,縮短編碼時間。實驗結(jié)果表明,在全幀內(nèi)、低復(fù)雜度編碼模式下,提出的算法與H.265/HEVC官方測試模型HM16.0相比,編碼時間平均減少22.35%,碼率(BR)增加1.623%,峰值信噪比(PSNR)降低0.081dB。
視頻編碼; H.265/HEVC; 幀內(nèi)預(yù)測
Class NumberTP309.1
隨著互聯(lián)網(wǎng)技術(shù)和網(wǎng)絡(luò)視頻處理技術(shù)的發(fā)展,視頻應(yīng)用日益多樣化和高清化的趨勢,對視頻壓縮性能提出了更高的要求,為此,聯(lián)合視頻編碼組(Joint Collaborative Team on video Coding,JCT-VC)制定了新一代視頻編碼標準H.265/ HEVC。H.265/HEVC在采用H.264/AVC混合視頻編碼框架的基礎(chǔ)上,引入了新的編碼技術(shù),例如基于四叉樹的塊劃分、35種幀內(nèi)預(yù)測模式、自適應(yīng)運動矢量預(yù)測、像素自適應(yīng)補償?shù)?。新技術(shù)的引入,使H.265/HEVC的壓縮效率相比于H.264/AVC提高了近一倍,但是算法的計算復(fù)雜度也大幅增加。如何在保證視頻質(zhì)量的前提下有效地減少編碼時間,已成為H.265/HEVC算法研究中的一個研究熱點。
幀內(nèi)預(yù)測編碼是視頻編碼的一個重要組成部分,其編碼性能直接影響了整個視頻的編碼性能[1]。為提高預(yù)測精度,H.265/HEVC幀內(nèi)預(yù)測引入了35種預(yù)測模式,但同時也增加了編碼過程的計算量和編碼時間。
為了降低H.265/HEVC標準的幀內(nèi)預(yù)測編碼算法的復(fù)雜度、縮短編碼時間,本文提出一種幀內(nèi)預(yù)測模式快速選擇算法,通過減少執(zhí)行率失真優(yōu)化的預(yù)測模式數(shù)目的方法,一定程度提高編碼效率。
2.1HEVC幀內(nèi)預(yù)測模式
H.265/HEVC幀內(nèi)預(yù)測引入了35種預(yù)測模式,包括平面模式(Planar Mode)、DC模式(DC Mode)以及33種角度模式(Angular Mode)。
1) 平面模式
平面模式使用水平和垂直方向的兩個線性濾波器,并將二者的平均值作為當前塊像素的預(yù)測值。這種模式能夠使預(yù)測像素平緩變化,與其他模式相比能夠提升視頻的主觀質(zhì)量。平面模式適用于像素值緩慢變化的區(qū)域[2]。
2) DC模式
DC模式[3]適用于大面積平坦區(qū)域,當前塊的預(yù)測值可由其左側(cè)和上方參考像素的平均值得到。
3) 角度模式
圖1給出了H.265/HEVC幀內(nèi)預(yù)測的33種角度模式的預(yù)測方向,包括其編號和預(yù)測方向。平面模式和DC模式未包含在圖中。
圖1 33種角度模式的預(yù)測方向
2.2HEVC幀內(nèi)預(yù)測率失真優(yōu)化
當前官方測試模型HM16.0編碼器在幀內(nèi)預(yù)測編碼步驟如下:
1) 判斷當前預(yù)測塊相鄰參考像素是否可用并做相應(yīng)處理;
2) 對參考像素進行濾波;
3) 根據(jù)濾波后的參考像素計算當前預(yù)測塊的像素值。
其中,確定最佳幀內(nèi)預(yù)測模式采用的是粗選擇幀內(nèi)預(yù)測模式選擇算法[4],步驟如下:
1) 遍歷所有的35種預(yù)測模式,得到采用每種預(yù)測模式時的殘差信號[5],再對殘差信號利用式(1)進行沃爾什-哈達瑪變換[6](Walsh-Hadamard Transform,WHT)計算SATD值。設(shè)殘差信號方陣為X,SATD為
(1)
其中M為方陣的大小,H為歸一化的M×MHadamard矩陣[7];
2) 按式(2)計算每種預(yù)測模式的率失真代價。
J=D(Mode)+λModeR(Mode)
(2)
其中D(Mode)為SATD值、R(Mode)為該幀內(nèi)預(yù)測模式所需的編碼比特數(shù)。選取率失真代價最小的幾種模式為最可能預(yù)測的模式集。
3) 將已編碼相鄰塊的預(yù)測模式補充到最可能預(yù)測模式集,遍歷最可能預(yù)測模式集中的所有預(yù)測模式,并對殘差信號進行編碼,計算各模式下的率失真代價,選取率失真代價最小的預(yù)測模式作為最優(yōu)幀內(nèi)預(yù)測模式。
3.1幀內(nèi)預(yù)測算法優(yōu)化方向
為降低幀內(nèi)預(yù)測模式選擇的復(fù)雜度,HM16.0利用沃爾什-哈達瑪變換的方法計算率失真代價,這種方法雖然在一定程度上減小了計算復(fù)雜度,但HM16.0采用的粗選擇幀內(nèi)預(yù)測模式選擇算法需要遍歷所有的預(yù)測模式,分別計算其率失真代價,再根據(jù)計算結(jié)果選擇最優(yōu)預(yù)測模式。
H.265/HEVC幀內(nèi)預(yù)測模式有35種之多,遠大于H.264/AVC所使用的幀內(nèi)模式數(shù)量[8]。幀內(nèi)預(yù)測模式的增加,在滿足高清晰度視頻編碼需求的同時,提高了幀內(nèi)預(yù)測編碼在整個編碼框架中所占的比重,也進一步增加了編碼過程的計算量。
因此,在幀內(nèi)編碼峰值信噪比(Peak Signal to Noise Ratio,PSNR)沒有明顯降低的情況下,通過減少參與率失真代價計算的幀內(nèi)預(yù)測模式數(shù)量,可以減少幀內(nèi)預(yù)測編碼時間,從而在保證幀內(nèi)預(yù)測編碼性能的前提下,提高編碼效率。
3.2幀內(nèi)預(yù)測模式快速選擇算法設(shè)計
本算法將35種模式分成若干類,在幀內(nèi)預(yù)測模式選擇過程中,按類依次搜索選擇最優(yōu)預(yù)測模式。幀內(nèi)預(yù)測模式快速選擇算法流程圖如下。
圖2 幀內(nèi)預(yù)測模式快速選擇算法流程圖
算法具體步驟如下:
1) 編碼參考幀圖像
按照HM16.0中幀內(nèi)預(yù)測算法對參考幀圖像進行幀內(nèi)預(yù)測編碼。參考幀圖像幀內(nèi)預(yù)測編碼流程圖如下。
圖3 參考幀圖像幀內(nèi)預(yù)測編碼流程圖
計算參考幀圖像使用最佳預(yù)測模式時的平均率失真代價,記為minJ1。將minJ1作為下一幀圖像的率失真優(yōu)化參考。
2) 編碼下一幀圖像
下一幀圖像幀內(nèi)預(yù)測編碼流程圖如下。
圖4 下一幀圖像幀內(nèi)預(yù)測編碼流程圖
將35種幀內(nèi)預(yù)測模式分為Ⅰ、Ⅱ、Ⅲ、Ⅳ三類,模式0~9為第I類,模式10~17為第Ⅱ類,模式18~25為第Ⅲ類,剩下的為第Ⅳ類。
對尺寸大小為8×8、16×16、32×32的預(yù)測塊先按第Ⅰ類的幾種預(yù)測模式進行幀內(nèi)預(yù)測的算法搜索。將預(yù)測塊在不同預(yù)測模式下產(chǎn)生的率失真代價與minJ1進行比較,選擇率失真代價小于minJ1且失真代價最小的預(yù)測模式作為最佳幀內(nèi)預(yù)測模式,率失真代價大于minJ1的則放棄。
如果第Ⅰ類中沒有率失真代價小于minJ1的預(yù)測模式,那么對預(yù)測塊按第Ⅱ類中的幾種預(yù)測模式進行幀內(nèi)預(yù)測的算法搜索,找到率失真代價小于minJ1的幀內(nèi)預(yù)測模式。
如果第Ⅱ類中也沒有率失真代價小于minJ1的預(yù)測模式,那么對預(yù)測塊按第Ⅲ類、第Ⅳ類中的預(yù)測模式進行幀內(nèi)預(yù)測的算法搜索,直到找到率失真代價小于minJ1的幀內(nèi)預(yù)測模式為止。
如果35種預(yù)測模式中沒有率失真代價小于minJ1的預(yù)測模式,那么選取35種預(yù)測模式中率失真代價最小的預(yù)測模式作為最佳幀內(nèi)預(yù)測模式。
3) 計算在最佳預(yù)測模式下,前兩幀圖像的平均率失真代價,記為minJ2,作為下一幀圖像幀內(nèi)預(yù)測的率失真優(yōu)化參考。以此類推,參考前n幀圖像在最佳幀內(nèi)預(yù)測模式下的平均率失真代價minJn,對第n+1幀圖像進行幀內(nèi)預(yù)測編碼。
4) 參考人眼視覺暫留時值,每編碼20幀圖像后,將下一幀圖像重新作為參考幀,按照HEVC標準算法進行幀內(nèi)預(yù)測編碼。
5) 以此類推,進行剩下視頻幀的幀內(nèi)預(yù)測編碼。
4.1實驗內(nèi)容
使用PC機對測試模型HM16.0的幀內(nèi)預(yù)測算法和改進后的算法進行對比測試,PC機的CPU型號為Intel(R)Core(TM)i3-4150 CPU @ 3.5GHz,內(nèi)存容量為4.00GB。
以官方測試序列Traffic為例,使用全幀內(nèi)、低復(fù)雜度測試條件,對幀內(nèi)預(yù)測模式快速選擇算法進行測試。為便于觀察,選取視頻圖像相同幀相同區(qū)域的局部放大圖像進行對比。圖5為原始視頻圖像,圖6為HM16.0的實驗結(jié)果圖像,圖7為改進后編碼器的實驗結(jié)果圖像。
圖6和圖7中字母的清晰度飽和度略低于圖3中字母,說明經(jīng)H.265/HEVC編解碼后得到的視頻較原始視頻有一定失真。人眼幾乎辨別不出圖6和圖7中字母圖像的差異,說明改進后的幀內(nèi)預(yù)測算法是可行的。
圖5 原始視頻圖像的局部放大
圖6 HM16.0的實驗結(jié)果圖像
圖7 改進后編碼器的實驗結(jié)果圖像
4.2實驗結(jié)果與分析
本文選取部分測試序列,在全幀內(nèi),低復(fù)雜度編碼模式測試條件下,通過實驗對比改進后的幀內(nèi)預(yù)測算法與HM16.0中幀內(nèi)預(yù)測算法的性能差異。
BD-PSNR[9]表示在相同碼率下,兩種算法峰值信噪比變化情況。BD-Rate[9]表示在相同峰值信噪比下,兩種算法之間碼率變化情況。BD-PSNR、BD-Rate使用文獻[9]中的方法獲取。ATS計算方式如式(3)所示:
(3)
RD曲線是指對于選定的視頻測試序列,在不同的量化參數(shù)下編碼后的得到的一組PSNR和碼率值,以碼率為橫軸,PSNR為縱軸得到的二維曲線。PSNR定義為
PSNR值越高,視頻質(zhì)量越高,PSNR值越低,視頻質(zhì)量越低。比較不同編解碼標準或算法的編解碼性能時,通常使用標準測試序列的RD曲線來衡量其優(yōu)劣。
表1為24個官方測試視頻序列[10]的BD-PSNR、BD-Rate以及ATS的測試結(jié)果。通過計算分析表1中數(shù)據(jù)可知,改進后的幀內(nèi)預(yù)測算法以平均增加1.623%碼率的代價,平均減少22.35%的編碼時間,峰值信噪比只損失0.081dB。
圖8為采用測試序列Traffic,得到的HM16.0幀內(nèi)預(yù)測算法和改進后算法的RD曲線對比圖。說明改進后的算法和HM16.0中幀內(nèi)預(yù)測算法編碼質(zhì)量相當。
表1 測試序列實驗結(jié)果
圖8 Traffic測試序列RD曲線
本文提出了一種幀內(nèi)預(yù)測模式快速選擇算法,實驗結(jié)果表明,改進后的算法比HM16.0的編碼時間減少22.35%,而碼率只增加1.623%,編碼效率有所提高。后續(xù)可從編碼單元劃分方式和率失真優(yōu)化方法等方面進一步研究,以期獲得更理想的效果。
[1] Piao Y,Min J,Chen J. Encoder improvement of unified intra prediction[R].In:JCTVC-C207,Guangzhou,OCtober,2010.
[2] Motra A S,Gupta A,Shukla M,et al.Fast intra mode decision for HEVC video encoder[C] //Software,Telecommunications and Computer Networks,2012 20th International Conference on.IEEE,2012:1-5.
[3] Cheng C C,Chang T S.Fast three step intra prediction algorithm for 4×4 blocks in H.264[C]//IEEE International Symposium on Circuits and Systems,2005:1509-1512.
[4] WangJ C,Wang J F,Yang J F,et al. A fast mode decision algorithm and its VLSI design for H.264/AVC intra-prediction[J]. IEEE Transactions on Circuits and Systems for Video Technology,2007,17(10):1414-1422.[5] Jiang W,Ma H,Chen Y.Gradient based fast mode decision algorithm for intra prediction in HEVC[C]//2012 2nd International Conferenceon Consumer Electronics,Communications and Networks(CECNet),2012:1836-1840.
[6] Chen G,Liu Z,Ikenaga T,et al.Fast HEVC intra mode decision using matching edge detector and kernel density estimation alike histogram generation[C]//2013 IEEE InternationalSymposium on Circuits and Systems(ISCAS),2013,53-56.
[7] Kim J,Choe Y,Kim Y G.Fast Coding Unit size decision algorithm for intra coding in HEVC[C]//2013 IEEE International Conference on Consumer Electronics (ICCE),2013:637-638.
[8] GolamSarwer M,Po L M,Jonathan Wu Q M. Fast sum of absolute transformed difference based 4×4 intra-mode decision of H.264/AVC video coding standard[J]. Signal Processing:Image Communication,2008,23(8):571-580.
[9] Meeting report of the 10th meeting of the Joint Collaborative Team on Video Coding[R]. Stockholm,SE,11-20 July 2012.
[10] Meeting report of the 10th meeting of the Joint Collaborative Team on Video Coding[R]. Stockholm,SE,11-20 July 2012.
A Fast Intra Prediction Mode Decision Algorithm for HEVC
ZHAO ShuangCHEN JingdongCHEN Min
(Wuhan Digital Engineering Institute, Wuhan430205)
In order to reduce the encoding time cost in the H.265/HEVC intra prediction mode selection algorithm,a fast intra prediction mode selection algorithm is proposed,by reducing the number of models to participate in intra prediction and shorten the encoding time. Experimental results show that,in full frame,low complexity of coding mode,compared with the H.265/HEVC official test model HM16.0,the proposed algorithm saves 22.35% on average in time for intra-coding,and the bit rate increases 1.623%,the PSNR decreases 0.081dB.
video encoding, H.265/HEVC, intra prediction
2016年4月3日,
2016年5月21日
趙爽,女,碩士研究生,研究方向:現(xiàn)代通信與智能信息處理技術(shù)。
TN919.81
10.3969/j.issn.1672-9722.2016.10.027