Home / VIC Libraries / Deblock filter

Deblocking Filter:

Almost all the current video compression standards (MPEG 1/2/4, H.263, H.264 etc.) are lossy codecs. When encoded at very low bit-rate, they will generate severe blocky artifacts, which are caused by the different quantization errors between the two neighbor blocks (16x16, 8x8 or 4x4).

Deblocking filter will be useful to remove those artifacts, to improve the visual quality of the decoded images.

The deblocking filter includes following features:
  1. There is only one function needed to filter a frame.

    void SRI_DeblockFilter(
          unsigned char* yuv_image_buffer,
          int width,
          int height,
          int block_size,
          unsigned char* filter_strength

  2. The strength of the filter is configurable for each block, which is proportional to the quantization level of each block. If you just decode a frame, and know the quantization value for each block, you can fill into this buffer. If not, set a constant value for all blocks. The value can be in the range of [0, 63] Large value means stronger filter effect, 0 means no filtering at all.
  3. For now, only YUV 4:2:0 planar format is supported, and the block size is assumed to be 8x8.
  4. For detailed usage, see the demo program included in the package.
Download the package: deblock.zip
Package includes: deblocking filter library, demo program source code with project files (for Windows) and make file (for Linux), example yuv video clip and test script batch file.
Copyright, www.sunrayimage.com, 2008