Jump to content

Color depth

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 192.73.22.253 (talk) at 02:07, 29 September 2005 (Beyond Truecolor). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Color depth is a computer graphics term describing the number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer. This concept is also known as bits per pixel (bpp), particularly when specified along with the number of bits used. Higher color depth gives a broader range of distinct colors.

Indexed color

File:Indexed palette.png
A 2-bit indexed-color image. The color of each pixel is represented by a number; each number corresponds to a color in the palette.

With relatively low color depth, the stored value is typically an index into a color map or palette. The colors available in the palette itself may be fixed by the hardware or modifiable.

  • 1-bit color (21 = 2 colors) monochrome, often black and white
  • 2-bit color (22 = 4 colors) CGA
  • 4-bit color (24 = 16 colors) as used by EGA and by the least common denominator VGA standard at higher resolution
  • 8-bit color (28 = 256 colors) VGA at low resolution, Super VGA

Direct color

As the number of bits increases, the number of possible colors becomes impractically large for a color map. In higher color depths, the color value typically directly encodes relative brightnesses of red, green, and blue to specify a color in the RGB color model.

HiColor

HiColor or Highcolor is considered sufficient to provide life-like colors, and is encoded using either 15 or 16 bits:

  • 15-bit color uses 5 bits to represent red, 5 bits to represent blue, and 5 bits to represent green. 25 = 32 levels of each of these three colour can therefore be combined to give a total of 32,768 mixed colours (32 x 32 x 32 = 32,768)
  • 16-bit color uses 5 bits to represent red, 5 bits to represent blue, but (since the human eye is more sensitive to the color green) uses 6 bits to represent 64 levels of green. These can therefore be combined to give 65,536 mixed colours (32 x 32 x 64 = 65,536)

Truecolor

Truecolor can frequently mimic many colors found in the real world, producing 16.7 million distinct colors. This approaches the level at which the human eye can distinguish colors for most photographic images, though image manipulation, some black-and-white images (which are restricted to 256 levels with Truecolor) or "pure" generated images may reveal the limitations.

  • 24-bit Truecolor uses 8 bits to represent red, 8 bits to represent blue, and 8 bits to represent green. 28 = 256 levels of each of these three colour can therefore be combined to give a total of 16,777,216 mixed colours (256 x 256 x 256).

32-bit color

"32-bit color" is a misnomer when regarding display color depth. A common misconception is that 32-bit color produces 4,294,967,296 distinct colors.

In reality, 32-bit color actually refers to 24-bit color (Truecolor) with an additional 8 bits either as empty padding space or to represent an alpha channel. Considering red, green, and blue use the same amount of bits for their respective color (with the exception of 16-bit color), the total bits used will be a multiple of 3: like 15-bit color (5 bits each) and 24-bit color (8 bits each). The reason for using empty space is that all but the newest modern computers process data internally in units of 32 bits; as such, using this amount for each pixel can allow optimizations.

Beyond Truecolor

Professional-quality image manipulation and image generation software has started to employ 16 bits per color channel internally in recent years. While the 8 extra bits are not visible on-screen, they provide protection against accumulating rounding errors when multiple manipulations are performed on a picture, such as modifying image brightness and/or contrast.

Many high-quality scanners and a few high-priced graphics cards are able to recognize or show more than 8 bits per color channel as well. 10 bits per channel seem to be enough to reach the absolute limits of human vision under almost all circumstances.

For extended dynamic range imaging, including High Dynamic Range Imaging (HDRI), floating point numbers are used to describe numbers in excess of 'full' white and black. This allows an image to describe accurately the intensity of the sun and deep shadows in the same colour space. Various models are used to describe these ranges, many employing 32 bit accuracy per channel.

Selection of color depth

In graphics intensive applications such as computer games, a tradeoff of performance and quality can be achieved by raising or lowering the color depth of the display; graphics with lower color depths do not require as much frame buffer memory or display bandwidth, allowing them to be generated and displayed more quickly. Increasing color depth results in higher color quality at the expense of display speed and responsiveness.

See also