賈克斌 崔騰鶴 劉鵬宇 劉 暢
(北京工業大學信息學部 北京 100124)
(先進信息網絡北京實驗室 北京 100124)
隨著生活水平的不斷提高,人們對信息化服務的質量要求也越來越高,多視點及高清甚至超高清視頻服務已成為人們追逐的目標。面對視頻服務的新需求,2013年由視頻編碼聯合協作小組(Joint Collaborative Team on Video Coding, JCT-VC)提出的著眼于“更低碼率”和“更高畫質”的高效視頻編碼標準H.265/HEVC(High Efficiency Video Coding)[1],為視頻內容從高清到超高清的發展提供了技術保障,并成為最成熟的新一代視頻編碼標準。與上一代高級視頻編碼標準H.264/AVC (Advanced Video Coding)[2]相比,H.265/HEVC通過引入編碼單元(Coding Unit, CU)四叉樹劃分結構[3], 多角度幀內預測等技術,使壓縮效率提高了1倍[1]。
但隨著新編碼技術的引入,H.265/HEVC的編碼復雜度相對于H.264/AVC增加了253%,其中,CU的四叉樹劃分過程需要遍歷所有可能的CU劃分方式,并基于所有的劃分方式進行率失真優化(Rate Distortion Optimization, RDO)的計算,這一過程占據了編碼時間的80%[4],使得H.265/HEVC很難滿足目前高實時性多媒體系統的應用要求[5]。然而CU作為預測、變換、量化和熵編碼等處理的基本單元,是保證編碼性能的關鍵所在。因此,對CU劃分結構預測的研究引起了國際同行學者的廣泛關注。目前,針對CU劃分結構預測,國內外學者在傳統方法和機器學習方法都有了大量的探索與嘗試。其中傳統CU劃分結構預測方法主要用于CU劃分四叉樹的剪枝處理,這些方法大多是基于統計CU的時間/空間相關性所提出的[6,7]。但傳統方法存在著對先驗信息要求高,對復雜情況判斷準確性較低的缺點。進一步,有學者采用機器學習方法來預測CU是否劃分,早期研究方法主要是基于概率密度分布,依靠設計良好的手工特征進行一些二分類問題的處理,其中利用SVM分類器最為經典[8–10]。近年來,以數據驅動的深度學習技術憑借其在數據表征上優秀的泛化能力,在大量視覺任務中取得了令人矚目的成就。一些學者也開始嘗試將其引入到新一代視頻編碼標準的優化過程中,以解決傳統機器學習方法在復雜情況下判別大幅度失準的問題,例如,Feng等人[11]與Liu等人[12]基于不同的網絡模型學習圖像幀的紋理復雜度并自適應判斷深度范圍,然而,這兩種方法是剪枝思想的延續,還需額外RDO計算才能確定CU劃分結構;文獻[13]則采用簡易的卷積神經網絡,針對不同尺寸CU設計對應的網絡,其工程量巨大,且泛化性能差。文獻[14]通過數據降維手段,使得單個網絡能夠針對不同尺寸CU進行預測,但其網絡結構簡單,且過程中還需進行額外的RDO計算。
針對上述方法存在的不足,本文提出了一種基于HEVC編碼框架的CU劃分表征矢量預測網絡,意在實現對CU劃分結構端到端的預測,省去CU劃分結構確定過程中的復雜RDO計算過程,從而降低編碼復雜度。第2節簡述HEVC幀內編碼結構及CU劃分表征矢量;第3節提出CU劃分表征矢量預測的多層特征傳遞卷積神經網絡模型的設計方案;第4節驗證提出模型的有效性;第5節對全文進行總結。
在HEVC中,每幀圖像會被分成若干個編碼樹單元(Coding Tree Units, CTU)[2]。每個CTU可以包含單個CU,也可以根據四叉樹結構遞歸各個深度(depth)分割成多個較小的CU,圖1展示了一種CTU劃分結構及其對應四叉樹結構。在HEVC默認配置中,CU大小可為8×8, 16×16, 32×32, 64×64。

圖1 CTU劃分結構示意圖

需要說明的是,CTU最優劃分結構是通過遞歸計算實現的。在一個64×64的CTU中,隨著CU尺寸的減小,共需計算85( 40+ 41+ 42+ 43)個CU的率失真代價。其率失真代價的計算過程均需編碼器對該CU進行預編碼,在此過程中還需對所有可能的預測模式和變換方式進行編碼,故時間開銷巨大。然而,CTU最優劃分結構在限定編碼參數條件下具有唯一性。故需要最少計算1個(如果64×64 CU沒有被分割),最多64個(如果整個CTU被分割為8×8 CU)CU率失真代價來完成編碼需求。因此,通過對CU劃分的準確預測可以避免最多84個,最少21個CU的預編碼過程。

圖2 父CU和子CU之間率失真代價計算和比較過程
根據HEVC中CTU劃分結構可知,當CU尺寸大于等于16×16,只存在劃分和不劃分兩種情況。所以可利用其劃分標志位來描述CU劃分結構,其中0代表不劃分,1代表劃分。基于此,本文提出了由21位二進制數字組成的CU劃分表征矢量,可表示CTU所有的劃分可能。其21位分別對應于從淺層到深層的CU,依次按照對應從左到右,從上到下的CU的劃分標志位,其CU劃分表征矢量對應位置如圖3所示。

圖3 CU劃分表征矢量對應位置示意圖
MLFT-CNN模型結構如圖4所示,可分為泛化特征提取、深度差異特征提取,以及全連接特征分類3部分。從降低編碼復雜度的整體需求出發,考慮到亮度分量表征視覺信息能力遠大于色度分量,網絡輸入為從原始序列中提取的大小為64×64的亮度信息。泛化特征提取部分對數據進行全局降維和多維特征提取。深度差異特征提取部分從CU劃分的3個深度出發進行CU劃分表征矢量端到端的訓練。全連接特征分類部分用高深度CU劃分特征指導低深度CU劃分過程,強化低深度CU的劃分標識符的全局表征能力。最終拼接得到CU劃分表征矢量。下面對模型的各個模塊結構及整體模型學習過程進行詳細介紹。

圖4 整體網絡模型圖
在基于深度學習的CU劃分表征矢量預測任務中,若采用傳統的卷積操作訓練,則忽略了劃分過程的邊界限制條件,各層感受野與CU的劃分尺寸之間缺少關聯信息,使得深層特征之間存在較多信息冗余,這無疑會擴大網絡體積,拖慢前向傳播速度,在實際視頻編碼過程中得不償失。故本文在降分辨率特征提取過程中,設計了針對CU四叉樹劃分過程的卷積過程,提出了應用邊長s為 2n(n=1,2)的卷積核,并進行步長即步進距離的卷積操作。這使得CU劃分尺寸與卷積得到的特征圖感受野尺寸相耦合,在卷積過程中融入了視頻編碼的先驗信息,故更適用于CU劃分的降分辨率特征的提取。
其中在全局特征提取部分,對輸入亮度CU單元S0進行邊長為s的全局多核卷積降分辨率特征提取,可用式(1)表示;在深度差異特征提取部分中將全局泛化特征專一化,將高深度特征作為輸入來獲取只屬于該深度的降分辨率特征,可用式(2)來表示。


卷積運算是對于空間信息進行多尺度融合,雖然在空間上能夠有效地進行特征融合,但忽略了不同特征通道對于關鍵信息描述的差異性。因此,本文引入了計算機視覺中的注意力機制。利用網絡學習各通道特征重要性的差異,通過賦予不同特征通道不同的權值將降分辨率提取到的多通道特征進行非均勻融合,以提升融合特征的信息表達能力。本文參考SENet[15]模型,提出了一種改進的通道注意力機制,通過設計一個全局卷積操作代替其原本的全局平均池化操作來實現數據的壓縮,鼓勵模型在學習時充分考慮空間和通道信息,而非對兩種信息進行割裂的處理。對于降分辨率特征Hi,j進行全局卷積操作可表示為



此外,將歸一化的QP信息以數值的形式拼接在全連接層的預測矢量上,實現QP在網絡中的非線性融合,強化CU劃分結構預測網絡在不同QP值下的預測性能。拼接3級CU劃分標識符得到CU劃分表征矢量y?,對其進行優化處理(若父CU劃分標識符為0,則其子CU劃分標識符將被置為0)后作為網絡判別結果輸出,并被用到后續編碼過程中。
為了更好地訓練MLFT-CNN,通過整合CU劃分深度預測的先驗信息以及QP對于視頻編碼質量的影響,創造性地設計了目標損失函數,用于協同訓練網絡模型。其目標損失函數J可定義為


本文實驗環境對于實驗數據的獲取有重大影響,本文的實驗是基于HEVC參考軟件HM16.5[4]開展的,所有配置采用默認幀內編碼配置,即采用給定的encoder_intra_main.cfg[16]進行實驗數據的測定。本文提出的網絡是在CPH-Intra[17]數據集上訓練并驗證的,該數據集是由2880×1920, 1536×1024以及768×512 3種分辨率各500張圖像視頻序列在4個QP{22, 27, 32, 37}值下的110, 105, 784條幀內編碼樣本構成的。整個數據集中,CU劃分與不劃分的樣本數量分別占總數的49.2%和50.8%。其中各QP值的85%構成訓練集,10%構成測試集,5%構成驗證集。此外,為了更好地展示本文網絡對于不同分辨率的測試序列都有著較好的預測性能,本文對JCT-VC給出的5類(A, B, C, D, E)不同分辨率下的10個標準序列[18]在4個QP值(22, 27, 32, 37)進行了驗證實驗。為了對編碼復雜度有一致的衡量標準,所有的實驗是在Intel(R) Core(TM) i5-8300H CPU @2.3 GHz, 8.00 GB RAM以及64位Windows 10操作系統的計算機上進行的。
由于MLFT-CNN是針對HEVC幀內編碼模式的快速編碼算法,本文選取了2種目前在幀內編碼具有代表性的算法進行比較。其中文獻[9]是目前機器學習方法中最具代表性的算法,文獻[14]是采用卷積神經網絡的代表性算法。在檢驗所提模型性能時,采用提出算法相對于原始HM16.5編碼算法的時間節省百分比來衡量編碼復雜度的降低程度,可用式(8)表示,并采用了Bj?ntegaard比特率差值(Bj?ntegaard Delta Bit Rate, BDBR)和Bj?ntegaard峰值信噪比差值(Bj?ntegaard Delta Peak Signalto-Noise Rate, BD-PSNR)對視頻編碼性能進行評定[19]。其中,BDBR表示在同樣的客觀質量下,兩種方法的碼率節省情況,BD-PSNR表示在給定的同等碼率下,兩種方法的亮度峰值信噪比的差異。

此外,本文是基于Tensorflow深度學習框架實現所有深度學習方法。在模型訓練中使用Adam優化算法[20]進行參數優化,并設置初始學習率為3×10-4, 0.9的1階矩估計的指數衰減率和0.999的2階矩估計的指數衰減率為默認超參數,同時采用學習率衰減和Dropout優化技術避免模型過擬合。非線性激活函數使用Leaky-ReLU函數。
表1和表2分別展示了MLFT-CNN在CPH-Intra測試集和HEVC標準測試序列上的編碼復雜度下降程度和編碼性能差異。由表1可知,在QP值為22,27, 32, 37時,MLFT-CNN在編碼復雜度上分別平均降低了68.51%, 73.34%, 74.28%, 76.56%,與文獻[9]和文獻[14]方法相比,MLFT-CNN算法編碼復雜度下降得更多。需要說明的是,文獻[14]雖然也為利用深度卷積神經網絡的編碼復雜度降低算法,且其在網絡模型的構建上,參數更少,但由于其在判別是否需要從64×64分裂到32×32時,需要進行RDO搜索,所以其在編碼復雜度降低性能上不如MLFT-CNN。此外,文獻[14]和本文所提出的MLFTCNN對于不同的序列,其ΔT的標準差都小于ΔT平均值的1/10,可以證明在降低編碼復雜度性能上兩種算法都有著較好的穩定性。為了更加直觀地對比3種算法在標準測試序列上的性能,圖5(a)展示了3種方法在不同QP值下的編碼時間節省百分比(中間值為平均值,上下的偏置為標準差)。從表1中展示出來的算法性能差異在表2中得到進一步證實,在不同QP值,不同標準視頻測試序列上,平均降低了70.96%的編碼復雜度。

表1 圖像測試序列結果

表2 HEVC標準測試序列結果

續表2
由于編碼復雜度的降低往往是通過犧牲編碼質量實現的,評價降低編碼復雜度算法的好壞,還要進行視頻編碼質量的比較。從表1和表2可以看出,本文所提MLFT-CNN盡管在圖像測試序列上BDBR平均增加1.688%,BD-PSNR平均造成–0.096 dB的性能下降。在HEVC標準測試序列BD-BR平均增加 4.063%,BD-PSNR平均造成–0.227 dB的性能下降,但在兩種測試序列上性能都要優于文獻[9]和文獻[14]。圖5(b)和(c)分別給出了標準測試序列不同類別BD-BR和BD-PSNR對比圖。

圖5 標準測試序列編碼性能對比圖
綜上所述,MLFT-CNN要優于上述兩種算法。之所以有這樣好的性能表現,是因為本文提出的網絡結構,基于CU劃分過程的先驗信息能夠更好地擬合CU四叉樹劃分過程,因此能更好地學習CU劃分過程。
此外,在實驗過程中發現各算法在圖像測試序列上的性能都要優于在標準測試序列上的測試結果,原因在于CPH-Intra數據集中由風景、人物等幾類風格相似的圖像組成的、紋理相似的CU會出現在訓練、測試以及驗證集中,而在預測標準測試序列中一些室內以及近距離場景圖像的紋理信息時預測準確度降低。因此,各算法在數據集上的表現要優于HEVC標準測試序列。不過,MLTF-CNN在標準測試序列上也有上佳的表現,證明了MLTFCNN能夠更好地學習CU劃分的深層特征,具有更好的魯棒性。
本文提出了一種針對HEVC幀內編碼模式下CU劃分表征矢量預測的MLFT-CNN網絡,為高實時性多媒體系統的視頻編碼應用要求提供了切實可行的技術方案。主要貢獻在于利用視頻編碼過程的先驗信息設計模型,其中提出的降分辨率特征提取模塊可有效減少模型參數,改進的通道注意力機制提升了特征的紋理表達能力,設計的特征傳遞機制強化了不同深度CU特征之間的關聯性,并在此基礎上設計了具有分段表達能力的目標損失函數,多管齊下共同加速了HEVC的幀內編碼過程。通過實驗結果可以看出,本文提出的MLFT-CNN在圖像視頻序列和HEVC不同級別的標準測試序列上都有著卓越的性能表現,在標準測試序列上,編碼復雜度更是平均下降了70.96%,證明了本文算法的有效性。此外,通過與其他算法比較,表明了本文所提出的算法是一種有效深度融合編碼過程先驗信息的CU劃分結構預測模型,可有效緩解HEVC編碼復雜度與編碼質量的內在矛盾,對于HEVC編碼標準在多媒體設備上的應用有著重要意義。