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:
- 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
);
- 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.
- For now, only YUV 4:2:0 planar format is supported, and the block size is assumed to be 8×8.
- 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. |