天天看點

去塊效應濾波器介紹

所謂的塊效應就是在視訊編碼中人眼察覺到的小塊邊界處的不連續。通過下面的圖有個直覺的感受。

可以感受到(a)中的左上角有一些明顯的小塊,而(b)看上去比較平滑一些。

一、塊效應産生的原因:

1)在對圖像進行編碼的時候,圖像被分成16x16,8x8或者4x4這樣的塊,然後對這些塊進行DCT變換,這樣就導緻塊與塊之間的相關性被忽略。

2)對每個塊進行DCT變換得到的系數進行量化的時候取整,而由于不同圖像塊做了不同的量化處理,有時量化步長不同有時是舍入的高頻分量

不一樣,這就導緻圖像相關性受到破壞。

3)H264的運動補償加劇了塊效應。

4)時域預測技術使得參考圖像中存在的邊界不連續可能會傳遞到後續圖像編碼。

二、濾波器類型:

根據在視訊編解碼中加入去塊濾波器的位置,濾波器分兩種類型。

1)後置濾波器:

   隻放在解碼端,處了解碼環路外的顯示緩沖區中的資料,後置濾波器不屬于标準化内容,在标準中隻是可選項。

2)環路濾波器:

   放置在編解碼環路中,在編碼器中被濾波的圖像作為後續編碼圖像的參考圖像,在解碼器端,濾波後的圖像作為

   解碼重建的參考圖像。

 編解碼器要使用同樣的濾波器,才能保證編碼圖像在解碼端順利重建。

 兩種濾波器比較:

a:環路濾波器可以保證不同水準的圖像品質。

b:解碼器端沒有必要為環路濾波器準備額外緩存。

c:環路濾波器更能增加視訊流的主客觀品質,同時降低解碼器的複雜度。

三、濾波過程:

H264中的去塊效應濾波是以16x16的宏塊為機關,在宏塊内部按照先橫後縱、先亮度後色度的順序,對每個4x4塊

邊界進行濾波處理。濾波過程分為邊界分析和濾波運算兩部分。

邊界分析要解決兩個問題:計算邊界強度+解決真假邊界的問題。

1)計算邊界強度:

   根據邊界強度需要,采用不同強度的濾波。假設P塊和Q塊是兩相鄰的4X4塊,邊緣強度BS計算如下表:

2)區分真假邊界:

  區分真假邊界基于兩個假設:

a:真實邊界兩邊像素點的內插補點通常比虛假邊界兩邊像素內插補點要大。

b:對于兩邊像素值差别很小的真實邊界,即使使用了平滑濾波,其主觀效果也不會有太大的影響。

  區分真假邊界遵守兩個原則:

a:平坦區域,即使很小的像素不連續也容易被人察覺,是以要使用比較強的去塊濾波。

b:對複雜區域,為保持圖像的細節,要使用較弱的平滑濾波,改變較少的像素點。

為區分真假邊界,需要對被濾波的相鄰的4x4塊邊界的樣點進行分析,假設如下邊界兩邊像素分布:

圖左兩個是邊界兩邊像素點分布圖,圖右是邊界兩邊像素點亮度值分布圖。

     H264标準中定義兩個閥值α和β,α表示塊與塊之間的邊界閥值,β表示塊内邊界閥值。

邊界兩邊像素值滿足下面公司三個條件,則定義為虛假邊界,否則為真實邊界。

IndexA,IndexB計算公式如下:

IndexA和IndexB等于邊界兩邊的平均QP分别加上偏移量FilterOffset和FilterOffset,同時量化參數QP在[0,51]範圍。

α和β的取值取決于量化參數的大小,IndexA、IndexB與α、β對于關系如下表:

另外在BS為1、2、3時濾波像素改變值tc0限定了一個範圍,防止濾波過程中把邊界附近的圖像細節平滑的太厲害,

特别是量化參數小的時候。tc0的範圍如下表:

四、濾波運算過程:

H264濾波是以宏塊為機關進行的,濾波對象是4x4塊邊界,先對垂直邊界進行濾波,再對水準邊界進行濾波。

上述圖濾波順序規則如下:

1)亮度分量順序:先濾波4個垂直邊界,順序為a、b、c、d,然後是4個水準邊界順序為e、f、g、h。

2)色度分量順序:先濾波2個垂直邊界,順序為i、j,接着2個水準邊界順序為k,l。

3)色度要借用亮度的邊緣強度,是以在濾波完亮度的邊界後才能濾波色度的對應邊界。

4)宏塊的右邊界和下邊界與後面的宏塊一起濾波,稱為"被動濾波"。

當BS的值不為0時就要進行邊界濾波。H264根據BS的值,分為兩種濾波。具體濾波可參考下圖:

BS為1、2、3時采用強度較弱濾波器,首先改變p0,q0兩個像素點,接着用閥值β判斷是否需要調整p1和q1的值。

BS為4時分兩種強度的濾波,強濾波可改變6個像素點(p0、p1、p2、q0、q1、q2)如上圖示,弱濾波隻改變邊界上的

兩點(p0、p1)。

具體濾波過程如下:

1)BS=1、2、3時的濾波過程

   此時濾波過程分兩步:基本濾波和限幅。

   a:基本濾波,首先對邊界兩個像素點進行濾波,公式如下:

△0是由△‘0經限幅後得到的,△’0由下式得到:

   如果是色度分量,BS=1、2、3的濾波過程就結束了,對于亮度分量則還需考慮p1、q1的濾波,p1和q1值取決于β,如下:

1)、|p2-p0|<β,則認為p塊内部p1點出有虛假邊界,p1點需修改為

    p`1=p1△1p

2)、|q2-q0|<β,則認為q塊内部q1點處有虛假邊界,q1點需修改為

    q`1=q1+△1q

△1p和△1q由△`1p和△`q經限幅後獲得,△`1p和△`1q計算如下:

     此處說道的限幅就是上面提到的濾波過程的限幅tc0來控制。

2)BS=4時強濾波:

    對于P塊點若滿足下式,則認為細節資訊不多,

公式4-1

  采用強濾波:

若不滿足公式4-1,則隻采用弱濾波修改p0值:

對于Q點,類似P點,若滿足下式:

公式4-2

采用強濾波:

若不滿足公式4-2,則采用弱濾波修改q0值,公式如下:

色度分量在BS=4時,隻改變p0,q0點,濾波公司和亮度分量采用弱濾波時相同。

--------------------- 

作者:奔跑的哇牛 

來源:CSDN 

原文:https://blog.csdn.net/h514434485/article/details/52241778 

版權聲明:本文為部落客原創文章,轉載請附上博文連結!