新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 解讀HEVC視頻標準的環內濾波

        解讀HEVC視頻標準的環內濾波

        作者: 時間:2016-12-20 來源:網絡 收藏

        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’規定如下:

        Δ = Clip3(-tc,tc,Δ)

        p0’ = Clip1Y(p0+Δ)

        q0’ = Clip1Y(q0-Δ)

        If dEp等于1,則濾波采樣值p1’規定如下:

        Δp = Clip3(-(tc>>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))]

        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內部)將保持無濾波狀態,而另外的一半則經過濾波處理,這就是說僅在邊緣的一側進行了濾波處理。我們通常采用以下兩種方法完成:


        1. 跳過一半的像素進行濾波處理

        2. 在兩端進行濾波,然后對包含IPCM/TQBypass CU的一半進行Recon像素替換。


        2.3 DBLK語法元素(syntax element)


        下面的語法元素會影響DBLK的運行,現以表格形式總結如下(帶有范圍和描述欄)。


        表3 DBLK語法元素

        3.0 SAO解碼器濾波


        本部分將對SAO濾波進行闡述,請參見HEVC視頻標準[1]。這是一個將偏移添加到去塊效應像素值的過程,這一添加過程是根據SAO類型(即根據邊緣方向/邊緣形狀(邊緣偏移aka EO)以及像素水平(頻帶偏移aka BO)或無變化(OFF))進行的。


        偏移范圍具有下列特征:


        1. 8bpp的偏移幅度為[0, 7],10bpp的偏移幅度為[0, 31]。

        2. 在BO情況下,發送信號實現非0幅度偏移。

        3. 在EO情況下,根據邊緣類型(1和2為(+)、3和4為(-))對信號進行作出推斷。


        3.1 邊緣偏移(EO)


        邊緣偏移根據邊緣方向可以分為四類(0度、90度、135度和45度),具體情況請參見下圖。


        圖10 邊緣偏移類型,即0度、90度、135度和45度

        就選定的方向而言,與四個邊緣形狀一致的偏移有四個(即種類/邊緣指數)。就邊緣偏移而言,邊緣指數被稱為SAO子類型。下圖顯示了類別的不同類型。


        圖11 邊緣偏移類型/邊緣指標和像素映射

        圖12 邊緣偏移類別選擇邏輯或公式

        如果偏移值屬于給定的邊緣偏移類型和種類的話,那么該偏移值就會被添加到每個去塊效應像素值當中去,否則像素值則保持不變。

        3.1.1 頻帶偏移(BO)


        整個像素范圍(8bpp為0-255)被平均分為了32個頻帶,如下圖所示。


        起始頻帶的后續頻帶中有四種偏移。起始頻帶編碼連同四個偏移值被發送。起始頻帶位置還被稱為頻帶偏移的SAO子類型。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 诸暨市| 东光县| 手机| 凤台县| 赣榆县| 越西县| 巴彦淖尔市| 太仆寺旗| 巫山县| 米脂县| 唐河县| 平乐县| 平乡县| 汾阳市| 锡林浩特市| 榕江县| 公安县| 莲花县| 公主岭市| 溧水县| 新晃| 扎囊县| 涡阳县| 区。| 崇仁县| 疏勒县| 焦作市| 清原| 平和县| 南华县| 太谷县| 天等县| 都安| 如皋市| 泉州市| 文登市| 宜宾县| 澄江县| 康乐县| 临夏市| 汉阴县|