The WCS Minimum Color Difference (MinCD) baseline gamut mapping model is conceptually the simplest of our gamut mapping algorithms. It corresponds roughly to the ICC colorimetric rendering intents, and like them it comes in two flavors that roughly correspond to the ICC relative and absolute colorimetric rendering intents.

MinCD differs from the ICC colorimetric intents primarily in that it operates on gamut boundary descriptions (GBDs) in the WCS color appearance model space (CAM space), rather than in the ICC colorimetric profile connection space (PCS)... So it is not really "colorimetric" in that sense.

Like the ICC colorimetric intents, source colors that fall within the destination gamut are unchanged, and source colors that fall outside the destination gamut are mapped to the "nearest" color on the destination GBD surface. For out of gamut colors, lightness and chroma are adjusted by finding the point in the destination’s gamut surface that has the mimimum weighted color distance from the out of gamut input point. The color distance is computed in CIECAM02 JCh space. However, we weight the distance in lightness (J) and the distance in chroma (C) or hue (h) differently. A chroma-dependent weighting function is used for the distance in lightness so that the weight is smaller for small chroma and larger for large chroma until a threshold chroma is reached, after which the weight stays at 1, i.e. same weight as distance in chroma or hue. Our lightness weighting function looks like this:

wJ = k2 – k1 (C – Cmax)n


where k2 = 1, k1 = 0.75/(Cmax)n, Cmax = 100, n = 2 and C is the smaller of chroma of the query point and Cmax.

so that a weight of 0.25 is put on the J term when chroma is zero, and a weight of 1 when chroma is 100. The trend of putting less weight on J when chroma is small, more weight on J when chroma is large follows the recommended usage for CMC and CIEDE2000.

Here are the two variants:

"Relative" (specified by the Proofing.gmmp gamut mapping model profile) - First we align the source and destination neutral axes in CAM space as described in Part 1 of this series, Gamut Mapping in WCS, Part 1. Source colors are converted into CAM space using the source device model to give XYZ and the CIECAM02 conversion and the source viewing conditions. We then apply the source neutral axis adjustment to the source color in CAM space. Then we clip the adjusted source color to the nearest color on the adjusted destination gamut boundary. We then apply the inverse of the destination neutral axis adjustment to give us the output color in CAM space. We then use the inverse (CAM to XYZ) CIECAM02 conversion, parameterized using the destination viewing conditions, followed by the destination device model to produce the output color in the destination device color space.

"Absolute" (specified by the MediaSim.gmmp gamut mapping model profile) - This is similar to "Relative" but without the alignment of the source and destination neutral axes, and so, without the neutral axis adjustments being applied to the colors being mapped. Thus, source colors in CAM space are clipped directly to the un-adjusted destination gamut boundary in CAM space.


The MinCD GMMPs are primarily intended for use in the final stage of simulation or proofing color transforms. An example of this would be simulating output from a printer on your display ("softproofing"). Such transforms look like this (assuming a photographic or contone source image):

source space -> Photo.gmmp -> printer space -> [MinCD] -> display space

In most cases [MinCD] should be the "relative" variant, Proofing.gmmp, this will map the printer's neutral axis onto the display's neutral axis: the printer's paper white will map to the display's whitepoint. This is usually what you want when softproofing. There are cases where you want to simulate the appearance of the printer substrate or media ("paper color") on the display device. Using the "absolute" variant of MinCD, MediaSim.gmmp, will accomplish this - the color of the printer's substrate will not be mapped to a neutral on the display. This will give the displayed image an apparent color cast, relative to the display's whitepoint. MediaSim.gmmp should only be used when such media simulation is desired.

Another use for the "relative" variant of MinCD, Proofing.gmmp, is for rendering "logo colors". Proofing.gmmp will render in-gamut colors exactly, and that is generally what you want for colors used in logo graphics.

One caveat is that MinCD may produce undesireable artifacts in smooth gradients that cross the destination gamut boundary. The clipping of the out-of-gamut colors in the gradient to the nearest colors on the destination gamut boundary may result in changes in chroma or lightness that appear as banding or oscillation in the output gradient. This depends on the shape of the destination gamut boundary and the colors in the gradient.

The WCS Photographic baseline gamut mapping model, specified by Photo.gmmp, will render such gradients without artifacts.

I will describe the WCS Photographic baseline gamut mapping model in the next posting in this series.