YCbCr - YCbCr

Визуализация цветового пространства YCbCr
Плоскость CbCr при постоянной яркости Y ′ = 0,5
Цветное изображение и его компоненты Y ', C B и C R. Изображение Y 'по сути является копией основного изображения в оттенках серого.

YCbCr , Y'CbCr или Y Pb / Cb Pr / Cr , также записываемое как YC B C R или Y'C B C R , представляет собой семейство цветовых пространств, используемых как часть конвейера цветного изображения в видео и цифровой фотографии. системы. Y '- составляющая яркости, а C B и C R - составляющие цветности синего и красного цветов . Y '(со штрихом) отличается от Y, который представляет собой яркость , что означает, что интенсивность света нелинейно кодируется на основегамма-коррекция основных цветов RGB .

Цветовые пространства Y'CbCr определяются математическим преобразованием координат из связанных основных цветов RGB и белой точки. Если базовое цветовое пространство RGB является абсолютным, цветовое пространство Y'CbCr также является абсолютным цветовым пространством ; наоборот, если пространство RGB не определено, то и Y′CbCr тоже. Преобразование определено в ITU-T H.273 . Тем не менее это правило не распространяется на основные цвета DCI-D65, используемые Netflix с матрицей BT.2020-NCL.

Обоснование

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

YCbCr и Y'CbCr представляют собой практическое приближение к обработке цвета и единообразию восприятия, где основные цвета, примерно соответствующие красному, зеленому и синему, обрабатываются в воспринимаемую значимую информацию. Таким образом, последующая обработка, передача и хранение изображений / видео могут выполнять операции и вносить ошибки значимыми для восприятия способами. Y'CbCr используется для разделения сигнала яркости (Y '), который может храниться с высоким разрешением или передаваться с высокой пропускной способностью, и двух компонентов цветности (C B и C R ), которые могут быть уменьшены в полосе пропускания, субдискретизированы, сжаты, или иным образом обрабатываются отдельно для повышения эффективности системы.

Одним из практических примеров может быть уменьшение полосы пропускания или разрешения, выделенного «цвету» по сравнению с «черно-белым», поскольку люди более чувствительны к черно-белой информации (см. Пример изображения справа). Это называется субдискретизацией цветности .

YCbCr

YCbCr иногда сокращается до YCC . Y'CbCr часто называют YPbPr при использовании для аналогового компонентного видео, хотя термин Y'CbCr обычно используется для обеих систем, с штрихом или без него.

Y'CbCr часто путают с цветовым пространством YUV , и обычно термины YCbCr и YUV используются взаимозаменяемо, что приводит к некоторой путанице. Основное различие состоит в том, что YUV предназначен для аналогового телевидения, а YCbCr - для цифрового телевидения, разница также в том, что U max и V max в YCbCr оба .

Сигналы Y'CbCr (до масштабирования и смещения для преобразования сигналов в цифровую форму) называются YPbPr и создаются из соответствующего источника RGB (красный, зеленый и синий) с корректировкой гаммы с использованием трех определенных констант K R , K G , и K B следующим образом:

где K R , K G и K B обычно выводятся из определения соответствующего пространства RGB и должны удовлетворять .

Эквивалентная манипуляция с матрицей часто называется «цветовой матрицей»:

И его обратное:

Здесь штрих (') означает , что используется гамма-коррекция ; таким образом, R ', G' и B 'номинально находятся в диапазоне от 0 до 1, где 0 представляет минимальную интенсивность (например, для отображения черного цвета ), а 1 - максимальную (например, для отображения белого цвета ). Результирующее значение яркости (Y) будет иметь номинальный диапазон от 0 до 1, а значения цветности (P B и P R ) будут иметь номинальный диапазон от -0,5 до +0,5. Процесс обратного преобразования может быть легко получен путем обращения приведенных выше уравнений.

При представлении сигналов в цифровой форме результаты масштабируются и округляются, и обычно добавляются смещения. Например, масштабирование и смещение, применяемые к компоненту Y 'согласно спецификации (например, MPEG-2 ), приводят к значению 16 для черного и значению 235 для белого при использовании 8-битного представления. В стандарте есть 8-битные оцифрованные версии C B и C R, масштабированные в другой диапазон от 16 до 240. Следовательно, изменение масштаба на дробь (235-16) / (240-16) = 219/224 иногда требуется при выполнении цветовая матрица или обработка в пространстве YCbCr, приводящая к искажениям квантования, когда последующая обработка не выполняется с использованием более высоких битовых глубин.

Масштабирование, которое приводит к использованию меньшего диапазона цифровых значений, чем то, что может показаться желательным для представления номинального диапазона входных данных, допускает некоторые «выбросы» и «недолеты» во время обработки без необходимости нежелательного ограничения . Эти « высота » и «потолок» также могут использоваться для расширения номинальной цветовой гаммы , как указано xvYCC .

Значение 235 соответствует максимальному выбросу от черного к белому в размере 255-235 = 20 или 20 / (235-16) = 9,1%, что немного больше теоретического максимального выброса ( Феномен Гиббса ), составляющего около 8,9% от максимальный шаг. Подошва меньше, допуская только 16/219 = 7,3% перерегулирования, что меньше теоретического максимального перерегулирования 8,9%. Но поскольку значения 0 и 255 зарезервированы в HDMI, на самом деле это немного меньше.

Поскольку уравнения, определяющие Y'CbCr, сформированы таким образом, что весь номинальный цветовой куб RGB вращается и масштабируется так, чтобы соответствовать (большему) цветовому кубу YCbCr, в цветовом кубе Y'CbCr есть некоторые точки, которые не могут быть представлены в соответствующий домен RGB (по крайней мере, не в номинальном диапазоне RGB). Это вызывает некоторые трудности в определении того, как правильно интерпретировать и отображать некоторые сигналы Y'CbCr. Эти значения Y'CbCr вне диапазона используются xvYCC для кодирования цветов вне диапазона BT.709.

Преобразование RGB в YCbCr

Преобразование ITU-R BT.601

Форма Y'CbCr, которая была определена для использования телевидения стандартной четкости в стандарте ITU-R BT.601 (ранее CCIR 601 ) для использования с цифровым компонентным видео , получена из соответствующего пространства RGB (ITU-R BT.470- 6 основных параметров System M) следующим образом:

Из приведенных выше констант и формул для ITU-R BT.601 можно вывести следующее.

Аналог YPbPr из аналога R'G'B 'получается следующим образом:

Цифровой Y'CbCr (8 бит на выборку) выводится из аналогового R'G'B 'следующим образом:

или просто покомпонентно

Результирующие сигналы колеблются от 16 до 235 для Y '(Cb и Cr колеблются от 16 до 240); значения от 0 до 15 называются пространством для ног , а значения от 236 до 255 называются запасом .

В качестве альтернативы цифровой Y'CbCr может быть получен из цифрового R'dG'dB'd (8 бит на выборку, каждый из которых использует полный диапазон, где ноль представляет черный цвет, а 255 представляет белый цвет) в соответствии со следующими уравнениями:

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

Если цифровой источник R'd G'd B'd включает в себя пространство для ног и высоту для ног, смещение 16 для ног необходимо сначала вычесть из каждого сигнала, а масштабный коэффициент необходимо включить в уравнения.

Обратное преобразование:

Обратное преобразование без каких-либо округлений (с использованием значений, взятых непосредственно из рекомендации ITU-R BT.601):

Эта форма Y'CbCr используется в основном для старых телевизионных систем стандартной четкости , поскольку в ней используется модель RGB, которая соответствует характеристикам излучения люминофора старых ЭЛТ .

Преобразование ITU-R BT.709

Рек. 709 по сравнению с Рек. 2020 г.

Другая форма Y'CbCr указана в стандарте ITU-R BT.709 , в первую очередь для использования HDTV . Более новая форма также используется в некоторых приложениях, ориентированных на компьютерные дисплеи, как sRGB (хотя матрица, используемая для формы sRGB YCbCr, sYCC , по-прежнему BT.601). В этом случае значения Kb и Kr различаются, но формулы их использования одинаковы. Для ITU-R BT.709 константами являются:

Эта форма Y'CbCr основана на модели RGB, которая более точно соответствует характеристикам излучения люминофора новых ЭЛТ и другого современного оборудования для отображения. Матрицы преобразования для BT.709 следующие:

Определения сигналов R ', G' и B 'также различаются между BT.709 и BT.601 и различаются в BT.601 в зависимости от типа используемой телевизионной системы (625 строк, как в PAL и SECAM или 525-строчный, как в NTSC ), и отличаются другими характеристиками. В разных конструкциях есть различия в определениях координат цветности R, G и B, опорной белой точки, поддерживаемого диапазона гаммы, точных функций предварительной компенсации гаммы для получения R ', G' и B 'из R, G и B, а также в масштабировании и смещениях, которые должны применяться во время преобразования из R'G'B 'в Y'CbCr. Таким образом, правильное преобразование Y'CbCr из одной формы в другую - это не просто вопрос инвертирования одной матрицы и применения другой. Фактически, когда Y'CbCr спроектирован идеально, значения K B и K R выводятся из точной спецификации основных цветовых сигналов RGB, так что сигнал яркости (Y ') соответствует как можно ближе к гамма- скорректированное измерение яркости (обычно основанное на измерениях реакции зрительной системы человека на цветовые стимулы CIE 1931).

Преобразование ITU-R BT.2020

Стандарт ITU-R BT.2020 определяет как Y'CbCr с гамма-коррекцией BT.709, так и использование одной и той же гамма-коррекции (за исключением Y ', который рассчитывается по-другому), но с постоянной яркостью Cb, Cr называется YcCbcCrc.

Для обоих коэффициенты равны:

Матрица декодирования BT.2020-NCL с 14 знаками после запятой:

Меньшие значения в матрице не округляются, это точные значения. Для систем с ограниченной точностью (например, 8 или 10 бит) может использоваться более низкая точность указанной выше матрицы, например, с сохранением только 6 цифр после десятичной точки.

YcCbcCrc может использоваться, когда высшим приоритетом является наиболее точное сохранение информации о яркости. Представление цвета имеет истинную постоянную яркость (CL), когда канал яркости (Y 'из Y'CbCr, закодированный с передаточной функцией BT.709 или PQ, например) совпадает с закодированной яркостью (BT.709 или закодированная PQ яркость Y из XYZ), тем не менее , YcCbcCrc не обеспечивает постоянной интенсивности (CI), что делается в IC T C P . BT.2020 не определяет PQ и, следовательно, HDR, он дополнительно определен в SMPTE ST 2084 и BT.2100 .

Вывод коэффициентов BT.2020 из праймериз BT.2020 еще больше меняет пространство.

Преобразование SMPTE 240M

Стандарт SMPTE 240M определяет YCC с этими коэффициентами:

Коэффициенты выводятся из основных цветов SMPTE 170M и точки белого, используемых в стандарте 240M.

Преобразование JPEG

JFIF использование JPEG поддерживает модифицированную Rec. 601 Y'CbCr, где Y ', C B и C R имеют полный 8-битный диапазон [0 ... 255]. Ниже приведены уравнения преобразования, выраженные с точностью до шести десятичных знаков. (Идеальные уравнения см. В ITU-T T.871.) Обратите внимание, что для следующих формул диапазон каждого входа (R, G, B) также является полным 8-битным диапазоном [0 ... 255].

И назад:

Коэффициенты для основных цветов BT.470-6 System B, G

Эти коэффициенты не используются и никогда не использовались.

Системы яркости на основе цветности

H.273 также описывает системы постоянной и непостоянной яркости, которые получены строго из основных цветов и точки белого, поэтому такие ситуации, как основные цвета sRGB / BT.709 по умолчанию для JPEG, которые используют матрицу BT.601 (которая получена из BT.470- 6 Система М) не бывает.

использованная литература

внешние ссылки