No mapping preserves everything
Assumes Neither gamut contains the other and A profile is a table.
A colour that the destination cannot make has to become some colour that it can. Every colour management system offers a choice of how, the choices have names, and the names are unhelpful: perceptual, relative colorimetric, saturation, absolute colorimetric. They sound like qualities. They are answers to one question, and the question has no good answer.
The claim
Every gamut mapping trades two quantities against each other, and no mapping is good at both. One is how far it moves colours the destination could already reproduce; the other is how many distinct colours it merges into one.
Measured on a gradient of one hue running out to the edge of sRGB, mapped into a four-colour press:
| intent | moves in-gamut colours | collapses distinguishable pairs |
|---|---|---|
| relative colorimetric | ΔE00 0.00 | 10% |
| perceptual | ΔE00 2.95 | 4% |
| saturation | ΔE00 6.30 | 0% |
The first column is exactly zero for the colorimetric intent by construction — that is what colorimetric means, and it is a strong guarantee. The second column is the price.
The two costs, and why they are different currencies
Moving a colour that was already reproducible is an error with a magnitude. It is a ΔE00, it can be compared with a tolerance, and it is what an inspector measuring a patch would report. It is also, in a sense, honest: everything is a little wrong, and nothing is wrong in a way that cannot be described.
Collapsing distinct colours into one has no magnitude at all. Two colours a ΔE00 of four apart arrive identical; the error on each is small, and what was lost is not a colour but a distinction. A sky gradient becomes a band. A logo’s shadow disappears into the logo. And because both colours were nearly at the boundary, both individual errors are small, so any summary based on average ΔE00 will report the clip as excellent.
That asymmetry is why the clip has survived as the default. It optimises the quantity that gets measured.
What each intent actually does
The specification defines four, and their behaviour on the ramp above is as different as their descriptions suggest.
Relative colorimetric. Colours inside the destination are left alone. Colours outside are moved to the nearest point on the boundary at the same lightness and hue. The white of the source is mapped to the white of the destination, so the paper is treated as white.
Absolute colorimetric. The same, except the destination’s white is not treated as white — the paper is reproduced as the colour it is. It exists for proofing one substrate on another and it is the intent that makes a proof look yellow.
Perceptual. The whole source solid is compressed into the destination: lightness range first, then chroma by a smooth function that leaves the inner half nearly alone and spends the compression near the boundary. Nothing is clipped and everything moves. The specification does not say how, so two vendors’ perceptual mappings differ, and a picture rendered through one profile’s perceptual table cannot be reproduced through another’s.
Saturation. Chroma is held at the destination’s maximum for the hue and lightness is allowed to move to reach it. It is for charts and diagrams, where a vivid distinguishable set of colours matters and their exact identity does not.
The measurement, and how it was made
The two costs are computed on a ramp rather than on a uniform sample of the solid, and that choice is the methodological point.
A uniform sample dilutes the effect into an average. Most of a gamut’s volume is well inside the destination, so a random sample of it reports that both intents are nearly perfect, and it reports that because the sample is mostly made of colours neither intent has any decision to make about. The failure is concentrated on gradients that run out of the destination, so that is what is measured: twenty steps at one lightness and hue, from neutral out to the source’s own boundary.
movedInside averages the ΔE00 over just those samples the destination could already reproduce. collapsed counts pairs: every pair of source colours more than one ΔE00 apart is examined, and the fraction of them that arrive less than one apart is reported. A pair that was already indistinguishable is not counted, so the number cannot be inflated by sampling finely.
| ramp | relative colorimetric | perceptual | saturation |
|---|---|---|---|
| L 55, hue 25° | 0.00 / 10% | 2.95 / 4% | 6.30 / 0% |
| L 50, hue 300° | 0.00 / 41% | 2.65 / 15% | 8.45 / 4% |
| L 60, hue 200° | 0.00 / 0% | 3.06 / 0% | 6.80 / 0% |
| L 45, hue 140° | 0.00 / 2% | 2.01 / 2% | 5.80 / 0% |
Moved-in-gamut first, collapsed second. The violet row is where the press is weakest and the clip destroys two fifths of the distinctions on the ramp; the 200° row is a hue the press handles, where every intent’s collapse is zero and the perceptual intent is paying three ΔE00 for nothing.
The exchange rate, and how far it varies
The two columns are in different currencies, which the section above says and then leaves. Dividing one by the other gives a rate — how many percentage points of collapse a unit of colour difference buys — and the rate turns out to vary by more across one profile than the intents vary from each other.
| ramp | what the clip collapses | perceptual buys back | for | rate |
|---|---|---|---|---|
| L 50, hue 300° | 41% | 26 points | 2.65 ΔE00 | 9.8 points per unit |
| L 55, hue 25° | 10% | 6 points | 2.95 | 2.0 |
| L 45, hue 140° | 2% | 0 points | 2.01 | 0 |
| L 60, hue 200° | 0% | 0 points | 3.06 | 0 |
A factor of five between the first two rows, and a division by zero in the last two. The perceptual intent charges very nearly the same fee everywhere — between 2.0 and 3.1 units, because it compresses the whole solid whether or not this part of it needed compressing — and delivers between everything and nothing depending on where in the gamut the ramp runs.
That reframes the choice. It is not that one intent is careful and another is aggressive; it is that one of them prices its service at a flat rate and the other’s value varies fivefold across the same profile. On the violet ramp the perceptual intent is an obvious bargain. On the cyan ramp it is a pure loss of three units of colour difference, which is three times what a paint contract would accept, in exchange for nothing whatever.
And there is a second reading in the same numbers. Perceptual leaves 0.37 to 0.40 of the clip’s collapse in place on the two rows where there is any to remove — so it does not solve the problem, it takes about three fifths of it away. Saturation removes essentially all of it and charges 5.8 to 8.5 units, a rate of 1.6 to 4.4 points per unit, which is worse than perceptual’s on every row where both do anything. On these two measures the saturation intent is dominated, which is fair to it only because the thing it is actually for — keeping a set of chart colours mutually distinct and vivid — is neither of the quantities being counted here.
The practical form is the one the next section is about. The rate varies fivefold across a single profile, and the intent is chosen once for a whole image, so any single choice is simultaneously a bargain in one part of the picture and a waste in another. That is not a defect in the intents; it is what choosing one number for a varying quantity costs, and it is the strongest available argument for the image-aware mappings that no profile can hold.
The intent is chosen per picture and applied per pixel
Two structural facts about how this is implemented, both of which make the trade worse than the table suggests.
The choice is made once for a whole image. A photograph containing both a saturated flower and a neutral portrait gets one intent for both, and the intent that saves the flower is the one that moves the face.
And the mapping is applied pixel by pixel, with no knowledge of the picture. A perceptual mapping compresses as though the source occupied the whole of sRGB, whether or not this image contains a single saturated pixel. That is why the 200° row above shows an intent paying full price for nothing: the compression is a property of the profile, computed when the profile was built, and it has never seen the image.
The rate table above says how much that costs and where. A profile built for the worst hue in its destination overcharges every other hue by up to three units; one built for the average undercharges the hue that needed it most, which is the hue somebody will complain about. There is no single compression that is right for a solid whose deficit varies fivefold around it, and a profile is required to contain exactly one.
A gamut mapping that looked at the picture could do better than either intent, and several have been proposed. None is in a profile, because a profile is a table built in advance and a table cannot depend on the thing it will be applied to.
The intent that reproduces a fault on purpose
Absolute colorimetric deserves its own paragraph, because it is the intent people turn off.
It differs from relative colorimetric in one respect: the destination’s white is not rescaled to the source’s. A print on newsprint therefore comes out on the proofing stock as the beige it will actually be, and a proof of a coated job on a whiter proofing paper comes out with a tinted white where the eye expects paper.
That looks like a fault. It is the only intent that answers the question what colour will the sheet be, which is the question a proof exists to answer, and the essay on the substrate is the long form of why. Every other intent has already decided that the paper is white, which is a convenience for process control and a lie to anybody trying to predict an appearance.
The same trade, running the other way
Everything above maps a display’s gamut into a press’s, which is the direction the industry cares about. The reverse direction exists and is instructive, because it inverts which colours are the problem.
Showing a printed piece on a screen — a soft proof, a catalogue photograph, a colour picker in a design tool — maps the press into the display, and about eleven per cent of the press’s solid is outside sRGB. Those colours are mostly cyans and dark blue-greens, and a colorimetric mapping does to them exactly what it does to a violet in the other direction: it clips a gradient to a boundary and merges the distinctions.
This is why a printed cyan cannot be argued about on a screen, and why the argument has been had in every print shop in the world. The screen is not merely showing an approximation; it is showing a clipped approximation, in which several distinct printable cyans are the same pixel value.
Where this model stops
The perceptual mapping here is one of a family and the specification does not standardise any of them. The one implemented is a lightness rescaling followed by a chroma compression with a knee — a defensible published shape, and different from what any particular vendor ships. Its numbers should be read as what a perceptual intent costs, not as what a named product costs.
The clip is to the nearest boundary point at constant lightness and hue. Real colorimetric clipping often uses minimum ΔE00 in three dimensions, which allows lightness to move a little and produces slightly smaller errors and slightly different collapses. The trade is the same shape.
Hue is held fixed throughout. Every mapping here preserves CIELAB hue angle, which is standard practice and is not the same as preserving hue — CIELAB’s constant-hue lines are famously bent in the blues, so a mapping that holds hue angle constant in the blue region turns blues purple, which is a well-known artefact and is not modelled here.
And the destination boundary is measured on a voxel set with a stated cell. The boundary is therefore known to about two ΔE00, which is fine for a decision about mapping and would be far too coarse for a tolerance.
The choice is usually made by nobody
A last practical note, because the intents are presented as a choice and are usually not one.
Almost every application ships with a default intent, almost every user leaves it, and the defaults differ: page-layout software has historically defaulted to relative colorimetric, image editors to perceptual, and operating-system colour engines to whatever the profile’s own header nominates. A picture placed in a layout, exported, and re-converted downstream can pass through two or three different intents on its way to a plate, and no stage records which.
The measurable consequence is that the two costs in this essay are being paid in an order nobody chose. A perceptual compression followed by a colorimetric clip pays the first intent’s shift and the second’s collapse, which is the worst available combination and is entirely ordinary.
The generalisation
A projection onto a smaller set has to decide between exactness and injectivity, and it cannot have both.
Stated that way the trade stops being a printing question. It is the same one that appears whenever a signal is fitted into a smaller range: a limiter clips a waveform and preserves everything below its threshold exactly; a compressor moves everything and preserves the peaks. A blown highlight in a camera is the clip, and tone mapping is the compression. Black point compensation is the same choice restricted to the lightness axis.
The useful diagnostic in all of these cases is the second column of the table, and it is the one that is almost never measured. Averages of error cannot see a collapse, because the error on each of two merged values is small. The quantity to compute is how many distinguishable pairs stop being distinguishable, and it takes a pair-wise comparison rather than a per-sample one.
Once that number is on the table, the choice is at least a choice. Without it, every clip looks excellent.
And the ratio between the two columns is the thing to carry rather than either alone. An error and a collapse are not commensurable, so a rate expressed in one per the other is not a physical quantity — but it is comparable across mappings and across regions, which is exactly what a decision needs and what neither column supplies. The same construction would work on any of the other projections above: a limiter and a compressor can be priced against each other in decibels of movement per distinction preserved, and audio practice argues about the choice with no such number in hand either.
Who found it, and when
Gamut mapping as a named research problem dates from the late 1980s, when desktop systems first put a scanner, a screen and a printer in one room and the disagreements became everybody’s problem rather than a specialist’s.
The ICC’s four intents were fixed in the 1993 specification, and the decision that shapes everything since was to standardise the colorimetric intents precisely and leave perceptual to the vendor. The reasoning was sound — nobody knew what the best perceptual mapping was, and freezing a bad one would have been worse — but the consequence is that half the intents in the standard are reproducible between systems and half are not.
The CIE’s technical committee on gamut mapping published its recommendation in 2004 after testing many published algorithms against observers, and settled on a lightness-then-chroma compression of roughly the shape used here. It is a recommendation and not a requirement, and profiles in the field still differ.
What has not changed in thirty years is the trade. Every algorithm proposed since buys distinctions with accuracy or accuracy with distinctions, and the interesting work has been in where to spend the compression rather than in escaping the choice.
Where the ladder goes next
This rung sits on the gamut comparison, which is where the colours needing a decision come from, and on the profile, which is where the decision is stored.
Beside it, a black that is not black is the same trade in one dimension, with the two answers named differently and standardised separately for historical reasons.
Above, the mapping’s output has to be looked at by somebody, and the room they are in changes it again: the proof is a different object measures an appearance difference of about four CAM16-UCS units between a print in a booth and the same colorimetry on a screen — larger than the error any intent above is arguing about.
What this makes readable
Essays that name this one as a prerequisite.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the index of named objects makes visible.
- A budget drawn through one hue clipping · colour management · gamut mapping · rendering intent · specification
- A chain measured in a unit that cannot add colour management · gamut mapping · the icc profile · rendering intent · specification
- A catalogue is not a vocabulary chroma · gamut · lightness · specification
- A mean is not a difference colour management · gamut mapping · the icc profile · specification
- A proof cannot glow colour management · gamut · the icc profile · rendering intent
- A stop is not a stop afterwards chroma · clipping · lightness · specification
What links here
The 8 essays that link to this one and share the most of its objects, of 19 that link here.
The objects this essay names
Each one links to every other essay that touches it.
ChromaClippingColour managementGamutGamut mappingThe ICC profileJust-noticeable differenceLightnessRendering intentSpecification