Interpolation — where it appears
Named by 28 essays across 7 fields — each of them below, with the objects they name alongside it.
A grey edge arrives coloured
A sensor site measures one channel and the other two are interpolated from neighbours that sat somewhere else. Across a black-and-white step that reconstruction gives an achromatic scene a chroma of 144 per cent of its own local mean, and nothing in the scene or the sensor was coloured.
A profile is a table
An ICC profile does not contain a model of the device it describes. It contains a lattice of patches that were printed and measured, and everything between them is interpolation — which is exactly zero at every patch, so a profile checked against its own target reports perfection for ever.
A gradient is a path
Two colours fix the ends of a blend and nothing else. The middle is decided by the space the interpolation happens in, and four spaces in daily use put the halfway point of one ordinary gradient as much as thirty-seven units of colour difference apart.
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.
A matrix is fitted under one light
A camera's colour matrix is nine numbers determined by a chart photographed under a particular illuminant, and the error it quotes is the error under that illuminant. Fitted under a tungsten lamp and used under a cold sky it delivers eight times as much — and the two-matrix scheme every real profile uses turns out not to be a compromise at all.
A profile is a fit between its nodes
A printer profile is a table, exact at every patch that was printed and interpolated everywhere else — and everywhere else is where every job lives. Going from a hundred and thirty-five patches to three and a half thousand is twenty-seven times the work for eight times the accuracy, and the exponents say that is as good as it gets.
A dial through a discrete menu
ΔE*94 is ΔE*ab with two weighting constants in it, and at zero those constants make every weight exactly one — so the two ends of the oldest disagreement in colour difference are joined by a line rather than separated by a choice. Walking it gives a derivative where a menu gives only a spread, and the derivative says the published weighting is on the far side of the interesting part.
A partial correction is worth its fraction
Between a diagonal gain and the exact matrix there is a line, and a bounded observer's natural hope is that the first part of it is worth a disproportionate share. It is not. On all fourteen changes of light, at every setting, the share of the residual removed matches the share of the correction applied to within 2.2 percentage points — which closes the last way the gap could have been cheap.
A dial has a price
Two rounds declined to give the appearance model's surround a continuous control, both times because the frames would be too heavy, and neither time was the weight taken. It is 2.25 kilobytes at the median — the light end of these figures rather than the heavy end — and one figure is already breaking the rule the deferral was made under.
The index is a choice too
Every colour in this collection is a sum over eighty-one numbers running from 380 to 780 nanometres in steps of five. That index is not a property of the eye, the light or the sample — it is a tabulation, and it holds three separable decisions that behave completely differently from one another.
A finer reading of a coarser table
Interpolating a five-nanometre spectrum to one nanometre helps a daylight calculation by a factor of five and harms a three-emitter LED by a factor of a hundred and twenty thousand. Both are the same operation on the same table, and which one happens is decided by a property of the light nobody records.
The mixture line bows
Grassmann's second law says an additive mixture is exactly linear in tristimulus values, and tested here it is exact to floating point. Nothing downstream of the three numbers preserves it. The physical half-and-half mixture of two colours sits a median of 5.5 colour differences from the midpoint of their two readings and up to thirty; on a green and a blue display primary it is twenty-one, which is a quarter of the distance between them.
One step has no choice
Four of a raw converter's operations can be arranged twenty-four ways. The reconstruction cannot be arranged at all — a colour matrix needs three numbers and a mosaic site has one, so filling in the mosaic is forced to the front by arithmetic rather than by convention. What is not forced is whether it happens in linear light or after the curve, and that decision costs 5.8 colour differences at an ordinary edge and nothing at all four sites away from it.
The hue scale has four corners
CIECAM16 reports hue twice — as an angle in its own opponent plane, and as a quadrature interpolated through four unique hues with four fitted weights. The second is the one hue tolerances and hue-preserving mappings are written in, and it is piecewise — its slope jumps at each of the four anchors, by a factor of 1.74 at green and by 0.41 at blue, and it runs 4.1 times faster near yellow than near blue.
An average on the stored values
A resize, an antialiased edge, a transparency composite and a chroma subsample are all averages, and in almost every pipeline they are taken on the numbers as stored. The numbers as stored are encoded, the encoding is a compression, and a half-and-half blend of black and white taken that way lands 18.7 colour differences from the half-and-half blend of the light — 22.7 units of lightness darker, on every pair, always in the same direction.
A resize with a negative weight in it
A blend taken on stored values is always darker than the blend of the light, because the encoding is concave and a convex combination of a concave function's values lies below the function of the combination. A bicubic or Lanczos resize is not a convex combination. Beside an edge its negative weights make the stored-value result lighter than the light's own — by up to 6.1 colour differences with bicubic and 12.2 with Lanczos on skin against its shadow — and on edges between full-scale values the clip hides the overshoot and the old guarantee appears to hold.
Two matrices do not reach a white LED
A camera profile's two matrices, blended by the scene's colour temperature, are as good as a matrix fitted anywhere along daylight. Under a white LED or a fluorescent tube the same blend leaves colours twice as far off as a matrix fitted under that lamp, and no weight inside the profile's range repairs it. What decides it is not how far the lamp sits from the Planckian locus — a triphosphor tube sits nearly on it and fares worst — but whether its spectrum has lines in it, which a white balance reading cannot see.
The cost of a steep notch repeats every step
A Gaussian notch is safe on a five-nanometre grid once it is a couple of steps wide. A flat-bottomed notch with steep sides never is. Its cost on the grid rises and falls with its width, with the step as its period — 0.02 colour differences at ten nanometres, 1.99 at twelve and a half, 0.03 at twenty — and it does not die away as the notch widens. What sets its size is how fast the edges rise, and an interference filter's edges rise in under a nanometre.
The corner of a resized patch is lighter than its edges
A resize taken on stored values is darker than the resize of the light wherever its weights are positive, and lighter beside an edge where a kernel's negative lobes fall. In two dimensions the kernel is a product, and just outside a patch's corner a Lanczos magnification of skin against its shadow comes out 14.5 colour differences lighter — more than along either edge. A reduction to a quarter is mostly an average and errs lighter by at most two. And an unsharp mask, whose negative weights are its whole purpose, is lighter on the stored values at every amount on every pair, and never darker.
The straight line is not the shortest gradient
A colour difference formula says what a small step costs at every colour, and that is enough to ask which path between two colours is shortest. It is not the straight line: between red and green the shortest path bows thirteen CIELAB units away, saves four per cent — and stays inside sRGB on every step where the straight line leaves it. The formula's own answer for the two endpoints, meanwhile, is neither length.
The eye keeps the lightness errors
Four essays have priced what a resize taken on stored values costs, in colour differences between pixels. A reader does not see a pixel. Put the two versions of each image through the visual system's own three channels and the ranking reverses: the unsharp mask, the largest error per pixel at 16.6, is seen at 6.3 on a printed page, while the corner's 7.1 is seen at 9.9. What decides it is not the size of an error but how much of it is colour.
A profile interpolates light
A profile is exact at its patches and wrong between them, and how wrong has been measured twice. Which way it is wrong has not. At a nine-step lattice the mean signed lightness error between the nodes is +0.136 against a mean colour difference of 0.133 — the error is not a scatter but a bias, and it lightens. The repair costs nothing measured and is forbidden by how a profile is checked: let the table be wrong at its own patches.
A finer table is a worse table
A real interference filter is not a Gaussian notch. It is an etalon, with pass bands a nanometre or two wide spaced twenty-three apart, and a five-nanometre grid steps over them. Resampled from the maker's one-nanometre table its colour is out by five colour differences under every fill-in rule — the three rules agree to three decimals, because none of them is ever handed a sample inside a feature. The same filter measured through a five-nanometre slit is out by 0.03.
Two uniform spaces disagree about between
ΔE₀₀'s own local behaviour says which colours lie between two colours, and so does CAM16-UCS's. They do not agree. On cyan to magenta the two shortest paths run fifteen CIELAB units apart — more than either runs from the straight line — and on that gradient ΔE₀₀ would rather have the straight line than CAM16-UCS's answer. Getting the comparison at all takes noticing that one of the two has no local metric: its published difference is a Euclidean distance raised to the power 0.63, and a power below one has an infinite derivative at zero.
The inverse table errs dark
A profile's forward table predicts a print lighter than the press makes, and refitting its nodes removes the bias. The table a colour engine actually uses to separate an image is the other one — the inverse, from colour to ink — and it errs the opposite way: filled exactly from the press it asks for too much ink and prints dark, and built by inverting the ordinary forward table it prints darker still. Inverting the refitted forward table removes the inherited part and leaves the inverse's own. The round trip through both tables improves only when each is refitted against its own error, and then the two are no longer each other's inverse.
A third space breaks the tie only once
ΔE₀₀ and CAM16-UCS disagree about which colours lie between two colours. Oklab was the obvious tie-breaker, and it breaks the tie on one gradient of five: on red to blue its path runs within six CIELAB units of CAM16-UCS's and twenty-nine from ΔE₀₀'s. On red to green and cyan to magenta it keeps to CIELAB's straight line while both others bow, and on blue to yellow it bows further than either. Each of the three spaces is the odd one out somewhere. Asking also exposed a CAM16-UCS path that had never converged.
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.
A strategy keeps the refit only where black prints
Refitting an inverse table's nodes against their own error halves it, and in a four-ink table the refit has to leave the separation strategy's choice of black alone. Held to the strategy, it keeps the whole of its gain wherever the strategy prints black and almost none of it where the strategy does not — and the share it keeps equals the share of the grey ramp printed with black, to within three hundredths. The start of black generation, predicted to be where the refit would fail, is where the table needs it least.
Named alongside it
The objects these essays reach for when they reach for this one.
SpecificationColour managementColour differenceGradientAliasingCIEDE2000CIELABThe ICC profileMeasurement errorCalibrationSamplingTransfer function