sRGB

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Спектр цветов sRGB среди общего спектра доступных человеческому глазу цветов очерчен треугольником

sRGB является стандартом представления цветового спектра с использованием модели RGB. sRGB создан совместно компаниями HP и Microsoft в 1996 году для унификации использования модели RGB в мониторах, принтерах и Интернет-сайтах[1].

sRGB использует основные цвета, описанные стандартом BT.709, аналогично студийным мониторам и HD-телевидению, а также гамма-коррекцию, аналогично мониторам с электронно-лучевой трубкой. Такая спецификация позволила sRGB в точности отображаться на обычных CRT-мониторах и телевизорах, что стало в своё время основным фактором, повлиявшим на принятие sRGB в качестве стандарта[2].

В отличие от большинства других цветовых пространств RGB, гамма в sRGB не может быть выражена одним числовым значением, так как функция коррекции состоит из линейной части около чёрного цвета, где гамма равна 1.0, и нелинейной части до значения 2.4 включительно. Приблизительно можно считать, что гамма равна 2.2. Гамма может изменяться от 1.0 до 2.3[3].

Техническое описание стандарта[править | править исходный текст]

Для перевода линейных значений из пространства XYZ в sRGB используется следующая матрица:


\begin{bmatrix}
R_\mathrm{linear}\\G_\mathrm{linear}\\B_\mathrm{linear}\end{bmatrix}=
\begin{bmatrix}
3.2406&-1.5372&-0.4986\\
-0.9689&1.8758&0.0415\\
0.0557&-0.2040&1.0570
\end{bmatrix}
\begin{bmatrix}
X \\ 
Y \\ 
Z \end{bmatrix}

Здесь R_\mathrm{linear}, G_\mathrm{linear} и B_\mathrm{linear} определены в диапазоне [0,1]. Координаты белой точки, таким образом, составляют (X,Y,Z = 0.9505, 1.0000, 1.0890).

Далее, для каждого из значений R_\mathrm{linear}, G_\mathrm{linear} и B_\mathrm{linear} используется формула

C_\mathrm{srgb}=\begin{cases}
12.92C_\mathrm{linear}, & C_\mathrm{linear} \le 0.0031308\\
(1+a)C_\mathrm{linear}^{1/2.4}-a, & C_\mathrm{linear} > 0.0031308
\end{cases}
  • где a = 0.055

Эти значения также приводятся к диапазону [0, 1], и для перевода к [0, 255] их нужно умножить на 255 и округлить. 3

Примечания[править | править исходный текст]