YUV: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
минимальное значение яркости для 10-бит |
Обратные преобразования в общем виде |
||
Строка 10:
\end{align}</math>
Обратное преобразование в '''RGB'''
В таком виде компонента '''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''].▼
<math>\begin{align}
Для приведения к интервалу [−''A''/2, ''A''/2] компоненты '''U''' и '''V''' нормируют:▼
R &= Y + V \\
G &= Y - \frac{K_R \cdot V + K_B \cdot U}{1 - K_R - K_B} \\
B &= Y + U \\
\end{align}</math>
Обратное преобразование сохраняет диапазон изменения компонент '''[[RGB]]''', но диапазон компонент '''U''' и '''V''' меньше, что не удобно для кодирования и передачи сигнала / данных. Поэтому вводится нормировка.
===Нормировка YUV. Формат [[YPbPr]]===
▲
<math>\begin{align}
U &= \frac{1}{2} \cdot \frac{B - Y}{1 - K_B} \\
V &= \frac{1}{2} \cdot \frac{R - Y}{1 - K_R} \\
\end{align}</math>
Обратное преобразование в '''RGB'''
<math>\begin{align}
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} \\
B &= Y + 2 \cdot U \cdot (1 - K_B) \\
\end{align}</math>
Этот способ представления компонент используется для аналогового формата [[YPbPr]].
===Цифровое представление YUV. Формат [[YCbCr]]===
====Кодирование====
Цифровое представление '''YUV''' - это формат [[YCbCr]]. В основном, для цифрового формата данных используются целые неотрицательные числа степени 2. Чаще 8-бит, 10-бит и так далее. Поскольку, '''U''' и '''V''' могут быть отрицательными, то для них вводят смещение - половина от уровней квантования (кодирования). Также для прореживания менее информативных компонент применяют пространственное кодирование, например '''YUYV''' или '''YUV422'''.
====Коэффициенты ''K''<sub>R</sub> ''K''<sub>B</sub>====
В рекомендации [[https://en.wikipedia.org/wiki/Rec._601 BT.601]] определены следующие значения для ''K''<sub>R</sub> и ''K''<sub>B</sub>:
Строка 28 ⟶ 53 :
\end{align}</math>
Эти же значения используются для преобразования цветового пространства в [[YPbPr]] и [[JPEG]] (JFIF) [[https://www.itu.int/rec/T-REC-T.871-201105-I ITU T-REC-T.871]].
<math>\begin{align}
Строка 37 ⟶ 62 :
\end{align}</math>
B рекомендации [[https://en.wikipedia.org/wiki/Rec._2020 BT.2020]]
В рекомендациях BT.601 и BT.709 определены преобразования для представления '''YUV''' в цифровой форме [[YCbCr]], основное отличие которых от T-REC-T.871 в том, что диапазоны изменения компонент меньше чем доступный для данной разрядности данных: для '''Y''' это 220 (8-бит) или 877 (10-бит) и минимальное значение 16 (64), а для '''U''' и '''V''' — 225 (8-бит) или 897 (10-бит) и ноль соответствует значению 128 (512).▼
<math>\begin{align}
K_R &= 0.2627 \\
K_B &= 0.0593 \\
\end{align}</math>
При этом для сохранения постоянства яркости учитывают нелинейное соответствие '''RGB''' и яркости и вводят различные множители для отрицательных и положительных значений '''U''' и '''V'''. В традиционном варианте, с непостоянной яркостью, множители - постоянные величины.
====Кодирование '''YUV''' в [[JPEG]] (T-REC-T.871)====
В рекомендации T-REC-T.871 определены преобразования для представления '''YUV''' в цифровой форме [[YCbCr]]:
<math>\begin{align}
Строка 47 ⟶ 80 :
\end{align}</math>
По сути, с учётом смещения нуля это преобразование аналогично [[YPbPr]] - все компоненты занимают полный диапазон доступный для данной разрядности данных.
Обратное преобразование в '''RGB''':
<math>\begin{align}
Строка 55 ⟶ 90 :
\end{align}</math>
При этом каждую вычисленную компоненту следует привести к [0,255] - отсечь.
====Кодирование '''YUV''' телевизионных стандартах====
Преобразование в [[RGB]] из BT.601 [[YCbCr]] осуществляется по следующим формулам:▼
▲
<center><math>\begin{align}
\end{align}</math></center>
Обратное преобразование для BT.601 в [[RGB]] [[YCbCr]] из RGB осуществляется по следующим формулам:▼
▲Обратное преобразование для BT.601 [[YCbCr]] из RGB осуществляется по следующим формулам:
<center><math>\begin{align}
\end{align}</math></center>
где R, G, B — соответственно, ''цифровое представление'' интенсивности цветов красного, зеленого и синего; Y — яркостная составляющая; U и V — цветоразностные составляющие. По BT.601 и BT.709 ''цифровое представление'' интенсивности цветов означает, что исходную величину интенсивности, пошедшую предварительную гамма-коррекцию и находящуюся в диапазоне [0,1], следует
Модель широко применяется в телевещании и хранении/обработке видеоданных. Яркостная компонента содержит «черно-белое» (в оттенках серого) изображение, а оставшиеся две компоненты содержат информацию для восстановления требуемого цвета.
Строка 81 ⟶ 119 :
В цветовом пространстве YUV есть один компонент, который представляет яркость (сигнал яркости), и два других компонента, которые представляют цвет (сигнал цветности). В то время как яркость передается со всеми деталями, некоторые детали в компонентах цветоразностного сигнала, лишённого информации о яркости, могут быть удалены путём понижения разрешения отсчетов (фильтрация или усреднение), что может быть сделано несколькими способами (то есть много форматов для сохранения изображения в цветовом пространстве YUV).
YUV часто путают с цветовым пространством [[YCbCr]], и, как правило, термины YCbCr и YUV используются как взаимозаменяемые, что приводит к
== См. также ==
|