李曉峰,張立軍,陳 帥,朱新博
(1.山東建筑大學 浪潮數字家庭與云計算研究所,山東 濟南250101;2.浪潮集團 數字媒體事業部,山東 濟南250101)
可伸縮視頻編碼(Scalable Video Coding,SVC)是H.264/AVC 標準的一個擴展[1],較好地解決了標準內不同分辨率和不同帶寬條件下播放終端的播放問題。H.264 SVC 采用基本層和一個到多個增強層的分層編碼方法,基本層編碼低質量的視頻,增強層在基于基本層預測的基礎上編碼較高質量視頻,這樣就實現了在不同播放能力和傳輸帶寬條件下自適應選擇不同質量的視頻,達到視頻順利播放的目的。H.264 SVC 包括時間可伸縮性、空間可伸縮性和質量可伸縮性等3種分級策略。其中時間可伸縮性是按照不同幀率進行分層,空域可伸縮性是針對不同分辨率的分層編碼,而質量可伸縮性主要指的是不同層次圖像質量的調整[2]。在視頻娛樂應用中需要針對不同分辨率終端提供服務,如手機、計算機和標清與高清機頂盒等,空間可伸縮性是最主要的研究和應用方向。
有線電視的數字化初期采用了MPEG-2 標準對標清視頻進行編碼,在后來高清化過程中為了節約帶寬,采用了H.264/AVC標準編碼高清視頻[3]。由于早期的機頂盒僅能播放MPEG-2 編碼的標清視頻,對于已經高清化的節目,還需要進行同時播出MPEG-2 編碼的標清碼流,以實現對早期機頂盒的兼容支持。但是這使得同一套節目需要高清和標清冗余播出,占用傳輸帶寬大,限制全面高清化的實現。這里的實質問題是對終端分辨率差異性的支持,H.264 空間SVC 就是面向這類問題研制的,但是因為它是定義在標準內的可伸縮編碼[4],各層編碼都是H.264 的標準,并不能直接應用于有線數字電視領域。
本文為兼容解決有線數字電視中機頂盒播放能力差異并提供帶寬利用率,提出了MPEG-2 和H.264 標準間SVC 的研究思路,即在H.264 SVC 的基礎上擴展為允許基本層采用MPEG-2 編碼標準[5],以實現對早期機頂盒的兼容支持,而增強層繼續采用H.264/AVC 編碼標準進行高清增強編碼,保證壓縮效率。為此設計了標準間的空間SVC 編解碼框架,通過層間預測消除層間冗余,使編碼碼流可以適應不同解碼能力和顯示尺寸的播放終端[6]。
H.264 空間SVC 由一個基本層和一到多個增強層組成,每個增強層順序以其下層的基本層或增強層作為參考層,進行層間預測編碼來消除層間的數據冗余。因此各增強層的基本架構都是類似的。H.264 在標準化SVC 擴展時為了便于在已有H.264 編解碼器上擴展實現,所采用的編碼算法都是H.264 中現有算法。即SVC 定義在H.264 標準之內的,其基本層和增強層都是采用了H.264 編碼標準。
首先對H.264 的空間SVC 的編解碼框架[7]進行分析(如圖1 所示),不失一般性針采用一個基本層和一個增強層。基本層視頻圖像序列輸入是由增強層視頻圖像序列下采樣得到,經過幀內預測、幀間預測、變換量化和熵編碼等處理,得到了基本層碼流,同時將幀內預測、幀間預測和殘差信息傳輸給增強層,完成基本層向增強層的層間預測。增強層的輸入即為原始視頻圖像序列,和基本層一樣,經過增強層的幀內、幀間預測等處理,在此過程中,接收基本層的預測,為增強層的上述處理提供預測信息,提高了編碼效率。

圖1 H.264 空間SVC 編碼器框架
在只對H.264 SVC 的基本層解碼時采用標準的H.264解碼器。而要解碼更高分辨率視頻需要對基本層和增強層進行同時解碼,解碼器結構[8]如圖2 所示。其中對基本層進行殘差解碼,經上采樣后作為增強層解碼補償。增強層經過熵解碼、反變換反量化的同時,還需要基本層的預測信息,能得到完整的重建圖像。因此增強層需要同時得到基本層碼流和增強層碼流才能順利解碼。

圖2 H.264 SVC 解碼器框架
從H.264 空間SVC 擴展為標準間SVC,使得各層都采用H.264 編碼變為基本層采用MPEG-2 編碼和增強層采用H.264編碼。為了消除層間冗余,并提供對不同能力終端的支持,標準間SVC 應該繼承H.264 空間SVC 的編碼和解碼架構,繼續采用分層編碼方式,用層間預測消除數據冗余。但是由于層間編碼標準的差異性,標準間空間SVC 的編碼器框架和解碼器框架分別需要針對性設計。
以H.264 空間SVC 編碼框架為基礎,標準間SVC 把基本層編碼器更換為MPEG-2 編碼器,而增強層繼續采用了H.264標準,如圖3 所示。

圖3 標準間空間SVC 編碼器框架
在基本層,輸入圖像序列為原始圖像下采樣之后的圖像,下采樣圖像通過分塊進行幀間預測,獲得的殘差矩陣既要直接進行DCT 變換和量化,熵編碼之后就得到了基本層碼流;也要將殘差矩陣直接上采樣,向增強層預測,完成層間殘差預測。基本層編碼并解碼完成得到的重建圖像,進行上采樣,然后傳給增強層。
在增強層,輸入的原始圖像序列,通過再分塊,然后進行幀內預測、幀間預測、變換、量化和熵編碼等一系列關鍵步驟,最后得到增強層的碼流。由圖3 也可以看出,在增強層編碼中會有幾個部分用到基本層的預測:一是利用圖像在不同分辨率下運動一致性,依據MPEG-2 基本層的運動矢量進行層間幀間預測;二是增強層會得到基本層幀間預測之后的殘差圖像。
由于標準間SVC 編碼器結構與H.264 SVC 保持一致,因此所對應的解碼器結構也與H.264 空間SVC 解碼器保持一致。但是由于基本層編碼標注的變化,需要進行相應調整。其中要進行低分辨率解碼時,只需要標準MPEG-2 解碼器解碼基本層碼流即可。
要進行高分辨率解碼,則需要在基本層預測的基礎上增強層解碼,如圖4 所示。與H.264 SVC 一樣,基本層主要為增強層提供殘差圖像預測。相應地對基本層進行MPEG-2的熵解碼和8×8 DCT 逆變換和反量化,經上采樣為增強層解碼提供預測。增強的解碼結構則與H.264 SVC 保持一致。

圖4 增強層解碼器框架
層間幀間預測,是基本層幀間預測的相關信息,比如宏塊的劃分方式、運動矢量和參考幀索引值等信息,向增強層預測的一個過程。由于標準間SVC 基本層和增強層圖像分辨率的不同,在層間幀內預測的時候其運動相關性一致,但是運動估計的精度不夠,這就需要對運動矢量進一步精細化。
在MPEG-2 編碼標準中,宏塊大小為16×16,每個宏塊對應兩個運動矢量,分別是垂直方向運動矢量和水平方向運動矢量,如圖5a 所示,MVB表示了MPEG-2 宏塊的合成運動矢量。在H.264/AVC 編碼標準中,宏塊的劃分種類較多,可以分為16×16,16×8,8×16,8×8 的塊,還可以進一步劃分為8×4,4×8 和4×4 的塊[9],這就會產生多種情況的運動矢量MVE,如圖5b 所示,展示了H.264 多種塊劃分情況下的運動矢量。

圖5 MPEG-2 和H.264/AVC 宏塊運動矢量示意圖
由于層間運動矢量的差異性,基本層向增強層的運動矢量預測時,增強層以基本層所預測的運動矢量為基礎,然后進一步進行精細化搜索。采用H.264 編碼的增強層具有多種情況的運動矢量,情況較為復雜,因此基本層所預測運動矢量的精度不夠,精細化處理過程如圖6 所示。其中MVE表示增強層運動矢量,MVB表示基本層運動矢量,由于分辨率的差異,基本層運動矢量預測至增強層后需要做加倍處理,然后在基于此進一步精細化搜索,圖中的ΔMVE就是精細化搜索過程中基本層和增強層運動時的變化量。

圖6 增強層運動矢量精細化處理示意圖
層間幀間預測過程中,運動矢量進一步精細化搜索時,不同的搜索步長會對預測效果和圖像質量產生不同的影響,本文以1/4 像素精度作為一個搜索步長,通過實驗對不同搜索步長所得到的圖像質量進行了統計,如圖7 所示,其中圖像質量是以圖像信噪比(SNR)進行衡量的,從圖中可以看到,當搜索步長為8 時,SNR 最大,此時可以得到最佳質量的圖像。

圖7 不同搜索范圍的SNR 變化趨勢圖
層間殘差預測,是將基本層的殘差數據上采樣然后傳輸給增強層的過程。在SVC 中,基本層是通過預測編碼的方式得到了殘差數據,也可以叫做殘差矩陣,然后將殘差矩陣上采樣預測至增強層,增強層接收該數據之后直接用此殘差矩陣完成后續的DCT 變換和量化等步驟。可是對于標準間SVC,基本層采用的MPEG-2 編碼標準,增強采用的是H.264/AVC編碼標準,采用MPEG-2 編碼的基本層I 幀并沒有殘差數據,因此無法直接完成層間殘差預測。
為了解決基本層I 幀無殘差數據的問題,本文提出的解決方案是對I 幀進行增強處理,即直接將基本層I 幀圖像進行上采樣,然后傳輸給增強層與增強層I 幀圖像做差,得到新的殘差圖像。由于殘差圖像具有較強的紋理特性,最后對新的殘差圖像做進一步幀內預測處理,從而提高了數據的壓縮性,大大提高了編碼效率。
為了研究其可行性及壓縮效果,本文選用了foreman,bus,bridge,football 等6 幅經典標準視頻測試序列,針對這六幅CIF 格式的圖像分別進行了I 幀的增強處理,并對I 幀殘差圖像幀內預測后得到的新的殘差圖像進行了變換量化,然后將此結果與未進行增強處理的殘差的變換量化數據進行了對比,如表1 所示,表格對量化后的非零DCT 系數進行了統計并以此為對比依據。從表中可以看到,對I 幀圖像進行增強預測處理之后,圖像數據的壓縮率平均提高79.3%,實驗數據表明,層間殘差預測采用I 幀增強處理方案可以較好的提高數據壓縮率。
層間幀內預測,是基本層的幀內預測模式向增強層預測,為增強層的幀內預測提供參考的過程。本論文所提出的標準間SVC 的基本層,采用MPEG-2 編碼,并沒有幀內預測處理,基本層沒有幀內預測模式可借鑒,因此無法直接完成基本層向增強層的層間幀內預測。
本文提出了基于基本層DCT 系數幀內預測的解決方案,來研究解決層間幀內預測問題。由于DCT 系數具有一定的方向性,能夠較好的反映圖像的紋理變化,如圖8 所示,N0 到N3 表示了不同的能量區域,每個能量區域有不同的紋理變換,比如N0 反了映原圖像的豎直紋理,N2 反映了源圖像的對角紋理等[10]。
圖9 表示了H.264 編碼標準中4×4 塊的9 種幀內預測模式,共8 個方向和一個DC 模式,不同方向代表了不同的幀內預測模式。通過對基本層DCT 系數的分析,得到圖像的紋理方向,從而縮小幀內預測的模式查找和計算,快速找到代價最小的幀內預測模式,實現了標準間SVC 層間幀內預測的快速選擇,提高了編碼效率。

表1 I 幀增強處理結果比較

圖8 DCT 域的能量區域分布

圖9 H.264 4×4 塊幀內預測模式
本文利用機器學習中BP 神經網絡算法[11],通過對基本層DCT 系數和其對應增強層預測模式的大量訓練,從而得到訓練好的神經網絡預測模型[12],用600 個數據分為6 組作為測試集,每個數據都會對應一個包含不同權重大小的9 維輸出[13],最后得到了最優預測模式命中率的統計結果,如表2所示。實驗數據表明,對每個輸出中的權重進行排序,權重的大小可以較好的反映其是否能夠命中最佳預測模式,這為通過DCT 系數實現幀內模式的快速預測提供了較好的理論依據。

表2 命中最佳預測模式數據統計表
隨著視頻圖像高清化的不斷發展,家庭數字電視高清化的需求也越來越多,因此越來越多的數字電視推出了高清化頻道。現在的高清化頻道采用H.264/AVC 編碼標準,并且是單獨編碼單獨占一個頻道,而其播放內容與標清頻道只是分辨率的不同,內容都是一致的,這樣就造成了嚴重的數據冗余和帶寬浪費;同時,在播放終端,舊的機頂盒可以解碼并播放采用了MPEG-2 編碼標清視頻標準,而不能正常播放高清視頻。本文提出的標準間SVC,可以較好地解決針對不同分辨率視頻多次編碼的問題,達到一次編碼就可以兼容不同版本機頂盒播放的目的。本文給出了標準間空間SVC 詳細的異構編碼器和解碼器架構設計,對關鍵性問題層間幀間預測、層間幀內預測和層間殘差預測分別進行了分析,并根據問題所在提出了相應的解決方案。標準間SVC 的設計,極大地提高了編碼的效率及其網絡適應性,為數字電視高清化的普及提高了良好的技術支持。
[1]SCHWARZ H,MARPE D,WIEGAND T. Overview of the scalable video coding extension of the H. 264/AVC standard[J].IEEE Trans.Circuits and Systems for Video Technology,2007,17(9):1103-1120.
[2]汪大勇,孫世新.可伸縮視頻編碼研究現況綜述[J].電子測量與儀器學報,2009,23(8):78-84.
[3]王嵩,薛全,張穎,等. H.264 視頻編碼新標準及性能分析[J].電視技術,2003,27(6):25-27.
[4]WIEGAND T,SULLIVAN G J,BJONTEGAARD G,et al. Overview of the H.264/AVC video coding standard[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13(7):560-576.
[5]SUN Y,XIN J,VETRO A,et al. Efficient MPEG2 to H.264/AVC intra transcoding intransform domain[J].IEEE International Symposium on Circuits and System,2005(5):1234-1237.
[6]PEIXOTO E,IZQUIERDO E.A complexity-scalable transcoder from H.264/AVC to the new HEVC codec[C]//Proc.2012 19th ICIP.[S.l.]:IEEE Press,2012:737-740.
[7]任宏.H_264 擴展標準—可伸縮視頻編碼(SVC)及其中精細可伸縮編碼的研究[D].成都:電子科技大學,2009.
[8]范敏.H.264 可伸縮編碼的算法研究及其應用[D].哈爾濱:哈爾濱工業大學,2010.
[9]殷國炯,薛永林.MPEG-2 到H.264 轉碼的快速模式選擇算法[J].電視技術,2010,34(1):26-29.
[10]黃祥林,沈蘭蓀.基于DCT 壓縮域的紋理圖像分類[J].電子與信息報,2002,24(2):216-221.
[11]耐格納威斯基.人工智能:智能系統指南[M].北京:機械工業出版社,2007.
[12]張秀林,王浩全,劉玉,等.基于紋理特征與BP 神經網絡的運動車輛識別[J].電視技術,2013,37(13):150-152.
[13]飛思科技產品研發中心.神經網絡理論與實現[M].北京:電子工業出版社,2005.