嚴 昊
(福州大學 物理與信息工程學院,福建 福州 350108)
自20 世紀80 年代以來,高效視頻壓縮一直是多媒體領(lǐng)域的一項重要課題。影像設(shè)備的更新迭代帶來了更佳的觀看體驗,傳輸和存儲的數(shù)據(jù)量激增,因此越來越需要擁有更高效的壓縮方案。傳統(tǒng)視頻編碼標準,如動畫專家群組(Moving Picture Experts Group,MPEG)、高級視頻編碼(Advanced Video Coding,AVC)、高效視頻壓壓縮編碼(High Efficiency Video Coding,HEVC)和通用視頻編碼(Versatile Video Coding,VVC)等在視頻壓縮任務(wù)取得了令人矚目的性能效果[1]。近年來,神經(jīng)網(wǎng)絡(luò)已經(jīng)在各領(lǐng)域獲得了廣泛應用。在壓縮編碼領(lǐng)域,神經(jīng)網(wǎng)絡(luò)能夠?qū)⑾袼赜虻男畔⑥D(zhuǎn)換成更緊湊的潛在表征,從而提高視頻的壓縮性能。此外,神經(jīng)網(wǎng)絡(luò)中的模型參數(shù)可以通過大量的視頻樣本學習得到,減輕模型對手工設(shè)計的依賴。目前,基于深度學習的視頻壓縮已經(jīng)成為一種擁有巨大潛力的視頻壓縮方案。
圖像視頻壓縮的本質(zhì)是運用算法剔除圖像與視頻信號中的多種多余信息,如空間上的重復、時間上的冗余、視覺上的非必要元素以及編碼層面的額外信息等。相比于圖像壓縮只在空間域減少冗余,視頻壓縮需要利用連續(xù)幀之間的時間相關(guān)性減少時域冗余。傳統(tǒng)的視頻編碼標準,如HEVC 是基于塊結(jié)構(gòu)的混合編碼框架。混合編碼框架主要包括幀內(nèi)預測、幀間預測、變換量化、熵編碼和去塊濾波等模塊[2]。在視頻壓縮框架中應用深度學習技術(shù)時,可以將基于深度學習的視頻壓縮分為兩類,分別為基于深度學習的混合式視頻壓縮和基于深度學習的端到端視頻壓縮。其中:基于深度學習的混合式視頻壓縮是在傳統(tǒng)混合編碼框架的基礎(chǔ)上,利用神經(jīng)網(wǎng)絡(luò)模型替換原有的手工模塊;基于深度學習的端到端視頻壓縮則是全部利用神經(jīng)網(wǎng)絡(luò)來進行視頻的壓縮與解壓。
基于深度學習的混合式視頻編碼是將深度學習與傳統(tǒng)視頻編碼器相結(jié)合的方法。根據(jù)將深度學習應用于視頻編碼框架的不同位置,將基于深度學習的混合視頻編碼分為基于深度學習的編碼器優(yōu)化和基于深度學習的后處理兩類。
基于深度學習的編碼器優(yōu)化是針對傳統(tǒng)視頻編碼框架中的特定模塊,利用神經(jīng)網(wǎng)絡(luò)模型進行優(yōu)化。YAN 等人[3]揭示了分數(shù)插值問題中的可逆性特性,即分數(shù)插值濾波器不僅應該從整數(shù)樣本生成分數(shù)樣本,還應該以可逆的方式從分數(shù)樣本中恢復整數(shù)樣本,提出了基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的可逆性驅(qū)動插值濾波器來提升編碼性能。ZHANG 等人[4]則通過引入可變形卷積層和生成對抗網(wǎng)絡(luò),進一步提升了插值濾波器的性能。DING 等人[5]通過使用CNN 生成更高質(zhì)量的虛擬參考幀,實現(xiàn)了更高效的幀間預測,由此提升壓縮性能。HUANG 等人[6]提出了一種基于神經(jīng)網(wǎng)絡(luò)的逐幀濾波方法,用于提升幀內(nèi)編碼的性能,并消除幀內(nèi)壓縮偽影。HU 等人[7]提出了一種分辨率自適應的光流編碼框架,利用全局和局部多分辨率光流圖的表示,智能選擇最佳分辨率,以實現(xiàn)視頻的高效壓縮。LIU 等人[8]提出了多模式視頻壓縮框架,能夠適應不同的運動模式和熵模型,通過基于塊的模式集成和雙模熵編碼方案,實現(xiàn)了更好的視頻壓縮性能。此外,還有一些方法將深度學習應用于環(huán)內(nèi)濾波器模塊[9-10]。通過使用CNN 建立重建視頻和未壓縮視頻之間的映射關(guān)系,由此明顯改善壓縮視頻的質(zhì)量。
基于深度學習的后處理將深度學習用于視頻編碼的后處理階段,通過去噪、增強、修復等操作,減少壓縮帶來的失真,提高解碼后的視頻質(zhì)量。YANG 等人[11]將基于深度學習的方法應用于解碼端,以提高單幀視頻的質(zhì)量。近年出現(xiàn)了許多基于多幀的質(zhì)量增強方法。DENG 等人[12]提出使用一個時空可變形融合方案,對目標幀及其相鄰的多個參考幀進行融合的方法,實現(xiàn)了對壓縮視頻的增強。ZHAO 等人[13]提出了一種遞歸可變形時空注意力模塊,遞歸地將前一幀估計的隱藏特征與當前特征相結(jié)合。LUO 等人[14]提出了一種新的端到端網(wǎng)絡(luò),稱為粗到精細的時空信息融合,通過預測更大接受域的更好的偏移量來提高壓縮視頻的質(zhì)量。然而,這些方法沒有考慮鄰域幀的質(zhì)量高低,因此許多高質(zhì)量多幀增強方法被提出。這些方法在根據(jù)定位峰值質(zhì)量幀,利用相鄰的高質(zhì)量幀增強低質(zhì)量幀,大大降低了壓縮視頻幀間的質(zhì)量波動[15-16]。
基于深度學習的圖像編碼成功推動了基于深度學習的視頻壓縮框架的發(fā)展。與圖像編碼相似,基于深度學習的端到端視頻編碼旨在借助深度學習實現(xiàn)完整的編解碼框架。2019 年,LU 等人[17]提出了一項開創(chuàng)性的工作,利用卷積神經(jīng)網(wǎng)絡(luò)替換了傳統(tǒng)編碼框架的各個模塊,實現(xiàn)了第一個端到端視頻壓縮框架。近年來,人們獲得了越來越多的端到端視頻壓縮研究成果,可以將這些研究分為兩類,分別為基于殘差編碼的端到端視頻壓縮和基于條件編碼的端到端視頻壓縮。
殘差編碼源自傳統(tǒng)的視頻編碼標準編碼器,先生成運動補償預測,后對其與當前幀的殘差進行編碼。YLMAZ 等人[18]提出了一種學習型分層雙向視頻編解碼器,結(jié)合了分層運動補償預測和端到端優(yōu)化的優(yōu)點。LIU 等人[19]先將每個視頻幀用低維的潛空間變量表示,設(shè)置了一個卷積長短期記憶網(wǎng)絡(luò),用于利用視頻幀序列的時間相關(guān)性來預測未來的潛變量表示,并通過生成式對抗網(wǎng)絡(luò)恢復視頻的重建幀。HU 等人[20]提出了一種特征空間視頻編碼網(wǎng)絡(luò),通過在特征空間內(nèi)執(zhí)行所有關(guān)鍵操作,包括運動估計、運動壓縮、運動補償和殘差壓縮實現(xiàn)視頻編碼。ZHAO 等人[21]提出了一種端到端的深度視頻編解碼器,將視頻壓縮模塊和視頻后處理模塊聯(lián)合進行優(yōu)化。
基于條件編碼的端到端視頻壓縮將時序上的相鄰幀或者特征用作當前幀的編碼條件信息來提高壓縮效率。THEO 等人[22]首次使用條件編碼來編碼前景內(nèi)容。LI 等人[23]正式提出了一個深度上下文視頻壓縮框架,利用特征域的上下文信息作為條件,有助于視頻高頻內(nèi)容的重建,并實現(xiàn)了從預測編碼到條件編碼的轉(zhuǎn)變。此外,該作者后續(xù)的工作通過引入特征傳播和多尺度時間上下文進一步提高了壓縮比[24]??紤]到大多數(shù)現(xiàn)有的視頻編解碼器直接使用來自圖像編解碼器的現(xiàn)有熵模型來編碼殘差或運動矢量,并未充分利用視頻中的時空特征,LI 等人[25]提出了一個強大的神經(jīng)視頻編解碼器熵模型,有效捕捉了視頻的時空特征,推動了基于深度學習視頻編解碼器的發(fā)展。
基于深度學習的視頻壓縮技術(shù)的研究在過去幾年取得了顯著進展。通過利用大規(guī)模視頻數(shù)據(jù)集訓練得到的神經(jīng)網(wǎng)絡(luò)模型替換手工設(shè)計的編碼器模塊,不僅提高了編碼器的壓縮性能,而且提升了自適應的泛化能力,降低了其對手動設(shè)置參數(shù)的依賴。此外,將深度學習應用于壓縮視頻后處理階段,更有利于提取整個視頻序列時空域信息來減少視頻壓縮造成的失真。但是,針對編碼模塊優(yōu)化和壓縮視頻后處理的深度學習視頻壓縮方案是基于傳統(tǒng)視頻編碼框架進行改進的,神經(jīng)網(wǎng)絡(luò)模型與傳統(tǒng)編碼器模塊間并不能完全適配,因此壓縮性能的提升存在一定的限制。
基于此,目前出現(xiàn)了許多基于深度學習的端到端視頻編碼方案。這類方法通過深度學習構(gòu)建整個編解碼框架,通過權(quán)衡碼率與重建視頻質(zhì)量的損失函數(shù),訓練得到一個最優(yōu)的視頻壓縮模型,大大提升了壓縮性能。得益于深度學習在提取更緊湊的潛向量表示的強大能力,這類方法具有巨大的發(fā)展?jié)摿?。然而,這類方法為了提升視頻壓縮性能增加了網(wǎng)絡(luò)模型的參數(shù)量,犧牲了一定的時間效率,未能達到實時解壓。此外,端到端的視頻壓縮方案通常訓練多個模型來適配不同的碼率要求,成倍增加了模型的訓練時間。
未來基于深度學習的視頻壓縮趨勢不僅要進一步提升壓縮性能,而且要考慮時間復雜度。隨著第五代移動通信技術(shù)(5th Generation Mobile Communication Technology,5G)和邊緣計算的不斷發(fā)展,基于深度學習的視頻壓縮需要更好地滿足低延遲和實時性的要求,以支持實時視頻傳輸和互動應用。
近年來,爆炸性增長的視頻數(shù)據(jù)量給傳輸和存儲帶來了更大壓力,使得視頻壓縮研究的重要性越來越凸顯,而深度學習的蓬勃發(fā)展給視頻壓縮提供了技術(shù)支持。本文介紹視頻壓縮的框架,討論視頻壓縮的分類,詳細闡述基于深度學習的混合式視頻壓縮和于深度學習的端到端視頻壓縮的現(xiàn)有工作。其中,基于深度學習的混合式視頻壓縮可分為基于深度學習的編碼器優(yōu)化和基于深度學習的后處理,基于深度學習的端到端視頻壓縮可分為基于殘差編碼的端到端視頻壓縮和基于條件編碼的端到端視頻壓縮。文章對現(xiàn)有方法進行了總結(jié),分析了目前研究存在的不足,以期為基于深度學習的視頻壓縮的未來發(fā)展提供借鑒。