田小平,田永召
(1.西安郵電大學(xué) 電子工程學(xué)院,陜西 西安710121; 2.西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安710121)
高性能視頻編碼(High Efficiency Video Coding,HEVC)是由視頻編碼聯(lián)合協(xié)作專家組(Joint Collaborative Team on Video Coding,JCT-VC)組織開發(fā),在2013年1月正式發(fā)布的新一代視頻編碼標(biāo)準(zhǔn)。HEVC更傾向于處理高清頻,旨在允許編碼復(fù)雜度增加的前提下實(shí)現(xiàn)同等質(zhì)量時(shí)比現(xiàn)行的高級(jí)視頻編碼(H.264/MPEG-4Advance Video Coding,H.264/AVC)降低50%比特率的目的。
HEVC基本沿用了H.264/AVC的編碼框架,但在細(xì)節(jié)處做了優(yōu)化,也提出了眾多新技術(shù)[1]。與此同時(shí),新技術(shù)的出現(xiàn)也導(dǎo)致了編碼復(fù)雜度的增加。而交互類應(yīng)用要求低時(shí)延的特性,使得對(duì)HEVC在這一類領(lǐng)域上的應(yīng)用提出了質(zhì)疑。因此,有必要對(duì)HEVC編碼性能及復(fù)雜度進(jìn)行具體分析。
本文以H.264/AVC為參考,首先從基本編碼單元結(jié)構(gòu)、幀內(nèi)預(yù)測(cè)、幀間預(yù)測(cè)及熵編碼等方面對(duì)HEVC的編碼效率和編碼復(fù)雜度進(jìn)行了定性分析;其次,選取兩個(gè)交互應(yīng)用視頻序列進(jìn)行了測(cè)試,定量分析了HEVC和H.264/AVC的性能和復(fù)雜度差異。
針對(duì) HEVC主要檔次(Main Profile,MP)[2]相較于 H.264/AVC 高級(jí)檔次(High Profile,HP)[3]提出的新技術(shù)進(jìn)行對(duì)比與分析。
新一代視頻編碼標(biāo)準(zhǔn)HEVC的編碼單元[4]基本延用了 H.264/AVC基于塊[5]的方案,但提出了許多新的概念,這些概念包括編碼樹單元(Coding Tree Unit,CTU),編碼單元(Coding Unit,CU),預(yù)測(cè)單元(Prediction Block,PU),變換單元(Transform Unit,TU)等。
HEVC提出了新的基本處理單元CTU,一幅圖像被分成多個(gè)CTU來(lái)進(jìn)行編碼處理,這類似于H.264/AVC中宏塊的概念。不同之處在于,H.264/AVC中宏塊僅為16×16固定的大小,而CTU的大小為N×N,N的值可以是16、32或64,這使得CTU可以根據(jù)不同的應(yīng)用環(huán)境、編解碼延遲約束以及內(nèi)存需求等由編碼器進(jìn)行選擇。
根據(jù)塊區(qū)域紋理特征,CTU可遞歸分成CU,進(jìn)而形成一個(gè)四叉樹,CU位于每個(gè)樹的葉節(jié)點(diǎn)。
圖1顯示了當(dāng)CTU大小為64×64,最小CU為8×8時(shí)CTU分割的例子和CU的處理順序。每一個(gè)方塊代表一個(gè)CU。在這個(gè)例子中,一個(gè)CTU被分割成16個(gè)不同大小和位置的CU,右邊顯示了代表CTU分割結(jié)構(gòu)的相應(yīng)的編碼樹結(jié)構(gòu)。樹中的數(shù)字表示CU是否會(huì)被進(jìn)一步分割。左圖中的折線表示CU被處理的過(guò)程。
圖1 CTU大小為64×64,最小CU為8×8時(shí)分割例子及對(duì)應(yīng)的四叉樹
這種靈活的遞歸的分割方法起到了非常重要的作用。和之前常規(guī)的16×16的大小相比,CU可以變的更大,這樣當(dāng)圖像某一區(qū)域較為平坦時(shí),一個(gè)CU可以用更少的比特來(lái)表示。CU可進(jìn)一步被分割成PU,PU是預(yù)測(cè)過(guò)程的處理單元。HEVC為幀間預(yù)測(cè)CU提供了一種新技術(shù),即非對(duì)稱運(yùn)動(dòng)分割(Asymmetric motion partitions,AMP)。這種分割方式可以形成2 N×1/2 N和2 N×3/2 N及1/2 N×2 N,3/2 N×2 N大小的PU塊。圖2顯示了這種分割方式。
這種分割方式對(duì)于較大紋理特征的塊具有很好的預(yù)測(cè)效率。
TU是在CU基礎(chǔ)上再進(jìn)行四叉樹分割形成,是進(jìn)行變換和量化的基本單元。HEVC也對(duì)變換技術(shù)進(jìn)行了改進(jìn),變換塊尺寸擴(kuò)展到了從4×4到32×32(不會(huì)超過(guò)CU尺寸)。
以上便是HEVC和H.264編碼單元結(jié)構(gòu)上的差異,可以看出,CU、PU、TU等概念的提出,統(tǒng)一了編碼的框架,清晰了各單元的分工。同時(shí),靈活的塊大小及分割方式,使得編碼器能夠針對(duì)各種內(nèi)容、應(yīng)用和設(shè)備進(jìn)行優(yōu)化,為HEVC的編碼效率的提升做出了貢獻(xiàn)。而且,這種能力對(duì)正被廣泛使用的低分辨率視頻服務(wù)非常有用。
H.264/AVC幀內(nèi)預(yù)測(cè)對(duì)4×4塊支持9種預(yù)測(cè)模式,這9種預(yù)測(cè)模式包括1種DC預(yù)測(cè)和8種方向預(yù)測(cè)。HEVC依然采用基于已編碼的空間樣點(diǎn)值的幀內(nèi)預(yù)測(cè)[6-7]方式,可以視為 H.264/AVC的一種擴(kuò)展,但支持33種方向預(yù)測(cè)、1種DC預(yù)測(cè)和1種planar預(yù)測(cè),共計(jì)35種預(yù)測(cè)模式(對(duì)于8×8,16×16,32×32)。圖3顯示了33種方向預(yù)測(cè)模式。
圖3 HEVC幀內(nèi)預(yù)測(cè)模式
Planar預(yù)測(cè)模式是HEVC新增的一種模式,這種模式待預(yù)測(cè)樣點(diǎn)值由兩個(gè)已編碼樣點(diǎn)值和兩個(gè)推測(cè)出的樣點(diǎn)值加權(quán)平均而得。
圖4顯示了PU大小為N×N時(shí)planar預(yù)測(cè)的過(guò)程。首先由已知樣點(diǎn)值S(-1,N)減去S(x,-1)作為S(x,N)的值,由S(N,-1)減去S(-1,y)作為S(N,y)的值,最后由這四個(gè)樣點(diǎn)值加權(quán)平均來(lái)預(yù)測(cè)S(x,y)。
圖4 PU大小為N×N時(shí)Planar預(yù)測(cè)模式
加權(quán)公式為
通過(guò)增加多角度方向預(yù)測(cè)模式,可以更加精準(zhǔn)的獲得預(yù)測(cè)塊,進(jìn)而減少后序處理中殘差塊的能量值。但也可以看出,更多的預(yù)測(cè)模式,增加了編碼器模式判決的時(shí)間復(fù)雜度。
HEVC幀間預(yù)測(cè)既有眾多新技術(shù),又有細(xì)微之處的改進(jìn)。這些新特性除了之前提到的PU非對(duì)稱分割外,還包括廣義B幀預(yù)測(cè)技術(shù),更高精度運(yùn)動(dòng)補(bǔ)償,高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)機(jī)制等。
廣義B幀預(yù)測(cè)技術(shù)[8-9]對(duì) H.264/AVC中 B幀雙向預(yù)測(cè)技術(shù)進(jìn)行了延伸,使之應(yīng)用于P幀之上。這種技術(shù)是指P幀同樣可以像B幀那樣由前向和后向參考圖像列表預(yù)測(cè)而得,但前向和后向參考圖像均為當(dāng)前圖像之前的圖像,且為同一參考列表。圖5對(duì)這種預(yù)測(cè)模式做出了示例。
這種技術(shù)對(duì)視頻電話、視頻應(yīng)用等低時(shí)延場(chǎng)景有著重要的意義,它使得交互應(yīng)用也可以采用B幀的預(yù)測(cè)方式,進(jìn)而提高預(yù)測(cè)準(zhǔn)確度,減少殘差信號(hào)能量。
HEVC同樣支持分?jǐn)?shù)像素精度的運(yùn)動(dòng)矢量,但做了稍微的改進(jìn),分?jǐn)?shù)像素位置的預(yù)測(cè)值通過(guò)7或8抽頭濾波器產(chǎn)生,而不是H.264/AVC的6抽頭。
圖5 廣義B幀預(yù)測(cè)技術(shù)
另一個(gè)需要關(guān)注的技術(shù)亮點(diǎn)是高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)機(jī)制(Advanced Motion Vector Prediction,AMVP)。這種機(jī)制會(huì)遍歷同一參考索引空域和時(shí)域相鄰的PU的運(yùn)動(dòng)矢量,形成一個(gè)運(yùn)動(dòng)矢量參考索引,從中選擇最佳運(yùn)動(dòng)矢量作為預(yù)測(cè)值。這種技術(shù)提高了運(yùn)動(dòng)矢量的預(yù)測(cè)精度。
在H.264/AVC標(biāo)準(zhǔn)中亮度是以4×4為變換大小進(jìn)行的,在HEVC中TU尺寸范圍擴(kuò)展到了從4×4到32×32。更多的TU大小,無(wú)疑增加了編碼器處理的復(fù)雜度,但可以更加有效地去除像素空間冗余度,降低比特率[10]。另外,TU還支持非對(duì)稱分割,從而進(jìn)行非對(duì)稱變換。
熵編碼[11]依然采用了 H.264/AVC中基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(Context-based Adaptive Binary Arithemetic Coding,CABAC),但使用了更加復(fù)雜的上下文方案,從而使變換系數(shù)的編碼效率更高。
從以上分析可以看出,HEVC并不依賴單一技術(shù)來(lái)對(duì)編碼效率做出重大提升,而是通過(guò)改進(jìn)編碼框架的各個(gè)細(xì)節(jié),使之對(duì)碼率的減小做出貢獻(xiàn),從而達(dá)到在整體上性能提升的目的。但也應(yīng)看到,這種性能的提升是以提高編碼復(fù)雜度為代價(jià)的。
為了比較面向交互應(yīng)用的視頻編碼標(biāo)準(zhǔn)性能,需要選取各標(biāo)準(zhǔn)編碼器和視頻序列,設(shè)置好編碼參數(shù),并在特定的平臺(tái)環(huán)境中運(yùn)行,生成數(shù)據(jù)。
針對(duì)視頻編碼處理過(guò)程復(fù)雜度高的特點(diǎn),已有專用硬件平臺(tái)來(lái)減少編碼時(shí)間。實(shí)驗(yàn)選用Inter雙核CPU,搭載2G內(nèi)存,在64位debian操作系統(tǒng)上運(yùn)行。具體參數(shù)如表1所示。
表1 仿真平臺(tái)參數(shù)
對(duì)于HEVC,選取最新的HEVC測(cè)試模型12軟件HM-12.1進(jìn)行本次實(shí)驗(yàn)。對(duì)于 H.264,選取最新的H.264/AVC測(cè)試模型18軟件JM-18.5進(jìn)行本次實(shí)驗(yàn)。兩個(gè)標(biāo)準(zhǔn)的測(cè)試模型均由表1中指定的編譯器GCC進(jìn)行編譯來(lái)生成可執(zhí)行文件。
針對(duì)交互式應(yīng)用運(yùn)動(dòng)幅度小等特有的屬性,本次測(cè)試序列選取兩個(gè)經(jīng)典的交互應(yīng)用視頻序列:Johnny和KristenAndSara。該視頻序列均為標(biāo)清(1280×720)視頻,幀率也都為60Hz。
實(shí)驗(yàn)針對(duì)只針對(duì)顏色類型為YUV,格式為4∶2∶0,位深為8bit的視頻格式,編碼300幀。H.264/AVC和HEVC編碼視頻序列第一幀均設(shè)為I幀。在H.264/AVC中,因B幀使用了時(shí)域上的雙向預(yù)測(cè),不適宜交互應(yīng)用,故采用IPPP的編碼類型。而HEVC因采用了廣義B幀的概念,故采用IBBB的編碼類型。熵編碼兩個(gè)標(biāo)準(zhǔn)均采用CABAC。表2提供了一些較為重要的參數(shù)設(shè)置。
表2 測(cè)試序列配置參數(shù)
對(duì)于HEVC提供的多種新型工具如AMP,變換跳躍(Transform skipping,TS),時(shí)域運(yùn)動(dòng)矢量預(yù)測(cè)(Temporal Motion Vector Prediction,TMVP)等,為使HEVC獲得最佳編碼性能,實(shí)驗(yàn)均采用了這些工具。
在實(shí)驗(yàn)中每個(gè)測(cè)試序列以8種不同的量化值進(jìn)行編碼,量化參數(shù)(Quantization Parameter,QP)范圍為20~34,共得到8種不同的編碼比特率。為了比較HEVC和H.264/AVC的編碼效率,需要繪制率失真曲線。
在此不采用亮度和色度率失真曲線分離的策略,故不再提供YUV分量的峰值信噪比(Peak Signal to Noise Ratio,PSNR),而是由亮度和色度分量的峰值信號(hào)噪聲比(PSNR-Y、PSNR-U 和 PSNRV)加權(quán)求和得到聯(lián)合峰值信噪比(PSNR-YUV),再繪制率失真曲線。加權(quán)公式[12]為
首先提供實(shí)驗(yàn)所得的兩個(gè)測(cè)試序列Johnny和Kristen And Sara 8種不同的比特率值數(shù)據(jù)。表3和表4顯示了Johnny_1280×740_60.yuv在JM18.2和HM12.1兩種測(cè)試模型下8種不同量化值所得的客觀質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)PSNR值。
圖6和圖7顯示了Johnny和KristenAndSara分別所對(duì)應(yīng)的率失真曲線圖。
對(duì)兩組率失真曲線進(jìn)行分析可以發(fā)現(xiàn):從縱向比較,在相同傳輸比特率的情況下,HEVC可以獲得非常明顯的圖像質(zhì)量提升;而從橫向上比,在相同圖像質(zhì)量下,即PSNR-YUV相同時(shí),HEVC相較于現(xiàn)行的視頻編碼標(biāo)準(zhǔn)H.264/AVC,可以節(jié)約比特率50%左右。
表3 Johnny比特率和PSNRYUV值
表4 KristenAndSara比特率和PSNRYUV值
圖6 Johnny率失真曲線
圖7 Kristen and Sara率失真曲線
表5顯示了在上文提到的運(yùn)行環(huán)境下得到的平均編碼時(shí)間及增幅。從表中數(shù)據(jù)可以得出,HEVC的編碼時(shí)間比H.264/AVC增加了約70%左右,即編碼復(fù)雜度達(dá)到了現(xiàn)行標(biāo)準(zhǔn)H.264/AVC的170%左右。
表5 編碼時(shí)間對(duì)比
對(duì)HEVC視頻編碼標(biāo)準(zhǔn)的優(yōu)化算法進(jìn)行分析,并針對(duì)交互類應(yīng)用進(jìn)行了測(cè)試。實(shí)驗(yàn)結(jié)果表明,在交互應(yīng)用上,新一代視頻編碼標(biāo)準(zhǔn)HEVC比現(xiàn)行編碼標(biāo)準(zhǔn)H.264/AVC可以提供更高的編碼效率,其節(jié)約的比特率達(dá)50%左右,編碼復(fù)雜度也達(dá)到了170%左右。今后的研究重點(diǎn)應(yīng)著眼于如何降低HEVC編碼復(fù)雜度。
[1]Sullivan G J,Ohm J R,Han W J,et al.Overview of the High Efficiency Video Coding(HEVC)Standard[J].IEEE Transaction Circuits and Systems for Video Technology,2012,22(12):1649-1668.
[2]Joint Collaborative Team on Video Coding.JCTVCL1003-v34.High Efficiency Video Coding(HEVC)text specification 10[S].Geneva,CH,ITU-T SG 16 WP3and ISO/IEC JTC 1/SC 29/WG 11,2013.
[3]Joint Video Team.JVT-G050.Advanced Video Coding,F(xiàn)inal Committee Draft[S].Pattaya,ITU-T Rec.H.264/ISO/IEC 11496-10,2003.
[4]Kim I K,Min J,Lee T,et al.Block Partitioning Structure in the HEVC Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2012,22(12):1697-1706.
[5]Wiegand T,Sullivan G J,Bjontegaard G,et al.Overview of the H.264/AVC Video Coding Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576.
[6]Lainema J,Bossen F,Han W J,et al.Intra Coding of the HEVC Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2012,22(12),1792-1801.
[7]Zhao Liang,Zhang Li,Ma Siwei,et al.Fast mode decision algorithm for intra prediction in HEVC[C]//Visual Communications and Image Processing(VCIP).Harbin:IEEE,2011:1-4.
[8]Lin Jianliang,Chen Yiwen,Tsai Y,et al.Motion vector coding techniques for HEVC[C]//13th International Workshop on Multimedia Signal Processing(MMSP).Taibei:IEEE,2011:1-6.
[9]蔡曉霞,崔巖松,鄧中亮,等.下一代視頻編碼標(biāo)準(zhǔn)關(guān)鍵技術(shù)[J].電視技術(shù),2012,36(2):80-84.
[10]馬晨,吳成茂,田小平.基于A P BU T 3的彩色圖像編碼與壓縮研究[J].西安郵電學(xué)院學(xué)報(bào),2011,16(5):8-11.
[11]劉海鋒,陸玲.新一代視頻編碼標(biāo)準(zhǔn)HEVC變換方法的研究[J].電視技術(shù),2012,36(1):1-6.
[12]Ohm J R,Sullivan G J,Schwarz H,et al.Comparison of the Coding Efficiency of Video Coding Standards-Including High Efficiency Video Coding (HEVC)[J].IEEE Transaction on Circuits and Systems for Video Technology,2012,22(12):1669-1684.