諶 博 顧梅花 馬蒙蒙
(西安工程大學電子信息學院 西安 710048)
?
一種改進的HEVC幀內預測算法*
諶 博 顧梅花 馬蒙蒙
(西安工程大學電子信息學院 西安 710048)
針對高效視頻編碼(HEVC)幀內預測中編碼單元(CU)劃分復雜度過高的問題,提出了一種改進的HEVC幀內預測算法。該算法根據視頻幀的時間相關性和時空相鄰CU的相關性,通過比較當前CU與已編碼幀圖像對應位置CU和鄰近CU的深度,可以跳過不必要的整塊預測和子塊預測,加速幀內預測過程。實驗結果表明,與HM10.0相比,該算法峰值信噪比(PSNR)平均下降了0.04dB,比特率(BitRate)平均增加1%,平均編碼時間能夠縮減30%,能夠在保證編碼圖像質量的情況下有效的降低編碼復雜度。
HEVC; 幀內預測; 編碼; 鄰近CU
Class Number TN919.81
高效視頻編碼(HEVC)是由ITU-T視頻編碼專家組(VCEG)和運動圖像專家組(MPEG)組建的視頻編碼聯合組(JCT-VT)共同開發產生的新一代視頻編碼標準[1]。針對高清以及超高清的視頻圖像,HEVC編碼標準的主要目標是在H.264/AVC標準[2]的基礎上,將高分辨率/高保真度的視頻圖像壓縮效率提高一倍。即在保證相同視頻圖像質量的前提下,使視頻流的碼率減少50%[3],進而更好地適應各種不同的網絡環境,同時能夠支持多核并行編解碼。然而,HEVC在獲取高性能的同時也帶來了極高的計算復雜度這一問題,這對于視頻編碼技術的長期發展來說顯然是不利的。因此,如何在保持HEVC編碼效率的前提下,顯著地降低算法復雜度,減少編碼時間就變得尤其重要。幀內預測是HEVC的重要部分之一,它是HEVC編碼框架中復雜度較高的模塊,難以滿足實際應用的需求。因此,針對幀內預測的優化算法尤為必要。
目前的幀內預測快速算法的研究主要集中在兩個方面: 1) 在幀內預測前,利用塊類型預判或者提前終止的思想,對當前編碼圖像所適合的編碼單元類型進行預判斷,跳過一些不適合此圖像紋理的編碼塊類型的編碼過程,從而降低算法復雜度,節省編碼時間。 2) 針對當前編碼單元的眾多預測模式,通過低復雜度的方法提前排除一些可能性小的預測模式,從而縮小在RDO模式選擇過程中的候選幀內預測模式數目,降低算法復雜度。文獻[4]利用Hadamard代價函數模型來預先選出N種預測模式。文獻[5]提出了相鄰塊最優預測模式MPM,并將其加入到RDO候選模式列表,利用空間上相鄰的CU的方向信息來進一步加快幀內模式決策過程。文獻[6~9]通過圖像的紋理復雜度分析最終減少進行RMD和RDO過程的模式數量,降低計算復雜度。文獻[10]根據對圖像內容的相關性進行分析,在CU層進行深度劃分時,參考周圍CU的深度范圍,減少不必要的深度劃分。文獻[11]根據視頻幀的相關性,通過前一幀相同位置CU的劃分深度和當前CU運動矢量差值和預測殘差系數來確定當前CU的深度范圍,以此跳過不必要的整塊預測和子塊預測。文獻[12]根據時空相鄰CU的相關性,利用已編碼單元CU的深度范圍和深度值來預測當前CU的深度范圍和深度值,減少不必要的塊劃分計算。以上算法雖然考慮了CU的相關性和視頻幀的相關性,但沒有將兩者結合起來對算法進行優化。本文結合以上研究成果,提出了一種同時利用視頻幀的相關性和時空相鄰CU相關性的幀內預測快速算法。
2.1 HEVC編碼結構
新一代視頻編碼標準HEVC采用基于塊的混合編碼方案[13],不同于以往的混合編碼方案,HEVC的塊劃分結構更加的靈活,主要由CU(編碼單元),PU(預測單元)和TU(變換單元)組成。其中最大的編碼單元(LCU)為64×64,最小的編碼單元(SCU)為8×8。預測單元是進行幀內/幀間預測的基本單元,變換單元是進行變換和量化的基本單元[14~15]。這三個單元的劃分,不僅使得變換、預測和編碼各個處理環節更加靈活,也使得各環節的劃分更加符合視頻編碼的紋理特征,最終能夠實現編碼性能的最優化。
2.2 HEVC幀內預測過程和編碼復雜度
HEVC的編碼單元CU采用四叉樹遞歸劃分,以CU的尺寸和深度Depth來表征CU的兩大特征。如圖1所示,當LCU不劃分時,定義深度Depth=0;當LCU劃分為四個子塊,為四個32×32時,定義深度Depth=1,以此類推,直到劃分到CU的最小尺寸為8×8時不再劃分,此時深度為Depth=3[8]。

圖1 HEVC幀內預測塊劃分
HEVC采用了與H.264類似的率失真優化技術(RDO)[16~17],為每一種模式計算率失真代價,有效的提高了編碼性能。率失真代價函數模型如式(1)所示:
J=D+λ*R
(1)
其中,D表示當前預測模式下的失真,R表示編碼當前預測模式所需的比特數,λ為拉格朗日因子。首先獲取最大編碼單元LCU(64×64),深度Depth=0,進行幀內預測,計算這時的率失真代價定義為RDcost_0;然后將LCU進行劃分獲得四個子CU(32×32)。接著對每一個子CU進行幀內預測并計算出它們的率失真代價和定義為RDcost_1。對比RDcost_0和RDcost_1,若RDcost_0小于RDcost_1,說明當前尺寸CU不需要進行劃分。否則,對當前CU進行劃分,Depth+1。按照這種方法依次類推直到Depth=3,找到最小的率失真代價值對應的最優CU劃分方式。這一過程的計算量非常龐大耗時,如此高復雜度的計算過程給實際應用增加了困難。
視頻序列具有連續性和空間相關性,因此相鄰幀相同位置處的CU尺寸近似。如圖2,A和B是相鄰的兩幀圖像,m處紋理較為平坦,最佳尺寸塊為64×64或32×32,那么B中m處的紋理與A中近似,尺寸塊大小有較大可能為64×64或32×32;同理,A中n處的紋理復雜,尺寸塊較小,那么B中n處的尺寸塊也應多為8×8或16×16。

圖2 相鄰兩幀圖像及 相同位置CU

圖3 當前CU與 鄰近已編碼CU
圖3為圖2中圖像B中n處的編碼塊。圖像存在內容的相關性,空間相鄰CU的劃分深度也存在相關性。當前CU與鄰近已編碼CU(左方CU,上方CU,左上方CU,右上方CU)如圖3所示。鄰近已編碼CU的深度可以為當前編碼單元的劃分提供參考。若鄰近已編碼單元的深度都大于當前CU的深度,并且A中n處與待編碼CU相同位置的CU的深度也大于當前CU的深度,則可跳過當前CU的幀內模式搜索,直接對當前CU進行分塊,并且深度值+1。

圖4 算法流程圖
正常編碼首幀圖像并對各位置的CU深度進行存儲,對于當前編碼單元,初始深度Depth=0,比較鄰近CU及前一幀對應位置CU的深度與當前CU深度:若大于,跳過當前CU的幀內預測模式搜索,同時Depth+1;若等于,僅對當前CU進行編碼并結束當前CU的劃分;否則對當前深度CU及下一深度進行編碼并結束CU的劃分。其他情況,按照原算法進行計算。
對于紋理相對平坦的圖像,提前終止對小尺寸塊的劃分,能夠減少計算量,提高編碼效率;而對于紋理相對復雜,細節豐富的圖像,能夠跳過大尺寸CU的幀內預測模式搜索,同樣能夠起到降低編碼復雜度的效果。本文算法對這兩種情況都能起到良好的效果,有效降低編碼復雜度。
為驗證本文提出的優化算法的性能,將本文優化方案在HEVC參考軟件HM10.0上實現,實驗平臺的硬件配置為:AMD A8-7100 Radeon R5CPU,主頻為1.8GHz,內存為8.00GB,操作系統為Windows8 64位,開發工具為VS2010。測試序列為高分辨率1280×720標準YUV測試序列,主要實驗參數為:MaxPatitionDepth=4,IntraPeriod=1(即All Intra編碼),CABAC熵編碼,編碼幀數為20幀,QP(量化參數)分別為24,30。通過下面的公式來評價本文算法的性能:

ΔPSNR(dB)=PSNR(proposed)-PSNR(HM)其中ΔBitRate(比特率增加幅度百分比)、ΔPSNR(峰值信噪比差值)、ΔTime(時間增加幅度百分比)。數據為正表示與HM10.0相比增加,反之表示減少。 表1 實驗結果對比
本文挑選的六個測試序列分為三類,其中Fireworks和Stockholmpan的紋理比較平坦,Fourpeople和Johnny的紋理相對正常,而SlideEditing和SlideShow細節比較豐富,紋理比較復雜。由表1的實驗數據可以看出,本文算法對紋理相對平坦的Fireworks和Stockholmpan,編碼時間縮減的最多,達到了33%和46%;而對于紋理適中的Fourpeople和Johnny,編碼時間縮減的也適中,為28%和27%;而SlideEditing和SlideShow細節比較豐富,縮減的編碼時間也相對最少,分別為24%和18%。總體來說編碼時間縮減比較明顯,平均達到了30%。而編碼圖像的質量方面,PSNR平均下降0.04dB,BiteRate平均增加1%。
為了降低HEVC編碼復雜度,減少編碼時間。根據圖像的空間相關性和時間相關性,提出了一種幀內預測快速算法。實驗結果表明:對比于原算法HM10.0,本文算法在對圖像質量影響很小的情況下,對于紋理平坦圖像的編碼,編碼時間縮減較多,而對于紋理復雜的圖像,編碼時間縮減適中,具有一定的實用價值。
[1] Sullivan G J, Ohm J R. Recent developments in standardization of high efficiency video coding(HEVC)[J]. Proc Spie,2010,7798(1):731-739.
[2] Wiegand T, Sullivan G J, Bjon tegaard G, et al. Overview of the H.264/AVC video coding Standard[J]. Circuits and Systems for Video Technology, IEEE Transactions on,2003,13(7):560-576.
[3] 蔡曉霞,崔巖松.下一代視頻編碼標準關鍵技術[J].電視技術,2012(36):80-84. CAI Xiaoxia, CUI Yansong. The key technology of the next generation video encoding Standard[J]. TV Technology,2012(36):80-84.
[4] Encoder Improvement of Unified Intra Prediction[C]//document JCTVC-C207, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, Guangzhou, China,2010.
[5] L. Zhao, L. Zhang, S. Ma, et al. Fast mode decision algorithm for intra prediction on in HEVC[C]//Proc. IEEE Vis. Commun. Image Process. (VCIP),2011:1-4.
[6] Jiang W, Ma H, Chen Y. Gradient based fast mode decision algorithm for intra prediction in HEVC[C]//Consumer Electronics, Communications and Networks (CECNet), 2012 2ndInternational Conference on. IEEE,2012:1836-1840.
[7] 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]//Proceedings of IEEE International Symposium on Circuits and Systems(ISCAS),2013:53-56.
[8] Silva T L D, Agostini L V, Cruz L A D S. Fast HEVC intra prediction mode decision based on EDGE direction information[J]. Nihon Naika Gakkai Zasshi the Journal of the Japanese Society of Internal Medicine,2012,86(12):2239-40.
[9] Fang C M, Chang Y T, Chung W H. Fast intra mode decision for HEVC based on direction energy distribution[C]//Proceedings of IEEE 17th International Symposium on Consumer Electronics (ISCE),2013:61-62.
[10] L. Shen, Z.zhang, P. an. Fast CU size decision and mode decision algorithm for HEVC intra coding[J]. IEEE Trans. Consumers Electronics,2013,59(1):207-213.
[11] 李維,張和仙,楊付正.高效率視頻編碼快速模式判決算法[J].西安交通大學學報,2013,8:104-109,140. LI Wei, ZHANG Hexian, YANG Fuzheng. A Fast mode decision algorithm for high efficiency video coding[J]. Journal of Xi’an Jiaotong University,2013,8:104-109,140.
[12] 晏軻,滕國偉,胡錦雯,等.一種基于時空相關性的編碼單元深度快速分級判決算法[J].光電子·激光,2014,1:156-162. YAN Ke, TENG Guowei, HU Jinwen. A rapid classification algorithm on CU depth based on temporal-spatial correlation[J]. Photo-electron and Laser,2014,1:156-162.
[13] 甘勇,趙曉榮,李天豹,等.基于圖像特征的HEVC快速幀內預測算法[J].鄭州輕工業學院學報(自然科學版),2014,1:90-93. GAN Yong, ZHAO XiaoRong, LI TianBao, et al. Fast intra prediction algorithm based on picture feature for HEVC (Natural Science)[J]. 2014,1:90-93.
[14] Jani L, Frank B, Woo-Jin H, et al. Intra coding of the HEVC standard[J]. IEEE Transaction on on Circuits and Systems for Video Technology,2015,12(22):1792-1802.
[15] Architectural Outline of Proposed High Efficiency Video Coding Design Elements[C]//document JCTVC-A202, ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 1st Meeting, DrEsden, Germany,2010.
[16] G. J. Sullivan, T. Wiegand. Rate-distortion optimization for video compression[J]. IEEE Signal Processing Magazine,1998,15(6):74-90.
[17] A. Ortega and K. Rate-distortion methods for image and video compression[J]. IEEE Signal Processing Magazine,1998,15(6):23-50.
An Optimized Algorithm for HEVC Intra Prediction
CHEN Bo GU Meihua MA Mengmeng
(School of Electronic and Information, Xi’an Polytechnic University, Xi’an 710048)
In order to solve the problem of the high complexity of CU division in HEVC intra prediction, an optimized intra prediction algorithm of HEVC is proposed. Based on the time relativity of the video sequence, the algorithm can compares the depth of CU of the current coding unit with the adjacent CUs as well as the same position CU of the previous frame, skips unnecessary block prediction and sub block prediction. This process can accelerate encoding time. The experimental results show that the algorithm provides averagely 30% reduction of intra coding time compared with the one accepted by HM10.0 with drops of 0.04dB PSNR and increase of 1% BiteRate, which can ensure the encoding quality and reduce the encoding time.
HEVC, intra prediction, encode, neighbouring CU
2016年7月1日,
2016年8月10日
國家自然科學基金資助項目(編號:61401347);陜西省教育廳科學研究項目(編號:16JK1329)資助。
諶博,男,碩士研究生,研究方向:高效視頻編碼算法。顧梅花,女,博士,副教授,研究方向:視頻圖像編碼算法。馬蒙蒙,女,碩士研究生,研究方向:圖像邊緣檢測。
TN919.81
10.3969/j.issn.1672-9722.2017.01.028