139
передаваемых цветовых данных и уменьшить время, необходимое на
проведение цветовых преобразований.
Преобразование из вещественных координат цвета в пространстве
XYZ в целочисленные координаты цвета (обычный
способ задания
цветов изображения) в пространстве sRGB происходит в несколько
этапов. На первом этапе вычисляются вещественные координаты цвета
в пространстве sRGB с помощью следующей матрицы:
−
−
−
−
=
Z
Y
X
B
G
R
sRGB
sRGB
sRGB
0570
1
2040
0
0556
0
0416
0
8760
1
9692
0
4986
0
5374
1
2410
3
.
.
.
.
.
.
.
.
.
Значения, не попадающие в отрезок [0, 1], устанавливаются соот-
ветственно либо в 0, либо в 1. Затем эти вещественные координаты
цвета преобразуются в нелинейные следующими соотношениями:
R
’
sRGB
= 12.92 R
sRGB
, G
’
sRGB
= 12.92 G
sRGB
, B
’
sRGB
= 12.92 B
sRGB
, если
R
’
sRGB
, G
’
sRGB
, B
’
sRGB
≤ 0.00304 и R
’
sRGB
= 1.055 R
sRGB
(1.0/2.4)
– 0.055,
G
’
sRGB
= 1.055 G
sRGB
(1.0/2.4)
– 0.055,
B
’
sRGB
= 1.055 B
sRGB
!(1.0/2.4)
– 0.055,
если R
’
sRGB
, G
’
sRGB
, B
’
sRGB
> 0.00304. Эти соотношения аппроксимируют
функцию гамма-коррекции с показателем степени 2.2. Это сделано для
облегчения построения в дальнейшем обратного преобразования.
Спецификация sRGB объясняет причины выбора такого показателя
степени [3]. После этого нелинейные вещественные значения sR
’
G
’
B
’
преобразуются в целочисленные, которыми обычно задается цвет в
компьютерных системах: R
8bit
= ((WDC – KDC) R
’
sRGB
) + KDC, G
8bit
=
((WDC – KDC) G
’
sRGB
) + KDC, B
8bit
= ((WDC – KDC) B
’
sRGB
) + KDC, где
WDC
– двоичный уровень белого (White Digital Count), а BDC
–
двоичный уровень черного (Black Digital Count). Текущая
спецификация sRGB предлагает использовать соответственно значе-
ния 255 и 0 в качестве этих параметров при кодировании цвета изо-
бражения 24 битным числом. Тогда финальное преобразование будет
иметь вид: R
8bit
= 255.0 R
’
sRGB
, G
8bit
= 255.0 G
’
sRGB
, B
8bit
= 255.0 B
’
sRGB
.
Достарыңызбен бөлісу: