趙 爽 陳敬東 陳 敏
(武漢數(shù)字工程研究所 武漢 430205)
?
一種HEVC幀內(nèi)預(yù)測模式快速選擇算法*
趙爽陳敬東陳敏
(武漢數(shù)字工程研究所武漢430205)
針對(duì)H.265/HEVC幀內(nèi)預(yù)測模式選擇算法編碼耗時(shí)較長,提出一種幀內(nèi)預(yù)測模式快速選擇算法,通過減少參與幀內(nèi)預(yù)測的模式數(shù)量,縮短編碼時(shí)間。實(shí)驗(yàn)結(jié)果表明,在全幀內(nèi)、低復(fù)雜度編碼模式下,提出的算法與H.265/HEVC官方測試模型HM16.0相比,編碼時(shí)間平均減少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)用日益多樣化和高清化的趨勢,對(duì)視頻壓縮性能提出了更高的要求,為此,聯(lián)合視頻編碼組(Joint Collaborative Team on video Coding,JCT-VC)制定了新一代視頻編碼標(biāo)準(zhǔn)H.265/ HEVC。H.265/HEVC在采用H.264/AVC混合視頻編碼框架的基礎(chǔ)上,引入了新的編碼技術(shù),例如基于四叉樹的塊劃分、35種幀內(nèi)預(yù)測模式、自適應(yīng)運(yùn)動(dòng)矢量預(yù)測、像素自適應(yīng)補(bǔ)償?shù)?。新技術(shù)的引入,使H.265/HEVC的壓縮效率相比于H.264/AVC提高了近一倍,但是算法的計(jì)算復(fù)雜度也大幅增加。如何在保證視頻質(zhì)量的前提下有效地減少編碼時(shí)間,已成為H.265/HEVC算法研究中的一個(gè)研究熱點(diǎn)。
幀內(nèi)預(yù)測編碼是視頻編碼的一個(gè)重要組成部分,其編碼性能直接影響了整個(gè)視頻的編碼性能[1]。為提高預(yù)測精度,H.265/HEVC幀內(nèi)預(yù)測引入了35種預(yù)測模式,但同時(shí)也增加了編碼過程的計(jì)算量和編碼時(shí)間。
為了降低H.265/HEVC標(biāo)準(zhǔn)的幀內(nèi)預(yù)測編碼算法的復(fù)雜度、縮短編碼時(shí)間,本文提出一種幀內(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) 平面模式
平面模式使用水平和垂直方向的兩個(gè)線性濾波器,并將二者的平均值作為當(dāng)前塊像素的預(yù)測值。這種模式能夠使預(yù)測像素平緩變化,與其他模式相比能夠提升視頻的主觀質(zhì)量。平面模式適用于像素值緩慢變化的區(qū)域[2]。
2) DC模式
DC模式[3]適用于大面積平坦區(qū)域,當(dāng)前塊的預(yù)測值可由其左側(cè)和上方參考像素的平均值得到。
3) 角度模式
圖1給出了H.265/HEVC幀內(nèi)預(yù)測的33種角度模式的預(yù)測方向,包括其編號(hào)和預(yù)測方向。平面模式和DC模式未包含在圖中。
圖1 33種角度模式的預(yù)測方向
2.2HEVC幀內(nèi)預(yù)測率失真優(yōu)化
當(dāng)前官方測試模型HM16.0編碼器在幀內(nèi)預(yù)測編碼步驟如下:
1) 判斷當(dāng)前預(yù)測塊相鄰參考像素是否可用并做相應(yīng)處理;
2) 對(duì)參考像素進(jìn)行濾波;
3) 根據(jù)濾波后的參考像素計(jì)算當(dāng)前預(yù)測塊的像素值。
其中,確定最佳幀內(nèi)預(yù)測模式采用的是粗選擇幀內(nèi)預(yù)測模式選擇算法[4],步驟如下:
1) 遍歷所有的35種預(yù)測模式,得到采用每種預(yù)測模式時(shí)的殘差信號(hào)[5],再對(duì)殘差信號(hào)利用式(1)進(jìn)行沃爾什-哈達(dá)瑪變換[6](Walsh-Hadamard Transform,WHT)計(jì)算SATD值。設(shè)殘差信號(hào)方陣為X,SATD為
(1)
其中M為方陣的大小,H為歸一化的M×MHadamard矩陣[7];
2) 按式(2)計(jì)算每種預(yù)測模式的率失真代價(jià)。
J=D(Mode)+λModeR(Mode)
(2)
其中D(Mode)為SATD值、R(Mode)為該幀內(nèi)預(yù)測模式所需的編碼比特?cái)?shù)。選取率失真代價(jià)最小的幾種模式為最可能預(yù)測的模式集。
3) 將已編碼相鄰塊的預(yù)測模式補(bǔ)充到最可能預(yù)測模式集,遍歷最可能預(yù)測模式集中的所有預(yù)測模式,并對(duì)殘差信號(hào)進(jìn)行編碼,計(jì)算各模式下的率失真代價(jià),選取率失真代價(jià)最小的預(yù)測模式作為最優(yōu)幀內(nèi)預(yù)測模式。
3.1幀內(nèi)預(yù)測算法優(yōu)化方向
為降低幀內(nèi)預(yù)測模式選擇的復(fù)雜度,HM16.0利用沃爾什-哈達(dá)瑪變換的方法計(jì)算率失真代價(jià),這種方法雖然在一定程度上減小了計(jì)算復(fù)雜度,但HM16.0采用的粗選擇幀內(nèi)預(yù)測模式選擇算法需要遍歷所有的預(yù)測模式,分別計(jì)算其率失真代價(jià),再根據(jù)計(jì)算結(jié)果選擇最優(yōu)預(yù)測模式。
H.265/HEVC幀內(nèi)預(yù)測模式有35種之多,遠(yuǎn)大于H.264/AVC所使用的幀內(nèi)模式數(shù)量[8]。幀內(nèi)預(yù)測模式的增加,在滿足高清晰度視頻編碼需求的同時(shí),提高了幀內(nèi)預(yù)測編碼在整個(gè)編碼框架中所占的比重,也進(jìn)一步增加了編碼過程的計(jì)算量。
因此,在幀內(nèi)編碼峰值信噪比(Peak Signal to Noise Ratio,PSNR)沒有明顯降低的情況下,通過減少參與率失真代價(jià)計(jì)算的幀內(nèi)預(yù)測模式數(shù)量,可以減少幀內(nèi)預(yù)測編碼時(shí)間,從而在保證幀內(nèi)預(yù)測編碼性能的前提下,提高編碼效率。
3.2幀內(nèi)預(yù)測模式快速選擇算法設(shè)計(jì)
本算法將35種模式分成若干類,在幀內(nèi)預(yù)測模式選擇過程中,按類依次搜索選擇最優(yōu)預(yù)測模式。幀內(nèi)預(yù)測模式快速選擇算法流程圖如下。
圖2 幀內(nèi)預(yù)測模式快速選擇算法流程圖
算法具體步驟如下:
1) 編碼參考幀圖像
按照HM16.0中幀內(nèi)預(yù)測算法對(duì)參考幀圖像進(jìn)行幀內(nèi)預(yù)測編碼。參考幀圖像幀內(nèi)預(yù)測編碼流程圖如下。
圖3 參考幀圖像幀內(nèi)預(yù)測編碼流程圖
計(jì)算參考幀圖像使用最佳預(yù)測模式時(shí)的平均率失真代價(jià),記為minJ1。將minJ1作為下一幀圖像的率失真優(yōu)化參考。
2) 編碼下一幀圖像
下一幀圖像幀內(nèi)預(yù)測編碼流程圖如下。
圖4 下一幀圖像幀內(nèi)預(yù)測編碼流程圖
將35種幀內(nèi)預(yù)測模式分為Ⅰ、Ⅱ、Ⅲ、Ⅳ三類,模式0~9為第I類,模式10~17為第Ⅱ類,模式18~25為第Ⅲ類,剩下的為第Ⅳ類。
對(duì)尺寸大小為8×8、16×16、32×32的預(yù)測塊先按第Ⅰ類的幾種預(yù)測模式進(jìn)行幀內(nèi)預(yù)測的算法搜索。將預(yù)測塊在不同預(yù)測模式下產(chǎn)生的率失真代價(jià)與minJ1進(jìn)行比較,選擇率失真代價(jià)小于minJ1且失真代價(jià)最小的預(yù)測模式作為最佳幀內(nèi)預(yù)測模式,率失真代價(jià)大于minJ1的則放棄。
如果第Ⅰ類中沒有率失真代價(jià)小于minJ1的預(yù)測模式,那么對(duì)預(yù)測塊按第Ⅱ類中的幾種預(yù)測模式進(jìn)行幀內(nèi)預(yù)測的算法搜索,找到率失真代價(jià)小于minJ1的幀內(nèi)預(yù)測模式。
如果第Ⅱ類中也沒有率失真代價(jià)小于minJ1的預(yù)測模式,那么對(duì)預(yù)測塊按第Ⅲ類、第Ⅳ類中的預(yù)測模式進(jìn)行幀內(nèi)預(yù)測的算法搜索,直到找到率失真代價(jià)小于minJ1的幀內(nèi)預(yù)測模式為止。
如果35種預(yù)測模式中沒有率失真代價(jià)小于minJ1的預(yù)測模式,那么選取35種預(yù)測模式中率失真代價(jià)最小的預(yù)測模式作為最佳幀內(nèi)預(yù)測模式。
3) 計(jì)算在最佳預(yù)測模式下,前兩幀圖像的平均率失真代價(jià),記為minJ2,作為下一幀圖像幀內(nèi)預(yù)測的率失真優(yōu)化參考。以此類推,參考前n幀圖像在最佳幀內(nèi)預(yù)測模式下的平均率失真代價(jià)minJn,對(duì)第n+1幀圖像進(jìn)行幀內(nèi)預(yù)測編碼。
4) 參考人眼視覺暫留時(shí)值,每編碼20幀圖像后,將下一幀圖像重新作為參考幀,按照HEVC標(biāo)準(zhǔn)算法進(jìn)行幀內(nèi)預(yù)測編碼。
5) 以此類推,進(jìn)行剩下視頻幀的幀內(nèi)預(yù)測編碼。
4.1實(shí)驗(yàn)內(nèi)容
使用PC機(jī)對(duì)測試模型HM16.0的幀內(nèi)預(yù)測算法和改進(jìn)后的算法進(jìn)行對(duì)比測試,PC機(jī)的CPU型號(hào)為Intel(R)Core(TM)i3-4150 CPU @ 3.5GHz,內(nèi)存容量為4.00GB。
以官方測試序列Traffic為例,使用全幀內(nèi)、低復(fù)雜度測試條件,對(duì)幀內(nèi)預(yù)測模式快速選擇算法進(jìn)行測試。為便于觀察,選取視頻圖像相同幀相同區(qū)域的局部放大圖像進(jìn)行對(duì)比。圖5為原始視頻圖像,圖6為HM16.0的實(shí)驗(yàn)結(jié)果圖像,圖7為改進(jìn)后編碼器的實(shí)驗(yàn)結(jié)果圖像。
圖6和圖7中字母的清晰度飽和度略低于圖3中字母,說明經(jīng)H.265/HEVC編解碼后得到的視頻較原始視頻有一定失真。人眼幾乎辨別不出圖6和圖7中字母圖像的差異,說明改進(jìn)后的幀內(nèi)預(yù)測算法是可行的。
圖5 原始視頻圖像的局部放大
圖6 HM16.0的實(shí)驗(yàn)結(jié)果圖像
圖7 改進(jìn)后編碼器的實(shí)驗(yàn)結(jié)果圖像
4.2實(shí)驗(yàn)結(jié)果與分析
本文選取部分測試序列,在全幀內(nèi),低復(fù)雜度編碼模式測試條件下,通過實(shí)驗(yàn)對(duì)比改進(jìn)后的幀內(nèi)預(yù)測算法與HM16.0中幀內(nèi)預(yù)測算法的性能差異。
BD-PSNR[9]表示在相同碼率下,兩種算法峰值信噪比變化情況。BD-Rate[9]表示在相同峰值信噪比下,兩種算法之間碼率變化情況。BD-PSNR、BD-Rate使用文獻(xiàn)[9]中的方法獲取。ATS計(jì)算方式如式(3)所示:
(3)
RD曲線是指對(duì)于選定的視頻測試序列,在不同的量化參數(shù)下編碼后的得到的一組PSNR和碼率值,以碼率為橫軸,PSNR為縱軸得到的二維曲線。PSNR定義為
PSNR值越高,視頻質(zhì)量越高,PSNR值越低,視頻質(zhì)量越低。比較不同編解碼標(biāo)準(zhǔn)或算法的編解碼性能時(shí),通常使用標(biāo)準(zhǔn)測試序列的RD曲線來衡量其優(yōu)劣。
表1為24個(gè)官方測試視頻序列[10]的BD-PSNR、BD-Rate以及ATS的測試結(jié)果。通過計(jì)算分析表1中數(shù)據(jù)可知,改進(jìn)后的幀內(nèi)預(yù)測算法以平均增加1.623%碼率的代價(jià),平均減少22.35%的編碼時(shí)間,峰值信噪比只損失0.081dB。
圖8為采用測試序列Traffic,得到的HM16.0幀內(nèi)預(yù)測算法和改進(jìn)后算法的RD曲線對(duì)比圖。說明改進(jìn)后的算法和HM16.0中幀內(nèi)預(yù)測算法編碼質(zhì)量相當(dāng)。
表1 測試序列實(shí)驗(yàn)結(jié)果
圖8 Traffic測試序列RD曲線
本文提出了一種幀內(nèi)預(yù)測模式快速選擇算法,實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的算法比HM16.0的編碼時(shí)間減少22.35%,而碼率只增加1.623%,編碼效率有所提高。后續(xù)可從編碼單元?jiǎng)澐址绞胶吐适д鎯?yōu)化方法等方面進(jìn)一步研究,以期獲得更理想的效果。
[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