2018年6月14日,圖鴨與論智聯(lián)合舉辦了一場線上公開課深度學習之視頻圖像壓縮。講師為周雷博士,圖鴨科技深度學習算法研究員。以下為論智整理的聽課筆記。因水平有限,難免有錯漏不當之處,僅供參考。
傳統(tǒng)圖像與視頻壓縮技術(shù)
首先,我們簡單回顧下傳統(tǒng)圖像與視頻壓縮技術(shù)。
JPEG
以下為JPEG編解碼流程示意圖。
從上圖我們可以看到,圖像數(shù)據(jù)編碼過程如下:
離散余弦變換。簡單來說,離散余弦變換是一種矩陣運算。
經(jīng)過離散余弦變換后,高頻數(shù)據(jù)和低頻數(shù)據(jù)分流了,矩陣左上方是高頻數(shù)據(jù)(較大的數(shù)值),右下方是低頻數(shù)據(jù)(較小的數(shù)值)。這樣我們就可以對其進行量化了,在JPEG中是除以量化步長再取整。
量化之后對其進行熵編碼,得到壓縮表示。
解碼的過程與編碼過程相逆,經(jīng)過反熵編碼、反量化、反離散余弦變換重建圖像。
JPEG2000
JPEG2000和JPEG的最大差別是使用了離散小波變換。此外還加上了一些預處理步驟。
JPEG2000編碼流程示意圖
WebP
WebP是來源于VP8的圖片壓縮格式。主要特色是基于塊預測。
BPG
和WebP類似,BPG同樣源于視頻編碼技術(shù)(HEVC)。BGP的主要特點如下:
HEVC
HEVC的編碼示意圖如下:
上圖中,Ref.表示參考樣本。T & Q表示轉(zhuǎn)換、量化過程,Q-1& T-1為其逆過程。Deblk.為Deblocking(去區(qū)塊)的縮寫。HEVC會將影像分為區(qū)塊再進行編碼,因此重建時會在區(qū)塊邊緣出現(xiàn)不連續(xù)的現(xiàn)象,稱為區(qū)塊效應。去區(qū)塊過程可以減輕區(qū)塊效應。SAO為Sample Adaptive Offset(樣本自適應偏移量)的縮寫,通過分析去區(qū)塊后的數(shù)據(jù)與原始數(shù)據(jù)的差異,補償量化過程造成的損失,使其盡可能接近原始數(shù)據(jù)。
CABAC為自適應二進制算術(shù)編碼。算術(shù)編碼利用符號出現(xiàn)的概率將符號序列編碼為一個數(shù)字。
相應的解碼過程:
從以上的編解碼過程中,我們可以看到,先驗概率估計的精確程度對編碼的效率影響很大。HEVC使用動態(tài)更新的概率模型實現(xiàn)自適應二進制算術(shù)編碼。
除了幀內(nèi)估計、預測(參見前面提到的BPG)之外,HEVC視頻編碼還需考慮運動估計等幀間的關(guān)系。
深度學習圖像視頻壓縮框架
深度學習圖像壓縮框架
下為深度學習圖片壓縮的典型框架示意圖:
上圖中每個模塊的具體作用,可以參考如何設計基于深度學習的圖像壓縮算法中的解釋。
圖像壓縮數(shù)據(jù)集
設計好網(wǎng)絡模型后,需要使用圖像進行訓練。由于圖像壓縮屬于無監(jiān)督學習,無需人工標注,因此數(shù)據(jù)集是比較容易搜集的。無論是從網(wǎng)上爬取,還是自行使用相機拍攝,都不難得到大量高清圖片。
常用的測試集有:
Kodak PhotoCD數(shù)據(jù)集,圖像分辨率768x512,約40萬像素;
CVPR 2818 CLIC數(shù)據(jù)集,圖像類別廣泛,分辨率不等(512至2048),文件尺寸不等(幾百K到幾M)。
深度學習視頻壓縮框架
深度學習視頻壓縮與圖像壓縮的主要差別在于增加了幀間預測/差值。
基于卷積網(wǎng)絡進行幀間預測
幀間預測能極大得減少幀間冗余。以1個參考幀,預測N-1幀為例,幀間預測的約束為參考幀和預測碼字遠小于每幀單獨壓縮的碼字:
深度學習圖像視頻壓縮進展介紹
深度學習圖像壓縮的主要發(fā)展方向:
RNN
CNN
GAN
這部分內(nèi)容可以參考公開課ppt以及概覽CVPR 2018神經(jīng)網(wǎng)絡圖像壓縮領(lǐng)域進展一文。
視頻壓縮方面,近年來的研究熱點是將CNN與現(xiàn)有的視頻編碼器相結(jié)合。
編碼單元選擇
Liu Z、Yu X、Chen S等在2016年發(fā)表了CNN oriented fast HEVC intra CU mode decision,使用CNN學習預測編碼單元模式的分類(2N x 2N或N x N)。
O2N、ON輸出為碼率失真代價
下采樣編碼
Jiahao Li等在2018年發(fā)表的Fully Connected Network-Based Intra Prediction for Image Coding對視頻幀進行了分塊處理,對適合進行下采樣的塊執(zhí)行下采樣操作,而對不適合進行下采樣的塊不執(zhí)行下采樣操作。之后,對下采樣的塊根據(jù)情況分別使用CNN或DCTIF進行上采樣,以重建圖像。為了達到更好的效果,亮度通道和色度通道使用了不同的網(wǎng)絡架構(gòu)。
視頻幀環(huán)路濾波和后處理
Park W S和Kim M在2016年發(fā)表的CNN-based in-loop filtering for coding efficiency improvement中,使用CNN提升了HEVC的環(huán)路濾波(包括去區(qū)塊濾波和SAO濾波)的效果。
類似地,Yuanying Dai等在2016年發(fā)表的A Convolutional Neural Network Approach for Post-Processing in HEVC Intra Coding,使用CNN網(wǎng)絡改進了HEVC的后處理過程。
深度學習視頻壓縮的優(yōu)勢和劣勢
使用深度學習進行單純的圖像壓縮,應用場景有一定局限性。深度學習在視頻壓縮領(lǐng)域潛力更大。深度學習在視頻壓縮領(lǐng)域的主要優(yōu)勢在于:
能夠?qū)崿F(xiàn)更好的變換學習,從而取得更好的效果。
端到端的深度學習模型能夠自行學習,而傳統(tǒng)的視頻壓縮工作需要手工設計很多東西。
傳統(tǒng)的視頻壓縮方法通常通過一些啟發(fā)式的方法進行幀間預測,從而減少幀間冗余。而深度學習能夠基于光流等進行預測。
另一方面,基于深度學習進行視頻壓縮也會遇到很多挑戰(zhàn)。比如控制實現(xiàn)幀間預測占用的比特。
圖鴨科技技術(shù)介紹
CVPR 2018 CLIC
在CVPR 2018學習圖像壓縮挑戰(zhàn)上,圖鴨團隊為三個贏家之一,MOS、MS-SSIM兩項指標均為第一。
TucodecTNGcnn4p基于端到端的深度學習算法,其中使用了層次特征融合的網(wǎng)絡結(jié)構(gòu),以及新的量化方式、碼字估計技術(shù)。網(wǎng)絡使用了卷積模塊和殘差模塊,損失函數(shù)納入了MS-SSIM。
基于深度學習超分辨率重建圖像
在這一領(lǐng)域,圖鴨科技重點關(guān)注低碼率下的超分辨率重建。因為低碼率下圖像難免有比較多的失真,應用超分辨率重建技術(shù)能緩解這些圖像上的瑕疵,取得更好的顯示效果。而高碼率圖像保留了原圖更多的細節(jié),相對而言不是非常適合應用超分辨率技術(shù)。
基于深度學習的視頻壓縮
如前所述,圖鴨科技認為相對圖像壓縮,深度學習在視頻壓縮領(lǐng)域潛力更大。目前圖鴨科技在基于深度學習的視頻壓縮方面,已經(jīng)能夠取得與x265媲美的效果。
基于深度學習的結(jié)構(gòu)化存儲
相比傳統(tǒng)方法,深度學習編碼圖像的算力負擔較重。然而,另一方面,圖像的壓縮特征不僅可以用于重建圖像,還可以為語義分割、圖像分類提供幫助。
問答環(huán)節(jié)
基于GAN進行圖像壓縮
GAN主要用于圖像生成領(lǐng)域。但在進行圖像壓縮時,GAN會遇到一個問題,就是它會改變一些細節(jié)(生成一些新的細節(jié))。因此,GAN這一的技術(shù)方向的選擇常常取決于項目需求。例如,對于人臉圖像來說,如果感興趣區(qū)域是人臉,那么對感興趣區(qū)域以外的區(qū)域可以使用非常低的碼率壓縮,重建圖像時利用GAN生成細節(jié)。
量化方法的選擇
建議大家參考相關(guān)論文自行選擇。因為量化方法的選擇往往還和網(wǎng)絡中的其他模塊相關(guān)。例如,如果編碼器部分選用的激活輸出的是二值(0、1),那么量化其實就不是那么重要了。
壓縮時間
一般而言,基于深度學習的壓縮算法,和傳統(tǒng)算法相比,在CPU上壓縮時間處于劣勢。不過也有例外。比如,在圖鴨科技的測試中,在CPU上,基于CNN的算法實際上比H266要快。H266雖然屬于傳統(tǒng)算法,但是復雜度其實很高。
-
圖像壓縮
+關(guān)注
關(guān)注
1文章
60瀏覽量
22360 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1200瀏覽量
24619 -
深度學習
+關(guān)注
關(guān)注
73文章
5463瀏覽量
120890
原文標題:深度學習之視頻圖像壓縮
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論