4:2:0 chroma subsampling

ID: 4-2-0-chroma-subsampling

4:2:0 chroma subsampling keeps the full luma grid while halving each colour-difference component's sampling rate horizontally and vertically. For even width and height , it retains Y samples and samples each of Cb and Cr.[ref] The zero in the notation does not mean that one colour-difference component has disappeared.
For an original six-by-four eight-bit image, the active payload is
compared with 72 bytes for 4:4:4 chroma sampling and 48 bytes for 4:2:2 chroma subsampling. Thus the 4:2:0 payload is half the 4:4:4 payload and three quarters of the 4:2:2 payload under these declared assumptions. It averages 12 bits per original pixel, without row padding or alpha.
Figure 1. . Black crosses mark 16 luma positions. Each blue circle marks one Cb sample and one Cr sample. The reduced grids are deliberately centered between luma positions in the directions being reduced; these illustrative locations are not a universal rule for every video format. Details.
Both colour components have fewer samples, so chroma reconstruction must estimate values at additional positions before a full-resolution colour conversion. It cannot generally reverse information discarded during downsampling. The chroma sample location also matters: identical counts can correspond to different spatial offsets.
NV12 stores the reduced components as interleaved Cb/Cr pairs after a luma plane; NV21 reverses each pair. A fully planar pixel format can keep the two colour-difference arrays separate. All can carry 4:2:0 sampling, so plane count and pair order must be specified in addition to the sampling ratio.

New to topics? Read the docs here!