Demosaicing Explained

Demosaicing (or de-mosaicing, demosaicking), also known as color reconstruction, is a digital image processing algorithm used to reconstruct a full color image from the incomplete color samples output from an image sensor overlaid with a color filter array (CFA) such as a Bayer filter. It is also known as CFA interpolation or debayering.

Most modern digital cameras acquire images using a single image sensor overlaid with a CFA, so demosaicing is part of the processing pipeline required to render these images into a viewable format.

Many modern digital cameras can save images in a raw format allowing the user to demosaic them using software, rather than using the camera's built-in firmware.

Goal

The aim of a demosaicing algorithm is to reconstruct a full color image (i.e. a full set of color triples) from the spatially undersampled color channels output from the CFA. The algorithm should have the following traits:

Background: color filter array

See main article: Color filter array.

A color filter array is a mosaic of color filters in front of the image sensor. Commercially, the most commonly used CFA configuration is the Bayer filter illustrated here. This has alternating red (R) and green (G) filters for odd rows and alternating green (G) and blue (B) filters for even rows. There are twice as many green filters as red or blue ones, catering to the human eye's higher sensitivity to green light.

Since the color subsampling of a CFA by its nature results in aliasing, an optical anti-aliasing filter is typically placed in the optical path between the image sensor and the lens to reduce the false color artifacts (chromatic aliases) introduced by interpolation.[1]

Since each pixel of the sensor is behind a color filter, the output is an array of pixel values, each indicating a raw intensity of one of the three filter colors. Thus, an algorithm is needed to estimate for each pixel the color levels for all color components, rather than a single component.

Illustration

To reconstruct a full color image from the data collected by the color filtering array, a form of interpolation is needed to fill in the blanks. The mathematics here is subject to individual implementation, and is called demosaicing.

In this example, we use Adobe Photoshop's bicubic interpolation to simulate the circuitry of a Bayer filter device such as a digital camera.

The image below simulates the output from a Bayer filtered image sensor; each pixel has only a red, green or blue component. The corresponding original image is shown alongside the demosaiced reconstruction at the end of this section.

Bayer filter samples
RedGreenBlue

A digital camera typically has means to reconstruct a whole RGB image using the above information. The resulting image could be something like this:

The reconstructed image is typically accurate in uniform-colored areas, but has a loss of resolution (detail and sharpness) and has edge artifacts (for example, the edges of letters have visible color fringes and some roughness).

Algorithms

Simple interpolation

These algorithms are examples of multivariate interpolation on a uniform grid, using relatively straightforward mathematical operations on nearby instances of the same color component. The simplest method is nearest-neighbor interpolation which simply copies an adjacent pixel of the same color channel. It is unsuitable for any application where quality matters, but can be useful for generating previews given limited computational resources. Another simple method is bilinear interpolation, whereby the red value of a non-red pixel is computed as the average of the two or four adjacent red pixels, and similarly for blue and green. More complex methods that interpolate independently within each color plane include bicubic interpolation, spline interpolation, and Lanczos resampling.

Although these methods can obtain good results in homogeneous image regions, they are prone to severe demosaicing artifacts in regions with edges and details when used with pure-color CFAs.[2] However, linear interpolation can obtain very good results when combined with a spatio-spectral (panchromatic) CFA.[3] One could exploit simple formation models of images for demosaicing. In natural images within the same segment, the ratio of colors should be preserved. This fact was exploited in an image sensitive interpolation for demosaicing.[4]

Pixel correlation within an image

More sophisticated demosaicing algorithms exploit the spatial and/or spectral correlation of pixels within a color image.[5] Spatial correlation is the tendency of pixels to assume similar color values within a small homogeneous region of an image. Spectral correlation is the dependency between the pixel values of different color planes in a small image region.

These algorithms include:

Video super-resolution/demosaicing

It has been shown that super-resolution and demosaicing are two faces of the same problem and it is reasonable to address them in a unified context.[10] Note that both these problems face the aliasing issue. Therefore, especially in the case of video (multi-frame) reconstruction, a joint super-resolution and demosaicing approach provides the optimal solution.

Trade-offs

Some methods may produce better results for natural scenes, and some for printed material, for instance. This reflects the inherent problem of estimating pixels that are not definitively known. Naturally, there is also the ubiquitous trade-off of speed versus quality of estimation.

Use in computer image processing software

When one has access to the raw image data from a digital camera, one can use computer software with a variety of different demosaicing algorithms instead of being limited to the one built into the camera. A few raw development programs, such as RawTherapee and darktable, give the user an option to choose which algorithm should be used. Most programs, however, are coded to use one particular method. The differences in rendering the finest detail (and grain texture) that come from the choice of demosaicing algorithm are among the main differences between various raw developers; often photographers will prefer a particular program for aesthetic reasons related to this effect.

The color artifacts due to demosaicing provide important clues for identifying photo forgeries.[11]

See also

External links

Notes and References

  1. Book: Adrian Davies . Phil Fennessy . Digital imaging for photographers. Fourth. Focal Press. 2001. 978-0-240-51590-8.
  2. Hybrid color filter array demosaicking for effective artifact suppression . Lanlan Chang . Yap-Peng Tan . Journal of Electronic Imaging . 2006 . 15 . 2 . 10.1117/1.2183325 . 2006JEI....15a3003C . dead . https://web.archive.org/web/20091229063407/http://www3.ntu.edu.sg/home5/CHAN0069/JEI013003.pdf . 2009-12-29 .
  3. Hirakawa, K., & Wolfe, P. J. (2007, September). Color Filter Array Design for Enhanced Image Fidelity. In 2007 IEEE International Conference on Image Processing (Vol. 2, pp. II-81). IEEE.
  4. Kimmel, R. (1999). Demosaicing: Image reconstruction from color CCD samples. IEEE Transactions on image processing, 8(9), 1221-1228.
  5. Hybrid color filter array demosaicking for effective artifact suppression . Lanlan Chang . Yap-Peng Tan . Journal of Electronic Imaging . 2006 . 15 . 013003 . 10.1117/1.2183325 . 2006JEI....15a3003C . dead . https://web.archive.org/web/20091229063407/http://www3.ntu.edu.sg/home5/CHAN0069/JEI013003.pdf . 2009-12-29 .
  6. Web site: Interpolation using a Threshold-based variable number of gradients . Ting Chen . dead . https://web.archive.org/web/20120422035609/http://scien.stanford.edu/pages/labsite/1999/psych221/projects/99/tingchen/main.htm . 2012-04-22 .
  7. Web site: Pixel Grouping for Color Filter Array Demosaicing . Chuan-kai Lin, Portland State University . 2004 . https://web.archive.org/web/20160923211135/https://sites.google.com/site/chklin/demosaic/ . 2016-09-23 .
  8. Adaptive homogeneity-directed demosaicing algorithm . Kiego Hirakawa . Thomas W. Parks . IEEE Transactions on Image Processing . 2005 . 14 . 3 . 360–369 . 10.1109/TIP.2004.838691 . 15762333 . 2005ITIP...14..360H . 37217924 . Thomas W. Parks .
  9. http://www.cybercom.net/~dcoffin/dcraw/ Decoding raw digital photos in Linux
  10. Multi-Frame Demosaicing and Super-Resolution of Color Images . Sina Farsiu . Michael Elad . Peyman Milanfar . IEEE Transactions on Image Processing. 2006. 15. 1. 141–159 . 10.1109/TIP.2005.860336. 16435545 . 2006ITIP...15..141F . 10.1.1.132.7607 . 2989394 .
  11. Demosaicking recognition with applications in digital photo authentication based on a quadratic pixel correlation model . YiZhen Huang . YangJing Long . Proc. IEEE Conference on Computer Vision and Pattern Recognition . 2008 . 1–8 . dead . https://web.archive.org/web/20100617081150/http://pages.cs.wisc.edu/~huangyz/cvpr08_Huang.pdf . 2010-06-17 .