КАРТА ЗНАНИЙ · ВИДЕО И КАМЕРЫ
Не три цвета. Три компоненты сигнала.
Смешайте R′G′B′, смените коэффициенты и намеренно ошибитесь при декодировании. Сравните сами значения, а не только оттенок экранной плашки.
Читайте числа. Замечайте допущения. Затем переносите принцип на свой материал.
У матрицы есть обратная.
0.3561-0.13800.28190.8000 / 0.2500 / 0.10000.8000 / 0.2500 / 0.10000.3561 / -0.1380 / 0.2819float0Только NCL-матрицы: без смены охвата, прореживания и кодека. Плашки условно показывают коды через CSS sRGB. Числа не ограничиваются диапазоном предпросмотра. У chroma свои смещение и размах Video.
ИЛЛЮСТРАЦИЯ ТЕМЫГЛАВНОЕ БЕЗ ЛИШНИХ ТЕРМИНОВ
YCbCr и Y′CbCr
Y′CbCr описывает сигнал через яркостную и две цветоразностные компоненты. Преобразование матрицей, квантование и прореживание chroma — разные операции. Только первая из них в идеальной арифметике сама по себе обратима.
- Разделять Y′, линейную Y и экранную яркость.
- Вычислять прямую и обратную NCL-матрицу.
- Проверять матрицу цветными образцами, а диапазон — шкалой.
Штрих в Y′ — не декоративный знак
Штрих напоминает, что Y′ вычисляют из нелинейно закодированных R′G′B′. Это luma — яркостная компонента видеосигнала. Она не совпадает с линейной колориметрической Y и не является прямым измерением воспринимаемой светлоты или яркости монитора в кд/м². Одно и то же число требует контекста.
Сначала определите RGB-представление и передаточную функцию; затем — матрицу компонент. Применить формулу к линейному RGB вместо ожидаемого R′G′B′ можно математически, но получится другое представление. При проверке не смешивайте уровни: физический свет, код сигнала и показания графика.
Что это означает на практике
У линейной Y = 0,18 и кодового Y′ = 0,18 разные значения. Нельзя подписывать обе шкалы просто «яркость 18%» без уточнения.
Одна взвешенная сумма и две разности
Для non-constant-luminance представления Y′ = Kr·R′ + Kg·G′ + Kb·B′, где Kg = 1 − Kr − Kb. Cb нормирует разность B′ − Y′, а Cr — R′ − Y′. Нейтральный R′ = G′ = B′ даёт Cb = Cr = 0: цветоразностные компоненты описывают отклонение от нейтральной оси, а не отдельные изображения синего и красного.
При известных коэффициентах и сохранении всех компонент преобразование обратимо в точной арифметике. Округление, обрезка, субдискретизация и сжатие — дополнительные операции, способные сделать результат необратимым. Матрица сама по себе ещё не уменьшила число пространственных отсчётов.
Что это означает на практике
Выберите одинаковые коэффициенты у кодера и декодера, отключите округление. Максимальная ошибка возврата близка к машинному нулю.
BT.709: конкретные коэффициенты, не общий ярлык
В этой матрице Kr = 0,2126, Kg = 0,7152 и Kb = 0,0722. Для нормированных компонент Cb = (B′ − Y′)/1,8556, Cr = (R′ − Y′)/1,5748. Эти числа нужны парой с соответствующей обратной формулой. Большой коэффициент зелёного не означает, что зелёный канал содержит всю детализацию кадра.
Матрица — только одна часть описания BT.709-видео. Она не выполняет смену gamut, не задаёт цифровой диапазон и не заменяет передаточную функцию. Лаборатория разделяет эти слои: матрица меняется независимо от необязательного квантования Video.
Что это означает на практике
Для R′G′B′ = (1,0,0) получите Y′ = 0,2126 и Cr = 0,5. Это полезный тест коэффициентов, а не рецепт экспозиции красного предмета.
BT.601: другая матрица может оставить серый прежним
Для BT.601 используются Kr = 0,299, Kg = 0,587 и Kb = 0,114. Эти коэффициенты отличаются от BT.709. Если закодировать цветной материал одной матрицей, а декодировать другой, цветные области изменятся. При этом нейтральный сигнал с нулевыми Cb/Cr может оставаться нейтральным.
Поэтому ровная серая шкала не доказывает правильность матрицы. Нужны цветные образцы. Разрешение файла даёт исторический контекст, но не является безусловным доказательством: SD-источник могли масштабировать, перемонтировать или неправильно пометить. Читайте метаданные и историю преобразований.
Что это означает на практике
В опыте закодируйте красноватую плашку как 601 и прочитайте как 709. Затем поставьте все R′G′B′ в 0,5: ошибка серого исчезнет, а причина не исправлена.
BT.2020: NCL и constant-luminance — разные случаи
В BT.2020 NCL Kr = 0,2627, Kg = 0,6780, Kb = 0,0593. Простая формула цветоразностей похожа на предыдущие, но использует другие коэффициенты. Подставить матрицу 709 по привычке нельзя, даже если итоговый экран — обычный SDR.
BT.2020 также определяет constant-luminance представление с другой процедурой образования компонент. Оно не реализовано заменой Kr и Kb в NCL-матрице. В этом опыте кнопка прямо подписана «2020 NCL»; она не притворяется CL, ICtCp или HDR-декодером. HDR-кривая и работа с охватом рассматриваются отдельными этапами.
Что это означает на практике
Сочетание тегов bt2020nc и PQ нужно прочитать по частям: первое относится к матрице компонент, второе — к передаточной характеристике.
Ноль chroma не равен нулевому цифровому коду
Нормированные Cb/Cr могут быть отрицательными. Для целочисленной записи Video их смещают вокруг центра: в 8 бит нейтраль соответствует 128, в 10 бит — 512. Номинальные края chroma составляют 16…240 и 64…960, а у Y′ — 16…235 и 64…940. Разные размахи нельзя механически заменить одним.
В 8 бит: Ycode = round(16 + 219Y′), Ccode = round(128 + 224C). Для 10 бит множители и смещения масштабируются на четыре. Номинальные границы не тождественны всем допустимым значениям конкретного транспорта или файла. Лаборатория не обрезает результат перед отображением чисел.
Что это означает на практике
Чёрный нейтральный Y′CbCr в 10-bit Video — (64,512,512), а не (64,64,64). Проверяйте, что именно подписано на шкале.
Матрица ещё не означает 4:2:0
Y′CbCr можно сохранить с полной сеткой всех трёх компонент — 4:4:4. Сокращение числа chroma-отсчётов выполняется отдельно. В типичном прогрессивном 4:2:2 горизонтальная плотность Cb/Cr вдвое меньше, а в 4:2:0 вдвое меньше и горизонтальная, и вертикальная. Y′ остаётся на полной сетке.
Перед уменьшением сетки нужен фильтр, затем при восстановлении — интерполяция. Уже эта операция может потерять тонкие цветные структуры без какого-либо кодека с потерями. Обратная матрица RGB восстанавливает компоненты из того, что осталось, а не возвращает отсутствующие измерения.
Что это означает на практике
Перейдите к лаборатории разрядности: на плашках с одинаковым Y′ цветная сетка теряет детали, а серые границы без квантования сохраняются.
Chroma siting: важны координаты отсчётов
Размер плоскости ещё не сообщает, где chroma-отсчёт расположен относительно Y′. Позиция может быть соосной или смещённой; определения зависят от стандарта, формата и структуры кадров. Для чересстрочного материала нельзя без проверки использовать прогрессивную схему 2×2.
Когда два фильтра одинаково понимают размеры, но по-разному понимают позиции, цветной край может сдвинуться относительно яркостного. Повторное повышение разрешения не гарантирует исправления. Нужно согласовать входное положение, фильтр реконструкции и положение на выходе, особенно при resize, keying и промежуточных экспортах.
Что это означает на практике
Визуальный тест: тонкая цветная вертикаль на нейтральном фоне. Сравните её положение до и после операции, не только степень размытия.
Почему в программах пишут YUV
YUV, Y′PbPr и Y′CbCr исторически относятся к разным представлениям и способам использования компонент. Однако в программных API и именах pixel formats слово yuv часто используется как общий ярлык для цифровых планарных форматов с цветоразностями. По одному префиксу нельзя вывести коэффициенты, диапазон или передачу сигнала.
Например, yuv420p сообщает организацию плоскостей и сетку, но само имя не заменяет поля color_space, color_range, color_transfer и color_primaries. Формат с суффиксом 10le добавляет сведения о хранении 10-битных отсчётов и порядке байтов; это не автоматически HDR и не название gamut.
Что это означает на практике
В отчёте ffprobe читайте pix_fmt вместе с цветовыми полями. Не пытайтесь определить S-Log, Rec.709 или PQ только по yuv420p10le.
Три похожих симптома — три разных причины
Ошибка матрицы часто проявляется на цветных участках и может не затронуть серый. Ошибка диапазона меняет трактовку чёрного, белого и промежуточных кодов. Ошибка положения chroma сдвигает или меняет цветную границу относительно Y′. В реальном материале несколько ошибок могут действовать одновременно.
Начните с контролируемого теста: нейтральная шкала, несколько насыщенных плашек и тонкие цветные линии. Меняйте только один слой интерпретации за раз. Исправлять всё насыщенностью и контрастом опасно: локально приятная картинка может скрыть неверные значения, которые снова проявятся при следующем преобразовании.
Что это означает на практике
Если серый совпадает, но красный и синий расходятся, сначала проверьте матрицу и gamut; не объявляйте диапазон правильным только по одному серому патчу.
Где проверять декодирование в рабочем процессе
Обычно декодер превращает записанные компоненты в изображение, с которым работает система обработки. Нодовый CST не следует считать универсальным ручным декодером любого Y′CbCr-файла. Если неверные значения уже получены на входе, последующая работа с цветовым пространством может не исправить исходную ошибку.
Сравните metadata, настройки интерпретации и независимый контрольный экспорт. Используйте scopes для числовых уровней, Viewer для структуры и цветных краёв, а ffprobe — для описания файла. Совместите эти свидетельства. Сам по себе правильно подписанный файл не доказывает правильные отсчёты, а красивый Viewer не доказывает корректные теги.
Что это означает на практике
Проверяйте круговой экспорт в той же цветоуправляемой цепочке. Иначе различие декодирования легко перепутать с различием условий просмотра.
МОДЕЛЬ, КОТОРУЮ МОЖНО ПРОВЕРИТЬ
Компонента, код и позиция — разные понятия.
Держите рядом смысл, расчёт и границу применимости.
Y′ = KrR′ + KgG′ + KbB′; Cb = (B′−Y′)/(2−2Kb); Cr = (R′−Y′)/(2−2Kr)Kg = 1 − Kr − Kb. Обратный расчёт восстанавливает B′ и R′ из разностей, затем G′ из суммы. Без дополнительных потерь он обратим. В лаборатории BT.2020 реализован только как NCL; плашки — условное отображение одинаковых кодов в CSS sRGB, не полноценное преобразование охвата.
| Понятие | Что описывает | Какой вывод делать нельзя |
|---|---|---|
| Y′ | Взвешенная сумма нелинейных RGB-кодов. | Не физическая luminance Y и не кд/м². |
| Cb / Cr | Нормированные цветоразности вокруг нуля. | Не самостоятельные синий и красный изображения. |
| Digital offset | Перенос нуля chroma к 128/512 в Video. | Не путать с чёрным Y′ = 16/64. |
| Subsampling | Уменьшение пространственной chroma-сетки. | Не часть самой обратимой NCL-матрицы. |
СДЕЛАТЬ. СРАВНИТЬ. ОБЪЯСНИТЬ.
Найти ошибку, которую серый не показывает.
Все значения рассчитываются в лаборатории. Для переноса в видеопроцесс подготовьте нейтральную шкалу и цветные тестовые плашки.
- 01
Проверить обратимость
Используйте 709 с обеих сторон, без округления, и изменяйте каналы.
ПРОВЕРКАОшибка возврата близка к машинной точности.
- 02
Сделать матрицы разными
Поставьте запись 601 и чтение 709 на цветной плашке.
ПРОВЕРКАЗаписанные Y′CbCr не меняются от выбора декодера, RGB меняются.
- 03
Проверить нейтраль
Задайте R′ = G′ = B′ = 0,5 и оставьте неправильный декодер.
ПРОВЕРКАНейтраль сохранилась, но настройка остаётся неверной для цветов.
- 04
Добавить только округление
Согласуйте матрицы и включите 10-bit Video. Прочитайте три целых кода и ошибку.
ПРОВЕРКАСмещение chroma отделено от уровня чёрного Y′.
Проверьте понимание
ПРОВЕРЬТЕ СВОЁ ОБЪЯСНЕНИЕ
Ситуация, а не вопрос с подвохом.
Сначала сформулируйте ответ. Затем откройте разбор.
01При 601→709 серый не меняется. Значит, матрицы равны?+
Нет: при равных RGB цветоразности нулевые. Проверка только нейтрали не отличает коэффициенты. Добавьте цветные плашки.
02YUV420P сообщает Rec.709?+
Нет: имя формата сообщает структуру плоскостей, но не полное цветовое определение. Нужны матрица, диапазон, transfer и primaries.
03Матрица обратима — почему экспорт потерял детали?+
Вместе с ней могли применяться квантование, ограничение, субдискретизация и сжатие. Проверяйте каждый этап отдельно.
Не сокращайте объяснение до этих ошибок
- Называть Y′ физической luminance Y.
- Считать YCbCr самостоятельным gamut.
- Декодировать SD BT.601 matrix как BT.709.
- Путать BT.2020 NCL и constant-luminance representation.
- Игнорировать chroma neutral offset/range.
- Игнорировать chroma siting при resampling.
От модели — к рабочему процессу.
Сначала определите состояние исходных значений и уже выполненные операции. Затем проверяйте декодирование, цветовой процесс и готовый экспорт раздельно. Лаборатория демонстрирует указанный расчёт; она не измеряет ваш монитор, не декодирует загруженный клип и не сертифицирует настройки камеры.
ПРОВЕРЯЙТЕ ПЕРВООСНОВУ
Источники и границы моделей.
Редакционная проверка: 1 октября 2026. Ссылки указывают на определения и формулы; упражнения — самостоятельные учебные примеры.
- [4]ITU-R · BT.709-6, §3–4 ↗
Матрица Y′CbCr, квантование, номинальные уровни Y′ и Cb/Cr, сетка 4:2:2.
- [5]ITU-R · BT.601-7, Part A §2.5 ↗
Коэффициенты матрицы SD и нормировка цветоразностных компонент.
- [6]ITU-R · BT.2020-2, Table 4 ↗
Различие NCL и constant-luminance. Лаборатория реализует только NCL.
- [7]FFmpeg · ffprobe documentation ↗
Выбор потока, вывод полей и JSON-отчёта о готовом файле. Метаданные — свидетельство, но не измерение правильности изображения.
- [8]FFmpeg · setparams / scale / zscale ↗
Изменение свойств кадра отдельно от преобразования значений; диапазон и положение chroma при масштабировании.
- [9]FFmpeg · pixel formats and chroma locations ↗
Размеры компонент, именование pixel formats и позиции chroma. Имя yuv в API не означает аналоговый YUV.
- [12]Blackmagic Design · DaVinci Resolve Color ↗
Управление цветом и работа с RAW. Точные доступные настройки зависят от формата, версии и режима проекта.