A color space is a specific organization of colors. In combination with physical device profiling, it allows for reproducible representations of color, in both analog and digital representations. A color space may be arbitrary, with particular colors assigned to a set of physical color swatches and corresponding assigned names or numbers such as with the Pantone collection, or structured mathematically, as with NCS System, Adobe RGB or sRGB. A color model is an abstract mathematical model describing the way colors can be represented as tuples of numbers (e.g. triples in RGB or quadruples in CMYK); however, a color model with no associated mapping function to an absolute color space is a more or less arbitrary color system with no connection to any globally understood system of color interpretation. Adding a specific mapping function between a color model and a reference color space establishes within the reference color space a definite "footprint", known as a gamut, and for a given color model this defines a color space. For example, Adobe RGB and sRGB are two different absolute color spaces, both based on the RGB color model. When defining a color space, the usual reference standard is the CIELAB or CIEXYZ color spaces, which were specifically designed to encompass all colors the average human can see.
Since "color space" is a more specific term, identifying a particular combination of color model and mapping function, it tends to be used informally to identify a color model, since identifying a color space automatically identifies the associated color model, however this usage is strictly incorrect. For example, although several specific color spaces are based on the RGB color model, there is no such thing as the singular RGB color space.
Colors can be created in printing with color spaces based on the CMYK color model, using the subtractive primary colors of pigment (cyan (C), magenta (M), yellow (Y), and black (K)). To create a three-dimensional representation of a given color space, we can assign the amount of magenta color to the representation's X axis, the amount of cyan to its Y axis, and the amount of yellow to its Z axis. The resulting 3-D space provides a unique position for every possible color that can be created by combining those three pigments.
Colors can be created on computer monitors with color spaces based on the RGB color model, using the additive primary colors (red, green, and blue). A three-dimensional representation would assign each of the three colors to the X, Y, and Z axes. Note that colors generated on given monitor will be limited by the reproduction medium, such as the phosphor (in a CRT monitor) or filters and backlight (LCD monitor).
Another way of creating colors on a monitor is with an HSL or HSV color space, based on hue, saturation, brightness (value/brightness). With such a space, the variables are assigned to cylindrical coordinates.
Many color spaces can be represented as three-dimensional values in this manner, but some have more, or fewer dimensions, and some, such as Pantone, cannot be represented in this way at all.
Color space conversion is the translation of the representation of a color from one basis to another. This typically occurs in the context of converting an image that is represented in one color space to another color space, the goal being to make the translated image look as similar as possible to the original.
The RGB color model is implemented in different ways, depending on the capabilities of the system used. By far the most common general-used incarnation as of 2006 is the 24-bit implementation, with 8 bits, or 256 discrete levels of color per channel. Any color space based on such a 24-bit RGB model is thus limited to a range of 256×256×256 ≈ 16.7 million colors. Some implementations use 16 bits per component for 48 bits total, resulting in the same gamut with a larger number of distinct colors. This is especially important when working with wide-gamut color spaces (where most of the more common colors are located relatively close together), or when a large number of digital filtering algorithms are used consecutively. The same principle applies for any color space based on the same color model, but implemented in different bit depths.
CIE 1931 XYZ color space was one of the first attempts to produce a color space based on measurements of human color perception (earlier efforts were by James Clerk Maxwell, König & Dieterici, and Abney at Imperial College) and it is the basis for almost all other color spaces. The CIERGB color space is a linearly-related companion of CIE XYZ. Additional derivatives of CIE XYZ include the CIELUV, CIEUVW, and CIELAB.
RGB uses additive color mixing, because it describes what kind of light needs to be emitted to produce a given color. RGB stores individual values for red, green and blue. RGBA is RGB with an additional channel, alpha, to indicate transparency.
CMYK uses subtractive color mixing used in the printing process, because it describes what kind of inks need to be applied so the light reflected from the substrate and through the inks produces a given color. One starts with a white substrate (canvas, page, etc.), and uses ink to subtract color from white to create an image. CMYK stores ink values for cyan, magenta, yellow and black. There are many CMYK color spaces for different sets of inks, substrates, and press characteristics (which change the dot gain or transfer function for each ink and thus change the appearance).
YIQ was formerly used in NTSC (North America, Japan and elsewhere) television broadcasts for historical reasons. This system stores a luma value roughly analogous to (and sometimes incorrectly identified as) luminance, along with two chroma values as approximate representations of the relative amounts of blue and red in the color. It is similar to the YUV scheme used in most video capture systems and in PAL (Australia, Europe, except France, which uses SECAM) television, except that the YIQ color space is rotated 33° with respect to the YUV color space and the color axes are swapped. The YDbDr scheme used by SECAM television is rotated in another way.
xvYCC is a new international digital video color space standard published by the IEC (IEC 61966-2-4). It is based on the ITU BT.601 and BT.709 standards but extends the gamut beyond the R/G/B primaries specified in those standards.
HSV (hue, saturation, value), also known as HSB (hue, saturation, brightness) is often used by artists because it is often more natural to think about a color in terms of hue and saturation than in terms of additive or subtractive color components. HSV is a transformation of an RGB colorspace, and its components and colorimetry are relative to the RGB colorspace from which it was derived.
HSL (hue, saturation, lightness/luminance), also known as HLS or HSI (hue, saturation, intensity) is quite similar to HSV, with "lightness" replacing "brightness". The difference is that the brightness of a pure color is equal to the brightness of white, while the lightness of a pure color is equal to the lightness of a medium gray.
- The RG Chromaticity space is used in computer vision applications. It shows the color of light (red, yellow, green etc.), but not its intensity (dark, bright).
- The TSL color space (Tint, Saturation and Luminance) is used in face detection.
Early color spaces had two components. They largely ignored blue light because the added complexity of a 3-component process provided only a marginal increase in fidelity when compared to the jump from monochrome to 2-component color.
Absolute color space
In color science, there are two meanings of the term absolute color space:
- A color space in which the perceptual difference between colors is directly related to distances between colors as represented by points in the color space.
- A color space in which colors are unambiguous, that is, where the interpretations of colors in the space are colorimetrically defined without reference to external factors.
In this article, we concentrate on the second definition.
A non-absolute color space can be made absolute by defining its relationship to absolute colorimetric quantities. For instance, if the red, green, and blue colors in a monitor are measured exactly, together with other properties of the monitor, then RGB values on that monitor can be considered as absolute. The L*a*b* is sometimes referred to as absolute, though it also needs a white point specification to make it so.
A popular way to make a color space like RGB into an absolute color is to define an ICC profile, which contains the attributes of the RGB. This is not the only way to express an absolute color, but it is the standard in many industries. RGB colors defined by widely accepted profiles include sRGB and Adobe RGB. The process of adding an ICC profile to a graphic or document is sometimes called tagging or embedding; tagging therefore marks the absolute meaning of colors in that graphic or document.
A color in one absolute color space can be converted into another absolute color space, and back again, in general; however, some color spaces may have gamut limitations, and converting colors that lie outside that gamut will not produce correct results. There are also likely to be rounding errors, especially if the popular range of only 256 distinct values per component (8-bit color) is used.
One part of the definition of an absolute color space is the viewing conditions. The same color, viewed under different natural or artificial lighting conditions, will look different. Those involved professionally with color matching may use viewing rooms, lit by standardized lighting.
Occasionally, there are precise rules for converting between non-absolute color spaces. For example, HSL and HSV spaces are defined as mappings of RGB. Both are non-absolute, but the conversion between them should maintain the same color. However, in general, converting between two non-absolute color spaces (for example, RGB to CMYK) or between absolute and non-absolute color spaces (for example, RGB to L*a*b*) is almost a meaningless concept.
A different method of defining absolute color spaces is familiar to many consumers as the swatch card, used to select paint, fabrics, and the like. This is a way of agreeing a color between two parties. A more standardized method of defining absolute colors is the Pantone Matching System, a proprietary system that includes swatch cards and recipes that commercial printers can use to make inks that are a particular color.
- William David Wright, 50 years of the 1931 CIE Standard Observer. Die Farbe, 29:4/6 (1981).
- Charles Poynton, "YUV and 'luminance' considered harmful: a plea for precise terminology in video," online, author-edited version of Appendix A of Charles Poynton, Digital Video and HDTV: Algorithms and Interfaces, Morgan–Kaufmann, 2003. online
- Charles Poynton, Constant Luminance, 2004
- Dean Anderson. "Color Spaces in Frame Grabbers: RGB vs. YUV". Retrieved 2008-04-08.
- Hans G. Völz (2001). Industrial Color Testing: Fundamentals and Techniques. Wiley-VCH. ISBN 3-527-30436-3.
- Gunter Buxbaum; Gerhard Pfaff (2005). Industrial Inorganic Pigments. Wiley-VCH. ISBN 3-527-30363-4.
- Jonathan B. Knudsen (1999). Java 2D Graphics. O'Reilly. ISBN 1-56592-484-3.
- Bernice Ellen Rogowitz; Thrasyvoulos N Pappas; Scott J Daly (2007). Human Vision and Electronic Imaging XII. SPIE. ISBN 0-8194-6605-0.
- Yud-Ren Chen; George E. Meyer; Shu-I. Tu (2005). Optical Sensors and Sensing Systems for Natural Resources and Food Safety and Quality. SPIE. ISBN 0-8194-6020-6.
|Wikimedia Commons has media related to Color spaces.|
- Color FAQ, Charles Poynton
- FAQ about color physics, Stephen Westland
- Color Science, Dan Bruton
- Color Spaces, Rolf G. Kuehni (October 2003)
- Colour spaces – perceptual, historical and applicational background, Marko Tkalčič (2003)
- Color formats for image and video processing – Color conversion between RGB, YUV, YCbCr and YPbPr.
- C library of SSE-optimised color format conversions.
- Konica Minolta Sensing: Precise Color Communication