WelcomeName
Font Size:
Site Colors:
Accesskey
S - Skip navigation
1 - Home page
4 - Search
Accessibility Statement
Find Product:
Featuers

Bayer interpolation on a GPU

Most of today’s color image sensors, use the Bayer filter mosaic, an array
of RGB color filters arranged on a grid of photosensors.
Named after the late Bryce Bayer (1929–2012) who invented it while working
for Eastman Kodak(Rochester, NY; USA),
the filter uses twice as many green elements to mimic the physiology of the
human eye.
His idea dates to May 29th, 1974 and here is a link to his original
handwritten concept.[
http://image-sensors-world.blogspot.co.il/2012/11/bruce-bayer-died.html]
Since the Bayer mosaic pattern produces an array of separate R, G and B
pixel data at different locations on the image sensor, a Bayer demosaicing
(interpolation) algorithm must be used to generate individual red (R), green
(G) and blue (B) values at each pixel location.
Several methods exist to perform this interpolation including:
- Bilinear interpolation
[http://supercomputingblog.com/graphics/coding-bilinear-interpolation/]
- Linear Interpolation with 5x5 kernels
[https://www.researchgate.net/publication/4087683_High-quality_linear_interp
olation_for_demosaicing_of_Bayer-patterned_color_images
]
- Adaptive-homogeneity-directed algorithm
[https://www.photoactivity.com/Pagine/Articoli/006NewDCRaw/hirakawa03adaptiv
e.pdf
]
- Directional filtering with an a
posteriori decision [http://elynxsdk.free.fr/ext-docs/Demosaicing/todo/Menon
_Andriani_IEEE_T_IP_2007.pdf
]
Each one of these methods have their own quality/computational tradeoffs.

Although adaptive-homogeneity or directional filtering can be implemented on
the GPU,
linear interpolation with a 5x5 bi-linear Bayer interpolation on the GPU
provides higher performance in high-speed video compression applications.
Such algorithms are often implemented using field programmable gate arrays
(FPGAs) embedded in the camera or the frame grabber that is used to capture
image data.
When raw image data is captured from color cameras to host memory, Bayer
interpolation can also be performed on a GPU.
After such interpolation, white balancing of the image may be required to
ensure that objects which appear white are, in fact, rendered white in the
resulting image.
This is accomplished, for instance, by computing statistics for each color
in the input image and applying scaling factors so that the output image has
an equal amount of each color.

Relevant Documents
 (63KB)
Go to Search
Contact Us