HEVC SAO技术阅读
HEVC標準中的SAO以CTB為基本單位,這里的CTB是亮度和色度的結(jié)合體,通過選擇一個合適的分類器將重建像素劃分類別,然后對不同類別像素使用不同的補償值。SAO包括兩大類補償形式,分別為邊界補償 edge offset EO 和邊帶補償 Band offset BO。
SAO技術(shù)
1.邊界補償 EO
EO通過比較當前像素和相鄰像素之間的大小關(guān)系對重建像素進行分類,然后對每一類的像素補償相同數(shù)值。HEVC中EO選擇了一維三像素分類模式。一維指的應該是同一圖像,三像素為使用兩個參考像素對當前像素進行分類;
EO的四種模式只是選取參考像素的不同,后續(xù)的分類方法上并無區(qū)別,但是對分類的結(jié)果是有影響的,如何選擇模式?那么就是采用率失真的方法。
若不屬于上圖4種情況,那么當前像素歸類為種類0。EO對種類1~4的重建像素進行補充,對種類0的重建像素不進行補償。不同種的像素的offset可能不同,但同種像素的offset必定一樣。
2.邊帶補償 BO?
BO根據(jù)像素強度值進行分類,BO將像素范圍等分成32條邊帶。例如對bitdepth == 8的像素值,像素值大小為0~255,每條邊帶則包含8個像素值。然后則根據(jù)邊帶進行offset,即同一邊帶用一個offset值。
不僅如此,HEVC規(guī)定一個CTB只能用四條連續(xù)的邊帶,屬于4條內(nèi)的邊帶按邊帶進行補償,不屬于4條邊帶內(nèi)的像素則不進行像素補償。如何選擇合適的邊帶,則用萬金油率失真確定,傳的時候只用傳最小邊帶號和4個補償值給解碼端。
3.SAO參數(shù)融合
參數(shù)融合Merge是指對于一個CTB塊,其SAO參數(shù)也就是補償?shù)母鞣N參數(shù)直接使用相鄰塊的SAO參數(shù),且只使用左側(cè)和上側(cè)相鄰CTB塊的SAO參數(shù)。
或者不使用參數(shù)融合的方法,按照自己的像素特點產(chǎn)生SAO參數(shù)。?
SAO的實現(xiàn)方法
?1.快速SAO模式識別
?快速SAO模式識別則是針對BO和EO的,EO有4個模式,BO則要選擇最好的四條邊帶,Merge則是要選擇合適的參考CTB或者是非Merge,但如何選擇模式以率失真代價為準:
2.SAO在HM10.0中的實現(xiàn)過程?
?SAO過程的重點是利用率失真代價選擇最優(yōu)的SAO參數(shù)。
在HM中的流程如下:
(1)信息統(tǒng)計?
(2)亮度CTB的SAO模式
首先分別嘗試EO和BO,然后再選擇出最優(yōu)的m值(offset),然后再以最優(yōu)m值計算率失真代價。
還要計算不補償模式的率失真代價,以及l(fā)eft和upmerge下的率失真代價。
(3)色度CTB的SAO模式
兩個色度塊共用相同的劃分模式,其余步驟與亮度相同。
(4)CTU的最優(yōu)SAO模式
CTB有亮度CTB和色度CTB,選擇最優(yōu)SAO模式時先劃分為merge和非merge,merge則有up和left的率失真代價,非merge則包括BO和EO。
(5)CTU的SAO濾波
采用最優(yōu)的SAO參數(shù)對CTU進行濾波。
(6)EO模式
如上文所述,EO模式下有兩個參數(shù)要進行選擇,首先進行模式選擇(EO_0,EO_1,EO_2,EO_3),在每個模式下,又要對該模式的4個補償值(m0_1,m0_2,mo_3,mo3_4,第0類像素不用補償)進行選擇。
(m0_1)''代表的是初始補償值,n0_1代表的是EO_0模式下的屬于種類1的像素個數(shù),E則為插值和,然后根據(jù)算出的初始補償值再進一步進行計算,特別注意的是:種類1和種類2的補償值必須大于等于0,若算出來的m<0,則令m=0;種類3和種類4的補償值必須小于等于0,同理。
?
(7)BO模式
BO模式的確定過程:先選擇出0~31條邊帶的最優(yōu)m值,再根據(jù)率失真代價選擇出連續(xù)的四條band
可以看到,BO的最優(yōu)m的取定和EO的十分相似,也就是少了一個種類正負的限定。
這里的m4,0 應該表示的是選擇四條邊帶,當前邊帶為第零條,也就是第零條的m。
?在HM10.0中是以一個Slice進行SAO的,先將該Slice的所有CTU進行參數(shù)統(tǒng)計,再計算SAO參數(shù),然后進行補償。
總結(jié)
以上是生活随笔為你收集整理的HEVC SAO技术阅读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 思科模拟器路由表怎么看_实战思科 Cis
- 下一篇: dede采集-织梦全自动采集插件-织梦免