YCbCr

Представление цветового пространства YCbCr
Плоскость CbCr при постоянной яркости Y'=0.5
Цветное изображение и его компоненты Y, CB и CR

YCbCr, Y′CbCr, или Y Pb/Cb Pr/Cr, также пишется как Y’CBCR или YCBCR — семейство цветовых пространств, которые используются для передачи цветных изображений в компонентном видео и цифровой фотографии.

Y' — компонента яркости, CB и CR являются синей и красной цветоразностными компонентами. Y' (с апострофом) отличается от Y, которой обозначают яркость без предыскажения. Апостроф означает, что интенсивность света кодируется нелинейно с помощью гамма-коррекции.

Y’CbCr не является абсолютным цветовым пространством; скорее это способ кодирования информации сигналов RGB. Для систем отображения используются сигналы основных цветов RGB (красный, зелёный и синий). Эти сигналы не являются эффективными для хранения и передачи изображений, так как они имеют большую избыточность. Поэтому перевод в систему Y’CbCr позволяет передать информацию о яркости с полным разрешением, а для цветоразностных компонент произвести субдискретизацию, то есть выборку с уменьшением числа передаваемых элементов изображения, так как человеческий глаз менее чувствителен к перепадам цвета. Это повышает эффективность системы, позволяя уменьшить поток видеоданных. Значение, выраженное в Y’CbCr будет предсказуемо, если первично использовались сигналы основных цветов RGB.

Формулы преобразования

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

Y’CbCr часто путают с цветовым пространством YUV, и, как правило, термины YCbCr и YUV используются как взаимозаменяемые, что приводит к некоторой путанице. Когда речь идет о видео или сигналах в цифровой форме, термин «YUV» в основном означает «Y’CbCr».

Сигналы Y’CbCr (до нормирования и смещения для перевода сигналов в цифровую форму) называют YPbPr. Они формируются с применением гамма-коррекции из соответствующих RGB источников с помощью двух определенных констант KB и KR следующим образом:

Y = K R R + ( 1 K R K B ) G + K B B P B = 1 2 B Y 1 K B P R = 1 2 R Y 1 K R {\displaystyle {\begin{aligned}Y'&=K_{R}\cdot R'+(1-K_{R}-K_{B})\cdot G'+K_{B}\cdot B'\\P_{B}&={\frac {1}{2}}\cdot {\frac {B'-Y'}{1-K_{B}}}\\P_{R}&={\frac {1}{2}}\cdot {\frac {R'-Y'}{1-K_{R}}}\end{aligned}}}

где KB и KR коэффициенты, которые обычно выводятся из определения соответствующего пространства RGB.

Здесь апостроф ' означает компоненты с гамма-коррекцией, поэтому R', G' и B' располагаются в пределах от 0 до 1, где 0 соответствует минимальной интенсивности (например, для отображения чёрного цвета) и 1 соответствует максимуму (например, для отображения белого цвета). Результирующее значение яркости (Y) будет иметь пределы от 0 до 1, а значения цветности (PB и PR) будут расположены в пределах от −0.5 до +0.5. Обратный процесс преобразования может быть легко получен путём обращения представленных выше уравнений.

При представлении сигналов в цифровой форме, результат нормируется и округляется, и, как правило, добавляется смещение. Так, например, нормирование и смещение, применяемое к компоненте Y' согласно спецификации (например, MPEG-2[1]), приводит к значению 16 для чёрного и значению 235 для белого при использовании 8-битного представления. Стандарт имеет 8-битные цифровые версии Cb и Cr, нормированные в другом диапазоне: от 16 до 240.

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

Так как в пространстве YCRCB можно представить существенно более широкую гамму значений сигнала, чем поддерживаемая в соответствующих диапазонах сигналов R, G и B, то существует вероятность получения таких сигналов Y, CR и CB, которые, несмотря на пригодность каждого из них по отдельности, могут, при преобразовании к RGB, привести к получению значений, лежащих вне допустимых пределов. Это можно предотвратить наложив ограничения на сигналы Y, CR и CB, также такие ограничения применяются для поддержания значений яркости и цветовых оттенков, при этом субъективные искажения минимизируются посредством потери только насыщенности цвета.

Преобразования по рекомендации ITU-R BT.601

Форма Y’CbCr, которая была определена для телевидения стандартной чёткости (стандарт МСЭ-R BT.601 (бывшая CCIR 601)) для использования с цифровыми компонентным видео формируется из соответствующего пространства RGB следующим образом:

K B = 0.114 {\displaystyle K_{B}=0.114}
K R = 0.299 {\displaystyle K_{R}=0.299}

Из приведенных выше констант и формул, могут быть получены следующие уравнения для МСЭ-R BT.601. Преобразование аналоговых компонент R’G’B' в аналоговые YPbPr происходит следующим образом:

Y = 0.299 R + 0.587 G + 0.114 B P B = 0.168736 R 0.331264 G + 0.5 B P R = 0.5 R 0.418688 G 0.081312 B {\displaystyle {\begin{aligned}Y'&=&0.299\cdot R'&+&0.587\cdot G'&+&0.114\cdot B'\\P_{B}&=-&0.168736\cdot R'&-&0.331264\cdot G'&+&0.5\cdot B'\\P_{R}&=&0.5\cdot R'&-&0.418688\cdot G'&-&0.081312\cdot B'\end{aligned}}}

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

Y = 16 + ( 65.481 R + 128.553 G + 24.966 B ) C B = 128 + ( 37.797 R 74.203 G + 112.0 B ) C R = 128 + ( 112.0 R 93.786 G 18.214 B ) {\displaystyle {\begin{aligned}Y'&=&16&+&(65.481\cdot R'&+&128.553\cdot G'&+&24.966\cdot B')\\C_{B}&=&128&+&(-37.797\cdot R'&-&74.203\cdot G'&+&112.0\cdot B')\\C_{R}&=&128&+&(112.0\cdot R'&-&93.786\cdot G'&-&18.214\cdot B')\end{aligned}}}

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

Y C B C R = ( 16 , 128 , 128 ) + ( 219 , 224 , 224 ) Y P B P R {\displaystyle {\begin{aligned}Y'C_{B}C_{R}&=&(16,128,128)+(219,224,224)\cdot Y'P_{B}P_{R}\\\end{aligned}}}

Полученные сигналы находятся в диапазоне от 16 до 235, значения от 0 до 15 и от 236 до 255 формируют два запасных диапазона.

Кроме того, цифровые(дискретные-квантованные отсчёты) компоненты Y’CbCr происходит от цифровых(дискретные-квантованные отсчёты) компонент R’dG’dB’d (8 бит на семпл) в соответствии со следующими уравнениями:

Y = 16 + 65.738 R D 256 + 129.057 G D 256 + 25.064 B D 256 C B = 128 + 37.945 R D 256 74.494 G D 256 + 112.439 B D 256 C R = 128 + 112.439 R D 256 94.154 G D 256 18.285 B D 256 {\displaystyle {\begin{aligned}Y'&=&16&+&{\frac {65.738\cdot R'_{D}}{256}}&+&{\frac {129.057\cdot G'_{D}}{256}}&+&{\frac {25.064\cdot B'_{D}}{256}}\\C_{B}&=&128&+&{\frac {-37.945\cdot R'_{D}}{256}}&-&{\frac {74.494\cdot G'_{D}}{256}}&+&{\frac {112.439\cdot B'_{D}}{256}}\\C_{R}&=&128&+&{\frac {112.439\cdot R'_{D}}{256}}&-&{\frac {94.154\cdot G'_{D}}{256}}&-&{\frac {18.285\cdot B'_{D}}{256}}\end{aligned}}}

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

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

R D = 298.082 Y 256 + 408.583 C R 256 222.921 G D = 298.082 Y 256 100.291 C B 256 208.120 C R 256 + 135.576 B D = 298.082 Y 256 + 516.412 C B 256 276.836 {\displaystyle {\begin{aligned}R'_{D}&=&{\frac {298.082\cdot Y'}{256}}&&&+&{\frac {408.583\cdot C_{R}}{256}}&-&222.921\\G'_{D}&=&{\frac {298.082\cdot Y'}{256}}&-&{\frac {100.291\cdot C_{B}}{256}}&-&{\frac {208.120\cdot C_{R}}{256}}&+&135.576\\B'_{D}&=&{\frac {298.082\cdot Y'}{256}}&+&{\frac {516.412\cdot C_{B}}{256}}&&&-&276.836\end{aligned}}}

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

R D = 255 219 ( Y 16 ) + 255 112 0.701 ( C R 128 ) G D = 255 219 ( Y 16 ) 255 112 0.886 0.114 0.587 ( C B 128 ) 255 112 0.701 0.299 0.587 ( C R 128 ) B D = 255 219 ( Y 16 ) + 255 112 0.886 ( C B 128 ) {\displaystyle {\begin{aligned}R'_{D}&=&{\frac {255}{219}}\cdot (Y'-16)&+&&&{\frac {255}{112}}\cdot 0.701\cdot (C_{R}-128)\\G'_{D}&=&{\frac {255}{219}}\cdot (Y'-16)&-&{\frac {255}{112}}\cdot 0.886\cdot {\frac {0.114}{0.587}}\cdot (C_{B}-128)&-&{\frac {255}{112}}\cdot 0.701\cdot {\frac {0.299}{0.587}}\cdot (C_{R}-128)\\B'_{D}&=&{\frac {255}{219}}\cdot (Y'-16)&+&{\frac {255}{112}}\cdot 0.886\cdot (C_{B}-128)\end{aligned}}}

Полученные по приведенным выше формулам значения цифровых компонент R’dG’dB’d должны быть ограничены до 8-битного диапазона 0−255.

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

Преобразования по рекомендации ITU-R BT.709

В стандарте ITU-R BT.709 указаны различные формы Y’CbCr, в первую очередь для использования в ТВЧ. Новая форма также используется в некоторых компьютерных дисплеях. В этом случае, значения Kb и Kr отличаться, но уравнения с ними будут такими же. Для МСЭ-R BT.709 коэффициенты определены как:

K B = 0.0722 {\displaystyle K_{B}=0.0722}
K R = 0.2126 {\displaystyle K_{R}=0.2126}

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

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

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

Формат обмена файлами JPEG позволяет использовать Y’CbCr, где Y, CB и CR имеют полный 8-битный диапазон 0-255:

Y = 0 + ( 0.299 R D ) + ( 0.587 G D ) + ( 0.114 B D ) C B = 128 ( 0.168736 R D ) ( 0.331264 G D ) + ( 0.5 B D ) C R = 128 + ( 0.5 R D ) ( 0.418688 G D ) ( 0.081312 B D ) {\displaystyle {\begin{aligned}Y'&=&0&+(0.299&\cdot R'_{D})&+(0.587&\cdot G'_{D})&+(0.114&\cdot B'_{D})\\C_{B}&=&128&-(0.168736&\cdot R'_{D})&-(0.331264&\cdot G'_{D})&+(0.5&\cdot B'_{D})\\C_{R}&=&128&+(0.5&\cdot R'_{D})&-(0.418688&\cdot G'_{D})&-(0.081312&\cdot B'_{D})\end{aligned}}}

И обратно:

R = Y + 1.402 ( C R 128 ) G = Y 0.34414 ( C B 128 ) 0.71414 ( C R 128 ) B = Y + 1.772 ( C B 128 ) {\displaystyle {\begin{aligned}R&=&Y&&&+1.402\cdot &(C_{R}-128)\\G&=&Y&-0.34414\cdot &(C_{B}-128)&-0.71414\cdot &(C_{R}-128)\\B&=&Y&+1.772\cdot &(C_{B}-128)&\end{aligned}}}

CbCr плоскости при различных значениях Y

  • Y=0
    Y=0
  • Y=0.5
    Y=0.5
  • Y=1
    Y=1

См. также

Примечания

  1. e.g. the MPEG-2 specification, ITU H.262 2000 E pg. 44
  2. Charles Poynton, Digital Video and HDTV, Chapter 24, pp. 291—292, Morgan Kaufmann, 2003.

Ссылки

Логотип Викиучебника Имеется викиучебник по теме «Цифровое представление цвета»
  • Рекомендация МСЭ-R BT. 601-7 (03/2011) Студийные параметры кодирования цифрового телевидения для стандартного 4:3 и широкоэкранного 16:9 форматов
  • Charles Poynton — Color FAQ (англ.)
  • Charles Poynton — Video engineering (англ.)
  • Color Space Visualization (англ.)
  • PC Magazine Encyclopedia: YCbCr (англ.)
  • YUV, YCbCr, YPbPr color spaces. (англ.)
  • Color formats (англ.)
  • Color conversion (англ.)
Перейти к шаблону «Цветовые модели»

Цветовые каталоги: