Color depth

From Infogalactic: the planetary knowledge core
(Redirected from True Color)
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Color depth, 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.[1][2][3][4] 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.[1][2][3][4] 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 channel (bpc), bits per color (bpc), or bits per sample (bps).[1][2][5] 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.

Indexed color

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

With relatively low color depth, the stored value is typically a number representing the index into a color map or palette. 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 (2 colors) with dithering
2 bits (4 colors)
  • 3-bit color (23 = 8 colors): many early home computers with TV displays, including the ZX Spectrum and BBC Micro
4 bits (16 colors)
  • 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 bits (256 colors)

Old graphics chips, particularly those used in home computers and video game consoles, often feature an additional level of palette mapping in order to increase the maximum number of simultaneously displayed colors. 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.

Direct color

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.[6][7]

8-bit color

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

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[8]), 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)

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

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.[9] 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,[10] which is sometimes considered sufficient to display photographic images.[11]

18-bit

Almost all of the least expensive LCD displays (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,[12] or throw away 6 bits of color information entirely. More expensive LCD displays (typically IPS) can display 24-bit or greater color depth.

True color (24-bit)

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

24 bits (16,777,216 colors, "truecolor")

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 224 or 16,777,216 color variations. The human eye can discriminate up to ten million colors.[13]

"True color" can also refer to an RGB display-mode that does not need a color look-up table (CLUT).[14]

For each pixel, generally one byte is used for each channel while the fourth byte (if present) is being used either as an alpha channel, data, or simply 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).

Even with true color, monochromatic images, which are restricted to 256 levels, owing to their single channel, can sometimes still reveal visible banding artifacts.

True color, like other RGB color models, cannot express colors outside of the gamut of its RGB color space (generally sRGB).

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-bit is allocated to transparency and indicates how transparent is the element to which the color is assigned, when overlaid on other elements.

Deep color (30/36/48-bit)

Deep color consists of a billion or more colors.[15] The xvYCC, sRGB, and YCbCr color spaces can be used with deep color systems.[16]

Deep color supports 30/36/48-bit for three RGB colors. Video cards with 10 bits per one color (30-bit color RGB), started coming into the 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]

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.[18] 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.[19]

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.[citation needed]

Images can have 64-bit pixels with 48-bit color and a 16-bit alpha channel.

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.[2][3][4] 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).[20][21] 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 color 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.[22]

Industry support

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).[16] In that regard, the Nvidia Quadro graphics cards manufactured after 2006 support 30-bit deep color[23] as do some models of the Radeon HD 5900 series such as the HD 5970.[24][25] The ATI FireGL V7350 graphics card supports 40-bit and 48-bit color.[26]

The DisplayPort specification also supports color depths greater than 24 bpp.

At WinHEC 2008, Microsoft announced that color depths of 30 bits and 48 bits would be supported in Windows 7, along with the wide color gamut scRGB (which can be converted to xvYCC output).[27][28]

Television color

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.[citation needed] 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.[29] Mitsubishi and Samsung, among others, use this technology in some TV sets to extend the range of displayable colors.[citation needed] 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. The signals are subject to noise introduced in transmission.

See also

References

  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 2.3 Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 4.2 4.3 4.4 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Pantone, How we see color
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. 16.0 16.1 Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. 30-bit example: BMP file format#Pixel format
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.