Цветовая наука/S4/UHD, wide colour и большой container

UHD, wide colour и большой container

Rec.2020 / BT.2020

Большой разбор BT.2020: зачем UHD понадобился новый gamut, точные spectral-like primaries и D65, 10/12-bit coding, OETF, Y′ coefficients, constant/non-constant luminance YCbCr, отличие от HDR/BT.2100, P3 mastering внутри Rec.2020 container и роль gamut mapping.

BT.2020D6510/12-bitY′CbCrUHDBT.2100 ≠ BT.2020
Простыми словами

Rec.2020 — это широкий RGB/UHD colorimetry standard, а не синоним HDR. Он задаёт очень удалённые primaries, D65, signal/coding parameters и YCbCr relationships. HDR использует ту же BT.2020/BT.2100 colorimetry очень часто, но PQ или HLG — отдельный transfer layer.

13 разделов4 первичных источников

Ключевые факты

Определения и цифры, которые стоит держать перед глазами

Red primary
x 0.708 · y 0.292

≈ 630 nm monochromatic equivalent in 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 или 12 bit

Bit depth не меняет gamut geometry.

Y′ coefficients
0.2627 · 0.6780 · 0.0593

Отличаются от Rec.709 matrix coefficients.

10-bit nominal range
64 black · 940 white
Главное
Rec.2020 ≠ HDR

PQ/HLG относятся к transfer layer BT.2100.

Gamut scale

Rec.2020 уходит намного дальше P3 и Rec.709

D65Rec.2020P3Rec.709 / sRGB

Треугольники построены по стандартным xy coordinates. Большой encoding gamut не означает, что каждый реальный дисплей — или каждый master — достигает его внешних границ.

BT.2020 vs BT.2100

Wide gamut и HDR — разные слои

BT.2020
UHD system parameters · Rec.2020 primaries · D65 · relative OETF · 10/12-bit
BT.2100
HDR television · те же wide primaries / D65 · PQ или HLG transfer systems
Rec.2020 ≠ HDR

Primaries label не сообщает HDR transfer function. Всегда проверяйте color primaries и transfer characteristics отдельно.

Coding

10/12-bit precision и nominal video levels

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

Bit depth управляет quantisation precision. Он не двигает RGB primaries и поэтому не увеличивает gamut.

YCbCr

Luma coefficients меняются вместе с primaries

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

Неверная matrix может создать color errors даже при формально правильном metadata primaries.

01

Почему HDTV Rec.709 перестал быть достаточным для UHD

Переход к UHD рассматривался не только как увеличение 1920×1080 до 3840×2160/7680×4320. ITU хотела систему с более высоким spatial resolution, более глубокой quantisation и существенно более широким colour gamut. BT.2020 был опубликован для production и international programme exchange как новый UHD baseline. Поэтому Rec.2020 — это целый system recommendation, а не просто треугольник на CIE diagram.

02

Primaries BT.2020: почему треугольник такой огромный

CIE 1931 xy: Red 0.708/0.292, Green 0.170/0.797, Blue 0.131/0.046, white D65 0.3127/0.3290. В BT.2100 informative spectral equivalents этих primaries соответствуют примерно 630 nm, 532 nm и 467 nm monochromatic light. То есть BT.2020 действительно тянет вершины почти к spectral locus. Это значительно шире P3 и Rec.709 и делает возможными chromaticities, которые многие реальные дисплеи всё ещё физически не воспроизводят.

03

Почему white point остался D65

Несмотря на новый gamut, BT.2020 сохранил D65. Это облегчает interoperability с Rec.709 и последующим BT.2100: neutral axis и reference white chromaticity остаются совместимыми, а расширение происходит в primaries. Поэтому conversion Rec.709↔Rec.2020 при одинаковом D65 не требует white-point chromatic adaptation; нужна gamut/primary matrix и соответствующий transfer conversion.

04

Rec.2020 не равен HDR

BT.2020-2 описывает UHD system parameters и собственную relative OETF, которая по форме близка к BT.709. HDR появился в отдельной Recommendation BT.2100, которая сохраняет те же wide primaries/D65, но вводит PQ и HLG transfer systems, HDR reference environment и другие параметры. Файл с `colour_primaries=BT.2020` ещё не говорит, PQ это, HLG или SDR-like transfer. Primaries tag и transfer tag — разные поля системы.

05

BT.2020 OETF: знакомая piecewise форма с более точными constants

Для relative scene signal E используется E′=4.5E в линейном toe и E′=αE^0.45−(α−1) выше breakpoint. Точные smooth-join solutions: α≈1.0992968268 и β≈0.0180539685. Для practical coding BT.2020 допускает α=1.099, β=0.018 в 10-bit systems и α=1.0993, β=0.0181 в 12-bit. Это ещё один пример, почему слово «Gamma» в dropdown может скрывать конкретную стандартизированную piecewise transfer function.

06

Почему BT.2020 сразу ориентируется на 10 и 12 bit

Чем шире gamut, тем больше perceptual volume нужно квантовать. BT.2020 specifies 10- or 12-bit component coding, а не legacy 8-bit baseline Rec.709-era workflows. Больше bit depth не расширяет gamut — primaries уже задали его geometry — но уменьшает quantisation steps и делает большие gradients/colour transforms практичнее. Особенно это важно, когда материал дальше проходит HDR transfer и aggressive grading.

07

Nominal video levels в 10 и 12 bit

Для R′G′B′/Y′ nominal black и peak white в 10-bit coding находятся на 64 и 940, а в 12-bit — 256 и 3760. Chroma neutral расположен на 512/2048 соответственно. Это развитие привычного 16–235 logic Rec.709, а не характеристика gamut. Full/data range и video/narrow range остаются отдельным metadata/processing decision и должны быть интерпретированы правильно.

08

Y′ coefficients изменились вместе с primaries

Для non-linear R′G′B′ BT.2020 использует Y′=0.2627R′+0.6780G′+0.0593B′. Это не те же coefficients, что 0.2126/0.7152/0.0722 в Rec.709, потому что luma matrix связана с colour primaries. Если decoder использует неправильную matrix, hue/saturation errors могут выглядеть как «неправильный gamut», хотя сами chromaticity tags формально верны.

09

Почему в BT.2020 есть constant-luminance и 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. Цель второго — точнее сохранять luminance information и potentially improve coding efficiency for very wide-gamut signals. Но ecosystem support и historical production practice долгое время сильнее опирались на conventional non-constant-luminance behaviour. Само наличие двух вариантов показывает, что label «BT.2020 YCbCr» ещё не описывает всю matrix path.

10

4:4:4, 4:2:2 и 4:2:0 не меняют Rec.2020 gamut

BT.2020 допускает разные chroma sampling structures. 4:2:0 уменьшает spatial chroma resolution, но primaries, D65 и allowed chromaticities остаются теми же. Поэтому `10-bit 4:2:0 Rec.2020` — это комбинация трёх независимых свойств: quantisation precision, chroma sampling и colour space. Нельзя свести их к одной шкале «качество выше/ниже».

11

Rec.2020 как container: почему content может фактически быть P3

HDR delivery часто использует BT.2020 primaries в metadata, потому что стандарт нужен как common wide-gamut signalling space. Но mastering display может физически покрывать лишь P3-D65 или немного больше, а сами кадры — использовать ещё меньший subset. Это нормально: RGB code space задаёт container, но не обязывает каждый pixel лежать у его границ. Проблема начинается, когда downstream display не может воспроизвести chromaticity и output pipeline не делает контролируемый gamut mapping.

12

Почему «монитор принимает Rec.2020» не означает «монитор показывает весь Rec.2020»

Input compatibility означает, что устройство распознаёт signalling и умеет преобразовать его в свой native panel gamut. Coverage — отдельная физическая характеристика primaries/display technology. Телевизор может корректно принять BT.2020/PQ и затем tone/gamut-map content на panel, который близок к P3. Поэтому проверка HDR master на consumer TV должна учитывать реальный display colour volume, а не только label входного сигнала.

13

Как мыслить Rec.2020 в CST/RCM

Не выбирайте Rec.2020 как «HDR preset». Сначала определите четыре слоя: Input/Output Color Space = BT.2020 primaries? Transfer = BT.2020 SDR-like, PQ или HLG? Range = video/full? Matrix = RGB или BT.2020 YCbCr path? В managed Resolve workflow обычно Color Space и Gamma выбираются отдельно именно потому, что Rec.2020 primaries могут сочетаться с несколькими transfer systems. Output gamut mapping решает, что делать с цветами, которые target display physically не может показать.

Что это меняет в постпродакшне

В Resolve запись `Rec.2020` отвечает прежде всего на вопрос о primaries/colorimetry. Для полного state всё равно нужны Gamma/EOTF, range, matrix и target display. Никогда не используйте одно слово Rec.2020 как сокращение для всего HDR pipeline.

Типичные ошибки
Считать Rec.2020 синонимом HDR.
Считать поддержку Rec.2020 доказательством 100% gamut coverage.
Использовать Rec.709 Y′ coefficients для BT.2020 signal.
Путать 10/12-bit с размером gamut.
Игнорировать constant/non-constant-luminance distinction.
Считать Rec.2020 metadata доказательством того, что master реально использует весь gamut.