Subpixel rendering

From Wikipedia, the free encyclopedia

Subpixel rendering is used to increase the apparent resolution of a computer's display. It takes advantage of the fact that each pixel on a color liquid crystal display (LCD) or similar is composed of individual red, green, and blue subpixels with different locations, so that the color also causes the image to shift in space.

A simulation of subpixel rendering.

A single pixel on a color display is made of several components, sometimes called subpixels, typically three arraged left-to-right as red, green, blue (RGB). The components are easily visible when viewed with a small magnifying glass, such as a loupe. These pixel components appear as a single color to the human eye because of blurring by the optics and spatial integration by nerve cells in the eye. However the eye is much more sensitive to the location. Therefore turning on the GB of one pixel and the R of the next one to the right will produce a white dot but it will appear to be 1/3 of a pixel to the right of the white dot that you would from the RGB of the first pixel.

Subpixel rendering takes advantage of this to provide 3x the horizontal resolution of the rendered image, though it has to blur this image some in order to produce the correct color by making sure the same amount of red, green, and blue are turned on as when no subpixel rendering is being done.

"Aa" rendered in subpixel. The previous image, with the R, G and B channel separated and animated.

Examples of pixel geometry, showing various arrangements of pixels and subpixels, which must be considered for subpixel rendering. LCD displays consisting of red, green, and blue subpixels (bottom right is the most typical example) are best suited to subpixel rendering.

Subpixel rendering requires the software to know the layout of the subpixels. The most common reason it is wrong is monitors that can be rotated 90 (or 180) degrees, though monitors are manufactured with other arrangements of the subpixels, such as BGR or in triangles, or with 4 colors like RGBW squares. On any such display the result of incorrect subpixel rendering will be worse than if no subpixel rendering was done at all (it will not produce color artifacts, but it will produce noisy edges).

Subpixel rendering is virtually impossible on a CRT, it would require knowing where the electron beam for each pixel hits the display's aperture grille with far greater precision than variations in typical beam steering electronics and magnets.

Subpixel rendering does not help once the resolution of the display gets so high the user cannot perceive the positioning changes. Many modern cell phones, and Apple Retina displays, do not do it.