Content uploaded by Edul Dalal
Author content
All content in this area was uploaded by Edul Dalal on Oct 17, 2014
Content may be subject to copyright.
A method for quantifying the color gamut of an output device
Raja Balasubramanian and Edul Dalal
Wilson Center for Research and Technology,
Xerox Corporation, Webster NY 14580.
ABSTRACT
A technique is proposed for estimating the surface of the color gamut of an output device, in 3-D colorimetric space. The
method employs a modified convex hull algorithm. This approach is shown to be more general, and more accurate, than
existing techniques. Simple numerical metrics are derived from this surface description: namely the gamut volume in 3-D
space; and the percentage of colors from the Pantone Matching System which fall within the gamut.
Keywords: printer, color gamut, gamut mapping, gamut volume.
1. INTRODUCTION
An important characteristic of an output device is its color gamut, or the range of its reproducible colors. This range of
colors can be thought of as a volume in 3-D color space. The gamut is usually specified in a colorimetric or visually based
space such as CIE XYZ or L*a*b*. The size and shape of the color gamut in a given color space are affected by numerous
factors. In the case of display monitors, the color gamut is dictated largely by the tristimulus (XYZ) values of the three
primaries, R, G, B. In the case of printers, there are many variables in addition to the colors of the basic primaries C, M, Y, K,
which affect the color gamut. Examples are the printing technology, the characteristics of the colorants, the substrate, the
method of halftoning, and the method of undercolor removal (UCR) and gray component replacement (GCR), to name a few.
In order to determine the color gamut of a device, it is necessary to measure (or model) the color of a number of samples
produced by the device, and then to estimate the volume in color space occupied by these data points. As shown later in this
paper, a large number of data points is required to get a good estimate. In general, it is not known whether a given data point
lies on the gamut surface or inside it, so it is first necessary to identify the points that lie on the surface.
In this paper we address the problem of estimating the surface of a device gamut from sample measurements. This problem
is important for several reasons. First, it allows us to extract quantitative metrics, such as gamut volume, which would be
valuable in assessing, comparing, and optimizing gamuts with respect to the aforementioned imaging variables. Second, a
simple description of the surface of a 3-D volume enables the use of standard 3-D visualization tools to view the gamuts.
Finally, algorithms that map colors from an input device gamut to an output device gamut would benefit from an accurate
description of the device gamut surfaces.
In Sec. 2, common techniques for estimating gamut surfaces are considered, and their limitations discussed. A new method
for gamut estimation is described in Sec. 3. Results are presented in Sec. 4, and concluding remarks are collected in Sec. 5.
2. GAMUT ESTIMATION TECHNIQUES
We will restrict our discussion to gamut estimation techniques for printers, as this is a more difficult problem than that of
characterizing display gamuts. (Many of the observations for 3 colorant printers will carry over to the case of displays.) We
begin by discussing the simplest case, where only the printer primary and secondary colors are involved. Next we consider
cases where the printer employs three independent primaries, and the device values are known for each measured colorimetric
value. More complex cases are then discussed, when 4 or more independent primaries may be printed; and when there may be
no access to device values.
2.1 Approaches based on only primary and secondary colors
A rough approximation of the color gamut of a printer can be obtained3 from just the primary and secondary colors: cyan,
magenta, yellow, black, red, green, blue and white. These eight data points are connected by straight lines and the volume of
the resulting polygon calculated. If this is done in CIELab space the straight-line interpolation is often, though not always, a
reasonable approximation. Clearly, however, there are serious limitations to this approach: undercolor removal strategy is
ignored, black overprints could lie outside the eight-point gamut, etc.
2.2 Approaches based on device coordinates
If the printer employs three primaries, and both device (e.g., C, M, Y, K) and colorimetric (e.g., L*, a*, b*) data are
available, one can use the device coordinates to identify surface points. Let each of the 3 device values span the interval [0, 1].
Assume, also, that the printer has been calibrated, i.e., each of the three colorants have been linearized to some metric such as
lightness (L*), reflectance, or optical density. One would then expect that a measured point in colorimetric space lies on the
gamut surface if and only if at least one of the 3 components of the corresponding device data point is 0 or 1. We therefore
need to drive the printer with a set of device values satisfying this constraint, and measure the corresponding values in a
colorimetric space. The next step is to extract an approximation of the gamut surface from these surface points. A common
approach is to represent the surface as a partition of planar triangles. Several methods exist to triangulate a set of surface
points. If the data comes from an underlying 3-D grid in device space, the triangulation process is simply one of splitting each
surface rectangle on the grid into two triangles with a diagonal of consistent orientation.1 If the data does not lie on a regular
grid, then a method such as Delaunay triangulation2 may be used to generate surface triangles. This approach can result in
fairly accurate gamut estimates, provided there is an adequate sampling of colorimetric data to capture the surface curvature.
If the device employs 3 colorants, and there exists an analytical model that accurately predicts its behavior, then in some
cases, it would be possible to at least parametrically describe the gamut surface. Since most printers require fairly
sophisticated modeling, the surface descriptions can become quite complex. Hence it is common practice to use the model
(instead of the real printer) to generate a grid of data, and approximate the surface with planar triangles, as described in the
previous paragraph.
Consider a printer that employs N colorants, where N>3. Often the combinations of primaries are constrained by some rule
such as UCR. In such cases, the UCR is a 3-to-N function, with inputs being C, M, Y, and outputs being the N device values.
Since, by definition, the latter only span a 3-D space, we can conceptually fold the UCR function into the printer, and think of
the combination as a new device with 3 input primaries, C, M, Y. The techniques described in the aforementioned paragraph
may then be used to estimate the gamut surface, with C, M, Y being the new device values.
Another way to constrain the colorant combinations is to split the color gamut into several non-intersecting subgamuts, and
explore combinations of only 3 inks in each subgamut.4 In this case, one can use the preceding approach to identify the surface
points on any given subgamut; and then eliminate those points that belong to the surface of more than 1 subgamut.
Triangulation of the final surface may then be achieved by one of the usual methods. Note that the eight-point gamut described
in section 2.1 is in fact the simplest case of this approach, where each subgamut is just a tetrahedron.
2.3 Geometric approaches
Suppose that we wish to estimate the overall gamut of an N colorant device with no constraint on the ink combinations.
Such a result has the useful interpretation as the best gamut achievable with the N inks, and would serve as an upper bound in
gamut volume, across all algorithms that constrain the ink mixtures. In the unconstrained case, we can no longer identify a
surface point from the condition that at least one of the device values is 0 or 1. To see this, we need only consider a point such
as CMYK = [0, 0, 0, 0.5], which satisfies the aforementioned condition, but lies on the neutral axis interior to the gamut.
Since we cannot depend on device values, we must resort to different methods to identify the surface points.
Consider also the case where we have the measured samples from a printer, but have no knowledge of the underlying device
values that drove the printer to produce the samples. An example of this would be the case where a photographic gamut is to
be estimated from a standard target such as the Kodak Q60. Since there is no knowledge of the CMY dye values in the target,
the gamut surface must be somehow estimated from only the colorimetric measurements.
For both the cases above, a geometric technique is needed to identify the gamut surface directly in colorimetric space. A
common class of geometric techniques for obtaining 3-D volumes is based on the notion of convexity. Let us define some of
the associated terminology. A convex set is defined by the property that if two points A and B belong to the set, then all points
lying on the straight line connecting A and B also belong to the set. The convex hull of a set of points is defined as the smallest
convex set that contains all the points. One way to describe the gamut is therefore to generate the convex hull of all the
measurement data in colorimetric space. Several standard convex hull algorithms exist.5 Most of these algorithms both
identify exterior points in a data set, and triangulate these exterior points. The reader is referred to Ref. 5 for details.
The advantages with the convex hull approach are that it is general; it can be used with any number of measured samples;
and it does not require constraints on, or even knowledge of, the device values used to generate the samples. A problem with
the convex hull is that it is accurate only if 1) the device gamut is a convex solid; and 2) there are a sufficient number of
measurements to capture the shape of the convex solid. If either of these requirements are not met, the convex hull estimate
can be erroneous. To see this, consider Fig. 1, which shows a 2-D projection of a printer gamut in L*a*b* space. The real
gamut is shown in solid lines. If we measure only a few points, (e.g. the 4 solid circles in the figure) and compute the convex
hull, we obtain a solid, whose projection is shown by the dashed lines. We can see that the convex hull overestimates the
gamut in regions A and B, where the faces are concave; and underestimates the gamut in regions C and D, where the faces are
convex. If we now attempt to meet the second requirement, and obtain a larger number of samples, we would get the convex
hull estimate shown in Fig. 2. The estimate is now better, since there is enough data for the hull to capture the convexity in
regions C and D. However, the hull estimate still overestimates the gamut in regions A and B because those faces are concave,
hence violating the first requirement.
In general, it has been our experience that real printer gamuts do contain non-convex faces. We are also not aware of any
printer model that will guarantee convexity of the gamut in any colorimetric space. Consider the simple Neugebauer model6
which predicts the output color as a linear combination of the tristimulus values of the 8 points formed from the solid
overprints of C, M, Y. If the color gamut from this model is plotted in XYZ space, we find that even though all the gamut
edges are straight lines, the faces are not planar, and not necessarily convex. Gustavson7 argues that the effect of light
scattering in the media can “push out” the gamut, and increase the gamut volume. While this is true, convexity still cannot be
guaranteed. Thus we find that the convex hull finder is in general not accurate, and the extent of inaccuracy depends on the
extent of non-convexity of the gamut. In the next section, we propose a simple technique that attempts to better meet the
convexity requirement, and hence improve the accuracy of the convex hull estimate
3. MODIFIED CONVEX HULL ALGORITHM
3.1 Basic idea
The basic idea is to apply a pre-conditioning transform T to the colorimetric data prior to computing the convex hull. The
transform is designed to increase the probability that the resulting gamut volume is convex. The hull finder would correctly
identify the surface points in the transformed space. Finally, the surface points would be mapped through the inverse of T, and
then triangulated.
Assuming that we have a set of data points {X} in a colorimetric space, the algorithm is as follows:
1) Choose a reference point, R, that is known to be in the interior of the gamut. For example, an appropriate choice in CIE
L*a*b* space would be [50, 0, 0].
2) Compute the difference vector D between each data point, X, and the reference point R. Hence D = X - R. Let D = Dd,
where D is the magnitude and d is the unit vector. Hence, D is the Euclidean distance between X and R.
3) Apply a transform to the Euclidean distance of the form:
DD
D
'max
=
α
γ
(1)
where D
max is the maximum distance between a data point and the reference point R; and α and γ are predetermined
parameters in the range 0 1
≤
≤
γ
, and 0
≤
≤
α
Dmax . Fig. 3 shows an example of this function, with α=80, Dmax = 100,
and γ = 0.5.
4) The new location of a data point X is given by X’ = R + D’d.
5) Apply the convex hull algorithm to the transformed data set {X’}. The output of this algorithm is a set of surface points,
and a connectivity map that establishes the surface triangles.
6) Apply the inverse transform of (1) to the surface points to bring them back to the original colorimetric space. Use the
connectivity map of step 5) to triangulate the surface points in this space.
As can be seen from Fig 3, those data points that are close to the reference point are pushed further away in the same radial
direction (i.e. D’ > D for small values of D); and those points far away from the reference are brought inwards in the same
radial direction (i.e. D’ < D for large values of D). The function in Fig 3 is monotonic, so that the ordering of the distances
from the data points to the reference point is preserved. Fig 4 shows the effect of the transform (1) on the gamut data of Fig.
2. We see that the effect is to “inflate” the gamut to a shape that resembles a sphere. Fig. 4 is used only to identify the surface
points, not to calculate the gamut. When the surface points thus identified are used to define the gamut in Fig. 2, the resulting
shape, marked by dotted lines, is seen to be a much better approximation of the true gamut, which is marked by the solid lines.
The parameter γ controls the amount of inflation, and can be chosen based on trial and error. Note that if α = Dmax, and γ = 1,
we have an identity transform with no inflation. As γ is decreased, the amount of inflation increases. Care must be taken not
to over-inflate the gamut, as the situation may be encountered where the data is noisy, and interior points end up being
identified as surface points. We remark, finally, that this technique is limited only by the sampling density of the
measurements. In other words, if we had only the 4 data points from Fig. 1, then the preconditioning transform would not help
capture the curvature of the gamut
3.2 Quantitative metrics
The aforementioned convex hull estimate yields a collection of planar triangles that describe the gamut surface. Such a
description can then be used with visualization tools1 to view the gamut in 3 dimensions. In addition, it is desirable to obtain
some simple quantitative metrics that allow us to evaluate and compare different gamuts. One such metric is the volume of
the gamut. Since the gamut surface is partitioned into planar triangles, one method of estimating the volume is as follows:
1) Select a point O interior to the gamut. Ideally we would like to choose a point from which every surface triangle is
“visible”. That is, if we were to imagine a vector with origin O, then we desire that in any given direction, this vector intersects
only one surface triangle at exactly one point.
2) For each surface triangle, generate a tetrahedron with the 3 triangle vertices and the point O.
3) Compute the volume of each tetrahedron.
4) Add the volumes of all the tetrahedra to obtain the overall gamut volume.
The criterion of visibility of the triangles from the interior point ensures that none of the tetrahedra are self-intersecting, or
intersect with any other tetrahedron.
Another numerical metric useful in evaluating a gamut can be created by picking a standard set of colors having a very large
color gamut, and computing the percentage of these colors that lie within the printer gamut. The widely used Pantone
Matching System (PMS)8 is ideally suited for this application. The PMS contains 972 spot colors (excluding 7 metallics, 28
fluorescents, 4 process and 14 repeats) made by mixing various combinations of the 21 specialty inks (14 basic plus 1 white
plus 6 additional blacks) and thus encompasses a large volume in CIE L*a*b* color space. Most printers employing 4 to 6
process colorants cover only a fraction of this volume. The PMS should not be confused with the Pantone Hexachrome system
(mentioned below), which is a 6 process colorant system.
Another numerical metric useful in evaluating a printer gamut can be created by picking a standard set of colors spanning a
large volume in color space, and computing the percentage of these colors that lie within the printer gamut. The widely used
Pantone Matching System (PMS)8 is ideally suited for this application. The Pantone Color Selector 1000 contains 1025 spot
colors, made by mixing various combinations of a large number of specialty inks, which encompass a large volume in CIE
L*a*b* color space. Most printers employing 4 to 6 process colorants cover only a fraction of this volume. The Pantone
Matching System should not be confused with the Pantone Hexachrome system (mentioned below), which is a 6 process
colorant system. Of the 1025 Pantone spot colors, we selected 972 (excluding 7 metallics, 28 fluorescents, 4 process and 14
repeats) as being meaningful for the color gamut metric. Color data on these 972 spot colors were obtained from the Pantone
ColorDrive desktop color palette management software. Standard ray tracing techniques were then used to determine whether
each of these 972 colors was inside or outside the printer gamut.
4. RESULTS
Figure 5(a) is a plot of colors from the Pantone Hexachrome set. This set contains 2022 colors, rendered with a total of 6
inks, C, M, Y, K, orange and green. The plot is a 2-D projection onto the a*-b* axis. We clearly see some non-convex
surfaces on the gamut. The convex hull of this data set is shown in Fig 5(b). Clearly the gamut is overestimated in some
regions. Fig 5(c) shows the result of applying the transformation (1) prior to computing the convex hull. The reference point
was L*a*b* = [50, 0, 0]; and parameter values of α=80, Dmax = 110, and γ = 0.3 were used in (1). We see that this approach
more closely follows the data. We noted that the gamut volume calculated by the simpler convex hull approach is about 12
percent higher than that obtained from the more accurate method.
Table 1 shows gamut volumes (in Kilo L*a*b* volume units) and % PMS colors within gamut in CIE L*a*b* space, for
four printers: 1) a lithographic printer conforming to the Specifications Web Offset Publications (SWOP) standard; 2) Xerox
5765 laser printer; 3) Pantone Hexachrome system; 4) HP 1600C inkjet printer. The SWOP and Hexachrome data are for
samples on coated paper, while the Xerox 5765 and HP 1600C are on plain paper. For the CMYK printers, an IT8/7.3 target
or equivalent was printed and measured, with unconstrained combinations of CMYK. Hence the results represent the
maximum gamut achievable with the given inks, media, and halftoning scheme. For the Pantone Hexachrome system, the
Pantone Hexachrome Color Selector was measured, as this was the only sample set available. We see that the %PMS values
correlate quite well with the gamut volumes.
5. CONCLUSIONS
A method has been proposed to estimate the surface of a device gamut by applying a simple pre-conditioning transform on
the colorimetric data, and then computing the convex hull. The method does not require any knowledge of, or constraints on,
the input device values used to generate the colorimetric data. Results show that the simple pre-conditioning transform can
noticeably improve the accuracy of the simpler convex hull method, while retaining its generality.
6. REFERENCES
1. Robert J. Rolleston, “Visualization of colorimetric calibration”, SPIE vol. 1912, Color Hardcopy & Graphic Arts 11, pp
299-309, 1993.
2. Ian E. Bell and William Cowan, “Characterizing printer gamuts using tetrahedral interpolation”, IS&T and SID’s Color
Imaging Conference: Transforms and Transportability of Color, pp 108-113, 1993.
3. Troy O. McBride, “Analysis of digital printer system color gamut”, IS&T NIP12: International Conference on Digital
Printing Technologies, pp 117-120, 1996.
4. V. Ostromoukhov, “Chromaticity gamut enhancement by heptatone multi-color printing”, SPIE vol. 1909, Device
Independent Color, pp 139-151, 1993.
5. Franco P. Preparata, and Michael I. Shamos, “Computational geometry - an introduction”, Springer-Verlag, 1990.
6. Robert Rolleston and Raja Balasubramanian, Accuracy of various types of Neugebauer models, Proc. IS&T and SID‘s
Color Imaging Conference: Transforms and Transportability of Color, pp 32-37, Nov 1993.
7. Bjorn Kruse, and Stefan Gustavson, “Rendering of color on scattering media”, SPIE vol. 2657, Human Vision and
Electronic Imaging, pp. 422-431, 1996.
8. “Pantone Color Selector 1000”, Pantone Inc., Carlstadt, NJ.
L*
a*
AB
CD
a*
L*
AB
CD
Fig. 1 Comparison of printer gamut and 4 point convex hull. Fig. 2 Comparison of printer gamut and 21 point convex
True gamut is represented by solid lines; convex hull is hull. True gamut is represented by solid lines;
represented by dashed lines. simple convex hull by dashed lines and the modified
convex hull method described in this paper by dotted
lines.
0
20
40
60
80
100
050 100
D
D'
a*
L*
Fig. 3 An example of the pre-conditioning function. Fig. 4 Effect of the inflation function on the 21 point gamut.
Actual gamut is represented by solid lines; convex hull is
represented by dashed lines
Fig. 5 Plot of Pantone Hexachrome colors shown as dots; proposed convex hull shown as
solid ; straightforward convex hull shown as wireframe.
Table 1: Comparison of gamut volumes and % Pantone colors (PMS) within gamut for four printing technologies.
SWOP
(lithography) Xerox 5765 Hexachrome HP1600C
(plain paper)
Gamut Volume (Kilo
Lab vol units)
299 498 563 183
% PMS within gamut
36.5 55.3 62.3 25.8