Advanced and Legacy Methods

This topic describes two Bayer CFA decoding methods respectively named Legacy and Advanced.

The two methods transforms the raw Bayer CFA data stream issued by the camera into an RGB color data stream using a 3x3 kernel. The missing pixel components are reconstructed from the nearest components.

The Legacy interpolation method computes the missing color components by applying exclusively the Mean() function.

The Advanced interpolation method computes the missing color components using the Mean() and the Median() functions. It eliminates the aliasing effect on the highly contrasted sharp transitions in the image.

Functions Definitions

The min() function returns the lowest integer value from a set of 2 integer values.

The max() function returns the highest integer value from a set of 2 integer values.

The mean() function returns one integer value that represents the mean value of 2 integers. It is computed as follows:

Function Mean(a,b)
Formula (a + b + 1) >> 1

The median() function returns a set of two integer values that are the two median values of a set of four integers. It is computed as follows:

Function Median(a,b,c,d)
Value 1 formula Min [ Max(a,b); Max(c,d) ]
Value 2 formula Max [ Min(a,b); Min(c,d) ]

Decoder operation

For each pixel of the source image, the CFA decoder computes two missing color components from surrounding pixels.

The text hereafter describes how the 4 central pixels located at positions 22, 32, 23 and 33 of a 4 x 4 Bayer CFA array are computed:

The relative positions of the surrounding pixels are identified by compass markings: