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 (16×16, 8×8 or 4×4).

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 8×8.
  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.