H.264/MPEG-4 Part 10 White Paper 譯(五)Reconstruction Filter

H.264/MPEG-4 Part 10 White Paper 譯(五) Reconstruction Filter

重建濾鏡

 

1.    引言

聯合視頻工作組(JVT)正在定案一個新的自然視頻圖像編碼(壓縮)標準。新標準被稱爲H.264或稱作MPEG-4 Part 10、“高級視頻編碼(AVS)”。這篇文檔描述了H.264編碼解碼器中過濾重建塊的方法。注意H.264草案標準現在尚未定稿,所以鼓勵讀者參考最新版本的標準。

 

2 什麼是重建濾鏡

濾鏡是爲了減小塊失真而應用到所胡已解碼宏塊上。抗塊效應濾波器在下述兩種情況下使用:(1)編碼過程:逆變換之後使用(在重建之前併爲了之後的預測而存儲宏塊)(2)解碼過程:重建之前並顯示宏塊。重建濾鏡有兩個作用:(1)使塊邊緣平滑,提高解碼圖像質量(特別是在高壓縮比情況下);(2)過濾的宏塊用於編碼器中另外的幀的運動補償預測,在預測後產生一個更小的殘留幀。(注意:幀內編碼宏塊被過濾,而幀內預測則是使用未經過濾的d 重建的宏塊產生預測。)圖片邊緣沒有被過濾。

 

以下面的順序對宏塊中的4X4塊的垂直和水平邊緣使用過濾:

1. 對亮度分量的4個垂直邊界進行過濾(以Figure 1中的a,b,c,d序)

2. 對亮度分量的4個水平邊界進行過濾(以Figure 1中的e,f,g,h序)

3. 對每個色度分量的2個垂直邊界進行過濾(i,j序)

4. 對每個色度分量的2個水平邊界進行過濾(k,l序)

 

每個過濾操作最多對邊界兩邊的三個像素起作用。Figure 2顯示了相鄰塊pq間垂直或水平邊界兩邊的各4個像素(p0,p1,p2,p3q0,q1,q2,q3)。這可以有多種輸出,從(a)沒有像素被過濾到(bp0,p1,p2,q0,q1,q2都被過濾併產生像素P0,P1,P2,Q0,Q1,Q2,這取決於當前的量化器、相鄰塊的編碼模式和跨邊界的圖像採樣的梯度。

 



3           邊界強度

 

過濾的輸出取決於邊界強度和跨邊界的圖像採樣的梯度。根據下面規則來選擇邊界強度係數Bs

 

pq採用幀內編碼並且邊界是一個宏塊邊界(即宏塊最外側邊界)

Bs=4 (過濾強度最大)

pq採用幀內編碼並且邊界不是一個宏塊邊界

Bs=3

pq都不採用幀內編碼但pq包含編碼係數

Bs=2

pq都不採用幀內編碼且都不包含編碼係數,pq有不同的參考幀或參考幀號不同或有着不同的運動矢量值。

Bs=1

pq都不採用幀內編碼並且都不包含編碼係數;pq有相同的參考

幀和相同的運動矢量。

Bs=0 (未過濾)

 

在可能會產生很強失真的地方,過濾強度最大。如一些幀內編碼宏塊的邊界或包含編碼係數的塊之間的邊界。

 

5. 濾鏡決策

 

集合(p2,p1,p0,q0,q1,q2)中的一組採樣只有滿足下列條件時纔會被過濾:

(1)       Bs>0並且

(2)       |p0-q0|,|p1-p0||q1-q0|都小於一個閥值?或?(?和 ?在標準[1]中定義)

 

閥值?和 ?隨着塊pq的量化參數QP的平均值增加而增加。濾鏡決策的目的是在原始圖像跨越邊界時,梯度沒有明顯改變的情況下關閉濾鏡。明顯改變的定義取決於QP。當QP比較小的時候,除了非常微小的跨邊界梯度,其它的都被看做是就應該保護的圖像特徵,這樣閥值?和?就比較小。當QP比較大的時候,塊失真可能會很明顯,這樣?和?就比較大,這樣就會產生更多的過濾。

5.    濾鏡的實現

1 Bs ? {1,2,3};

p1,p0,q0q1使用一個4-輸入線性濾鏡,過濾的的輸出爲P0Q00<Bs<4

 

另外,如果|p2-p0|比閥值?小,則對p2,p1,p0q0使用4-輸入線性濾鏡進行過濾,過濾輸出P1。如果|q2-q0|比閥值?小,則對q2,q1,q0p0使用4-輸入線性濾鏡進行過濾,過濾輸出Q1。(在色度分量中p1q1不會被過濾,只在亮度分量中使用)。

 

2 Bs=4:

if |p2-p0|<?&&|p0-q0|<round(?/4)   then

              使用一個5-輸入濾鏡對p2,p1,p0,q0q1進行過濾,輸出P0

              使用一個4-輸入濾鏡對p2,p1,p0q0進行過濾,輸出P1

       (只使用於亮度分量)使用一個5輸入濾鏡對p3,p2,p1,p0q0進行過濾,輸出P2

else

       使用一個3輸入濾鏡對p1,p0q1進行過濾,輸出P0

 

if     |q2-q0|<?&&|p0-q0|<round   (?/4) then:

       q2,q1,q0,p0p1使用一個5輸入濾鏡進行過濾,輸出Q0

       q2,q1,q0p0使用一個4輸入濾鏡進行過濾,輸出Q1;

       (只使用於亮度分量)q3,q2,q1,q0p0使用一個5輸入濾鏡進行過濾,輸出Q2

else:

       q1,q0p1使用一個3輸入濾鏡進行過濾,輸出Q0

 

6. 過濾實例

一個QCIF視頻片段使用AVC參考程序以固定量化參數32編碼。Figure 3顯示了視頻片斷的原始幀;Figure 4顯示了禁用環路濾鏡時,幀間編碼和重構後的相同幀。Figure 5使用了環路濾鏡時幀畫面,顯示效果大有改善。這裏仍然有一些失真,但大部分塊邊緣已經消失或是減淡了。注意對比度明顯的邊界被濾鏡保存,而同時圖像平滑區域的塊邊界被平滑。

 

Figure 6顯示了一個有着更高QP36)的解碼幀,此時禁用了環路濾鏡(注意增加了大量僞像),Figure 7顯示了相同幀,使用環路濾鏡。

 






 

 

7. 參考資料

 

1 ITU-T Rec. H.264 / ISO/IEC 11496-10, “Advanced Video Coding”, Final Committee Draft, Document JVT G050, March 2003

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章