YUV

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Фотография и её YUV-компоненты.

YUV — цветовая модель, в которой цвет состоит из трёх компонент — яркость (Y) и две цветоразностных компоненты (U и V).

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

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

Обратное преобразование сохраняет диапазон изменения компонент RGB, но диапазон изменения компонент U и V больше, чем у Y, что не удобно для кодирования и передачи сигнала / данных. Поэтому вводится нормировка.

Нормировка YUV. Формат YPbPr[править | править код]

По определению, компонента U изменяется в интервале [−(1 — KB) A, (1 — KB) A), а V в интервале [−(1 — KR) A, (1 — KR) A), если принять, что компоненты RGB изменяются в диапазоне [0, A).

Для приведения к интервалу [−A/2, A/2) компоненты U и V нормируют:

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

Этот способ представления компонент используется для аналогового формата YPbPr.

Цифровое представление YUV. Формат YCbCr[править | править код]

Цифровое представление YUV - это формат YCbCr. В основном, для цифрового формата данных используются целые неотрицательные числа степени 2. Чаще 8-бит, 10-бит и так далее. Поскольку, U и V могут быть отрицательными, то для них вводят смещение - половина от уровней квантования (кодирования). Также для прореживания менее информативных компонент применяют пространственное кодирование, например YUYV или YUV422.

YCbCr или YCrCb?[править | править код]

В рекомендации BT.601 чаще встречается последовательность Cr, Cb - в тексте, формулах, но в Приложение 2 BT.601 уже Cb, Cr. В последующих рекомендациях той же группы последовательность Cb, Cr - сохраняется. Хотя эти рекомендации не регламентируют последовательность записи Cb, Cr в адресном пространстве, казус в очерёдности (Cr, Cb) был принят и воплощён например в OpenCV[1] что затронуло не только названия параметров, но и очерёдность в адресном пространстве.

Тем не менее, T-REC-T.871 строго задаёт последовательность - Cb, Cr: "If three components are used, they shall be present in the image with the ordering of the components such that the first component is the Y channel, the second component is the CB channel, and the third component is the CR channel."

Коэффициенты KR KB[править | править код]

В рекомендации BT.601 определены следующие значения для KR и KB:

Эти же значения используются для преобразования цветового пространства в YPbPr и JPEG (JFIF) ITU T-REC-T.871.

По рекомендации BT.709 определены значения KR и KB:

B рекомендации BT.2020

При этом для сохранения постоянства яркости учитывают нелинейное соответствие RGB и яркости и вводят различные множители для отрицательных и положительных значений U и V. В традиционном варианте, с непостоянной яркостью, множители - постоянные величины.

Кодирование YUV в JPEG (T-REC-T.871)[править | править код]

В рекомендации T-REC-T.871 определены преобразования для представления YUV в цифровой форме YCbCr:

По сути, с учётом смещения нуля это преобразование аналогично YPbPr - все компоненты занимают полный диапазон доступный для данной разрядности данных.

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

При этом каждую вычисленную компоненту следует привести к [0,255] - отсечь.

Кодирование YUV телевизионных стандартах[править | править код]

Преобразования в рекомендациях BT.601, BT.709, BT.2020 так же относятся к представлению YUV цифровой форме YCbCr, основное отличие которых от T-REC-T.871 в том, что диапазоны изменения компонент меньше, чем доступный для данной разрядности данных: для Y это 220 (8-бит) или 877 (10-бит) и минимальное значение 16 (8-бит) или 64 (10-бит), а для U и V — 225 (8-бит) или 897 (10-бит) и ноль соответствует значению 128 (8-бит) или 512 (10-бит). Это сделано для того, чтобы использовать крайние значения (0 и 255 (8-бит)) для передачи данных синхронизации.

Преобразование для BT.601 YCbCr осуществляется по следующим формулам:

Обратное преобразование для BT.601 в RGB YCbCr из RGB осуществляется по следующим формулам:

где R, G, B — соответственно, цифровое представление интенсивности цветов красного, зеленого и синего; Y — яркостная составляющая; U и V — цветоразностные составляющие. По BT.601 и BT.709 цифровое представление интенсивности цветов означает, что исходную величину интенсивности, прошедшую предварительную гамма-коррекцию и находящуюся в диапазоне [0,1], следует умножить на 219 и прибавить 16, например {R = 219 R' + 16}.


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

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

YUV часто путают с цветовым пространством YCbCr, и, как правило, термины YCbCr и YUV используются как взаимозаменяемые, что приводит к дополнительной путанице. Когда речь идет о видео или сигналах в цифровой форме, особенно в контексте телевизионного вещания, термин «YUV» в основном означает «Y’CbCr» в терминах одной из рекомендаций BT.601, BT.709, BT.2020. Если говорят о JPEG или MPEG или в контексте обработки изображений, то имеют ввиду T-REC-T.871 YCbCr.

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

Ссылки[править | править код]