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

圖1 CTU劃分結(jié)構(gòu)示意圖

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

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

圖3 CU劃分表征矢量對(duì)應(yīng)位置示意圖
MLFT-CNN模型結(jié)構(gòu)如圖4所示,可分為泛化特征提取、深度差異特征提取,以及全連接特征分類3部分。從降低編碼復(fù)雜度的整體需求出發(fā),考慮到亮度分量表征視覺(jué)信息能力遠(yuǎn)大于色度分量,網(wǎng)絡(luò)輸入為從原始序列中提取的大小為64×64的亮度信息。泛化特征提取部分對(duì)數(shù)據(jù)進(jìn)行全局降維和多維特征提取。深度差異特征提取部分從CU劃分的3個(gè)深度出發(fā)進(jìn)行CU劃分表征矢量端到端的訓(xùn)練。全連接特征分類部分用高深度CU劃分特征指導(dǎo)低深度CU劃分過(guò)程,強(qiáng)化低深度CU的劃分標(biāo)識(shí)符的全局表征能力。最終拼接得到CU劃分表征矢量。下面對(duì)模型的各個(gè)模塊結(jié)構(gòu)及整體模型學(xué)習(xí)過(guò)程進(jìn)行詳細(xì)介紹。

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


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



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


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

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

表1 圖像測(cè)試序列結(jié)果

表2 HEVC標(biāo)準(zhǔn)測(cè)試序列結(jié)果

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

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