解讀HEVC視頻標準的環(huán)內(nèi)濾波
2.2.3 亮度強濾波以及弱濾波
2.2.3.1 亮度強濾波機制
4像素部分共享同一個判定(dE, dEp, dEq)
如果(dE == 2),則進行強濾波以修改每端的三個像素
p0' = Clip3( p0?2*tc, p0+2*tc, ( p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) >> 3 )
p1' = Clip3( p1?2*tc, p1+2*tc, ( p2 + p1 + p0 + q0 + 2 ) >> 2 )
p2' = Clip3( p2?2*tc, p2+2*tc, ( 2*p3 + 3*p2 + p1 + p0 + q0 + 4 ) >> 3 )
q0' = Clip3( q0?2*tc, q0+2*tc, ( p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) >> 3 )
q1' = Clip3( q1?2*tc, q1+2*tc, ( p0 + q0 + q1 + q2 + 2 ) >> 2 )
q2' = Clip3( q2?2*tc, q2+2*tc, ( p0 + q0 + q1 + 3*q2 + 2*q3 + 4 ) >> 3 )
圖8 亮度DBLK濾波和邊緣周圍像素點的使用
2.2.3.2 亮度弱濾波機制
4像素部分共享同一個判定(dE, dEp, dEq)
如果(dE == 1),則進行弱濾波以修改每端的一個或二個像素
D = (9*(q0– p0)-3*(q1–p1)+8)>>4
如果 (aBS(Δ) < tc*10),則順序進行以下步驟:
濾波采樣值p0’和q0’規(guī)定如下:
Δ = Clip3(-tc,tc,Δ)
p0’ = Clip1Y(p0+Δ)
q0’ = Clip1Y(q0-Δ)
If dEp等于1,則濾波采樣值p1’規(guī)定如下:
Δp = Clip3(-(tc>>1),tc>>1,(((p2+p0+1)>>1)–p1+Δ)>>1)
p1’ = Clip1Y(p1+Δp)
if dEq等于1,則濾波采樣值q1’規(guī)定如下:
Δq = Clip3(-(tc>>1),tc>>1,(((q2+q0+1)>>1)–q1–Δ)>>1)
q1’ = Clip1Y(q1+Δq))
2.2.4 色度濾波
只有8x8色度像素網(wǎng)格上的PU和/或TU邊界得到濾波
邊界濾波強度源自亮度(對每個方向進行2因素下行采樣)(請參見色度邊界濾波強度推導小節(jié))
qPI = ( (( QPQ + QPP + 1 ) >> 1) + cqp_offset ), 其中此處的cqp_offset分別代表組件Cb/U和Cr/V的pic_cb_qp_offset和pic_cr_qp_offset。
下表的qPI包括了qPC
圖9 色度DBLK濾波和邊緣周圍像素點的使用
表2 QPc向qPi轉(zhuǎn)換
tc = TC_TABLE[Clip3(0,53,qPC+2*(BS-1)+(tc_offset_div2<<1))]
BS > 1時,則Chroma濾波器將被開啟
Δ = Clip3(-tC,tC,((((q0–p0)<<2)+p1–q1+4)>>3))
p0’ = Clip1C(p0+Δ)
q0’ = Clip1C(q0-Δ)
2.2.5 IPCM和TQByapss處理
在邊緣包含IPCM CU且pcm_loop_filter_disable_flag = 0 OR TQByapss(無損耗)的情況下,像素(位于IPCM/TQBypass內(nèi)部)將保持無濾波狀態(tài),而另外的一半則經(jīng)過濾波處理,這就是說僅在邊緣的一側(cè)進行了濾波處理。我們通常采用以下兩種方法完成:
1. 跳過一半的像素進行濾波處理
2. 在兩端進行濾波,然后對包含IPCM/TQBypass CU的一半進行Recon像素替換。
2.3 DBLK語法元素(syntax element)
下面的語法元素會影響DBLK的運行,現(xiàn)以表格形式總結(jié)如下(帶有范圍和描述欄)。
表3 DBLK語法元素
3.0 SAO解碼器濾波
本部分將對SAO濾波進行闡述,請參見HEVC視頻標準[1]。這是一個將偏移添加到去塊效應(yīng)像素值的過程,這一添加過程是根據(jù)SAO類型(即根據(jù)邊緣方向/邊緣形狀(邊緣偏移aka EO)以及像素水平(頻帶偏移aka BO)或無變化(OFF))進行的。
偏移范圍具有下列特征:
1. 8bpp的偏移幅度為[0, 7],10bpp的偏移幅度為[0, 31]。
2. 在BO情況下,發(fā)送信號實現(xiàn)非0幅度偏移。
3. 在EO情況下,根據(jù)邊緣類型(1和2為(+)、3和4為(-))對信號進行作出推斷。
3.1 邊緣偏移(EO)
邊緣偏移根據(jù)邊緣方向可以分為四類(0度、90度、135度和45度),具體情況請參見下圖。
圖10 邊緣偏移類型,即0度、90度、135度和45度
就選定的方向而言,與四個邊緣形狀一致的偏移有四個(即種類/邊緣指數(shù))。就邊緣偏移而言,邊緣指數(shù)被稱為SAO子類型。下圖顯示了類別的不同類型。
圖11 邊緣偏移類型/邊緣指標和像素映射
圖12 邊緣偏移類別選擇邏輯或公式
如果偏移值屬于給定的邊緣偏移類型和種類的話,那么該偏移值就會被添加到每個去塊效應(yīng)像素值當中去,否則像素值則保持不變。
3.1.1 頻帶偏移(BO)
整個像素范圍(8bpp為0-255)被平均分為了32個頻帶,如下圖所示。
起始頻帶的后續(xù)頻帶中有四種偏移。起始頻帶編碼連同四個偏移值被發(fā)送。起始頻帶位置還被稱為頻帶偏移的SAO子類型。
評論