李俊娟,劉 昱
(天津大學電子信息工程學院,天津300072)
高效視頻編碼(HEVC)標準由國際電信聯盟通信標準部門(ITU-T)的視頻編碼專家組(VCEG)和國際標準化組織/國際電工委員會(ISO/IEC)的運動圖像專家組(MPEG)組成的聯合協作視頻編碼組(JCT-VC)制定,標準號為ITU-T Rec.H.265或ISO/IEC 23008-2。繼H.264/AVC之后,該標準面向比高清晰度電視(HDTV)更高級別的圖像格式,編碼效率大幅提升。
HEVC與自H.261以來的視頻編碼標準一樣,也沿用了混合視頻編碼技術,包括幀內/幀間預測、變換編碼和熵編碼等。與此同時,與H.264/AVC相比,HEVC還采用了許多新的視頻編碼技術,如編碼四叉樹結構、變換四叉樹結構、編碼單元、預測單元、變換單元等。這些新的編碼技術使得在同等視頻質量下,采用HEVC對高分辨率的視頻編碼可節省約50%比特率[1]。
在獲更高壓縮效率的同時,HEVC編碼計算復雜度也顯著增加。在幀內預測處理中,HEVC支持35種幀內預測模式,如圖1所示。其中,包括33種方向相關的預測模式(角度預測模式),和2種非方向相關的幀內預測模式(直流和平面預測模式)。實際上,每個角度預測模式都對應一個特定的預測方向[2-3]。例如,當幀內預測模式為34,待預測塊的尺寸為4×4時(見圖2),待預測塊中的所有像素點由右上角的對角線至參考像素所在行或列投影,然后將待預測塊中的像素點按其投影到的參考點的像素值賦值。
HEVC編碼中,需遍歷所有幀內編碼模式,得相應的預測數據值并計算預測誤差。為了降低幀內預測復雜度,應避免計算所有35種預測模式的預測數據和預測誤差。顯然,如果待預測塊的紋理信息可提前獲取,那么預測方向就變為已知,而只需選取該預測方向對應的1種角度預測模式和與其相鄰的幀內預測模式作為疑似最優預測模式,于是無須遍歷所有33種角度預測模式。
文獻[4-6]采用基于DCT系數的思想實現了H.264/AVC幀內預測模塊的加速。由于HEVC 支持的幀內預測模式更多,且支持從4×4到64×64尺寸的待預測塊,因此要想用基于DCT系數的方案加速HEVC幀內預測,需研究DCT變換系數與33種HEVC幀內預測模式的對應關系。

圖1 HEVC支持的35種幀內預測模式

圖2 用相應參考像素生成預測塊的示例
在HEVC幀內預測中,待預測塊的樣點值是根據重建好的參考樣點值通過外推法得到。為了簡化,參考樣點均取自待預測塊的相鄰的參考行或列。當角度幀內預測模式取值為2~17時,參考樣點取自待預測塊左側參考列;當角度幀內預測模式取值為18~34時,參考樣點取自待預測塊上方參考行。
獲取待預測塊中每一樣點值的具體方法是:將該待預測樣點位置沿給定角度幀內預測模式代表的方向向參考行或列做投影;當投影所得位置為整數時,直接將該位置處的參考樣點值賦值給該待預測樣點,當投影所得位置不是整數時,將距該位置最近的兩參考樣點值加權平均,得待預測樣點值

式中:wy代表投影位置到兩個最近參考樣點位置距離的權重;“>>”代表按位右移操作。距離投影位置最近的兩個參考樣點的位置坐標為(i,0),(i+10),及權重wy計算方法如下

式中:d為與角度幀內預測模式相關的參數,取值范圍-32~+32,如表1第2、第4列所示;&代表按位與運算。可以看出,cy和wy只依賴于待預測樣點位置坐標y與角度幀內預測模式相關的參數d。因此,在特定角度幀內預測模式下,待預測塊內同一行的待預測樣點對應的和均相等,即只需計算一次。

表1 角度預測模式與紋理方向映射表
式(1)和式(2)給出了在幀內預測模式為18~34情況下,待預測塊內樣點值的計算方法,此時利用待預測塊上方參考行完成。當角度幀內預測模式為2~17時,預測由待預測塊左側參考列完成。
在某些情況下,投影所得像素位置可能為負值。此時,需對參考行或參考列擴展。參考行需向左擴展時,用參考列沿給定預測方向為參考行左側樣點值賦值;參考列需向上擴展時,用參考行沿給定預測方向為參考列上方樣點值賦值。
DCT變換是一種為去除空間域相關性而廣泛使用的方法。其計算式為

式中:ACu,v代表位于第i行第j列的DCT系數。事實上,每個DCT系數代表一個有特定紋理方向的基圖像,如圖3所示。此外,每個DCT系數的絕對值反映了原始待預測塊的紋理特征與該基圖像紋理特征的相似程度。顯然,第1行DCT系數的基圖像具有垂直的紋理特性,類似地,第1列的DCT系數的基圖像具有水平紋理特性。此處用Energyv,Energyh分別表示原始待預測塊具有垂直或水平紋理特征的可能性。因此這兩個量的計算方法如


圖3 DCT系數和相應的基圖像
基于上述對DCT系數特性的分析,本文建議采用如下方法計算待預測塊的紋理方向

式中:變量θ表示原始待預測塊的紋理方向與水平軸正向間的角度值。
由于每個角度預測模式分別代表一個特定預測方向,因此33種角度預測模式與預測方向角度間的映射關系如表1第5列所示。以角度預測模式33為例(見圖1),其預測方向角記為 α1,根據平行線定理,角度 α1與 α2相等,而 α2=arctan(32)=50.91°,因此 α= α=50.91°。2612
此外,如圖1所示,角度預測模式19的預測方向角度為b1,其補角為 c1,c1的平行角為 c2。對于等腰三角形,c2=α2,于是b1與α1互補,因此本文將角度預測模式19和33稱為對稱模式對,這樣表1可簡化為第3列所示。
考慮到式(7)計算的紋理方向角度連續,其取值區間為(0°,90°),因此需對其離散化,來匹配離散的33種角度預測模式。以角度預測模式13為例,通過查表1的第5列可知,其預測方向角度為15.71°,其相鄰的角度預測模式12和14的預測方向角度分別為 8.88°和 22.11°。
假設這三種角度預測模式被選為最優預測模式的可能性相等,本文采用如下方法計算角度預測模式13對應的紋理方向角度區間

類似地,其他角度預測模式的紋理方向角度區間也可計算得到,如表1的第6列所示。
建立了紋理方向區間和角度預測模式間的映射關系后,用式(7)對原始待預測塊的紋理方向角度進行估計,再根據該紋理方向角度位于表1第6列的哪一個區間中來將相應的角度預測模式(記為紋理模式)確定為備選幀內預測模式。選擇第1列還是第3列的角度預測模式作為紋理模式取決于AC0,1和 AC1,0符號是否同號,同號時選第 3 列,否則選第 1 列。
本文基于HEVC編碼器HM12.0[7],采用C語言實現了本文提出的DCT系數與幀內預測模式之間的映射處理,并對標準的HEVC編碼器進行改進,改進后稱為基于DCT系數的HEVC編碼器。
為了提高編碼器的預測精度,本文在計算得到紋理方向角度后,以該紋理方向角度為中心,左右各取相同的角度偏移,構成一個預測角度范圍,來彌補本文計算紋理方向角度的方法存在的誤差,并允許預測方向角度位于該預測角度范圍內的所有角度預測模式進入幀內預測模塊。
本實驗做出如下兩個假定:
假定一,基于DCT系數的HEVC編碼器與原始HEVC編碼器相比,比特率差異小于0.5%,且編碼質量PSNR差異小于0.01 dB時,認為本實驗得到的最優預測模式與原始HEVC編碼器一致,誤差近似為0。
假定二,33種角度預測模式均勻分布于180°的范圍中。該假定是為方便統計左右角度偏移量和預測角度范圍。
實驗采用全Ⅰ幀高效率配置條件,進行全Ⅰ幀編碼,實驗序列為 PeopleOnStreet(2 560×1 600 Class A)、Kimono(1 920×1 080 Class B)、RaceHorses(832 × 480 Class C)、BlowingBubbles(416×240 Class D)、Vidyo4(1 280×720 Class E),實驗素材為分別從上述5個測試序列中隨機抽取出的50幀視頻畫面。量化系數設置為22,27,32和37。考慮到不同預測塊尺寸下的紋理方向誤差的差異性,本實驗對不同尺寸的預測塊采用了不同的預測角度范圍,所得實驗結果如表2所示。

表2 粗略紋理方向與實際最優預測模式方向的偏差
以PeopleOnStreet序列為例,為保證基于 DCT系數的HEVC編碼器的編碼質量,對于尺寸為64×64的預測塊,需在計算出紋理方向后,以該紋理方向為中心,向左右各偏移5.625,形成11.25的預測角度范圍即可覆蓋最優預測模式所在位置,所得粗略紋理方向與實際最優預測模式方向的偏差在5.625以內。
由實驗結果可知,所得粗略紋理方向與最優預測模式的預測方向很接近:最小偏差為0,即計算出的紋理方向與最優預測模式基本一致;最大偏差為28.125,即最優預測模式存在于以粗略紋理方向為中心形成的56.25的角度范圍內。為避免出現最大偏差,本文采用下文所述按不同塊尺寸設定幀內預測模式備選數量的措施。
由表2數據可知,對64×64尺寸的數據塊,預測精度最高,平均約15,而4×4數據塊的預測精度較低,平均約31。據此,應相應確定備選的幀內預測模式數量,例如64×64數據塊的備選模式數量為4,而4×4數據塊為12。這表明,本文基于DCT系數預測HEVC幀內角度的方法,可大幅降低HEVC幀內預測計算的復雜度。
本文建立了基于DCT系數的紋理方向與33種HEVC幀內角度預測模式間的映射關系,提出了一種根據DCT系數的分布特征來快速鎖定疑似最優幀內預測模式的方法。該方法先將原始待預測塊進行DCT變換,利用DCT系數粗略提取出原始待預測塊的紋理信息,根據與角度預測模式之間的映射關系,鎖定疑似最優幀內預測模式。該種映射關系將最優幀內預測模式的搜索范圍從180°降低為最高56.25°,從而避免了遍歷35種幀內預測模式造成的高計算量和高編碼時間。
[1] SULLIVAN GJ,OHM JR,HAN WJ,et al.Overview of the high efficiency video coding(HEVC)standard[J].IEEE Trans.Circuits And Systems for Video Technology,2012,22(12):1648-1667.
[2] LEE SW,KIM Y M,CHOI SW.Fast scene change detection using direct feature extraction from MPEG compressed videos[J].IEEE Trans.Multimedia,2000,2(4):240-254.
[3] EOM M,CHOE Y.Fast extraction of edge histogram in DCT domain based on MPEG7[J].IEEE Trans.Engineering Computing and Technology,2005(9):209-212.
[4] LA B,EOM M,CHOE Y.Fast mode decision for intra prediction in H.264/AVC encoder[C]//Proc.IEEE International Conference on Image Processing.San Antonio,TX:IEEE Press,2007:321-324.
[5] LIU X,YOO K Y,KIM SW.Low complexity intra prediction algorithm for MPEG-2 to H.264/AVC transcoder[J].IEEE Trans.Consumer Electronics,2010,56(2):987-994.
[6] HAN Xiaojun,WANG Yongsheng,DU Xianyan.Optimization and realization of texture-based H.264 video coding algorithm[C]//Proc.IEEE International Conference on Control,Automation and Systems Engineering.Singapore:IEEE Press,2011:1-3.
[7] JCT-VC.HEVC reference software hm 12.0[EB/OL].[2014-08-08].https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-12.0/.