Цветовое пространство yuv: Выбор цветового пространства при работе с цифровым видео

Содержание

Выбор цветового пространства при работе с цифровым видео

Речь в сегодняшней статье пойдет о цветовых пространствах. Ограничимся рассмотрением лишь тех из них, которые сейчас широко применяются в компьютерном видео. Как уже говорилось в предыдущей статье «Захват видео с помощью Virtual Dub» (см. КГ №№ 19, 20), от выбора цветового пространства зависит размер получаемого промежуточного файла. Забегая вперед, можно сказать, что правильный выбор цветового пространства позволит ускорить и последующую обработку видео. В свое время, пытаясь найти дополнительную информацию о таинственном формате YUV, я обратил внимание на ничтожно малое количество источников по этой теме в Интернет. Что касается русскоязычных, то их вовсе нет. В конце концов, читая о том, что кодек «теперь поддерживает цветовое пространство YUV, и поэтому быстрее и качественнее кодирует и декодирует видео», пытаешься найти этому обоснование. Но в итоге это лишь собственное мнение того или иного автора. Англоязычный источник оказался буквально один — книга Video Demystified.
Судя по всему, ее в свое время читал и Avery Lee — автор программы Virtual Dub. Материалы по цветовым пространствам в ней просто собраны из различных официальных документов. Существует несколько очень похожих документов, отличающихся от вышеназванной книги объемом представленных материалов.

Перейдем к делу. Прежде всего, цветовое пространство — это математическое представление некоторого набора цветов. Существует несколько основных математических моделей, среди которых нас интересуют только YUV и RGB. На основе теоретических данных попробуем определить, которая из них больше подходит для кодирования видео.
RGB. Название цветового пространства — аббревиатура от слов Red (красный), Green (зеленый), Blue (синий). Эти три составляющих используются для представления произвольного цвета. Куб RGB представлен на рис. 1. Данное цветовое пространство применяется в компьютерной графике, потому что такая организация упрощает архитектуру системы.


Рис. 1. Куб RGB

YUV. Может показаться, что это тоже аббревиатура. Однако нет, это просто буквенные обозначения составляющих. Назначение этого цветового пространства — видеотехника. Оно и применяется в стандартах PAL (Phase Alternation Line), NTSC (National Television System Committee), SECAM (Sequential Color with Memory). Модель основана на представлении в виде трех составляющих: яркости (luma — Y) и цветоразностей (U и V). Как видим, для представления черно-белого изображения потребуется всего одна составляющая (против трех у RGB), что существенно упрощает хранение, обработку и передачу такой информации. Координата Y является диагональю куба RGB, поэтому и возникает резонный вопрос: а как эти цветовые пространства сопоставимы между собой? Формулы для представления YUV через известные значения RGB следующие:

Y=0.299R’+0.587G’+0.114B’
U=-0.147R’-0.289G’+0.436B’=0.492 (B’-Y)
V=0.615R’-0.515G’-0.100B’=0.877(R’-Y)

Обратные формулы имеют следующий вид:

R’=Y+1.140V
G’=Y-0.394U-0.581V
B’=Y+2.032U

Здесь вместо значений R, G, B используются скорректированные значения R’, G’, B’. Формулы корректирования просты и зависят от конкретного стандарта, поэтому подробно на этом останавливаться не будем. В цифровой технике диапазон значений RGB составляет [0; 255] для каждого компонента, тогда как для компонентов цветового пространства YUV диапазоны следующие: [0; 255] для Y, [-112; 112] для U и [-157; 157] для V. Обратите внимание на формулы U и V. Они связаны с возможностями современной техники. Из них следует, что на современном этапе техника может воспроизводить лишь около половины диапазона значений B’-Y и почти вдвое больше значений диапазона R’-Y. Кроме YUV, можно встретить еще и такие названия: YIQ, YDbDr, YCbCr. Это не другие модели, это разновидности YUV. Отличаются они коэффициентами в формулах и стандартами, в которых применяются. YIQ применяется в стандарте NTSC, YDbDr — в SECAM. На YCbCr мы остановимся подробнее, потому что именно эта версия цветового пространства YUV применяется для цифрового видео и, значит, имеет прямое отношение к таким понятиям, как DVD, DVB, MPEG — словом, ко всему тому, с чем сегодня ассоциируется цифровое видео.

Это цветовое пространство описано в рекомендациях ITU-R BT.601 (или, как часто упоминается в различного рода документах, сокращенно BT.601). Y может принимать значения [16; 235], Cb и Cr могут принимать значения [16; 240]. Значения, исключенные из этого диапазона, используются при видеообработке. В ином случае их принято относить к шумам. Обращайте внимание при изучении документации, что тот или иной программный продукт написан с учетом рекомендаций BT.601. Это будет означать, что продукт не выдает значений YCbCr вне указанных диапазонов. К слову, значения составляющих для различных цветов будут разными в зависимости от того, имеем мы дело с SDTV (Standart Definition TV — телевидение стандартной четкости) или HDTV (High Definition TV — телевидение высокой четкости). Кроме того, формулы RGB<=>YCbCr для компьютерных систем будут немного отличаться от «оригинальных». Рекомендации BT.601 относятся к SDTV, о котором и пойдет речь далее (для HDTV у рекомендаций другой номер — 709).

Итак, формулы получения значений YCbCr из известных RGB для компьютерных систем:

Y=0.257R’+0.504G’+0.098B’+16
Cb=-0.148R’-0.291G’+0.439B’+128
Cr=0.439R’-0.368G’-0.071B’+128

И обратные формулы:

R’=1.164(Y-16)+1.596(Cr-128)
G’=1.164(Y-16)-0.813(Cr-128)-0.392(Cb-128)
B’=1.164(Y-16)+2.017(Cb-128)

Обратите внимание, что обратные формулы могут давать значения R’G’B’ вне допустимого диапазона [0; 255]. Об этом немного ниже. А сейчас постараемся разобраться в понятиях YUY2 и YV12, которые так часто встречаются. Перед тем или иным вариантом YCbCr написан его код — например, 4:4:4 или 4:2:0. Для простоты восприятия можно предложить следующую «расшифровку». Для описания точки требуется 3 фрагмента (сэмпла): Y, Cb, Cr. Первая цифра кода указывает, в скольких из 4 столбцов присутствует сэмпл Y. Информация о яркости является более важной в сравнении с информацией о цветоразности, и поэтому не исключается. Вторая цифра указывает, сколько столбцов из 4 содержат сэмплы Cb и Cr в нечетных строках или в нечетных полукадрах, третья содержит такую же информацию, но только о четных строках или четных полукадрах.

В некоторых точках отсутствует часть информации об изображении. Отсутствующий сэмпл восстанавливается на основе информации о соседних точках или о соответствующих точках соседних полукадров. Однако цифровое обозначение ничего не говорит о структуре, и поэтому деление на четные и нечетные строки условное, поскольку бывают случаи, когда сэмплы Cb, Cr располагаются вообще между строк и являются вычисленными на основе ранее присутствовавшей информации о соседних точках. Формат 4:4:4 YCbCr является полным вариантом YCbCr. На представление каждой составляющей отводится 8 бит (на что указывает код 4:4:4. Т.е. для хранения информации об одной точке в формате X:Y:Z отводится (X+Y+Z) * 2 бит). На рис. 2 схематически изображена структура изображения.

Рис. 2. Структура формата 4:4:4

Формат 4:2:2 YCbCr является 16-битным. И, как видно из рис. 3, каждый второй сэмпл Cb и Cr исключен. А при декодировании видео отсутствующие значения досчитываются, исходя из информации о соседних «неурезанных» точках. Как уже говорилось, информация о цветоразности не так важна, как о яркости. Исходя из того, что резко изменяться значения составляющих для двух соседних точек не могут, и стало возможным исключение каждого второго сэмпла Cb и Cr. Обратите внимание на окно Color Depth (рис. 4) программы Virtual Dub (см. статью «Virtual Dub. Настройки и
разновидности»). Как видим, в списке присутствуют три формата 4:2:2 YCbCr. Разница между UYVY и YUY2 такова, что в макропикселе (это условная точка, состоящая из двух реальных точек) у них разный порядок следования информации о составляющих. Говоря проще, YUY2 — это инвертированный формат UYVY. Формат YV16 отличается тем, что использует совершенно иной способ хранения информации о точках.

Рис. 3. Структура формата 4:2:2

Рис. 4. Окно Color Depth программы Virtual Dub

Есть смысл внести некоторую ясность в способы хранения информации о точках. Способов этих два. Первый, как говорилось выше, заключается в том, что информация хранится в макропикселях. Группа форматов, использующих такой способ, называется packed (упакованный). Другая группа называется planar (плоскостной, планарный) и отличается тем, что информация о каждой составляющей хранится в отдельном массиве. То есть отдельная точка может быть получена путем извлечения соответствующих значений составляющих из отдельных массивов (плоскостей). Формат 4:2:0 YCbCr является 12- битным. Но не стоит думать, что он годится для воспроизведения видео для мобильных телефонов:). Удивитесь, но именно этот формат используется стандартами MPEG-1 и MPEG-2 (самое время ужаснуться: DVD-видео использует 12-битный цвет). На рис. 5, 6 показаны две разновидности 4:2:0 YCbCr, отличающиеся в стандартах MPEG-1 и MPEG-2. Есть и еще одна разновидность 4:2:0 YCbCr — так называемая совмещенная (предыдущие форматы, которые мы рассмотрели, были совмещенными, потому что сэмплы Cb, Cr «совмещены» с Y). Она используется DV-приложениями. В Virtual Dub есть один планарный формат 4:2:0 YCbCr-YV12. Отвлечемся и еще раз затронем тему воспроизведения оцифрованного в MPEG-2 видео — тех самых DVD, которые должны обеспечивать высокое качество.

Можно заметить, что при оцифровке видео на DVD не нужно использовать Deinterlace-фильтр. И правда, эффект «расчески» никак не проявляется. Объяснить это очень просто. «Истинный» размер одного кадра в случае PAL/SECAM 720х288, а «истинная» частота — 50 кадров в секунду. Собственно, тут ничего нового — все те же полукадры, следующие с удвоенной частотой. При воспроизведении на компьютере эти полукадры будут «собраны» в один полный кадр. Естественно, возникает эффект «расчески», который убирается декодером MPEG-2. Ну, а для того, чтобы на декодирование видео не затрачивалось много ресурсов, декодер выполнит быстрый и низкокачественный деинтерлейс. В связи с этим напрашивается очень смелый вывод. В сравнении со случаем, когда видео кодируется в MPEG-4 с применением высококачественных (медленных) деинтерлейсеров, оцифровка видео в MPEG-2 может приводить к уменьшению вертикального разрешения и/или смазыванию движений в динамичных сценах. 

Рис. 5. Структура формата 4:2:0 (MPEG-2)


Рис. 6. Структура формата 4:2:0 (MPEG-1, H.261, H.263)

Формат 4:1:1 YCbCr рассматривать не будем ввиду того, что он мало распространен и используется в DV-приложениях. На рис. 7 приведена так называемая хроматическая диаграмма, разработанная в 1931 году CIE (International Commission on Illumination — Международная комиссия по освещению). Уникальность ее в том, что видимый человеческим глазом спектр представлен на ней в виде двухмерной области, целиком лежащей в первой четверти декартовой системы координат. Значения координат получены по следующим формулам:

x=R/(R+G+B)
y=G/(R+G+B)
z=B/(R+G+B)

Координаты называются хроматическими. И, так как одна координата (в данном случае z) может быть получена по известным x и y, она не используется. Эта диаграмма совмещена с областями, которые представляют возможные диапазоны устройств различных стандартов и печатающих устройств (как все неоднозначно в этом мире). Сравнивая области, можно сделать вывод, что современная техника обеспечивает воспроизведение лишь примерно половины видимого спектра.


Рис. 7. Хроматическая диаграмма CIE 1931 г.

На рис. 8 представлены кубы YCbCr и RGB. Из рисунка видно, что пространство YCbCr шире пространства RGB. В связи с этим напрашивается пара интересных выводов. Учитывая тот факт, что для описания одинакового диапазона цветов в цветовом пространстве используется меньшее количество значений, можно сказать, что произвольная точка будет точнее описана в цветовом пространстве RGB, чем в YCbCr. Хотя, с другой стороны, менее точное цветовое пространство YCbCr передает и меньшее количество шумов. По взаимному расположению кубов сразу становится понятно, почему многие значения YCbCr из допустимых областей могут давать недопустимые значения RGB.


Рис. 8. Относительное расположение кубов RGB и YCbCr

Подведем итоги. Цветовое пространство YUV больше подходит для передачи, обработки и сжатия информации о видео, чем RGB. Конвертация RGB => YUV => RGB приводит к потере части информации о видео, которая происходит на этапе RGB => YUV. Поэтому нецелесообразно захватывать видео в RGB для последующей его обработки, передачи и сжатия в цветовом пространстве YUV. Что касается карт захвата на базе Connexant BT8x8, то для них использование RGB при захвате вообще противопоказано, т.к. «родным» цветовым пространством для них является YUY2. RGB для этих карт при захвате видео можно получить только программно.
При подготовке статьи были использованы материалы книги Video Demystified и сайта FOURCC — информационного ресурса о цветовых пространствах и кодеках.

Ссылки:
FOURCC: сайт
Сайт книги «Video Demystified»: сайт (автор Keith Jack)

Продолжение следует

Maxe Erte the Mad, [email protected]

Компьютерная газета. Статья была опубликована в номере 21 за 2006 год в рубрике софт

Какое цветовое пространство использовать для яркости, YUV или HSL?



Предположим, что у нас есть фотография, сделанная при недостаточном освещении. Изображение темнее, чем обычно, но все еще узнаваемо.

Теперь мы хотим сделать его ярче, чтобы он выглядел как взятый при достаточном освещении.

Должны ли мы преобразовать изображение в YUV и настроить канал Y (яркость), или преобразовать в HSL и настроить канал L (яркость)?

Формулировка кажется мне похожей, в то время как их формула сильно отличается:

Г: 0.299*R + 0.587*G + 0.114*B

L: 0.5*(max + min), в то время как max / min-это значение max / min среди RGB

EDIT:

Более конкретно, я собираюсь использовать opencv, cv2.cvtColor(), но не уверен, какой входной аргумент лучше подходит для моей потребности: BGR2YUV или BGR2HLS

opencv image-processing computer-vision
Поделиться Источник adayoegi     17 мая 2018 в 04:05

1 ответ


  • Лучшее цветовое пространство для поиска похожих цветов

    Какое цветовое пространство я должен использовать, если я пытаюсь найти все пиксели одного цвета ? Я попытался использовать GrayScale и запустил DFS в точке изображения, где я хочу найти похожие пиксели, которые связаны с ним, но кажется, что это не правильный путь. Какое цветовое пространство я…

  • Какое цветовое пространство используется в устройствах iOS?

    Когда я использую Цифровой измеритель цвета MAC для определения цвета RGB экрана, значения RGB могут быть показаны в sRGB, Adobe RGB, original RGBs пробелах и т. д. И они немного отличаются друг от друга. Я хочу использовать эти значения в платформе iOS Xcode и использовать класс UIColor для их…



1

Настройка только Y и L (в YCbCr и HSL) приведет к потере информации, такой как контраст между высокими значениями пикселей. Я предлагаю либо с помощью некоторого аффинного преобразования на М или L

255*(Y(x,y)-min (Y))/(max (Y) — min (Y))

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

Поделиться Garvita Tiwari     17 мая 2018 в 09:33


Похожие вопросы:


Как я могу использовать HSL цветовое пространство в Java?

Я посмотрел на класс ColorSpace и нашел константу TYPE_HLS (которая, по- видимому , просто HSL в другом порядке). Могу ли я использовать эту константу для создания Color из оттенка, насыщенности и…


Эталонный алгоритм для изменения перцептивной яркости?

Каков алгоритм бенчмарка для изменения перцептивной яркости пикселя RGB. такие как: если у меня есть RGB (120, 33, 213), то ( … с помощью… (0.299*R + 0.587*G + 0.114*B) ….) я получаю 79.533…


Какое цветовое пространство использует MSPaint? (Окно 7)

Какое цветовое пространство использует MSPaint? (Я считаю, что все MSPaints одинаковы для последних нескольких версий, но это просто для того, чтобы убедиться, что я Windows 7). Казалось бы, что это…


Лучшее цветовое пространство для поиска похожих цветов

Какое цветовое пространство я должен использовать, если я пытаюсь найти все пиксели одного цвета ? Я попытался использовать GrayScale и запустил DFS в точке изображения, где я хочу найти похожие…


Какое цветовое пространство используется в устройствах iOS?

Когда я использую Цифровой измеритель цвета MAC для определения цвета RGB экрана, значения RGB могут быть показаны в sRGB, Adobe RGB, original RGBs пробелах и т. д. И они немного отличаются друг от…


Использует ли цветовая структура .Net цветовое пространство HSB или HSL?

Насколько я понимаю , цветовые пространства HSL и HSB очень похожи, оба используют одно и то же цветовое колесо 0-360 для оттенка и одно и то же значение 0-1 для насыщенности. Единственное различие…


Что такое цветовое пространство по умолчанию для UIColor?

Я не могу найти статью или документ, описывающий, какое цветовое пространство должно использоваться для значений RGB при инициализации экземпляра из класса UIColor. В статье получение правильных…


Почему гамма-коррекция применяется к RGB вместо YUV или аналогичного?

Насколько я понимаю, гамма-коррекция применяется для настройки высокого диапазона яркости в реальном мире на относительно низкий диапазон яркости в дисплеях. И если это цель-настроить яркость,…


Преобразуйте YUV в HSL или HSV, минуя шаг RGB

Википедия и множество интернет-ресурсов предоставляют подробную и обильную помощь с различными преобразованиями цветового пространства от / до RGB. Мне нужно прямое преобразование YUV->HSL/HSV . На…


Какое цветовое пространство RGB используется Matplotlib?

Какое цветовое пространство RGB используется Matplotlib? Меня особенно интересует, является ли это sRGB . Определение Matlab от RGB : RGB и RGBA — это последовательности, состоящие соответственно из…

Цифровое представление цвета — Викиучебник

Белая стена, освещённая тремя прожекторами Три пятна краски на белой бумаге, освещённые белым светом

Цвет — это очень субъективное понятие. В природе существуют световые волны разной частоты. Исследования показали, что определённый диапазон частот (видимый свет) воспринимается человеческим глазом. Но воспринимается не каждая волна по отдельности, а их совокупность. Причём есть три основных частоты, «смешивая» которые можно получить почти все воспринимаемые человеком цвета. Если эти частоты излучаются отдельно (например, лазером), то воспринимаются они как красный, зелёный и синий цвета. Отсюда родилась модель RGB. Она очень удобна для технической реализации в устройствах, которые свет излучают (мониторы и проекторы). Так как там из одной точки можно «посветить» тремя цветами разной интенсивности и таким образом, используя только 3 основных цвета, получать почти весь видимый спектр.

Надо понимать разницу между возможностью контролировать свет излучаемый и поглощаемый.

Если на белую стену посветить красным, зелёным и синим прожекторами, то на пересечении областей мы получим участки, которые «излучают» сразу два цвета: красный + зелёный = yellow, зелёный + синий = cyan, синий + красный = magenta. В данном случае мы контролируем излучаемый свет, тем самым добавляя основные цвета друг к другу в нужных пропорциях (аддитивная модель).

Но представим ситуацию, когда мы не можем излучать свет самостоятельно. Это случай журналов и картин. В природе естественным является белый свет — смесь волн разной частоты, но примерно одинаковой энергии (тепловое излучение). Когда этот свет попадает на поверхность, покрытую определённым веществом, волны одних частот от неё отражаются, волны других частот поглощаются веществом. Тогда можно взять три основных вещества (краски), которые по отдельности отражают только цвета cyan, magenta и yellow, и, смешивая их в определённой пропорции, получить почти все существующие цвета. Таким образом мы контролируем поглощаемый свет, вычитая из белого ненужные нам цвета (субтрактивная модель).

Например, смешивая cyan (голубой; поглощает красный, отражает зелёный и синий) и magenta (розовый; поглощает зелёный, отражает красный и синий) мы получаем поверхность, которая поглащает красный и зелёный и, соответственно, отражает только синий. Отсюда появилась цветовая схема CMYK, которая используется при печати. «K» означает четвёртую, чёрную, краску. Её используют по техническим соображениям.

Цветовые модели[править]

XYZ[править]

плоскость xy (отмечена на изображении XYZ синим срезом). На краю, обведённом чёрным, находятся монохроматические цвета. Соответствующая им длина волны подписана синим.

XYZ — теоретическая модель, созданная CIE (Commission internationale de l’éclairage) на основе исследований человеческого цветовосприятия. Эта модель вмещает все видимые человеку цвета. Она разработана таким образом, что два компонента представляют цвет, а третий — яркость (Y).

xyY[править]

Для иллюстраций используют модель xyY, получающуюся из XYZ простыми преобразованиями. При этом трёхмерными изображениями обычно не заморачиваются и компонент яркости отбрасывается. Получающаяся диаграмма xy имеет одно замечательное свойство: если выбрать на ней три основных (primary) цвета, то внутри образуемого ими треугольника окажутся все цвета, которые можно представить при помощи этих праймари. Вообще, это распространяется на любой n-угольник. На этом свойстве и основана модель RGB.

RGB и YCbCr[править]

RGB удобна для захвата цветов камерой и воспроизведения их на мониторе или проекторе. Однако для передачи и кодирования сигнала она мало пригодна по нескольким причинам:

  1. Считается, что человеческий глаз больше замечает изменения яркости, чем цветности. Модель RGB не позволяет это использовать.
  2. Когда появилось цветное телевидение, необходимо было сохранить совместимость с чёрно-белыми телевизорами.

Поэтому для передачи цветного сигнала была разработана модель YUV, которая использовала один компонент (Y) для передачи яркости (чёрно-белое телевидение) и два дополнительных компонента (UV) для передачи цвета. В цифровом кодировании схожая модель зовётся YCbCr.

Цветовые пространства[править]

ITU-R BT.709, EBU Tech. 3213, SMPTE C (SMPTE RP 145), sRGB

Цветовое пространство (gamut) модели RGB определяется выбором праймари и точки белого. Часто выбор диктуется некими практическими соображениями, например, наличием в производстве соответствующего люминофора.

CIE RGB[править]

Это пространство основано на трёх монохроматических цветах. E — точка белого.

sRGB[править]

Стандарт, созданный HP и Microsoft в 1996 году. Данный стандарт применяется повсеместно: компьютерные мониторы, интернет, принтеры…

Преобразование из RGB в YCbCr выполняется по формуле:

Y=KR⋅R+KG⋅G+KB⋅BCB=0.5⋅B−Y1−KBCR=0.5⋅R−Y1−KR{\displaystyle {\begin{aligned}Y&=K_{R}\cdot R+K_{G}\cdot G+K_{B}\cdot B\\C_{B}&=0.5\cdot {\frac {B-Y}{1-K_{B}}}\\C_{R}&=0.5\cdot {\frac {R-Y}{1-K_{R}}}\end{aligned}}}

Причём, KG=1−KR−KB{\displaystyle K_{G}=1-K_{R}-K_{B}}.

Коэффициенты KR{\displaystyle K_{R}} и KB{\displaystyle K_{B}} (matrix coefficients) зависят от используемого цветового пространства и отдельно определяются соответствующими стандартами. При этом стандарты, использующие одинаковые праймари и точку белого, могут декларировать разные коэффициенты преобразования, и наоборот.

Гамма-коррекция[править]

Воспринимаемая человеком яркость изображения (lightness) нелинейно зависит от «реальной» яркости (luminance): тёмные оттенки человек различает лучше чем светлые. Чтобы избежать неравномерных потерь при передаче и кодировании сигнала, линейные значения RGB или YCbCr должны быть преобразованы в нелинейные R′G′B′ или Y′CbCr. Такое преобразование называется гамма-коррекцией. Сама функция преобразования (transfer characteristics) определяется различными стандартами по-разному.

В теории гамма-коррекция должна производиться после конвертации RGB → YCbCr при записи данных, а обратное преобразование — перед конвертацией YCbCr → RGB при воспроизведении. То есть RGB → YCbCr → Y′CbCr → … → Y′CbCr → YCbCr → RGB. На практике же применяется цепочка RGB → R′G′B′ → Y′CbCr → … → Y′CbCr → R′G′B′ → RGB. Эта инженерная уловка использовалась для того, чтобы избежать двойного преобразования в ЭЛТ-мониторах. Яркость пикселя на таком мониторе нелинейно зависит от подаваемого напряжения, причём эта зависимость очень похожа на функцию обратной гамма-коррекции. Компонент Y′ (luma), полученный из R′G′B′, не соответствует теоретической яркости Y (luminance), получаемой из RGB. Это приводит к определённым артефактам, проявляющимся при использовании 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 могут возникать видимые артефакты. Проявляются они либо на видео низкого разрешения с текстом (в этом случае перед кодированием стоит сделать апскейл), либо при переходах между некоторыми цветами (чёрный-красный, зелёный-маджента), либо на специальных тестовых изображениях.

Для передачи цифрового сигнала чаще всего используется 8 бит на сэмпл. То есть Y, Cb и Cr могут принимать значения 0..255. Однако, из-за аналоговой природы большинства телевизионных стандартов, для видео используется не весь диапазон значений.

Согласно стандартам (BT.601, BT.709) чёрному цвету должно соответствовать Y = 16, белому Y = 235. Для Cb и Cr базовыми являются значения 16 и 240. Таким образом, яркость имеет 220 уровней (quantization levels), цветность — 225. {BitDepth-1}}). В H.264 для такого сигнала предусмотрен флаг Full range.

Воспроизведение[править]

Для корректного воспроизведения видео должны быть выполнены следующие шаги:

  1. Выбор базовых уровней входящего сигнала.
  2. Chroma upsampling.
  3. Конвертация YCbCr → RGB с использованием правильных коэффициентов.
  4. Дополнительная коррекция изображения для конкретного устройства вывода.

Выбор уровней[править]

В некоторых случаях входящий сигнал может содержать полезную информацию в областях BTB/WTW. Студийные мониторы должны корректно отображать такие цвета. Однако к домашнему оборудованию и условиям просмотра предъявляются гораздо более мягкие требования, и более комфортным может оказаться отображение только уровней 16..235. Иначе говоря, нужно определиться, будете ли вы масштабировать сигнал 16..235 в 0..255 или будете сохранять области BTB/WTW (в которых ничего полезного может и не быть), жертвуя контрастом.

При выполнении преобразования YCbCr → RGB в ffdshow есть возможность как автоматического выбора между Full range и TV-диапазоном (учитывая и флаг H. 264), так и ручной установки уровней Y (количество уровней CbCr изменяется пропорционально).

Также в ffdshow имеется фильтр Levels, позволяющий динамически изменять диапазон при появлении BTB/WTW. Но, так как этот фильтр работает с 8-битными значениями, его использование может привести к появлению banding’а.

Полностью сохранить сигнал в областях BTB/WTW можно также, установив входные уровни YCbCr равными 16..235(240) и уровни вывода RGB равными 16..235. При этом стоит убедиться, что уровни 1..15 и 236..254 нигде не обрезаются.

То, что уровни могут быть изменены сразу в нескольких местах (рендерер, декодер, промежуточные фильтры, настройки видеокарты, шейдеры), может привести к нежелательным последствиям, например, к двойному преобразованию 16..235 → 0..255.

Ресайз[править]

Методы ресайза в madVR

Ресайз (resize — изменение размеров) при просмотре видео выполняется по нескольким причинам:

  • chroma upsampling;
  • соотношение сторон пикселя (Sample Aspect Ratio) отличное от 1:1;
  • несоответствие разрешения видео разрешению монитора.

То есть, даже если вы смотрите 720p на соответствующем мониторе, вам всё равно необходим качественный метод ресайза для компенсации chroma subsampling. Ресайз, как правило, выполняется рендерером. Наиболее продвинутым в этом плане является 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.

Также компенсировать неверный выбор коэффициентов можно используя шейдеры в MPC-HC.

Преобразование в RGB подразумевает предварительный chroma upsampling. Качественно его могут выполнять, например, ffdshow и madVR. Первый делает это программно, второй — нещадно используя ресурсы видеокарты.

Говорят, что информация о праймари, коэффициентах и гамме может содержаться не только в метаданных, но и в самом потоке: «Some digital video signals can carry a video index (see SMPTE RP 186—1995) which explicitly labels the primaries, transferFunction, and matrix of the signal. »

Дополнительный рендеринг[править]

Эффект Бартлесона — Бренемана. Квадраты в каждом ряду имеют одинаковый цвет. Тем не менее, на более тёмном фоне они кажутся светлее. Причём, чем темнее цвет квадрата, тем больше на нём сказывается эффект окружения. Это и вызывает разницу в контрастности между столбцами.

В некоторых случаях может понадобиться дополнительная коррекция изображения. Например, изменение цветового пространства и гаммы в соответствии с параметрами монитора. Это можно сделать с помощью yCMS (madVR, AviSynth) или ICC-профиля.

Необходимо понимать, что на восприятие человеком изображения влияет множество вторичных факторов, среди которых:

  • Эффект Стивенса (Stevens effect) — воспринимаемая контрастность увеличивается с увеличением яркости.
  • Эффект Бартлесона — Бренемана (Bartleson-Breneman effect) — более тёмная окружающая обстановка уменьшает воспринимаемую контрастность.
  • Эффект Ханта (Hunt effect) — насыщенность увеличивается с увеличением яркости. Например, цветы при дневном свете (около 30000 cd/m2) выглядят красочнее, чем при сумеречном (около 300 cd/m2). Если изображение снято днём, но отображается на мониторе яркостью 300 cd/m2 без модификации данных RGB, то будет казаться, что оно было снято в сумерках.

Традиционно для компенсации этих эффектов при воспроизведении используется несколько большее значение гаммы, чем было использовано при съёмке камерой. Так, студийные мониторы, предназначенные для просмотра в тёмном окружении, используют γ ≈ 2.4, в то время как при съёмке используется кривая с показателем 1/γ ≈ 1/2. Для мониторов, используемых в светлых помещениях, подойдёт γ ≈ 2.2 (sRGB).

Ресайз[править]

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

Встроенные функции Avisynth этого не учитывают, а кроме того, имеют ряд багов chroma shift, часть из которых не исправлена и в версии 2. 6a3.

Ресайз над линейными компонентами можно производить при помощи Dither Tools (пример) или ResampleHQ. Однако в последнем присутствуют некоторые баги.

Коррекция коэффициентов[править]

Если при создании рипа производится ресайз из HD в SD, то следует скорректировать значения YCbCr так, чтобы при воспроизведении цвета не искажались из-за ошибочного выбора коэффициентов (для SD традиционно используются BT.601, для HD — BT.709). В Avisynth это можно сделать выполняя ресайз при помощи Dither Tools или ResampleHQ, а также плагинами ColorMatrix и t3dlut. Сама по себе коррекция коэффициентов не требует преобразования в RGB.

При кодировании следует указывать используемые коэффициенты в метаданных (параметр —colormatrix для x264). Эта информация может использоваться либо когда конвертация в RGB производится декодером, либо отдельными связками декодер + рендерер (LAV Video + madVR). В большинстве же случаев флаг colormatrix игнорируется и коэффициенты выбираются на основе разрешения видео. {0.45}-0.1115,&{\mbox{for }}1\geq L_{c}\geq 0.0228\\4.0\cdot L_{c},&{\mbox{for }}0.0228>L_{c}\geq 0\end{cases}}}

SMPTE 260MSMPTE RP 145 «SMPTE C»?BT.1700 525 PAL(0.630; 0.340),
(0.310; 0.595),
(0.155; 0.070),
C (0.3101; 0.3162)0.299; 0.114γ = 2.2EBU Tech 3213(0.64; 0.33),
(0.29; 0.60),
(0.15; 0.06),
D65 (0.313; 0.329)—H.264 Annex E: Generic filmWratten 25 (0.681; 0.319),
Wratten 58 (0.243; 0.692),
Wratten 47 (0.145; 0.049),
C (0.310; 0.316)—H.264 Annex E: Linear transfer characteristics—

V=Lc,for 1>Lc≥0{\displaystyle V=L_{c},\quad {\mbox{for }}1>L_{c}\geq 0}

H.264 Annex E: Logarithmic transfer characteristic (100:1 range)

V={1. 0+lg⁡Lc2,for 1≥Lc≥0.0010.0,for 0.001>Lc≥0{\displaystyle V={\begin{cases}1.0+{\lg L_{c} \over 2},&{\mbox{for }}1\geq L_{c}\geq 0.001\\0.0,&{\mbox{for }}0.001>L_{c}\geq 0\end{cases}}}

H.264 Annex E: Logarithmic transfer characteristic (100*Sqrt(10):1 range)

V={1.0+lg⁡Lc2.5,for 1≥Lc≥10/10000.0,for 10/1000>Lc≥0{\displaystyle V={\begin{cases}1.0+{\lg L_{c} \over 2.5},&{\mbox{for }}1\geq L_{c}\geq {\sqrt {1}}0/1000\\0.0,&{\mbox{for }}{\sqrt {1}}0/1000>L_{c}\geq 0\end{cases}}}

Примечания[править]

  • BT.709-1 указывал коэффициенты KR = 0.2125, KB = 0.0721, но в BT.709-2 они были изменены (Y′CbCr Video in QuickTime, Wilbert’s post).
  • BT.709 содержит также Part 1 «HDTV systems related to conventional television», которая определяет другие matrix coefficients для 1250/50/2:1 (KR = 0.299; KB = 0.114). При этом стандарт рекомендует использовать Part 2 при создании нового контента.
  • BT.470 — устаревший стандарт аналогового телевидения, в последней редакции которого (BT.470-7) просто рекомендуется использовать BT.1700. Однако его по-прежнему упоминают в том или ином виде. Иногда ещё и с ошибками, как в этом MSDN (перепутали «System B, G» и «System M»). Кстати, в той же статье ссылаются на некий «EBU Tech 3212», видимо, подразумевая EBU Tech 3213.
  • BT.1700 ссылается на SMPTE 170M (2004) для описания NTSC.
  • SMPTE 170M упоминает, что, в то время как коэффициенты NTSC 1953 публиковались в виде KR = 0.30, KB = 0.11, при разработке спецификации использовались именно KR = 0.299; KB = 0.114.

Источники[править]

Первичные:

  • Сами стандарты. Не проверены SMPTE 240M, SMPTE 260M, SMPTE 293M, SMPTE 295M, SMPTE RP 145, SMPTE RP 177, NTSC 1953, IEC 61966-2-4.

Вторичные:

  • «Digital Video and HDTV: Algorithms and Interfaces», Charles Poynton
  • «The Reproduction of Colour» (6th Edition), R. W.G. Hunt (перевод Алексей Шадрин)
  • «Video Demystified. A Handbook for the Digital Engineer» (5th Edition), Jack K.

Почему цветовое пространство xvYCC не используется для фотосъемки?

У вас есть вещи почти полностью назад. Это не тот случай, когда фотография может / должна «догнать» видео — наоборот, это вопрос видео, которое наконец-то догнало (примерно) возможности, которые TIFF (для одного примера) предоставляет пару десятилетий назад (или около того).

Хотя вы, конечно, не видели очень много TIFF 16 бит / канал 20 лет назад, такая возможность уже была, и 16 бит / канал (в TIFF и различных других форматах) теперь довольно распространены. В то же время я чувствую себя обязанным отметить, что большинство людей считают 8 бит / канал полностью адекватными. Просто в качестве одного очевидного примера, JPEG2000 поддерживает 16 бит / канал и лучшее сжатие, чем оригинальный JPEG — но нигде даже близко не подходит к использованию оригинальной спецификации JPEG.

Примерно в то же время (на самом деле, немного раньше) xvYCC работала (примерно), догоняя возможности TIFF, формат файла openEXR разрабатывался. Он поддерживает до 32 бит / канал. Хотя он еще не так широко используется, я ожидаю, что он будет немного похож на TIFF и, в конце концов, получит широкое применение.

Что касается цветового пространства, это правда, что большее число бит / пиксель, если xvYCC поддерживает большую гамму, чем sRGB. Опять же, однако, ProPhotoRGB (для одного примера) предоставляет гораздо более широкую гамму — и (честно говоря) остается открытым вопрос, существует ли большая потребность в большем цветовом пространстве, чем уже обеспечивает ProPhotoRGB (примерно 13% цветов, которые вы можете Представлять в ProPhotoRGB в основном воображаемо — они выходят за рамки того, что большинство людей могут воспринимать).

Преимущество xvYCC заключается в уменьшении количества данных, необходимых / используемых для представления заданного уровня качества. Для HD-видео (в частности) минимизация пропускной способности чрезвычайно важна. Для цифровых фотоаппаратов, однако, пропускная способность — гораздо меньшая проблема — хотя было бы неплохо, если бы (например) я мог разместить в два раза больше снимков на CF-карте определенного размера, это не является особенно серьезной проблемой. Относительно мало людей используют наибольшую емкость доступных CF-карт, а стоимость CF-карт не является значительной частью бюджета типичного фотографа.

Итог: с точки зрения технических возможностей, xvYCC предоставляет мало того, что еще не доступно.

Изменить: я, вероятно, должен добавить еще один момент. ЖК-дисплеи начали заменять ЭЛТ-мониторы для большинства мониторов примерно в то время, когда цифровые камеры стали широко использоваться, но потребительские ЖК-мониторы только сейчас начинают превышать (или даже приближаться) разрешение цветопередачи 8 бит / канал. Трудно было сильно беспокоиться о наличии 10 или 12 бит / канал, когда обычный монитор мог отображать только около 6.

Также есть небольшая деталь, которая просто не волнует многих людей. Для них качество фотографирования подпадает под критерий «прошел / не прошел». Все, что на самом деле требует большинство людей, — это чтобы картина была достаточно узнаваемой. Я подозреваю, что люди постепенно начинают ожидать большего, но после многих лет, когда Уолгринс (или кто бы то ни было) превращает свою рыжеволосую дочь в блондинку (и т. Д.), Требуется время, чтобы привыкнуть к мысли, что цвет может быть точным вообще.

Изменить: На самом деле есть еще один шаг за пределами JPEG 2000: JPEG XR . Это поддерживает до 32 бит / канал (с плавающей запятой) HDR. Он также определяет формат файла, который может включать все обычные данные типа EXIF ​​/ IPTC, встроенный цветовой профиль и т. Д. Относящийся к этому вопросу, который включает значение, указывающее, что файл должен использовать цветовое пространство xvYCC (значение 11в TRANSFER_CHARACTERISTICSэлементе синтаксиса, таблица A. 9, на случай, если кому-то все равно). Похоже, он не используется широко (по крайней мере, пока), но напрямую поддерживает цветовое пространство xvYCC для неподвижных изображений.

[Основы изображения] Цветовое пространство изображения

ссылка
https://blog.csdn.net/mac_lzq/article/details/56682797
https://blog.csdn.net/lz0499/article/details/77345166

  • Цветовое пространство RGB
  • Цветовое пространство HSV
  • Лаборатория цветового пространства
  • YUV цветовое пространство
  • Цветовое пространство CMY
  • HSL цветовое пространство
  • HSB цветовое пространство
  • Ycc цветовое пространство
  • XYZ цветовое пространство
Цветовое пространство RGB

1. Принцип цветного отображения на компьютерных цветных мониторах и цветных телевизорах одинаков. Все они используют принцип смешения цветов R, G и B. Благодаря излучению трех электронных пучков различной интенсивности внутренняя часть экрана покрыта красным, зеленым и синим цветами. Фосфоресцентные материалы излучают свет и дают цвет. Этот метод представления цвета называется представлением цветового пространства RGB.

2. В цветовом пространстве RGB любой цветной свет F может быть сформирован путем добавления и смешивания различных компонентов цветов R, G и B: F = r [R] + r [G] + r [B]. Цветовое пространство RGB также можно описать трехмерным кубом. Когда все три основных цветовых компонента равны 0 (самый слабый), они смешиваются как черный свет, а когда все три основных цветовых изображения равны k (максимум, значение определяется пространством хранения), они смешиваются как белый свет.

Цветовое пространство HSV

1. HSV — это метод представления точек в цветовом пространстве RGB в перевернутом конусе. HSV — это оттенок, насыщенность и значение, также известные как HSB (B — яркость). Оттенок — это основной атрибут цвета, то есть название цвета, которое обычно говорят, например, красный и желтый. Насыщенность (S) относится к чистоте цвета. Чем выше цвет, тем чище цвет и тем ниже цвет постепенно становится серым. Значение составляет 0-100%. Яркость (V), принять 0-макс (диапазон значений HSV в компьютере связан с длительностью хранения). Цветовое пространство HSV может быть описано моделью конического пространства. В вершине конуса V = 0, H и S не определены, представляя черный цвет. Центр верхней поверхности конуса имеет вид V = max, S = 0, H не определен и представляет белый цвет.

2. В цветовом пространстве RGB связь между значениями трех цветовых компонентов и сгенерированными цветами не является интуитивно понятной. Цветовое пространство HSV больше похоже на то, как люди воспринимают цвет, инкапсулируя информацию о цвете: «Какой это цвет? Насколько он темный? Насколько он яркий?»

3. Преобразование RGB и HSV

(1) От RGB до HSV

Пусть max будет наибольшим из r, g и b, а min будет самым маленьким. Соответствующее значение (h, s, v) в пространстве HSV:

h составляет от 0 до 360 °, s — от 0 до 100%, а v — от 0 до макс.

(2) От HSV до RGB

Лаборатория цветового пространства

Компонент L в цветовом пространстве Lab используется для представления яркости пикселей. Диапазон значений составляет [0,100], что означает от чистого черного до чистого белого, a означает диапазон от красного до зеленого, а диапазон значений составляет [127, -128] b представляет диапазон от желтого до синего, а диапазон значений [127, -128]. На рисунке ниже показана схема цветового пространства Lab;

YUV цветовое пространство

В современных системах цветного телевидения обычно используется трехкамерная цветная камера или цветная CCD-камера (устройство с точечной связью), которая разделяет сигналы цветного изображения и получает RGB посредством цветового разделения и усиления, а затем получает сигнал яркости через схему матричного преобразования. Y и два цветоразностных сигнала R-Y и B-Y. Наконец, передающая сторона кодирует три сигнала яркости и цветоразностного сигнала отдельно и отправляет их по одному и тому же каналу. Это наше обычно используемое цветовое пространство YUV. Важность использования цветового пространства YUV состоит в том, что его сигнал яркости Y и сигналы цветности U и V разделены. Если присутствуют только компоненты сигнала Y и нет компонентов U и V, изображение, представленное таким образом, является черно-белым изображением в градациях серого. Цветной телевизор использует пространство YUV для решения проблемы совместимости цветного телевизора и черно-белого телевизора с сигналом яркости Y, так что черно-белый телевизор также может принимать цветные сигналы. Согласно Национальному комитету телевизионной системы и стандарту NTSC, когда яркость белого света выражается Y, его связь с красным, зеленым и синим цветами может быть описана следующим уравнением: Y = 0,3R + 0,59G + 0,11B Это обычно используемая формула яркости. Разница в цвете U и V получается путем сжатия B-Y и R-Y в разных пропорциях. Если вы хотите преобразовать из пространства YUV в пространство RGB, вам нужно только выполнить обратную операцию. Аналогично цветовому пространству YUV является цветовое пространство Lab, которое также описывает цветовые компоненты с точки зрения яркости и цветовой разницы, где L — яркость, а a и b — цветоразностные компоненты, соответственно.
YUV、YCbCr:
Это цветовое пространство в основном основано на характеристике того, что человеческий глаз чувствителен к яркости по сравнению с цветностью, и разделяет компонент цвета и компонент яркости. Из этого также вытекают принципы ранних черно-белых телевизоров и цветных телевизоров, а конкретная формула преобразования может ссылаться на стандартную формулу МСЭ.

После преобразования трехцветных компонентов RGB в YUV422 объем данных изображения уменьшается на 1/3. Если это YUV420, объем данных уменьшается вдвое. Эти преобразованные данные часто используются для кодирования сжатия изображений.

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

Цветовое пространство CMY

CMY — система подбора цвета для смешивания пигментов
RGB — это система согласования цветов с легким смешиванием
C-Cyan Green <Дополнительный цвет> R-Red
M-пурпурный пурпурный <дополнительный цвет> G-зеленый
Y-желтый желтый <дополнительный цвет> B-синий синий

Прежняя система подбора цвета используется в промышленной печати (потому что она печатается с помощью пигментов), но трудно использовать CMY для соответствия черному цвету. Это часто серо-черный цвет, поэтому при фактическом использовании также присутствует черный, K Черный, поэтому система CMYK используется для практической печати в промышленности. C и R противоположны, M и G противоположны, а Y и B противоположны.

HSL цветовое пространство

Цветовое пространство HSL (оттенок, насыщенность, яркость), это цветовое пространство является цветовым представлением графической программы пользователя для настольных компьютеров, с шестиугольными конусами для представления собственной цветовой модели.

HSB цветовое пространство

Цветовое пространство HSB (оттенок, насыщенность, яркость), это цветовое пространство является цветовым представлением графической программы для настольного компьютера пользователя с шестиугольными конусами для представления собственной цветовой модели.

Ycc цветовое пространство

Цветовое пространство изобретено Kodak, поскольку PhotoCd подвергается сжатию режима при сохранении изображений, поэтому PhotoCd использует цветовое пространство Ycc, которое использует яркость в качестве основного компонента, имеет два отдельных цветовых канала и использует цвет Ycc Пространство для сохранения изображений может сэкономить место для хранения.

XYZ цветовое пространство

Международная комиссия по освещению (CIE) провела большое количество нормальных человеческих визуальных измерений и статистики.В 1931 году был создан «наблюдатель стандартной цветности», что положило количественную основу для современной стандартной цветности CIE. Поскольку «стандартный наблюдатель цветности», используемый для калибровки спектральных цветов, появились отрицательные значения стимулов, которые было неудобно вычислять и было трудно понять. Поэтому в 1931 году CIE установил три мнимых основных цвета X, Y, Z на основе системы RGB. Новая система цветности. Сопоставьте его с трехцветным значением изоэнергетического спектра, названным «CIE1931 Standard Chromaticity Observer Spectral Tristimulus Value», называемым «CIE1931 Standard Chromaticity Observer». Эта система называется «стандартной системой цветности CIE1931» или «системой цветности XYZ с углом обзора 2 °». Цветовое пространство CIEXYZ можно слегка преобразовать, чтобы получить цветовое пространство Yxy, где Y принимает значение Y среди трех значений стимула, указывая яркость, а x, y отражают характеристики цветности цвета. Определение следующее: в управлении цветом очень важно выбрать цветовое пространство, не относящееся к устройству. Цветовое пространство, не относящееся к устройству, разработано Международной комиссией по освещению (CIE) и включает два стандарта: CIEXYZ и CIELAB. Они содержат все цвета, которые человеческий глаз может распознать. Кроме того, создание системы измерения цвета CIEYxy создает условия для определенного определения цвета. Однако в этом пространстве значение расстояния между двумя разными цветами не правильно отражает размер различий в восприятии цветов людьми, то есть в карте цветов CIEYxy, широкая емкость цветов в разных положениях и в разных направлениях. Отличается, это неоднородность цветового пространства Yxy. Наличие этого дефекта делает невозможным интуитивно оценивать цвета в пространствах Yxy и XYZ.

★ YUV — cтатьи о цвете .. Информация

                                     

★ YUV

YUV — цветовая модель, в которой цвет состоит из трех составляющих — яркостных и два цветоразностных компонент.

Компоненты YUV определяется на основе компонента RGB (РГБ) следующим образом:

Y = K R (Г = К) ⋅ R 1 − K R (К) − K B (К) ⋅ G K B (К) ⋅ B U = B (Б =) − Y V = R (Х V =) − Y {\свойства стиль отображения значение {\начать{соответствие}г&амп=K_{Р}\cDOT на Р 1-K_{Р}-K_{Б}\cDOT на Г K_{Б}\cDOT на б\\у&амп=с\\V и,=Р-г\\\конец{соответствие}}}

Обратное преобразование в RGB (РГБ)

R = Y (Р =) V G = Y (В Г =) − K R (К) ⋅ V K B (К) ⋅ U 1 (У 1) − K R (К) − K B = Y (К Б =) U {\свойства стиль отображения значение {\начать{соответствие}р&,=г В\\Г&амп=г-{\фрац {K_{Р}\cDOT на в K_{Б}\cDOT на У}{1-K_{Р}-K_{Б}}}\\Б&амп=ю\\\конец{соответствие}}}

Обратное преобразование сохраняет диапазон изменения компонент RGB (РГБ), но диапазон изменения компонент U и V более Y, что не удобно для кодирования и передачи / данных. Поэтому мы вводим нормализации.

Если мы примем, что компоненты RGB (РГБ) диапазон, надо умножить на 219 и добавить 16, например { R = 219 R ({ Р = 219) 16}.

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

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

YUV часто путают с цветовым пространством YCbCr, и, как правило, условия YCbCr и YUV используются как синонимы, что приводит к дополнительной путанице. когда дело доходит до видео или сигналов в цифровой форме, особенно в контексте телевизионного вещания, термин «YUV» по сути означает «компоненты yCbCR» с точки зрения одной из рекомендаций BT.601 (БТ.601), BT.709 (БТ.709), BT.2020 (БТ.2020). если говорить о JPEG или MPEG или в контексте обработки изображений, мы ссылаемся на T-REC-T.871 YCbCr (Т-НОЦ-т. 871 YCbCr на).

Цветовая субдискретизация понятным языком – немного отдаем, чтобы много выиграть / Статьи / ProjectorWorld.RU

Автор: Michael J. McNamra, ProjectorCentral.com, 19 марта 2019

Вы когда-нибудь наблюдали сброс кадров или подзависания картинки во время воспроизведения фильмов в Full HD или 4K форматах с компьютера, медиасервера, или при трансляции потокового видео через интернет? Если да, то добро пожаловать в клуб! Это вполне обычные проблемы, связанные с пропускной способностью канала, которые, как правило, можно решить обновлением компьютера, интернет-службы, кабелей HDMI, или всех трех компонентов сразу.

Примечание ProjectorWorld: может быть проще понять данный термин, если вернуться к оригинальному английскому слову «subsampling». Если «Sampling» значит «брать замеры» — например параметры каждого пикселя, то с добавлением приставки «sub-» («под-») мы, стало быть, берем замеры не с каждого пикселя, а с некого их «подмножества». «Subsample» — это «выборка из выборки».

Однако, если бы не повсеместное использование цветовой субдискретизации и различных алгоритмов сжатия данных для хранения видео-данных на ваших Blu-ray и DVD-дисках, жестких дисках и серверах служб интернет-вещания, то проблема эта была бы куда более существенной и труднорешаемой. Все потому, что обе технологии работают сообща, существенно уменьшая требуемую пропускную способность канала и вычислительные мощности, необходимые для отображения видео в высоком разрешении и с частотой кадров 24, 30, 60, и даже 120 кадров в секунду. Без этих технологий лишь самые быстрые компьютеры и графические карты были бы в состоянии обработать и отобразить эти сотни мегабайт-в-секунду видео-данных, генерируемых фильмом в качестве 4K UHD HDR, при этом не сбрасывая кадры и без зависания картинки. К тому же, невероятно большой размер файлов, который потребовался бы для несжатых фильмов в Full HD и 4K, добавил бы много дополнительных часов или даже дней к времени их скачивания у служб потокового вещания; к тому же они бы быстро заполнили все дисковое пространство вашего ПК или медиасервера. Даже если ваше оборудование и интернет-подключение были бы в состоянии справиться с несжатым 4K-контентом, вам бы потребовались топовые кабели HDMI 2.1 и соответствующие интерфейсы у отображающего устройства, чтобы «пропихивать» несжатые видео-данные от плеера к устройству.

Цветовая субдискретизация использовалась с начала эпохи аналогового цветного телевидения, позволяя по узкой полосе пропускания, выделенной для каждого телеканала, одновременно передать черно-белое и цветное изображение, тем самым обеспечивая обратную совместимость с существующими черно-белыми телевизорами. Используемый в области аналогового сигнала термин «Y’UV» относится цветовой модели с субдискретизированным цветом, в которой подканал Y’ содержит нелинейный яркостный сингал* (информацию о яркости, соответствующую воспринимаемым яркости и детализации; в основном данные о яркости берутся из зеленого сигнала), тогда как субканалы U и V содержат цветовой компонент сигнала — красный и синий. Данная модель используется во всем мире для телевещания. Другая аналоговая модель, Y’PbPr, используется в основном для передачи компонентного видео по трем кабелям. В этой модели канал Y’ тоже содержит информацию о яркости (она же содержит основную часть данных, относящихся к цветности и детализации зеленого), тогда как каналы Pb и Pr содержат компонент цветовых данных «Синий минус яркость (Y)» и «Красный минус яркость»). Использование отдельного компонента сигнала для передачи информации о яркости в сочетании с двумя сигналами цветовых различий привело к экономии требуемой ширины канала по сравнению с аналоговым R, G, B сигналом, где каждый канал содержит собственный компонент яркости.

* Нелинейный сигнал, обозначаемый апострофом, означает, что к сигналу применена гамма-коррекция (прим. ProjectorWorld.ru)

Аналоговая модель Y’PbPr ближе соответствует современным цифровым моделям YCbCr и Y’Cb’Cr’ (яркость, цвет: синий; цвет: красный). Как и в аналоговых моделях, условный знак в виде апострофа означает, что изначальные значения для Красного, Зеленого и Синего пикселя, которые были получены камерой или сгенерированы в графическом приложении, были «субдискретизированы» нелинейным способом, который лучше учитывает различную чувствительность человеческого глаза к цветам и различным уровням яркости. Благодаря пониманию принципов работы глаза был сделан вывод, что именно данные о яркости являются наиболее важным компонентом, необходимым для того, чтобы видеть и различать объекты. При этом часть данных о цвете можно опустить без особого ущерба, в результате чего получаем сжатый сигнал, который экономит дисковое пространство и который проще передавать.

В данной статье мы сосредоточимся на трех наиболее широко используемых уровнях цветовой субдискретизации, которые можно обнаружить в рамках модели Y’Cb’Cr’. Эти уровни обычно выражаются в виде тройного отношения, которое соответствует значениям Y’:C’b:C’r. Если вы истинный видеофил, то наверняка встречались с этими «4:4:4», «4:2:2» и «4:2:0». Такие отношения сообщают нам, примерно следующее: «4 доли яркости к 2-м долям цвета (синего) к 2-м долям цвета (красного).» Отношение 4:4:4 используется для описания «недискретизированных» данных R, G, B. Это означает, что в сигнале равные доли выделены на яркость, цветность синего и цветность красного. «4:4:4» полностью соответствует сигналу RGB, как показано на рисунке выше.

Высчитываем Y’C’bC’r: Таблица взята из описания стандарта BT.2100 и описывает, как значения Y’C’bC’r высчитываются из изначальных значений R’, G’ и B’, записанных камерой или созданных в графическом приложении. Обратите внимание, что яркостный компонент Y’ содержит преимущественно данные, полученные на основании зеленого канала цветности G’ и практически без участия данных из B’.

Алгоритмы цветовой субдискретизации были созданы чтобы использовать на практике более высокую чувствительность человеческого глаза к оттенкам зеленой части цветового спектра, чем к красной и синей. (Возможно, это результат долгой эволюции человеческого вида в окружении зеленых растений и лесов?) По этой причине яркостный компонент Y’ (см. таблицу выше) и содержит преимущественно данные, которые были получены из зеленого канала. По этой же причине зеленый канал в большинстве цифровых фотографий содержит больше полезных данных, на основании которых можно превратить цветную фотографию в черно-белую (см. фото ниже). Если вы снизите насыщенность цветов на телевизоре или проекторе, то полученные черно-белые изображения на экране будут созданы почти полностью из данных по яркостному каналу, в котором примерно 70% зеленого, 25% красного и лишь 5% синего. В связи с таким «перекосом» нашего зрения в сторону зеленого цвета, цветовая субдискретизация позволяет уменьшить объем информации по цветности, содержащейся в красном и синем каналах, экономя вплоть до 30% трафика (при использовании уровня сжатия 4:2:2) без заметной для большинства зрителей разницы в детализации, цвете или контрастности изображения.

Зеленый канал в большинстве цифровых фотографий вносит больший вклад в черно-белое изображение, чем красный или синий.

Сам по себе метод цветовой субдискретизации позволяет снизить размер файла и требования к полосе пропускания на 30-50% по сравнению с изначальным R, G, B форматом, не приводя при этом к значимой деградации качества изображения. Высший уровень качества 4:2:2 является практически «lossless-сжатием» (без потери качества), зачастую применяемым к изначальному видеоматериалу до монтажа и цветокоррекции, позволяя ускорить процесс редактирования и обработки. Запись у большинства полупрофессиональных видеокамер осуществляется именно в этом формате. В области профессионального кинопроизводства цветовая субдискретизация применяется лишь после того, как несжатый (4:4:4) RGB видеоряд смонтирован и сохранен в качестве мастер-копии. Затем, после цветовой субдискретизации, следует применение общего алгоритма сжатия, который может включать MJPEG, AVC, либо HEVC, каждый из которых потребует меньше вычислительных мощностей и времени для сжатия видео в 4:2:2, чем 4:4:4. Взятые вместе, эти различные методы сжатия данных способны уменьшить размер видеофайла в 5-20 раз, так и не достигнув уровня, при котором качество изображения станет неприемлемым.

Как работает цветовая субдискретизация?

4:4:4. В соответствии с приведенными выше толкованием стандарта BT.2100, данные по R, G, B, имеющиеся у каждого пикселя видеокадра, сперва используются для вычисления значений Y’C’bC’r для каждого пикселя. Рисунок выше показывает, как эти данные могли бы храниться в массивах по 8 ячеек – до того, как будет применена субдискретизация цветов. На данный момент нет никаких изменений ни относительно требуемого для хранения видеофайла пространства, ни качества изображения, ни точности цветов или их детализации.

4:2:2. Формат 4:2:2 считается навысшим уровнем субдискретизации и сохраняет всю информацию по каналу яркости Y’. (Все прочие описываемые нами уровни также сохраняют полную информацию по яркости, и лишь несколько записывающих устройств субдискретизируют яркостный канал до уровня 3 или 2). А вот значения C’b и C’r берутся в два раза реже по горизонтали, чем параметр яркости, и в итоге каждый второй пиксель в каждой строке массива пикселей хранится без данных C’b и C’r, экономя около 30% ширины канала и дискового пространства. Когда эти видеоданные открываются компьютерной программой, медиаплеером или способным напрямую обрабатывать видео в 4:2:2 устройством отображения, то сперва все доступные данные восстанавливаются в несжатом виде, а затем недостающие ячейки с данными C’b и C’r заполняются данными из соседних по горизонтали пикселей (это также называется интерполяцией).

При субдискретизации 4:2:0 яркостный компонент остается нетронутым, а для улучшения качества изображения, данные о цветовых компонентах могут содержать некую смесь из выброшенных данных.

4:2:0. Теперь все становится чуть запутаннее. При уровне субдискретизации 4:2:0, яркостному каналу все еще позволяется сохраняться в нетронутом виде, но C’b и C’r берутся в два раза реже – не только по вертикали, но и по горизонтали, что дает экономию полосы пропускания и места для хранения порядка 50%. Однако, для улучшения качества, данные, хранящиеся для каждого из оставшихся пикселей могут содержать «смесь» из выброшенных данных (см. рисунок). При этом используются два алгоритма. В итоге, при восстановлении исходного изображения видеоплеером, получается меньше артефактов, более плавные переходы между краями линий в изображении и более тонкие детали, чем если бы просто сохранялась цветность для одного пикселя из четырех (без «смешения» с соседними). Безусловно, более плавные края линий означают, что текст на контрастирующем фоне может выглядеть смазано или нечетко, но данный артефакт изображения также может быть виден при сравнении на компьютерном мониторе с его четким изображением форматов 4:2:2 и 4:4:4.

Заключительное слово по цветовой субдискретизации

Происходит ли заметно большее ухудшение качества изображение при использовании метода 4:2:0 по сравнению с 4:2:2, если наша цель — просмотр кинофильмов? Большинство зрителей, просмотревших любое количество Blu-ray дисков в 4K UHD (SDR и HDR) не согласятся с этим. Все потому, что формат цветовой субдискретизации 4:2:0 является неотъемлемой частью стандарта 4K UHD Blu-ray (наряду с невероятно эффективным общим алгоритмом сжатия HEVC) и используется для хранения практически всех фильмов, которые вы можете посмотреть с помощью сервисов кабельного ТВ или широкополосного интернет-вещания. Перед тем, как начать воспроизведение, обычный UHD Blu-ray 4K плеер проверяет информацию HDMI EDID, которая хранится в проекторе или другом устройстве, чтобы определить, способно ли оно напрямую работать с видео в формате 4:2:2. Большинство устройств способны работать с видео в 4:2:0 или 4:2:2, поэтому плеер сперва преобразует данные с диска в формат 4:2:2 перед тем, как отправлять их на экран. Если устройство отображения не совместимо с 4:2:2, то плеер может отправить на него данные в 4:2:0 или же преобразовать их в 4:4:4 перед отправкой на устройство.

Опираясь на эти крохи информации, большинство UHD Blu-ray плееров оказываются в состоянии отобразить видео даже в чуть лучшем качестве и с большей точностью цветов чем то, что вы можете получить с 4K UHD Blu-ray диска! Все что нужно – это 4K-видеокамера или цифровая зеркалка, либо графическое приложение, позволяющее записывать видео с глубиной цвета 10-12 бит на пиксель с использованием субдискретизации 4:2:2 (не 4:2:0) или даже 4:4:4. Отредактировав такие видеоролики и сохранив их в формате, таком как Apple ProRes 4:2:2, а затем сжав с использованием 10-битного HEVC, их после этого можно записать на USB 3.0 жесткий диск и подключить его к соответствующему разъему Blu-ray плеера, либо даже напрямую подключить этот диск к USB 3.0 разъему проектора или телевизора (если имеется). Поскольку плееру или отображающему устройству не приходится преобразовывать 4:2:0 в 4:2:2, то в тонких цветовых переходах должно сохраниться больше оттенков.

В любом случае, факт остается фактом: сжатие данных и цветовая субдискретизация в том или ином виде необходимы для того, чтобы позволить современным плеерам и отображающим устройствам справляться с видео в 4K-разрешении – и вы можете быть уверены, что эти технологии обретут еще большую значимость, когда широкого распространения достигнет 8K-контент и соответствующие отображающие устройства; особенно – учитывая ограничения по дисковым хранилищам и пропускной способности каналов широкополосного вещания. К счастью, в связи с большей плотностью пикселей у 8K-контента и дисплеев, видео в форматах 4:2:0 и 4:2:2 будет смотреться даже лучше чем сейчас, даже при отображения резкого текста на контрастирующем фоне.

Майкл Макнамара – бывший ответственный редактор технологического раздела журнала «Popular Photography» и признанный эксперт в таких областях, как оцифровка, хранение и технологии отображения. Он был удостоен ряда наград как фотограф и оператор и он также является владельцем In-Depth Focus Labs в Хопвелл Джанкшен, штат Нью Йорк.  

 

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. 

Цветовое пространство YUV

Цветовое пространство YUV

Цветовое пространство YUV немного необычно. Компонент Y определяет яркость цвета (называемая яркостью или яркостью), а U и компоненты V определяют сам цвет (цветность). Y колеблется от 0 до 1 (или от 0 до 255 в цифровых форматах), а U и V находятся в диапазоне от -0,5 до 0,5 (или от -128 до 127 в подписанной цифровой форме, или от 0 до 255 в беззнаковой форма). Некоторые стандарты дополнительно ограничивают диапазоны, поэтому выход за пределы значения указывают на особую информацию, такую ​​как синхронизация.

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

Это изображение показывает слегка наклонное представление цветового куба YUV, глядя на темную (Y = 0) сторону.Обратите внимание, как посередине полностью черный, где U и V равны нулю, а Y тоже. Как U и V приближаются к их пределам, вы начинаете видеть их влияние на цвета.

На этом изображении показан тот же куб с яркой стороны (Y = 1). Мы тут иметь ярко-белый цвет посередине лица, с очень яркими красками на углы, где U и V также находятся на своих границах.

На этих изображениях показан тот же куб, разделенный на слои. Это позволяет нам видеть внутри куба, вроде того.

На этих изображениях показаны стержни в различных точках УФ-плоскости, простирающиеся через Y. Это позволяет нам увидеть, как изменяется цвет каждой УФ-точки при значение Y увеличивается или уменьшается. Все изображения выше были генерируется с помощью POV-Ray, бесплатного трассировщик лучей.

YUV — Преобразование RGB

Есть много немного разных формул для преобразования между YUV и RGB. Единственная серьезная разница в том, что несколько десятичных знаков. CCIR 601 Standard (сейчас МСЭ-R 601) указывает правильные коэффициенты.Поскольку я ленив и не искал эту спецификацию, я не знаю, верны ли следующие коэффициенты или нет. В любом случае я использовал их для многих преобразований без видимого обесцвечивания.
Эти формулы предполагают, что U и V являются байтами без знака.
R = Y + 1,4075 * (V - 128)
G = Y - 0,3455 * (U - 128) - (0,7169 * (V - 128))
В = Y + 1,7790 * (U - 128)

Y = R * . 299000 + G * .587000 + B * .114000
U = R * -.168736 + G * -.331264 + B * .500000 + 128
V = R *.500000 + G * -.418688 + B * -.081312 + 128
 

Это не идеальные противоположности друг другу. Я попробую сделать немного актуальная математика и скоро получите более точные коэффициенты.

Смешивание цветов YUV

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

Например, чтобы смешать два цвета в равных частях, результат будет:
(Y1 + Y2) / 2, (U1 + U2) / 2, (V1 + V2) / 2

Добавление цветов в YUV Colorspace

Добавление цветов в YUV немного сложнее.Компоненты Y и UV требуют относиться к ним по-разному, поскольку они представляют разные вещи.

Добавить каналы Y очень просто; Вы просто добавляете их.
Y3 = Y1 + Y2.

Вероятно, неплохо было бы установить значение Y до 255 или 1. 0.

Добавление каналов U или V требует больше усилий. Вы должны усреднить два входные значения.
U3 = (U1 + U2) / 2, V3 = (V1 + V2) / 2 .

U и V также должны насыщаться. В противном случае несколько дополнений могут вызвать необычные цветовые искажения в сочетании с высокими значениями Y.

JPEG / JFIF — преобразование RGB

файлы JPEG / JFIF хранят сжатые изображения в цветовом пространстве, подобном YUV, использует немного другие коэффициенты для преобразования в RGB. Эти формулы являются:
R = Y + 1,40200 * (U - 128)
G = Y - 0,34414 * (V - 128) - 0,71414 * (U - 128)
B = Y + 1.77200 * (V - 128)
 

Определение YUV | PCMag

Система кодирования цвета, используемая для аналогового телевидения во всем мире (NTSC, PAL и SECAM). Цветовое пространство YUV (цветовая модель) отличается от RGB, который фиксирует камера и видят люди.Когда в 1950-х годах были разработаны цветные сигналы, было решено разрешить черно-белым телевизорам продолжать принимать и декодировать монохромные сигналы, в то время как наборы цветов будут декодировать как монохромные, так и цветные сигналы.

Сигналы яркости и разности цветов
Y в YUV означает «яркость», то есть яркость или яркость, а черно-белые телевизоры декодируют только Y-часть сигнала. U и V предоставляют информацию о цвете и являются сигналами цветового различия: синий минус яркость (B-Y) и красный минус яркость (R-Y).Посредством процесса, называемого «преобразованием цветового пространства», видеокамера преобразует данные RGB, захваченные ее датчиками, либо в композитные аналоговые сигналы (YUV), либо в компонентные версии (аналоговый YPbPr или цифровой YCbCr). Для визуализации на экране все эти цветовые пространства должны быть снова преобразованы в RGB с помощью телевизора или системы отображения.

Математически эквивалентно RGB
YUV также экономит полосу передачи по сравнению с RGB, потому что каналы цветности (B-Y и R-Y) несут только половину разрешения яркости.YUV — это не сжатый RGB; скорее, Y, B-Y и R-Y являются математическим эквивалентом RGB. См. Преобразование цветового пространства и формулы преобразования YUV / RGB.

Композитное видео и S-видео
Исходный телевизионный стандарт объединил яркость (Y) и оба цветовых сигнала (B-Y, R-Y) в один канал, который использует один кабель и известен как «композитное видео». Опция, известная как «S-video» или «Y / C video», позволяет отделить яркость от цветовых сигналов, используя один кабель, но с отдельными проводами внутри.S-видео немного резче, чем композитное видео.

Компонентное видео
Когда яркость и каждый из цветовых сигналов (B-Y и R-Y) поддерживаются в отдельных каналах, это называется «компонентным видео», обозначаемым как YPbPr в аналоговой области и YCbCr в цифровом. Компонентное видео самое резкое из всех.

Общий термин
На практике YUV относится к системе кодирования цветового различия, будь то составная или компонентная, а «YUV», «Y, B-Y, R-Y» и «YPbPr» взаимозаменяемы для аналоговых сигналов.Иногда «YCbCr», то есть цифровой, также используется взаимозаменяемо, что не помогает прояснить предмет. См. YPbPr, YCbCr, яркость, ITU-R BT.601, YIQ и субдискретизацию цветности.

Видео соединения

Аналоговое видео может передаваться как композитное видео, S-видео или компонентное видео. В высокопроизводительном бытовом и профессиональном оборудовании используется компонентное аналоговое видео (YPbPr) и три отдельных кабеля.

YUV Out

На верхней диаграмме показано, как сигналы YUV смешиваются и распределяются по внешним разъемам, а устройство внизу показывает фактические порты от видеокарты NVIDIA. (нижнее изображение любезно предоставлено NVIDIA Corporation.)

Аналоговый или цифровой?

Выходы на задней панели этого DVD-плеера действительно аналоговые (YPbPr), но обозначены как Pb / Cb и Pr / Cr, чтобы охватить все основания. YPbPr и YCbCr часто используются как взаимозаменяемые и ошибочно.

цветовых пространств в средствах захвата кадров: RGB и YUV

Цветовые пространства в средствах захвата кадров: RGB и YUV
Фреймграббер работает с источниками потокового видео для захвата отдельных кадров. Качественный фреймграббер поддерживает как минимум системы NTSC и PAL. Однако собственный поток или вход для фреймграббера не обязательно должны быть аналоговыми. Новые устройства захвата кадров также поддерживают потоки HD-видео, такие как 1080i, 1080p или 720p. Плата захвата имеет оборудование для извлечения отдельных кадров и пересылки их в источник захвата, такой как ПК или SBC. Есть некоторые споры о том, какой формат лучше для фреймграбберов: YUV или RGB. Ответ зависит от приложения.
Форматы

RGB обычно простые: красный, зеленый и синий с заданным размером пикселя.RGB24 является наиболее распространенным, допускающим 8 бит и значение 0–255 на компонент цвета. Захват кадров RGB лучше всего подходит, если этого требуют ваши требования к обработке изображений и / или хранению. Захват RGB можно сохранить напрямую как растровое изображение, добавив простой заголовок. Windows XP GDI (графический интерфейс дисплея) и графические интерфейсы пользователя Linux работают с растровыми изображениями RGB и отображают их.

Однако проблема с RGB заключается в том, что это не лучшее отображение для представления визуального восприятия. Цветовые пространства YUV представляют собой более эффективное кодирование и сокращают полосу пропускания больше, чем захват RGB.Поэтому большинство видеокарт рендерит напрямую, используя YUV или изображения яркости / цветности. Самым важным компонентом для захвата YUV всегда является яркость, или Y-компонента. По этой причине Y должен иметь самую высокую частоту дискретизации или ту же частоту, что и другие компоненты. Как правило, формат YUV 4: 4: 4 (равная выборка для каждого компонента) является пустой тратой полосы пропускания, потому что цветность может быть адекватно дискретизирована на половине частоты дискретизации яркости, при этом глаз не может заметить разницу. Форматы YUV 4: 2: 2 и 4: 2: 0 обычно используются с предпочтением 4: 2: 2.4: 2: 2 означает, что компоненты цветности дискретизируются по горизонтали с половинной скоростью яркости. 4: 2: 0 означает, что компоненты Cb (цветность синего) и Cr (цветность красного) подвергаются субдискретизации с коэффициентом 2 в вертикальных горизонтальных направлениях.

Захват в YUV (или YCrCb), помимо того, что он более эффективен, лучше всего использовать, когда изображения должны отображаться непосредственно на стандартном видеодисплее. Кроме того, некоторые алгоритмы сжатия изображений, такие как JPEG, напрямую поддерживают YUV, поэтому нет необходимости в преобразовании RGB.В модели YCrCb 0x80 — это уровень черного для Cr и Cb, а 0x10 — уровень черного для Y.

Большинство аппаратных средств DirectX 8, 9 и 10 поддерживает прямое отображение изображений YUV. С правильным форматом вы можете выполнять рендеринг непосредственно на видеокарту без преобразования изображения с помощью инструкций MMX или другого (желательно оптимизированного) кода.

Наиболее распространенные видеокарты изначально поддерживают упакованный режим YUV, YUY2 (4: 2: 2) и / или NV12 (4: 2: 0). Порядок байтов для YUY2 следующий:

Y0 U0 Y1 V0 Y2 U2 Y3 В2 Y4 U4 Y5 V4

Формат YUY2 (4: 2: 2 = ширина * высота значения Y, ширина * высота / 2 Cr, значения Cb = 2 * W * H всего байтов)

NV12 — это квазипланарный формат, в котором сначала в памяти помещаются все компоненты Y, а затем массив компонентов, упакованных в УФ. Для изображения 640×480 NV12 макет выглядит следующим образом:

Y0 Y1 Y3
Y301798 Y301799
U0 V0 U1 V1
U76799 V76799

Формат NV12 (640 * 480 значений Y, 640 * 480/4 значений Cr и Cb = 3/2 H * W всего)

Многие платы захвата оборудования наиболее эффективны при использовании планарного режима YUV. Они снимают YUV в режиме самолет за самолетом. Sensoray 2255, например, может захватывать напрямую в формате 4: 2: 2 YUV422P. (Он также поддерживает форматы YUY2 и RGB в SDK.) Планарный формат полезен, когда окончательный формат YUV неизвестен, поскольку на каждый компонент можно напрямую ссылаться как на массив. Отдельный указатель может просто указывать на каждый из массивов компонентов. Упакованные форматы этого не позволяют. Кроме того, из плоского формата легко создать упакованные форматы YUV, такие как NV12 или YUY2, с оптимизированными для MMX инструкциями для DirectX VA (DirectX Video Accelerated) или отображения SDL в Windows или Linux соответственно.

Y1 Y3
Y301798 Y301799
U0 U1 U2 U3
U76798 U76799
V0 V1 V2 V3
V76798 V76799

YUV плоский (4: 2: 2), изображение 640 x 480

Цветовая система YUV — HiSoUR — Hi So You Are

🔊 Аудио чтение

YUV — это система кодирования цвета, обычно используемая как часть конвейера цветного изображения. Он кодирует цветное изображение или видео с учетом человеческого восприятия, позволяя уменьшить полосу пропускания для компонентов цветности, тем самым, как правило, позволяет более эффективно маскировать ошибки передачи или артефакты сжатия человеческим восприятием, чем использование «прямого» RGB-представления. Другие цветовые кодировки имеют аналогичные свойства, и основная причина для реализации или исследования свойств Y’UV будет заключаться в взаимодействии с аналоговым или цифровым телевизионным или фотографическим оборудованием, которое соответствует определенным стандартам Y’UV.

Объем терминов Y’UV, YUV, YCbCr, YPbPr и т. Д. Иногда неоднозначен и перекрывается. Исторически термины YUV и Y’UV использовались для определенного аналогового кодирования информации о цвете в телевизионных системах, в то время как YCbCr использовался для цифрового кодирования информации о цвете, подходящей для сжатия и передачи видео и неподвижных изображений, таких как MPEG и JPEG. Сегодня термин YUV обычно используется в компьютерной индустрии для описания файловых форматов, которые кодируются с использованием YCbCr.

Модель Y’UV определяет цветовое пространство с точки зрения одной компоненты яркости (Y ‘) и двух компонентов цветности (UV).Цветовая модель Y’UV используется в стандарте композитного цветного видео PAL (за исключением PAL-N). Предыдущие черно-белые системы использовали только информацию о яркости (Y ‘). Информация о цвете (U и V) добавлялась отдельно через поднесущую, чтобы черно-белый приемник по-прежнему мог принимать и отображать передачу цветного изображения в собственном черно-белом формате приемника.

Y ‘обозначает компонент яркости (яркость), а U и V — компоненты цветности (цвета); яркость обозначается Y, а яркость — Y ‘- основные символы (‘) обозначают гамма-сжатие, при этом« яркость »означает физическую яркость в линейном пространстве, а« яркость »- это (нелинейная) воспринимаемая яркость.

Цветовая модель YPbPr, используемая в аналоговом компонентном видео, и ее цифровая версия YCbCr, используемая в цифровом видео, более или менее унаследованы от нее и иногда называются Y’UV. (CB / PB и CR / PR — отклонения от серого по сине-желтой и красно-голубой осям, тогда как U и V — различия яркости синего и красного соответственно.) Цветовое пространство Y’IQ, используемое в аналоговом телевидении NTSC Система вещания связана с ним, хотя и более сложным образом. Цветовое пространство YDbDr, используемое в системах аналогового телевещания SECAM и PAL-N, также связано.

Что касается этимологии, Y, Y ‘, U и V не являются сокращениями. Использование буквы Y для обозначения яркости можно проследить до выбора основных цветов XYZ. Это естественным образом позволяет использовать одну и ту же букву в яркости (Y ‘), которая приближается к перцептивно однородному корреляту яркости. Аналогичным образом, U и V были выбраны, чтобы отличать оси U и V от осей в других пространствах, таких как пространство цветности x и y. См. Приведенные ниже уравнения или сравните историческое развитие математики.

История
Y’UV был изобретен, когда инженеры хотели цветного телевидения в черно-белой инфраструктуре. Им нужен был метод передачи сигнала, совместимый с черно-белым (B&W) телевидением, но с возможностью добавления цвета. Компонент яркости уже существовал как черно-белый сигнал; они добавили к этому УФ-сигнал в качестве раствора.

УФ-представление цветности было выбрано по сравнению с прямыми сигналами R и B, потому что U и V — это цветоразностные сигналы.Другими словами, сигналы U и V говорят телевизору сместить цвет определенного пикселя без изменения его яркости. Или сигналы U и V говорят монитору сделать один цвет ярче за счет другого и на сколько он должен быть сдвинут. Чем выше (или ниже, если они отрицательны) значения U и V, тем более насыщенным (красочным) становится пиксель. Чем ближе значения U и V к нулю, тем меньше изменяется цвет, что означает, что красный, зеленый и синий свет будут более одинаково яркими, создавая более серый пиксель.В этом заключается преимущество использования цветоразностных сигналов, т.е. вместо того, чтобы сообщать, сколько красного в цвете, он показывает, насколько он больше красного, чем зеленый или синий. В свою очередь, это означало, что когда сигналы U и V были бы нулевыми или отсутствовали, он просто отображал бы изображение в оттенках серого. Если бы использовались R и B, они имели бы ненулевые значения даже в черно-белой сцене, требующей всех трех сигналов, несущих данные. Это было важно на заре цветного телевидения, потому что в старых черно-белых телевизионных сигналах не было сигналов U и V, а это означало, что цветной телевизор просто отображал бы их как черно-белые телевизоры из коробки.Кроме того, черно-белые приемники могут принимать сигнал Y ‘и игнорировать сигналы U- и V-цветов, что делает Y’UV обратно совместимым со всем существующим черно-белым оборудованием, входом и выходом. Если бы в стандарте цветного телевидения не использовались бы цветоразностные сигналы, это могло бы означать, что цветной телевизор будет воспроизводить смешные цвета из черно-белой трансляции или ему потребовались бы дополнительные схемы для преобразования черно-белого сигнала в цвет. Было необходимо назначить более узкую полосу пропускания для канала цветности, потому что не было доступной дополнительной полосы пропускания. Если бы некоторая информация о яркости поступала через канал цветности (как это было бы, если бы RB-сигналы использовались вместо дифференциальных УФ-сигналов), черно-белое разрешение было бы скомпрометировано.

Преобразование в / из RGB
SDTV с BT.601
Y’UV-сигналы обычно создаются из источника RGB (красный, зеленый и синий). Взвешенные значения R, G и B суммируются, чтобы получить Y ‘, меру общей яркости или яркости. U и V вычисляются как масштабированные разности между Y ‘и значениями B и R.

BT.601 определяет следующие константы:


Y’UV вычисляется из RGB следующим образом:


Результирующие диапазоны Y ‘, U и V соответственно равны [0, 1], [−Umax, Umax] и [−Vmax, Vmax].

Инвертирование вышеуказанного преобразования преобразует Y’UV в RGB:


Эквивалентно, замена значений констант и их выражение в виде матриц дает эти формулы для BT.601:


HDTV с BT.709

Для HDTV ATSC решила изменить базовые значения для WR и WB по сравнению с ранее выбранными значениями в системе SDTV. Для HDTV эти значения предоставлены Рек. 709. Это решение дополнительно повлияло на матрицу преобразования Y’UV↔RGB, так что значения ее элементов также немного отличаются. В результате, с SDTV и HDTV для любой тройки RGB обычно возможны два различных представления Y’UV: SDTV-Y’UV и HDTV-Y’UV. Это означает, что при прямом преобразовании между SDTV и HDTV информация о яркости (Y ‘) примерно одинакова, но представление информации канала цветности (U и V) требует преобразования.По-прежнему охватывая цветовое пространство CIE 1931, Rec. 709 почти идентично Rec. 601 и покрывает 35,9%. В отличие от этого UHDTV с Rec. 2020 охватывает гораздо большую территорию и в дальнейшем увидит свою собственную матрицу для YUV / Y’UV.

BT.709 определяет эти значения веса:


Матрицы и формулы преобразования для BT.709 следующие:


Примечания
Веса, используемые для вычисления Y ‘(верхняя строка матрицы), идентичны весам, используемым в цветовом пространстве Y’IQ.
Равные значения красного, зеленого и синего (т. Е. Уровней серого) дают 0 для U и V. Черный, RGB = (0, 0, 0), дает YUV = (0, 0, 0). Белый, RGB = (1, 1, 1), дает YUV = (1, 0, 0).
Эти формулы традиционно используются в аналоговых телевизорах и оборудовании; цифровое оборудование, такое как HDTV и цифровые видеокамеры, используют Y’CbCr.

Числовые приближения
До разработки быстрых процессоров SIMD с плавающей запятой в большинстве цифровых реализаций RGB → Y’UV использовалась целочисленная математика, в частности, аппроксимации с фиксированной запятой.Аппроксимация означает, что точность используемых чисел (входные данные, выходные данные и постоянные значения) ограничена, и, таким образом, потеря точности, как правило, около последней двоичной цифры, принимается тем, кто использует эту опцию, обычно в качестве компромисса улучшенная скорость вычислений.

В следующих примерах оператор ”” обозначает сдвиг вправо двоичных позиций a на b. Для пояснения переменные используют два суффиксных символа: «u» используется для окончательного представления без знака, а «t» — для уменьшенного промежуточного значения. Приведенные ниже примеры приведены только для BT.601. Тот же принцип может использоваться для выполнения функционально эквивалентных операций с использованием значений, которые обеспечивают приемлемое соответствие для данных, соответствующих BT.709 или любому другому сопоставимому стандарту.

значения Y ‘обычно сдвигаются и масштабируются до диапазона [16, 235] (называемого студийным свингом или «уровнями ТВ»), а не с использованием полного диапазона [0, 255] (называемого полным ходом или «ПК»). уровни »). Эта практика была стандартизирована в SMPTE-125M, чтобы компенсировать выбросы сигнала («звон») из-за фильтрации.Значение 235 соответствует максимальному выбросу от черного к белому в размере 255-235 = 20 или 20 / (235-16) = 9,1%, что немного больше теоретического максимального выброса (феномен Гиббса), составляющего около 8,9% от диапазона. максимальный шаг. Пространство для пальцев меньше, допускает только 16/219 = 7,3% перерегулирования, что меньше теоретического максимального перерегулирования в 8,9%. Вот почему 16 добавляется к Y ‘и почему коэффициенты Y’ в сумме основного преобразования равны 220 вместо 255. Значения U и V, которые могут быть положительными или отрицательными, суммируются со 128, чтобы они всегда были положительными, давая студийный диапазон 16–240 для U и V.(Эти диапазоны важны при редактировании и производстве видео, поскольку использование неправильного диапазона приведет либо к изображению с «обрезанными» черными и белыми, либо к низкоконтрастному изображению.)

Studio swing для BT.601
Для получения традиционного «студийного» 8-битного представления Y’UV для SDTV / BT.601 можно использовать следующие операции:

1. Базовое преобразование из 8-битных значений RGB в 16-битные (Y ‘: без знака, U / V: со знаком, значения матрицы округлены, так что более поздний желаемый диапазон Y’ равен [16..235] и достигнут диапазон U / V [16..240]):


2. Уменьшить масштаб («>> 8») до 8 бит с округлением («+128») (Y ′: без знака, U / V: со знаком):


3. Добавьте смещение к значениям, чтобы исключить любые отрицательные значения (все результаты 8-битные без знака):


Полный ход для BT.601
Для получения «полного» 8-битного представления Y’UV для SDTV / BT.601 можно использовать следующие операции:

1. Базовое преобразование из 8-битных значений RGB в 16-битные (Y ‘: без знака, U / V: со знаком, значения матрицы округлены, так что желаемый диапазон Y’UV каждого [0..255] достигается, но переполнения не происходит):


2. Уменьшите масштаб («>> 8») до 8-битных значений с округлением («+128») (Y ′: без знака, U / V: со знаком):


3. Добавьте смещение к значениям, чтобы исключить любые отрицательные значения (все результаты 8-битные без знака):


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

Основное преимущество систем яркости / цветности, таких как Y’UV и его родственников Y’IQ и YDbDr, заключается в том, что они остаются совместимыми с черно-белым аналоговым телевидением (в значительной степени благодаря работе Жоржа Валенси). Канал Y ‘сохраняет все данные, записанные черно-белыми камерами, поэтому он производит сигнал, пригодный для приема на старых монохромных дисплеях. В этом случае U и V просто отбрасываются. При отображении цвета используются все три канала, и исходная информация RGB может быть декодирована.

Еще одно преимущество Y’UV состоит в том, что часть информации можно отбросить, чтобы уменьшить полосу пропускания. Человеческий глаз имеет довольно небольшую пространственную чувствительность к цвету: точность информации о яркости канала яркости имеет гораздо большее влияние на детали изображения, чем у двух других.Понимая этот человеческий недостаток, такие стандарты, как NTSC и PAL, значительно сокращают полосу пропускания каналов цветности. (Пропускная способность находится во временной области, но она переводится в пространственную область, когда изображение сканируется.)

Следовательно, результирующие сигналы U и V могут быть существенно «сжаты». В системах NTSC (Y’IQ) и PAL сигналы цветности имели значительно более узкую полосу пропускания, чем у сигналов яркости. Ранние версии NTSC быстро чередовали определенные цвета в идентичных областях изображения, чтобы они казались человеческому глазу дополняющими друг друга, в то время как все современные аналоговые и даже большинство цифровых видеостандартов используют субдискретизацию цветности, записывая информацию о цвете изображения с пониженным разрешением.Сохраняется только половина горизонтального разрешения по сравнению с информацией о яркости (так называемая субдискретизация цветности 4: 2: 2), и часто вертикальное разрешение также уменьшается вдвое (давая 4: 2: 0). Стандарт 4: x: x был принят из-за самого раннего цветного стандарта NTSC, в котором использовалась субдискретизация цветности 4: 1: 1 (где разрешение цвета по горизонтали делится на четверть, а по вертикали — полное разрешение), так что изображение несло только четверть цветового разрешения по сравнению с разрешением яркости. Сегодня только высококачественное оборудование, обрабатывающее несжатые сигналы, использует субдискретизацию цветности 4: 4: 4 с идентичным разрешением как для информации о яркости, так и для информации о цвете.

Оси I и Q были выбраны в соответствии с полосой пропускания, необходимой для человеческого зрения, одна ось требовала наибольшей полосы пропускания, а другая (случайно под углом 90 градусов) минимальной. Однако истинная I- и Q-демодуляция была относительно более сложной, требуя двух аналоговых линий задержки, и приемники NTSC редко использовали ее.

Однако это преобразование цветового пространства происходит с потерями, что особенно очевидно в перекрестных помехах от яркости к проводу, несущему цветность, и наоборот, в аналоговом оборудовании (включая разъемы RCA для передачи цифрового сигнала, поскольку все, что они несут, — это аналоговое композитное видео, это либо YUV, YIQ, либо даже CVBS).Кроме того, NTSC и PAL кодируют цветовые сигналы таким образом, чтобы сигналы цветности и яркости с высокой пропускной способностью смешивались друг с другом в попытке сохранить обратную совместимость с черно-белым телевизионным оборудованием, что приводит к ползанию точек и перекрестным цветовым артефактам. Когда в 1950-х годах был создан стандарт NTSC, это не было реальной проблемой, поскольку качество изображения ограничивалось оборудованием монитора, а не принимаемым сигналом с ограниченной полосой пропускания. Однако современное телевидение способно отображать больше информации, чем содержится в этих сигналах с потерями.Чтобы идти в ногу с возможностями новых технологий отображения, с конца 1970-х годов предпринимались попытки сохранить больше сигнала Y’UV при передаче изображений, например, через разъемы SCART (1977) и S-Video (1987).

Вместо Y’UV, Y’CbCr использовался в качестве стандартного формата для (цифровых) распространенных алгоритмов сжатия видео, таких как MPEG-2. Цифровое телевидение и DVD-диски сохраняют свои сжатые видеопотоки в формате MPEG-2, который использует полное цветовое пространство Y’CbCr, хотя и сохраняет установленный процесс субдискретизации цветности.В профессиональном цифровом видеоформате CCIR 601 также используется Y’CbCr с общей частотой субдискретизации цветности 4: 2: 2, в первую очередь для совместимости с предыдущими стандартами аналогового видео. Этот поток можно легко смешать с любым необходимым форматом вывода.

Y’UV не является абсолютным цветовым пространством. Это способ кодирования информации RGB, и фактический отображаемый цвет зависит от фактических красителей RGB, используемых для отображения сигнала. Следовательно, значение, выраженное как Y’UV, является предсказуемым, только если используются стандартные красители RGB (т.е.е. фиксированный набор основных цветностей или определенный набор красного, зеленого и синего).

Кроме того, диапазон цветов и яркости (известный как цветовая гамма) RGB (будь то BT.601 или Rec.709) намного меньше, чем диапазон цветов и яркости, разрешенный Y’UV. Это может быть очень важно при преобразовании из Y’UV (или Y’CbCr) в RGB, поскольку приведенные выше формулы могут давать «недопустимые» значения RGB, т. Е. Значения ниже 0% или намного выше 100% диапазона (например, вне стандартного диапазона яркости 16–235 (и диапазона цветности 16–240) для телевизоров и контента высокой четкости или за пределами диапазона 0–255 для стандартного разрешения на ПК). Если эти значения не обработаны, они обычно будут «обрезаны» (т. Е. Ограничены) до допустимого диапазона затрагиваемого канала. Это изменяет оттенок цвета, что очень нежелательно, поэтому часто считается, что лучше обесцветить оскорбительные цвета, чтобы они попадали в цветовую гамму RGB. Аналогично, когда RGB с заданной битовой глубиной преобразуется в YUV с той же битовой глубиной, несколько цветов RGB могут стать одним и тем же цветом Y’UV, что приведет к потере информации.

Связь с Y’CbCr
Y’UV часто используется как термин для YCbCr.Однако это совершенно разные форматы с разными масштабными коэффициентами.

Тем не менее, взаимосвязь между ними в стандартном случае проста. В частности, канал Y одинаков в обоих, и Cb, и U пропорциональны (B-Y), а Cr и V пропорциональны (R-Y).

Источник из Википедии

Yuv Значение | Лучшие 1 определения Yuv

Система кодирования цвета, используемая для аналогового телевидения во всем мире (NTSC, PAL и SECAM). Цветовое пространство YUV (цветовая модель) отличается от RGB, который фиксирует камера и видят люди.Когда в 1950-х годах были разработаны цветные сигналы, было решено разрешить черно-белым телевизорам продолжать принимать и декодировать монохромные сигналы, в то время как наборы цветов будут декодировать как монохромные, так и цветные сигналы. Сигналы яркости и разности цветов Y в YUV означает «яркость», которая означает яркость или яркость, а черно-белые телевизоры декодируют только Y-часть сигнала. U и V предоставляют информацию о цвете и являются сигналами цветового различия: синий минус яркость (B-Y) и красный минус яркость (R-Y).Посредством процесса, называемого «преобразованием цветового пространства», видеокамера преобразует данные RGB, захваченные ее датчиками, либо в композитные аналоговые сигналы (YUV), либо в компонентные версии (аналоговый YPbPr или цифровой YCbCr). Для визуализации на экране все эти цветовые пространства должны быть снова преобразованы в RGB с помощью телевизора или системы отображения. Математически эквивалентен RGB YUV также экономит полосу передачи по сравнению с RGB, потому что каналы цветности (B-Y и R-Y) несут только половину разрешения яркости.YUV — это не сжатый RGB; скорее, Y, B-Y и R-Y являются математическим эквивалентом RGB. См. Преобразование цветового пространства и формулы преобразования YUV / RGB. Композитное видео и S-video Исходный телевизионный стандарт объединил яркость (Y) и оба цветовых сигнала (B-Y, R-Y) в один канал, который использует один кабель и известен как «композитное видео». Опция, известная как «S-video» или «Y / C video», позволяет отделить яркость от цветовых сигналов, используя один кабель, но с отдельными проводами внутри. S-видео немного резче, чем композитное видео. Компонентное видео Когда яркость и каждый из цветовых сигналов (B-Y и R-Y) поддерживаются в отдельных каналах, это называется «компонентным видео», обозначаемым как YPbPr в аналоговой области и YCbCr в цифровом. Компонентное видео самое резкое из всех. Общий термин На практике YUV относится к системе кодирования цветовой разницы, составной или компонентной, а «YUV», «Y, B-Y, R-Y» и «YPbPr» взаимозаменяемы для аналоговых сигналов. Иногда «YCbCr», то есть цифровой, также используется взаимозаменяемо, что не помогает прояснить предмет.См. YPbPr, YCbCr, яркость, ITU-R BT.601, YIQ и субдискретизацию цветности.

О видео YUV — приложения Win32

  • 6 минут на чтение

В этой статье

Цифровое видео часто кодируется в формате YUV . В этой статье объясняются общие концепции видео YUV вместе с некоторой терминологией, не вдаваясь глубоко в математику обработки видео YUV.

Если вы работали с компьютерной графикой, вы, вероятно, знакомы с цветом RGB. Цвет RGB кодируется с использованием трех значений: красного, зеленого и синего. Эти значения непосредственно соответствуют участкам видимого спектра. Три значения RGB образуют математическую систему координат, которая называется цветовым пространством . Красный компонент определяет одну ось этой системы координат, синий определяет вторую, а зеленый определяет третью, как показано на следующем рисунке. Любой допустимый цвет RGB попадает где-то в это цветовое пространство.Например, чистый пурпурный цвет — это 100% синий, 100% красный и 0% зеленый.

Хотя RGB является обычным способом представления цветов, возможны и другие системы координат. Термин YUV относится к семейству цветовых пространств, все из которых кодируют информацию о яркости отдельно от информации о цвете. Как и RGB, YUV использует три значения для представления любого цвета. Эти значения называются Y ‘, U и V. (Фактически, такое использование термина «YUV» технически неточно. В компьютерном видео термин YUV почти всегда относится к одному конкретному цветовому пространству с именем Y’CbCr, которое обсуждается позже. .Однако YUV часто используется как общий термин для любого цветового пространства, которое работает по тем же принципам, что и Y’CbCr.)

Компонент Y ‘, также называемый яркостью , , представляет значение яркости цвета. Главный символ (‘) используется, чтобы отличить яркость от тесно связанного значения, яркости, , которое обозначается Y. Яркость выводится из линейных значений RGB, тогда как яркость выводится из нелинейных (с гамма-коррекцией ) Значения RGB. Яркость является более точным показателем истинной яркости, но яркость более практично использовать по техническим причинам.Главный символ часто опускается, но цветовые пространства YUV всегда используют яркость, а не яркость.

Яркость получается из цвета RGB путем усреднения красного, зеленого и синего компонентов. Для телевидения стандартной четкости используется следующая формула:

Y '= 0,299R + 0,587G + 0,114B

Эта формула отражает тот факт, что человеческий глаз более чувствителен к определенным длинам волн света, чем к другим, что влияет на воспринимаемую яркость цвета. Синий свет кажется самым тусклым, зеленый — самым ярким, а красный — где-то посередине. Эта формула также отражает физические характеристики люминофоров, используемых в ранних телевизорах. Для телевидения высокой четкости используется более новая формула, учитывающая современные телевизионные технологии:

Y '= 0,2125R + 0,7154G + 0,0721B

Уравнение яркости для телевидения стандартной четкости определено в спецификации ITU-R BT.601. Для телевидения высокой четкости соответствующая спецификация — ITU-R BT.709.

Компоненты U и V, также называемые значениями цветности или значениями цветового различия , получаются путем вычитания значения Y из красного и синего компонентов исходного цвета RGB:

U = B - Y '

V = R - Y '

Вместе эти значения содержат достаточно информации для восстановления исходного значения RGB.

Преимущества YUV

Аналоговое телевидение использует YUV частично по историческим причинам. Сигналы аналогового цветного телевидения были разработаны с учетом обратной совместимости с черно-белыми телевизорами. Сигнал цветного телевидения несет информацию о цветности (U и V), наложенную на сигнал яркости. Черно-белые телевизоры игнорируют цветность и отображают комбинированный сигнал как изображение в оттенках серого. (Сигнал разработан таким образом, чтобы цветность не оказывала существенного влияния на сигнал яркости.) Цветные телевизоры могут извлекать цветность и преобразовывать сигнал обратно в RGB.

У

YUV есть еще одно преимущество, которое сегодня более актуально.Человеческий глаз менее чувствителен к изменениям оттенка, чем к изменениям яркости. В результате изображение может иметь меньше информации о цветности, чем информация о яркости, без ущерба для воспринимаемого качества изображения. Например, обычно выполняется выборка значений цветности с половиной горизонтального разрешения выборок яркости. Другими словами, для каждых двух отсчетов яркости в строке пикселей есть один отсчет U и один отсчет V. Предполагая, что для кодирования каждого значения используется 8 бит, всего 4 байта необходимо для каждых двух пикселей (два Y ‘, один U и один V), ​​в среднем 16 бит на пиксель, или на 30% меньше, чем эквивалентное 24-битное кодирование RGB.

YUV по своей сути не более компактен, чем RGB. Если цветность не субдискретизирована, пиксель YUV имеет тот же размер, что и пиксель RGB. Кроме того, преобразование из RGB в YUV не происходит с потерями. Если нет понижающей дискретизации, пиксель YUV может быть преобразован обратно в RGB без потери информации. Пониженная дискретизация делает изображение YUV меньше, а также теряет часть информации о цвете. Однако при правильном выполнении потеря не будет значимой для восприятия.

YUV в компьютерном видео

Формулы, перечисленные ранее для YUV, не являются точными преобразованиями, используемыми в цифровом видео.В цифровом видео обычно используется форма YUV, называемая Y’CbCr. По сути, Y’CbCr работает путем масштабирования компонентов YUV до следующих диапазонов:

Компонент Диапазон
Y ‘ 16–235
Cb / Cr 16–240, где 128 означает ноль

Эти диапазоны предполагают 8-битную точность компонентов Y’CbCr. Вот точный вывод Y’CbCr с использованием BT.601 определение яркости:

  1. Начните со значений RGB в диапазоне [0 … 1]. Другими словами, чистый черный — это 0, а чистый белый — 1. Важно отметить, что это нелинейные (с гамма-коррекцией) значения RGB.

  2. Рассчитайте яркость. Для BT.601 Y ‘= 0,299R + 0,587G + 0,114B, как описано ранее.

  3. Вычислите промежуточные значения разности цветности (B — Y ‘) и (R — Y’). Эти значения имеют диапазон +/- 0,886 для (B — Y ‘) и +/- 0,701 для (R — Y’).

  4. Масштабируйте значения разности цветности следующим образом:

    Pb = (0,5 / (1 — 0,114)) × (B — Y ‘)

    Pr = (0,5 / (1 — 0,299)) × (R — Y ‘)

    Эти коэффициенты масштабирования предназначены для получения обоих значений в одном числовом диапазоне +/- 0,5. Вместе они определяют цветовое пространство YUV с именем Y’PbPr. Это цветовое пространство используется в аналоговом компонентном видео.

  5. Масштабируйте значения Y’PbPr, чтобы получить окончательные значения Y’CbCr:

    Y ‘= 16 + 219 × Y’

    Cb = 128 + 224 × Pb

    Cr = 128 + 224 × Pr

Эти последние коэффициенты масштабирования создают диапазон значений, перечисленных в предыдущей таблице. Конечно, вы можете конвертировать RGB напрямую в Y’CbCr без сохранения промежуточных результатов. Шаги перечислены здесь отдельно, чтобы показать, как Y’CbCr происходит из исходных уравнений YUV, приведенных в начале этой статьи.

В следующей таблице показаны значения RGB и YCbCr для различных цветов, опять же с использованием определения яркости BT.601.

Цвет R G В Y ‘ Cb Cr
Черный 0 0 0 16 128 128
Красный 255 0 0 81 90 240
зеленый 0 255 0 145 54 34
Синий 0 0 255 41 240 110
голубой 0 255 255 170 166 16
пурпурный 255 0 255 106 202 222
Желтый 255 255 0 210 16 146
Белый 255 255 255 235 128 128

Как видно из этой таблицы, Cb и Cr не соответствуют интуитивным представлениям о цвете. Например, чистый белый и чистый черный содержат нейтральные уровни Cb и Cr (128). Максимальное и минимальное значения Cb — синий и желтый соответственно. Для Cr самые высокие и самые низкие значения — красный и голубой.

Для получения дополнительной информации

Типы видео носителей

Типы носителей

(PDF) YUV и RGB — выбор цветового пространства для взаимодействия человека и машины

C.Популярность форматов

Было проведено пробное исследование для проверки популярности наиболее популярных форматов представления изображений.

Авторы изучили количество посещений веб-страниц, содержащих 41

самых популярных функций преобразования формата OpenCV (среди прочего:

cv_rgb2yuv (), cv_bgr2hsv ()). На рисунке 4 показано общее количество совпадений

(количество веб-страниц) для конкретных методов преобразования формата изображения

, разделенных на 4 группы: оттенки серого, RGB, YUV, HSV.

На рисунке 4 также показано среднее количество обращений (количество веб-страниц

, деленное на количество запрошенных имен методов преобразования).

Рис. 4. Популярность наиболее популярных цветовых представлений на основе

Google Hit count для 41 самой популярной функции преобразования формата OpenCV [6]

[собственная работа]

Рис.4 ясно показывает, что функция преобразования OpenCV —

вариантов для цветового пространства RGB имеют наибольшее количество

веб-страниц / ресурсов / запросов, в то время как цветовое пространство YUV составляет

, что в настоящее время гораздо менее популярно среди программистов OpenCV.

III. RES EA RC H IN CE NT IV ES AND EXPECTATIO NS

Один из авторов в [7] предположил, что пространство YUV color

может быть более похоже на человеческое зрение, чем на RGB.

Однако исследование [7] включало только краткое сравнение

цветовых пространств и обсуждение возможных различий сжатия

. Проблема была проанализирована в аспекте Machine Vision

, человеческий фактор / мнение не принималось во внимание.

В этой статье авторы решили исследовать, является ли

субъективной разницей качества реальной (т.е.е. если он также

видим / заметен для других людей) и провел обширные тесты

, чтобы выяснить, имеет ли YUV-представление изображения

лучшее качество восприятия, чем RGB. Оказалось, что

действительно люди заметили разницу в качестве.

Технически (и математически) сжатие изображений цветовых пространств RGB

(RGB24p) и (YUV888) должно дать сопоставимое качество

, в то время как в обоих из них есть три

байта, описывающие каждый отдельный пиксель.Однако детализация «черный

белый» оказывает большее влияние на изображение для человеческого глаза из-за своей довольно низкой цветовой чувствительности. Управление

с красным, зеленым или синим значением всегда дает заметно различное изображение

, в то время как преобразование изображения в цветовое пространство YUV

дает возможность обрабатывать сигналы яркости и

независимо друг от друга. Канал яркости

, безусловно, считается наиболее полезным для обработки изображений

в YUV, поэтому снижение качества сигнала цветности

может остаться незамеченным для человека.

Идея субдискретизации цветности ранее использовалась

для кодирования изображений в форматах YUV, например YUV422, но в каждом случае

качество выходного изображения было нацелено на человека-получателя.

Если изображение должно быть проанализировано системой машинного зрения,

цветовое пространство RGB в настоящее время считается наиболее

полезной формой визуальной информации. Это не обязательно

правда. Если предполагается, что робот работает и сосуществует с человеком на протяжении

, он должен «видеть» мир так, как мы — с

схожими неточностями.Порог и способность «не

распознавать» объект — это ключевой вопрос для обучения и лучшего понимания роботом

окружающей среды. [7]

Преобразование изображения RGB в цветовое пространство YUV — это

операция с потерями — это может быть причиной (согласно

[7]) сжатых файлов изображений YUV часто меньше, чем

сжатых файлов изображений RGB. Однако разница в размерах файлов

не кажется пропорциональной разнице в качестве изображений

.Трудно обсуждать изменение качества

, поскольку потеря качества обычно определяется как разница между

исходным изображением и сжатым изображением.

В этом случае YUV-представление изображения должно считаться

худшим (из-за дополнительной операции

с потерями — преобразование RGB-YUV). Если (после того же сжатия / преобразования

с потерями) представление RGB будет на

лучшего качества, чем YUV, было бы естественно попытаться снизить порог

для сжатия / преобразования YUV, чтобы улучшить его качество

( чтобы качество RGB и YUV стало

схожим).Удивительно, но качество представления RGB

оказалось не лучше, чем у YUV. Напротив,

казался худшим по качеству, чем YUV. Авторы назвали

субъективной разницей в качестве.

Чтобы подтвердить существование субъективной разницы в качестве

и оценить ее степень, было разработано простое тестовое приложение

. Краткое описание приложения, тестовых изображений

, процедуры тестирования и обсуждение результатов

включены в следующий раздел (Методология исследования).

A. Подготовка тестовых изображений

Авторы рассчитывали найти и оценить субъективную разницу в качестве

между изображениями RGB и YUV. Для обеспечения качества исследования

все изображения были обработаны

с использованием одинаковых алгоритмов и настроек. Базовая процедура подготовки изображения

, представленная на рисунке 5, состояла из следующих

шагов:

• выбор интересного изображения с репрезентативными, таким образом,

уникальных атрибутов изображения (контраст, качество, насыщенность,

краев, градиенты , так далее.) и удовлетворительным ppi (пикселей на дюйм)

,

• кадрирование изображения до 256×256 пикселей,

• сохранение изображения как bmp-файл в формате RGB 24bpp.

Оба изображения, видимые в форме приложения (рис.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *