5D.AntiBand

PURPOSE
Tries to reduce Mach banding effects (a.k.a contouring, false contouring, banding) sometimes seen on some display devices. These are most commonly visible on output devices which use 8-bit 4:2:2 YUV image formats, on large, mid-to-light, areas of color where the shade is changing very slowly. Instead of the shading appearing to be smooth, it will be seen as being made up of sharply divided bands of constant color.

Extreme FX on the left to give you an idea!

INPUT CLIP
Clip to Filter: the clip to try to remove bands from.

STYLE
N or S (Default: Noise)
Noise=0: use noise addition method.
Shuffle=1: conditional pixel shuffling method.

NOISE
Amplitude (Min: 0.0 Max: 500.0 Default: 100.0)
Mean amplitude of the noise signal to add.

Luminance Only (Default: Off)
Off=0: add noise independently to Y, U and V.
On=1: add noise to the luminance only

SHUFFLE
Area (Min: 3.0 Max: 17.0 Default: 5.0)
Width and height in pixels of the region to look at when deciding whether to shuffle pixels. This is also the region from which pixels are picked if shuffling is done. This needs to be bigger than the bands to be broken up.

Tolerance (Min: 0 Max: 255 Default: 5)
The biggest difference of any color component in the shuffle region is calculated in shuffle mode. If this difference is less than or equal to this threshold value, shuffling is done by picking a pixel from the shuffle region as the output pixel. Any pixel in the region must be within Shuffle Tolerance of the color of any other pixel, so this shouldn't totally mess up the output image if the tolerance is kept low. The idea is that is should still break up bands, though.

AN INTERESTING EXPLANATION
The cause of banding is a combination of insufficient bits being used to represent the color components of the image and the sensitivity of the eye to sudden changes in brightness under certain circumstances --- even very slight changes.

In truth, this can never be properly fixed once an image has been generated and quantized (e.g. to 8-bits). It can be fixed "correctly" during the processing of an image before it is quantized to a small number of bits. To do this, the processing must be done with more bits per color component internally and the low order internal bits should be used to "dither" between the available quantized output values. Quantel has a patent on this, we believe, under the name "dynamic rounding" (but it is very similar to the well-known Floyd-Steinberg halftoning method in reality). Alternatively, a low level noise signal can be added just before quantization, with much the same result. That is, areas of constant color are broken up into "random" patterns where each adjacent pixel differs by 1 value. The eye no longer sees sharp transitions between large areas of color and the problem is cured.

This Monster tries to hide the bands after its too late!

The two methods use by AntiBand:

Index