Colour science/S4/UHD, wide colour and a large container

UHD, wide colour and a large container

Rec.2020 / BT.2020

A complete BT.2020 guide: why UHD needed a new gamut, exact spectral-like primaries and D65, 10/12-bit coding, the OETF, Y′ coefficients, constant/non-constant-luminance YCbCr, how it differs from HDR/BT.2100, P3 mastering inside a Rec.2020 container and the role of gamut mapping.

BT.2020D6510/12-bitY′CbCrUHDBT.2100 ≠ BT.2020
In plain language

Rec.2020 is a wide-gamut RGB/UHD colorimetry standard, not a synonym for HDR. It defines very distant primaries, D65, signal/coding parameters and YCbCr relationships. HDR often uses the same BT.2020/BT.2100 colour primaries, but PQ or HLG is a separate transfer layer.

13 sections4 primary references

Quick reference

Definitions and numbers worth keeping in view

Red primary
x 0.708 · y 0.292

≈ 630 nm monochromatic equivalent in the BT.2100 table.

Green primary
x 0.170 · y 0.797

≈ 532 nm monochromatic equivalent.

Blue primary
x 0.131 · y 0.046

≈ 467 nm monochromatic equivalent.

White point
D65 · x 0.3127 · y 0.3290
Component depth
10 or 12-bit

Bit depth does not change gamut geometry.

Y′ coefficients
0.2627 · 0.6780 · 0.0593

Different from Rec.709 matrix coefficients.

10-bit nominal range
64 black · 940 white
Key idea
Rec.2020 ≠ HDR

PQ/HLG belong to the BT.2100 transfer layer.

Gamut scale

Rec.2020 reaches much farther than P3 and Rec.709

D65Rec.2020P3Rec.709 / sRGB

The triangles use the standard xy coordinates. A large encoding gamut does not imply that every real display — or every master — reaches its outer edges.

BT.2020 vs BT.2100

Wide gamut and HDR are separate layers

BT.2020
UHD system parameters · Rec.2020 primaries · D65 · relative OETF · 10/12-bit
BT.2100
HDR television · same wide primaries / D65 · PQ or HLG transfer systems
Rec.2020 ≠ HDR

A primaries label cannot tell you the HDR transfer function. Always inspect colour primaries and transfer characteristics separately.

Coding

10/12-bit precision and nominal video levels

10-bit64 black · 940 white
12-bit256 black · 3760 white

Bit depth controls quantisation precision. It does not move the RGB primaries and therefore does not make the gamut larger.

YCbCr

The luma coefficients change with the primaries

Y′ = 0.2627R′ + 0.6780G′ + 0.0593B′
Non-constant luminance
Y′ C′B C′R
Constant luminance
Y′C C′BC C′RC

A wrong matrix can create colour errors even when the primaries metadata itself is correct.

01

Why HDTV Rec.709 was not enough for UHD

The move to UHD was not treated merely as scaling 1920×1080 to 3840×2160 or 7680×4320. ITU wanted a system with higher spatial resolution, deeper quantisation and a substantially wider colour gamut. BT.2020 was published as a new UHD baseline for production and international programme exchange. Rec.2020 is therefore a system recommendation, not merely a triangle on a CIE diagram.

02

BT.2020 primaries: why the triangle is so large

CIE 1931 xy: Red 0.708/0.292, Green 0.170/0.797, Blue 0.131/0.046, with D65 white at 0.3127/0.3290. BT.2100 gives informative spectral equivalents of roughly 630 nm, 532 nm and 467 nm monochromatic light for these primaries. BT.2020 therefore places the vertices very close to the spectral locus. The gamut is far wider than P3 or Rec.709 and includes chromaticities that many real displays still cannot physically reproduce.

03

Why the white point stayed D65

Despite the new gamut, BT.2020 retained D65. This improves interoperability with Rec.709 and later BT.2100: the neutral axis and reference-white chromaticity stay compatible while the primaries expand. A Rec.709↔Rec.2020 conversion at D65 therefore does not require white-point chromatic adaptation; it requires the appropriate primary/gamut matrix plus transfer conversion.

04

Rec.2020 is not HDR

BT.2020-2 describes UHD system parameters and a relative OETF whose shape is close to BT.709. HDR is specified separately in Recommendation BT.2100, which retains the same wide primaries/D65 but introduces PQ and HLG transfer systems, an HDR reference environment and other parameters. A file tagged with BT.2020 colour primaries does not by itself tell you whether the transfer is PQ, HLG or an SDR-like one. Primaries and transfer are separate parts of the system.

05

The BT.2020 OETF: a familiar piecewise form with more precise constants

For relative scene signal E, BT.2020 uses E′=4.5E in the linear toe and E′=αE^0.45−(α−1) above the breakpoint. The exact smooth-join solutions are α≈1.0992968268 and β≈0.0180539685. For practical coding BT.2020 allows α=1.099, β=0.018 in 10-bit systems and α=1.0993, β=0.0181 in 12-bit. This is another example of how a 'Gamma' dropdown can hide a specific standardised piecewise transfer function.

06

Why BT.2020 is designed around 10 and 12 bits

The wider the gamut, the larger the perceptual volume that must be quantised. BT.2020 specifies 10- or 12-bit component coding rather than relying on legacy 8-bit Rec.709-era workflows. More bit depth does not make the gamut wider — the primaries already define its geometry — but it reduces quantisation steps and makes large gradients and colour transforms more practical, especially when the material later passes through HDR transfer functions and aggressive grading.

07

Nominal video levels in 10 and 12 bits

For R′G′B′/Y′ nominal black and peak white, 10-bit coding uses 64 and 940, while 12-bit uses 256 and 3760. Chroma neutral sits at 512/2048 respectively. This extends the familiar 16–235 Rec.709 logic and is not a property of the gamut. Full/data range versus video/narrow range remains a separate metadata/processing decision that must be interpreted correctly.

08

Y′ coefficients changed with the primaries

For non-linear R′G′B′, BT.2020 uses Y′=0.2627R′+0.6780G′+0.0593B′. Those are not the Rec.709 coefficients 0.2126/0.7152/0.0722 because the luma matrix is tied to the colour primaries. If a decoder uses the wrong matrix, hue and saturation errors can look like a 'wrong gamut' problem even when the chromaticity tags themselves are correct.

09

Why BT.2020 has constant-luminance and non-constant-luminance YCbCr

BT.2020 defines both conventional non-constant-luminance Y′C′BC′R and a constant-luminance variant Y′C C′BC C′RC. The latter is intended to retain luminance information more accurately and can potentially improve coding efficiency for very wide-gamut signals. Ecosystem support and historical production practice, however, have long leaned more heavily on conventional non-constant-luminance behaviour. The existence of two variants shows why the label 'BT.2020 YCbCr' still does not describe the complete matrix path.

10

4:4:4, 4:2:2 and 4:2:0 do not change the Rec.2020 gamut

BT.2020 allows several chroma-sampling structures. 4:2:0 reduces spatial chroma resolution, but the primaries, D65 and allowed chromaticities remain the same. `10-bit 4:2:0 Rec.2020` therefore combines three independent properties: quantisation precision, chroma sampling and colour space. They cannot be collapsed into a single 'higher/lower quality' ranking.

11

Rec.2020 as a container: why content may actually be P3

HDR delivery often signals BT.2020 primaries because the standard provides a common wide-gamut signalling space. The mastering display may physically cover only P3-D65 or a little more, while the actual images may use an even smaller subset. That is perfectly valid: the RGB code space defines a container, not a requirement that every pixel approach its boundaries. Problems arise when a downstream display cannot reproduce a chromaticity and the output pipeline fails to perform controlled gamut mapping.

12

Why 'accepts Rec.2020' does not mean 'displays all of Rec.2020'

Input compatibility means the device recognises the signalling and can convert it into its native panel gamut. Coverage is a separate physical property of the display primaries/technology. A television can correctly accept BT.2020/PQ and then tone/gamut-map the content onto a panel closer to P3. Validating an HDR master on a consumer TV therefore requires awareness of the real display colour volume, not just the input-signal label.

13

How to think about Rec.2020 in CST/RCM

Do not choose Rec.2020 as an 'HDR preset'. First identify four layers: are the Input/Output Colour Space primaries BT.2020? Is the transfer BT.2020 SDR-like, PQ or HLG? Is the range video or full? Is the matrix RGB or a BT.2020 YCbCr path? In managed Resolve workflows Colour Space and Gamma are separated precisely because Rec.2020 primaries can be paired with several transfer systems. Output gamut mapping then determines what happens to colours the target display cannot physically reproduce.

What this changes in post

In Resolve, `Rec.2020` primarily answers the primaries/colorimetry question. A complete state still needs Gamma/EOTF, range, matrix and target display. Never use the single term Rec.2020 as shorthand for an entire HDR pipeline.

Common mistakes
Treating Rec.2020 as synonymous with HDR.
Treating Rec.2020 input support as proof of 100% gamut coverage.
Using Rec.709 Y′ coefficients for a BT.2020 signal.
Confusing 10/12-bit precision with gamut size.
Ignoring the constant/non-constant-luminance distinction.
Treating Rec.2020 metadata as proof that a master actually uses the full gamut.