0
1.0引言
高效視頻編碼(HEVC)是H.264/MPEG-4AVC(高級(jí)視頻編碼)的一種升級(jí)版視頻壓縮標(biāo)準(zhǔn)(即ISO/IEC23008-2MPEG-H第2部分和ITU-TH.265)是由ISO/IEC動(dòng)態(tài)圖像專家組(MPEG)和ITU-T視頻編碼專家組(VCEG)共同編寫(xiě)的。與業(yè)界標(biāo)準(zhǔn)H.264相比,HEVC能夠以幾乎同樣的視頻質(zhì)量實(shí)現(xiàn)半比特速率,并且有望在視頻應(yīng)用中得到廣泛運(yùn)用,其中包括:手機(jī)、廣播、機(jī)頂盒、視頻會(huì)議、視頻監(jiān)控、車載等。
下圖顯示了帶有環(huán)路濾波的HEVC視頻解碼器結(jié)構(gòu)圖,突出顯示的即為環(huán)路濾波。如圖所示,它是一個(gè)可去除視頻編碼過(guò)程中塊效應(yīng)的兩個(gè)級(jí)組成的級(jí)聯(lián),即去塊效應(yīng)濾波(DBLK)和采樣自適應(yīng)偏移(SAO)濾波。接下來(lái)的兩部分內(nèi)容將詳細(xì)描述這個(gè)級(jí)。
帶有環(huán)路濾波的HEVC視頻解碼器的結(jié)構(gòu)和應(yīng)用實(shí)例分析
帶有環(huán)路濾波的HEVC視頻解碼器的結(jié)構(gòu)和應(yīng)用實(shí)例分析
圖1HEVC視頻解碼器結(jié)構(gòu)圖
2.0去塊效應(yīng)濾波(DBLK)
本部分將闡述去塊效應(yīng)濾波,如HEVC視頻標(biāo)準(zhǔn)[1]所述。去塊效應(yīng)濾濾器運(yùn)行可大體可分為兩部分:
1.濾波器邊緣上的邊界濾波強(qiáng)度(akaBS)計(jì)算
2.濾波器的實(shí)際運(yùn)行
縱觀整個(gè)去塊效應(yīng)濾波器運(yùn)行,本文獻(xiàn)采用了以下慣例:Q像素位于“縱向”濾波器的右側(cè),P像素位于“縱向”濾波器左側(cè)。同樣,Q屬于“橫向”濾波器邊緣下方的像素,P屬于“橫向”濾波器邊緣上方的像素。
圖2環(huán)內(nèi)去塊效應(yīng)濾波中稱為慣例的相鄰像素
2.1濾波器邊緣強(qiáng)度(akaBS)
邊界濾波強(qiáng)度[hor/ver][xpos][ypos]計(jì)算是在一個(gè)8x8網(wǎng)格上完成的,取值0、1、2,如下圖所示:
雖然在8x8網(wǎng)格的每個(gè)像素邊緣上都有濾波器(8x8結(jié)構(gòu)包括4像素邊緣),但就一個(gè)4像素段的所有像素而言,邊界濾波強(qiáng)度計(jì)算的屬性可以被組合。就強(qiáng)度計(jì)算而言,我們假設(shè)每個(gè)4像素段作為一個(gè)級(jí)。請(qǐng)注意,邊界濾波強(qiáng)度計(jì)算取決于當(dāng)前、左側(cè)和頂部LCULCUinfo。
圖3邊界濾波強(qiáng)度(BS)結(jié)構(gòu)圖,在8x8網(wǎng)格中顯示了邊緣及其編號(hào)
2.1.1邊界濾波強(qiáng)度功能概述
邊界濾波強(qiáng)度計(jì)算是在一個(gè)8x8網(wǎng)格上完成的,設(shè)置圖片為0,且分片邊界(sliceboundarie)(ifloop_filter_across_slice_enabled_flag=0),Tile邊界(loop_filter_across_tile_enabled_flag=0)。
只有8x8像素邊界經(jīng)過(guò)濾波,即預(yù)測(cè)單元(PU)和/或轉(zhuǎn)換單元(TU)邊界,濾波過(guò)程如下。
圖4PU和TU部分的邊界濾波強(qiáng)度(BS)與邊緣調(diào)諧
邊界濾波強(qiáng)度推導(dǎo)規(guī)則:
感興趣的讀者可參見(jiàn)HEVC規(guī)范,了解以下內(nèi)容:
1.邊界濾波強(qiáng)度的TU邊界濾波強(qiáng)度推導(dǎo):8.7.2.1章節(jié)
2.邊界濾波強(qiáng)度的PU邊界濾波強(qiáng)度推導(dǎo):8.7.2.2章節(jié)
3.邊界濾波強(qiáng)度推導(dǎo):8.7.2.3章節(jié)
2.1.2色度邊界濾波強(qiáng)度推導(dǎo)
只有8x8色度像素網(wǎng)格上的PU和/或TU邊界得到濾波。色度邊界濾波強(qiáng)度值源自亮度邊界濾波強(qiáng)度值。就色度濾波器4:2:0(q0,p0)采樣而言,從相應(yīng)的(2q0,2p0)亮度采樣(即BS{Hor/ver}[xpos/2][ypos/2]圖中的2因素下行采樣)獲取邊界濾波強(qiáng)度。
圖5色度邊界濾波強(qiáng)度映射:匹配到8x8網(wǎng)格然后除以2
2.2濾波器運(yùn)行
該部分將闡述去除HEVC視頻標(biāo)準(zhǔn)中特定塊效應(yīng)的實(shí)際濾波。
2.2.1濾波器的階數(shù)
就HEVC而言,規(guī)定的濾波器階數(shù)為幀級(jí)(不是LCU級(jí)),如下所示:
1.在整個(gè)幀處理過(guò)程中,對(duì)所有塊的豎向邊緣都進(jìn)行了H濾波。
2.在整個(gè)幀處理過(guò)程中,對(duì)所有塊的橫向邊緣都進(jìn)行了V濾波。
濾波是完全獨(dú)立的8x8濾波段,如圖6所示:
圖68x8塊級(jí)獨(dú)立濾波
是否需要亮度/色度(開(kāi)啟/關(guān)閉判定)濾波、濾波級(jí)別(弱濾波/強(qiáng)濾波)以及最終的實(shí)際濾波運(yùn)行將在下面章節(jié)闡述。
2.2.2亮度濾波器開(kāi)啟/關(guān)閉以及弱/強(qiáng)濾波的判定
濾波器開(kāi)/關(guān)判定和亮度強(qiáng)/弱判定是根據(jù)上圖所示的四個(gè)行列段進(jìn)行的。
如果邊界濾波強(qiáng)度等于0,則按順序進(jìn)行以下步驟:
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(strongfilter);其他dE=1(弱濾波);
如果(dp》1))》》3))dEp=1//對(duì)濾波采樣的數(shù)量進(jìn)行弱濾波
If(dq》1))》》3))dEq=1//對(duì)濾波采樣的數(shù)量進(jìn)行弱濾波
圖7去塊效應(yīng)濾波中濾波開(kāi)/關(guān)以及濾波強(qiáng)度判定中的像素使用
表1qp、tc和β(BETA_TABLE和TC_TABLE)之間的關(guān)系
2.2.3亮度強(qiáng)濾波以及弱濾波
2.2.3.1亮度強(qiáng)濾波機(jī)制
4像素部分共享同一個(gè)判定(dE,dEp,dEq)
如果(dE==2),則進(jìn)行強(qiáng)濾波以修改每端的三個(gè)像素
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濾波和邊緣周圍像素點(diǎn)的使用
2.2.3.2亮度弱濾波機(jī)制
4像素部分共享同一個(gè)判定(dE,dEp,dEq)
如果(dE==1),則進(jìn)行弱濾波以修改每端的一個(gè)或二個(gè)像素
D=(9*(q0–p0)-3*(q1–p1)+8)》》4
如果(aBS(Δ)》1),tc》》1,(((p2+p0+1)》》1)–p1+Δ)》》1)
p1’=Clip1Y(p1+Δp)
ifdEq等于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邊界得到濾波
邊界濾波強(qiáng)度源自亮度(對(duì)每個(gè)方向進(jìn)行2因素下行采樣)(請(qǐng)參見(jiàn)色度邊界濾波強(qiáng)度推導(dǎo)小節(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濾波和邊緣周圍像素點(diǎn)的使用
表2QPc向qPi轉(zhuǎn)換
tc=TC_TABLE[Clip3(0,53,qPC+2*(BS-1)+(tc_offset_div21時(shí),則Chroma濾波器將被開(kāi)啟
Δ=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??畿S分片濾波適用于給定分片邊界的左側(cè)和上側(cè)邊緣(并非所有方向)
3.瓦片邊界和loop_filter_across_tiles_enabled_flag=0
在上述情況中,分片邊界沿線的像素未被處理,具體取決于SAO類型。
就BO而言,所有像素都將被處理。
就EO而言,像素有效性將根據(jù)SAO類型進(jìn)行,如果在邊界條件下像素?zé)o效,其將跳過(guò)進(jìn)行處理(即0漂移)。
下圖對(duì)邊界條件處理進(jìn)行了描述。
圖14SAO解碼器的邊界處理實(shí)例
3.1.4條件處理
在下列條件時(shí),SAO濾波將關(guān)閉。
SAO類型idx=OFF
CU類型=PCM且環(huán)路濾波器被描述為PCM類型
CU類型=TQBypss(無(wú)損耗)
限幅電平SAO=OFF
雙面板免費(fèi)加費(fèi),四層板加急打樣,厚銅電路板打樣