Centered chroma 2026-11-05
Centered chroma, also called interstitially sited chroma, places colour-difference samples between the corresponding luma sample positions along an axis being subsampled. The term centred chroma is the alternative spelling. A simple two-sample average illustrates how this location arises.[ref]
Let the luma-grid coordinate be an integer , and consider an original colour-difference ramp . Averaging consecutive samples before keeping one result per pair givesThe output exactly equals the ramp at . Assigning that average to would shift its interpretation by half a luma-sample spacing. For , the first averages are50,90 and130 at positions0.5,2.5 and4.5.
The location describes the sampling geometry, not an obligation to use only this averaging filter. A more elaborate filter can have the same effective alignment. Nor does horizontal centering force vertical centering: the Linux documentation includes a 4:2:0 chroma subsampling example with horizontal centering and vertical co-siting.[ref]
A decoder performing chroma upsampling must interpret those offsets consistently. Treating centered samples as co-sited chroma can displace reconstructed colour relative to luma while preserving every stored byte. A pixel format's plane arrangement and framebuffer stride describe memory addressing; they do not, by themselves, establish the sample coordinates.
Chroma interpolation filter 2026-11-05
A chroma interpolation filter combines retained colour-difference samples to estimate values at the output locations required by chroma upsampling. It acts on the components of YCbCr separately from full-resolution luma. The filter coefficients and the assumed chroma sample location jointly determine the reconstruction. Microsoft's primary conversion guide gives a four-sample interpolation example and states its progressive-scan and edge-handling assumptions.[ref]
For an original one-dimensional linear interpolation rule, let retained samples lie at positions . Define output samples byThe two coefficient sets, one for each output parity, both sum to one. A constant input is therefore reproduced at every output position. With , and , the outputs through are . The values at odd-integer positions are estimates, while the retained even-integer positions are unchanged.
Higher-order interpolation need not remain between neighbouring input values. As an original exact-arithmetic illustration, take a half-position rule with coefficients applied to four consecutive samples. Their sum is one, so constants are preserved. But the sample sequence yields between the two central samples; yields . Negative coefficients permit overshoot. Quantization and clipping then change the result further. The primary Microsoft example uses these interpolation coefficients with integer rounding and clipping.[ref]
Recommended 8-Bit YUV Formats for Video Rendering by Gary Sullivan and Stephen Estrop. four-sample Cout formula and subsequent interpolation discussion
The same numerical coefficients can produce spatially misplaced colour if their assumed input grid is wrong. Centered chroma and co-sited chroma require their actual coordinates to be respected. At image boundaries, missing neighbours require an explicit extension rule. No choice of chroma interpolation filter can uniquely recover arbitrary colour variation discarded by chroma subsampling.
Chroma reconstruction 2026-11-05
Chroma reconstruction estimates colour-difference values on a desired spatial grid from the samples retained by chroma subsampling. In YCbCr video, chroma upsampling can bring the reduced Cb and Cr arrays onto the luma grid before a full-resolution conversion to RGB. The sampling ratio, chroma sample location and chosen interpolation rule all affect the result.[ref]
For an original one-dimensional example, let a component have codes at and at . Linear interpolation givesAt , this gives 60, while nearest-neighbor interpolation selects 40. Both methods use the same retained samples; they make different assumptions about the values between them.
No reconstruction rule can infer every discarded variation from these two numbers alone. The functionsagree at zero and two, yet at they give 80 and 90. Thus the retained endpoints do not uniquely identify the interior signal. Recovery guarantees require additional restrictions on the signal and sampling process.
A practical reconstruction also specifies how to handle image edges, where a filter may ask for samples beyond the available array. The Microsoft example states its progressive-scan assumption and supplies separate edge equations; those details are part of the method rather than consequences of the ratio 4:2:0.[ref]
Recommended 8-Bit YUV Formats for Video Rendering by Gary Sullivan and Stephen Estrop. Converting 4:2:0 YUV to4:2:2 YUV, assumptions and edge handling
Increasing the number of output samples therefore does not, by itself, restore the original colour detail.