基於深度學習的HEVC多幀環路濾波方法

對視頻編碼的一些理解

由本文主要涉及的是視頻編碼與深度學習。介紹本文之前,先在這裡寫一下對視頻編碼的粗淺理解,已有了解的可以跳過這部分。

我們平時看到的視頻,原始數據量往往非常龐大,尤其對高清視頻而言,如果直接存儲和傳輸原始信息,需要佔用大量的空間和帶寬(例如 1080p@30Hz&24-bit,數據量高達 11.2GB/min)。

為解決這個問題,學術界和工業界制定出了多代視頻編碼標準,用於將原始視頻數據壓縮成體積較小的比特流。壓縮,可以利用無損和有損的方式進行,但無損壓縮的壓縮比往往很有限,目前關注的絕大部分是有損壓縮方式。這種方式允許壓縮後恢復出的視頻存在失真,但只要沒有使視頻質量明顯降低,還能夠被人眼接受,那麼這種有損壓縮就是合理的。

不同的有損壓縮方法(例如各種壓縮標準之間、同一標準中的不同配置)性能一般不同,而在作 者看來,需要關注的性能, 主要在於“多快好省”的後三個字:

  • “快”: 編碼時間。與視頻播放時間無關,此指標是把原始視頻編碼成比特流所需的時間,即編碼器的運行時間。編碼時間越短,往往意味著消耗計算資源越少,說明這種編碼方法越有希望得到廣泛應用。
  • “好”: 壓縮後的視頻質量。最常用的,可以用所有幀平均 PSNR 來表示。或者用其他客觀指標如 SSIM 等描述,也可用人的主觀打分來衡量。
  • “省”: 壓縮後的碼率。即比特流體積與視頻時間之比。

以上三項中,編碼時間描述的是過程,視頻質量和碼率描述的是結果,顯然,過程和結果都需要我們關注。 其中,形容結果的兩項指標往往聯合使用,因為單純的高質量和單純的低碼率都很難說明編碼性能如何,一般公認的是固定單一變量來對比另一個變量,例如相同視頻質量下的碼率變化率(BD-BR)或相同碼率下的 PSNR 變化量(BD-PSNR)。 這種“好”和“省”,更科學地說,稱為“率-失真性能”,即反映碼率和失真兩項指標的綜合性能。

隨著編碼標準的發展,例如 H.264/AVC->H.265/HEVC->H.266/VVC,率失真性能在不斷地優化,但代價是時間複雜度成倍提高,這主要因為後續的編碼標準往往支持更靈活的分塊/預測/變換等策略,使得編碼器能在更廣大的策略空間中搜索最優解,用更多的搜索時間換取率-失真性能。對於一種編碼標準,研究者改進的目標也往往基於複雜度或率失真性能,因此,據本人有限瞭解,編碼領域至少有以下幾類研究:

1. 保證率-失真性能前提下,節省編碼時間:可以理解為減小編碼時間的均值(一階性能);

2. 在編碼時間可接受的前提下,優化率-失真性能:可以理解為優化BD-BR或BD-PSNR的均值(一階性能);

3. 複雜度控制,減小編碼時間複雜度的波動:即減小編碼時間的方差(二階性能);

4. 碼率控制,減小編碼過程中的碼率波動:即減小碼率的方差(二階性能)。

對於不斷髮展的編碼標準,提案/論文/專利等可以說是浩如煙海,但往往可以歸結為對複雜度、碼率與視頻質量的追求,按照這個思路,就比較容易理解了。作者曾在 2018 年 TIP 中提出過 基於深度學習的 HEVC 複雜度優化方法 ,屬於上表中比較基本的第 1 類研究;對本文而言,利用 HEVC 多幀信息進行環路濾波,則屬於第 2 類研究。當然,第 3、4 類或者其他類型的工作,在作者所屬的課題組,以及其他編碼相關的課題組,也都有涉及,就暫不詳細說明了。

研究背景

作為一種比較先進的視頻壓縮方法,HEVC 標準相比於上一代 AVC 標準,能夠在相同質量下降低約 50% 碼率,使編碼效率進一步提高。但也需要考慮到,AVC、HEVC 等基於塊的編碼方法通常用於有損壓縮而不是完全無損的,因此不可避免會帶來了多種失真(如塊失真、模糊和振鈴效應等),尤其在低碼率情況下,這些失真更為顯著。

為了減輕編碼過程中的失真,人們提出了多種濾波算法。儘管具體方法不同,這些濾波算法具有一個共同點:都對編碼後的每幀視頻進行質量增強,並且已經增強過的幀又作為參考幀,為後續幀的編碼過程提供幀間預測信息。可見,這類濾波算法既作用於當前幀的輸出,又作用於後續幀的輸入,邏輯上形成一個閉環,因此統稱為環路濾波。合理設計的環路濾波器,使得視頻編碼的效率可以進一步提高。

首先,HEVC 標準的制定過程涉及到三種環路濾波器,包括去塊濾波器(Deblocking filter,DBF)、樣本自適應偏移(Sample adaptive offset,SAO)濾波器以及自適應環路濾波器(Adaptive loop filter,ALF)。其中,DBF 首先用於消減壓縮視頻中的塊效應;然後,SAO 濾波器通過對每個採樣點疊加自適應的偏移量,來減少壓縮失真;最後,ALF 則基於維納濾波算法,進一步降低失真程度。最終,DBF 和 SAO 被納入 HEVC 標準。

除了 HEVC 標準環路濾波器,另有 多種啟發式的基於深度學習的環路濾波方法 ,也被陸續提出。

啟發式方法是根據一些先驗特徵(如紋理複雜度和相似視頻塊個數等)對壓縮失真構建統計模型,再根據此模型設計濾波器,例如非局域均值(Non-local means,NLM)濾波器 [Matsumura, JCTVC-E206, 2011] 和基於圖像塊矩陣奇異值分解的濾波器 [Ma, MM 2016][Zhang, TCSVT 2017] 等。啟發式方法能在一定程度上提高編碼效率,但模型中的先驗特徵需要手動提取,這高度依賴於研究者的經驗,並且難以利用多種特徵進行準確建模,因此在一定程度上限制了濾波器的性能。

從 2016 年開始,基於深度學習的方法顯著提高了環路濾波性能。此類方法一般通過構建卷積神經網絡(convolutional neural network,CNN)來學習視頻幀中的空間相關性。例如,文獻 [Dai, MMM 2017] 設計了一種可變濾波器尺寸的殘差 CNN(Variable-filter-size residue-CNN,VRCNN),以替換幀內模式中的標準 DBF 和 SAO。文獻 [Zhang, TIP 2018] 則提出一種帶有捷徑的殘差CNN(Residual highway CNN,RHCNN),用於幀內或幀間模式的標準 SAO 過程之後。

上述基於深度學習的方法有效發掘了單幀內容的空間相關性,然而卻沒有發掘多幀內容中的時間相關性。實際上,壓縮視頻一般存在明顯的質量波動,而且其中的連續多幀往往包含相似的事物或場景。因此,低質量幀中的視頻內容可以由臨近的高質量幀推測得到,這即為本文的出發點:基於深度學習的 HEVC 多幀環路濾波。

數據分析

對於本文的環路濾波問題,首先構建一個大規模數據庫,以便在設計算法之前進行必要分析,併為本文或後續的相關工作提供數據支撐。本數據庫由182個無損視頻組成,分別來自 http://Xiph.org 網站、視頻質量專家組(Video quality experts group,VQEG)網站和作者所在的團隊之前建立的人臉視頻庫 [Xu, JSTSP 2014],如下表所示:

基於深度學習的HEVC多幀環路濾波方法

▲ 表1 環路濾波數據庫構成

庫中的 182 個視頻包括訓練集(120 個視頻)、驗證集(40 個視頻)以及測試集(40 個視頻)三個不重疊的部分。此外,JCT-VC 標準推薦的所有 18 個視頻也參與測試,但因為版權不全開放,就沒有計入本文構建的數據庫中。所有 182 個開源視頻都利用 HM 16.5 在 4 個 QP 下進行編碼,幷包含 LDP、LDB 和 RA 三種幀間配置。

在編碼過程中,提取出所有的未濾波重建幀(Unfiltered reconstructed frame,URF)和對應的無損幀,作為神經網絡的輸入和輸出信息。另外,考慮到 CTU 分割結構會顯著影響壓縮失真,所有幀的 CU 和 TU 分割情況也被提取出來,作為輔助信息。因此,數據庫中的每個幀級別樣本都包括四部分:一個 URF、對應的無損幀,以及表示 CU 和 TU 分割深度的兩個矩陣。

最終,根據 3 種不同配置和 4 種不同 QP 值,總共構建出 12 個子數據庫。完整的數據庫共包含了約 60 萬個幀級別樣本,每個幀級別樣本又可以拆分成多個塊級別樣本(取自視頻幀中的任意位置),能夠為數據分析和模型訓練提供充足的數據支撐。

構建數據庫後,利用其中的訓練集和驗證集上的 160 個視頻,分析編碼過程中的視頻內容相似度和質量波動情況。首先,圖 2 反應了不同幀間距離下的 Y、U、V 三通道內容相似度,用每個通道兩幀矩陣之間的線性相關係數(CC)來衡量。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖1 幀間內容相似度

總體上,隨著幀間距離增大,以 CC 衡量的相似度逐漸減小。一般而言,距離 10 幀以內,每個通道的 CC 都大於 0.7,說明鄰近幀的內容相似性較大,這是本文多幀環路濾波方法的前提。

另外,對於壓縮視頻的質量波動,可以用 PSNR 的標準差來衡量。下圖以兩個視頻為例,表示出同一個視頻中幀間 PSNR 存在顯著變化,同樣,其他視頻中也存在相似的現象。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖2 HEVC編碼視頻質量波動示例

基於深度學習的HEVC多幀環路濾波方法

▲ 表2 PSNR波動與標準濾波器的PSNR增量

為更全面地衡量 HEVC 中的視頻質量波動,表 2 進一步比較了所有視頻 PSNR 的波動情況,和標準環路濾波器 DBF 和 SAO 所帶來的 PSNR 增量。可見,在 LDP、LDB 和 RA 配置下,PSNR 的標準差平均為 0.891 dB、0.882 dB 和 0.929 dB,遠高於由標準濾波器帶來的提升(0.064 dB、0.048 dB和0.050 dB)。

這說明在 HEVC 的不同編碼配置下,視頻質量波動提供了設計多幀濾波器的潛力(用高質量幀補償鄰近的低質量幀),但標準環路濾波器沒有有效地利用這種潛力。這也不難理解,因為標準濾波器沒有直接利用多幀信息。本文則把握住這種潛力,設計出一個基於多幀信息的環路濾波器。

研究內容

方法框架

本文中多幀環路濾波器(Multi-frame in-loop filter, MIF)的框架如下圖所示。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖3 方法框架

圖中上半部分是標準編碼步驟:每個原始視頻幀通過幀內或幀間預測、離散變換和量化等必要步驟進行編碼。預測得到的幀與殘差幀之和,構成一個未濾波的重建幀 URF。下半部分則是本文的貢獻:利用每個 URF 及其臨近幀的信息,增強 URF 的視覺質量。首先,由參考幀選擇器(Reference frame selector, RFS)選出一些高質量且內容相似的幀,作為當前 URF 的參考幀。之後,根據參考幀的數量,在以下兩種可能情況中選擇一種,對 URF 進行增強。

模式1: MIF-Net。 設多幀增強方法需要 M 個參考幀。對於一個 URF,如果 RFS 選出了至少 M 個參考幀,當前 URF 將通過 MIF-Net 進行增強。在 MIF-Net 中,首先通過一個運動補償網絡,將每個參考幀的內容與 URF 對齊。之後,將 URF 和所有對齊後的參考幀通過一個質量增強網絡,輸出重建之後的幀。

模式2: IF-Net。 對於一個 URF,如果 RFS 未能選出 M 個參考幀,將利用 IF-Net 對 URF 進行質量增強。與 MIF-Net 不同,IF-Net 的輸入只有 URF,無需考慮多幀信息。

最終,編碼器比較 MIF-Net/IF-Net 與標準濾波器 DBF+SAO 的性能,並將 PSNR 最佳的方案作為實際的選擇,以保證整體性能。

RFS的設計

RFS 為每個 URF 選取參考幀的原理如圖。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖4 RFS原理

假設當前幀 URF 是第 n 幀,RFS 將之前編碼過最近的 N 幀做為參考幀池,即從第 (n-N) 幀到第 (n-1) 幀,都有可能作為第 n 幀的參考幀。對參考幀池中的每幀,計算出 6 個反映視頻質量和內容相似度的指標,包括:

  • Y、U、V 三個通道上,參考幀相對於當前 URF 的 PSNR 增量;
  • Y、U、V 三個通道上,參考幀和當前 URF 內容的相關係數 CC。

對於某個參考幀,若至少在一個通道上,滿足 PSNR 增量大於 0 且 CC 大於一個閾值,則認為此參考幀可能有潛力提高 URF 的質量,即該參考幀有效。否則,認為此參考幀無效。若有效的參考幀超過 M 個,則進一步將每個參考幀的6個指標組成一個 6 維向量,輸入到一個兩層全連接網絡 RFS-Net 中,以求得一個輸出標量,表示此參考幀對提升 URF 質量的潛力。之後,從有效參考幀中選取潛力最大的 M 幀,即為 RFS 的輸出。

網絡結構與訓練過程

RFS 的運行結果,為絕大多數的 URF 選出了具有足夠數量的參考幀;對於少數 URF,也存在參考幀不足的可能。本文核心內容在於,對以上兩種情況(尤其是參考幀足夠的情況),分別設計合適的深度神經網絡,以顯著增強 URF 的質量。首先會比較詳細地介紹 MIF-Net 的結構及其訓練方法,之後將指出 IF-Net 和 MIF-Net 的不同之處。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖5 MIF-Net或IF-Net結構,由箭頭型號區分代表兩種網絡

MIF-Net 的結構如上圖所示。其輸入包括一個 URF 和它的 M 個參考幀,輸出為增強後的幀。

首先,MIF-Net 的輸入端整合了來自 M 條平行支路 的信息,其中每條支路 處理其對應的一個參考幀中的信息。 在支路中,首先將參考幀的內容與 URF 進行對齊,得到一個運動補償後的幀,即圖中的 compensated frame。 然後,將 URF 和補償後的幀,共同輸入到由 CTU 分塊信息所引導塊適應卷積層(block-adaptive convolution)中,利用 CU 和 TU 分割情況,從不同來源的輸入信息中提取較低層特徵。 之後,考慮到 DenseNet 的高效性,將這些低層特徵通過兩個連續的密集單元(dense units)進行處理,以提取更加複雜的特徵。 最後,來自 M 條支路的這些特徵被連接到一起,再經過兩個連續的 dense units,以獲得一些高級特徵,最終輸出一個單通道特徵圖。

為訓練方便,除了局部的dense units外,MIF-Net 也加入了全局捷徑,將最終 dense unit 輸出的單通道特徵圖視為一個殘差幀,即: 所求的質量增強幀等於殘差幀與輸入的 URF 之和。 接下來,將闡述 MIF-Net 各個部分的結構。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖6 運動補償網絡

運動補償網絡。MIF-Net 中的運動補償網絡,是基於文獻 [Caballero, CVPR 2017] 中的空間變換運動補償(Spatial transformer motion compensation,STMC)模型改進得到,以實現參考幀和 URF 的內容對齊,如圖 6 所示。

若直接利用此文獻的方法,則 STMC 的輸入為參考幀和 URF,輸出為一個運動補償後的幀(圖中的 )。 此文獻中的 STMC 包含 ×4 和 ×2 兩 條降採樣支路,以預測不同精度的運動矢量(Motion vector,MV)圖。 之後,將 ×2 降採樣支路生成的 MV 圖作用到參考幀上,即得到。 這種 STMC 適合在不同空間尺度上進行運動估計,然而,其中的降採樣導致精度有限,而且 STMC 的結構還有一些可以改進之處。

對此,本文提出一種改進版運動補償網絡,與文獻 [Caballero, CVPR 2017] 中的 STMC 具有如下區別:

  • 在 ×4 和 ×2 降採樣支路的基礎上,增加一個原尺寸支路,以提升 MV 的估計精度;
  • 受 ResNet 啟發,在已有的卷積層旁邊增加了 6 條捷徑(圖中 6 個加號附近),以提高網絡容量並使網絡更容易訓練;
  • 將原先所有的 ReLU 激活層替換成 PReLU,使網絡可以學習激活函數負半軸的斜率。

進行上述改進之後,根據新增的原尺寸支路得到兩個新的 MV 圖,尋找補償後的幀中每個像素在參考幀中的對應座標,再根據雙線性插值法,計算出運動補償後的幀,即圖中的。

塊適應卷積層。 此層的輸入由三個特徵圖相連得到,包括一個 URF、一個運動補償後的幀和兩者之差。 CU 和 TU 分割信息用兩張特徵圖表示(圖中的 和 ),其中的每張特徵圖都與 URF 的大小相同,各個像素的取值取決於 CTU 分割信息: CU 或 TU 邊緣的像素賦值為 1,其餘像素賦值為 -1。

而後,塊適應卷積層的目標在於: 給定 3 個輸入特徵圖,在另外 2 個引導特徵圖的作用下,生成一定數量的輸出特徵圖。 為解決這一問題,我們提出一種帶有引導信息的卷積運算,包括兩個主要步驟: 生成中介圖,以及利用中介圖進行卷積。

  • 首先,將引導特徵圖通過普通卷積層進行處理,生成若干個中介特徵圖。 在此步驟的處理中,需要保持特徵圖尺寸不變。
  • 之後,在對輸入特徵圖進行卷積的過程中,根據中介特徵圖來生成輸出特徵圖。

圖 7 給出一個例子,說明帶有引導信息的卷積計算過程。 假設一種簡單情況,輸入、輸出特徵圖的尺寸均為 3×2,卷積核大小為 3×3。 與普通卷積的區別,在於新增的中介特徵圖(圖中的intermediate feature map)。 考慮引導信息,用原本的卷積核 3*3 權重,乘以中介特徵圖裡各個像素周圍 3*3 感受野中的數值,逐元素相乘,得到修改後的權重。 此時,各個像素對應的 3*3 權重都可能不同,即卷積核權重可以受到中介特徵圖控制。 之後的運算則與普通卷積類似,由輸入特徵圖每個像素周圍的 3*3 感受野,與對應的 3*3 權重做內積,得到輸出特徵圖的對應像素值。

比較而言,考慮每個輸入通道向每個輸出通道做卷積的過程,傳統卷積中的權重與位置無關,具有空間不變性; 帶引導的卷積中,卷積核權重會受到中介特徵圖控制,即帶有一定程度的空間相關性。 儘管這裡的卷積核權重與位置相關,但並不會像全連接層那樣完全隨機,這是因為中介特徵圖也是通過卷積得到的,而不是雜亂無章。 並且,只需增加少量的可訓練參數,即可實現帶引導信息的卷積,不會導致明顯的過擬合。 這些特點使得帶有引導信息的卷積,可以利用更豐富的額外信息(如本文中的 CU 和 TU 分割情況),提高神經網絡的建模能力。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖7 帶有引導信息的卷積示例

用於質量增強的密集單元。 作為普通 CNN 的改進版,文獻 [Huang, CVPR 2017] 提出的 DenseNet 包含了多種長度的層間連接,能有效緩解梯度消失問題,並促進網絡不同位置的參數共享。

考慮到這些優勢,MIF-Net 中引入了 (2M+2) 個密集單元(dense units),包括每條支路中的 2 個 dense units,以及網絡末端用來整合各路信息的 2 個 dense units。每個 dense unit 的結構如圖 8 所示,可見,4 層的 dense unit 即包含 10 處幀間連接,遠多於 4 層的普通 CNN 只包含 4 處幀間連接,這有利於發揮 dense unit 靈活拓補結構的優勢。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖8 dense unit 結構

MIF-Net 訓練過程。 考慮到運動補償和質量增強兩大部分,MIF-Net 難以作為一個整體直接訓練。因此,本文采用了中間監督方法,在不同步驟引入各自的代價函數,進行訓練。首先,可以用 URF 和每個參考幀內容的差距來衡量運動補償網絡的性能,即基於 MSE loss 定義一箇中間代價函數 。

接下來,可以用增強後的幀和無損幀之間的差距來衡量 MIF-Net 的整體性能,同樣基於 MSE loss,定義全局代價函數 。 最終,訓練 MIF-Net 所採用的代價函數為:

基於深度學習的HEVC多幀環路濾波方法

。 其中,α 和 β 是可以調節的正值參數。 考慮到質量增強網絡的需要訓練好的運動補償網絡作為支撐,訓練之初,設置 α >> β ,以著重優化; 待收斂後,設置 β >> α ,以傾向於優化全局代價函數。

IF-Net和MIF-Net的區別

兩個網絡的區別在於 MIF-Net 的輸入包含了 M 個參考幀,而 IF-Net 不包含。因此,在 IF-Net 中只存在質量增強部分的 1 條支路,而沒有運動補償部分,如圖 5 中的粉紅色箭頭所示。MIF-Net 中用於整合 M 條支路信息的連接操作,在 IF-Net 中也不存在。儘管 IF-Net 的結構比較簡單,但它仍然保留本文所提出的塊適應卷積操作和 4 個 dense units,能夠保證充足的網絡容量。在訓練方面,IF-Net 沒有中間代價函數,因此直接優化全局代價函數即可。

實驗結果

首先考慮環路濾波器的一種基本性能,即客觀率失真性能,一般用 BD-BR 和 BD-PSNR 來衡量。利用 JCT-VC 標準推薦的所有 18 個視頻來測試,包括 Class A~E,QP 設置為 22、27、32 和 37。在三種幀間模式中,以最接近實用的 RA 模式為例,下表給出了標準環路濾波器、兩種對比算法和本文算法的性能。

基於深度學習的HEVC多幀環路濾波方法

▲ 表3 RA模式率失真性能比較

表格中,所有數據都是和去掉環路濾波器的 HM-16.5 編碼器相比的,例如,可以看出標準環路濾波器 DBF+SAO 帶來了 5.031% 的碼率節省,也代表相同碼率下 0.162dB 的質量提升。表中的 [10] 和 [20] 代表一種基於圖像塊矩陣 SVD 分解的啟發式算法 [Zhang, TCSVT 2017] 和一種基於高速殘差 CNN 的深度學習算法 [Zhang, TIP 2018],與標準算法相比,性能都有所提高。表格右側的多幀環路濾波算法,從 BD-BR 和 BD-PSNR 兩項指標來看,都優於其他三種算法,證明了本文方法的客觀率失真性能。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖9 RA模式下主觀質量對比

在主觀質量方面,本文也進行了對比,例如圖 9 中,多幀環路濾波相比於其他濾波方法,能觀察到馬尾邊緣更清晰、行人和街道圖像上的塊效應更輕、人的手指更容易分辨,等等。這種質量提升,在一定程度上得益於高質量幀補償低質量幀的思想,尤其在內容運動明顯、質量波動劇烈的地方,優勢更明顯。限於篇幅,論文難以對比所有圖像局部的主觀質量,但本文方法在 18 個標準視頻上所有的編碼結果,已經上傳到數據庫網站 https://github.com/tianyili2017/HIF-Database,以便觀察完整的主觀質量。

為了進一步驗證多幀環路濾波方法各個部分的作用,本文加入了溶解性實驗,如圖 10 所示。溶解性實驗從完整方法(考慮多幀信息、網絡中存在塊適應卷積和 dense units)開始,每次去掉一個主要部分,測量這種情況的 BD-BR 和 BD-PSNR。

圖 10 中,完整方法為配置 1,去掉多幀網絡 MIF-Net 後成為配置 2,再去掉塊適應卷積後成為配置 3,接著把 dense units 換成普通卷積層後成為配置 4(即深度學習方法的最簡情況)。最終,不帶深度學習的標準環路濾波器,為配置 5。可以看出,圖中每對相鄰的配置都只改變一個變量,構成一組對比實驗,並且存在著明顯的性能差別。這就驗證了本文方法的各個主要成分,都起到了一定的作用,同時也說明了,多幀思想的引入和網絡結構的改進,都有助於提升環路濾波器的性能。

基於深度學習的HEVC多幀環路濾波方法

▲ 圖10 溶解性分析

除了率失真性能,算法的複雜度也是需要考慮的因素,尤其對於深度學習方法而言,時間複雜度影響著算法的實用性。在表 4 中,本文以 RA 模式為例,在 Intel(R) Core (TM) i7-7700K CPU @4.2 GHz,Ubuntu 16.04 平臺上,給出了標準編碼器 HM16.5 在純 CPU 模式下的每幀編碼時間 ,同時比較了每種濾波算法額外引入的時間 ,以比值的形式評估時間複雜度。

表中的 [20],即 [Zhang, TIP 2018],是一種有代表性的深度學習方法。 本文方法與其對比,無論在純 CPU 情況或是 GPU 支持的情況,複雜度均比較低(例如,GPU 支持下,濾波器平均運行時間僅為標準編碼時間的 0.078 倍)。

可見,本方法為基於深度學習的環路濾波,提供了一種有效方案。 當然,時間複雜度上也存在優化的空間,後續可以通過一些網絡剪裁算法,在保持濾波器性能的前提下,顯著縮短運行時間。

基於深度學習的HEVC多幀環路濾波方法

▲ 表4 RA模式時間複雜度分析

小結

本文主要貢獻包括:

  • 構建一個大規模的環路濾波數據庫,為本方法提供足夠的數據支撐,也可用於對 HEVC 環路濾波的後續研究。
  • 根據視頻內容和質量波動情況的分析,提出一種參考幀選擇算法 RFS。
  • 提出一種多幀環路濾波網絡 MIF-Net,同時利用時間和空間信息,顯著提升視頻幀的質量。其中包含了本文新提出的塊適應卷積、改進版運動補償網絡,以及引入 DenseNet 先進結構設計出的質量增強網絡。

在作者看來,未來還可以做些進一步工作。例如,在基於深度學習的環路濾波器中,引入更多樣的信息,如跳過模式(skip mode)、PU 分塊信息、編碼器估計出的運動矢量和殘差幀信息等。另外,可以利用一些網絡加速算法對深度神經網絡進行簡化,提高本方法或未來環路濾波方法的實用性,並促進硬件實現。


分享到:


相關文章: