日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

视频千倍压缩背后的技术原理之环路滤波

發布時間:2024/3/12 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 视频千倍压缩背后的技术原理之环路滤波 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著5G的成熟和廣泛商用,帶寬越來越高,讓傳輸視頻變得更加容易。移動設備算力的提升、存儲容量的提升,也使得視頻技術的應用越來越廣泛。視頻相關的技術,特別是視頻壓縮技術,因其專業性,深入開發的門檻較高,在實時通信場景中,視頻壓縮技術更面臨嚴峻的挑戰。因為在實時通信場景下,不僅對時延和設備適配的要求很高,對帶寬適應的要求也非常高,因此開發一款滿足實時通信要求的編解碼器,難度很大。

此前,我們已經在《深入淺出理解視頻編解碼技術》一文中簡要介紹了視頻編解碼基本框架,也在《揭秘視頻千倍壓縮背后的技術原理之預測技術》深入分析了該框架中的預測技術,今天我們將繼續深入剖析其中的環路濾波模塊。

PART 01 什么是環路濾波?

基于塊的混合編碼框架一直是多種視頻編解碼標準的核心。在編碼視頻的時候,人為地將視頻分割成不同大小的塊,再進行預測和補償,然后再對預測殘差進行變換和量化,這一過程都是基于塊進行的,在重建視頻的時候,在不同的塊的邊界上就會出現不連續性,這樣的不連續性,也就是常說的“塊效應”,如圖1-1。

▲ 圖1-1環路濾波前的重建圖像

通常人眼會對這樣的不連續性比較敏感,很容易感受到視頻的清晰度下降。塊效應的產生,一方面是由于基于塊的變換和量化操作,量化誤差導致不同的塊的重建樣本產生了不同重建值,從而產生了邊界;另外,由于運動補償時,相鄰的編碼塊的預測值,并不一定來自同一幀的相鄰塊,也會引入虛假邊界;類似的,幀內預測不同的預測模式,生成預測值的方式不同,也會引入虛假邊界。

為了減少視頻中塊的不連續性帶來的主觀質量下降,可以對重建視頻進行濾波操作,如圖1-2,經過濾波之后,視頻的主觀質量有了明顯地改善,虛假的塊邊界平滑了,更為接近原始圖像。從圖中也可以發現,平坦區域,塊效應更加明顯,紋理豐富的區域(樹葉),有自然的圖像邊界,也有編碼引入的塊邊界,塊效應相對不明顯,同時,環路濾波器的設計也需要考慮區分“真”、“假”邊界,防止對圖像本身已經有的自然邊界進行平滑,導致失真。

▲ 圖1-2環路濾波后的重建圖像

在較早的編碼標準中,如MPEG-2,該操作都是在后處理階段進行的,即視頻流在解碼重建后,輸出之前進行濾波,以減少主觀上的不舒適性。從H.263附錄J開始,引入了“環路濾波”,之所以叫“環路”或者“In-loop”,是因為該濾波器在解碼的閉環當中,如圖紅色模塊所示,碼流中的語法元素解析后,進行反量化和反變換,并與預測值疊加,得到重建圖像,該重建圖像將先進行環路濾波,再輸出顯示,同時作為參考圖像,以便于后續的視頻幀進行運動補償。

由于環路濾波的引入,在提升視頻主觀質量的同時,也提高了預測的準確性,也進一步提高了編碼效率。H.264的環路濾波只有去塊濾波一種;從HEVC/H.265開始,環路濾波模塊引入了多種類型的濾波器,例如HEVC中的SAO(Sample Adaptive Offset)[1]、AV1中的CDEF(Constrained Directional Enhancement Filter)[2]、LR(Loop Restoration)[3]、VVC中的LMCS(Luma Mapping With Chroma Scaling)、ALF(Adaptive Loop Filter)[4]等。本文將簡要介紹HEVC中的去塊濾波和AV1中的CDEF,以深入理解環路濾波的作用和效果。

▲ 圖2 混和編碼框架中的環路濾波

PART 02 HEVC中的去塊濾波器

環路濾波的主要功能是去除塊效應,設計去塊濾波器的主要難點在于對于某一個塊邊界,是否要進行濾波,以及濾波的強度應該是多少。對塊邊界進行過度的平滑操作,會導致原有的圖像紋理丟失;然而較低強度的平滑,卻無法完全去除虛假邊界。

因此,去塊濾波器不但要考慮圖像本身的紋理特性,也要考慮編碼時采用的編碼參數,如此才能將真正因為編碼引入的人為邊界去除。HEVC中,8x8的塊的水平和豎直的邊界是去塊濾波的濾波對象,去塊濾波器取邊界兩側各4個像素點進行濾波。如此一來,去塊濾波以8x8為基本單位,并且不同的8x8的樣本之間無重疊,可以進行并行處理,提高處理速度。但并非所有的8x8邊界都要進行處理,只有滿足一定的條件才會進行:

  • 該邊界是預測單元或者變換單元的邊界;
  • 塊邊界的強度非零;
  • 邊界兩側樣本的局部特征滿足一定的統計特性。

邊界強度

邊界強度將決定是否濾波以及濾波器的強度。邊界強度可能的取值為0,1,2。取值為0,即不進行濾波操作。邊界強度取決到邊界兩側的編碼塊是否是Intra模式,是否有非零系數,是否有不一致的運動方向,是否參考了不同的幀等。這里充分考慮了編碼失真才會引入虛假邊界這一事實,避免對自然的平坦區域進行不必要的濾波操作。

局部特征

當邊界強度非零,將進行一步檢查圖像的局部統計特征。基本的思路是,假設邊界兩側的樣本連續變化,這些樣本將在一條直線上,換言之,像素點的梯度是一個常量;反之,如果邊界兩側的梯度相差較大,則有虛假邊界引入,如圖3所示。當然,偏離程度與量化參數是相關的,標準給出了不同量化參數下的閾值。為了降低運算的復雜度,只計算第一行(列)和第四行(列)樣本偏離直線的程度。同時,該偏離程度也與濾波的強度有一定的聯系,它決定了濾波的兩種模式,即普通濾波和強濾波。

▲ 圖3 塊邊界兩側樣本的局部特性

去塊濾波器

普通濾波和強濾波兩種模式由邊界兩側像素點的梯度根據一定的規則進行決策。在普通濾波模式下,可能修改邊界兩側最近的各一個或者各兩個像素點,其中p0或者q0的濾波器的沖激響應為(3 7 9 ?3)/16,p1或者q1的濾波器的沖激響應為(8 19 ?1 9 ?3)/32。在強濾波模式下,邊界兩側各三個像素點會被修改,對p0、p1、p2的濾波器的沖激響應分別為(1 2 2 2 1)/8、(1 1 1 1)/4、(2 3 1 1 1)/8。

HEVC中的去塊濾波與H.264相比,復雜度大大降低了。一方面HEVC的去塊濾波是以8x8的塊為基本單位,而264是4x4為基本單位;另一方面,HEVC的變換核尺寸和預測單元的尺寸都變大了。除此之外,HEVC的去塊濾波的并行度也有了改進,8x8的塊的邊界兩側各取4個點進行濾波操作,多條邊界使用到的像素點互不重疊,可以并行處理;豎直邊界和水平邊界以幀為單位進行,比H.264以宏塊為單位進行更能進一步提高并行度。

PART 03 AV1中的CDEF

CDEF濾波器的基本作用是在保持視頻圖像細節的前提下,使用非線性的空域濾波器來消除編碼中出現的失真。視頻中的各種紋理細節,方向多種多樣,CDEF首先檢測紋理的方向,然后沿紋理的方向進行自適應濾波。

CDEF的紋理檢測

為了保持圖像本身的紋理細節,濾波操作應當按照紋理的基本方向進行,避免將紋理本身當作失真進行處理,造成質量下降。CDEF被置于去塊濾波操作之后,在重建圖像上進行紋理檢測。紋理檢測的基本單元是8x8的塊,這樣做的好處,既能有效地處理紋理 又可以便于將濾波操作進行并行處理(SIMD優化)。CDEF設計了8種紋理方向,如圖4所示。

▲ 圖4 CDEF的紋理方向定義 [2]

一個8x8的重建圖樣塊內的像素,搜索某一個方向時,按照該方向定義的不同的分組,對像素進行分組并求其均值,以均值填充分組內的像素,形成一個8x8的“紋理方向預測塊”。然后計算它與8x8的重建圖像塊的平方差的和。各個方向采用相似做法,從而選擇最小平方差的和所對應的方向作為最優方向進行濾波操作。
以圖5為例,該8x8的重建圖像為45度的紋理(第一行方塊所示),8組方向如第二行方塊所示,按照方向所定義的像素分組,生成了每種方向的“紋理方向預測塊”(第三行方塊所示),以及對應的RMS(實際運算中只需要計算“紋理方向預測塊”的平方和,便可以得到最佳方向)。按照文章[2]給出的該操作的計算復雜度,它和HEVC中8x8的IDCT的復雜度相當。需要指出的是,最佳紋理方向的決策,是標準定義的一部分,需要編碼和解碼做到完全一致。

▲ 圖5 CDEF選擇最佳方向示例[2]

Constraint function

CDEF使用非線性低通濾波器來消除編碼出現的失真,同時又能保持圖像中原有的紋理不被過度模糊。該濾波器的特點是,濾波系數的位置是基于前文中得到的紋理方向的;同時,橫穿紋理方向上,當相鄰的像素與被處理的像素差別較大時,減少其影響,以防止紋理被過度平滑,即引入了Constraint function。以一維信號為例,
該濾波器可以表達為:

其中是濾波器的系數,f(d,S,D)是Constraint function,其表達式為:

它與被濾波的像素與相鄰像素的差別大小有關。如果差別較小,f(d,S,D) =d ,就是線性低通濾波器;如果差別較大,f(d,S,D) ,該位置濾波器系數將被忽略。參數S控制了像素差的閾值,參數D控制了f(d,S,D)何時取0。

▲ 圖6 參數S和D的影響[2]

濾波器的抽頭系數

只沿著紋理的方向進行濾波,有的情況下,無法去除紋理兩側出現的假紋理(Ringing失真)。因此,除了在紋理方向上的像素點之外的其它像素點,也要參與濾波。為此,CDEF設計了兩組濾波器抽頭系數,一組Primary taps,一組Secondary taps。Primary taps就是沿著紋理方向的,而Secondary taps使用了與紋理方向呈45度角的十字,如圖7所示。


▲ 圖7 Primary taps and Secondary taps[2]

與紋理方向檢測一樣,非線性濾波操作也以8x8的像素塊為基本單元,8x8塊內的像素共用同一組濾波參數,為了盡可能的并行處理,濾波器的輸入都是去塊濾波后的像素,CDEF濾波后的像素不會用作后續CDEF濾波器的輸入。濾波器的參數在幀級和塊級都有相應的語法元素進行傳輸,可以滿足不同的紋理特性的濾波處理。通常需要在編碼器中設計合理的算法,進行CDEF濾波參數的選擇。

隨著深度學習的蓬勃發展,特別是卷積神經網絡在圖像恢復、超分、識別、分類等領域表現得非常優秀。深度學習在視頻壓縮,特別是視頻質量恢復和環路濾波領域涌現了許多優秀的算法。卷積神經網絡可以更好地提取圖像里的紋理等特征,通過學習得到不同紋理特征的對應的網絡參數,與人工地基于先驗知識(例如CDEF的紋理方向)的濾波算法相比,理論上具有更大優勢。例如VRCNN[5]、PRN[6]、RHCNN[7]、Content-Aware CNN[8]、MFRNet[9]等。JVET也專門建立了Exploration Experiments,許多優秀的提案正致力于將深度神經網絡應用于視頻壓縮標準中。環路濾波技術作為混合編碼框架中的組成部分,在視頻壓縮中對提升視頻主觀質量發揮了至關重要的作用。

[1] Fu, Chih-Ming, et al. “Sample adaptive offset in the HEVC standard,” IEEE Transactions on Circuits and Systems for Video technology 22.12 (2012): 1755-1764.
[2] Midtskogen, Steinar & Valin, Jean-Marc. (2018). The Av1 Constrained Directional Enhancement Filter (Cdef). 1193-1197. 10.1109/ICASSP.2018.8462021.
[3] D. Mukherjee, S. Li, Y. Chen, A. Anis, S. Parker and J. Bankoski, “A switchable loop-restoration with side-information framework for the emerging AV1 video codec,” 2017 IEEE International Conference on Image Processing (ICIP), 2017, pp. 265-269
[4] M. Karczewicz et al., “VVC in-loop filters,” IEEE Trans. Circuits Syst. Video Technol., early access, Apr. 9, 20217
[5] Dai, Yuanying, et al. “A Convolutional Neural Network Approach for Post-Processing in HEVC Intra Coding” arXiv:1608.06690, 2016.
[6] D. Wang, S. Xia, W. Yang, Y. Hu, and J. Liu, “Partition tree guided progressive rethinking network for in-loop filtering of HEVC,” in 2019 IEEE International Conference on Image Processing (ICIP). IEEE, 2019, pp. 2671–2675.
[7] Y. Zhang, T. Shen, X. Ji, Y. Zhang, R. Xiong, and Q. Dai,“Residual highway convolutional neural networks for in-loop filtering in HEVC,” IEEE Transactions on Image Processing, vol. 27, no. 8, pp. 3827–3841, 2018.
[8] C. Jia et al., “Content-Aware Convolutional Neural Network for In-Loop Filtering in High Efficiency Video Coding,” in IEEE Transactions on Image Processing, vol. 28, no. 7, pp. 3343-3356, July 2019
[9] D. Ma, F. Zhang and D. R. Bull, “MFRNet: A New CNN Architecture for Post-Processing and In-loop Filtering,” in IEEE Journal of Selected Topics in Signal Processing, vol. 15, no. 2, pp. 378-387, Feb. 2021

總結

以上是生活随笔為你收集整理的视频千倍压缩背后的技术原理之环路滤波的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。