L*A*B and ICC Profiles

Perhaps the most common workflow scenario in digital color printing would be the following: a photo is captured in an RGB color space (from a scanner or digital camera) and subsequently printed on a device using a CMYK color space (or version thereof). To complicate the scenario slightly, we should factor in the RGB color space of the computer monitor on which the image will be displayed and processed. This space will not be the same space as the original RGB space unless we take steps to make them match.


Typical color space conversion challenge scenario


Although an infinite number of variations on this scenario are possible, it describes the basic challenge for a very high percentage of commercial workflows. Simply stated, the problem is how to translate these device-dependent color specifications from the original color space to the output color space and make the final print look as much like the original as possible. What we need is a way to allow these subjective, device-dependent color spaces to communicate.


L*a*b*—The Independent Color Space

The answer is the L*a*b* color space, a device-independent color space that provides a "universal" reference standard. This scientific color model was developed in 1931 by an organization called Commission Internationale de l'Eclarage, better known as CIE.

The CIE L*a*b* space has become the de facto standard by which the various devices and processes used in graphic arts communicate with each other in terms of color information. Think of the L*a*b* space as a multilingual translator. Although one device speaks only RGB and another speaks only CMYK, the L*a*b* translator understands both and facilitates communication.


How L*a*b* Works

Among the ways L*a*b* differs from RGB and CMYK is that it doesn't use a subjective set of primary colors. This means it isn't tied to a specific inkset (as might be found in an inkjet printer) or to a specific type of phosphor (such as those that generate the colors on your monitor screen).

The L*a*b* space describes colors by their position along three axes in 3D color space. The L axis represents the lightness or brightness of the image—a measurement of the white-to-black content of any color. The a axis runs from red to green and the b axis runs from yellow to blue.

Position in the L*a*b* space is defined in the following way:
→ L value from 0 (all black) to 100 (all white)
→ Position on the a axis, a range from -128 (green) to 127 (red)
→ Position on the b axis, a range from -128 (blue) to 127 (yellow)


Any color can be described mathematically by defining its location within this 3D physical space. The L*a*b* values of a color are generated by measuring the color with a colorimeter or spectrophotometer. Differences between colors can be determined in terms of distance between them. This distance is sometimes defined in terms of delta E—the minimum amount of color variation between two shades discernible to the eye.


ICC Color Profiles

A color profile is a description of the numerical relationships between two color spaces. The color profiles we will be discussing are ICC profiles. An ICC profile is a description of a color space in terms of its L*a*b* values. The ICC denomination stands for International Color Consortium, which is a group of eight important corporations in the color business.

Adobe Systems
Agfa Gavaert
Apple Computer
Eastman Kodak
Microsoft Corp.
Silicon Graphics
Sun Microsystems
Color Savvy
Dupont Color Proofing
Fuji Photo Film
Gretag Macbeth
Heidelberg Druckmaschinen
Pantone, Inc.


In one of the more successful inter-corporate cooperative efforts, this organization has established the ICC profile concept as about the only game in town in terms of scientific color management. Although various companies have proprietary implementations of ICC profiles, the standards for ICC color profiles are public property. This is the closest possible thing to a standard in a science as inherently subjective as color.

A color profile may describe several types of color spaces. Perhaps the most familiar is an output profile, which should include all the factors that affect the print. In inkjet printing, for example, a complete output profile incorporates the inkset, printable media, the printer, all its settings and linearization curves, screening patterns and so on.

An input profile may also describe input conditions for RGB, CMYK, or any other color space. Typical input profiles include scanner profiles, monitor or working space profiles, or CMYK profiles for incoming spot colors. For proofing simulation, it is also possible to use an output profile as an input profile.


How Profiles Work

In its simplest form, a profile consists of a series of color tables. The table below, for example, shows sample colors from a hypothetical RGB scanner and the L*a*b* equivalents.


Color RGB  CIE L*A*B
 A Red  203,0,23 50, 71, 54
 A Dark Blue  0,46,160 32, 34, -71
 A Yellow  255,243,0 95, -17, 99
 A Green  0, 139, 74 56, -81, 32


This next table shows the same colors printed in CMYK and measured with a colorimeter.

 A Red  203,0,23 50, 71, 54
 A Dark Blue  0,46,160 32, 34, -71
 A Yellow  255,243,0 95, -17, 99
 A Green  0, 139, 74 56, -81, 32


Combining these tables into a link profile produces the table below. This is essentially how Wasatch SoftRIP assures color accuracy for virtually all of the standard printing scenarios our users are likely to encounter.

203, 0 23 50, 71, 54 0, 100, 91, 0
0, 46, 160 32, 34, -71 100, 69, 0, 0
255, 243, 0 95, -17, 99 6, 0, 91, 0
0, 139, 74 56, -81, 32 100, 0, 79, 0


In practice, an ICC profile is composed of two main components: the header and the tag. The header simply identifies the type of profile. The tag numerically defines the transformation between the target color space and its L*a*b* values. Also included in the profile is the rendering intent, which is the way in which color matching is applied in the image. Our article about rendering intents goes into more detail on this topic.

© Wasatch Computer Technology, LLC 2024 All Rights Reserved