YCbCr

Материал из testwiki
Перейти к навигации Перейти к поиску
Представление цветового пространства 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=KRR+(1KRKB)G+KBBPB=12BY1KBPR=12RY1KR

где 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 следующим образом:

KR=0.299
KG=0.587
KB=0.114

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

Y=0.299R+0.587G+0.114BPB=0.168736R0.331264G+0.5BPR=0.5R0.418688G0.081312B

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

Y=16+(65.481R+128.553G+24.966B)CB=128+(37.797R74.203G+112.0B)CR=128+(112.0R93.786G18.214B)

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

YCBCR=(16,128,128)+(219,224,224)YPBPR

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

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

Y=16+65.738R'D256+129.057G'D256+25.064B'D256CB=128+37.945R'D25674.494G'D256+112.439B'D256CR=128+112.439R'D25694.154G'D25618.285B'D256

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

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

R'D=298.082Y256+408.583CR256222.921G'D=298.082Y256100.291CB256208.120CR256+135.576B'D=298.082Y256+516.412CB256276.836

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

R'D=255219(Y16)+2551120.701(CR128)G'D=255219(Y16)2551120.8860.1140.587(CB128)2551120.7010.2990.587(CR128)B'D=255219(Y16)+2551120.886(CB128)

Полученные по приведенным выше формулам значения цифровых компонент 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 коэффициенты определены как:

KB=0.0722
KR=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.299R'D)+(0.587G'D)+(0.114B'D)CB=128(0.168736R'D)(0.331264G'D)+(0.5B'D)CR=128+(0.5R'D)(0.418688G'D)(0.081312B'D)

И обратно:

R=Y+1.402(CR128)G=Y0.34414(CB128)0.71414(CR128)B=Y+1.772(CB128)

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

См. также

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Викиучебник

Шаблон:Цветовые модели

  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.