YUV — Википедия


YUV — цветовая модель, в которой цвет состоит из трёх компонентов — яркость (luminosity) и два цветоразностных компонента и (chrominosity).
Компоненты YUV определены на основе компонент RGB следующим образом:
Обратное преобразование в RGB:
Обратное преобразование сохраняет диапазон изменения компонент RGB, но диапазон изменения компонент и больше, чем у , что неудобно для кодирования и передачи сигнала. Поэтому вводится нормировка.
Нормировка YUV. Формат YPbPr
[править | править код]Если принять, что компоненты RGB изменяются в диапазоне , тогда, по определению, компонента изменяется в интервале , а — в интервале .
Для приведения к интервалу компоненты и нормируют:
Обратное преобразование в RGB:
Этот способ представления компонент используется для аналогового формата YPbPr.
Цифровое представление YUV. Формат YCbCr
[править | править код]Цифровое представление YUV — это формат YCbCr. В основном, для цифрового формата данных используются целые неотрицательные числа из диапазонов размера степени двойки. Чаще — 8, 10 бит и так далее. Поскольку и могут быть отрицательными, то для них вводят смещение — половина от уровней квантования (кодирования). Также для прореживания менее информативных компонент применяют пространственное кодирование, например YUYV или YUV422.
- YCbCr или YCrCb?
В рекомендации BT.601 чаще встречается последовательность Cr, Cb — в тексте, формулах, но в Приложении 2 BT.601 — уже Cb, Cr. В последующих рекомендациях той же группы последовательность Cb, Cr сохраняется. Хотя эти рекомендации не регламентируют последовательность записи Cb, Cr в адресном пространстве, казус в очерёдности был принят и воплощён, например, в 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 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)[2].
По рекомендации BT.709 определены значения KR и KB:
B рекомендации BT.2020
При этом для сохранения постоянства яркости учитывают нелинейное соответствие RGB и яркости и вводят различные множители для отрицательных и положительных значений U и V. В традиционном варианте, с непостоянной яркостью, множители — постоянные величины.
Кодирование
[править | править код]- YUV в JPEG (T-REC-T.871)
В рекомендации T-REC-T.871 определены преобразования для представления YUV в цифровой форме YCbCr:
По сути, с учётом смещения нуля это преобразование аналогично YPbPr — все компоненты занимают полный диапазон, доступный для данной разрядности данных.
Обратное преобразование в RG':
При этом каждую вычисленную компоненту следует привести к [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.
См. также
[править | править код]Примечания
[править | править код]- ↑ Функция cv::cvtColor с параметром CV_YCrCb2BGR Архивная копия от 22 ноября 2021 на Wayback Machine
- ↑ ITU T-REC-T.871 T.871 : Information technology - Digital compression and coding of continuous-tone still images: JPEG File Interchange Format (JFIF) . Дата обращения: 24 мая 2018. Архивировано 25 мая 2018 года.
Ссылки
[править | править код]- Color Spaces
- ITU T-REC-T.871-201105
- ITU R-REC-BT.601-7-201103
- ITU R-REC-BT.709-6-201506
- ITU R-REC-BT.2020-2-201510
- ITU R-REC-BT.2100-1-201706
- Варианты упаковки значений YUV (англ.)
![]() | В статье не хватает ссылок на источники (см. рекомендации по поиску). |