The CIELAB color space is a color space where equal distances are used to represent threshold or suprathreshold perceived color differences of equal size. In other words, the same amount of numerical change corresponds to roughly the same amount of visually perceived change.
CIELAB is one of the most widely used color spaces, as it can be used to specify and/or evaluate colors.
It was defined by the International Commission on Illumination (CIE) back in 1976. The color space expresses color as three values: L* for the lightness from black (0) to white (100), a* from green (−) to red (+), and b* from blue (−) to yellow (+). CIELAB was designed so that the same amount of numerical change in these values corresponds to roughly the same amount of visually perceived change.
With respect to a given white point, the CIELAB model is device-independent—it defines colors independently of how they are created or displayed. The CIELAB color space is typically used when graphics for print have to be converted from RGB to CMYK, as the CIELAB gamut includes both the gamuts of the RGB and CMYK color models.
Because three parameters are measured, the color space itself is a three-dimensional real number space, which allows for infinitely many possible colors. In practice, the color space is usually mapped onto a three-dimensional integer space for digital representation, and thus the L*, a*, and b* values are usually absolute, with a pre-defined range. The lightness value, L*, represents the darkest black at L* = 0, and the brightest white at L* = 100. The color channels, a* and b*, represent true neutral gray values at a* = 0 and b* = 0. The a* axis represents the green–red component, with green in the negative direction and red in the positive direction. The b* axis represents the blue-yellow component, with blue in the negative direction and yellow in a positive direction. The scaling and limits of the a* and b* axes will depend on the specific implementation, as described below, but they often run in the range of ±100 or −128 to +127 (signed 8-bit integer).
The CIELAB color space was derived from the prior "master" CIE 1931 XYZ color space, which predicts which spectral power distributions will be perceived as the same color (see metamerism), but is not particularly perceptually uniform. Strongly influenced by the Munsell color system, the intention behind CIELAB was to create a space that can be computed via simple formulas from the CIEXYZ space but is more perceptually uniform than CIEXYZ. When storing color values using limited precision, using a perceptually uniform color space can improve the reproduction of tones.
CIELAB colors are defined relative to the white point of the CIEXYZ space from which they were converted; thus CIELAB values do not define absolute colors unless the white point is also specified. Often, in practice, the white point is assumed to follow a standard and is not explicitly stated (e.g., for "absolute colorimetric" rendering intent, the International Color Consortium L*a*b* values are relative to CIE standard illuminant D50, while they are relative to the unprinted substrate for other rendering intents).
The lightness correlates in CIELAB are calculated using the cube root of the relative luminance.