Concept

Gamut mapping — where it appears

Moving colours that a device cannot reach onto ones it can, which is a decision about what to preserve rather than a repair. No mapping preserves hue, lightness and relative differences together, so every rendering intent gives up one of them.

Named by 24 essays across 5 fields — each of them below, with the objects they name alongside it.

sRGB, Display P3 and Rec. 2020 compared on the chromaticity diagram. Three nested triangles inside the horseshoe. sRGB covers 74 per cent of the area P3 covers. Rec. 2020's red and green primaries sit on the spectral locus itself, within 0.000 and 0.002 of it, meaning they are monochromatic.

What a gamut costs

Three primaries reach a triangle and the visible region is not a triangle, so something has to give. Widening the primaries helps, has a price in precision and compatibility, and runs into a limit that is geometric rather than technological.

matching · Gamut
Chromaticity-triangle area against CIELAB volume, both relative to sRGB. Two ratios for each space, both against sRGB. The upper bar is the area of the primary triangle on the CIE 1931 diagram; the lower is the volume of the gamut solid in CIELAB, computed by tetrahedral decomposition of the RGB cube at 24 cells per axis. Display P3 is 1.36× sRGB by area and 1.50× by volume; Rec. 2020 is 1.89× sRGB by area and 2.26× by volume. The chromaticity diagram divides luminance out, so its triangle is a projection along the axis the eye is most sensitive to — and a coverage percentage quoted on it is a statement about the shadow.

The triangle is a shadow

A display's gamut is drawn as a triangle on the chromaticity diagram, and coverage is quoted as a percentage of that triangle's area. Chromaticity has luminance divided out, so the triangle is a projection along the axis the eye cares most about — and the ratios computed on the solid are not the ratios computed on its shadow.

limits · Limits
What a press and a display can reach at L* = 50. A slice through both solids at lightness 50, with the press dashed and the display solid. The boundaries cross: the press reaches past sRGB in 15 of 48 directions and falls inside it in 31. That is the shape of every conversion between them — colours are lost in one direction and gained in the other, and the picture cannot show the gained ones, because it is being displayed on the gamut that cannot reach them. Those are hatched.

Neither gamut contains the other

Converting a picture to CMYK is described everywhere as a reduction, as though the press were a smaller version of the screen. Measured as solids, the press reaches eleven per cent of its volume outside sRGB while sRGB reaches fifty-four per cent of its volume outside the press — and in the cyans the press wins by seventy per cent of chroma.

applied · Delivery
A gradient of one hue, mapped into a press's gamut 2 ways. Chroma asked for along the bottom, chroma delivered up the side, for a ramp at lightness 55 and hue angle 25°. A colorimetric intent follows the diagonal until the press runs out and is flat afterwards — the flat part is a gradient arriving as a single colour. The perceptual intent is under the diagonal from the start, which is the price of never going flat.

No mapping preserves everything

More than half the sRGB solid is outside a press's gamut, so something has to be done with it, and there are two things that can be done. One leaves every reproducible colour exactly where it was and delivers a gradient as a flat area. The other keeps the gradient and moves every colour that needed no help by about three.

applied · Delivery
The worst triple found, under ΔE2000. Three colours, plotted on the a–b plane of CIELAB. Going from a to c directly is 123.645; going via b is 60.528, which is 51.0 per cent shorter. A distance cannot behave that way, and this one is the formula every colour tolerance in industry is written in. The colours are far apart, which is where the violation is largest; the same search confined to tolerance scale finds a smaller one that has not gone away.

A difference is not a distance

Two earlier essays here said that CIEDE2000 violates the triangle inequality and left it at that. Searching for the violation finds a detour half the length of the direct route, a smaller one inside a five-unit ball, and a second defect nobody mentions — ΔE94 is not even symmetric.

difference · Metric
Which of two reproductions is better depends on which statistic is asked. A specification for a proof or a print run is written against a set and has to reduce the set to one number. Here are two candidates: the one with the lower mean has the higher ninety-fifth percentile, so the mean prefers A and the tail prefers B. Across 2000 pairs of candidates generated the same way, the two statistics disagree about the winner 30 per cent of the time. Both numbers are honest; only one of them is what somebody notices.

A mean is not a difference

A specification for a proof, a profile or a print run is written against a set of colours and has to reduce that set to one number. The mean and the ninety-fifth percentile disagree about which of two reproductions is better in thirty per cent of cases, and both numbers are honest.

difference · Metric
Where a delivered colour's error actually comes from. Three bars and two totals. The profile's interpolation between its nodes contributes 0.13 ΔE00; the rendering intent, at the colorimetric setting, moves nothing that was already printable and contributes 0.00; and looking at the result in a dim room rather than the booth it was proofed in contributes 4.30, which is 97 per cent of the total. The two totals are the three added — 4.43 — and combined in quadrature — 4.30. The gap between those two rules is 0.127, about the size of the entire profile stage, and no standard says which rule to use.

A delivery tolerance is three tolerances

A colour reaches a reader through a profile, a gamut mapping and a room, and each has a number somebody chose. Each has an essay of its own here, and none of those essays had put the three costs in one column. Put there, the stage nobody controls carries ninety-seven per cent of the total.

applied · Delivery
A gradient of one hue, mapped into a press's gamut 3 ways. Chroma asked for along the bottom, chroma delivered up the side, for a ramp at lightness 55 and hue angle 25°. A colorimetric intent follows the diagonal until the press runs out and is flat afterwards — the flat part is a gradient arriving as a single colour. The perceptual intent is under the diagonal from the start, which is the price of never going flat.

A budget drawn through one hue

The three-stage error budget this collection publishes for a colour-management chain is computed over twenty-four colours of a single hue at a single lightness. The quantity that actually varies with hue — how many distinguishable colours a rendering intent destroys — runs from nothing at all to more than a third, and the hue the budget uses is near the bottom of that range.

applied · Delivery
The budget's three numbers, and the units they are in. The published three-stage budget's own figures, with each one's unit named, beside the same stage re-measured in a single unit over the same colours. Two of the three are colour differences between stimuli and the third is a distance between appearances, and the budget adds them. The fourth row is a stage the budget has no entry for: the colours the separation cannot reach even after the mapping has moved them, which comes to 1.45.

The budget adds two units

This collection publishes a three-stage error budget for a colour-management chain and prints its sum. Two of the three stages are colour differences between stimuli and the third is a distance between appearances, and the conversion between those is not a constant. Re-measured in one unit over the same colours the chain has four stages rather than three, its end-to-end error is 5.05 against a sum of 7.66, and the profile's contribution where a job actually lands is 3.2 times its published average.

applied · Delivery
The same colour, delivered from two documents. A ramp of chroma, mapped into a press's gamut under the perceptual intent from two source solids: the whole of sRGB, and the same solid with its chroma limited, which is what a document containing only muted colours amounts to. Under a colorimetric intent the two answers are identical to the floating-point floor. Under the perceptual one they are 0.69 apart at the mean and 2.64 at the worst, on colours the destination could hold either way.

An intent is not a function of the colour

A rendering intent is chosen per job and applied per pixel, which suggests it is a function of the colour. The colorimetric ones are, exactly — the same colour from two documents comes out identical to the floating-point floor. The perceptual one is not — it compresses the whole source solid into the destination, so the same colour delivered from a wide document and from a muted one lands 2.6 colour differences apart, on colours the destination could hold either way.

applied · Delivery
Out to the device and back, once and again. Each intent applied 3 times in succession to the same ramp. The upper bar is what the first pass moves and the lower is what the second moves. relative-colorimetric is idempotent — the second pass moves nothing, to the floating-point floor — and the other two are not: perceptual moves another 2.73 and saturation moves another 3.09. A file converted twice is not a file converted once.

A second conversion is not a repeat

A colour converted to a device and back is described as lossy where the device cannot hold it and exact where it can, which suggests that a colour surviving one round trip survives any number. One of the four intents is idempotent to the floating-point floor. The other two are not — a perceptual conversion moves a ramp 3.70 colour differences on its first pass and another 2.73 on its second, and after three passes it is still moving by 2.42.

applied · Delivery
How far the chain falls short of its sum, and how much of that is the unit. For each rendering intent, three ratios of the chain's end-to-end error to the sum of its four stages. The lowest bar is the published one, in the power-corrected unit. The middle bar is what that unit reports for a chain whose stages point the same way and add exactly — the exponent on its own. The top bar is the same chain measured in the model's own Euclidean space. Under the colorimetric intent the published ratio is 0.66, the exponent alone gives 0.74 and the chain in a space that can add 0.84: 77 per cent of the shortfall is the unit.

A chain measured in a unit that cannot add

A delivery chain's four stages, measured in the power-corrected appearance difference, sum to 7.66 while the chain end to end measures 5.05, and the shortfall was read as the stages partly cancelling. A chain whose four stages lay in a straight line and added exactly would still read 0.74 of its sum in that unit, because a distance raised to the power 0.63 cannot add. Measured in the model's own Euclidean space the same chain reaches 0.84 of its sum. Three quarters of the published shortfall was the exponent.

applied · Delivery
What a gamut charges a gradient, against what the relaxation's noise is. For each gradient, how much longer the best path that stays inside sRGB is than the free shortest path, as a percentage of the free one. The shaded band is the relaxation's own noise, measured by relaxing the same free path from two different starting points: 0.42 per cent at its worst. Every excess is inside it. So holding a gradient inside a display's gamut costs nothing measurable in the metric's own units, on any of these pairs — including the ones whose free path is outside at most of its points.

A gamut charges a gradient nothing

On red to green the shortest path happened to stay inside sRGB where the straight line did not, and that was called a coincidence of mechanism. Made into a measurement it is not a coincidence: constraining a path to stay inside the gamut costs less of the metric's own length than the relaxation's own noise, on every gradient tested — including the ones whose free shortest path is outside at fifteen of its twenty-one steps. The gamut's boundary and the metric's cheap region point the same way, and the price of the constraint is nothing.

matching · Gamut
How far each model turns a display colour's hue as white is added. The twenty-four most saturated colours an sRGB display makes, one every 15° of HSV hue across, each mixed with the display's white at the same luminance down to a fifth of its purity. Up, how far that mixture's hue angle turns in CIECAM16, CIELAB and Oklab. From red to a fifth of its purity CIECAM16 turns −9.4° and Oklab −10.2°; CIELAB −18.1°. From the display's blue, Oklab turns +16.3°, CIECAM16 +3.6° and CIELAB −8.9°.

White turns a hue, and the models part at blue

Mix a saturated light with white and its hue changes as well as its saturation — the Abney effect, and the reason lines of constant perceived hue curve in a chromaticity diagram. Asked what adding white does to the twenty-four most saturated colours a display makes, CIECAM16, CIELAB and Oklab all turn the hue. About reds they agree: CIECAM16 turns within a degree of Oklab, whose hue was fitted to observers' constant-hue judgements. About the display's blue they do not: Oklab turns sixteen degrees, CIECAM16 four, and CIELAB nine the other way.

brain · Appearance
Six starts for every held gradient, and where each one lands. Each row is one gradient held inside a gamut, relaxed from six starts: the straight line, the free shortest path, and the straight line bent towards and away from the neutral axis and up and down in lightness. Each dot is how much longer than the free shortest path that start's result is, on a logarithmic scale from a hundredth of a per cent to a thousand; the ring marks the best. The first 10 rows are gradients between colours on a coated CMYK press's boundary whose straight line leaves the press: their best routes cost a median of 0.12% and at most 1.1%, and on 5 of them some start lands at more than twice the free length. The next 3 are the display gradients held inside sRGB, whose best cost at most 1.3% and whose starts spread by at most 4.2%. The last 6 are press gradients that never leave, where no start is trapped.

A press makes the cheap route a search

Holding a gradient inside a display's gamut cost nothing measurable, and the essay that found it credited the gamut's convexity. A press's gamut is not convex: 216 of 630 straight lines between colours on its own hue ring leave it. Holding gradients inside the press still costs little at best, a median of a tenth of a per cent. But the best route depends on where the relaxation starts, the free path is the best start on one gradient of ten, and on half of them some start is trapped at more than twice the free length. On the display no start is trapped.

matching · Gamut
The same gradients, priced by a penalty and by a projection. Each row is one gradient held inside a coated press from six starts. The pale dots are the penalised relaxation — a free step, with a price for leaving the press — and the dark ones are the projected relaxation, which takes the free step and then moves each point to the nearest printable colour. Across is how much longer than the free path each result is, logarithmic. On the 10 gradients whose straight line leaves the press, the penalty leaves 9 starts at more than twice the free length and the projection leaves none. The projection's best route costs a median 0.02% against the penalty's 0.13%, and its spread across starts is 0.95% against 132.5%.

A projection has no reason to detour

Holding a gradient inside a press by penalising the excursion turned the gamut's price from a number into a search: on five of ten crossing gradients some starting point leaves the relaxation trapped at more than twice the free length, and the spread across six starts runs to 271 per cent of the free path. Replacing the penalty with a projection — take the free step, then move each point to the nearest printable colour — leaves no trap on any gradient and a spread of 0.06 to 2.4 per cent.

matching · Gamut
How much of a coated press is left at each margin inside its boundary. The share of a coated press's printable volume in CIELAB that lies at least a given distance inside its boundary, for margins from half a unit to 32. A margin of one unit keeps 88%, two keep 80%, four 66% and eight 45%. At every margin up to 30 what is left is a single connected piece; at 31 units, with 0.14% of the volume left, it first splits, into a core of 623 cells and 2 fragments of one or two cells — the deepest point is 32.7 units inside, so what splits is the last crumb of the core, not a waist.

A margin costs a press its corners

A gradient held inside a coated press by projection was predicted to tear if the press were first shrunk by a safety margin, at any pinch narrow enough for the shrinking to cut. The press has no such pinch: shrunk by any margin up to thirty CIELAB units it stays in one piece, and projected routes on it are neither trapped nor torn. What a margin costs is concentrated at the corners — the solid yellow moves nearly four times the margin to get inside, like the tip of a 31-degree spike.

matching · Gamut
Each end colour's move into the eroded press, over the margin, in CIELAB and in ΔE₀₀. The 9 end colours of the census gradients, each moved to the nearest colour of the press eroded by a margin, for margins of one, two and four. Squares: the margin in CIELAB units and the move in CIELAB. Circles: the margin in ΔE₀₀ and the move in ΔE₀₀. The dashed line at one is a flat face and the one at 1.73 a cube's corner. In CIELAB every end colour moves further than a cube's corner at two units, the solid yellow ×4.6, ×3.9, ×3.8. In ΔE₀₀ six of them move between 1.06 and 1.34 times the margin, and only the solid yellow, at ×1.91, ×2.04, ×2.10, is still sharper than a cube's corner.

A tolerance's own unit rounds the corners

Shrinking a coated press by a margin in CIELAB units made its corners pay several times the margin — the solid yellow nearly four. A print buyer states a margin in ΔE₀₀, and in that unit the corners pay about half as much: six of nine saturated end colours move within a third of the margin, and only the solid yellow is still sharper than a cube's corner. The prediction that the dark corners would stay sharp was wrong; they round too. What the tolerance's unit costs instead is volume — two ΔE₀₀ keep two thirds of the press where two CIELAB units kept four fifths.

matching · Gamut
What keeps the solid yellow sharp in ΔE₀₀, and what rounds it. The solid yellow's corner read as a cone: the opening a margin of two ΔE₀₀ found, the opening a cone about the tongue's measured axis would have once rescaled by ΔE₀₀'s local lengths, and the same with each of three reasons changed — the axis along chroma, the lightness weight as at mid-lightness, the hue function at one. The tilt narrows the corner from 71 to 49 degrees; the two weights both widen it.

The yellow stays sharp because it leans

A safety margin stated in ΔE₀₀ rounds almost every corner of a coated press, and leaves the solid yellow nearly as sharp as a cube's corner. The explanation offered was that the yellow's tongue points up towards lightness as well as out in chroma, so ΔE₀₀ — which shortens chroma at yellow five times and lightness one and a half — shortens it less than a pure chroma spike. Measured from the press's own cells, the tongue leans 23 degrees, less than predicted, and a cone about that axis rescaled by ΔE₀₀ accounts for the yellow's opening to within ten degrees; about a chroma axis it would open twenty-two degrees wider. ΔE₀₀'s own low hue weight at yellow, offered as the alternative, works the other way: it rounds the yellow. And the same account fails at every other corner.

matching · Gamut
The turn is set by the level the blue arrives at. For displays with a red line at 630 nm, a green at 505 to 545 nm and the census's blues, balanced to D65: the turn — the blue at which adding green moves ICtCp's red–green axis from M-ward to L-ward — against the level the blue is delivered at, whatever peak and drive deliver it. With the 530 nm green it runs from 451.6 nm at 10,000 cd/m² to 457.3 at 10; a dimmer blue turns at a longer wavelength for every green.

A tone-mapped blue turns where it lands

In ΔEITP a display's blue corner, and the turn at which adding green to it changes which side of ICtCp's red–green axis it moves the colour to, both shift with the display's peak, because the quantiser reads absolute levels. A high-dynamic-range picture graded on a bright master and shown on a dimmer panel is tone-mapped, its blues delivered below the levels they were graded at. The prediction was that a blue at a tenth of full drive on a 1,000 cd/m² panel turns where a 100 cd/m² panel's full blue does, and that the corner's move differs, because the dimmed blue no longer sits at a vertex. The turn agrees within a hundredth of a nanometre. So does the corner, within half a per cent: the steps both are read from are directions at one absolute signal, whatever drive delivered it. The tone map's whole effect on the blue is where it puts the blue. Through ITU-R BT.2390's curve, a master's bright blues are gathered near a dim display's peak and share one turn there — two nanometres from where the master turned them — while blues under the curve's knee keep their turns exactly.

matching · Gamut
Per channel, a tone curve turns a sky's blue towards cyan. A blue of the 530 nm green's display mixed with a share of green, graded at full blue drive on a 1,000 cd/m² master and shown on displays of 100 and 300 cd/m² through BT.2390's curve applied to each channel or to the largest with all three scaled together: the change in the mixture's ICtCp hue from the master's. Per channel on the 100 cd/m² display the hue turns 23.4° towards the green at a tenth of green; scaled, it moves under three degrees at every share.

A tone curve per channel turns a sky towards cyan

A pure blue tone-mapped from a bright master to a dim display turns, in ΔEITP, wherever its delivered level puts it, and any tone curve that delivers it to the same level gives it the same turn. A picture's blue is not pure. The prediction for a blue mixed with a little green was that a tone curve applied to each channel separately raises the green's share by about half — the blue channel compressed above the curve's knee, the dimmer green left near it — turning the mixture's hue several degrees towards cyan and its turn a nanometre or more from where a curve that scales all three channels together puts it. The turn does move, by 1.6 to 3 nanometres on a 100 cd/m² display and up to 6.5 on a 300. But the share is not raised by half: through BT.2390 to a 100 cd/m² display, a blue graded with a tenth of green arrives with its green at 69 per cent of its blue, nearly seven times as much, and its ICtCp hue turns 23 degrees towards the green. The scaled curve keeps every mixture's hue within three degrees and its turn within half a nanometre of the pure blue's.

matching · Gamut
A blue's intensity sits below where the curve compresses. BT.2390's curve from the 1,000 cd/m² master to displays of 100 and 300 cd/m², with the level a pure blue, a tenth-green and a half-green sky present to it when the curve is applied to ICtCp intensity, and the level their blue channel presents when it is applied per channel or to the largest channel. The skies' intensity corresponds to 79 to 387 cd/m², against knees of 27.9 and 161.4; their blue channel sits at 1,000, the top of the curve.

A curve on intensity cannot see a blue's brightness

ITU-R BT.2390's tone curve applied to each channel of a bright master turns a tone-mapped sky's appearance fifty-two hue-quadrature units towards green on a 100 cd/m² display; applied to the largest channel with all three scaled, it keeps hue and lightness to a quarter of a unit. BT.2390 also describes applying the curve to ICtCp's intensity and scaling its chroma, which keeps ICtCp's hue by construction, and the prediction was that it keeps the appearance's hue within three units and its lightness within two. It keeps the hue, within 2.3 units. It cannot keep anything on the display: a saturated blue's intensity is the PQ level of 79 cd/m², under the 300 cd/m² display's knee, so the curve barely touches it and every sky asks for two to seven times the blue the display has. Clipped channel by channel, the sky turns as far as the per-channel curve turned it; scaled back into the gamut, it lands where the scaled curve put it. The step back into the gamut decides the appearance, not the curve.

matching · Gamut
Holding ICtCp's hue and lightening the chroma still turns the sky. Each mixture mapped by BT.2390 on ICtCp intensity on the 100 cd/m² display and brought into its gamut three ways — clipped channel by channel, scaled until the largest drive is full, and by its ICtCp chroma alone at fixed intensity and hue — read as the change in CIECAM16 hue quadrature from the master's. The chroma-only return moves −16.8, −14.4, −12.6, −17.0, −9.2 units at no green to half green; scaled into gamut, −1.3, −1.6, −1.8, −1.6, −2.2.

Lowering only the chroma turns the sky white and its hue with it

A tone curve applied to ICtCp's intensity keeps a high-dynamic-range sky's hue, but a saturated blue's intensity lies under the curve's knee, so the colour it asks for lies outside every display's gamut. The prediction was that bringing it back by lowering its chroma alone — intensity and ICtCp hue held — keeps the CIECAM16 hue within three units, lifts the lightness by ten and halves the chroma: a paler blue of the right hue. The ICtCp hue and intensity are kept to a hundredth. Everything else fails. The chroma must fall to a fifth or less on a 100 cd/m² display, the sky rises from a lightness of 22 to 76 and higher, and its hue quadrature moves eight to seventeen units toward green — a pure blue's by 17. Holding ICtCp's hue while lowering chroma does not hold the hue a viewer sees, and the intensity the curve chose was never a blue's.

matching · Gamut
Holding the true hue saves one or two units of seventeen. Each mixture's CAM16-UCS distance from the master on the 100 cd/m² display: mapped on intensity and returned by ICtCp chroma, returned along CIECAM16's hue at the same lightness, scaled into the gamut, and the master's drives shown unmapped. The CIECAM16 return lies 16.7, 17.2, 17.3, 16.8, 15.7 from the master, against 18.9, 18.7, 18.5, 17.6, 16.8 for ICtCp's; the master's own drives 4.14, 4.10, 4.07, 4.02, 4.05.

The sky a dim display can show best is the master's own

A tone curve applied to ICtCp's intensity maps a saturated high-dynamic-range sky to a colour no display can show, and bringing it back by lowering only its ICtCp chroma turns it pale and toward green. The prediction was that a return along CIECAM16's own hue line, at the lightness the curve chose, holds the hue by construction, needs a deeper chroma cut, and still lies at least twice as far from the master as simply scaling the drives. It holds the hue to a hundredth, keeps more chroma than ICtCp's return rather than less, and lies two and a half to four times as far as scaling — because holding the true hue removes only one or two of seventeen units of difference. The rest is the lightness the curve held. And the nearest a dimmer display can come to the master's appearance turns out to be the master's drives, shown unmapped.

matching · Gamut

Named alongside it

The objects these essays reach for when they reach for this one.

CIELABGamutColour differenceSpecificationColour managementThe ICC profileToleranceCIEDE2000ConstraintDisplay gamutDynamic rangeProcess inks

All concepts