ONE STAGE OF A CHAIN — WHAT ARRIVES, WHAT LEAVES, WHAT BREAKS DOWNSTREAM
Where This Sits In The Encoding Pipeline
A video encoder is not one algorithm but eight stages in a fixed order, and the order is not arbitrary: each stage exists because the one before it made its job possible. This tool models one of them. The chain below links to the other seven.
Chroma Subsampling Lab — discards most of the colour resolution while leaving brightness untouched
- What arrives
- Full-resolution luma and chroma — one colour sample per pixel, written 4:4:4.
- What leaves
- Luma at full resolution, chroma at a quarter of the samples in 4:2:0.
- What the next stage assumes
- Everything downstream handles four times less chroma data, and the decoder will interpolate the discarded samples back.
- What goes wrong here
- A saturated edge — red text on black is the standard case — has its colour smeared across the block, because that edge lives in the chroma channel where the samples were removed. Luma survives intact, so the picture looks sharp and the colour looks wrong.
Problem solved in full
-
Bytes per pixel for 4:4:4, 4:2:2 and 4:2:0 from the sample counts 6 steps
Derive the bytes per pixel for 4:4:4, 4:2:2 and 4:2:0 from the sample counts, then find out how much bandwidth 4:2:0 is really saving.
-
Count the samples in a 2×2 block. The notation names how many chroma samples accompany four luma ones in the top and bottom rows, so the ratio is a count and not a fraction.
-
The other two modes drop chroma horizontally, then vertically as well. Each halving removes two of the twelve samples in the block.
-
Multiply by the pixel count for the frame size, and take the ratio for the saving. 4:2:0 is exactly half of 4:4:4 by construction, not by measurement.
-
Look at where the samples went. Luma is untouched in every mode — the colour-difference channels are the only ones being thinned, and the human eye resolves them at roughly half the acuity.
-
Scale the same 1.5 bytes per pixel to a real frame at a real rate.
-
That is why the failure mode is specific rather than general: the loss is entirely in the two channels that carry no luminance detail.
Answer
Half, and it is still 746 Mbit/s for uncompressed 1080p30. That number is the point of the exercise. Chroma subsampling is the cheapest compression there is — no transform, no entropy coder, no decision to make — and after halving the data the stream is still far too big for any network anybody has at home, which is why every codec that ships starts after this step rather than instead of it. The reason it costs so little visually is in the Y equation: luma is sampled at every pixel and only Cb and Cr are thinned, so edges, texture and detail are untouched. What breaks is anything whose information lives in colour alone — red text on a grey background, a saturated logo, a chroma-key edge — which is why 4:2:0 is invisible on foliage and disastrous on a slide deck.
-
References (1)
- Insight block 1 says codecs discard colour before anything else. This is the measurement that licenses it: K. T. Mullen, "The contrast sensitivity of human colour vision to red–green and blue–yellow chromatic gratings." The Journal of Physiology 359, 381–400, 1985 — chromatic acuity falls away at far coarser detail than luminance acuity.