Цветовая система YUV

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 был изобретен, когда инженеры хотели цветного телевидения в черно-белой инфраструктуре. Они нуждались в методе передачи сигнала, который был совместим с черно-белым (Ч / Б) телевизором, будучи в состоянии добавить цвет. Компонент яркости уже существовал как черно-белый сигнал; они добавили УФ-сигнал к этому в качестве решения.

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

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

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


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


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

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


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


HDTV с BT.709

Для HDTV ATSC решила изменить основные значения WR и WB по сравнению с ранее выбранными значениями в системе SDTV. Для HDTV эти значения представлены Rec. 709. Это решение также повлияло на матрицу преобразования Y’UV↔RGB, так что ее значения элементов также немного отличаются.В результате, с SDTV и HDTV, как правило, возможны два разных представления Y’UV для любой тройки RGB: SDTV-YUV и HDTV-YUV. Это подробно означает, что при прямом преобразовании между 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. (Эти диапазоны важны для редактирования и производства видео, поскольку использование неправильного диапазона приведет либо к изображению с «обрезанными» черными и белыми, либо с низким контрастным изображением.)

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

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


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


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. Это может быть очень важно при преобразовании из YUU (или Y’CbCr) в RGB, поскольку приведенные выше формулы могут создавать «недопустимые» значения RGB, т. Е. Значения ниже 0% или намного выше 100% диапазона (например, вне стандартного диапазона яркости 16-235 (и диапазона 16-240 цветов) для телевизоров и контента HD или вне 0-255 для стандартного определения на ПК). Если эти значения не будут рассмотрены, они обычно будут «обрезаны» (т.е. ограничены) до допустимого диапазона затронутого канала. Это изменяет оттенок цвета, что очень нежелательно, поэтому поэтому часто считают, что лучше обесцветить окрашивающие цвета, чтобы они попадали в гамму RGB. Аналогично, когда RGB с заданной глубиной бит преобразуется в YUV с одинаковой глубиной бит, несколько цветов RGB могут стать тем же цветом Y’UV, что приведет к потере информации.

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

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