Colour depth or colour depth (see spelling differences), also known as bit depth, is either the number of bits used to indicate the colour of a single pixel, in a bitmapped image or video framebuffer, or the number of bits used for each colour component of a single pixel. For consumer video standards, the bit depth specifies the number of bits used for each colour component.[1][2][3][4] When referring to a pixel, the concept can be defined as bits per pixel (bpp). When referring to a colour component, the concept can be defined as bits per component, bits per channel, bits per colour (all three abbreviated bpc), and also bits per pixel component, bits per colour channel or bits per sample (bps).[1][2][5]

Colour depth is only one aspect of colour representation, expressing the precision with which the amount of each primary can be expressed; the other aspect is how broad a range of colours can be expressed (the gamut). The definition of both colour precision and gamut is accomplished with a colour encoding specification which assigns a digital code value to a location in a colour space.

The number of bits of resolved intensity in a colour channel is also known as radiometric resolution, especially in the context of satellite images.[6]

Comparison

Indexed colour

With the relatively low colour depth, the stored value is typically a number representing the index into a colour map or palette (a form of vector quantization). The colours available in the palette itself may be fixed by the hardware or modifiable by software. Modifiable palettes are sometimes referred to as pseudocolour palettes.

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 colours, while minimizing use of then-expensive memory (and bandwidth). For example, in the ZX Spectrum the picture is stored in a two-colour format, but these two colours can be separately defined for each rectangular block of 8×8 pixels.

The palette itself has a colour depth (number of bits per entry). While the best VGA systems only offered an 18-bit (262,144 colour) palette from which colours could be chosen, all colour Macintosh video hardware offered a 24-bit (16 million colour) palette. 24-bit palettes are pretty much universal on any recent hardware or file format using them.

If instead the colour can be directly figured out from the pixel values, it is "direct colour". Palettes were rarely used for depths greater than 12 bits per pixel, as the memory consumed by the palette would exceed the necessary memory for direct colour on every pixel.

List of common depths

1-bit colour

2 colours, often black and white (or whatever colour the CRT phosphor was) direct colour. Sometimes 1 meant black and 0 meant white, the inverse of modern standards. Most of the first graphics displays were of this type, the X window system was developed for such displays, and this was assumed for a 3M computer. The first Macintoshes, Atari ST high resolution. In the late 80's there were professional displays with resolutions up to 300dpi (the same as a contemporary laser printer) but colour proved more popular.

2-bit colour

4 colours, usually from a selection of fixed palettes. The CGA, grey-scale early NeXTstation, colour Macintoshes, Atari ST medium resolution.

3-bit colour

8 colours, almost always all combinations of full-intensity red, green, and blue. Many early home computers with TV displays, including the ZX Spectrum and BBC Micro.

4-bit colour

16 colours, usually from a selection of fixed palettes. Used by the EGA and by the least common denominator VGA standard at higher resolution, colour Macintoshes, Atari ST low resolution, Commodore 64, Amstrad CPC.

5-bit colour

32 colours from a programmable palette, used by the Original Amiga chipset.

8-bit colour

256 colours, usually from a fully-programmable palette. Most early colour Unix workstations, VGA at low resolution, Super VGA, colour Macintoshes, Atari TT, Amiga AGA chipset, Falcon030, Acorn Archimedes. Both X and Windows provided elaborate systems to try to allow each program to select its own palette, often resulting in incorrect colours in any window other than the one with focus.

Some systems placed a colour cube in the palette for a direct-colour system (and so all programs would use the same palette). Usually fewer levels of blue were provided than others, as 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[7]) Popular sizes were:

  • 6×6×6 (web-safe colours), leaving 40 colours for a grey ramp or programmable palette entries.
  • 8×8×4. 3 bits of R and G, 2 bits of B, the correct value can be computed from a colour without using multiplication. Used, among others, in the MSX2 system series of computers in the early to mid 1990s.
  • a 6×7×6 cube, leaving 4 colours for a programmable palette or greys.
  • a 6×8×5 cube, leaving 16 colours for a programmable palette or greys.

12-bit colour

4096 colours, usually from a fully-programmable palette (though it was often set to a 16×16×16 colour cube). Some Silicon Graphics systems, Colour NeXTstation systems, and Amiga systems in HAM mode.

High colour (15/16-bit)

In high-colour systems, two bytes (16 bits) are stored for each pixel. Most often, each component (R, G, and B) is assigned five bits, plus one unused bit (or used for a mask channel or to switch to indexed colour); this allows 32,768 colours to be represented. However, an alternate assignment which reassigns the unused bit to the G channel allows 65,536 colours to be represented, but without transparency.[8] These colour depths are sometimes used in small devices with a colour display, such as mobile phones, and are sometimes considered sufficient to display photographic images.[9] Occasionally 4 bits per colour are used plus 4 bits for alpha, giving 4096 colours.

The term "high colour" has recently been used to mean colour depths greater than 24 bits.

18-bit

Almost all of the least expensive LCDs (such as typical twisted nematic types) provide 18-bit colour (64×64×64 = 262,144 combinations) to achieve faster colour transition times, and use either dithering or frame rate control to approximate 24-bit-per-pixel true colour,[10] or throw away 6 bits of colour information entirely. More expensive LCDs (typically IPS) can display 24-bit colour depth or greater.

True colour (24-bit)

File:16777216colours.png
All 16,777,216 colours (downscaled, click image for full resolution)

24 bits almost always use 8 bits each of R, G, and B. As of 2018, 24-bit colour depth is used by virtually every computer and phone display[citation needed] and the vast majority of image storage formats. Almost all cases of 32 bits per pixel assigns 24 bits to the colour, and the remaining 8 are the alpha channel or unused.

224 gives 16,777,216 colour variations. The human eye can discriminate up to ten million colours[11] 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 colours in human perception space, so humans can see the changes between some adjacent colours as colour banding. Monochromatic images set all three channels to the same value, resulting in only 256 different colours and thus, potentially, more visible banding, as the average human eye can only distinguish between about 30 shades of grey.[12] Some software attempts to dither the grey level into the colour channels to increase this, although in modern software this is more often used for subpixel rendering to increase the space resolution on LCD screens where the colours have slightly different positions.

The DVD-Video and Blu-ray Disc standards support a bit depth of 8 bits per colour in YCbCr with 4:2:0 chroma subsampling.[13][14] YCbCr can be losslessly converted to RGB.

Macintosh systems refer to 24-bit colour as "millions of colours". The term true colour is sometimes used to mean what this article is calling direct colour.[15] It is also often used to refer to all colour depths greater or equal to 24.

Deep colour (30-bit)

Deep colour consists of a billion or more colours.[16] 230 is approximately 1.073 billion. Usually this is 10 bits each of red, green, and blue. If an alpha channel of the same size is added then each pixel takes 40 bits.

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, for example, used this. Some SGI systems had 10- (or more) bit digital-to-analog 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 "HiColour" by Microsoft.

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.[17] Some vendors call their 24-bit colour depth with FRC panels 30-bit panels; however, true deep colour displays have 10-bit or more colour depth without FRC.

The HDMI 1.3 specification defines a bit depth of 30 bits (as well as 36 and 48 bit depths).[18] In that regard, the Nvidia Quadro graphics cards manufactured after 2006 support 30-bit deep colour[19] and Pascal or later GeForce and Titan cards when paired with the Studio Driver[20] as do some models of the Radeon HD 5900 series such as the HD 5970.[21][22] The ATI FireGL V7350 graphics card supports 40- and 64-bit pixels (30 and 48 bit colour depth with an alpha channel).[23]

The DisplayPort specification also supports colour 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 colour space and allows increased resolutions and colour depths and reduced power consumption."[24]

At WinHEC 2008, Microsoft announced that colour depths of 30 bits and 48 bits would be supported in Windows 7, along with the wide colour gamut scRGB.[25][26]

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.[2][3][4][27][28] 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.[4] The proposal stated that this was to allow for improved video quality and to support the Rec. 2020 colour space that will be used by UHDTV.[4] The second version of HEVC has five profiles that allow for a bit depth of 8 bits to 16 bits per sample.[29]

As of 2020, some smartphones have started using 30-bit colour depth, such as the OnePlus 8 Pro, Oppo Find X2 & Find X2 Pro, Sony Xperia 1 II, Xiaomi Mi 10 Ultra, Motorola Edge+, ROG Phone 3 and Sharp Aquos Zero 2.

36-bit

Using 12 bits per colour channel produces 36 bits, approximately 68.71 billion colours. If an alpha channel of the same size is added then there are 48 bits per pixel.

48-bit

Using 16 bits per colour channel produces 48 bits, approximately 281.5 trillion colours. If an alpha channel of the same size is added then there are 64 bits per pixel.

Image editing software such as Photoshop started using 16 bits per channel fairly early in order to reduce the quantization on intermediate results (i.e. if an operation is 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). In addition, digital cameras were able to produce 10 or 12 bits per channel in their raw data; as 16 bits is the smallest addressable unit larger than that, using it would allow the raw data to be manipulated.

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 colours brighter than the display could show, as in high-dynamic-range imaging (HDRI). Negative numbers can increase the gamut to cover all possible colours, 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.[30] The amplified signal tended to reduce the lifetime of the CRT.

Linear colour 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 (in the context of computer graphics) much easier. However, linear colour results in disproportionately more samples near white and fewer near black, so the quality of 16-bit linear is about equal to 12-bit sRGB.

Floating point numbers can represent linear light levels spacing the samples semi-logarithmically. Floating point representations also allow for drastically larger dynamic ranges as well as negative values. Most systems first supported 32-bit per channel single-precision, which far exceeded the accuracy required for most applications. In 1999, Industrial Light & Magic released the open standard image file format OpenEXR which supported 16-bit-per-channel half-precision floating-point numbers. At values near 1.0, half precision floating point values have only the precision of an 11-bit integer value, leading some graphics professionals to reject half-precision in situations where the extended dynamic range is not needed.

More than three primaries

Virtually all television displays and computer displays form images by varying the strength of just three primary colours: red, green, and blue. For example, bright yellow is formed by roughly equal red and green contributions, with no blue contribution.

Additional colour primaries can widen the colour gamut of a display, since it is no longer limited to the shape of a triangle in the CIE 1931 colour space. Recent technologies such as Texas Instruments's BrilliantColour augment the typical red, green, and blue channels with up to three other primaries: cyan, magenta and yellow.[31] Mitsubishi and Samsung, among others, use this technology in some TV sets to extend the range of displayable colours.[citation needed] The Sharp Aquos line of televisions has introduced Quattron technology, which augments the usual RGB pixel components with a yellow subpixel. However, formats and media supporting these extended colour primaries are extremely uncommon.

For storing and working on images, it is possible to use "imaginary" primary colours 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.[32]

See also

References

  1. ^ a b G.J. Sullivan; J.-R. Ohm; W.-J. Han; T. Wiegand (May 25, 2012). "Overview of the High Efficiency Video Coding (HEVC) Standard" (PDF). IEEE Transactions on Circuits and Systems for Video Technology. Retrieved May 18, 2013.
  2. ^ a b c G.J. Sullivan; Heiko Schwarz; Thiow Keng Tan; Thomas Wiegand (August 22, 2012). "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 May 18, 2013.
  3. ^ a b "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)". JCT-VC. January 17, 2013. Retrieved May 18, 2013.
  4. ^ a b c d Alberto Dueñas; Adam Malamy (October 18, 2012). "On a 10-bit consumer-oriented profile in High Efficiency Video Coding (HEVC)". JCT-VC. Retrieved May 18, 2013.
  5. ^ "After Effects / Colour basics". Adobe Systems. Retrieved July 14, 2013.
  6. ^ Thenkabail, P. (2018). Remote Sensing Handbook - Three Volume Set. Remote Sensing Handbook. CRC Press. p. 20. ISBN 978-1-4822-8267-2. Retrieved August 27, 2020.
  7. ^ Pantone, How we see colour
  8. ^ Edward M. Schwalb (2003). iTV handbook: technologies and standards. Prentice Hall PTR. p. 138. ISBN 978-0-13-100312-5.
  9. ^ David A. Karp (1998). Windows 98 annoyances. O'Reilly Media. p. 156. ISBN 978-1-56592-417-8.
  10. ^ Kowaliski, Cyril; Gasior, Geoff; Wasson, Scott (July 2, 2012). "TR's Summer 2012 system guide". The Tech Report. p. 14. Retrieved January 19, 2013.
  11. ^ D. B. Judd and G. Wyszecki (1975). Colour in Business, Science and Industry. Wiley Series in Pure and Applied Optics (third ed.). New York: Wiley-Interscience. p. 388. ISBN 0-471-45212-2.
  12. ^ "Humans Can Only Distinguish Between About 30 Shades Of Grey". Popular Science. Retrieved December 10, 2019.
  13. ^ Clint DeBoer (April 16, 2008). "HDMI Enhanced Black Levels, xvYCC and RGB". Audioholics. Retrieved June 2, 2013.
  14. ^ "Digital Colour Coding" (PDF). Telairity. Archived from the original (PDF) on January 7, 2014. Retrieved June 2, 2013.
  15. ^ Charles A. Poynton (2003). Digital Video and HDTV. Morgan Kaufmann. p. 36. ISBN 1-55860-792-7.
  16. ^ Keith Jack (2007). Video demystified: a handbook for the digital engineer (5th ed.). Newnes. p. 168. ISBN 978-0-7506-8395-1.
  17. ^ "Radius Ships ThunderPower 30/1920 Graphics Card Capable of Super Resolution 1920 × 1080 and Billions of Colours". Business Wire. August 5, 1996.
  18. ^ "HDMI Specification 1.3a Section 6.7.2". HDMI Licensing, LLC. November 10, 2006. Archived from the original on July 10, 2009. Retrieved April 9, 2009.
  19. ^ "Chapter 32. Configuring Depth 30 Displays (driver release notes)". NVIDIA.
  20. ^ "NVIDIA Studio Driver 431.70 (Release Highlights)". NVIDIA.
  21. ^ "ATI Radeon HD 5970 Graphics Feature Summary". AMD. Retrieved March 31, 2010.
  22. ^ "AMD's 10-bit Video Output Technology" (PDF). AMD. Archived from the original (PDF) on February 16, 2010. Retrieved March 31, 2010.
  23. ^ Smith, Tony (March 20, 2006). "ATI unwraps first 1GB graphics card". Archived from the original on October 8, 2006. Retrieved October 3, 2006.
  24. ^ "Looking for a HDMI 2.0 displayport to displayport for my monitor - [Solved] - Displays". Tom's Hardware. Retrieved March 20, 2018.
  25. ^ "WinHEC 2008 GRA-583: Display Technologies". Microsoft. November 6, 2008. Archived from the original on December 27, 2008. Retrieved December 4, 2008.
  26. ^ "Windows 7 High Colour Support". Softpedia. November 26, 2008. Retrieved December 5, 2008.
  27. ^ Carl Furgusson (June 11, 2013). "Focus on...HEVC: The background behind the game-changing standard- Ericsson". Ericsson. Archived from the original on June 20, 2013. Retrieved June 21, 2013.
  28. ^ Simon Forrest (June 20, 2013). "The emergence of HEVC and 10-bit colour formats". Imagination Technologies. Archived from the original on September 15, 2013. Retrieved June 21, 2013.
  29. ^ 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 (July 11, 2014). "Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extensions". JCT-VC. Retrieved July 11, 2014.
  30. ^ "8-bit vs. 10-bit Colour Space" (PDF). January 2010.
  31. ^ Hutchison, David (April 5, 2006). "Wider colour gamuts on DLP display systems through BrilliantColour technology". Digital TV DesignLine. Archived from the original on September 28, 2007. Retrieved August 16, 2007.
  32. ^ "Is Tetrachromacy Real? Definition, Causes, Test, and More". Healthline. Retrieved October 4, 2019.