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 by software. Modifiable palettes are sometimes referred to as pseudocolor palettes.
- 1-bit color (21 = 2 colors): monochrome, often black and white, compact Macintoshes, Atari ST.
- 2-bit color (22 = 4 colors): CGA, gray-scale early NeXTstation, color Macintoshes, Atari ST.
- 3-bit color (23 = 8 colors): many early home computers with TV displays, including the ZX Spectrum and BBC Micro
- 4-bit color (24 = 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 (25 = 32 colors): Original Amiga chipset
- 6-bit color (26 = 64 colors): Original Amiga chipset
- 8-bit color (28 = 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 (212 = 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 have the ability to use a different palette per 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.
The palette itself has a color depth (number of bits per entry). 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. 24-bit palettes are pretty much universal on any recent hardware or file format using them.
If pixels contain more than 12 bits, an indexed palette takes more memory than the pixels (for typical screen sizes and palette depths), so such systems tend to directly specify the color directly in the pixel.
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 (32,768 colors, just fully transparent or not); or there can be 5 bits for red, 6 bits for green, and 5 bits for blue, for 65,536 colors with no transparency. These color depths are sometimes used in small devices with a color display, such as mobile telephones, and is sometimes considered sufficient to display photographic images.
The term "high color" has recently been used to mean color depths greater than 24 bits.
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)
24 bits almost always uses 8 bits of each of R, G, B. As of 2018 24-bit color depth is used by virtually every computer and phone display and the vast majority of image storage formats. Almost all cases where there are 32 bits per pixel mean that 24 are used for the color, and the remaining 8 are the alpha channel or unused.
224 gives 16,777,216 color variations. The human eye can discriminate up to ten million colors and since the gamut of a display is smaller than the range of human vision, this means this should cover that range with more detail than can be perceived. However displays do not evenly distribute the colors in human perception space so humans can see the changes between some adjacent colors as color banding. Monochromatic images set all three channels to the same value, resulting in only 256 different colors and thus more visible banding. Some software attempts to dither the gray level into the color channels to increase this, although in modern software this is much more used for subpixel rendering to increase the space resolution on LCD screens where the colors have slightly different positions.
Macintosh systems refer to 24-bit color as "millions of colors". The term "True color" is sometime used to mean what this article is calling "Direct color". It is also often used to refer to all color depths greater or equal to 24.
Deep color (30/36/48-bit)
Deep color consists of a billion or more colors, 230 is 1.073 billion. Color depths of 30, 36, and 48 bits per pixel are in use, also referred to as 10, 12, or 16 bits per RGB channel/sample/component. Often an alpha channel of the same size is added, resulting in 40, 48, or 64 bits used for each pixel. Video cards with 10 bits per component 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.
Some earlier systems placed three 10-bit channels in a 32-bit word, with 2 bits unused (or used as a 4-level alpha channel). The Cineon file format that was popular for motion pictures used this. Some SGI systems had 10 (or more) bit D/A converters for the video signal and could be set up to interpret data stored this way for display. BMP files define this as one of its formats, and it is called "HiColor" by Microsoft.
Image editing software such as Photoshop started using 16 bits per channel fairly early. The primary reason this was done was to reduce the quantization on intermediate results (if an operation divided by 4 and then multiplied by 4, it would lose the bottom 2 bits of 8-bit data, but if 16 bits were used it would lose none of the 8-bit data). Digital cameras were able to produce 10 or 12 bits per channel in their raw data, and 16 bits is the smallest addressable unit that was larger than this and would allow raw data to be worked with. Unfortunately these systems did not take advantage of 16 bits for high dynamic range, and some assign almost mystical capabilities to 16 bits that are not actually true.
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 in version 1.3 through "VESA Display Stream Compression, which uses a visually lossless low-latency algorithm based on predictive DPCM and YCoCg-R color space and allows increased resolutions and color depths and reduced power consumption."
High Efficiency Video Coding (HEVC or H.265) defines the Main 10 profile, which allows for 8- or 10-bits per sample with 4:2:0 chroma subsampling. 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.
High Dynamic Range and Wide Gamut
Some systems started using those bits for numbers outside the 0-1 range rather than for increasing the resolution. Numbers greater than 1 were for colors brighter than the display could show, as in high dynamic range imaging (HDRI). Negative numbers can increase the gamut to cover all possible colors, and for storing the results of filtering operations with negative filter coefficients. The Pixar Image Computer used 12 bits to store numbers in the range [-1.5,2.5), with 2 bits for the integer portion and 10 for the fraction. The Cineon imaging system used 10-bit professional video displays with the video hardware adjusted so that a value of 95 was black and 685 was white, the amplified signal tended to reduce the lifetime of the CRT.
Linear Color Space and Floating Point
More bits also encouraged the storage of light as linear values, where the number directly corresponds to the amount of light emitted. Linear levels makes calculation of light much easier. Unfortunately if you stick to integers it also makes there be far too many samples near white, and far too few near black, so the quality of 16-bit linear is about equal to 12-bit sRGB.
Floating point numbers can represent linear light levels but the samples are spaced semi-logarithmically, and they can also represent HDR and negative values and a huge dynamic range (ratio between white and dimmest non-zero color). Starting in 1993 or so floating point hardware exceeded the speed of integer math so it became practical to use them. Most systems first used 32-bit per channel single-precision as this is what the hardware supported. This far exceeds the accuracy required for human-viewed images, and 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. Graphics hardware is now designed to support this format. Near 1.0 half precision only has the precision of an 11-bit integer, which has led some graphics professionals to reject it, but most consider this a far better use of 16 bits than the traditional Photoshop usage.
More than 3 primaries
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, as you are not limited to a triangle where the corners are all physically realizable colors, but instead some shape with more sides. 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.
For storing and working on images, it is possible to use "imaginary" primary colors that are not physically possible so that the triangle does enclose a much larger gamut, so whether more than three primaries results in a difference to the human eye is not yet proven, since humans are primarily trichromats, though tetrachromats exist.
- G.J. Sullivan; J.-R. Ohm; W.-J. Han; T. Wiegand (2012-05-25). "Overview of the High Efficiency Video Coding (HEVC) Standard" (PDF). IEEE Transactions on Circuits and Systems for Video Technology. Retrieved 2013-05-18.
- G.J. Sullivan; Heiko Schwarz; Thiow Keng Tan; Thomas Wiegand (2012-08-22). "Comparison of the Coding Efficiency of Video Coding Standards – Including High Efficiency Video Coding (HEVC)" (PDF). IEEE Trans. on Circuits and Systems for Video Technology. Retrieved 2013-05-18.
- "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)". JCT-VC. 2013-01-17. Retrieved 2013-05-18.
- Alberto Dueñas; Adam Malamy (2012-10-18). "On a 10-bit consumer-oriented profile in High Efficiency Video Coding (HEVC)". JCT-VC. Retrieved 2013-05-18.
- "After Effects / Color basics". Adobe Systems. Retrieved 2013-07-14.
- Pantone, How we see color
- Edward M. Schwalb (2003). iTV handbook: technologies and standards. Prentice Hall PTR. p. 138. ISBN 978-0-13-100312-5.
- David A. Karp (1998). Windows 98 annoyances. O'Reilly Media. p. 156. ISBN 978-1-56592-417-8.
- Kowaliski, Cyril; Gasior, Geoff; Wasson, Scott (July 2, 2012). "TR's Summer 2012 system guide". The Tech Report. p. 14. Retrieved January 19, 2013.
- D. B. Judd and G. Wyszecki (1975). Color in Business, Science and Industry. Wiley Series in Pure and Applied Optics (third ed.). New York: Wiley-Interscience. pp. 388. ISBN 0-471-45212-2.
- Clint DeBoer (2008-04-16). "HDMI Enhanced Black Levels, xvYCC and RGB". Audioholics. Retrieved 2013-06-02.
- "Digital Color Coding" (PDF). Telairity. Retrieved 2013-06-02.
- Charles A. Poynton (2003). Digital Video and HDTV. Morgan Kaufmann. p. 36. ISBN 1-55860-792-7.
- Keith Jack (2007). Video demystified: a handbook for the digital engineer (5th ed.). Newnes. p. 168. ISBN 978-0-7506-8395-1.
- "Radius Ships ThunderPower 30/1920 Graphics Card Capable of Super Resolution 1920 × 1080 and Billions of Colors". Business Wire. 1996-08-05.
- "HDMI Specification 1.3a Section 6.7.2". HDMI Licensing, LLC. 2006-11-10. Retrieved 2009-04-09.
- "Chapter 32. Configuring Depth 30 Displays (driver release notes)". NVIDIA.
- "ATI Radeon HD 5970 Graphics Feature Summary". AMD. Retrieved 2010-03-31.
- "AMD's 10-bit Video Output Technology" (PDF). AMD. Archived from the original (PDF) on 2010-02-16. Retrieved 2010-03-31.
- Smith, Tony (20 March 2006). "ATI unwraps first 1GB graphics card". Retrieved 2006-10-03.
- "Looking for a HDMI 2.0 displayport to displayport for my monitor - [Solved] - Displays". Tom's Hardware. Retrieved 2018-03-20.
- "WinHEC 2008 GRA-583: Display Technologies". Microsoft. 2008-11-06. Archived from the original on 2008-12-27. Retrieved 2008-12-04.
- "Windows 7 High Color Support". Softpedia. 2008-11-26. Retrieved 2008-12-05.
- Carl Furgusson (2013-06-11). "Focus on...HEVC: The background behind the game-changing standard- Ericsson". Ericsson. Retrieved 2013-06-21.
- Simon Forrest (2013-06-20). "The emergence of HEVC and 10-bit colour formats". Imagination Technologies. Retrieved 2013-06-21.
- Jill Boyce; Jianle Chen; Ying Chen; David Flynn; Miska M. Hannuksela; Matteo Naccari; Chris Rosewarne; Karl Sharman; Joel Sole; Gary J. Sullivan; Teruhiko Suzuki; Gerhard Tech; Ye-Kui Wang; Krzysztof Wegner; Yan Ye (2014-07-11). "Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extensions". JCT-VC. Retrieved 2014-07-11.
- "8-bit vs. 10-bit Color Space" (PDF). January 2010.
- Hutchison, David (5 April 2006). "Wider color gamuts on DLP display systems through BrilliantColor technology". Digital TV DesignLine. Archived from the original on 28 September 2007. Retrieved 2007-08-16.