2009年9月8日 星期二

h.264 in ffmpeg -- deblocking

先繼續往deblocking 的部份看
因為我時再不知道這個deblocking 到底在做什麼
沒辦法 我這時只能靠google了 google了一陣子 我在wiki中的deblocking filter找到有用的pdf檔
in-loop deblocking filter for H.264/AVC video
這篇paper的內容並不是要告訴別人什麼是deblocking filter
他是要說明deblocking filter真的能有效的消除blocking  artifacts
不過同時他也很仔細的介紹了deblocking filter 是怎麼做的(這比spec中寫的好多了)

這裡稍微介紹一下paper好了 
一開始就說明以前的其他video standard都將deblocking filter放到optional或是沒設計
但是h.264卻是將他放到standard中一定要做的部份
還有介紹in-loop filter跟post filter的差別
in-loop filter就是h.264中的deblocking filter 是在一個個macroblock上面做的
post filter是都做完整個frame的時候 再對整張圖做的處理

接下來是用圖解的方式來說明說 怎麼對macroblock做處理
就是先在luma的的部份 再來由左到右一條條vertical(4條)做 然後再來由上到下一條條horizontal(4條)做
做完luma再來換chrominance 跟剛剛一樣但是這裡只有各兩條

基本上是這樣 再來是細節的部份這裡會分成三個部份 filter strength, filter decision, filter implementation
第一個是說這個filter的強度 分成0到4五種 0就是不用做 1到3是一種level 4是一種(這是我的理解 我沒看過spec)
第二個是決定說這個要不要做 剛剛0是一定不用做  這是是會用別的方法來決定還有哪些是不用做的
第三個就是實做的部份 這裡就是列了一堆的條件式 蠻複雜的

小記一下 deblocking filter是一個一個macroblock丟進去做

沒有留言:

張貼留言