1.0 引言
高效視頻編碼(HEVC)是H.264/MPEG-4 AVC(高級視頻編碼)的一種升級版視頻壓縮標準(即ISO/IEC 23008-2 MPEG-H第2部分和ITU-T H.265)是由ISO/IEC動態圖像專家組(MPEG)和ITU-T視頻編碼專家組(VCEG)共同編寫的。與業界標準H.264相比,HEVC能夠以幾乎同樣的視頻質量實現半比特速率,并且有望在視頻應用中得到廣泛運用,其中包括:手機、廣播、機頂盒、視頻會議、視頻監控、車載等。
下圖顯示了帶有環路濾波的HEVC視頻解碼器結構圖,突出顯示的即為環路濾波。如圖所示,它是一個可去除視頻編碼過程中塊效應的兩個級組成的級聯,即去塊效應濾波(DBLK)和采樣自適應偏移(SAO)濾波。接下來的兩部分內容將詳細描述這個級。
圖1 HEVC視頻解碼器結構圖
2.0 去塊效應濾波(DBLK)
本部分將闡述去塊效應濾波,如HEVC視頻標準[1]所述。去塊效應濾濾器運行可大體可分為兩部分:
1. 濾波器邊緣上的邊界濾波強度(aka BS)計算
2. 濾波器的實際運行
縱觀整個去塊效應濾波器運行,本文獻采用了以下慣例:Q像素位于“縱向”濾波器的右側,P像素位于“縱向”濾波器左側。同樣,Q屬于“橫向”濾波器邊緣下方的像素,P屬于“橫向”濾波器邊緣上方的像素。
圖2 環內去塊效應濾波中稱為慣例的相鄰像素
2.1 濾波器邊緣強度(aka BS)
邊界濾波強度[hor/ver][xpos][ypos]計算是在一個8x8網格上完成的,取值0、1、2,如下圖所示:
雖然在8x8網格的每個像素邊緣上都有濾波器(8x8結構包括4像素邊緣),但就一個4像素段的所有像素而言,邊界濾波強度計算的屬性可以被組合。就強度計算而言,我們假設每個4像素段作為一個級。請注意,邊界濾波強度計算取決于當前、左側和頂部LCU LCUinfo。
圖3 邊界濾波強度(BS)結構圖,在8x8網格中顯示了邊緣及其編號
2.1.1 邊界濾波強度功能概述
邊界濾波強度計算是在一個8x8網格上完成的,設置圖片為0,且分片邊界(slice boundarie) (if loop_filter_across_slice_enabled_flag = 0),Tile邊界(loop_filter_across_tile_enabled_flag = 0)。
只有8x8像素邊界經過濾波,即預測單元(PU)和/或轉換單元(TU)邊界,濾波過程如下。
圖4 PU和TU部分的邊界濾波強度(BS)與邊緣調諧
邊界濾波強度推導規則:
感興趣的讀者可參見HEVC規范,了解以下內容:
1. 邊界濾波強度的TU邊界濾波強度推導:8.7.2.1章節
2. 邊界濾波強度的PU邊界濾波強度推導:8.7.2.2章節
3. 邊界濾波強度推導:8.7.2.3章節
2.1.2 色度邊界濾波強度推導
只有8x8色度像素網格上的PU和/或TU邊界得到濾波。色度邊界濾波強度值源自亮度邊界濾波強度值。就色度濾波器4:2:0 (q0, p0)采樣而言,從相應的(2q0, 2p0)亮度采樣(即BS{Hor/ver}[xpos/2][ypos/2]圖中的2因素下行采樣)獲取邊界濾波強度。
圖5 色度邊界濾波強度映射:匹配到8x8網格然后除以2
2.2 濾波器運行
該部分將闡述去除HEVC視頻標準中特定塊效應的實際濾波。
2.2.1 濾波器的階數
就HEVC而言,規定的濾波器階數為幀級(不是LCU級),如下所示:
1. 在整個幀處理過程中,對所有塊的豎向邊緣都進行了H濾波。
2. 在整個幀處理過程中,對所有塊的橫向邊緣都進行了V濾波。
濾波是完全獨立的8x8濾波段,如圖6所示:
圖6 8x8塊級獨立濾波
是否需要亮度/色度(開啟/關閉判定)濾波、濾波級別(弱濾波/強濾波)以及最終的實際濾波運行將在下面章節闡述。
2.2.2 亮度濾波器開啟/關閉以及弱/強濾波的判定
濾波器開/關判定和亮度強/弱判定是根據上圖所示的四個行列段進行的。
如果邊界濾波強度等于0,則按順序進行以下步驟:
qPL= ((QPP+QPQ+1)》》1), QPP 和 QPQ 為亮度 QPs
β = BETA_TABLE[Clip3(0,51,qPL+(beta_offset_div2》2)) && ( |p3,0- p0,0| + |q3,0- q0,0| 》3)) && ( | p0,0- q0,0| 》1))) dSam0 = 1
If ( (2*dpq3 》2)) && ( |p3,3- p0,3| + |q3,3- q0,3| 》3)) && ( | p0,3- q0,3| 》1))) dSam3 = 1
如果 (dSam0 ==1 && dSam3 ==1) dE = 2 (strong filter); 其他 dE = 1 (弱濾波);
如果 (dp 》1))》》3) ) dEp = 1 //對濾波采樣的數量進行弱濾波
If (dq 》1))》》3) ) dEq = 1 //對濾波采樣的數量進行弱濾波
圖7 去塊效應濾波中濾波開/關以及濾波強度判定中的像素使用
表1 qp、tc和β(BETA_TABLE和TC_TABLE)之間的關系
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(Δ) 》1),tc》》1,(((p2+p0+1)》》1)–p1+Δ)》》1)
p1’ = Clip1Y(p1+Δp)
if dEq等于1,則濾波采樣值q1’規定如下:
Δq = Clip3(-(tc》》1),tc》》1,(((q2+q0+1)》》1)–q1–Δ)》》1)
q1’ = Clip1Y(q1+Δq))
2.2.4 色度濾波
只有8x8色度像素網格上的PU和/或TU邊界得到濾波
邊界濾波強度源自亮度(對每個方向進行2因素下行采樣)(請參見色度邊界濾波強度推導小節)
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轉換
tc = TC_TABLE[Clip3(0,53,qPC+2*(BS-1)+(tc_offset_div2 1時,則Chroma濾波器將被開啟
Δ = Clip3(-tC,tC,((((q0–p0)》3))
p0’ = Clip1C(p0+Δ)
q0’ = Clip1C(q0-Δ)
3.1.3 邊界條件處理
需要條件處理的有三種條件:
1. 圖像邊界(上、下、左、右)
2. 分片邊界以及slice_loop_filter_across_slices_enabled_flag = 0。跨躍分片濾波適用于給定分片邊界的左側和上側邊緣(并非所有方向)
3. 瓦片邊界和loop_filter_across_tiles_enabled_flag = 0
在上述情況中,分片邊界沿線的像素未被處理,具體取決于SAO類型。
就BO而言,所有像素都將被處理。
就EO而言,像素有效性將根據SAO類型進行,如果在邊界條件下像素無效,其將跳過進行處理(即0漂移)。
下圖對邊界條件處理進行了描述。
圖14 SAO解碼器的邊界處理實例
3.1.4 條件處理
在下列條件時,SAO濾波將關閉。
SAO類型idx = OFF
CU類型 = PCM且環路濾波器被描述為PCM類型
CU類型 = TQBypss(無損耗)
限幅電平SAO = OFF
責任編輯:gt
-
機頂盒
+關注
關注
4文章
390瀏覽量
54374 -
手機
+關注
關注
35文章
6898瀏覽量
158266 -
視頻監控
+關注
關注
17文章
1711瀏覽量
65159
發布評論請先 登錄
相關推薦
評論