![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicGcq5SZjFmZiVTYjBTO2MmY1ETYyQWM0EmYzQjZ3IDOmlDMm9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.jpg)
視訊編解碼是視訊應用的底層核心技術,作用是對圖像進行壓縮和數字編碼,以盡可能小的帶寬傳送盡可能高品質的視訊資料。H.264 是現在被廣泛使用的視訊編解碼标準,在同等視訊品質下,H.265/HEVC 标準可以讓視訊體積減小一半。H.265 尚未完全普及,新一代标準 H.266/VVC 比 H.265 讓視訊又減小一半。
這并不是視訊編碼技術的盡頭。
今年初,位元組跳動先進視訊團隊(AVG)向聯合視訊專家組 JVET 發起了一項 JVET-U0068 技術提案,可以為視訊壓縮的三個顔色分量(Y, U, V)分别實作約 10%、28%、28% 的性能增益,這是業界公開的單個智能編碼工具的最佳性能增益。在優化壓縮品質的同時,視訊體積相比 H.266 最新标準至少還可以縮小 13%。就其實際效果而言,如果新技術得以應用,與現在主流的 H.264 标準相比,我們看同樣品質的視訊,大約隻需要 22% 的帶寬和存儲空間。
這項技術名為 DAM(Deep-filtering with Adaptive Model-selection),它是通過深度學習技術建構減少視訊壓縮失真的濾波器,主幹是基于殘差單元堆疊的深度卷積神經網絡,輔以自适應模型選擇以最大程度适應特性複雜的自然視訊。該技術由位元組跳動 AVG 的美國加州研發團隊實作,成員來自高通、英特爾、微軟等巨頭以及海内外多家頂級院校。
我們先從下圖示例中對比 H.264 與 H.266+DAM 的視訊壓縮效果:
可以看到,相同壓縮比條件下,H.266+DAM 編碼壓縮品質遠遠優于 H.264。
除了視訊壓縮品質提升之外,應用 DAM 技術可以比H.266再縮小 13% 的資料體積,以下圖檔來自國際标準組織的測試視訊。其中,圖(左)為原圖,每像素 12 位元組;圖(中)使用 VTM11.0 壓縮(qp=42),每像素 0.00216位元組,峰值信噪比 27.78dB;圖(右)使用 VTM11.0+DAM(qp=42),每像素 0.00184 位元組,峰值信噪比 28.02dB。
對比圖(中)和圖(右)可以看出,應用 DAM 技術後,圖(右)壓縮比更高,峰值信噪比(客觀品質)更好,主觀品質也相對更好。
圖1. 左:原圖, 12bpp,中:VTM-11.0壓縮,QP42,0.00216bpp,27.78dB,右:VTM-11.0+DAM,QP42, 0.00184bpp,28.02dB
技術細節
DAM 的建構方法
提案 JVET-U0068 所介紹的 DAM 是位元組跳動 AVG 此前一項提案 JVET-T0088 的擴充版本。
在具體實作上,為了減輕深度網絡的訓練難度,DAM 算法利用殘差單元作為基本子產品,并多次堆疊來建構最終網絡。所謂殘差單元是指通過引入跳層連接配接,允許網絡把注意力放在變化的殘差上。為了處理不同類型的内容,新技術針對不同類型的 slice 和品質級别訓練不同網絡。此外,還引入了一些新特性來提高編碼性能。
圖 1:(a)是卷積神經網絡濾波器的架構,M 代表特征圖的數量,N 代表特征圖的空間分辨率;(b)是(a)中殘差塊的結構。
DAM 濾波方法的主幹如上圖 1 所示,為了增加感受野,降低複雜度,此方法包含一個步幅為 2 的卷積層,該層将特征圖的空間分辨率在水準方向和垂直方向都降低到輸入大小的一半,這一層輸出的特征圖會經過若幹順序堆疊的殘差單元。最後一個卷積層以最後一個殘差單元的特征圖作為輸入,輸出 4 個子特征圖。最後,shuffle 層會生成空間分辨率與輸入相同的濾波圖像。
與此架構相關的其他細節如下:
- 對于所有卷積層,使用 3x3 的卷積核。對于内部卷積層,特征圖數量設定為 128。對于激活函數,使用 PReLU;
- 針對不同 slice 類型訓練不同的模型;
- 當為 intra slice 訓練卷積神經網絡濾波器時,預測和分塊資訊也被輸入網絡。
新特性:自适應模型選擇
在 JVET-T0088 的卷積神經網絡結構基礎上,JVET-U0068 引入了以下幾種新特性:
- 首先,每個 slice 或 CTU 單元可以決定是否使用基于卷積神經網絡的濾波器;
- 其次,當某個 slice 或者 CTU 單元确定使用基于卷積神經網絡的濾波器時,可以進一步确定使用三個候選模型中的哪個模型。為此目的,使用 {17,22,27,32,37,42} 中的 QP 數值訓練不同模型。将編碼目前 slice 或 CTU 的 QP 記作 q,那麼候選模型由針對 {q,q-5,q-10} 訓練的三個模型構成。選擇過程基于率失真代價函數,然後将相關模式表征資訊寫入碼流;
- 第三,基于卷積神經網絡的濾波器在所有層都被啟用;
- 最後,現有濾波器中的去塊濾波和 SAO 被關掉,而 ALF(和 CCALF)則被置于基于卷積神經網絡濾波器後面。
線上推斷及訓練
推斷過程中使用 PyTorch 在 VTM 中執行 DAM 深度學習的線上推斷,下表 1 是根據 JVET 建議給出的網絡資訊:
表 1。
訓練過程中以 PyTorch 為訓練平台,采用 DIV2K 和 BVI-DVC 資料集,分别訓練針對 intra slice 和 inter slice 的卷積神經網絡濾波器,并且訓練不同的模型以适應不同的 QP 點,訓練階段的網絡資訊根據 JVET 建議列于下表 2 中。
注意,當訓練 inter slice 濾波器時,預測資訊也被用作輸入,而在 JVET-T0088 中,它僅用于 intra slice。
表 2。
下圖 2 給出了訓練集和驗證集損失函數的一個示例。
圖 2。
實驗結果:三個顔色分量(亮度 Y 和色度 Cb、Cr)性能增益顯著
考慮到 VTM-9.0 和 VTM-10.0 之間的微小差異,并根據 JVET 定義的正常測試條件,在 VTM-9.0 上測試了位元組跳動 AVG 的 DAM 技術提案,測試結果如下表 3 和表 4 所示。
結果顯示,在 RA 構型下,Y、Cb 和 Cr 的 BD-rate 節省分别為 10.28%、28.22% 和 27.97%;在 AI 配置下,對 Y、Cb 和 Cr 分别可帶來 8.33%、23.11% 和 23.55% 的 BD-rate 節省。
表 3:AVG 提案在 VTM9.0(RA)上的性能表現。
表 4:AVG 提案在 VTM9.0(AI)上的性能表現。
總結
實測證明,位元組跳動 AVG 的這項視訊編碼技術創新,可以讓視訊的資料體積相比 H.266 最新國際标準再縮小 13%。對視訊服務商來說,存儲和帶寬成本将顯著降低;對使用者來說,在網速較慢的情況下也可以流暢觀看高清視訊。
但正如前文所述,早在 2013年正式通過的 H.265,如今還沒有完全普及。一方面,高昂的專利授權費用導緻生産硬體裝置和生産内容的廠商無法承擔,使用者也隻能買并不支援 H.265 标準的裝置;另一方面,H.265 的專利收費很複雜,想要使用 H.265 得分别多次繳專利費。是以,目前最常見的還是 18 年前的 H.264 标準。
盡管 H.266 新一代标準的推廣還有很長的路要走,位元組跳動 AVG 的技術探索并不會停止,其研究成果也會通過自主研發的 BVC 編碼器投入應用,為抖音、西瓜視訊、今日頭條等 App 的視訊類内容處理,以及雲計算、雲遊戲等基礎架構領域創造更高清畫質、更流暢播放的視訊體驗。