A quantiser keeps the blue a spike
Assumes An appearance model flattens the blue by its hue, The yellow is sharp where the tolerance unit does not compress and The hue disagreement is the quantiser's.
A margin kept inside a display’s gamut costs more at a corner than along a face, by a multiple set by how sharply the faces meet there — a display’s blue is sharp where the rotation is not built the construction for a display’s six corners — and how sharply they meet depends on the unit the margin is measured in. The yellow is sharp where the tolerance unit does not compress found ΔE₀₀ turning the order of an sRGB and a BT.2020 display’s corners over: CIELAB’s sharpest corner, the blue at 3.35 times a margin, falls to 1.42 and 1.26, and the yellow, at 1.75 and 1.78, becomes the sharpest of both. An appearance model flattens the blue by its hue carried the same corners into CAM16-UCS and found the yellow still sharpest at 1.66 and the blue flatter still, at 1.17 and 1.10, because the appearance model counts hue among the blues two and a half times as finely as ΔE₀₀ does.
That made the blue the corner the units fight over, and left a third unit to ask. ΔEITP is the colour difference written for high-dynamic-range television on the ICtCp encoding: each of three cone-like signals is put through the perceptual quantiser, a curve built from contrast thresholds over absolute luminance, and then rotated by a fixed matrix into an intensity, I, and two chroma axes, Ct and Cp. It has no hue term; its hue is whatever angle the two chroma axes make. A tolerance has no light level and the units disagree in the dim set it against CAM16-UCS on a display’s brightness, and found the two units agreeing on lightness and parting on hue. The prediction was that ΔEITP sides with the appearance model at the blue — its quantiser acts on cone signals, which spread the blues and violets as the appearance model does — and blunts it below ΔE₀₀’s 1.42, while its yellow lands near the other two.
ΔEITP sides with CIELAB
With the display’s white at 320 cd/m², the blue is ΔEITP’s sharpest corner on both displays, moving 3.12 times a margin on sRGB and 3.24 on BT.2020 — close to CIELAB’s 3.35 and 3.17 and twice to three times either other tolerance unit. Every other corner of both displays moves under twice a margin. At the green, cyan, magenta and yellow the three tolerance units agree to within a quarter of a margin; at the red they part by six tenths and at the blue by a factor of nearly three. ΔEITP’s three lengths along CIELAB’s lightness, chroma and hue would, applied alone, blunt the blue to 1.54 and 1.48. What keeps it sharp is the quantiser’s compression: ICtCp’s chroma rows sum to nought, so in a response that compresses like a logarithm, dimming the blue primary moves the colour along intensity alone, 0.98 of the way. With the matrices kept and the quantiser replaced, the blue moves 2.15 times a margin under a linear response and 3.39 under a logarithm, rising at every step between.
- The prediction is wrong in sign at the blue. ΔEITP makes it a spike, not a face.
- The units agree on four corners of six. The disagreement is the blue’s, with a smaller one at the red.
- The cause is not a hue scale. ΔEITP’s stretches along the three axes would blunt the blue; its response’s compression folds the directions back together.
- A brighter display sharpens the blue further: 2.98 at 100 cd/m² to 3.43 at 4,000 on sRGB, while every other corner blunts.
Each group of four bars is one corner in four units, CIELAB at the top and ΔEITP, highlighted, at the bottom. Read across the twelve groups, the tolerance units mostly tell one story: the green, cyan, magenta and yellow move between 1.27 and 1.78 times a margin in all three, the widest of these four spans being BT.2020’s yellow, 1.56 to 1.78. The red parts the units by six tenths, ΔE₀₀’s 1.18 against ΔEITP’s 1.78 on sRGB. The blue parts them by a factor of nearly three: 1.17 in CAM16-UCS, 1.42 in ΔE₀₀, 3.12 in ΔEITP on sRGB, and 1.10, 1.26 and 3.24 on BT.2020.
The rankings follow. In ΔEITP the order on sRGB is blue, red, green, yellow, cyan, magenta; the yellow that led both other tolerance units sits fourth on sRGB and fourth on BT.2020, behind a red and a green that ΔEITP leaves sharper than the others do. How far apart are two colours traced the formulae’s disagreements over pairs of colours; here they disagree over the shape of a whole solid. No corner is sharpest in every tolerance unit, and the yellow, which looked like a property of the observer when two units agreed on it, is the sharpest only in the two units whose largest term compresses chroma.
The lengths would blunt it
The two earlier essays took their units apart by length — how many CIELAB units one unit spans along lightness, chroma and hue at each corner — and found the lengths enough to explain the verdicts. ΔEITP’s can be read the same way: move a colour a thousandth of a CIELAB unit along each axis and measure how far it moves in ΔEITP. At sRGB’s blue one ΔEITP unit spans 0.17 CIELAB units of lightness, 0.52 of chroma and 0.18 of hue. ΔEITP is a much finer unit than the others — it was scaled so that one unit is about a threshold — but a corner’s sharpness depends only on the ratio of the lengths, and those ratios look like ΔE₀₀’s: chroma compressed three times against lightness and hue.
Applied alone — each CIELAB axis stretched by its own length, with nothing coupling one axis to another — ΔEITP’s lengths blunt sRGB’s blue to 1.54 and BT.2020’s to 1.48, the same treatment ΔE₀₀ gives it. At every other corner the lengths alone land within four tenths of ΔEITP’s own verdict. At the blue they miss it by more than one and a half margins. Whatever keeps ΔEITP’s blue sharp is not in how it stretches each axis but in how it mixes them: ΔEITP’s images of CIELAB’s lightness, chroma and hue steps at the blue are far from square to one another — the chroma and hue steps point 165 degrees apart on sRGB and 170 on BT.2020 — and a stretch that also turns the axes can put the blue’s directions back together.
That alone does not explain it, since CAM16-UCS turns them too, 152 and 162 degrees, and flattens the blue. The difference has to be read from the corner’s own directions rather than from the axes.
The blue’s directions stay together
A corner’s sharpness is how close together the three directions out of it lie. From a display’s blue the drive can add red, add green or lower the blue, and the angle between any two of the resulting colour changes can be read in each space.
Adding red and adding green lie 67 degrees apart at sRGB’s blue in CIELAB, 90 in CAM16-UCS and 45 in ΔEITP; on BT.2020, 89, 107 and 47. ΔEITP holds those two directions closer together than CIELAB does, which is what makes the corner a spike; the appearance model spreads them square, which is what makes it a face. Lowering the blue lies 94 and 122 degrees from the other two in ΔEITP on sRGB, and runs 0.98 of the way along ΔEITP’s intensity axis — almost no chroma and almost no hue at all, on a corner whose whole character in CIELAB is chroma.
That last number is exact in its cause. At a display’s blue corner the red and green drives are off, so all three cone-like signals come from the blue primary: on sRGB at 320 cd/m², L at 26, M at 37 and S at 259. Lowering the blue drive scales all three by the same factor. ICtCp’s two chroma rows each sum to nought — Ct is 6610L − 13613M + 7003S over 4096, Cp is 17933L − 17390M − 543S over 4096, and each set of coefficients adds to zero — so if the quantiser were a logarithm, scaling all three signals by one factor would add the same constant to each quantised signal and leave both chroma coordinates exactly where they were. The step would be pure intensity. The quantiser is not quite a logarithm, and the step is 0.98 intensity on sRGB and 0.96 on BT.2020 rather than 1.
Adding red or green does something else, and the two do nearly the same thing. Each raises L and M from small values — 26 and 37 against S’s 259 — by a large fraction of themselves, and neither touches S. Measured as fractional changes of the three signals, the step that adds red and the step that adds green lie 19 degrees apart at sRGB’s blue and 25 at BT.2020’s. At a red corner the same two steps — adding green, adding blue — lie 47 and 54 degrees apart, and at a green corner 65 and 68, because there one of the added primaries is the blue, and a red or green primary’s S signal is small, so adding blue raises it by a large fraction where the other step barely moves it. Two steps that share their fractional change lie close together in a response that compresses like a logarithm, and only at the blue are both added primaries feeding the same two signals.
The response decides it
The explanation makes a prediction that can be tested without changing anything else: the more nearly the response behaves like a logarithm, the sharper the blue. ICtCp’s matrices can be kept and the quantiser swapped for other responses — none at all, a square root, a cube root, the quantiser itself, and a logarithm.
The blue sharpens at every step, on both displays: on sRGB 2.15 under a linear response, 2.35 under a square root, 2.51 under a cube root, 3.12 under the quantiser and 3.39 under a logarithm; on BT.2020 2.16, 2.27, 2.45, 3.24 and 3.59. The yellow and magenta blunt the whole way, and the red rises under a square root and then falls. Under a pure power law, dimming a primary moves its colour straight towards black in the encoded space, carrying its chroma down with its intensity; under a logarithm, it leaves the chroma where it is. The quantiser sits between a cube root and a logarithm at the blue, nearer the logarithm.
The hue disagreement is the quantiser’s found the same curve at the bottom of a different difference between ΔEITP and CAM16-UCS — how each shifts a colour’s balance between lightness and chroma as a display brightens — and found it vanishing exactly when the quantiser was replaced by a power law. The quantiser is where ΔEITP parts from the appearance model, on both questions, and in both cases it parts most at colours whose three signals sit at very unequal levels, which a blue primary is more than anything else a display shows. At the gamut’s edge the reds move as far walked the same difference out to a BT.2020 display’s boundary and found its largest shifts among the reds and the dark blues.
A brighter display, a sharper blue
ΔEITP takes absolute luminance: the same drive on a brighter display is a different stimulus, and its signals sit further up the quantiser. The census reads every corner with the white at 100, 320, 1,000 and 4,000 cd/m², the range from an office monitor to a mastering display’s highlights.
sRGB’s blue moves 2.98, 3.12, 3.27 and 3.43 times a margin across the four peaks, BT.2020’s 3.07, 3.24, 3.43 and 3.65, rising at every step; every other corner of both displays blunts as the white rises. From 320 cd/m² up, BT.2020’s blue moves further than its own CIELAB tangent shape, which has no luminance in it. The pattern is the response test read along a different axis, and it agrees with it: the blue sharpens towards the logarithm’s 3.39 and 3.59, read at 320 cd/m², and passes them at the brightest peak. The census does not take the quantiser’s local shape apart along the way. What it does settle is that a ΔEITP margin’s cost at a display’s blue grows with how bright the display is, and that the other corners move the other way.
That puts a high-dynamic-range specification in an awkward place. A tolerance stated in ΔEITP, applied as a gamut margin on a bright display, costs three and a half times its size at the blue primary and well under twice anywhere else, and the same tolerance on a dimmer display costs a little less at the blue. A CAM16-UCS tolerance of the same nominal size on the same display costs the blue a sixth more than a face, because the appearance model spreads the blues’ hue — the region where the blue’s hue turn was lost with a matrix found two models sixteen and four degrees apart. The two units disagree about where a margin bites by more than they disagree about anything else on the display.
Where the blue’s edge goes
The edges say where the spike points. In CIELAB, the blue’s sharp edge runs towards magenta, 47 degrees on sRGB and 41 on BT.2020, and every other unit opens it: 112 and 118 in ΔE₀₀, 142 and 145 in CAM16-UCS, and 133 and 132 in ΔEITP. ΔEITP’s sharpness lives on a different edge: the one running from the blue towards black, which closes to 37 degrees on both displays, against 80 and 103 in CIELAB, with the edge towards cyan at 61 and 57. The edge towards black is the one along which the blue primary is dimmed, the pure-intensity direction, and its two faces are the faces of colours with no red and of colours with no green — the two directions that ΔEITP holds close together. A spike in ΔEITP is a narrow wedge along intensity.
At the yellow ΔEITP opens both side edges into the eighties, more than ΔE₀₀ does on both — by seven degrees on the side towards green and by sixteen on the side towards red — and its edge towards white is blunt as in every unit. That is why the yellow, sharp across hue in ΔE₀₀ and CAM16-UCS, falls back among the pack in ΔEITP: neither of its sharp sides survives.
Insetting the blue and the yellow
ΔEITP’s space is Euclidean, as CAM16-UCS’s is: a margin is a ball, and the display’s solid can be carried into it point by point and the corner inset directly.
The yellow moves within one per cent of its tangent shape at every margin: 1.62, 1.63 and 1.63 times the margin on sRGB against 1.62, and 1.56 at every margin on BT.2020. The blue moves a little less than its shape predicts, and less at each wider margin: 3.08, 3.05 and 2.98 on sRGB against 3.12, and 3.21, 3.16 and 3.10 on BT.2020 against 3.24 — under five per cent below at four units. The spike’s faces curve in ΔEITP, as the yellow’s did in ΔE₀₀, and a wider margin reaches where they have. Even at four units the blue moves nearly twice as far per unit of margin as any other corner.
How the corners were read
The displays and the tangent-shape construction are those of the two earlier essays: each gamut the image of the cube of linear drive under its primary matrix, with D65 white; a corner’s three directions the finite-difference images of its drive moved by a ten-thousandth; a cone’s move per unit of margin the shortest vector whose inward component on every face is at least one. A drive is carried to absolute XYZ with the white at the stated peak, then through BT.2020’s primaries, ICtCp’s fixed LMS matrix, the perceptual quantiser and its fixed opponent matrix, exactly as the broadcast specification defines them, and ΔEITP’s space is 720 times I, half of Ct and Cp. ΔE₀₀ and CAM16-UCS are as before, CAM16-UCS at the display’s white, 64 cd/m² and an average surround.
ΔEITP’s lengths are read by moving a colour a thousandth of a CIELAB unit along each of its lightness, chroma and hue axes; applied alone, they act on the corner’s CIELAB directions as a stretch of each axis with no coupling. The angles between the blue’s directions are the angles between their images in each space. The response test keeps ICtCp’s two matrices and the factor of a half on Ct and replaces the quantiser by the identity, a square root, a cube root or ln(1 + Y), with Y the cone-like signal in cd/m². The edges’ dihedral angles are read two hundredths of drive along each edge. The inset is the CAM16-UCS census’s search in ΔEITP’s space: each display’s faces sampled densely towards the corner, rays cast from the corner into the drive cube, and along each the first point a margin from every sample found by bisection, refined by a seeded search.
What the census does not reach
Two displays, D65, and four peaks. A display whose blue primary feeds L and M differently would sit elsewhere, though the mechanism needs only that a primary’s three signals be very unequal, which every saturated blue primary’s are.
One encoding. ICtCp’s matrices were chosen for constant-hue behaviour and for decorrelating its axes; Jzazbz, built on a similar quantiser with different matrices, would need its own census. The response test says what to expect if its chroma rows also sum to nought, as most opponent constructions’ do.
Small margins. The tangent shape holds to five per cent at four units at the blue and better elsewhere; a margin wide enough to reach the spike’s curving faces would round it further.
Still open: whether a violet primary is a sharper spike
The spike rests on two facts about a blue primary. Dimming it scales its three cone signals together, which a near-logarithmic response reads as intensity alone — true of every primary. And the two primaries that can be added to it feed L and M and leave S alone, so they move it in nearly the same fractional direction — true only of a primary whose own L and M are small. A shorter-wavelength blue makes both facts stronger: its L and M fall further below its S.
The calculation is this census with the blue primary moved along the spectrum locus — narrow-band blues from 440 to 480 nanometres, the red and green primaries held at BT.2020’s — with the blue corner’s move per unit of margin in ΔEITP and CAM16-UCS, and the angle between its two added-primary steps in fractional cone signals. The prediction is that ΔEITP’s blue sharpens monotonically towards the violet and passes four times a margin by 450 nanometres, that its sharpness follows the added-primary angle at a rank correlation above 0.9, and that CAM16-UCS’s blue stays near a face throughout. If a violet primary is no sharper, the fractional-change account is incomplete, and the spike depends on where in the quantiser’s range the blue’s signals happen to sit.
Agreement between two is not a law
The habit here is about how much two instruments agreeing proves.
Two tolerance units agreed that a display’s yellow was its sharpest corner, and the agreement was explained by something about the eye: lightness falls fast round the hue circle from yellow, and both units weigh hue there alike. That was a good explanation of why those two agreed. It was not evidence that a third would, because both of them compressed chroma first and most, and the yellow is the corner a chroma compression cannot reach. The third unit compresses something else first, and the agreement disappeared.
The failure mode is to read a property of the instruments as a property of the thing measured when the instruments share a design. Two units built on the same idea agree for the same reason; the test is a unit built on a different one, and here it was available all along.
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 display's red takes the reds' move and leaves the pair ciecam16 · δe · display primaries · gamut · pq, the perceptual quantiser
- A dimming panel has no single black δe · high dynamic range · pq, the perceptual quantiser · tolerance
- A guessed veil halves the error δe · high dynamic range · pq, the perceptual quantiser · tolerance
- A warm room tints the black, not the halo δe · high dynamic range · modelling assumption · pq, the perceptual quantiser
- The shadows a unit counts are the ones a room removes δe · high dynamic range · pq, the perceptual quantiser · tolerance
- Two units with a light level disagree about lightness δe · high dynamic range · pq, the perceptual quantiser · tolerance
What links here
The 8 essays that link to this one and share the most of its objects, of 9 that link here.
- A violet primary is no spike to the quantiser
- A broad green sharpens the blue; a broad blue dulls it
- Brightness and the green sharpen the blue almost independently
- The green primary decides how sharp the blue is
- A green's long tail sharpens the blue; its short tail does not
- A tone curve per channel turns a sky towards cyan
- A tone-mapped blue turns where it lands
- A curve on intensity cannot see a blue's brightness
The objects this essay names
Each one links to every other essay that touches it.
CIECAM16ΔEDisplay primariesGamutHigh dynamic rangeModelling assumptionPQ, the perceptual quantiserTolerance