Hubbry Logo
CIELAB color spaceCIELAB color spaceMain
Open search
CIELAB color space
Community hub
CIELAB color space
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something
CIELAB color space
CIELAB color space
from Wikipedia
Optimal colors (theoretical maximum chroma of surfaces) point cloud in CIE Lab, top view
Optimal colors point cloud in CIE Lab, left view
The CIE 1976 (L*, a*, b*) color space (CIELAB), showing only colors that fit within the sRGB gamut (and can therefore be displayed on a typical computer display). Each axis of each square ranges from −128 to 127.

The CIELAB color space, also referred to as L*a*b*, is a color space defined by the International Commission on Illumination (abbreviated CIE) in 1976.[a] It expresses color as three values: L* for perceptual lightness and a* and b* for the four unique colors of human vision: red, green, blue and yellow. CIELAB was intended as a perceptually uniform space, where a given numerical change corresponds to a similar perceived change in color. While the LAB space is not truly perceptually uniform, it nevertheless is useful in industry for detecting small differences in color.

Like the CIEXYZ space it derives from, CIELAB color space is a device-independent, "standard observer" model. The colors it defines are not relative to any particular device such as a computer monitor or a printer, but instead relate to the CIE standard observer which is an averaging of the results of color matching experiments under laboratory conditions.

Coordinates

[edit]

The CIELAB space is three-dimensional and covers the entire gamut (range) of human color perception. It is based on the opponent model of human vision, where red and green form an opponent pair and blue and yellow form an opponent pair. This makes CIELAB a Hering opponent color space. The nature of the transformations also characterizes it as a chromatic value color space. The lightness value, L* (pronounced "L star"), defines black at 0 and white at 100. The a* axis is relative to the green–red opponent colors, with negative values toward green and positive values toward red. The b* axis represents the blue–yellow opponents, with negative numbers toward blue and positive toward yellow.

The lightness value, L* in CIELAB is calculated using the cube root of the relative luminance with an offset near black. This results in an effective power curve with an exponent of approximately 0.43 which represents the human eye's response to light under daylight (photopic) conditions.

The a* and b* axes are unbounded and depending on the reference white they can easily exceed ±150 to cover the human gamut. Nevertheless, software implementations often clamp these values for practical reasons. For instance, if integer math is being used it is common to clamp a* and b* in the range of −128 to 127.

CIELAB is calculated relative to a reference white, for which the CIE recommends the use of CIE Standard illuminant D65.[1] D65 is used in the vast majority of industries and applications, with the notable exception being the printing industry which uses D50. The International Color Consortium largely supports the printing industry and uses D50 with either CIEXYZ or CIELAB in the Profile Connection Space, for v2 and v4 ICC profiles.[2]

While the intention behind CIELAB was to create a space that was more perceptually uniform than CIEXYZ using only a simple formula,[3] CIELAB is known to lack perceptual uniformity, particularly in the area of blue hues.[4]

The sRGB gamut (left) and optimal color solid under D65 illumination (right) plotted within the CIELAB color space. a and b are the horizontal axes; L is the vertical axis.

The asterisks (*) after L*, a*, and b* are pronounced star and are part of the full name to distinguish L*a*b* from Hunter's Lab, described below.

Since the L*a*b* model has three axes, it requires a three-dimensional space to be represented completely.[5] Also, because each axis is non-linear, it is not possible to create a two-dimensional chromaticity diagram. Additionally, the visual representations shown in the plots of the full CIELAB gamut on this page are an approximation, as it is impossible for a monitor to display the full gamut of LAB colors.

Perceptual differences

[edit]

The nonlinear relations for L*, a* and b* are intended to mimic the nonlinear response of the visual system. 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 (with three components: L*, a*, b*) and taking the Euclidean distance between them.[6]

RGB and CMYK conversions

[edit]

In order to convert RGB or CMYK values to or from L*a*b*, the RGB or CMYK data must be linearized relative to light. The reference illuminant of the RGB or CMYK data must be known, as well as the RGB primary coordinates or the CMYK printer's reference data in the form of a color lookup table (CLUT).

In color managed systems, ICC profiles contains these needed data, which are then used to perform the conversions.

Range of coordinates

[edit]

As mentioned previously, the L* coordinate nominally ranges from 0 to 100. The range of a* and b* coordinates is technically unbounded, though it is commonly clamped to the range of −128 to 127 for use with integer code values, though this results in potentially clipping some colors depending on the size of the source color space. The gamut's large size and inefficient utilization of the coordinate space means the best practice is to use floating-point values for all three coordinates.

Advantages

[edit]

Unlike the RGB and CMYK color models, CIELAB is designed to approximate human vision. The L* component closely matches human perception of lightness, though it does not take the Helmholtz–Kohlrausch effect into account. CIELAB is less uniform in the color axes, but is useful for predicting small differences in color.

The CIELAB coordinate space represents the entire gamut of human photopic (daylight) vision and far exceeds the gamut for sRGB or CMYK. In an integer implementation such as TIFF, ICC or Photoshop, the large coordinate space results in substantial data inefficiency due to unused code values. Only about 35% of the available coordinate code values are inside the CIELAB gamut with an integer format.[7]

Using CIELAB in an 8-bit per channel integer format typically results in significant quantization errors. Even 16-bit per channel can result in clipping, as the full gamut extends past the bounding coordinate space. Ideally, CIELAB should be used with floating-point data to minimize obvious quantization errors.

CIE standards and documents are copyrighted by the CIE and must be purchased; however, the formulas for CIELAB are available on the CIE website.[8]

Converting between CIELAB and CIE XYZ coordinates

[edit]

From CIE XYZ to CIELAB

[edit]

where t is or :

X, Y, and Z describe the color stimulus considered and Xn, Yn, Zn describe a specified white achromatic reference illuminant. for the CIE 1931 (2°) standard colorimetric observer and assuming normalization where the reference white has Y = 100, the values are:

For Standard Illuminant D65:

For illuminant D50, which is used in the printing industry:

The division of the domain of the f function into two parts was done to prevent an infinite slope at t = 0. The function f was assumed to be linear below some t = t0 and was assumed to match the part of the function at t0 in both value and slope. In other words:

The intercept f(0) = c was chosen so that L* would be 0 for Y = 0: c = 16/116 = 4/29. The above two equations can be solved for m and t0:

where δ = 6/29.[9]

[10]

From CIELAB to CIEXYZ

[edit]

The reverse transformation is most easily expressed using the inverse of the function f above:

where

and where δ = 6/29.

Cylindrical model

[edit]
The sRGB gamut (left) and optimal color solid under D65 illumination (right) plotted within the CIELCHab color space. L is the vertical axis; C is the cylinder radius; h is the angle around the circumference.

The "CIELCh" or "CIEHLC" space is a color space based on CIELAB, which uses the polar coordinates C* (chroma, colorfulness of the color) and h° (hue angle, angle of the hue in the CIELAB color wheel) instead of the Cartesian coordinates a* and b*. The CIELAB lightness L* remains unchanged.

The conversion of a* and b* to C* and h° is performed as follows:

Conversely, given the polar coordinates, conversion to Cartesian coordinates is achieved with:

The LCh (or HLC) color space is not the same as the HSV, HSL or HSB color models, although their values can also be interpreted as a base color, saturation and lightness of a color. The HSL values are a polar coordinate transformation of what is technically defined RGB cube color space. LCh is still perceptually uniform.

CIELCHab color space from top
CIELCHab 3D color space
L is the vertical axis; C is the cylinder radius; h is the angle around the circumference.

Further, H and h are not identical, because HSL space uses as primary colors the three additive primary colors red, green and blue (H = 0, 120, 240°). Instead, the LCh system uses the four colors red, yellow, green and blue (h = 0, 90, 180, 270°). Regardless the angle h, C = 0 means the achromatic colors (non saturated), that is, the gray axis.

The simplified spellings LCh, LCh(ab), LCH, LCH(ab) and HLC are common, but the letter presents a different order. HCL color space (Hue-Chroma-Luminance) on the other hand is a commonly used alternative name for the L*C*h(uv) color space, also known as the cylindrical representation or polar CIELUV. This name is commonly used by information visualization practitioners who want to present data without the bias implicit in using varying saturation.[11][12] The name Lch(ab) is sometimes used to differentiate from L*C*h(uv).

[edit]

A related color space, the CIE 1976 L*u*v* color space (a.k.a. CIELUV), 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 (CIELChab[13] and CIELChuv, respectively), with the chromaticity components replaced by correlates of chroma and hue.

Since the work on CIELAB and CIELUV, the CIE has been incorporating an increasing number of color appearance phenomena into their models and difference equations to better predict human color perception. These color appearance models, of which CIELAB is a simple example,[14] culminated with CIECAM02.

Oklab is built on the same spatial structure and achieves greater perceptual uniformity.

Usage

[edit]

Some systems and software applications that support CIELAB include:

  • CIELAB is used by Datacolor spectrophotometers, including the related color difference calculations.
  • CIELAB is used by the PantoneLive library.
  • CIELAB is used extensively by X-Rite as a color space with their hardware and software color measuring systems.
  • CIELAB D50 is available in Adobe Photoshop, where it is called "Lab mode".[15][16]
  • CIELAB is available in Affinity Photo by changing the document's Colour Format to "Lab (16 bit)". The white point, which defaults to D50, can be changed by ICC profile.
  • CIELAB D50 is available in ICC profiles as a profile connection space named "Lab color space".[2]
  • CIELAB (any white point) is a supported color space in TIFF image files.[17]
  • CIELAB (any white point) is available in PDF documents, where it is called the "Lab color space".[18][19]
  • CIELAB is an option in Digital Color Meter on macOS described as "L*a*b*".
  • CIELAB is available in the RawTherapee photo editor, where it is called the "Lab color space".[20]
  • CIELAB is used by GIMP for the hue-chroma adjustment filter, fuzzy-select and paint-bucket. There is also a LCh(ab) color picker.[21]
  • Web browser support for CIELAB was introduced as part of CSS Color Module Level 4, and is supported in all major browsers.[22][23]

Hunter Lab

[edit]

Hunter Lab (also known as Hunter L,a,b) is a color space defined in 1948[24][25] by Richard S. Hunter. It was designed to be computed via simple formulas from the CIEXYZ space, but to be more perceptually uniform. Hunter named his coordinates L, a and b.

Hunter Lab was a precursor to CIELAB, created in 1976 by the International Commission on Illumination (CIE), which named the coordinates for CIELAB as L*, a*, b* to distinguish them from Hunter's coordinates.[24][25]

See also

[edit]

Notes

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The CIELAB color space, formally known as CIE 1976 Lab*, is a three-dimensional, device-independent model designed by the (CIE) to quantify colors in a manner that closely approximates human , enabling precise measurement of color differences across the . It features three coordinates: L* for perceptual lightness (ranging from 0 for black to 100 for white), a* for the red-green axis (positive values toward red, negative toward green), and b* for the yellow-blue axis (positive toward yellow, negative toward blue), derived via nonlinear transformations from CIE XYZ tristimulus values to achieve approximate perceptual uniformity. This space is grounded in color-opponent theory, which posits that human vision processes colors along opposing axes rather than independently, allowing CIELAB to encompass the full of perceptible colors while minimizing device-specific biases in representation. Standardized as a joint ISO/CIE publication (ISO 11664-4:2008/E), CIELAB was introduced in 1976 to unify disparate color measurement practices and improve the correlation between numerical color differences—calculated as Euclidean distances in the Lab* space—and visually perceived distinctions, with a goal of equal perceptual steps corresponding to equal metric intervals. Unlike linear RGB or CMYK models tied to specific hardware, CIELAB's device-agnostic nature makes it ideal for applications in , including industrial , , textiles, and food analysis, where accurate cross-media color matching is essential. Its uniformity facilitates metrics like ΔE (), which quantify deviations in a way that aligns with human sensitivity, though later refinements such as CIEDE2000 have addressed minor perceptual nonuniformities in certain regions. Widely adopted since its inception, CIELAB remains a foundational tool in , supported by spectrophotometers and software for converting between color spaces while preserving perceptual intent.

Introduction

Definition and Purpose

The CIELAB color space, formally known as CIE 1976 Lab*, is a three-dimensional Cartesian that represents colors in a device-independent manner to closely mimic human visual perception. It employs three primary coordinates: L* for perceptual , ranging from to ; a* for the opponent channel opposing and hues; and b* for the opponent channel opposing and yellow hues. This structure allows for a comprehensive depiction of all visible colors within a uniform framework. CIELAB is grounded in opponent color theory, which describes how the visual system processes chromatic information through antagonistic pairs—such as versus and versus —alongside achromatic lightness. This theoretical foundation enhances the model's ability to align with biological color processing in the and . The was influenced by the , which emphasized perceptual uniformity in hue, value, and chroma, guiding CIELAB's design toward similar visual equidistance. The core purpose of CIELAB is to provide a perceptually uniform representation, where equal numerical distances in the space correspond approximately to equal perceived color differences, surpassing the limitations of its precursor, the linear CIE XYZ tristimulus space. This uniformity facilitates the computation of color difference metrics, such as ΔE, using simple Euclidean distances to quantify deviations in human vision. Adopted as an by the Commission Internationale de l'Éclairage (CIE) in 1976, CIELAB supports precise color specification, measurement, and reproduction across industries like imaging, textiles, and .

Historical Development

The foundations of the CIELAB color space trace back to early 20th-century efforts in to address the perceptual non-uniformities of the CIE 1931 XYZ system. In the 1930s and 1940s, David L. MacAdam conducted pioneering psychophysical experiments on human color discrimination, demonstrating through MacAdam ellipses that equal distances in the CIE 1931 chromaticity diagram did not correspond to equal perceived color differences. This work highlighted the need for transformed color spaces that better approximated visual uniformity, influencing subsequent developments in opponent-color models. Building on these insights, Richard S. Hunter introduced the Hunter Lab color space in 1948 as an early tristimulus system designed for instrumental color measurement and perceptual uniformity. Hunter's model, computed from CIE XYZ values using square-root transformations, provided a practical framework for industrial applications but exhibited some limitations in regions like dark colors and the blue-yellow axis. These efforts converged with broader CIE initiatives, culminating in the 1964 recommendations for opponent color spaces, including the CIE 1964 UVW* system, which aimed to linearize perceptual differences for color specification and difference calculations. In 1976, the (CIE) formally adopted the CIELAB (Lab*) and CIELUV color spaces as international standards, refining Hunter's approach with cube-root nonlinearities derived from CIE XYZ to enhance perceptual uniformity for diverse viewing conditions. This adoption marked a significant advancement over the 1931 XYZ system, prioritizing applications in color matching and difference assessment across industries. Post-1976 refinements focused on improving color-difference metrics within CIELAB. In 2000, the CIE developed the CIEDE2000 formula (ΔE₀₀), incorporating weighting functions for lightness, chroma, hue, and interactive terms to better align calculated differences with human visual assessments, particularly in blue and neutral regions. This update, formalized in CIE Technical Report 142-2001, addressed residual non-uniformities in the original 1976 ΔE* formula without altering the core Lab* coordinates.

Coordinates and Representation

L*, a*, and b* Components

The CIELAB color space is defined by three coordinates: L*, a*, and b*, which together represent human color perception in a device-independent manner. The L* component quantifies on a scale from 0, corresponding to , to 100, corresponding to , with values in between approximating the nonlinear perception of lightness by the human visual system. This scaling ensures that equal changes in L* correspond more closely to perceived differences in brightness than linear models. The a* component captures the red-green opponent color channel, where positive values indicate shades toward and , while negative values indicate shades toward . Similarly, the b* component represents the blue-yellow opponent channel, with positive values denoting hues and negative values denoting hues. These axes are designed to align with the of , separating chromatic information from lightness. In conceptual visualization, the CIELAB space forms a three-dimensional , with the L* axis oriented vertically to represent levels, and the a* and b* axes lying in the horizontal plane to define , creating a that encompasses the of visible colors. The origin (0,0,0) corresponds to , while the point (100,0,0) represents the reference . Normalization of the L*, a*, and b* components is achieved relative to a specified reference , such as the CIE D65, which defines the neutral axis where a* = 0 and b* = 0 for achromatic colors at any level. This reference ensures consistent color representation across different viewing conditions and illuminants.

Perceptual Uniformity and Differences

The CIELAB color space was designed to achieve approximate perceptual uniformity, such that equal Euclidean distances between points in the L*, a*, b* coordinates correspond to roughly equal perceived color differences for the visual system. This contrasts with linear color spaces like RGB or CIE XYZ, where distances do not align well with perception due to the non-linear response of the to lightness, chroma, and hue variations. The uniformity is grounded in psychophysical experiments that mapped color , revealing elliptical contours of just-noticeable differences ( ellipses) in diagrams, which informed the non-linear transformations used to define L*, a*, and b*. The basic metric for quantifying color differences in CIELAB is the ΔE*, calculated as: ΔE=(ΔL)2+(Δa)2+(Δb)2\Delta E^* = \sqrt{(\Delta L^*)^2 + (\Delta a^*)^2 + (\Delta b^*)^2}
Add your contribution
Related Hubs
Contribute something
User Avatar
No comments yet.