振铃效应与样点自适应补偿(Sample Adaptive Offset,SAO)技术
振鈴效應與樣點自適應補償(Sample Adaptive Offset,SAO)技術
本文主要對SAO的幾種補償方式進行簡要介紹。
文章目錄
- 振鈴效應與樣點自適應補償(Sample Adaptive Offset,SAO)技術
- 一、振鈴效應
- 二、SAO的原理
- 1. SAO為什么能消除振鈴效應
- 2. 五種類型的SAO
- 3. SAO選擇類型的標準
- 三、EO模式
- 1. EO模式的原理
- 2. EO模式的四種判別方式
- 四、 BO模式
- 五、MERGE模式
- 六、NOT APPLIED模式
- 總結
- 參考資料
一、振鈴效應
H265的壓縮過程中【1】會丟失信號的部分高頻分量,因此會產生振鈴效應。
如圖所示(圖片來源【2】),實現代表未壓縮圖片的像素,虛線代表壓縮后解碼恢復后的圖片的像素。這種由于高頻信號損失引起圖片失真的現象稱為振鈴效應。
二、SAO的原理
1. SAO為什么能消除振鈴效應
為了減少誤差,可以將兩者間的差值傳輸給解碼端,但這樣需要傳輸的信息較多較大,也沒有必要。因此H265中設置了樣點自適應補償(Sample Adaptive Offset,SAO)技術,來減小振鈴效應。具體邏輯就是對各個需要補償的點(與原始圖像有偏差)進行分類,為每個分類設置一個合適的偏移值(offset),這樣解碼端就能根據編碼端傳輸過來的幾個offset值和分類方式來恢復圖像了。
2. 五種類型的SAO
H265在壓縮圖片時,將一幀視頻的圖片分割成許多64*64或者其他大小的碎片(CTU),而SAO是以CTU為單位的進行分類的。SAO大概可分為以下5種類型:
- Not Applied : 表示該CTU不需要進行補償;
- Merge Up : 表示該CTU和他上面那塊的CTU采用同樣的補償方式;
- Merge Left : 表示該CTU和他左面那塊的CTU采用同樣的補償方式;
- Edge Offset (EO): 根據每個像素點和他附近像素點的關系,將其分為5類,其中4類需要補償,為每類設置一個合適的offset。
- Band offset(BO): 根據每個像素點的大小進行分類,分為32個區間,為每個區間選擇一個合適的offset。
3. SAO選擇類型的標準
選取SAO類型的時候,不僅要考慮對圖像的恢復效果,也要考慮引入SAO引起的信息的增大。因此,我們引入代價函數δ\deltaδJ來衡量SAO,δ\deltaδJ的計算公司如下所示:
ΔJ = ΔD + λR;其中ΔD是引入該方式后,圖片的失真程度;R是比特估計,也就是編碼該SAO方式需要的比特數;λ是拉格朗日因子,該值設置越大,就越傾向于選擇信息量少的SAO方式,該值越小就越傾向于選擇恢復效果好的SAO方式。ΔD和R詳細的計算見【2】
三、EO模式
1. EO模式的原理
Edge Offset (EO)根據每個像素點和他附近像素點的關系,將其分為5類,其中4類需要補償,為每類設置一個合適的offset。
2. EO模式的四種判別方式
對c點進行分類時,使c與附近的a,b兩點進行比較。
如圖所示(圖片來源【2】),a,b的選取有4種方式,E_00(0度) E_90(90度), E_45(45度), E_135(135度)。
根據大小關系對其進行分類,如圖所示(圖片來源【2】),不屬于這4類的,就是第5類,第5類不做補償;
如果采用E_00方式取點,圖片中的像素點就有E_00_1,E_00_2,E_00_3,E_00_4這4類;
計算E_00_1的個數N,和這些點與原始圖片的差值之和E,然后計算E/N,取整。若E/N大于7,offset初始值就選7,否則選E/N;需要注意的是,1和2類的offset必須是正數,3和4類的offset必須是負數。
確定是初始值后,就在【0,offset初始值】間的整數進行遍歷,計算出每一個offset對應的ΔJ,最后選出一個ΔJ最小的offset; 最終4個分類遍歷完以后就得到ΔJ_00_1,ΔJ_00_2,ΔJ_00_3,ΔJ_00_4,這四個值相加,就是E_00分類方式得到最小的代價函數ΔJ_00;
同理計算出ΔJ_45, ΔJ_135和ΔJ_90, 之后對這4個值進行比較,選出最小的代價函數ΔJ_EO,及其對應的offset。如果該CTU最終選取EO模式,就輸出這4個offset和其對應的角度即可。解碼端可以根據角度和offset恢復圖像。
四、 BO模式
Band offset(BO): 根據每個像素點的大小進行分類,分為32個區間,為每個區間選擇一個合適的offset。分類后與EO模式的計算過程相同,確定offset初始值,遍歷,找到每個區間代價函數最小的offset。
由于一個CTU中的點大多聚集在一起,因此一般選取連續的4個區間,就能涵蓋幾乎所有的點了。最終選出代價函數ΔJ相加起來最小的連續的4個區間。如果該CTU最終選取BO模式,就輸出這4個offset和4個連續區間的起始區間位置即可。解碼端可以根據起始區間位置和offset恢復圖像。
五、MERGE模式
MERGE模式分 Merge Left和Merge Up , 表示該CTU和他左面或上面那塊的CTU采用同樣的補償方式和offset值;計算出代價函數后,選出代價函數最小的模式;
需要注意的是,由于直接采用附近塊的SAO模式,因此編碼時所需的比特數R較少,只需要編碼merge信號的相關信息即可。
六、NOT APPLIED模式
Not Applied,表示該CTU不需要進行補償;不需要補償時,ΔD記為0,只需要計算編碼所需比特數R即可。
總結
當計算完EO,BO,MERGE和NOT APPLIED的損失函數ΔJ以后,選取最小ΔJ的模式輸出。
解碼端接收到這些信息后,根據所選取的分類模式對圖片的像素點進行分類,并加上對應的偏差值(offset),以達到減小振鈴效應,更好的還原圖片的目的。
參考資料
【1】CSDN博客: H.265/HEVC編碼原理及其處理流程的分析
【2】.新一代高效視頻編碼H.265/HEVC:原理、標準與實現,作者:萬帥、楊付正;
總結
以上是生活随笔為你收集整理的振铃效应与样点自适应补偿(Sample Adaptive Offset,SAO)技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 织梦php 文章采集规则,采集规则的管理
- 下一篇: 市面上大部分渗透工具下载