去區塊濾波器

去區塊濾波器

去區塊濾波器(英語:Deblocking Filter,縮寫:DBF)又稱去塊效應濾波器是一種減少在區塊邊界產生視覺上瑕疵的濾波器。這種視覺瑕疵可稱為區塊效應(Blocking Effect),這種效應主要構成原因是因為以區塊為基礎(Block-Based)的編解碼器(Codec)所造成的人造邊界(Blocking Artifacts)。以區塊為基底的編解碼器有很多種,H.264/高階視頻編碼(Advanced Video Coding, AVC)以及H.265/高效率視頻編碼(High Efficiency Video Coding, HEVC)都是這類型的編解碼器,而這些編解碼器均會在解碼(Decode)過程中利用去區塊濾波器將區塊效應的影響降低以改善視頻視頻的品質。

基本介紹

  • 中文名:去區塊濾波器
  • 外文名:Deblocking Filter
簡介,高階視頻編碼的去區塊濾波器,邊界強度,邊界分析,高效率視頻編碼的去區塊濾波器,

簡介

以區塊為基礎的編解碼器在預測(Prediction)或是轉換(Transform)編碼時,無論是高階視頻編碼中的宏塊(Macroblock)或是高效率視頻編碼中的編碼樹單元(Coding Tree Unit)都會將視頻分成區塊再做編碼。因此視頻重建時會造成在區塊間邊緣處不連續的現象,這個現象稱為區塊效應,而這些區塊邊緣間視覺上的不連續稱為人造邊界。人造區塊主要成因可在細分成兩個,第一個是因為預測時出現不準的地方稱為殘量(Residual),殘量會利用離散餘弦變換(Discrete Cosine Transform, DCT)做量化(Quantization),由於量化與反量化會產生誤差,因此會在區塊邊界上產生視覺上的不連續。第二個原因是來自運動補償,同一個畫面內相鄰區塊可能不是從前幾個編碼視頻中相鄰區塊獲取來做預測,因此造成不連續的現象。同樣地,畫面內預測的方式也可能會造成視頻不連續。 去區塊濾波器主要有三個工作,分別邊界強度計算(Boundary Strength Computation)、邊界分析(Boundary Analysis)及濾波器套用(Filter Implementation)。
  1. 邊界強度計算:主要是去計算邊界強度(Boundary Strength, Bs)這個參數,邊界強度呈現出相鄰區塊邊界不連續的程度,而這個參數會跟量化的方式、區塊類型、移動向量以及邊界取樣的梯度有關。
  2. 邊界分析:因為區塊邊緣不連續的現象可能真的是對象邊緣所產生,並非所謂的人造邊界,這個工作主要在判斷是否為人造邊界。
  3. 濾波器的套用:做完前面兩個工作可以決定邊界強度以及判斷是否真的為人造邊界,這個工作主要對人造邊界依造對應的邊界強度選擇該套用的濾波器。

高階視頻編碼的去區塊濾波器

高階視頻編碼的去區塊濾波器會對每個宏塊做濾波,其濾波順序為由左上到右下。下面詳細介紹高階視頻編碼如何做去區塊編碼,首先將一個16x16的宏塊切割成更小的4x4區塊,如圖一所示。每個4x4的區塊會做到濾波的邊界為左邊跟上面的邊界,分別屬於垂直邊界與水平邊界。先利用水平濾波器對垂直邊界做濾波之後再利用垂直濾波器對水平邊界做濾波,圖一內的紅色數字為做濾波的順序。特別注意到如果4x4區塊的邊界為視頻的邊界則不做區塊濾波。
高階視頻編碼中去區塊濾波器將宏塊分區成更小的4x4區塊,粗線為要做濾波的邊界,紅色數字為濾波順序。
圖一圖一

邊界強度

每一個4x4的亮度區塊中需要做濾波的區塊都會計算出一個邊界強度。色度區塊的邊界強度是對亮度區塊已經求得的邊界強度做取樣,如圖二所示。亮度與色度邊界強度的示意圖,紅字為垂直邊界強度,藍字為水平邊界強度。
圖二圖二
計算邊界強度(Bs)以決定兩個4x4的區塊間不連續的程度。高階視頻編碼的邊界強度值從0到4。若兩個區塊皆屬於畫面內編碼(Intra-coded)且邊界屬於宏塊的邊界,則這兩個區塊間的邊界強度為4。若其中一個為畫面內編碼或是不在宏塊的邊界上,則這兩個區塊間的邊界強度為3。若這個區塊的轉換係數非0,則這兩個區塊間的邊界強度為2。最後如果使用不同的引用視頻或是兩個區塊間的移動向量(Motion Vectors)大於等於4,則這兩個區塊間的邊界強度為1。剩下的情況,兩個區塊間的邊界強度皆為0。總結以上敘述得到邊界強度的判斷流程如圖三所示。
圖三圖三

邊界分析

邊界強度如果大於0則對這個邊界進行分析,判斷是否為人造邊界。圖四是利用水平濾波器對垂直邊界做濾波的示意圖,一行有八個點p3、p2、p1、p0、q0、q1、q2以及q3,p0及q0之間為兩區塊的邊界。判斷是否為人造邊界的條件如下所示:
  1. Bs != 0
  2. |p0 - q0| < α(IndexA)
  3. |p1 - p0| < β(IndexA)
  4. |q1 - q0| < β(IndexB)
圖四圖四

高效率視頻編碼的去區塊濾波器

高效率視頻編碼(HEVC)的去區塊濾波器是以高階視頻編碼的為基礎,但不像高階視頻編碼採用4x4的區塊大小,高效率視頻編碼採用8x8的區塊大小,這個限制減少最糟情況的運算複雜度而不降低視覺上的品質。高效率視頻編碼還改進去區塊濾波器可以讓互不相重疊的區塊平行做處理,邊界強度也從0到4變為0到2。

相關詞條

熱門詞條

聯絡我們