彭雙,王曉東,彭宗舉,,陳芬
(1. 寧波大學信息科學與工程學院,浙江 寧波 315211;2. 重慶理工大學電氣與電子學院,重慶 400054)
隨著超高清、高動態(tài)、寬色域和全景視頻等技術的出現(xiàn),高效視頻編碼(high efficiency vi2eo co2ing,HEVC)[1]的壓縮效率明顯不足,因而多功能視頻編碼(versatile vi2eo co2ing,VVC)[2]被提出。在相同客觀質量條件下,VVC 的比特率約為 HEVC 的 50%。嵌套多類樹的四叉樹(qua2tree with neste2 multi-type tree,QTMT)[3]劃分結構是VVC 編碼增益提高的關鍵[4],但同時帶來了編碼復雜度的急劇上升。在幀內配置模式下,VVC 編碼復雜度約為HEVC 的18 倍[5]。此外,與之前編碼標準中幀內編碼復雜度遠低于幀間編碼不同,VVC 中幀內編碼復雜度卻高于幀間編碼,前者約為后者的1.3 倍[6]。因此,降低VVC幀內編碼復雜度具有重要意義。
目前已有許多學者對HEVC 和VVC 低復雜度編碼進行了研究。研究方法主要分為基于統(tǒng)計和基于學習的方法。在基于統(tǒng)計的快速編碼算法中,姚英彪等[7]結合空域相關性和紋理信息提出了快速劃分方法。Kuo 等[8]提出一種基于時空域編碼單元(co2ing unit,CU)的決策方法,利用已編碼相鄰編碼樹單元(co2ing tree unit,CTU)和同位CTU 深度信息,加權預測當前CTU 的深度范圍。Jamali 等[9]利用絕對變換殘差和(sum of absolute transforme2 2ifference,SATD)代價對率失真代價(rate-2istortion cost,RDC)進行估計,從而減少進行率失真優(yōu)化(rate 2istortion optimization,RDO)的模式,同時將預測的RDC 建模為正態(tài)分布,通過置信區(qū)間進一步改進預測效果。Huang 等[10]為平衡率失真(rate 2istortion,RD)性能與編碼時間,通過優(yōu)化率失真復雜度對編碼模式進行決策,其中,RD 性能和編碼時間通過提取特征來估計。參考文獻[8,10]雖然能有效降低編碼復雜度,但僅針對HEVC 中QT 劃分進行決策,對VVC 編碼中QTMT 劃分并不適用。Lei 等[11]通過簡化粗選模式?jīng)Q策估計不同劃分方向的SATD 代價,將子CU 不同劃分方向的RDC 作為當前CU 的估計代價,最后根據(jù)估計的SATD 代價和RDC 綜合決定當前CU 的最優(yōu)劃分方向。Chen 等[12]和Fan 等[13]通過提取方差和梯度特征,對特征設定閾值來決策提前終止和跳過不可能的模式,最終僅對一個模式進行RDO,極大降低了編碼復雜度。Park 等[14-15]利用中間編碼信息對跳過模式和終止運動估計進行決策。在參考文獻[14]中,通過對三叉樹劃分進行統(tǒng)計分析,提出將已編碼CU 代價作為概率決策特征,從而決定是否跳過三叉樹劃分。在參考文獻[15]中,利用已編碼CU 的最佳模式對終止仿射運動估計進行決策,利用運動矢量方向縮減仿射運動參考幀的數(shù)量。參考文獻[12-13]僅在單一的CU 級實施決策,參考文獻[14]僅跳過三叉樹劃分,而參考文獻[15]僅對仿射運動估計進行決策,以上方法節(jié)省的時間都非常有限。
在基于學習的快速編碼算法中,Liu 等[16]改進了傳統(tǒng)復雜度特征并作為分類器輸入,通過兩個支持向量機分類器將CU 分為3 類,并且利用懲罰因子平衡性能損失與時間復雜度。Chen 等[17]引入非對稱卷積核來提高特征提取能力,通過置信區(qū)間平衡復雜度與性能損失,極大降低了HEVC 編碼復雜度,同時,通過預測最小RDO 候選模式數(shù)量來加速模式?jīng)Q策過程。Katayama 等[18]充分利用了CU 的空域相關性,將相鄰CU 亮度信息作為卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)的輸入,實現(xiàn)了HEVC 低復雜度幀內編碼,但不利于硬件編碼。Kim 等[19]建立了基于CNN 的多級二分類模型來決策CU 劃分,將CU 亮度信息作為模型的輸入,并將編碼的中間信息作為外部特征輸入模型。Xu 等[20]建立了分層CU 劃分映射來描述CTU 的劃分情況,提出了提前終止的分層CNN 模型,在保證編碼性能的前提下顯著降低了HEVC 幀內編碼復雜度。Tang 等[21]將可變池化CNN 應用到VVC 幀內編碼中,使得CNN 能適應不同形狀的CU。然而,在池化層中丟失了特征信息,導致最終模型的預測結果較差。Yang 等[22]通過人工方式提取特征,將特征輸入決策樹模型進行訓練,最終決定CU 是否劃分。雖然決策樹模型能充分挖掘出特征與劃分之間的潛能,但特征選取受人為因素影響較大。Fu 等[23]利用了貝葉斯分類器,將是否跳過垂直模式建模為二分類問題,以當前CU、子CU 劃分模式和角度模式作為分類器的輸入。Amestoy 等[24]提出一種可調節(jié)的機器學習方法,通過調整風險區(qū)間的大小來控制VVC 的性能損失。參考文獻[16,20]針對HEVC 均提出了有效的快速編碼方案,對基于學習的VVC 快速編碼方法具有一定的啟發(fā)意義。參考文獻[16,22,24]均通過人為選取特征,不能充分挖掘CU 的特征信息。
上述方法主要將劃分決策建模為分類問題,而實際問題中分類邊界通常不明確,因此本文將劃分決策建模為回歸問題。同時考慮到深度學習在編碼各領域取得的突出效果[25],本文結合深度學習模型來預測劃分模式的概率,提出了一種基于深度學習的快速VVC 劃分決策方法。實驗結果表明,所提出算法在保證編碼性能幾乎不損失的同時極大地降低了編碼復雜度。
本文首先分析了QTMT 的復雜度,然后提出注意力?非對稱卷積網(wǎng)絡(attention asymmetric CNN,AA-CNN)結構來預測劃分模式的概率,最后提出了基于AA-CNN 的快速模式?jīng)Q策模型。
VVC 中采用QTMT 結構使得CU 能適應不同圖像內容。在VVC 編碼過程中,每個CU 先按照四叉樹(qua2 tree,QT)劃分,再在QT 葉節(jié)點處按多類樹(multi-type tree,MT)遞歸劃分。MT 劃分結構包括4 種劃分模式,分別為垂直二叉樹(vertical binary tree,VB)、水平二叉樹(horizontal binary tree,HB)、垂直三叉樹(vertical ternary tree,VT)和水平三叉樹(horizontal ternary tree,HT)。除上述劃分的模式以外,還有不劃分的模式Intra,這些模式組成了QTMT 的劃分模式列表(partition mo2e list,PML)。最優(yōu)模式m*為PML 中RDC 最小的模式,計算式如下:
其中,PML={1,2,3,4,5,6},分別對應{Intra, QT, HB,VB, HT, VT},RDCm的計算式如下:
其中,Dm和Rm分別為編碼模式m產生的失真和所需要的比特,λ為控制RD 性能的拉格朗日乘子。實際碼流中僅模式m*被編碼,因此QTMT 結構包括了大量冗余模式。雖然VVC 快速劃分策略[26]能跳過部分劃分模式,但僅對紋理較為平坦的區(qū)域有效。
2.2.1 數(shù)據(jù)集構建
不完全的PML 會影響模式的真實分布,使得模型的預測準確率降低。本文建立訓練數(shù)據(jù)集時,僅采用具有完整PML 的CU。從A1、A2、B、C、D 和E 6 類標準測試序列中分別挑選了序列Campfire、ParkRunning3、Cactus、BQMall、BasketballPass 和Johnny,每個序列選取60 000 個數(shù)據(jù)樣本,其中大小為32×32 和16×16 的CU 各30 000 個,并利用3 次插值將16×16 的CU 上采樣為32×32 的CU。數(shù)據(jù)集中樣本分別用4 個量化參數(shù)(quatization parameter,QP) 22、27、32 和37進行編碼,總樣本數(shù)量為60 000×6×4=1 440 000,每個樣本包括CU 亮度信息、CU 大小和QP,樣本標簽為CU 最優(yōu)劃分模式。數(shù)據(jù)集被隨機地劃分為訓練集(9/10)和校驗集(1/10)。
2.2.2 AA-CNN 結構
本文采用CNN 來預測劃分模式的概率,結合MT 劃分非對稱性和特征重要性,提出了AA-CNN結構。MT 劃分非對稱性體現(xiàn)在子CU 形狀非正方形,為提高非對稱特征的提取能力,本文引入了非對稱卷積核。注意力模塊可實現(xiàn)特征通道[27]和卷積核[28]的權重分配,因此在本文中引入該模塊。本文通過壓縮原始圖像來獲取注意力,以便從全局控制特征權重的分配,如圖1 所示,首先將32×32 的CU 展開為1×1 024 的向量,再通過1 024×128 和128×N兩個維度逐漸減小的全連接層進行壓縮得到1×N的注意力向量,其中N為被控制的特征向量通道數(shù),并且QP 作為外部特征被加入全連接層,最后通過Softmax 函數(shù)進行激活。此外,為了加快模型的收斂速度,激活函數(shù)引入了參考文獻[28]中所使用的溫度控制,即對Softmax 函數(shù)的輸入除以一個溫度系數(shù)τ,τ隨著訓練次數(shù)發(fā)生改變。τ初始值為30,使得各特征權重相當,可有效加快收斂速度,隨著訓練次數(shù)的增加,τ逐漸減小,當τ=1 時激活函數(shù)退化為原始Softmax 函數(shù)。
圖1 注意力模塊
本文設計的AA-CNN 結構如圖2 所示,分為數(shù)據(jù)預處理、特征提取、特征擬合以及結果輸出4 部分,具體如下。
(1)獲取亮度CU 并將大小縮放至32×32,再進行歸一化處理。
(2)該結構包括L1、L2 和L3 3 個非重疊卷積層,每層包含3 個分支,第一層各分支的卷積核大小分別為4×2、4×4 和2×4(濾波器數(shù)量為16),第二層和第三層各分支的卷積核大小均分別為2×1、2×2 和1×2(濾波器數(shù)量為24 和32)。與對稱卷積核相比,非對稱卷積核可以提取不同方向的特征,更加適應MT 劃分。此外,通過壓縮輸入CU 獲得注意力向量,再根據(jù)注意力向量對每個特征通道進行權重分配。每個注意力模塊對應一個卷積模塊,共9 個,分別為注意力1~9,該模塊的引入可有效提高網(wǎng)絡容量并消除特征冗余。
(3)將每個分支提取的特征展開并拼接為1×2 176的特征向量,然后通過3 個大小分別為2 176×128、128×96 和96×6 的全連接層L4、L5 和L6 進行特征擬合,并且在每個全連接層中將QP 作為外部特征加入特征向量。
(4)采用Softmax 函數(shù)激活預測值并輸出1×6的預測概率向量,分別對應PML 中各模式為最優(yōu)概率。
交叉熵用于度量兩個概率分布間的差異性,差異越大交叉熵越大,反之越小。因此,本文采用交叉熵作為訓練AA-CNN 的損失函數(shù),計算式如下:
其中,H(.)為交叉熵運算符,p和q為預測和標簽向量。
2.3.1 快速模式?jīng)Q策
為有效平衡編碼性能與時間,應在盡可能保留最優(yōu)模式的情況下保留最少模式數(shù)量,本文所提出的快速模式?jīng)Q策流程如圖3 所示。首先調用AA-CNN 模型得到預測概率向量p;再按概率對PML 進行降序排序,可表示為:
其中,L和p′分別為排序后的模式列表和預測向量;然后累加概率,并設定閾值φ確定最小保留模式數(shù)量n,計算式如下:
圖2 AA-CNN 結構
圖3 快速模式?jīng)Q策流程
其中,x為可保留模式數(shù)量,pk′為p′中第k個元素;最后,根據(jù)n更新PML 為L′,L′={Li|1≤i≤n},Li為L中第i個元素。因此,本文提出的快速編碼方法僅對n個模式進行RDO,n∈[1,6],極大地降低了編碼復雜度,并可通過φ來控制性能的損失。
2.3.2 閾值決策
為選取最佳閾值φ*來平衡編碼性能與時間,本文提出了性能與時間的代價函數(shù)。模型預測準確率α能表征編碼性能,α越大則性能越高;L′的模式數(shù)量n能表征時間節(jié)?。╰ime re2uction,TR),n越小則時間節(jié)省越多。因此,定義代價函數(shù)如下:
其中,ω為兩者的平衡因子,當ω<1 時,可以節(jié)省更多的時間;當ω>1 時,性能更高。
α與φ直接相關,為建模二者的關系,本文在QP=32、CU 大小為32×32 的條件下對多個序列進行了統(tǒng)計分析。統(tǒng)計結果如圖4 所示,隨著φ增加,α也增加,其中實線通過線性擬合獲得。顯然,對于所有序列兩者均符合線性關系。因此,本文建模α為關于φ的線性函數(shù),計算式如下:
其中,μ和ν是與訓練模型和圖像相關的參數(shù)。
同理,本文對n與φ進行了統(tǒng)計分析。統(tǒng)計結果如圖5 所示,隨著φ增加,n的趨勢呈現(xiàn)指數(shù)增長。因此,本文將n建模為關于φ的指數(shù)函數(shù),指數(shù)函數(shù)有exp1 和exp2 兩種類型,計算式
圖4 α 隨φ 的變化關系
圖5 n 隨φ 的變化關系
如下:
其中,a、b、c和d均為與模型和圖像相關的參數(shù)。
此外,本文給出了每個模型的擬合系數(shù)R-square,見表1。對于α,線性函數(shù)具有非常高的擬合度;對于n,顯然exp2 模型比exp1 模型擬合效果更好,本文選擇exp2。
表1 R-square
因此代價函數(shù)改寫為:
對于最佳閾值φ*的求解,令Cost(φ)′=0,得:
為估計式(10)中參數(shù)μ、a、b、c和d,本文考慮了序列的時域連續(xù)性。通過編碼序列第一幀獲得樣本的預測向量和標簽向量,進而計算得到不同閾值φ下的α及n,最后根據(jù)式(7)和式(8)即可求解參數(shù),表2 為部分序列的參數(shù)。
表2 部分序列參數(shù)
本文提出的算法在VVC 測試平臺(VVC test mo2el,VTM)7.0[29]上實現(xiàn),采用的學習模型在TensorFlow 平臺上完成,測試條件采用標準測試配置中的全I 幀(all intra,AI)[30]。測試序列共22 個,包括了從類A1 到類E 的6 個類,其中A1和A2 為10 bit 超高清序列,類B 包括了10 bit 和8 bit 高清序列,類C~類F 為不同分辨率的8 bit序列。本文的算法性能通過BDBR[31]和平均時間節(jié)省ATR 進行測量,ATR 為不同QP 下TR 的均值,計算式如下:
其中,To(i)和Tp(i)分別表示在QP=i時原始平臺和所提出算法的編碼時間,Ω={22,27,32,37}。
本文提出的快速決策算法可通過改變平衡因子ω將算法性能調整到不同檔次。為了方便對比,本文通過探索發(fā)現(xiàn)ω=0.85 時算法性能與參考文獻[11,23]的性能相似,ω=1 時算法的ATR 與參考文獻[22-23]的ATR 相似。本文共給出了3 個不同檔次的結果,見表3。其中,ω=∞(φ=0)為算法能達到最大時間節(jié)省點,“*”表示構建訓練集時采用的序列。此外,實驗結果還給出了各檔次下BDBR 和ATR 的標準差STD,其大小可以反映該指標在不同序列下的穩(wěn)定性。
表3 算法性能比較
實驗結果表明,本文算法在略微損失RD 性能的條件下,編碼時間節(jié)省最大能達到67.83%。同時,被用于訓練模型的序列與其他序列的實驗結果高度一致,這說明所提出算法具有良好的泛化能力。在ω=0.85、1、10 不同檔次下,算法在不同序列下的ATR 均值分別達到48.62%、52.93%以及62.01%,性能損失分別為1.05%、1.33%以及2.38%??梢?,在不同檔次下,ATR 和BDBR 均可達到較好的平衡,隨著檔次值的提高,算法更傾向于時間節(jié)省,ATR 及其穩(wěn)定性增加,這表明ATR 的增加是以犧牲RD 性能及穩(wěn)定性為代價的。此外,本文算法對8 bit 深度序列的效果優(yōu)于10 bit深度序列,因為10 bit 深度序列具有更微小的紋理細節(jié),而在構建數(shù)據(jù)集時無法區(qū)分bit 深度,導致訓練模型忽略了部分細節(jié)。
本文算法結果與Lei 等[11]、Yang 等[22]及Fu等[23]提出的算法結果進行了對比,對比數(shù)據(jù)見表3。結果表明,在ω=1 時,本文算法無論是時間節(jié)省還是RD 性能均優(yōu)于Yang 等[22]提出的算法。同時,本文算法在相同時間節(jié)省情況下,RD 性能更加穩(wěn)定,這是因為本文算法將模式?jīng)Q策建模為回歸問題,通過設定閾值來實現(xiàn)劃分模式?jīng)Q策,更易于控制時間節(jié)省與性能損失之間的平衡。因此,本文算法可以在節(jié)省相同時間的情況下,具有更優(yōu)的RD 性能。在ω=0.85 時,通過與Lei 等[11]和Fu等[23]提出的算法結果對比可知,在具有相同RD性能的條件下,本文算法時間節(jié)省更多。Fu 等[23]提出的算法的時間節(jié)省與序列分辨率相關,分辨率越高時間節(jié)省越多,而本文算法除個別序列外均具有更好的時間節(jié)省和RD 性能。雖然Lei 等[11]提出的算法在穩(wěn)定性和算法性能上能達到較好的平衡,但時間節(jié)省更少。
本文進一步分析了所提算法與VTM7.0 的性能比較,并給出了性能損失最大序列RitualDance和最小序列PartyScene 的RD 曲線,如圖6 所示。對于RitualDance 序列,本文算法的最大性能損失仍能與原始平臺保持一致,對于PartyScene 序列,本文算法與VTM7.0 的RD 曲線基本重合,表明本文算法的性能損失可以忽略不計。因此,本文算法能極大地降低編碼復雜度,并且性能損失與原始平臺基本保持一致。
圖6 RD 曲線對比
針對VVC 中QTMT 劃分結構帶來的高編碼復雜度問題,本文提出了一種快速QTMT 劃分策略,并提供了不同檔次的時間節(jié)省和性能損失多種組合的靈活調整。首先,提出了基于AA-CNN的模式概率預測模型和快速劃分決策模型。然后,為獲得平衡編碼性能與時間的最佳閾值,建立了對應的代價函數(shù),提出了閾值決策模型。最后,將所提算法整合到VTM7.0 進行實驗及分析,并與其他快速算法進行了對比。實驗結果表明,本文算法最大平均節(jié)省時間達到62.01%。