Most image compression assumes something specific about how human vision works: you notice changes in brightness far more readily than changes in color, at the same spatial resolution. Chroma subsampling is the compression technique built directly on top of that fact — deliberately storing color information at lower resolution than brightness information, because most viewers won't perceive the difference.
Splitting an image into luma and chroma
Before subsampling can happen, an image gets converted from RGB into a luma/chroma color model (commonly called YCbCr) — one channel for brightness (Y, or luma) and two channels for color (Cb and Cr, or chroma). This isn't a lossy step by itself; it's just a different, equivalent way of representing the same colors. But once color lives in its own separate channels, those channels become a target you can compress independently of brightness.
The actual ratios
Subsampling ratios describe how much color resolution survives relative to brightness resolution, over a block of pixels:
- 4:4:4 — no subsampling. Every pixel keeps full-resolution color data.
- 4:2:2 — color is sampled at half the horizontal resolution of brightness, full vertical resolution.
- 4:2:0 — color is sampled at half resolution in both directions, meaning a 2×2 block of pixels shares just one color sample between all four. This is the most common default for photographic JPEG and video, because it saves the most data while usually remaining invisible.
Where the bet fails
Subsampling shows its cost specifically where color changes sharply but brightness doesn't — thin colored text on a flat background, fine line art, saturated color edges with no matching luminance edge to anchor them. In those cases, 4:2:0 can produce visibly blurred or bled color boundaries, because the color information genuinely didn't survive at the resolution the detail needed. This is part of why screenshots and graphics are usually better served by PNG (no subsampling, no chroma loss at all) than by JPEG.
Why this doesn't touch HDR gain maps
A gain map is stored as a single grayscale channel — it only ever encodes "how much brighter should this pixel get," with no color information at all. Subsampling is a color-channel technique, so it simply doesn't apply to the gain map itself; only the primary color image underneath it is subject to it. That's one more reason the two-image gain-map approach keeps the boost signal clean regardless of how aggressively the primary gets compressed.