A Lab color space is a color-opponent space with dimension L for lightness and a and b
for the color-opponent dimensions, based on nonlinearly compressed CIE XYZ color space
coordinates.
The dimensions of the Hunter 1948 L, a, b color space are L, a, and b.
However, Lab is now more often used as an informal abbreviation for the CIE 1976 color
space.
The difference between Hunter and CIE color coordinates is that the CIE coordinates are
based on a cube root transformation of the color data, while the Hunter coordinates are
based on a square root transformation.
Both spaces are derived from the "master" space CIE 1931 XYZ color space, which can
predict which spectral power distributions will be perceived as the same color, but which
is not particularly perceptually uniform.
Strongly influenced by the Munsell color system, the intention of both "Lab" color spaces is
to create a space that can be computed via simple formulas from the XYZ space but is
more perceptually uniform than XYZ.
Perceptually uniform means that a change of the same amount in a color value should produce
a change of about the same visual importance.
When storing colors in limited precision values, this can improve the reproduction of tones.
Both Lab spaces are relative to the white point of the XYZ data they were converted
from.
Lab 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.
The lightness correlate in CIELAB is calculated using the cube root of the relative luminance.
The L*a*b* color space includes all perceivable colors, which means that its gamut exceeds
those of the RGB and CMYK color models.
One of the most important attributes of the L*a*b*-model is device independence.
This means that the colors are defined independent of their nature of creation or the device
they are displayed on.
The L*a*b* color space is used when graphics for print have to be converted from RGB to
CMYK, as the L*a*b* gamut includes both the RGB and CMYK gamut.
Also it is used as an interchange format between different devices as for its device independency.
Advantages
Unlike the RGB and CMYK color models, Lab color is designed to approximate human vision.
It aspires to perceptual uniformity, and its L component closely matches human perception
of lightness, although it does not take the Helmholtz–Kohlrausch effect into account.
Thus, it can be used to make accurate color balance corrections by modifying output curves
in the a and b components, or to adjust the lightness contrast using the L component.
In RGB or CMYK spaces, which model the output of physical devices rather than human visual
perception, these transformations can be done only with the help of appropriate blend modes
in the editing application.
Because Lab space is much larger than the gamut of computer displays, printers, or even
human vision, a bitmap image represented as Lab requires more data per pixel to obtain
the same precision as an RGB or CMYK bitmap.
In the 1990s, when computer hardware and software were limited to storing and manipulating mostly
8-bit/channel bitmaps, converting an RGB image to Lab and back was a very lossy operation.
With 16-bit/channel and floating-point support now common, the loss due to quantization is
negligible.
In addition, many of the "colors" within Lab space fall outside the gamut of human vision,
and are therefore purely imaginary; these "colors" cannot be reproduced in the physical
world.
Though color management software, such as that built into image editing applications,
will pick the closest in-gamut approximation, changing lightness, chroma, and sometimes
hue in the process, author Dan Margulis claims that this access to imaginary colors is useful,
going between several steps in the manipulation of a picture.
Differentiation Some specific uses of the abbreviation in
software, literature etc.
In Adobe Photoshop, image editing using "Lab mode" is CIELAB D50.
In ICC profiles, the "Lab color space" used as a profile connection space is CIELAB D50.
In TIFF files, the CIELAB color space may be used.
In PDF documents, the "Lab color space" is CIELAB.
CIELAB CIE L*a*b* is the most complete color space
specified by the International Commission on Illumination.
It describes all the colors visible to the human eye and was created to serve as a device-independent
model to be used as a reference.
The three coordinates of CIELAB represent the lightness of the color, its position between
red/magenta and green and its position between yellow and blue.
The asterisk after L, a and b are pronounced star and are part of the full name, since
they represent L*, a* and b*, to distinguish them from Hunter's L, a, and b, described
below.
Since the L*a*b* model is a three-dimensional model, it can be represented properly only
in a three-dimensional space.
Two-dimensional depictions include chromaticity diagrams: sections of the color solid with
a fixed lightness.
It is crucial to realize that the visual representations of the full gamut of colors in this model
are never accurate; they are there just to help in understanding the concept.
Because the red-green and yellow-blue opponent channels are computed as differences of lightness
transformations of cone responses, CIELAB is a chromatic value color space.
A related color space, the CIE 1976 color space, preserves the same L* as L*a*b* but
has a different representation of the chromaticity components.
CIELAB and CIELUV can also be expressed in cylindrical form, with the chromaticity components
replaced by correlates of chroma and hue.
Since CIELAB and CIELUV, the CIE has been incorporating an increasing number of color
appearance phenomena into their models, to better model color vision.
These color appearance models, of which CIELAB is a simple example, culminated with CIECAM02.
Perceptual differences The nonlinear relations for L*, a*, and b*
are intended to mimic the nonlinear response of the eye.
Furthermore, uniform changes of components in the L*a*b* color space aim to correspond
to uniform changes in perceived color, so the relative perceptual differences between
any two colors in L*a*b* can be approximated by treating each color as a point in a three-dimensional
space and taking the Euclidean distance between them.
RGB and CMYK conversions There are no simple formulas for conversion
between RGB or CMYK values and L*a*b*, because the RGB and CMYK color models are device-dependent.
The RGB or CMYK values first must be transformed to a specific absolute color space, such as
sRGB or Adobe RGB.
This adjustment will be device-dependent, but the resulting data from the transform
will be device-independent, allowing data to be transformed to the CIE 1931 color space
and then transformed into L*a*b*.
Range of coordinates As mentioned previously, the L* coordinate
ranges from 0 to 100.
The possible range of a* and b* coordinates is independent of the color space that one
is converting from, since the conversion below uses X and Y, which come from RGB.
CIELAB-CIEXYZ conversions Forward transformation
where
Here, Xn, Yn and Zn are the CIE XYZ tristimulus values of the reference white point.
The division of the domain of the f(t) function into two parts was done to prevent an infinite
slope at t = 0.
f(t) was assumed to be linear below some t = t0, and was assumed to match the t1/3 part
of the function at t0 in both value and slope.
In other words:
The intercept f(0) = b was chosen so that L* would be 0 for Y = 0: b = 16/116 = 4/29.
The above two equations can be solved for a and t0:
where δ = 6/29.
Reverse transformation The reverse transformation is most easily
expressed using the inverse of the function f above:
where
Hunter Lab L is a correlate of lightness, and is computed
from the Y tristimulus value using Priest's approximation to Munsell value:
where Yn is the Y tristimulus value of a specified white object.
For surface-color applications, the specified white object is usually a hypothetical material
with unit reflectance that follows Lambert's law.
The resulting L will be scaled between 0 and 100; roughly ten times the Munsell value.
Note that a medium lightness of 50 is produced by a luminance of 25, since
a and b are termed opponent color axes.
a represents, roughly, Redness versus Greenness.
It is computed as:
where is a coefficient that depends upon the illuminant and is the X tristimulus value
of the specified white object.
The other opponent color axis, b, is positive for yellow colors and negative for blue colors.
It is computed as:
where Kb is a coefficient that depends upon the illuminant and Zn is the Z tristimulus
value of the specified white object.
Both a and b will be zero for objects that have the same chromaticity coordinates as
the specified white objects.
The name for the system is an attribution to Richard S. Hunter.
Approximate formulas for Ka and Kb In the previous version of the Hunter Lab
color space, Ka was 175 and Kb was 70.
Hunter Associates Lab discovered that better agreement could be obtained with other color
difference metrics, such as CIELAB by allowing these coefficients to depend upon the illuminants.
Approximate formulae are:
which result in the original values for Illuminant C, the original illuminant with which the
Lab color space was used.
As an Adams chromatic valence space Adams chromatic valence color spaces are based
on two elements: a uniform lightness scale, and a uniform chromaticity scale.
If we take as the uniform lightness scale Priest's approximation to the Munsell Value
scale, which would be written in modern notation:
and, as the uniform chromaticity coordinates:
where ke is a tuning coefficient, we obtain the two chromatic axes:
and
which is identical to the Hunter Lab formulas given above if we select K = Ka/100 and ke
= Kb/Ka.
Therefore, the Hunter Lab color space is an Adams chromatic valence color space.
See also Color theory
HSL and HSV RGB color model
CMYK color model References
External links Demonstrative color conversion applet
CIELAB Color Space by Gernot Hoffmann, includes explanations of L*a*b* conversion formulae,
graphical depictions of various gamuts plotted in L*a*b* space, and PostScript code for performing
the color transformations.
Color Differences