Successful color reproduction in the graphic arts is a combination of experience, folklore, taste and quantitative controls, and as such, cannot easily be reduced to algorithms suitable for computer implementation. There are at least two reasons for making this knowledge explicit: graphic arts practice will benefit from a controlled scientific treatment, and automatic or semi-automatic production of images under computer control will become possible. The results that follow put some of the graphic arts "know how" onto a scientific basis, demonstrating some of the principles and algorithms that underlie cross-rendering. We claim that these advances bring the computer generation of high quality images across a variety of output media significantly closer to reality.
2. The best current color difference equations (such as CIELAB and CIELUV) were designed for the colorant industries, where large juxtaposed areas of uniform color must be imperceptibly different [Wyszecki&Styles]. The suitability of these formulae for colored imagery has not yet been investigated, however.
Moreover, filtering was necessary for production of the half-tone screens. (120-line screens are easily generated from 450 by 600 pixel images, producing one half-tone dot for each pixel.)
Psychological reference colors => why it's interactive
gray scale => unchanged
tone reproduction => images fill monitor gamut, therefore we need to maximize contrast
detail => too much clipping obscures detail
color correction => maintain chromaticity, saturation boost.
Following the gradient
The first method is a three-dimensional version of Newton's iteration. To find the value of
c such that F(c)=f, given a one-dimensional function F of the variable
c, the basic iteration step in Newton's method is:
ci+1 = ci + (f-F(ci))/F`(ci),
where the derivative can be visualized as the slope of the tangent to the function at ci.
Rearranging we get:
F`(ci) Dc = f -F(ci), or F`(ci) Dc = Df, where Dc =ci+1—ci
In the three-dimensional case, we replace the slope with the three-dimensional gradient. We are given the three functions X(c,m,y), Y(c,m,y) and Z(c,m,y) and the tristimulus value (x,y,z), and want to find (c,m,y) corresponding to this value. Each step of the iteration involves finding a
Dc,
Dm and
Dy that satisfies the following linear system:
G [Dc Dm Dy] = [Dx Dy Dz], where G is the gradient expressed as the matrix:
[Artwork node; type 'Artwork on' to command tool]
evaluated at c=ci, m=mi and y=yi. The iteration is finished when Dc, Dm, Dy reach some error tolerance. Increasing values of the differences indicates convergence failure.
For well behaved functions, this algorithm should converge quickly, making it the algorithm of choice in spite of the cost of a matrix inversion per iteration. Our functions, however, were not well behaved and had convergence problems, especially near the edge of the gamut. To get more reliable convergence properties and to improve performance, a second algorithm was implemented.
Chromaticity Difference Luminance Images
in gamut out of gamut Scale Factor Processed
Mapping 1 (±0.03, ±0.04) (±0.04, ±0.06) 14 5
Mapping 2 (±0.01, ±0.01) (±0.1, ±0.05) 25 1
Mapping 3 (±0.02, ±0.01) (±0.01, ±0.04) 30 1
Mapping 4 (±0.03, ±0.01) (±0.18, ±0.03) 39 1
Color Tool (±0.03, ±0.01) (±0.0, ±0.0) 0 3
Table 7.7 The average chromaticity difference and luminance scale factor introduced by gamut mapping.
X(c, m, y) = X000
+ dc(X100-X000) +dm(X010-X000) + dy(X001-X000)
+ dmdy(X011-X010-X001+X000)
+ dcdy(X101-X100-X001+X000)
+ dcdm(X110-X100-X010+X000)
+dcdmdy(X111-X110-X101+X100-X011+X010+X001-X000);