Color depth or colour depth (see spelling differences), also known as bit depth, is either the number of bits used to indicate the color of a single pixel, in a bitmapped image or video frame buffer, or the number of bits used for each color component of a single pixel. For consumer video standards, such as High Efficiency Video Coding (H.265), the bit depth specifies the number of bits used for each color component. When referring to a pixel, the concept can be defined as bits per pixel (bpp), which specifies the number of bits used. When referring to a color component, the concept can be defined as bits per component, bits per channel, bits per color (all three abbreviated bpc), and also bits per pixel component, bits per color channel or bits per sample (bps). Color depth is only one aspect of color representation, expressing how finely levels of color can be expressed (a.k.a. color precision); the other aspect is how broad a range of colors can be expressed (the gamut). The definition of both color precision and gamut is accomplished with a color encoding specification which assigns a digital code value to a location in a color space.
With the relatively low color depth, the stored value is typically a number representing the index into a color map or palette (a form of vector quantization). The colors available in the palette itself may be fixed by the hardware or modifiable within the limits of the hardware (for instance, both color Macintosh systems and VGA-equipped IBM-PCs typically ran at 8-bit due to limited VRAM, but while the best VGA systems only offered an 18-bit (262,144 color) palette from which colors could be chosen, all color Macintosh video hardware offered a 24-bit (16 million color) palette). Modifiable palettes are sometimes referred to as pseudocolor palettes.
- 1-bit color (2 = 2 colors): monochrome, often black and white, compact Macintoshes, Atari ST.
- 2-bit color (2 = 4 colors): CGA, gray-scale early NeXTstation, color Macintoshes, Atari ST.
- 3-bit color (2 = 8 colors): many early home computers with TV displays, including the ZX Spectrum and BBC Micro
- 4-bit color (2 = 16 colors): as used by EGA and by the least common denominator VGA standard at higher resolution, color Macintoshes, Atari ST, Commodore 64, Amstrad CPC.
- 5-bit color (2 = 32 colors): Original Amiga chipset
- 6-bit color (2 = 64 colors): Original Amiga chipset
- 8-bit color (2 = 256 colors): most early color Unix workstations, VGA at low resolution, Super VGA, color Macintoshes, Atari TT, Amiga AGA chipset, Falcon030, Acorn Archimedes.
- 12-bit color (2 = 4096 colors): some Silicon Graphics systems, Color NeXTstation systems, and Amiga systems in HAM mode.
Old graphics chips, particularly those used in home computers and video game consoles, often feature an additional level of palette mapping for individual sprites and tiles in order to increase the maximum number of simultaneously displayed colors, while minimizing use of then-expensive memory (& bandwidth). For example, in the ZX Spectrum, the picture is stored in a two-color format, but these two colors can be separately defined for each rectangular block of 8x8 pixels.
A typical computer monitor and video card may offer 8 bits of color precision (256 output levels) per R/G/B color channel, for an overall 24-bit color space (or 32-bit space, with alpha transparency bits, which have little bearing on the color precision), though earlier standards offered 6 bits per channel (64 levels) or less; the DVD-Video and Blu-ray Disc standards support video with a bit depth of 8-bits per color YCbCr with 4:2:0 chroma subsampling.
A very limited but true direct color system, there are 3 bits (8 possible levels) for each of the R and G components, and the two remaining bits in the byte pixel to the B component (four levels), enabling 256 (8 × 8 × 4) different colors. The normal human eye is less sensitive to the blue component than to the red or green (two thirds of the eye's receptors process the longer wavelengths), so it is assigned one bit less than the others. Used, amongst others, in the MSX2 system series of computers in the early to mid 1990s.
Do not confuse with an indexed color depth of 8bpp (although it can be simulated in such systems by selecting the adequate table).
High color (15/16-bit)
High color supports 15/16-bit for three RGB colors. In 16-bit direct color, there can be 4 bits (16 possible levels) for each of the R, G, and B components, plus optionally 4 bits for alpha (transparency), enabling 4,096 (16 × 16 × 16) different colors with 16 levels of transparency. Or in some systems there can be 5 bits per color component and 1 bit of alpha (32768 colors, just fully transparent or not); or there can be 5 bits for red, 6 bits for green, and 5 bits for blue, for 65536 colors with no transparency. These color depths are sometimes used in small devices with a color display, such as mobile telephones.
Variants with 5 or more bits per color component are sometimes called high color, which is sometimes considered sufficient to display photographic images.
Almost all of the least expensive LCDs (such as typical twisted nematic types) provide 18-bit color (64 × 64 × 64 = 262,144 combinations) to achieve faster color transition times, and use either dithering or frame rate control to approximate 24-bit-per-pixel true color, or throw away 6 bits of color information entirely. More expensive LCDs (typically IPS) can display 24-bit or greater color depth.
True color (24-bit)
True color supports 24-bit for three RGB colors. It provides a method of representing and storing graphical-image information (especially in computer processing) in an RGB color space such that a very large number of colors, shades, and hues can be displayed in an image, such as in high-quality photographic images or complex graphics. Usually, true color is defined to mean 256 shades of red, green, and blue, for a total of 2, or alternately 256, or 16,777,216 color variations. The human eye can discriminate up to ten million colors. Color processing in the eye occurs through retinal cone cells which are of three types, although not corresponding to red, green and blue hues.
"True color" can also refer to an RGB display-mode that does not need a color look-up table (CLUT).
For each pixel, generally one byte is used for each channel while the fourth byte (if present) is used either as an alpha channel, data, or ignored. Byte order is usually either RGB or BGR. Some systems exist with more than 8 bits per channel, and these are often also referred to as true color (for example a 48-bit true-color scanner).
Macintosh systems refer to 24-bit color as "millions of colors".
RGBA color space, or 32-bit color, is a variant of true color in which the additional 8 bits are allocated to transparency and indicate how transparent the element is to which the color is assigned, when overlaid on other elements.
Deep color (30/36/48-bit)
Deep color supports 30/36/48 bits per pixel across three RGB colors, also referred to as 10/12/16 bits per channel/color/component/sample. With an alpha channel of the same precision this becomes 40/48/64 bits per pixel. Video cards with 10 bits per component (30-bit color RGB), started coming to market in the late 1990s. An early example was the Radius ThunderPower card for the Macintosh, which included extensions for QuickDraw and Adobe Photoshop plugins to support editing 30-bit images.
Systems using more than 24 bits in a 32-bit pixel for actual color data exist, but most of them opt for a 30-bit implementation with two bits of padding so that they can have an even 10 bits of color for each channel, similar to many HiColor systems. 10-bit professional video displays are actually providing 10 bits per color channel, and use a value of 95 for black and 685 for white; the values from 685 to 1023 are used for "whiter than white" images like glare, specular highlights, and similar details.
While some high-end graphics workstation systems and the accessories marketed toward use with such systems, as from SGI, have always used more than 8 bits per channel, such as 12 or 16 (36-bit or 48-bit color), such color depths have only worked their way into the general market more recently.
As bit depths climb above 8 bits per channel, some systems use the extra bits to store more intensity range than can be displayed all at once, as in high dynamic range imaging (HDRI). Floating point numbers are numbers in excess of 'full' white and black. This allows an image to accurately depict the intensity of the sun and deep shadows in the same color space for less distortion after intensive editing. Various models describe these ranges, many employing 32-bit accuracy per channel. In 1999 Industrial Light & Magic released the OpenEXR image file format as an open standard that supports 16-bit-per-channel half-precision floating-point numbers.
High Efficiency Video Coding (HEVC) defines the Main 10 profile, which allows for a bit depth of 8-bits to 10-bits per sample with 4:2:0 chroma subsampling. 8-bits per sample allows for 256 shades per primary color (a total of 16.78 million colors) while 10-bits per sample allows for 1024 shades per primary color (a total of 1.07 billion colors). The Main 10 profile was added at the October 2012 HEVC meeting based on proposal JCTVC-K0109 which proposed that a 10-bit profile be added to HEVC for consumer applications. The proposal stated that this was to allow for improved video quality and to support the Rec. 2020 color space that will be used by UHDTV. The second version of HEVC has five profiles that allow for a bit depth of 8-bits to 16-bits per sample.
The HDMI 1.3 specification defines bit depths of 30 bits (1.073 billion colors), 36 bits (68.71 billion colors), and 48 bits (281.5 trillion colors). In that regard, the Nvidia Quadro graphics cards manufactured after 2006 support 30-bit deep color as do some models of the Radeon HD 5900 series such as the HD 5970. The ATI FireGL V7350 graphics card supports 40-bit and 48-bit color.
The DisplayPort specification also supports color depths greater than 24 bpp.
Virtually all television displays and computer displays form images by varying the strength of just three primary colors: red, green, and blue. For example, bright yellow is formed by roughly equal red and green contributions, with little or no blue contribution.
Increasing the number of color primaries can increase the color gamut that a display can reproduce, although whether this results in a difference to the human eye is not yet proven, since humans are trichromats. Recent technologies such as Texas Instruments's BrilliantColor augment the typical red, green, and blue channels with up to three other primaries: cyan, magenta and yellow. Mitsubishi and Samsung, among others, use this technology in some TV sets to extend the range of displayable colors. The Sharp Aquos line of televisions has introduced Quattron technology, which augments the usual RGB pixel components with a yellow subpixel. See also list of color palettes.
Analog CRTs, whether color or monochrome, use continuous voltage signals which do not have a fixed number of intensities.