Color space

Comparison of some RGB and CMYK colour gamuts on a CIE 1931 xy chromaticity diagram
A comparison of the chromaticities enclosed by some color spaces.

A color space is the type and number of colors that originate from the combinations of color components of a color model. A color model is an abstract configuration describing how color impression can be created, which consists of color components and rules about how these components interact. The color components have several distinguishing features such as the component type (e.g. hue) and its unit (e.g. degrees, percent) or the type of scale (e.g. linear, non-linear) and its intended number of values referred to as the color depth. "The configuration determines the type and number of colors, which can be created, hence, the resulting color space." 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 system, or structured mathematically, as with 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. In other words, colors of a color space are determined by the component values of a color model in relative terms and only then in absolute terms when combined with a reference to the human vision color space. For completness, it must be added that a "true / absolute" color space requires a specification of the color space's white point and that a screen color space additionally requires a specification of the assumed gamma value.

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. All RGB color spaces have in common the three primary colors (red, green and blue) that mixed in various intensity proportions compose the colors within their colorspaces. Any three wavelengths of light can be mixed in varying proportions to create many different colors but the three primary colors which can be mixed to produce the greatest number of colors are particular wavelengths of red (R), green (G) and blue (B). The specific wavelengths of one R, G and B set give the volume of a specific RGB color space, represented as a cube. Chromaticity (color without regard to intensity) is a function of the ratio between the primaries and when plotted as a function it is known as the 'chromaticity diagram'. In this diagram, the locations of the three primaries are the verticies of a color triangle which is the boundary of the area representing all colors that they can reproduce. Ultimately, any color to be produced by a red-green-blue component system must be specified by those components. In other words, within RGB color spaces, each color can be represented in form of an RGB triplet that can be plotted in a 3D coordinate system known generically as RGB color space and it can be projected in 2D on a chromaticity diagram, but numerically identical RGB triplets can define different colors if additional information about the components is not specified.


    A comparison of CMYK and RGB color models. This image demonstrates the difference between how colors will look on a computer monitor (RGB) compared to how they will reproduce in a CMYK print process.

    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.

    RGB density

    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.


    Additive color mixing: Three overlapping lightbulbs in a vacuum, adding together to create white.
    Subtractive color mixing: Three splotches of paint on white paper, subtracting together to turn the paper black.

    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.

    Common color spaces based on the RGB model include sRGB, Adobe RGB, ProPhoto RGB, scRGB, and CIE RGB.

    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 misidentified 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.

    YPbPr is a scaled version of YUV. It is most commonly seen in its digital form, YCbCr, used widely in video and image compression schemes such as MPEG and JPEG.

    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.




    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.

    CIEXYZ and sRGB are examples of absolute color spaces, as opposed to a generic RGB color space.

    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.

    Arbitrary spaces

    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.

    See also



    External links