Цифровое представление цвета: различия между версиями

Содержимое удалено Содержимое добавлено
м орфография, викификатор
Строка 1:
<!--
TODO:
* добавить иллюстрации в раздел Воспроизведение
* переделать Bartleson5x5.png в настоящий png/svg
* отделить низ таблицы?
-->
{{wikipedia|Цветовая модель}}
 
== Введение ==
[[FileФайл:RGB_illumination.jpg|thumb|150px|Белая стена, освещённая тремя прожекторами]]
[[FileФайл:Color-subtractive-mixing-cropped.png|thumb|150px|Три пятна краски на белой бумаге, освещённые белым светом]]
'''Цвет'''  — это очень субъективное понятие. В природе существуют световые волны разной частоты. Исследования показали, что определённый диапазон частот (видимый свет) воспринимается человеческим глазом. Но воспринимается не каждая волна по отдельности, а их совокупность.
Причём есть три основных частоты, «смешивая» которые можно получить ''почти'' все воспринимаемые человеком цвета. Если эти частоты излучаются отдельно (например, лазером), то воспринимаются они как красный, зелёный и синий цвета. Отсюда родилась '''[[wikipedia:RGB color model|RGB]]''' модель. Она очень удобна для технической реализации в устройствах, которые свет излучают (мониторы и проекторы). Так как там из одной точки можно «посветить» тремя цветами разной интенсивности и таким образом, используя только 3 основных цвета, получать почти весь видимый спектр.
 
Строка 16 ⟶ 17 :
Если на белую стену посветить красным, зелёным и синим прожектором, то на пересечении областей мы получим участки, которые «излучают» сразу два цвета: красный + зелёный = ''yellow'', зелёный + синий = ''cyan'', синий + красный = ''magenta''. В данном случае мы контролируем излучаемый свет, тем самым добавляя основные цвета друг к другу в нужных пропорциях ([[wikipedia:Additive color|аддитивная модель]]).
 
Но представим ситуацию, когда мы не можем излучать свет самостоятельно. Это случай журналов и картин. В природе естественным является белый свет  — смесь волн разной частоты, но примерно одинаковой энергии ([[wikipedia:Thermal radiation|тепловое излучение]]). Когда этот свет попадает на поверхность, покрытую определённым веществом, волны одних частот от неё отражаются, волны других частот поглощаются веществом. Тогда можно взять три основных вещества (краски), которые по отдельности отражают только цвета cyan, magenta и yellow, и, смешивая их в определённой пропорции, получить почти все существующие цвета. Таким образом мы контролируем поглощаемый свет, вычитая из белого ненужные нам цвета ([[wikipedia:Subtractive color|субтрактивная модель]]).
 
Например, смешивая cyan (голубой; поглощает красный, отражает зелёный и синий) и magenta (розовый; поглощает зелёный, отражает красный и синий) мы получаем поверхность, которая поглащает красный и зелёный и, соответственно, отражает только синий. Отсюда появилась цветовая схема [[wikipedia:CMYK color model|CMYK]], которая используется при печати. «K» означает четвёртую, чёрную, краску. Её используют по техническим соображениям.
* [http://hubel.med.harvard.edu/book/b40.htm Color vision.] «Eye, Brain, and Vision», Hubel D.
 
== Цветовые модели ==
 
=== XYZ ===
<div class="tright" style="clear:none">[[FileФайл:CIE1931xy_blank.svg|thumb|250px|''xy'' плоскость (отмечена на изображении ''XYZ'' синим срезом). На краю, обведённом чёрным, находятся монохроматические цвета. Соответствующая им длина волны подписана синим.]]</div>
<div class="tright" style="clear:none">[[FileФайл:XYZ_colorspace.png|thumb|250px|XYZ]]</div>
'''[[wikipedia:CIE 1931 color space|XYZ]]'''  — теоретическая модель, созданная [[wikipedia:International Commission on Illumination|CIE]] (Commission internationale de l'éclairage) на основе исследований человеческого цветовосприятия. Эта модель вмещает все видимые человеку цвета. Она разработана таким образом, что два компонента представляют цвет, а третий  — яркость (Y).
 
=== XYY ===
Для иллюстраций используют модель '''xyY''', получающуюся из XYZ простыми преобразованиями. При этом трёхмерными изображениями обычно не заморачиваются и компонент яркости отбрасывается. Получающаяся '''xy''' диаграмма имеет одно замечательное свойство: если выбрать на ней три основных (''primary'') цвета, то внутри образуемого ими треугольника окажутся все цвета, которые можно представить при помощи этих праймари. Вообще, это распространяется на любой n-угольник. На этом свойстве и основана RGB модель.
 
=== RGB и YCbCr ===
'''RGB''' удобна для захвата цветов камерой и воспроизведения их на мониторе или проекторе. Однако для передачи и кодирования сигнала она мало пригодна по нескольким причинам:
# Считается, что человеческий глаз больше замечает изменения яркости, чем цветности. RGB модель не позволяет это использовать.
# Когда появилось цветное телевидение, необходимо было сохранить совместимость с чёрно-белыми телевизорами.
Поэтому для передачи цветного сигнала была разработана модель [[wikipedia:YUV|YUV]], которая использовала один компонент (Y) для передачи яркости (чёрно-белое телевидение) и два дополнительных компонента (UV) для передачи цвета. В цифровом кодировании схожая модель зовётся '''[[wikipedia:YCbCr|YCbCr]]'''.
* [http://www.fho-emden.de/~hoffmann/ciexyz29082000.pdf CIE Color Space], Gernot Hoffman
 
== Цветовые пространства ==
<div class="tright" style="clear:none">[[FileФайл:CIE1931xy_CIERGB.svg|thumb|200px|CIE RGB]]</div>
<div class="tright" style="clear:none">[[FileФайл:CIE1931xy_sRGB.svg|thumb|200px|sRGB]]</div>
[[FileФайл:Gamuts_animated.gif|frame|ITU-R BT.709, EBU Tech. 3213, SMPTE C (SMPTE RP 145), sRGB]]
'''Цветовое пространство''' (gamut) модели RGB определяется выбором праймари и [[wikipedia:White point|точки белого]]. Часто выбор диктуется некими практическими соображениями, например, наличием в производстве соответствующего люминофора.
 
=== CIE RGB ===
Это пространство основано на трёх монохроматических цветах. E  — точка белого.
 
=== sRGB ===
Стандарт, созданный HP и Microsoft в 1996 году. Данный стандарт применяется повсеместно: компьютерные мониторы, интернет, принтеры…
 
* ICC: [http://www.color.org/chardata/rgb/rgb_registry.xalter Three component color encoding registry]
 
== RGB → YCbCr ==
Преобразование из RGB в YCbCr выполняется по формуле:
 
Строка 65 ⟶ 66 :
Коэффициенты <math>K_R</math> и <math>K_B</math> (''matrix coefficients'') зависят от используемого цветового пространства и отдельно определяются соответствующими стандартами. При этом стандарты, использующие одинаковые праймари и точку белого, могут декларировать разные коэффициенты преобразования, и наоборот.
 
== Гамма коррекция ==
Воспринимаемая человеком яркость изображения ([[wikipedia:Lightness (color)|lightness]]) нелинейно зависит от «реальной» яркости ([[wikipedia:Luminance (relative)|luminance]]): тёмные оттенки человек различает лучше чем светлые. Чтобы избежать неравномерных потерь при передаче и кодировании сигнала, линейные значения RGB или YCbCr должны быть преобразованы в нелинейные R'G'BR’G’B' или Y'CbCrY’CbCr. Такое преобразование называется '''гамма коррекцией'''. Сама функция преобразования (''transfer characteristics'') определяется различными стандартами по-разному.
 
В теории гамма коррекция должна производиться после конвертации RGB → YCbCr при записи данных, а обратное преобразование  — перед конвертацией YCbCr → RGB при воспроизведении. Т.е.То есть RGB → YCbCr → Y'CbCrY’CbCr → … → Y'CbCrY’CbCr → YCbCr → RGB. На практике же применяется цепочка RGB → R'G'BR’G’B' → Y'CbCrY’CbCr → … → Y'CbCrY’CbCrR'G'BR’G’B' → RGB. Эта инженерная уловка использовалась для того, чтобы избежать двойного преобразования в ЭЛТ мониторах. Яркость пикселя на таком мониторе нелинейно зависит от подаваемого напряжения, причём эта зависимость очень похожа на функцию обратной гамма коррекции. Компонент Y' (''luma''), полученный из R'G'BR’G’B', не соответствует теоретической яркости Y (''luminance''), получаемой из RGB. Это приводит к определённым артефактам, проявляющимся при использовании chroma subsampling (например, тёмная полоска на границе зелёный  — маджента).
* [http://www.poynton.com/notes/colour_and_gamma/GammaFAQ.html Gamma FAQ], Charles Poynton
* [http://www.poynton.com/notes/color/GammaFQA.html Gamma FQA], Charles Poynton
* [http://poynton.com/PDFs/Rehabilitation_of_gamma.pdf The rehabilitation of gamma], Charles Poynton
* [[wikipedia:Weber–Fechner law|Weber'sWeber’s law]]
 
== Chroma subsampling ==
[[FileФайл:Chroma_subsampling_poynton.png|thumb|385px|Chroma subsampling]]
Как уже упоминалось, считается, что человек сильнее воспринимает изменения яркости, чем изменения цветности. Так как YCbCr кодирует яркость (Y) и цветность (CbCr) отдельно, то эта особенность человеческого восприятия позволяет сохранять компоненты цветности с меньшим разрешением, чем компонент яркости. Называется это '''chroma subsampling'''.
 
Расмотрим 2 строки по 4 пикселя в каждой. В обычном случае мы имеем по 4 значения Y для каждой строки, и по 4 значения Cb и Cr для каждой из двух строк. Это описывается соотношением 4:4:4.
 
В общем виде записывается как ''J:a: b'', где ''J''  — ширина рассматриваемой строки (всегда равна количеству Y-сэмплов в каждой из строк), ''a''  — количество Cb и Cr сэмплов в первой строке, ''b''  — количество Cb и Cr сэмплов во второй строке.
 
Например, «4:2:0»: 4(сэмпла яркости на каждую строку):2(сэмпла цветности на первую строку):0(сэмплов цветности на вторую строку  — используется тот же цвет, что и в первой строке). Таким образом, на блок из четырёх пикселей приходится только один сэмпл цветности. Это наиболее используемый и поддерживаемый тип сабсэмплинга.
 
Несмотря на то, что визуально chroma subsampling почти не заметен, в некоторых случаях при преобразовании обратно в RGB могут возникать видимые артефакты. Проявляются они либо на видео низкого разрешения с текстом (в этом случае перед кодированием стоит сделать апскейл), либо при переходах между некоторыми цветами (чёрный-красный, зелёный-маджента), либо на специальных тестовых изображениях.
* [http://poynton.com/PDFs/Chroma_subsampling_notation.pdf Chroma subsampling notation], Charles Poynton
* [http://dougkerr.net/pumpkin/articles/Subsampling.pdf Chrominance Subsampling in Digital Images], Douglas A. Kerr
* [http://www.glennchan.info/articles/technical/chroma/chroma1.htm Towards Better Chroma Subsampling], Glenn Chan
* [http://www.glennchan.info/articles/technical/chromata/chromata.html Color subsampling], Glenn Chan
 
== Уровни ==
Для передачи цифрового сигнала чаще всего используется 8 бит на сэмпл. То есть Y, Cb и Cr могут принимать значения 0..255. Однако, из-за аналоговой природы большинства телевизионных стандартов, для видео используется не весь диапазон значений.
 
Согласно стандартам (BT.601, BT.709) чёрному цвету должно соответсвоватьсоответствовать Y = 16, белому Y = 235. Для Cb и Cr базовыми являются значения 16 и 240. Таким образом, яркость имеет 220 '''уровней''' (quantization levels), цветность  — 225. При этом сигнал может содержать и значения 1..15  — ''footroom'', и 236..254 (241..254)  — ''headroom''. Значения 0 и 255  — служебные.
 
Соответственно, нормализованные значения R, G, B, полученные из такого сигнала, могут выходить за пределы отрезка [0; 1], образуя так называемые области ''BTB'' (Blacker Than Black  — чернее чёрного) и ''WTW'' (Whiter Than White  — белее белого). В некоторых случаях это происходит из-за того, что при мастеринге видео уровень белого был намеренно выбран ниже максимального значения исходного сигнала (или/и уровень чёрного выше минимального).
 
Если для передачи сигнала используется больше 8-ми бит, то дополнительные биты являются младшими. Например, для 10-ти битного сигнала базовыми значениями Y (уровнями чёрного и белого) будут <math>16 \cdot 2^{10 - 8} = 64</math> и <math>235 \cdot 2^{10 - 8} = 940</math>, разрешёнными  — 4..1019. Нулевой уровень цветности будет приходиться на <math>128 \cdot 2^{10 - 8} = 512</math>.
* [http://www.spectracal.com/Documents/4%20Legal%20%20sensible%20colours%20(2).pdf Legal, valid, and sensible colors] Poynton'sPoynton’s Vector
* [http://www.spectracal.com/forum/viewtopic.php?f=51&t=1962#p12485 Poynton'sPoynton’s forum post]
 
=== Full range ===
Некоторые, изначально цифровые, стандарты (JPEG, M-JPEG, Fraps) используют полный диапазон значений. То есть чёрному соответствует 0, белому  — 255 (точнее, <math>2^{BitDepth} - 1</math>). Нулевому уровню цветности  — 128 (<math>2^{BitDepth - 1}</math>). В H.264 для такого сигнала предусмотрен флаг '''Full range'''.
 
== Воспроизведение ==
Для корректного воспроизведения видео должны быть выполнены следующие шаги:
# Выбор базовых уровней входящего сигнала.
# Chroma upsampling.
# Конвертация YCbCr → RGB с использованием правильных коэффициентов.
# Дополнительная коррекция изображения для конкретного устройства вывода.
* [http://tech.ebu.ch/publications/tech3320 EBU Tech 3320] «User requirements for Video Monitors in Television Production» Annex A
* [http://forum.ixbt.com/topic.cgi?id=62:16225 Тема на iXBT]
 
=== Выбор уровней ===
В некоторых случаях входящий сигнал может содержать полезную информацию в областях BTB/WTW. Студийные мониторы должны корректно отображать такие цвета. Однако к домашнему оборудованию и условиям просмотра предъявляются гораздо более мягкие требования, и более комфортным может оказаться отображение только уровней 16..235. Иначе говоря, нужно определиться, будете ли вы масштабировать сигнал 16..235 в 0..255 или будете сохранять области BTB/WTW (в которых ничего полезного может и не быть), жертвуя контрастом.
 
При выполнении YCbCr → RGB преобразования в [[wikipedia:ffdshow|ffdshow]], имеется возможность как автоматического выбора между Full range и TV диапазоном (учитывая и флаг H.264), так и ручной установки уровней Y (количество уровней CbCr изменяется пропорционально).
 
Также в ffdshow имеется фильтр Levels, позволяющий динамически изменять диапазон при появлении BTB/WTW. Но, так как этот фильтр работает с 8-ми битными значениями, его использование может привести к появлению banding'аbanding’а.
 
Полностью сохранить сигнал в областях BTB/WTW можно также, установив входные уровни YCbCr равными 16..235(240) и уровни вывода RGB равными 16..235. При этом стоит убедиться, что уровни 1..15 и 236..254 нигде не обрезаются.
 
То, что уровни могут быть изменены сразу в нескольких местах (рендерер, декодер, промежуточные фильтры, настройки видеокарты, шейдеры), может привести к нежелательным последствиям, например, к двойному преобразованию 16..235 → 0..255.
* [http://ffdshow-tryout.sourceforge.net/wiki/video:rgb_conversion ffdshow: RGB conversion]
* [http://www.avsforum.com/avs-vb/showthread.php?t=1240153 AVS Forum thread]
 
=== Ресайз ===
[[FileФайл:madVR_resize.png|frame|Методы ресайза в madVR]]
Ресайз (''resize''  — изменение размеров) при просмотре видео выполняется по нескольким причинам:
* chroma upsampling;
* соотношение сторон пикселя (''Sample Aspect Ratio'') отличное от 1:1;
* несоответствие разрешения видео разрешению монитора.
То есть, даже если вы смотрите 720p на соответствующем мониторе, вам всё равно необходим качественный метод ресайза для компенсации chroma subsampling. Ресайз, как правило, выполняется рендерером. Наиболее продвинутым в этом плане является [http://forum.doom9.org/showthread.php?t=146228 madVR]. VMR9, EVR Custom и Haali renderer также позволяют в некоторой степени изменять метод ресайза.
 
=== YCbCr → RGB ===
Коэффициенты преобразования YCbCr → RGB могут отличаться для контента различной природы. Так, для SD видео обычно используются коэффициенты описанные в стандарте BT.601, а для HD  — BT.709. При использовании неверных коэффициентов происходит слабо заметное искажение цветов. Например, лица людей становятся розовее или желтее.
 
Многие форматы (H.264, MPEG-2, VC-1, Theora, JPEG SPIFF) поддерживают указание matrix_coefficients в виде метаинформации. Однако, наиболее распространён метод выбора коэффициентов на основании разрешения видео. Например, рендереры VMR7 и VMR9 используют BT.601, если высота кадра < 720, а BT.709, если высота ≥ 720. Таким образом, 720p видео, кропнутое по высоте, будет воспроизводиться с неправильными коэффициентами. ffdshow использует более разумные критерии:
* если установлен флаг в потоке H.264, то используются соответствующие коэффициенты;
* для Fraps используется BT.709;
* для JPEG и M-JPEG  — BT.601;
* если высота ≥ 600 или ширина > 1024  — BT.709;
* если высота < 600 и ширина ≤ 1024  — BT.601.
 
Также компенсировать неверный выбор коэффициентов можно используя шейдеры в [[wikipedia:Media Player Classic|MPC-HC]].
 
Преобразование в RGB подразумевает предварительный chroma upsampling. Качественно его могут выполнять, например, ffdshow и madVR. Первый делает это программно, второй  — нещадно используя ресурсы видеокарты.
 
[http://developer.apple.com/quicktime/icefloe/dispatch019.html Говорят], что информация о праймари, коэффициентах и гамме может содержаться не только в метаданных, но и в самом потоке: «Some digital video signals can carry a video index (see SMPTE RP 186-1995186—1995) which explicitly labels the primaries, transferFunction, and matrix of the signal.»
* [http://forum.doom9.org/showpost.php?p=1271416&postcount=2 Chroma upsampling comparison]
* [http://avisynth.org/mediawiki/Colorimetry Colorimetry], avisynth.org
* [http://forum.doom9.org/showthread.php?t=133982 Color coefficients and Colormatrix usage summary], summary of Doom9'sDoom9’s discussions.
 
=== Дополнительный рендеринг ===
[[FileФайл:Bartleson-Breneman effect.png|thumb|200px|Эффект Бартлесона  — Бренемана. Квадраты в каждом ряду имеют одинаковый цвет. Тем не менее, на более тёмном фоне они кажутся светлее. Причём, чем темнее цвет квадрата, тем больше на нём сказывается эффект окружения. Это и вызывает разницу в контрастности между столбцами.]]
В некоторых случаях может понадобиться дополнительная коррекция изображения. Например, изменение цветового пространства и гаммы в соответствии с параметрами монитора. Это можно сделать с помощью [http://forum.doom9.org/showthread.php?t=154719 yCMS] (madVR, [[wikipedia:AviSynth|AviSynth]]) или [[wikipedia:ICC profile|ICC профиля]].
 
Необходимо понимать, что на восприятие человеком изображения влияет множество вторичных факторов, среди которых:
* Эффект Стивенса (''Stevens effect'')  — воспринимаемая контрастность увеличивается с увеличением яркости.
* Эффект Бартлесона  — Бренемана (''Bartleson-Breneman effect'')  — более тёмная окружающая обстановка уменьшает воспринимаемую контрастность.
* Эффект Ханта (''Hunt effect'')  — насыщенность увеличивается с увеличением яркости. Например, цветы при дневном свете (около 30000 [[wikipedia:Candela per square metre|cd/m<sup>2</sup>]]) выглядят красочнее, чем при сумеречном (около 300 cd/m<sup>2</sup>). Если изображение снято днём, но отображается на мониторе яркостью 300 cd/m<sup>2</sup> без модификации RGB данных, то будет казаться, что оно было снято в сумерках.
Традиционно для компенсации этих эффектов при воспроизведении используется несколько большее значение гаммы, чем было использовано при съёмке камерой. Так, студийные мониторы, предназначенные для просмотра в тёмном окружении, используют γ ≈ 2.4, в то время как при съёмке используется кривая с показателем 1/γ ≈ 1/2. Для мониторов, используемых в светлых помещениях, подойдёт γ ≈ 2.2 (sRGB).
* [http://poynton.com/notes/PU-PR-IS/ Perceptual uniformity, picture rendering, image state, and BT.709], Charles Poynton
* [http://groups.csail.mit.edu/graphics/classes/6.837/F03/lectures/21%20Color%20II.pdf Color II], MIT lecture presentation
* [http://facweb.cs.depaul.edu/sgrais/color_context.htm Color Context]
 
== Кодирование ==
 
=== Ресайз ===
==Кодирование==
===Ресайз===
Для правильного ресайза должны использоваться линейные, а не гамма-корректированные значения компонентов. При ресайзе в большее разрешение это не существенно, однако при уменьшении разрешения неверный ресайз может приводить к заметным проблемам.
 
Строка 173 ⟶ 175 :
 
Ресайз над линейными компонентами можно производить при помощи [http://forum.doom9.org/showthread.php?t=153589 Dither Tools] ([http://forum.doom9.org/showthread.php?p=1545110#post1545110 пример]) или [http://forum.doom9.org/showthread.php?t=160038 ResampleHQ]. Однако в последнем присутствуют некоторые [http://forum.doom9.org/showthread.php?p=1546299#post1546299 баги].
* [http://avisynth.org/mediawiki/Known_Issues Avisynth known issues], avisynth.org
* [http://forum.doom9.org/showthread.php?t=163349 Weird chroma placement], Doom9 thread
* [http://4p8.com/eric.brasseur/gamma.html Gamma error in picture scaling], Eric Brasseur
 
=== Коррекция коэффициентов ===
Если при создании рипа производится ресайз из HD в SD, то следует скорректировать значения YCbCr так, чтобы при воспроизведении цвета не искажались из-за ошибочного выбора коэффициентов (для SD традиционно используются BT.601, для HD  — BT.709). В Avisynth это можно сделать выполняя ресайз при помощи Dither Tools или ResampleHQ, а также плагинами ColorMatrix и t3dlut. Сама по себе коррекция коэффициентов не требует преобразования в RGB.
 
При кодировании следует указывать используемые коэффициенты в метаданных (параметр --colormatrix для x264). Эта информация может использоваться либо когда конвертация в RGB производится декодером, либо отдельными связками декодер + рендерер (LAV Video + madVR). В большинстве же случаев, флаг colormatrix игнорируется и коэффициенты выбираются на основе разрешения видео.
Тем не менее, выставленный флаг позволяет понять, корректировались ли коэффициенты.
 
== Стандарты ==
{| class="wikitable" width="100%" style="table-layout: fixed;"
! width=25% | Standard
! width=20% | Primaries&nbsp; (x;&nbsp; y)<br />R, G, B, White
! width=15% | Matrix coefficients<br />K<sub>R</sub>; K<sub>B</sub>
! Transfer characteristics
|-
| rowspan="2" | [http://webstore.iec.ch/webstore/webstore.nsf/artnum/035442 IEC 61966-2-4] (xvYCC)
| rowspan="10" | (0.640;&nbsp; 0.330),<br />(0.300;&nbsp; 0.600),<br />(0.150;&nbsp; 0.060),<br />D65 (0.3127;&nbsp; 0.3290)
| xvYCC<sub>601</sub>:<br />0.299; 0.114
| rowspan="2" | <div style="overflow:auto;">
<math>
Строка 204 ⟶ 206 :
</div>
|-
| xvYCC<sub>709</sub>:<br />0.2126; 0.0722
|-
| [http://store.smpte.org/product-p/rp%200177-1993.htm SMPTE RP 177] Annex B
Строка 244 ⟶ 246 :
|-
| FCC 73.682
| rowspan="4" | (0.67;&nbsp; 0.33),<br />(0.21;&nbsp; 0.71),<br />(0.14;&nbsp; 0.08),<br />C (0.310;&nbsp; 0.316)
| 0.30; 0.11
| rowspan="3" | &gamma;γ = 2.2
|-
| NTSC 1953
Строка 254 ⟶ 256 :
|-
| [http://www.itu.int/rec/R-REC-BT.470-6-199811-S BT.470-6] System M/PAL
| rowspan="2" | &gamma;γ = 2.8
|-
| [http://www.itu.int/rec/R-REC-BT.470-6-199811-S BT.470-6] System B, G, I, …
| rowspan="4" | (0.64;&nbsp; 0.33),<br />(0.29;&nbsp; 0.60),<br />(0.15;&nbsp; 0.06),<br />D65 (0.3127;&nbsp; 0.3290)
|-
| [http://www.itu.int/rec/R-REC-BT.1700 BT.1700] 625 PAL/SECAM
| &gamma;γ = 2.2
|-
| [http://www.itu.int/rec/R-REC-BT.601 BT.601-6] 625
Строка 276 ⟶ 278 :
|-
| [http://www.itu.int/rec/R-REC-BT.601 BT.601-6] 525
| rowspan="7" | (0.630;&nbsp; 0.340),<br />(0.310;&nbsp; 0.595),<br />(0.155;&nbsp; 0.070),<br />D65 (0.3127;&nbsp; 0.3290)
|-
| [http://www.itu.int/rec/R-REC-BT.1358 BT.1358] 525
|-
| [http://store.smpte.org/product-p/smpte%200170m-2004.htm SMPTE 170M]<br />[http://www.itu.int/rec/R-REC-BT.1700 BT.1700] NTSC
|-
| [http://store.smpte.org/product-p/smpte%200293m-2003.htm SMPTE 293M]
Строка 302 ⟶ 304 :
|-
| [http://www.itu.int/rec/R-REC-BT.1700 BT.1700] 525 PAL
| (0.630;&nbsp; 0.340),<br />(0.310;&nbsp; 0.595),<br />(0.155;&nbsp; 0.070),<br />C (0.3101;&nbsp; 0.3162)
| 0.299; 0.114
| &gamma;γ = 2.2
|-
| [http://tech.ebu.ch/publications/tech3213 EBU Tech 3213]
| (0.64;&nbsp; 0.33),<br />(0.29;&nbsp; 0.60),<br />(0.15;&nbsp; 0.06),<br />D65 (0.313;&nbsp; 0.329)
| colspan="2" align="center" | -
|-
| [http://www.itu.int/rec/T-REC-H.264 H.264] Annex E: Generic film
| Wratten&nbsp; 25 (0.681;&nbsp; 0.319),<br />Wratten&nbsp; 58 (0.243;&nbsp; 0.692),<br />Wratten&nbsp; 47 (0.145;&nbsp; 0.049),<br />C (0.310;&nbsp; 0.316)
| colspan="2" align="center" | -
|-
Строка 343 ⟶ 345 :
|}
 
=== Примечания ===
* BT.709-1 указывал коэффициенты K<sub>R</sub> = 0.2125, K<sub>B</sub> = 0.0721, но в BT.709-2 они были изменены ([http://developer.apple.com/quicktime/icefloe/dispatch019.html Y'CbCrY’CbCr Video in QuickTime], [http://forum.doom9.org/showthread.php?p=1055107#post1055107 Wilbert'sWilbert’s post]).
* BT.709 содержит также Part 1 «HDTV systems related to conventional television», которая определяет другие matrix coefficients для 1250/50/2:1 (K<sub>R</sub> = 0.299; K<sub>B</sub> = 0.114). При этом стандарт рекомендует использовать Part 2 при создании нового контента.
* BT.470  — устаревший стандарт аналогового телевидения, в последней редакции которого (BT.470-7) просто рекомендуется использовать BT.1700. Однако его по-прежнему упоминают в том или ином виде. Иногда ещё и с ошибками, как в [http://msdn.microsoft.com/en-us/library/ms696997(VS.85).aspx этом] MSDN (перепутали «System B, G» и «System M»). Кстати, в той же статье ссылаются на некий «EBU Tech 3212», видимо, подразумевая EBU Tech 3213. <!--http://www.peeep.us/bb10bcec-->
* BT.1700 ссылается на SMPTE 170M (2004) для описания NTSC.
* SMPTE 170M упоминает, что, в то время как коэффициенты NTSC 1953 публиковались в виде K<sub>R</sub> = 0.30, K<sub>B</sub> = 0.11, при разработке спецификации использовались именно K<sub>R</sub> = 0.299; K<sub>B</sub> = 0.114.
 
=== Источники ===
'''Первичные:'''
* Сами стандарты. Не проверены SMPTE 240M, SMPTE 260M, SMPTE 293M, SMPTE 295M, SMPTE RP 145, SMPTE RP 177, NTSC 1953, IEC 61966-2-4.
<!--Ссылки на стандарты.
 
Просьба не выкладывать в публичные источники, дабы ссылки прожили подольше.
* [http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-201003-I!!PDF-E&type=items H.264 2010.03]
* [http://2.dx1.elecfans.com/dm/elec/R-REC-BT.709-5.pdf BT.709-5]
** [http://www.ihdportal.com/ihdportal_forum/attachment.php?aid=42 BT.709-4]
** [http://www.tijbc.com/pruebas-7419/E7829005.pdf BT.709-3]
* [http://www.asicfpga.com/site_upgrade/asicfpga/pds/image_pds_files/BT.601-5.pdf BT.601-5]
** [http://inst.eecs.berkeley.edu/~cs150/Documents/ITU601.PDF BT.601-4]
** [http://www.colour.org/tc8-05/Docs/colorspace/CCIR-601-2.pdf BT.601-2]
* [http://web.archive.org/web/19990210082556/http://icib.igd.fhg.de/icib/tv/ccir/rep_476-1/read.html BT.476-1] Текст закомментирован в коде страницы
* [http://web.archive.org/web/19990503115758/http://icib.igd.fhg.de/icib/tv/ccir/rep_624/read.html BT.624-4]
* [http://2.dx1.elecfans.com/dm/elec/R-REC-BT.470-6.pdf BT.470-6]
** [http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-7-200502-I!!PDF-E.pdf BT.470-7]
* [http://www.docin.com/p-8348288.html SMPTE 274M-2003]
* [http://www.docin.com/p-56719334.html SMPTE 296M-2001]
* [http://edocket.access.gpo.gov/cfr_2007/octqtr/pdf/47cfr73.682.pdf FCC 73.682]
* [http://webs.uvigo.es/servicios/biblioteca/uit/ ITU-R Recommendations (Español)]
* [http://www.colour.org/tc8-05/documents.html CIE TC8-05 Working Documents]-->
 
'''Вторичные:'''
* [http://www.babelcolor.com/download/A%20review%20of%20RGB%20color%20spaces.pdf A Review of RGB Color Spaces]
* [http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-201003-I!!PDF-E&type=items H.264] Annex E
* [http://www.maxim-ic.com/app-notes/index.mvp/id/1184 Understanding Analog Video Signals]
* [http://www.color.org/ICC1v42_2006-05.pdf ICC.1:2004-10], Table 24
* [http://multimedia.cx/mirror/s421m.pdf VC-1 Draft 2005-08-23], Table 10-12
* [http://developer.apple.com/quicktime/icefloe/dispatch019.html Uncompressed Y´CbCr Video in QuickTime Files]
* MSDN: [http://msdn.microsoft.com/en-us/library/bb970322(VS.85).aspx Extended Color Information] ([http://msdn.microsoft.com/en-us/library/ms696997(VS.85).aspx VideoPrimaries], [http://msdn.microsoft.com/en-us/library/ms698715(VS.85).aspx VideoTransferMatrix], [http://msdn.microsoft.com/en-us/library/bb970392(VS.85).aspx VideoTransferFunction])
 
== Литература ==
* «Digital Video and HDTV: Algorithms and Interfaces», Charles Poynton
* «The Reproduction of Colour» (6th Edition), R.W.G. Hunt ([http://shadrin.rudtp.ru/Personal/Shadrin_ROC.htm перевод] Алексей Шадрин)
* «Video Demystified. A Handbook for the Digital Engineer» (5th Edition), Jack K.
 
== Ссылки ==
* [http://poynton.com/ Charles Poynton]
* [http://dougkerr.net/pumpkin/articles/ The Pumpkin] a library of selected writings of Douglas A. Kerr
 
{{Темы|Компьютерная графика}}