YUV: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8.7
 
(не показаны 4 промежуточные версии 4 участников)
Строка 1: Строка 1:
[[File:YUV UV plane.svg|thumb|300px|Цветовая плоскость U-V (при Y=0.5), представленная в цветовой гамме RGB]]
[[Файл:YUV UV plane.svg|thumb|300px|Цветовая плоскость U—V (при Y=0,5), представленная в цветовой гамме RGB]]
[[Файл:Barn-yuv.png|right|thumb|150px|Фотография и её YUV-компоненты.]]
[[Файл:Barn-yuv.png|right|thumb|150px|Фотография и её YUV-компоненты]]
'''YUV''' — [[цветовая модель]], в которой цвет состоит из трёх компонентов — яркость (Y) и два цветоразностных компонента (U и V).
'''YUV''' — [[цветовая модель]], в которой цвет состоит из трёх компонентов — яркость Y (Luma) и два цветоразностных компонента UV (Chroma).


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


<math>\begin{align}
<center><math>\begin{align}
Y &= K_R \cdot R + ( 1 - K_R - K_B) \cdot G + K_B \cdot B \\
Y &= K_R \cdot R + ( 1 - K_R - K_B) \cdot G + K_B \cdot B \\
U &= B - Y \\
U &= B - Y \\
V &= R - Y \\
V &= R - Y \\
\end{align}</math>
\end{align}</math></center>


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


<math>\begin{align}
<center><math>\begin{align}
R &= Y + V \\
R &= Y + V \\
G &= Y - \frac{K_R \cdot V + K_B \cdot U}{1 - K_R - K_B} \\
G &= Y - \frac{K_R \cdot V + K_B \cdot U}{1 - K_R - K_B} \\
B &= Y + U \\
B &= Y + U \\
\end{align}</math>
\end{align}</math></center>


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


=== Нормировка YUV. Формат [[YPbPr]] ===
== Нормировка YUV; формат [[YPbPr]] ==
Если принять, что компоненты '''[[RGB]]''' изменяются в диапазоне [0, ''A''), тогда, по определению, компонента '''U''' изменяется в интервале [−(1 — ''K''<sub>B</sub>) ''A'', (1 — ''K''<sub>B</sub>) ''A''), а '''V''' в интервале [−(1 — ''K''<sub>R</sub>) ''A'', (1 — ''K''<sub>R</sub>) ''A'').
Если принять, что компоненты RGB изменяются в диапазоне [0, A), тогда, по определению, компонента U изменяется в интервале [−(1 — K<sub>B</sub>) A, (1 — K<sub>B</sub>) A), а V в интервале [−(1 — K<sub>R</sub>) A, (1 — K<sub>R</sub>) A).


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


<math>\begin{align}
<center><math>\begin{align}
U &= \frac{1}{2} \cdot \frac{B - Y}{1 - K_B} \\
U &= \frac{1}{2} \cdot \frac{B - Y}{1 - K_B} \\
V &= \frac{1}{2} \cdot \frac{R - Y}{1 - K_R} \\
V &= \frac{1}{2} \cdot \frac{R - Y}{1 - K_R} \\
\end{align}</math>
\end{align}</math></center>


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


<math>\begin{align}
<center><math>\begin{align}
R &= Y + 2 \cdot V \cdot (1 - K_R) \\
R &= Y + 2 \cdot V \cdot (1 - K_R) \\
G &= Y - \frac{2 K_R \cdot V \cdot (1 - K_R) + 2 K_B \cdot U \cdot (1 - K_B)}{1 - K_R - K_B} \\
G &= Y - \frac{2 K_R \cdot V \cdot (1 - K_R) + 2 K_B \cdot U \cdot (1 - K_B)}{1 - K_R - K_B} \\
B &= Y + 2 \cdot U \cdot (1 - K_B) \\
B &= Y + 2 \cdot U \cdot (1 - K_B) \\
\end{align}</math>
\end{align}</math></center>


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


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


===== YCbCr или YCrCb? =====
;YCbCr или YCrCb?
В рекомендации BT.601 ''чаще'' встречается последовательность Cr, Cb - в тексте, формулах, но в Приложении 2 BT.601 - уже Cb, Cr. В последующих рекомендациях той же группы последовательность Cb, Cr сохраняется. Хотя эти рекомендации не регламентируют последовательность записи Cb, Cr в адресном пространстве, казус в очерёдности (Cr, Cb) был принят и воплощён, например, в [[OpenCV]]<ref>Функция [https://docs.opencv.org/3.4.1/df/d4e/group__imgproc__c.html#gga7ee8d0f117a79ca7eb1e0076a9182bcbafb02fdbcb86a95df995f251025f42e73 cv::cvtColor с параметром CV_YCrCb2BGR] {{Wayback|url=https://docs.opencv.org/3.4.1/df/d4e/group__imgproc__c.html#gga7ee8d0f117a79ca7eb1e0076a9182bcbafb02fdbcb86a95df995f251025f42e73 |date=20211122025812 }}</ref>, что затронуло не только названия параметров, но и очерёдность в адресном пространстве.
В рекомендации BT.601 чаще встречается последовательность Cr, Cb — в тексте, формулах, но в Приложении 2 BT.601 — уже Cb, Cr. В последующих рекомендациях той же группы последовательность Cb, Cr сохраняется. Хотя эти рекомендации не регламентируют последовательность записи Cb, Cr в адресном пространстве, казус в очерёдности (Cr, Cb) был принят и воплощён, например, в [[OpenCV]]<ref>Функция [https://docs.opencv.org/3.4.1/df/d4e/group__imgproc__c.html#gga7ee8d0f117a79ca7eb1e0076a9182bcbafb02fdbcb86a95df995f251025f42e73 cv::cvtColor с параметром CV_YCrCb2BGR] {{Wayback|url=https://docs.opencv.org/3.4.1/df/d4e/group__imgproc__c.html#gga7ee8d0f117a79ca7eb1e0076a9182bcbafb02fdbcb86a95df995f251025f42e73 |date=20211122025812 }}</ref>, что затронуло не только названия параметров, но и очерёдность в адресном пространстве.


Тем не менее 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
Тем не менее 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 ''C<sub>B</sub>'' channel, and the third component is the ''C<sub>R</sub>'' channel».
component is the Y channel, the second component is the ''C<sub>B</sub>'' channel, and the third component is the ''C<sub>R</sub>'' channel."


==== Коэффициенты ''K''<sub>R</sub> ''K''<sub>B</sub> ====
== Коэффициенты K<sub>R</sub> K<sub>B</sub> ==
В рекомендации [[:en:Rec. 601|BT.601]] определены следующие значения для ''K''<sub>R</sub> и ''K''<sub>B</sub>:
В рекомендации [[:en:Rec. 601|BT.601]] определены следующие значения для K<sub>R</sub> и K<sub>B</sub>:


<math>\begin{align}
<center><math>\begin{align}
K_R &= 0.299 \\
K_R &= 0.299 \\
K_B &= 0.114 \\
K_B &= 0.114 \\
\end{align}</math>
\end{align}</math></center>


Эти же значения используются для преобразования цветового пространства в [[YPbPr]] и [[JPEG]] (JFIF) [https://www.itu.int/rec/T-REC-T.871-201105-I ITU T-REC-T.871].
Эти же значения используются для преобразования цветового пространства в YPbPr и [[JPEG]] (JFIF)<ref>{{Cite web |url=https://www.itu.int/rec/T-REC-T.871-201105-I |title=ITU T-REC-T.871 T.871 : Information technology - Digital compression and coding of continuous-tone still images: JPEG File Interchange Format (JFIF) |access-date=2018-05-24 |archive-date=2018-05-25 |archive-url=https://web.archive.org/web/20180525063620/https://www.itu.int/rec/T-REC-T.871-201105-I |deadlink=no }}</ref>.


По рекомендации [[:en:Rec. 709|BT.709]] определены значения ''K''<sub>R</sub> и ''K''<sub>B</sub>:
По рекомендации [[:en:Rec. 709|BT.709]] определены значения K<sub>R</sub> и K<sub>B</sub>:


<math>\begin{align}
<center><math>\begin{align}
K_R &= 0.2126 \\
K_R &= 0.2126 \\
K_B &= 0.0722 \\
K_B &= 0.0722 \\
\end{align}</math>
\end{align}</math></center>


B рекомендации [[:en:Rec. 2020|BT.2020]]
B рекомендации [[:en:Rec. 2020|BT.2020]]


<math>\begin{align}
<center><math>\begin{align}
K_R &= 0.2627 \\
K_R &= 0.2627 \\
K_B &= 0.0593 \\
K_B &= 0.0593 \\
\end{align}</math>
\end{align}</math></center>


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


==== Кодирование YUV в [[JPEG]] (T-REC-T.871) ====
== Кодирование ==
;YUV в JPEG (T-REC-T.871)
В рекомендации T-REC-T.871 определены преобразования для представления '''YUV''' в цифровой форме [[YCbCr]]:
В рекомендации T-REC-T.871 определены преобразования для представления YUV в цифровой форме YCbCr:


<math>\begin{align}
<center><math>\begin{align}
Y &= 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B \\
Y &= 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B \\
C_B &= \frac{1}{2} \cdot \frac{B - Y}{1 - 0.114} + 128 \approx -0.1687 \cdot R - 0.3313 \cdot G + 0.5 \cdot B + 128 \\
C_B &= \frac{1}{2} \cdot \frac{B - Y}{1 - 0.114} + 128 \approx -0.1687 \cdot R - 0.3313 \cdot G + 0.5 \cdot B + 128 \\
C_R &= \frac{1}{2} \cdot \frac{R - Y}{1 - 0.299} + 128 \approx 0.5 \cdot R - 0.4187 \cdot G - 0.0813 \cdot B + 128 \\
C_R &= \frac{1}{2} \cdot \frac{R - Y}{1 - 0.299} + 128 \approx 0.5 \cdot R - 0.4187 \cdot G - 0.0813 \cdot B + 128 \\
\end{align}</math>
\end{align}</math></center>


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


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


<math>\begin{align}
<center><math>\begin{align}
R &= Y + 1.402 \cdot (C_R - 128) \\
R &= Y + 1.402 \cdot (C_R - 128) \\
G &= Y - (0.114 \cdot 1.772 \cdot (C_B - 128) + 0.299 \cdot 1.402 \cdot (C_R - 128)) / 0.587 \approx Y - 0.3441 \cdot (C_B - 128) - 0.7141 \cdot (C_R - 128)\\
G &= Y - (0.114 \cdot 1.772 \cdot (C_B - 128) + 0.299 \cdot 1.402 \cdot (C_R - 128)) / 0.587 \approx Y - 0.3441 \cdot (C_B - 128) - 0.7141 \cdot (C_R - 128)\\
B &= Y + 1.772 \cdot (C_B - 128) \\
B &= Y + 1.772 \cdot (C_B - 128) \\
\end{align}</math>
\end{align}</math></center>


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


==== Кодирование YUV в телевизионных стандартах ====
;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, 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 YCbCr осуществляется по следующим формулам:


<center><math>\begin{align}
<center><math>\begin{align}
Строка 108: Строка 108:
\end{align}</math></center>
\end{align}</math></center>


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


<center><math>\begin{align}
<center><math>\begin{align}
Строка 116: Строка 116:
\end{align}</math></center>
\end{align}</math></center>


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


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

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


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


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


== См. также ==
== См. также ==
* [[Цветовая субдискретизация]]
* [[Цветовая субдискретизация]]
* [[YPbPr]]


== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}


== Литература ==
== Ссылки ==
* [http://compression.ru/download/articles/color_space/ch03.pdf Color Spaces]
* [http://compression.ru/download/articles/color_space/ch03.pdf Color Spaces]
* [https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.871-201105-I!!PDF-E&type=items ITU T-REC-T.871-201105]
* [https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.871-201105-I!!PDF-E&type=items ITU T-REC-T.871-201105]
Строка 140: Строка 137:
* [https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2020-2-201510-I!!PDF-R.pdf ITU R-REC-BT.2020-2-201510]
* [https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2020-2-201510-I!!PDF-R.pdf ITU R-REC-BT.2020-2-201510]
* [https://web.archive.org/web/20180525205643/https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2100-1-201706-I!!PDF-R.pdf ITU R-REC-BT.2100-1-201706]
* [https://web.archive.org/web/20180525205643/https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2100-1-201706-I!!PDF-R.pdf ITU R-REC-BT.2100-1-201706]

== Ссылки ==
* [http://www.fourcc.org/yuv.php Варианты упаковки значений YUV]{{ref-en}}
* [http://www.fourcc.org/yuv.php Варианты упаковки значений YUV]{{ref-en}}



Текущая версия от 21:23, 17 июня 2024

Цветовая плоскость U—V (при Y=0,5), представленная в цветовой гамме RGB
Фотография и её YUV-компоненты

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

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

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

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

Нормировка YUV; формат YPbPr

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

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

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

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

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

Цифровое представление YUV; формат YCbCr

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

Цифровое представление YUV — это формат YCbCr. В основном, для цифрового формата данных используются целые неотрицательные числа из диапазонов размера степени двойки. Чаще — 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)[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.

Примечания

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