RGB->YUV | YUV->RGB |
Y = 0.299R + 0,5870 + 0,114В | R = Y+ 1,134V |
U = 0,434В - 0.146R - 0,2880 | G = Y- 0,578V -0,396U |
V = 0.617R - 0,5170 - 0,100В | В = Y + 2.045U |
Простой визуальный анализ показывает, что наибольший вклад в значение компоненты Y вносит зеленый цвет, к которому наиболее чувствителен глаз человека. В значение компоненты и основной вклад вносит синий цвет, а компоненты v — красный. Точкам серого цвета, у которых R=G=B=k соответствуют Y=k,U=V=0. Таким образом, компонента Y соответствует яркости точек серого цвета.
Значения u и v могут быть отрицательными величинами, поэтому в некоторых случаях к ним добавляют такую постоянную величину, при которой результаты будут только положительными числами, и учитывают эту величину при обратном преобразовании.
Замечание 1
Замечание 1
В группу прерывания int lOh входит функция, имеющая код lOlBh. Она преобразует цвета R,G,B в оттенки серого по формуле Y = 0,299R + 0,587G + 0,114В.
В описании стандарта VESA перечислено 8 кодов моделей видеопамяти. Как уже говорилось в главе 1 (см. раздел ), на практике используются только 4 из них. К числу названных, но не используемых относится и модель YUV. Причем отсутствуют даже намеки на ее возможные характеристики. Это объясняется тем, что в простых видеокартах она не применяется. Зато современные акселераторы, как правило, выполняют преобразования, описанные в табл. 7.6. Они применяются, например, в тех случаях, когда при построении трехмерных графических объектов светимость точек зависит от расстояния до источника света, а цвет при этом не изменяется.
При использовании способа JPEG преобразование RGB -> YUV предшествует сжатию графического изображения, а обратное преобразование выполняется после его распаковки. Покажем, что это дает на двух примерах.
Предположим, что рисунок содержит N точек и занимает в памяти зы байтов. Если в нем использованы только различные оттенки серого цвета, в пространстве YUV останется только одна компонента Y, а и и v будут содержать нули. То есть еще до сжатия занимаемое изображением пространство сокращается в три раза.
Другой пример, можно усреднить цвета четырех смежных точек, расположенных в квадрате размером 2x2 точки, оставив без изменения их светимость. При этом размеры компонент и и v сократятся в 4 раза, а пространство, занимаемое всем рисунком, сократится в 2 раза. В зависимости от степени различия усредняемых цветов, воспроизведенный рисунок будет несколько отличаться от оригинала. Если оригинал не содержал контрастных точек, то это различие окажется незаметным для человеческого глаза.
Таким образом, пространство цвета YUV позволяет решать те задачи, решение которых при работе с пространством RGB было невозможно.