You are on page 1of 23

Gernot Hoffmann

Color Management by ICC Profiles

Contents
1. Introduction 2
2. Color Spaces 2
3. Working Space RGB to CIELab 2
4. RGB to CIELab / Details 3
5. Chromatic Adaptation 4
6. Adaptation Illustrations 7
7. Color Shifts in the CIE Chromaticity Diagram 10
8. ICC CMYK to CIELab 12
9. ICC CIELab to CMYK 12
10. ICC Rendering Intents 13
11. ICC-Absolute Colorimetric Rendering Intent 14
12. Media-Relative Colorimetric Rendering Intent 15
13. Perceptual Rendering Intent 16
14. Saturation Rendering Intent 17
15. CIELab and sRGB for L*= 30, 50, 70 18
16. CIELab and sRGB Grayscale 21
17. References 22

Settings for Acrobat


Edit / Preferences / General / Page Display (since version 6)
Custom Resolution 72 dpi / View by zoom 100% or 200%
Edit / Preferences / General / Color Management (full version only)
sRGB
Euroscale Coated or ISO Coated or SWOP
Gray Gamma 2.2


1. Introduction
This is an attempt to explain the workflow in ICC profiles [13], laying emphasis on white point transforms and
the practical consequences. Thanks to the authors of text books and other publications (see References).

2. Color Spaces
CIE XYZ is the only device independent color space - physical colors are described by three coordinates XYZ.
RGB working spaces, RGB monitor spaces, CMYK spaces, CIELu’v’ and CIELab depend on some informa-
tions how the respective space is embedded in XYZ. In this sense these spaces can be considered as fictitious
devices.
An emissive color is described uniquely by XYZ. A reflective surface does not have a color, but together with a
light specification the reflected light has a color with three coordinates XYZ.
Light is specified by a spectrum, but often it is sufficient to know the white point Xw,Yw,Zw in XYZ, mostly normal-
ized for Yw=1 (or 100). The color temperature is always a correlated color temperatur - the value T on the locus
for all color temperatures of the Planckian radiator, as found by the shortest distance in CIELu’v’.
CIELab is the Profile Connection Space, the intermediate source space for the conversion to CMYK.
For the sake of simplicity we are using here a D65 RGB source space and D50 proofing light for print products.
ICC does not restrict color management to these cases. Furtheron we are considering working space RGB and
monitor RGB as synonyms in the context of D65 white point discussions.

3. Working Space RGB to CIELab


An RGB working space is defined by the chromaticity coordinates for the primaries, the white point (WP) and
additionally the Tone Reproduction Curve (TRC, gamma). The values R=(R,G,B) are already transformed into a
linear space and normalized for RGB = 0...1. Let us assume WP D65. This means: emissive light for R=G=B is
in XYZ on a line through the WP D65 and the origin of the coordinate system XYZ.

The physical source values Xs =(X,Y,Z) in CIE XYZ for R =(R,G,B) are calculated by a matrix multiplication.
X and R are column matrices, written in text for convenience as rows.

Xs = Cxr R

The matrix Cxr uses the information about primaries and WP. Many matrices are found in [11] and [12].
CIELab is just another coordinate system. Besides the general law for the transformation we have to define the
orientation of the axes L,a,b (asterisks omitted) in XYZ.
Axis (a) is aligned with X, axis (b) with -Z, but for axis (L) we have a degree of freedom: this axis points to the
Reference White, here WP D50. If the viewing light is also D50, as usual for graphics art, then we have two diffe­
rent visual viewing white points: D65 and D50. Human adaptation is taken into account by a chromatic adaptation
transform (or transformation) CAT, assuming the respective adaptation states.
This CAT is defined by a matrix T, which is either the Wrong von Kries transform Kw, the von Kries transform K
or the Bradford transform B. CAT is applied in advance to the CIELab conversion. The index (s) means source,
(d) means destination.

Xd = T Xs

The next step is the correction for paper white by a diagonal matrix P:

Xp = P Xd

The conversion to CIELab is executed by two steps. First the conversion to Reference White by a matrix multi-
plication with Rw-1 = diag (1/Xw50, 1/Yw50, 1/Zw50):

Xc = Rw-1 Xp

Then we have a nonlinear transform to L = (L,a,b), here written without asterisks and abbreviated by three func-
tions F=(FL,Fa,Fb):

L = F(Xc)

4. RGB to CIELab / Details

This is the complete transform, but without paper white.

Generic gamma correction, g= 2.2, R=R,G,B

R = R’g

sRGB gamma correction, R=R,G,B

 R’ / 2.92 i f R’ ≤ 0.03928 
R =  2.4 
((0.055 + R’) / .055) else 

RGB to XYZ ( same white point D65, source)

Xs = C xr R

RGB to XYZ (new white point D50, destination)

CAT, use T = K w , T = K or T = B

Xd = T Xs

X d to L*a*b* (reference white matrix R −w for X w50 )

/ X w 50 0 0 
Xc = R −w Xd =  0 / Yw 50 0  Xd
 0 0 / Z w 50 

 X c 3 i f X c > 0.008856 
X =  
7.787 X + 6 6 else 

 Yc 3 i f Yc > 0.008856 


Y =  
7.787 Yc + 6 6 else 

 Z c 3 i f Z c > 0.008856 
Z =  
7.787 Zc + 6 6 else 

L* = 6 Y − 6
a* = 500 ( X − Y )
b* = 200 ( Y − Z )


5.1 Chromatic Adaptation / General
Chromatic adaptation is not easily explained. This is a definition by [2]:
The Human Color-Imaging System
Chromatic adaptation refers to adjustments of the visual mechanism in response to the average chromaticity
of the stimulus (or collection of stimuli) to which the eyes are exposed.
For example, when exposed sufficiently long to a reddish-yellow stimulus, such as a tungsten light, the eye’s
longer-wavelength-sensitive receptors become somewhat desensitized and its shorter-wavelength-sensitive
receptors become relatively more sensitive.
(The white-balance adjustment of a video camera, described earlier, is an approximate emulation of this process.)
Chromatic adaptation helps the visual system interpret objects despite changes in the color of the illuminant.
So a white flower generally will be recognized as white, regardless of the spectral composition of the illuminant
under which it is viewed.
The adaptation may not be complete, however, depending on the type of illumination that is used, the absolute
level of that illumination, the extent to which the illumination fills the visual field, and certain other factors.
For example, light from a dim tungsten lamp will continue to appear somewhat orange, even after the observer
has had ample opportunity to adapt to it.

Let us start with an experiment, the two portraits in chapter 6.1. It is assumed that the images are viewed on a
calibrated monitor, D65 and near to sRGB. The upper image should look as expected: neutrally gray background
and realistic skin colors, somewhat tanned. The lower image was numerically converted for a D50 background.
It looks obviously too yellowish. Then blow up the lower image, remove all menue areas and wait for a while.
The image will look less yellowish, but a yellow tint is still perceivable. There is adaptation, but it is not comple-
te.
The next hypothetical test is this: an image with considerably large neutrally gray areas is edited on a calibrated
monitor, D65 and near to sRGB (or color-corrected by using the monitor profil in Photoshop). It is assumed that
the operator is completely adapted to D65. There is no guarantee that the adaptation state is really D65, because
images can be colorful and the surround light may differ from D65 (in fact it is defined as D50 by sRGB).
The image is printed by a calibrated printer for viewing light D50, as usual. It is assumed that the observer is
adapted to D50. Again - no guarantee that the adaptation state is really D50, because the print is colorful and
because the environment can contain other colored objects. Nevertheless we assume complete adaptation.
Neutrally gray areas for D65 will appear neutrally gray for D50. In the whole process, the image had to be conver-
ted colorimetrically for D50, the reference white in CIELab, based on the assumption of complete adaptation.
Now we may expect that the adaptation would work as well for the colored parts. That is: the whole print under
D50 should look like the monitor image for D65 (but a direct comparison is impossible). If this would be so, then
it is called here a Perfect Adaptation (which contains already the complete adaptation). The necessary colori-
metrical transform is called PAT, Perfect Adaptation Transform.
Tests by scientists have shown that the adaptation is not perfect. Nevertheless it is assumed that the adaptation
is complete, but small color shifts have to be corrected. This correction is here called ACT, Adaptation Correction
Transform.
The PAT is applied by the Wrong von Kries transform, using a diagonal matrix Kw, according to the mathematics
on the next page. This is entirely based on CIE colorimetry, without any further tests. It is assumed that the cones
perform a perfect adaptation. Modelling the cone response functions is therefore not required (in fact these are
implicitly defined by the color matching functions).
The ACT is the second part of a CAT, Chromatic Adaptation Transform. The CAT is executed either by the (true)
Von Kries transform or by the linearized Bradford transform. Bradford is the standard for ICC profiles.
The CAT is a matrix operation, here by T, which is the Von Kries matrix K or the Bradford matrix B. The CAT matrix
is found by analyzing the cone response functions (Von Kries) and somewhat improved by tests (Bradford).
Now we can decompose B =CKw and find C =BKw -1. Matrix C describes the Adaptation Correction Transform
for the Bradford CAT (chapter 7.2).
The author was not able to prove the truth of the Bradford ACT by practical examples. A final clarification seems
to be impossible, therefore we can focus our attention now to the mathematical part of the Chromatic Adaptation
Transform.
This happens from Xs to Xd in CIE XYZ, where (s) stands for source image in D65 RGB and (d) for destination,
e.g. for the Bradford CAT. In other words: the CAT has nothing to do with CIELab, but it requires already the
definition of the viewing light for the paper product (more accurate: the adaptation state). This is D50 and the
CIELab conversion is done for Reference White D50 as well.


5.2 Chromatic Adaptation / von Kries Hypothesis
The cones in the eye contain three different sensors: L for long wavelength, M for medium and and S for short.
These are occasionally called ρ,γ,β or even R,G,B.
It is assumed that cone signals are linear functions of CIE XYZ values. As a consequence, the spectral sensitivity
functions are linearly related to the color matching functions by the same matrix Mcx:
L  X
M = Mcx Y
 S   Z 

 L(λ)  x(λ)
M(λ) = Mcx  y(λ)
 S(λ)  z(λ)

The von Kries hypothesis says that each cone type has its own gain control which depends on the adapted white.
The source white is here D65, index sw. The destination white is here D50, index nw.
The gain matrix D is calculated by the ratios of the destination white and source white cone values. The last
equation shows for clarity the transform from D65 to D50, though the von Kries hypothesis is more general.

 L sw 
C sw = Msw  = Mcx X sw
 Ssw 

 L dw 
C dw = Mdw  = Mcx X dw
 Sdw 

L dw / L sw 0 0 
D =  0 Mdw / Msw 0 
 0 0 Sdw / Ssw 

Cd = DC s

−
Xd = Mcx D Mcx X s = T X s

−
T = Mcx D Mcx

XD50 = T XD65

5.3 Chromatic Adaptation / Three CATs


5.3.1 Wrong von Kries CAT
The cone sensitivities are linear combinations of the color matching 2.0

functions. .8

The most simple assumption is Mcx = I, the identity matrix. The cone .6
sensitivy functions are identical with the color matching functions.
.4
This does not depend on real cone features. The assumption is simply
that the cone gain control works perfectly. .2
S M L
.0

 X w 50 / X w65 0 0  0.8
T = Kw =  0 Yw 50 / Yw65 0 
 0 0 Z w 50 / Z w65 
0.6

0.4
.046 0.0 0.00 
=  0.0 .0 0.0  0.2

 0.0 0.0 0.7576 0.0


380 420 460 500 540 580 620 λ 660 nm 700


5.3 Chromatic Adaptation / Three CATs cont.
5.3.2 Von Kries CAT

The special matrix Mcx is mentioned in several books, for instance 2.0

[2],[6]. It seems to be the generic von Kries matrix and it is used .8

for CAT02 as well. The author was not able to find the original .6
­source.
.4

 +0.4002 +0.7076 −0.0808 .2


S M L
Mcx =  −0.2263 +.653 +0.0457
 0.0 0.0 +0.982
.0

0.8

 +.06 +0.0553 −0.0522 0.6

T = K =  +0.0060 +0.9956 −0.002 0.4


 0.00 0.0 +0.7576 0.2

0.0
380 420 460 500 540 580 620 λ 660 nm 700

5.3.3 Bradford CAT

This matrix Mcx creates somewhat sharpened cone sensitivity 2.0

functions which have partly negative values (why should these be .8

good candidates for cone functions ?). Originally, the third channel .6
contains a nonlinearity, and the input vector should be scaled by
.4
Ys, [1]. Below is the linearized version, and the scaling is obsolete
for Ys =1 (or 100, depending on the definition)). Bradford CAT is the .2
S M L
standard for ICC profiles and for CAT97, which is now replaced by .0
CAT02. 0.8

 +0.895 +0.2664 −0.64 0.6

Mcx =  −0.7502 +.735 +0.0367 0.4


 +0.0389 −0.0685 +.0296
0.2

0.0
 +.0479 +0.0229 −0.0502 380 420 460 500 540 580 620 λ 660 nm 700

T = B =  +0.0296 +0.9904 −0.07


 −0.0092 +0.05 +0.759

5.4 Chromatic Adaptation / Geometrical Interpretation


Perhaps this 2D visualization can shed some light on the transforms. The nonlinearity of the CIELab conversion
is replaced by simpli­fied linear relations, visualized in XZ of XYZ.
XYZ is mostly drawn as a cartesian coordinate system. RGB is then a non-orthogonal vector base in XYZ.
For CIELab, the axis (a) is in X-direction. Axis (b) is in negative Z-direction. Axis (L) points into the direction of
the Reference White, here WP D50 [15].
Z
B
Without CAT, a monitor gray D65 for R=G=B=119 would deliver WPD65
CIELab values L= 50, a=-2, b=-10. This happens for rendering intent
Absolute Colorimetric. WPD50
C
With CAT the monitor gray delivers CIELab values L=50, a=0, b=0. CAT is
ax
This is so for rendering intent Relative Colorimetric. For grays we L-
have only a PAT as shown in the graphic. PAT

An arbitrary color C is converted by a PAT (Perfect Adaptation Trans- Gray a<0


ACT
form) and then additionally by an ACT (Adaptation Correction Trans- D65
b<0
form), altogether executed by a CAT. PAT a R
How is this printed ? So that it looks alike the monitor image, but a Gray
D50
direct comparison is impossible, because eye and brain cannot adapt
simultaneously to monitor white D65 and viewing light D50. b
X


6.1 Adaptation Illustrations / Test Images D65 / D50

D65
How to use the lower
image by Acrobat:
Ctrl+L Full screen
Ctrl+H Hand tool
Ctrl++ Zoom in
After a while of adap-
tation the image will not
look as yellow

D50


6.2 Adaptation Illustrations / Comparison for CATs / Wrong von Kries
CIELab values for an IT8 target were converted to sRGB (out of gamut marked by dot). The upper
image shows the result for Reference White D50 and the Wrong von Kries transform. The lower image
for Reference White D65 without CAT. No differences in Photoshop, as expected.

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
8.8 8.8 2.7 8.6 38.4 38.9 39.5 39.5 69.0 69.3 69.4 69.6 93.0 9.9 92.9 9.5 9.5 92.9 9.8 8.4 9.9 28.5
A .2
2.9
23.6
6.5
33.4
9.6
27.7 5.0 29.3 43.2 62.4
7.6 4.2 9.8 5. 20.2
7.8 4.4 2. 29.2 -0.9
3.2 5.3 7.4 0.2 -0.5 -2.0
.4 -.3
.6
.4
-0.
.3
0.0
-.3
.8
.8
-2.0
6.9 27.5 4.9
.2 20.3 33.9
A
8.8 8.9 8.7 9.7 38.4 39.0 39.7 39.7 69.3 69.4 69.5 69.6 90. 88.4 92. 85.0 86.8 89. 85.3 4.4 25.7 55.7
B 8.6
7.2
7.2
4.9
2.2
7.2
22.9 5.5 27.7 42.2 59.7
9.2 3.0 24.5 37.2 5.0
7.2 3. 8.7 26.5 -6.7
6.9 .8 6.7 24.6 -3.9 -6.0
7.9 -2.6
0.5
0.0
.2
6.9
4.4
-8.6
7.0
2.2 7.2 37.5 22.8
-9.4 .4 29.3 2.3
B
23.7 23.5 25.2 23.6 53.7 54.0 54.7 54.5 74.5 74.6 74.5 74.9 86.9 83.8 9.4 77.0 8.5 85. 78.3 .2 47.7 62.5
C 3.9
9.7
7.6
7.9
0.7
24.2
9.4 9.2 7.9 26.3 28.9
2.8 20.6 4.4 60.9 65.5
4.7 8.4 2.3 6.8 -  2.3 5.9
.3 20.3 29.7 4.0 -7.7 -  0.9
-3.4
9.6
0.5
.2
3.7
7.6
-  5.4
.
3.9
-  6.7
7.5 32.9 6.5
5.9 35.4 8.8
C
23.5 23.3 25.9 23.5 58.7 58.9 59.2 59.0 79.8 79.8 79.9 80. 83. 79.3 90.3 68.5 76.0 80.5 7.3 37.9 5.7 66.
D -0.8
9.
-.
7.7
-0.7
23.9
-0.8 -0.4 -. -2.4 -.2
20.7 20.7 40.2 59.7 68.
0.4 -0.2 -0.4 -2.3 -  7.9 23.7
.0 23. 33.0 82.9 -  .6 -  5.5
-3.8
29.7
0.4
.2
20.
.9
- 2 2.
5.6
5.2 26.6 7.5 .3
- 2 3.7 30.9 4.9 9.6
D
23.3 23.2 26. 23. 43.2 43.4 43.9 43.7 69.3 69. 69. 69. 79. 74.4 89.4 60.7 70.8 75.6 63.7 47.5 43.5 57.0
E -5.3
8.6
-  0.5
6.6
-  3.9
22.7
-  .9 -7.6 -  5.9 - 2 4.7 - 2 7.2
8.9 3.9 27.2 40.9 44.9
-4.6 -8.8 -  2.6 - 2 9.2 - 2 3.2 3.7
9.6 6.7 24.8 5.7 -  5.6 - 2 0.
-3.8
38.5
0.0
.
26.5
5.
- 2 8.2
9.
7.3 40.0 20.8 2.2
- 3 0.5 57.7 40.7 35.9
E
3.9 3.9 6.7 3.7 33.0 33.2 33.9 33.7 69.0 69.0 69.0 68.8 75. 69.3 88.3 52.7 65.3 70.8 56.2 55.9 6.5 65.5
F -8.9
2.2
-  7.2
5.2
- 2 2.9
6.7
-  7.6 -  3.0 - 2 6.3 - 4 0.7 - 5 .5
5. 4.5 8.7 4.4 8.2
-6.0 -  .4 -  7.2 - 3 7.4 - 2 7.7 39.7
3.2 4.7 6.6 2.4 -  9.3 - 2 4.5
-3.2
48.4
0.4
0.9
32.9
9.3
- 3 3.9
22.7
9.7 8.8 6.5 3.7
- 3 6.7 2.8 34.4 28.2
F
8.5 8.7 20.6 8.7 37.7 37.7 38.7 38.5 69.3 69.0 69. 68.9 70.8 64.5 87. 44.5 60.2 65.6 48.7 64.4 63.5 7.8
G -9.9
-2.3
-  9.
-3.4
- 2 5.7
-4.6
- 2 2.9 -  2.3 - 2 4. - 3 8.4 - 4 9.2
-4.3 -3. -4.3 -5.4 -8.4
-6. -  2.8 -  8.7 - 3 6.9 - 3 2.0 47.0
-0.8 -2.2 -4.0 -6.8 - 2 2.9 - 2 8.2
-2.3
57.4
-0.
0.8
38.7
23.7
- 3 9.4
25.7
2.5 9.8 0.6 4.6
- 4 2.9 28.7 42.5 87.3
G
8.5 8.6 20. 8.6 37.9 37.7 38.9 39.2 69.0 69.0 68.9 69. 66.8 59.5 86.0 37.2 55.2 60.9 4.4 69.5 62.2 67.0
H -6.4
-6.5
-  .9
-  3.0
-  6.8
-  8.9
-  5.8 -7.7 -  5.7 - 2 4.7 - 3 .6
-  7.5 -8.8 -  7.8 - 2 6.9 - 3 6.0
-4.8 -8.5 -  3. - 2 3.2 - 3 5.5 54.4
-5.8 -  0. -  5.4 - 2 5. - 2 6.2 - 3 .7
-.
66.4
0.2
0.4
44.5
27.7
- 4 3.9
28.5
6.2 4.0 0.8 -5.0
- 4 8.4 35.9 2.6 42.7
H
23.3 23.3 23.2 23.5 43.2 43.2 43.2 43.5 69.3 69.4 69.5 69.5 62.4 54.9 84.8 29.2 50.7 55.9 33.7 72.0 43.9 65.0
I 0.7
-  .7
0.9
- 2 3.7
2.5
- 3 5.7
5.3 0.4 .9 2.2
- 5 0.9 -8.8 -  9.2 - 2 8.3 - 4 6.4
2.5 .0 .4 .4 .4 - 3 8.4 60.9
-5.3 -9.8 -  4.7 - 2 5.5 - 2 9.2 - 3 4.7
0.4
74.8
-0.2
0.
49.5
32.9
- 4 8.2
3.2
20.2 -5.7 - 2 2.6 - 2 5.
- 5 3.5 39.5 35.5 24.6
I
3.7 3.6 4. 3.9 38.2 38.2 37.9 37.5 69.4 69.4 69.3 69.5 57.9 50.4 83.4 2.7 46.2 50.4 26.5 66.6 32.9 5.0
J 6.8
-  3.2
3.3
- 2 4.8
20.7
- 3 8.4
36.0 5.9 .3 6.7 29.3
- 6 3.5 -9.9 -  9.2 - 2 9.2 - 5 .5
3.7 6.3 9.4 5.0 - 4 0.5 66.9
-5.3 -9.6 -  4.9 - 2 5.5 - 3 2.0 - 3 7.2
2.5
83.5
-0.3
-0.2
54.2
38.5
- 5 .9
33.5
25. - 2 5.6 - 3 6.5 -  6.
- 5 8.2 6.9 29.8 8.2
J
23.2 24. 24.2 24.5 43.2 43.5 43.5 44.7 69.3 69.5 69.3 69.4 53.2 45.7 8.6 4. 4.9 44.5 9.6 8.8 3.3 5.
K 3.2
-9.
26.7
-  7.5
39.2
- 2 6.9
44.0 2.3 24. 35.4 63.2
- 3 0.7 -7.7 -  5.9 - 2 3.3 - 4 2.4
8. 4.5 20.9 35.7 - 4 .5 72.
-5.0 -8.7 -  3.7 - 2 4.7 - 3 4.7 - 3 8.9
4.9
9.
-0.4
-0.5
58.4
43.7
- 5 4.5
34.5
30.9 -  2.2 -  .4 -  0.8
- 6 .5 4.9 -0.3 -9.3
K
8.9 8.9 2.9 8.7 38.5 39.5 39.9 38.9 69.4 69.4 69.6 69.5 47.7 40.9 79.4 6.9 37.4 37.9 3.0 6.2 6.9 .5
L 2.6
-2.4
25.6
-3.4
34.5
-4.8
28.7 6.3 3.8 48.0 67.5
-4. -3.0 -3.8 -5. -9.0
9.3 5.9 22.7 33.4 - 4 0.2 76.
-. -2.4 -3.7 -5.9 - 3 7.5 - 3 9.9
8.4
97.8
-0.4
-0.7
6.0
48.9
- 5 4.5
34.5
37.5 -.3 3.3 2.0
- 6 3.5 -2.8 -4.0 -.2
L

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
93. 86.8 82.5 78.5 74.8 70.5 66.0 6.9 57.7 53.9 49.2 45.4 4.2 37.2 33.2 28.7 25. 2.2 7.2 3.6 9.8 7.9 5.9 5.2
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

CieLab-Values by W.Faust IT8.7/2 / R0220 / Ref.D50 / WrvK-yes G.Hoffmann / January 24 2005


PostScript / sRGB / 709 primaries / whitepoint D65 / out of gamut marked by dot / grays equalized R=G=B

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
A A

B B

C C

D D

E E

F F

G G

H H

I I

J J

K K

L L

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
93. 86.8 82.6 78.5 74.7 70.5 66.0 6.8 57.6 53.8 49.3 45.3 4.3 37.2 33.3 28.7 25.0 2.2 7.3 3.5 9.8 7.9 5.8 5.

CieLab-Values by W.Faust IT8.7/2 / R0220 / Ref.D65 / Brad-no G.Hoffmann / November 27 2004


PostScript / sRGB / 709 primaries / whitepoint D65 / out of gamut marked by dot / grays equalized R=G=B


6.3 Adaptation Illustrations / Comparison for CATs / Bradford
CIELab values for an IT8 target were converted to sRGB (out of gamut marked by dot). The upper image
shows the result for Reference White D50 and Bradford CAT. The lower image for Reference White
D65 without CAT. Differences (ACT) as measured by Photoshop are very small. Bradford ACT is rather
meaningless. Cyans and yellows are anyway affected by printer gamut compression.

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
A A

B B

C C

D D

E E

F F

G G

H H

I I

J J

K K

L L

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
93. 86.8 82.6 78.5 74.7 70.5 66.0 6.8 57.6 53.8 49.3 45.3 4.3 37.2 33.3 28.7 25.0 2.2 7.3 3.5 9.8 7.9 5.8 5.

CieLab-Values by W.Faust IT8.7/2 / R0220 / Ref.D50 / Brad-yes G.Hoffmann / November 27 2004


PostScript / sRGB / 709 primaries / whitepoint D65 / out of gamut marked by dot / grays equalized R=G=B

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
A A

B B

C C

D D

E E

F F

G G

H H

I I

J J

K K

L L

 2 3 4 5 6 7 8 9 0  2 3 4 5 6 7 8 9 20 2 22
93. 86.8 82.6 78.5 74.7 70.5 66.0 6.8 57.6 53.8 49.3 45.3 4.3 37.2 33.3 28.7 25.0 2.2 7.3 3.5 9.8 7.9 5.8 5.

CieLab-Values by W.Faust IT8.7/2 / R0220 / Ref.D65 / Brad-no G.Hoffmann / November 27 2004


PostScript / sRGB / 709 primaries / whitepoint D65 / out of gamut marked by dot / grays equalized R=G=B


7.1 Color Shifts in the CIE Chromaticity Diagram

This illustration shows the color shifts for the three chromatic adaptation transforms. The dots are the values for
the source Xs. The ends of the vectors are the values for Xd .

.0
y
0.9

520 525
55 530
0.8
535
50 540
545
0.7 550
505 555
560
0.6 565
570
500
575
0.5 580
585
590
495
0.4 595
2222
2353
205
2500

2000
2677
2857

D50
3077

600
3333
3636
4000

D65 605
4444

60
5000

D93
574

0.3 620
6667

490 635
8000
0000

700

0.2 485

480
0. 475
470
460
0.0 380
0.0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 x .0

Wrong von Kries

.0 .0
y y
0.9 0.9

520 525 520 525


55 530 55 530
0.8 0.8
535 535
50 540 50 540
545 545
0.7 550 0.7 550
505 555 505 555
560 560
0.6 565 0.6 565
570 570
500 500
575 575
0.5 580
0.5 580
585 585
590 590
495 495
0.4 595 0.4 595
2222

2222
2353

2353
205

205
2500

2500
2000

2000
2677

2677
2857

2857

D50 D50
3077

3077

600 600
3333

3333
3636

3636
4000

4000

D65 605 D65 605


4444

4444

60 60
5000

5000

D93 D93
574

574

0.3 620 0.3 620


6667

6667

490 635 490 635


8000

8000
0000

0000

700 700

0.2 485 0.2 485

480 480
0. 475
0. 475
470 470
460 460
0.0 380 0.0 380
0.0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 x .0 0.0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 x .0

Von Kries Bradford


10
7.2 Color Shifts in the CIE Chromaticity Diagram

This illustration shows the color shifts for the Bradford transform by two steps: first a Wrong von Kries transform
by matrix Kw and then a correction transform by C, using B=CKw with C=BKw-1 .

 +.0328 +0.0229 −0.0663


C =  +0.0292 +0.9904 −0.0226
 −0.009 +0.05 +0.9925

The first step by Wrong von Kries performs the white point shift, here called Perfect Adaptation Transform PAT.
Only the correction shift - indicated by the second part of the vector - is a true chromatic adaptation transform,
called Adaptation Correction Transform ACT.
It seems that this correction is hardly of great importance for common printing spaces, as shown by the small
images by GMB ProfileMaker for ISO Coated (red) and for a high end inkjet (white), for L=20,50 and 80.

.0
y
0.9
Use zoom 200%
520 525
55 530
L=80
0.8
535
50 540
545
0.7 550
505 555
560
0.6 565
570
500 L=50
575
0.5 580
585
590
495
0.4 595
600
D50 605
60
D65
0.3 620
490 635
D93
700 L=20

0.2 485

480
0. 475
470
460
0.0 380
0.0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 x .0

11
8. ICC CMYK to CIELab
CMYK values can be converted to CIELab by version C or D of these table systems. Most likely version C with
explicit tables Ac and Bc is used. These nonlinear tables deliver a better resolution for the more relevant part of
the CLUT.
lutAtoBType means Device to PCS (profile connection space, here CIELab)

A. IN3 - Bc - Lab
B. IN3 - Mc - Ma - Bc - Lab
C. CMYK - Ac - CLUT - Bc - Lab
D. CMYK - Ac - CLUT - Mc - Ma - Bc - Lab

IN3 Arbitrary three inputs


CMYK Input C
Ac A-Curves: 4 one-dimensional input tables or parametric curves, possible if CLUT is used
CLUT Multi-dimensional table lutAtoBType with 4 inputs and 3 outputs
Mc M-Curves: 3 one-dimensional tables or parametric curves
Ma 3x4 Array for a 3x3 matrix and an offset
The first 9 elements are multiplied by the input, the last 3 elements are added as offsets
Bc B-Curves: 3 one-dimensional output tables or parametric curves
Lab Output L

CLUT AtoB0 Perceptual Rendering Intent (page 20 in [10])


CLUT AtoB1 Media-Relative and ICC-Absolute Colorimetric
CLUT AtoB2 Saturation Rendering Intent

9. ICC CIELab to CMYK


CIELab values can be converted to CMYK by version C or D of these table systems. Most likely version C with
explicit tables Bc and Ac is used. These nonlinear tables deliver a better resolution for the more relevant part of
the CLUT.
LutBtoAType means PCS (profile connection space, here CIELab) to Device.

A. Lab - Bc - OUT3
B. Lab - Bc - Ma - Mc - OUT3
C. Lab - Bc - CLUT - Ac - CMYK
D. Lab - Bc - Ma - Mc - CLUT - Ac - CMYK

Lab Input L
Bc B-Curves: 3 one-dimensional input tables or parametric curves
Ma 3x4 Array for a 3x3 matrix and an offset
The first 9 elements are multiplied by the input, the last 3 elements are added as offsets
Mc M-Curves: 3 one-dimensional tables or parametric curves, possible if Ma is used
CLUT Multi-dimensional table lutBtoAType with 3 inputs and 4 outputs
Ac A-Curves: 4 one-dimensional output tables or parametric curves , if CLUT is used
CMYK Output C
OUT3 Arbitrary 3 outputs

CLUT BtoA0 Perceptual Rendering Intent (page 20 in [10])


CLUT BtoA1 Media-Relative and ICC-Absolute Colorimetric
CLUT BtoA2 Saturation Rendering Intent

On page 18 of [13] we find the Header Rendering Intent coding, which is slightly different (mostly the header
indi­cates Perceptual, which is either not complete or even wrong for RGB profiles):

0 Perceptual
1 Media-Relative Colorimetric
2 Saturation
3 ICC-Absolute Colorimetric
12
10. ICC Rendering Intents
Four different Rendering Intents are mostly available:

ICC Absolute
Media-Relative
Perceptual
Saturation

Rendering Intents concern four topics:

White point mapping CAT


White point mapping PWT
Gamut compression
Dynamic range compression

13
11. ICC-Absolute Colorimetric Rendering Intent
No CAT, no PWT.

Xs = Cxr R as usual

Xd = T Xs T is identity matrix

Xp = P Xd P for Paper White Transform PWT. P is identity matrix

Xc = Rw-1 Xp Reference White for RW D50

L = F(Xc) as usual

No gamut compression.
All out-of-gamut colors are clipped to nearest color in CIELab.
Gamut clipping depends on the specific software (choice of the direction in CIELab).
No dynamic range compression.

ICC-Absolute uses the table system for Media-Relative.


Reference White for CIELab is practically always D50.

If the working space is defined for D50 as well (like WideGamutRGB) and an image is optimized on a D50 ­monitor,
then the print would look correctly under D50 viewing light.

If the working space is defined for D65 (like sRGB) and an image is optimized on a D65 monitor, then the print
would look too blue-ish unter D50 viewing light.

Absolute Colorimetric does not make any sense for practical printing if the data sources are defined in a D65
working space.

It can be used for proof printing for the workflow RGB -- CMYK1 -- CIELab -- CMYK2.

For instance, CMYK1 is an offset space like ISO Coated and CMYK2 is an inkjet space.
The first conversion RGB -- CMYK1 is done by Perceptual or by Media-Relative Colorimetric rendering intent
(the latter preferably with Blackpoint Compensation, which is not a feature of ICC profiles).
The second conversion by CMYK1 -- CIELab -- CMYK2 by Absolute Colormetric would try to simulate the ap-
pearance of the offset print by the inkjet print. If the inkjet paper should be more blue-ish than the offset paper,
then the inkjet would put yellow ink onto plain paper areas and correct the other regions as well.

14
12. Media-Relative Colorimetric Rendering Intent
Uses CAT and PWT white point mapping.

Xs = Cxr R as usual

Xd = T Xs T=B is the Bradford matrix

Xp = P Xd P for Paper White Transform PWT. See below

Xc = Rw-1 Xp Reference White for RW D50

L = F(Xc) as usual

No gamut compression.
Out-of-gamut colors are clipped to nearest color in CIELab.
Gamut clipping depends on the specific software (choice of the direction in CIELab).
Dynamic range compression.
Mostly, L*=100 is mapped to paper white.
Mostly, L*= 0 is not mapped to the darkest printable black.
Mapping L*= 0 to the darkest printable black is called Blackpoint Compensation (BPC).
This is not a feature of ICC profiles but of application programs like Phoshop or RIPs.

A PWT needs two media:


1. Reference Medium, here the perfect diffuser/absorber, therefore not explicitly used
White Lab =100/0/0
Black Lab=0/0/0
2. Actual Medium, Measuring Mode Absolute under D50, e.g.
White Lab=93/0/-4 delivers Xpw, Ypw=1, Zpw
Black Not specified

P = diag ( XD50 /Xpw, YD50/Ypw, ZD50/Zpw ) with YD50=1

The author is meanwhile not sure about the handling of paper white.

Media-Relative with BPC is the recommended default Rendering Intent for photos, though not intended for this
purpose.The gamut clipping is mostly not perceivable. The colors can easily look dull if Perceptual is used.

Media-Relative is mostly used for printing D65 working space data and it can be used for proof printing for the
workflow CMYK1(offset) -- CIELab -- CMYK2(inkjet).
If the inkjet is more is blue-ish than the offset paper, then Media-Relative would leave white or light gray areas
as they are.
It is assumed that the observer is adapted to paper white, therefore the paper does not (should not) appear
blue-ish.

15
13. Perceptual Rendering Intent
Uses CAT and PWT white point mapping.

Xs = Cxr R as usual

Xd = T Xs T=B is the Bradford matrix

Xp = P Xd P for Paper White Transform PWT. See below

Xc = Rw-1 Xp Reference White for RW D50

L = F(Xc) as usual

Gamut compression.
Out-of-gamut colors are mapped to the nearest color in CIELab.
Gamut compression and mapping depend on the specific software.
All colors are simultaneously shifted.
Dynamic range compression.
Mostly: L*=100 is mapped to paper white.
L*= 0 is mapped to the darkest printable black.

A PWT needs two media:


1. Reference Medium , here a realistic white and black printed good paper.
White Lab = 89.0/0/0
Black Lab=3.1373/0/0 , X0=0.00336, Y0=0.00347, Z0=0.00287, perceptual black point
2. Actual Medium, Measuring Mode Absolute under D50, e.g.
White Lab=93/0/-4 delivers Xpw, Ypw =1, Zpw
Black Lab=Not specified

P = diag ( XD50 /Xpw, YD50/Ypw, ZD50/Zpw ) with YD50=1

The author is meanwhile not sure about the handling of paper white.

Perceptual can be used for photos with a significant content of out-of-gamut colors, in order to preserve the
­relation of colors relative to each other. In many cases the global color shift is not perceived as pleasant, there-
fore practicians prefer often Media-Relative.
Should be used for scanned transparencies because of the large dynamic range.

It was assumed that the observer is adapted to D50 surround light. Now it is additionally assumed that the
­observer is adapted to paperwhite.
It is well known that the adaptation to white on a large image is based on the appearance of areas with neutral
grays. The adaptation is not based on the color of paperwhite in highlights [2] .

Nevertheless, the ICC Perceptual Rendering Intent is based on the wrong assumption that the observer adapts
additionally to paperwhite.

16
14. Saturation Rendering Intent
This Rendering Intent is ill defined. Perhaps it can be handled like Media-Relative with different gamut map-
ping.
Uses CAT white point mapping.

Xs = Cxr R as usual

Xd = T Xs T is not defined

Xp = P Xd P is identity matrix

Xc = Rw-1 Xp Reference White for RW D50

L = F(Xc) as usual

Maps many colors to in-gamut values, preserving saturation, though not necessarily the hue.
Can map some colors to more vibrant printer colors.
Remaining out-of-gamut colors are clipped to nearest color in CIELab.
Dynamic range compression (not accurately specified).

Saturation is used for presentation graphics.


Colors should be vibrant, accuracy cannot be expected.

17
15.1 CIELab and sRGB, L*=30
The graphic shows the CIELab diagram, the sRGB gamut boundary and for [0...255] clipped sRGB
values. An RGB set is out-of gamut if any value is less than 0 or greater than 255.
The values cannot be shown without clipping because the inverse gamma correction, a power function,
is not defined for negative arguments.

-00 -90 -80 -70 -60 -50 -40 -30 -20 -0 0 0 20 30 40 50 60 70 80 90 00
b* 00
0 0 0 5 43 6 75 88 00 2 23 33 44 55 65 75 86
90 90 89 87 84 8 78 74 69 64 57 48 35  0 0 0 0 90
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 8 4 59 74 87 99  22 33 43 54 64 75 85
80 90 89 87 84 8 78 74 69 64 57 48 35  0 0 0 0 80
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 38 57 72 86 98 0 2 32 43 53 64 74 85
70 90 89 87 84 8 78 74 69 64 57 48 35 2 0 0 0 0 70
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 35 55 7 85 97 09 20 3 42 53 63 74 84
60 90 89 87 84 82 78 74 70 64 57 48 35 2 0 0 0 0 60
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 3 53 69 83 96 08 20 3 42 52 63 73 84
50 9 89 87 84 82 78 74 70 64 57 48 36 3 0 0 0 0 50
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 28 5 68 82 95 07 9 30 4 52 62 73 83
40 9 89 87 85 82 78 74 70 64 57 48 36 3 0 0 0 0 40
0 0 0 0 0 0 0 0 0  3 6 0 3 6 9 2
0 0 0 0 22 48 66 8 94 06 8 29 40 5 62 72 83
30 9 89 87 85 82 78 75 70 64 57 48 36 4 0 0 0 0 30
4 4 5 6 7 8 20 2 22 24 25 26 28 30 3 33 34
0 0 0 0 2 44 63 78 92 05 6 28 39 50 6 7 82
20 9 89 87 85 82 79 75 70 64 58 49 37 5 0 0 0 0 20
35 36 36 37 37 38 38 39 40 4 4 42 43 44 45 47 48
0 0 0 0 0 38 59 75 89 02 5 26 38 49 60 70 8
0 9 89 87 85 82 79 75 70 65 58 49 37 6 0 0 0 0 0
53 53 53 53 54 54 55 55 56 56 57 57 58 59 60 6 6
0 0 0 0 0 27 53 7 86 99 2 24 35 47 58 69 79
0 9 90 88 85 82 79 75 7 65 58 50 38 7 0 0 0 0 0
69 69 69 69 70 70 70 7 7 7 72 72 73 74 74 75 75
0 0 0 0 0 0 43 64 8 95 08 2 33 44 55 67 77
-0 92 90 88 86 83 79 76 7 66 59 50 38 9 0 0 0 0 -0
85 85 85 85 85 86 86 86 86 87 87 88 88 88 89 89 90
0 0 0 0 0 0 27 55 74 89 04 7 29 4 53 64 75
-20 92 90 88 86 83 80 76 72 66 59 5 39 2 0 0 0 0 -20
0 0 0 0 0 0 0 0 02 02 02 03 03 03 04 04 04 05
0 0 0 0 0 0 0 40 64 82 97  24 37 49 6 72
-30 92 9 89 86 84 80 77 72 67 60 52 4 23 0 0 0 0 -30

-40
L* = 30 6 6
0
93
7
0
9
7
0
89
7
0
87
7
0
84
7
0
8
7
0
77
7
5
73
8
50
68
8
72
6
8
89
53
8
05
42
9
9
25
9
32
0
9
44
0
20
56
0
20
68
0 -40
709 primaries 33
3 33 33 33 33 33 33 33 34 34 34 34 35 35 35 35 36
0 0 0 0 0 0 0 0 22 57 79 96  25 39 5 64
-50 White D65
94 92 90 88 85 82 78 74 69 62 54 44 28 0 0 0 0 -50
Reference D50 49
9 49 49 49 49 49 50 50 50 50 50 50 5 5 5 5 52
0 0 0 0 0 0 0 0 0 3 63 84 02 7 32 45 58
-60 Bradford yes94 93 9 89 86 83 79 75 70 63 56 45 30 0 0 0 0 -60
Gamma5 sRGB 65 66 66 66 66 66 66 66 66 66 67 67 67 67 67 68 68
0 0 0 0 0 0 0 0 0 0 37 68 89 07 23 37 5
-70 Dot mark for95 94 92 89 87 84 80 76 7 65 57 47 33 3 0 0 0 -70
out of gamut
2 82 82 82 82 83 83 83 83 83 83 83 83 84 84 84 84 84
0 0 0 0 0 0 0 0 0 0 0 40 72 94 2 28 43
Clipping for96 95 93 9 88 85 8 77 72 66 59 50 36  0 0 0
-80 -80
R-Y-G-C-B-M
9 99 99 99 99 200 200 200 200 200 200 200 200 200 20 20 20 20
hexagon 0 0 0 0 0 0 0 0 0 0 0 0 42 75 97 6 33
-90 97 96 94 92 89 86 83 79 74 68 6 52 39 8 0 0 0 -90
Outer blue
6 area
27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28
human gamut 0 0 0 0 0 0 0 0 0 0 0 0 0 43 77 00 20
-00 0 99 97 95 93 9 88 84 80 75 70 63 54 43 24 0 0 0 -00
4 234 234 234 234 234 234 234 234 234 235 235 235 235 235 235 235 235

-00 -90 -80 -70 -60 -50 -40 -30 -20 -0 0 0 20 30 40 50 60 70 80 90 a*

18
15.2 CIELab and sRGB, L*=50
The graphic shows the CIELab diagram, the sRGB gamut boundary and for [0...255] clipped sRGB
values. An RGB set is out-of gamut if any value is less than 0 or greater than 255.
The values cannot be shown without clipping because the inverse gamma correction, a power function,
is not defined for negative arguments.

-00 -90 -80 -70 -60 -50 -40 -30 -20 -0 0 0 20 30 40 50 60 70 80 90 00
b* 00
0 0 32 67 90 08 24 39 53 67 80 92 205 27 229 240 252
90 6 44 4 38 35 3 27 23 7  04 96 87 75 59 35 0 0 90
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 29 66 89 07 24 39 53 66 79 92 204 26 228 240 252
80 6 44 4 38 35 3 27 23 7  05 96 87 75 59 35 0 0 80
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 25 64 87 06 23 38 52 66 79 9 204 26 228 240 25
70 6 44 4 38 35 3 27 23 7  05 97 87 75 60 35 0 0 70
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 8 62 86 05 22 37 5 65 78 9 203 25 227 239 25
60 6 44 4 38 35 32 27 23 8 2 05 97 87 75 60 35 0 0 60
0 0 0 0 0 0 0 0 0 0 0 0 4 0 6 20 25
0 0 2 58 83 03 20 36 50 64 77 90 202 25 227 239 250
50 6 44 42 39 35 32 28 23 8 2 05 97 87 75 60 36 0 0 50
3 6 9 2 5 7 20 22 25 27 30 32 34 37 39 4 43
0 0 0 53 80 0 8 34 49 63 76 89 20 24 226 238 249
40 7 44 42 39 35 32 28 23 8 2 05 97 87 76 60 36 0 0 40
40 4 42 43 44 45 46 47 49 50 5 53 54 55 57 58 60
0 0 0 44 75 97 5 32 47 6 74 87 200 22 225 237 248
30 7 44 42 39 36 32 28 23 8 2 05 97 88 76 6 37 0 0 30
62 63 63 64 65 65 66 67 68 69 69 70 7 73 74 75 76
0 0 0 3 69 92  28 44 58 72 85 98 2 223 235 247
20 7 45 42 39 36 32 28 23 8 2 05 98 88 77 6 38 0 0 20
8 82 82 83 83 84 84 85 85 86 87 87 88 89 90 9 92
0 0 0 0 59 86 06 24 40 55 69 83 96 208 22 233 245
0 7 45 42 39 36 32 28 24 9 3 06 98 89 77 62 39 0 0 0
99 00 00 00 0 0 0 02 02 03 04 04 05 05 06 07 08
0 0 0 0 45 77 00 9 36 5 66 80 93 206 28 23 243
0 7 45 43 40 36 33 29 24 9 3 06 98 89 78 63 4 0 0 0
6 7 7 7 7 8 8 9 9 9 20 20 2 2 22 22 23 24
0 0 0 0 5 65 92 2 30 46 6 76 89 203 25 228 24
-0 8 45 43 40 37 33 29 25 9 3 07 99 90 78 64 42 0 0 -0
4 34 34 34 35 35 35 36 36 36 37 37 37 38 38 39 39 40
0 0 0 0 0 47 80 04 23 40 56 7 85 99 22 225 237
-20 8 46 43 40 37 34 30 25 20 4 07 00 90 79 65 44 0 0 -20
5 5 52 52 52 52 53 53 53 53 54 54 55 55 55 56 56
0 0 0 0 0 0 64 93 4 33 50 65 80 94 208 22 234
-30 9 46 44 4 38 34 30 26 20 5 08 00 9 80 66 46 0 0 -30

-40
L* = 50 8

9
69
0
47
69
0
44
69
0
4
69
0
38
69
0
35
69
0
3
70
36
26
70
77
2
70
03
5
70
24
09
7
42
0
7
58
92
7
74
8
72
89
67
72
203
48
73
26
0
73
230
0 -40
709 primaries 86
6 86 86 86 87 87 87 87 87 88 88 88 88 89 89 90 90
0 0 0 0 0 0 0 54 88 2 32 50 67 82 97 2 225
-50 White 0 D65 47 45 42 39 35 3 27 22 6 0 02 93 83 69 50 8 0 -50
Reference D50 204
3 203 204 204 204 204 204 205 205 205 205 205 206 206 206 207 207
0 0 0 0 0 0 0 0 66 97 20 40 58 74 90 205 29
-60 Bradford0 yes48 46 43 40 36 32 28 23 7  03 94 84 7 52 7 0 -60
Gamma sRGB 22 22 22 222 222 222 222 222 222 223 223 223 223 223 224 224 224
0 0 0 0 0 0 0 0 6 75 05 27 47 65 8 97 22
-70 Dot mark for49 46 44 40 37 33 29 24 8 2 04 96 85 73 55 23 0 -70
out of gamut
9 239 239 239 239 239 240 240 240 240 240 240 24 24 24 24 242 242

Clipping2 for50 047


0 0
44
0
4
0
38
0
34
0
30
0
25
0
9
34
3
83
06

97
34
87
54
75
72
58
88
29
204
0
-80 -80
R-Y-G-C-B-M
5 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
hexagon 0 0 0 0 0 0 0 0 0 0 45 89 7 40 60 78 95
-90 3 5 48 45 42 39 35 3 26 20 4 07 99 89 77 60 35 0 -90
Outer blue
5 area
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
human gamut 0 0 0 0 0 0 0 0 0 0 0 5 94 22 45 65 84
-00 4 52 49 46 43 40 36 32 27 22 6 09 00 9 79 63 40 0 -00
5 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255

-00 -90 -80 -70 -60 -50 -40 -30 -20 -0 0 0 20 30 40 50 60 70 80 90 a*

19
15.3 CIELab and sRGB, L*=70
The graphic shows the CIELab diagram, the sRGB gamut boundary and for [0...255] clipped sRGB
values. An RGB set is out-of gamut if any value is less than 0 or greater than 255.
The values cannot be shown withot clipping because the inverse gamma corection, a power function,
is not defined for negative arguments.

-00 -90 -80 -70 -60 -50 -40 -30 -20 -0 0 0 20 30 40 50 60 70 80 90 00
b* 00
0 67 00 25 46 64 82 98 23 228 242 255 255 255 255 255 255
90 3 200 96 93 89 85 80 75 69 63 56 48 39 29 7 03 85 59 90
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 63 98 23 44 63 8 97 22 227 24 255 255 255 255 255 255
80 3 200 97 93 89 85 80 75 69 63 56 48 39 29 7 03 85 59 80
0 0 0 0 0 0 0 0 0 0 0 0 0 0  2 20
0 58 95 2 43 62 79 95 2 226 240 254 255 255 255 255 255
70 3 200 97 93 89 85 80 75 69 63 56 48 39 29 7 03 85 59 70
0 0 0 0 0 0 7 4 20 24 28 32 36 39 42 46 49
0 49 9 8 40 59 77 94 209 224 239 253 255 255 255 255 255
60 3 200 97 93 89 85 80 75 69 63 56 48 40 29 8 03 86 60 60
40 42 43 45 47 49 50 52 54 56 58 60 62 64 66 68 70
0 36 85 4 37 57 75 92 207 223 237 25 255 255 255 255 255
50 3 200 97 93 89 85 80 75 70 63 56 49 40 30 8 04 86 60 50
69 70 7 72 73 74 75 76 77 79 80 8 83 84 85 87 88
0 6 77 08 33 53 72 89 205 220 235 249 255 255 255 255 255
40 3 200 97 93 90 85 8 75 70 63 57 49 40 30 8 04 86 6 40
9 92 93 94 94 95 96 97 98 99 00 0 02 03 04 05 06
0 0 66 02 27 49 68 86 202 28 233 247 255 255 255 255 255
30 4 20 97 94 90 85 8 76 70 64 57 49 40 30 9 05 87 62 30
2 2 3 3 4 5 5 6 7 8 8 9 20 2 22 23 24
0 0 50 93 2 44 63 82 99 25 230 245 255 255 255 255 255
20 4 20 98 94 90 86 8 76 70 64 57 49 4 3 9 05 88 63 20
3 32 32 33 33 34 34 35 35 36 37 37 38 39 39 40 4
0 0 5 8 2 37 58 77 94 2 226 24 255 255 255 255 255
0 4 20 98 94 90 86 8 76 7 64 58 50 4 3 20 06 89 64 0
0 50 50 5 5 52 52 52 53 53 54 55 55 56 56 57 58 58
0 0 0 63 02 29 5 7 89 206 222 237 252 255 255 255 255
0 4 20 98 95 9 86 82 77 7 65 58 50 42 32 20 07 89 66 0
8 69 69 69 69 70 70 7 7 7 72 72 73 73 74 75 75 76
0 0 0 32 87 9 43 64 83 20 27 233 248 255 255 255 255
-0 5 202 99 95 9 87 82 77 72 65 58 5 42 32 2 07 90 67 -0
7 87 87 87 88 88 88 89 89 90 90 90 9 9 92 92 93 93
0 0 0 0 67 05 33 56 76 94 22 228 243 255 255 255 255
-20 5 202 99 95 92 87 83 78 72 66 59 5 43 33 22 08 92 69 -20
5 205 206 206 206 206 207 207 207 208 208 208 209 209 20 20 2 2
0 0 0 0 26 88 20 46 67 87 205 222 238 253 255 255 255
-30 6 203 99 96 92 88 83 78 73 66 60 52 44 34 23 09 93 7 -30

-40
L* = 70 3

6
224
0
203
224
0
200
224
0
96
224
0
93
225
0
88
225
6
84
225
04
79
225
33
73
226
57
67
226
78
60
226
97
53
227
25
44
227
232
35
228
248
24
228
255

228
255
94
229
255
72 -40
709 primaries 242
2 242 243 243 243 243 243 244 244 244 245 245 245 246 246 246 247
0 0 0 0 0 0 80 7 44 67 88 207 224 24 255 255 255
-50 White 7 D65 204 20 97 93 89 84 79 74 68 6 54 45 36 25 2 96 75 -50
Reference D50 255
5 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
0 0 0 0 0 0 37 95 29 55 77 97 26 233 250 255 255
-60 Bradford7 yes204 20 98 94 90 85 80 75 69 62 55 46 37 26 3 98 77 -60
Gamma5 sRGB 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
0 0 0 0 0 0 0 6 08 39 64 86 206 224 242 255 255
-70 Dot mark8 for
205 202 98 95 9 86 8 76 70 63 56 47 38 27 5 99 79 -70
out of gamut
5 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255

Clipping9 for206 0203


0 0
99
0
96
0
9
0
87
0
82
0
77
76
7
8
64
48
57
72
49
94
39
24
29
232
6
250
0
255
82
-80 -80
R-Y-G-C-B-M
5 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
hexagon 0 0 0 0 0 0 0 0 0 88 27 56 80 202 22 240 255
-90 0 207 204 200 96 92 88 83 78 72 65 58 50 4 30 8 03 84 -90
Outer blue
5 area
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
human gamut 0 0 0 0 0 0 0 0 0 23 98 35 63 87 209 229 247
-00 208 205 20 97 93 89 84 79 73 66 59 5 42 32 20 05 87 -00
5 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255

-00 -90 -80 -70 -60 -50 -40 -30 -20 -0 0 0 20 30 40 50 60 70 80 90 a*

20
16. CIELab and sRGB Grayscale

The upper numbers in the swatches are CIELab values L* =0 to 100.


The lower numbers are the sRGB values C’=R’=G’=B’= 0.0 to 255.0.
The RGB’ values in the file are rounded.

255 2.0
255 2.0
.8
.8
Dens
RGB’ Dens
RGB’
RGB .6
RGB .6
.4
.4
.2 The Tone Reproduction Curve from
.2
L* to C’ is surprisingly nearly linear
.0
.0
0.8 Black Actual Curve for sRGB
0.8 Green Linear
0.6
0.6
0.4 Normalized Curves 0..1
0.4 Magenta C’= L*3/2.2
0.2 Blue C = L*3
0.2
0 0
00 20 40 60 80 L* 00 0 Gray Density
0 20 40 60 80 L* 00

90 9 92 93 94 95 96 97 98 99 00
90 9 92 93 94 95 96 97 98 99 00
226.3 229.2 232.0 234.9 237.7 240.6 243.5 246.3 249.2 252. 255.0
226.3 229.2 232.0 234.9 237.7 240.6 243.5 246.3 249.2 252. 255.0

80 8 82 83 84 85 86 87 88 89 90
80 8 82 83 84 85 86 87 88 89 90
98.3 20. 203.9 206.7 209.5 22.3 25. 27.9 220.7 223.5 226.3
98.3 20. 203.9 206.7 209.5 22.3 25. 27.9 220.7 223.5 226.3

70 7 72 73 74 75 76 77 78 79 80
70 7 72 73 74 75 76 77 78 79 80
7. 73.8 76.5 79.2 8.9 84.6 87.3 90. 92.8 95.6 98.3
7. 73.8 76.5 79.2 8.9 84.6 87.3 90. 92.8 95.6 98.3

60 6 62 63 64 65 66 67 68 69 70
60 6 62 63 64 65 66 67 68 69 70
44.6 47.2 49.8 52.4 55. 57.7 60.4 63.0 65.7 68.4 7.
44.6 47.2 49.8 52.4 55. 57.7 60.4 63.0 65.7 68.4 7.

50 5 52 53 54 55 56 57 58 59 60
50 5 52 53 54 55 56 57 58 59 60
8.9 2.4 24.0 26.5 29. 3.6 34.2 36.8 39.4 42.0 44.6
8.9 2.4 24.0 26.5 29. 3.6 34.2 36.8 39.4 42.0 44.6

40 4 42 43 44 45 46 47 48 49 50
40 4 42 43 44 45 46 47 48 49 50
94.2 96.7 99. 0.5 04.0 06.5 08.9 .4 3.9 6.4 8.9
94.2 96.7 99. 0.5 04.0 06.5 08.9 .4 3.9 6.4 8.9

30 3 32 33 34 35 36 37 38 39 40
30 3 32 33 34 35 36 37 38 39 40
70.6 72.9 75.3 77.6 79.9 82.3 84.7 87.0 89.4 9.8 94.2
70.6 72.9 75.3 77.6 79.9 82.3 84.7 87.0 89.4 9.8 94.2

20 2 22 23 24 25 26 27 28 29 30
20 2 22 23 24 25 26 27 28 29 30
48.3 50.5 52.7 54.9 57. 59.3 6.5 63.8 66. 68.3 70.6
48.3 50.5 52.7 54.9 57. 59.3 6.5 63.8 66. 68.3 70.6

0  2 3 4 5 6 7 8 9 20
0  2 3 4 5 6 7 8 9 20
27.5 29.5 3.5 33.5 35.6 37.7 39.8 4.9 44.0 46. 48.3
27.5 29.5 3.5 33.5 35.6 37.7 39.8 4.9 44.0 46. 48.3

0  2 3 4 5 6 7 8 9 0
0  2 3 4 5 6 7 8 9 0
0.0 3.6 7.3 0.9 4. 6.8 9.3 2.5 23.5 25.5 27.5
0.0 3.6 7.3 0.9 4. 6.8 9.3 2.5 23.5 25.5 27.5

21
17.1 References
[1] R.W.G.Hunt
Measuring Colour
Fountain Press, England, 1998

[2] E.J.Giorgianni + Th.E.Madden


Digital Color Management
Addison-Wesley, Reading Massachusetts ,..., 1998

[3] G.Wyszecki + W.S.Stiles


Color Science
John Wiley & Sons, New York ,..., 1982

[4] R.S.Berns
Billmeyer and Saltzman‘s Principles of Color Technology, Third edition
John Wiley & Sons, New York ,..., 2000

[5] M.D.Fairchild
Color Appearance Models, Second Edition
John Wiley & Sons, Chichester, 2005

[6] H.R.Kang
Computational Color Technology
SPIE Press, Bellingham, 2006

[7] J.D.Foley + A.van Dam + St.K.Feiner + J.F.Hughes


Computer Graphics
Addison-Wesley, Reading Massachusetts,...,1993

[8] C.H.Chen + L.F.Pau + P.S.P.Wang


Handbook of Pattern recognition and Computer Vision
World Scientific, Singapore, ..., 1995

[9] R.W.G.Hunt
The Reproduction of Colour, Sixth edition
John Wiley & Sons, Chichester, 2004

[10] M.Stokes + M.Anderson + S.Chandrasekar + R.Motta


A Standard Default Color Space for the Internet - sRGB
http://www.w3.org/graphics/color/srgb.html
1996

[11] M.Nielsen + M.Stokes


The Creation of the sRGB ICC Profile
http://www.srgb.com/c55.pdf
Year unknown, after 1998

[12] International Color Consortium


http://www.color.org

[13] File Format for Color Profiles / newest version
http://www.color.org/icc_specs2.xalter

[14] G.Hoffmann
CIE (1931) Color Space
http://docs-hoffmann.de/ciexyz29082000.pdf

[15] G.Hoffmann
CIELab Color Space
http://docs-hoffmann.de/cielab03022003.pdf

[16] Everything about Color and Computers


http://www.efg2.com

22
17.2 References
This doc:
http://docs-hoffmann.de/cmsicc08102003.pdf

February 05 / 2013:
Conversion from PageMaker to InDesign
May have caused minor layout bugs

Gernot Hoffmann
October 08 / 2003 - February 05 / 2013
Website
Load browser / Click here

23

You might also like