ВИДЕОМОНТАЖЁРDAVINCI RESOLVE · ВИДЕО · AI

КАРТА ЗНАНИЙ · ВИДЕО И КАМЕРЫ

Не три цвета. Три компоненты сигнала.

Смешайте R′G′B′, смените коэффициенты и намеренно ошибитесь при декодировании. Сравните сами значения, а не только оттенок экранной плашки.

Читайте числа. Замечайте допущения. Затем переносите принцип на свой материал.

04 / YCC / SIGNAL LAB

У матрицы есть обратная.

Y′
0.3561
Cb
-0.1380
Cr
0.2819
Y′: 0 → 1Cb / Cr: −0.5 → 0 → +0.5
Вход R′G′B′0.8000 / 0.2500 / 0.1000
Прочитанные R′G′B′0.8000 / 0.2500 / 0.1000
Записано Y′ / Cb / Cr0.3561 / -0.1380 / 0.2819
Без округленияfloat
Максимум ошибки RGB0

Только NCL-матрицы: без смены охвата, прореживания и кодека. Плашки условно показывают коды через CSS sRGB. Числа не ограничиваются диапазоном предпросмотра. У chroma свои смещение и размах Video.

COLOR SCIENCE / 04 / VIDEO & CAMERAS

Опыт, а не готовый пресет.

Содержание ↓
ИЛЛЮСТРАЦИЯ ТЕМЫ

ГЛАВНОЕ БЕЗ ЛИШНИХ ТЕРМИНОВ

YCbCr и Y′CbCr

Y′CbCr описывает сигнал через яркостную и две цветоразностные компоненты. Преобразование матрицей, квантование и прореживание chroma — разные операции. Только первая из них в идеальной арифметике сама по себе обратима.

  • Разделять Y′, линейную Y и экранную яркость.
  • Вычислять прямую и обратную NCL-матрицу.
  • Проверять матрицу цветными образцами, а диапазон — шкалой.
Иллюстрация темы. Это не скриншот программы, не измерение камеры и не точная схема сенсора.
01

Штрих в Y′ — не декоративный знак

Штрих напоминает, что Y′ вычисляют из нелинейно закодированных R′G′B′. Это luma — яркостная компонента видеосигнала. Она не совпадает с линейной колориметрической Y и не является прямым измерением воспринимаемой светлоты или яркости монитора в кд/м². Одно и то же число требует контекста.

Сначала определите RGB-представление и передаточную функцию; затем — матрицу компонент. Применить формулу к линейному RGB вместо ожидаемого R′G′B′ можно математически, но получится другое представление. При проверке не смешивайте уровни: физический свет, код сигнала и показания графика.

Что это означает на практике

У линейной Y = 0,18 и кодового Y′ = 0,18 разные значения. Нельзя подписывать обе шкалы просто «яркость 18%» без уточнения.

02

Одна взвешенная сумма и две разности

Для 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: цветоразностные компоненты описывают отклонение от нейтральной оси, а не отдельные изображения синего и красного.

При известных коэффициентах и сохранении всех компонент преобразование обратимо в точной арифметике. Округление, обрезка, субдискретизация и сжатие — дополнительные операции, способные сделать результат необратимым. Матрица сама по себе ещё не уменьшила число пространственных отсчётов.

Что это означает на практике

Выберите одинаковые коэффициенты у кодера и декодера, отключите округление. Максимальная ошибка возврата близка к машинному нулю.

03

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. Это полезный тест коэффициентов, а не рецепт экспозиции красного предмета.

04

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: ошибка серого исчезнет, а причина не исправлена.

05

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 нужно прочитать по частям: первое относится к матрице компонент, второе — к передаточной характеристике.

06

Ноль 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). Проверяйте, что именно подписано на шкале.

07

Матрица ещё не означает 4:2:0

Y′CbCr можно сохранить с полной сеткой всех трёх компонент — 4:4:4. Сокращение числа chroma-отсчётов выполняется отдельно. В типичном прогрессивном 4:2:2 горизонтальная плотность Cb/Cr вдвое меньше, а в 4:2:0 вдвое меньше и горизонтальная, и вертикальная. Y′ остаётся на полной сетке.

Перед уменьшением сетки нужен фильтр, затем при восстановлении — интерполяция. Уже эта операция может потерять тонкие цветные структуры без какого-либо кодека с потерями. Обратная матрица RGB восстанавливает компоненты из того, что осталось, а не возвращает отсутствующие измерения.

Что это означает на практике

Перейдите к лаборатории разрядности: на плашках с одинаковым Y′ цветная сетка теряет детали, а серые границы без квантования сохраняются.

08

Chroma siting: важны координаты отсчётов

Размер плоскости ещё не сообщает, где chroma-отсчёт расположен относительно Y′. Позиция может быть соосной или смещённой; определения зависят от стандарта, формата и структуры кадров. Для чересстрочного материала нельзя без проверки использовать прогрессивную схему 2×2.

Когда два фильтра одинаково понимают размеры, но по-разному понимают позиции, цветной край может сдвинуться относительно яркостного. Повторное повышение разрешения не гарантирует исправления. Нужно согласовать входное положение, фильтр реконструкции и положение на выходе, особенно при resize, keying и промежуточных экспортах.

Что это означает на практике

Визуальный тест: тонкая цветная вертикаль на нейтральном фоне. Сравните её положение до и после операции, не только степень размытия.

09

Почему в программах пишут 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.

10

Три похожих симптома — три разных причины

Ошибка матрицы часто проявляется на цветных участках и может не затронуть серый. Ошибка диапазона меняет трактовку чёрного, белого и промежуточных кодов. Ошибка положения chroma сдвигает или меняет цветную границу относительно Y′. В реальном материале несколько ошибок могут действовать одновременно.

Начните с контролируемого теста: нейтральная шкала, несколько насыщенных плашек и тонкие цветные линии. Меняйте только один слой интерпретации за раз. Исправлять всё насыщенностью и контрастом опасно: локально приятная картинка может скрыть неверные значения, которые снова проявятся при следующем преобразовании.

Что это означает на практике

Если серый совпадает, но красный и синий расходятся, сначала проверьте матрицу и gamut; не объявляйте диапазон правильным только по одному серому патчу.

11

Где проверять декодирование в рабочем процессе

Обычно декодер превращает записанные компоненты в изображение, с которым работает система обработки. Нодовый 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-матрицы.

СДЕЛАТЬ. СРАВНИТЬ. ОБЪЯСНИТЬ.

Найти ошибку, которую серый не показывает.

Все значения рассчитываются в лаборатории. Для переноса в видеопроцесс подготовьте нейтральную шкалу и цветные тестовые плашки.

  1. 01

    Проверить обратимость

    Используйте 709 с обеих сторон, без округления, и изменяйте каналы.

    ПРОВЕРКА

    Ошибка возврата близка к машинной точности.

  2. 02

    Сделать матрицы разными

    Поставьте запись 601 и чтение 709 на цветной плашке.

    ПРОВЕРКА

    Записанные Y′CbCr не меняются от выбора декодера, RGB меняются.

  3. 03

    Проверить нейтраль

    Задайте R′ = G′ = B′ = 0,5 и оставьте неправильный декодер.

    ПРОВЕРКА

    Нейтраль сохранилась, но настройка остаётся неверной для цветов.

  4. 04

    Добавить только округление

    Согласуйте матрицы и включите 10-bit Video. Прочитайте три целых кода и ошибку.

    ПРОВЕРКА

    Смещение chroma отделено от уровня чёрного Y′.

Проверьте понимание

0 / 4

Отмечайте то, что можете объяснить самостоятельно.

ПРОВЕРЬТЕ СВОЁ ОБЪЯСНЕНИЕ

Ситуация, а не вопрос с подвохом.

Сначала сформулируйте ответ. Затем откройте разбор.

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.
COLOR / DAVINCI RESOLVE

От модели — к рабочему процессу.

Сначала определите состояние исходных значений и уже выполненные операции. Затем проверяйте декодирование, цветовой процесс и готовый экспорт раздельно. Лаборатория демонстрирует указанный расчёт; она не измеряет ваш монитор, не декодирует загруженный клип и не сертифицирует настройки камеры.

Color Management ↗Scopes ↗Color Space Transform ↗

ПРОВЕРЯЙТЕ ПЕРВООСНОВУ

Источники и границы моделей.

Редакционная проверка: 1 октября 2026. Ссылки указывают на определения и формулы; упражнения — самостоятельные учебные примеры.

  1. [4]
    ITU-R · BT.709-6, §3–4 ↗

    Матрица Y′CbCr, квантование, номинальные уровни Y′ и Cb/Cr, сетка 4:2:2.

  2. [5]
    ITU-R · BT.601-7, Part A §2.5 ↗

    Коэффициенты матрицы SD и нормировка цветоразностных компонент.

  3. [6]
    ITU-R · BT.2020-2, Table 4 ↗

    Различие NCL и constant-luminance. Лаборатория реализует только NCL.

  4. [7]
    FFmpeg · ffprobe documentation ↗

    Выбор потока, вывод полей и JSON-отчёта о готовом файле. Метаданные — свидетельство, но не измерение правильности изображения.

  5. [8]
    FFmpeg · setparams / scale / zscale ↗

    Изменение свойств кадра отдельно от преобразования значений; диапазон и положение chroma при масштабировании.

  6. [9]
    FFmpeg · pixel formats and chroma locations ↗

    Размеры компонент, именование pixel formats и позиции chroma. Имя yuv в API не означает аналоговый YUV.

  7. [12]
    Blackmagic Design · DaVinci Resolve Color ↗

    Управление цветом и работа с RAW. Точные доступные настройки зависят от формата, версии и режима проекта.