sRGB (стандартный красный зеленый синий ) - это цвет RGB пробел, который HP и Microsoft создали совместно в 1996 году для использования на мониторах, принтерах и в Интернете. Впоследствии он был стандартизирован IEC как IEC 61966-2-1: 1999. Часто это цветовое пространство "по умолчанию" для изображений, которые не содержат информации о цветовом пространстве, особенно если пиксели изображений хранятся в 8-битных целых числах на цветовой канал.
sRGB использует ITU-R BT.709 основные цвета, такие же, как в студийных мониторах и HDTV, функция передачи (гамма ), типичная для ЭЛТ, и среда просмотра, разработанная для соответствия типичным условиям просмотра дома и в офисе. Эта спецификация позволяла напрямую отображать sRGB на типичных ЭЛТ-мониторах того времени, что в значительной степени способствовало его принятию.
Цветность | Красный | Зеленый | Синий | Белая точка |
---|---|---|---|---|
x | 0,6400 | 0,3000 | 0,1500 | 0,3127 |
y | 0,3300 | 0,6000 | 0,0600 | 0,3290 |
Y | 0,2126 | 0,7152 | 0,0722 | 1,0000 |
sRGB определяет цветности красного, зеленого и синего основных цветов, цветов, где один из трех каналов отличен от нуля, а два других равны нулю. гамма цветностей, которая может быть представлена в sRGB, представляет собой цветовой треугольник, определяемый этими основными цветами. Как и в случае с любым цветовым пространством RGB, для неотрицательных значений R, G и B невозможно представить цвета за пределами этого треугольника, который находится внутри диапазона цветов, видимого человеку с нормальным трехцветное зрение.
Основные цвета берутся из HDTV (Rec. 709 ), которое, в свою очередь, основано на цветном ТВ (Rec. 601 ). Эти значения отражают приблизительный цвет потребительских люминофоров с ЭЛТ.
sRGB также определяет нелинейную передаточную функцию между интенсивностью этих основных цветов и фактическим сохраненным числом. Кривая аналогична гамма-характеристике ЭЛТ-дисплея. Это нелинейное преобразование означает, что sRGB является достаточно эффективным использованием значений в целочисленном файле изображения для отображения различимых человеком уровней освещенности.
В отличие от большинства других цветовых пространств RGB, гамма sRGB не может быть выражена в виде одного числового значения. Общая гамма составляет приблизительно 2,2, состоящая из линейного (гамма 1,0) участка рядом с черным и нелинейного участка в другом месте, включающего показатель степени 2,4 и гамму (крутизну логарифмического выхода по сравнению с логарифмическим входом), изменяющуюся от 1,0 до примерно 2,3. Назначение линейного участка состоит в том, чтобы кривая не имела бесконечного наклона в нуле, что могло бы вызвать численные проблемы.
Приложение A к спецификации sRGB гласит следующее:
Исторически сложилось так, что и фотографическая, и телевизионная промышленность заявляют о полномасштабном использовании термина « гамма »для разных эффектов. Хертер и Дриффилд впервые использовали этот термин в 1890-х годах для описания прямолинейной части кривых зависимости плотности от логарифмической экспозиции, которые описывают фотографическую сенситометрию. В области фотографической сенситометрии используется несколько взаимосвязанных терминов для описания подобных эффектов, включая гамму, наклон, градиент и контраст. И Лангимье в 1910-х, и Оливер в 1940-х определили «гамму» для телевизионной индустрии (и, следовательно, индустрии компьютерной графики) как экспоненциальную величину как в простых, так и в сложных функциях мощности, которые описывают взаимосвязь между напряжением пистолета и интенсивностью (или яркостью). Фактически, даже в телевизионной индустрии существует множество противоречивых определений «гамма». К ним относятся различия в описании физических аспектов (таких как «гамма» пушки и «гамма» люминофора). Они также включают различия в уравнениях для одного и того же физического аспекта (в настоящее время в индустрии компьютерной графики существует по крайней мере три широко используемых уравнения для описания взаимосвязи между напряжением пистолета и интенсивностью, все из которых дают существенно разные результаты). После значительных информативных отзывов от многих отраслей, в этом стандарте явным образом было решено избегать использования термина «гамма». Более того, похоже, что польза от термина в однозначной, конструктивной стандартной терминологии равна нулю, а его дальнейшее использование наносит ущерб согласованным перекрестным ссылкам между стандартами и однозначной коммуникацией.
Значения CIE XYZ должны быть масштабированы так, чтобы Y для D65 («белый») равнялось 1,0 (X, Y, Z = 0,9505, 1,0000, 1,0890). Обычно это так, но некоторые цветовые пространства используют 100 или другие значения (например, в CIELAB, при использовании указанных точек белого).
Первым шагом в вычислении sRGB из CIE XYZ является линейное преобразование, которое может быть выполнено умножением матриц. (Приведенные ниже числовые значения соответствуют значениям в официальной спецификации sRGB, в которой исправлены небольшие ошибки округления в исходной публикации создателей sRGB, и предполагают использование стандартного колориметрического наблюдателя 2 ° для CIE XYZ)
Эти линейные значения RGB не являются окончательным результатом; гамма-коррекция по-прежнему должна применяться. Следующая формула преобразует линейные значения в sRGB:
Эти гамма-сжатые значения (иногда называемые «нелинейные значения») обычно ограничиваются диапазоном от 0 до 1. Это ограничение может быть выполнено до или после вычисления гаммы или как часть преобразования в 8 бит. Если требуются значения в диапазоне от 0 до 255, например для видеодисплея или 8-битной графики обычным способом является умножение на 255 и округление до целого числа.
Снова значения компонентов sRGB , , находятся в диапазоне от 0 до 1. (Значения в диапазоне от 0 до 255 можно просто разделить на 255,0.).
Эти значения с расширенной гаммой (иногда называемые «линейные значения» или «линейные значения освещенности») умножаются на матрицу для получения CIE XYZ:
Часто вскользь утверждают, что гамма декодирования для данных sRGB составляет 2,2, но приведенное выше преобразование показывает показатель степени 2,4. Это связано с тем, что чистым эффектом кусочного разложения обязательно является изменение мгновенной гаммы в каждой точке диапазона: она изменяется от гаммы = 1 при нуле до гаммы 2,4 при максимальной интенсивности со средним значением, близким к 2,2. Преобразование было разработано для аппроксимации гаммы около 2,2, но с линейной частью, близкой к нулю, чтобы избежать бесконечного наклона при K = 0, который может вызвать численные проблемы. Условие непрерывности кривой , которое определено выше как кусочно функция , равно
Решение с и стандартное значение дает два решения: ≈ или . В стандарте МЭК 61966-2-1 используется округленное значение , что дает . Однако, если мы наложим условие, что наклоны также совпадают, то мы должны иметь
Теперь у нас есть два уравнения. Если мы возьмем два неизвестных как и , тогда мы можем решить, чтобы дать
Подстановка или и дает и , с соответствующим порогом линейной области при . Эти значения округлены до , и , иногда описывают преобразование sRGB. Публикации создателей sRGB округлены до и , следовательно, , что приводит к небольшому разрыву на кривой. Некоторые авторы приняли эти значения, несмотря на неоднозначность. Для стандарта было сохранено округленное значение , а значение было пересчитано, чтобы сделать результирующую кривую непрерывной, как описано выше, что привело к скачку наклона от 12,92 ниже точки пересечения до 12,70 выше.
Параметр | Значение |
---|---|
Уровень яркости экрана | 80 кд / м |
Белая точка источника света | x = 0,3127, y = 0,3290 (D65) |
Коэффициент отражения объемного изображения | 20% (~ средний серый) |
Кодирование уровня внешней освещенности | 64 люкс |
Кодирование окружающей белой точки | x = 0,3457, y = 0,3585 (D50) |
Кодирование бликов | 1,0% |
Типичный уровень внешней освещенности | 200 люкс |
Типичная окружающая белая точка | x = 0,3457, y = 0,3585 (D50) |
Типичная засветка | 5,0% |
Спецификация sRGB предполагает тускло освещенную среду кодирования (создания) с окружающим коррелированным цветом температура (CCT) 5000 K. Это отличается от CCT осветителя (D65). Использование D50 для обоих сделало бы белую точку большинства фотобумаги чрезмерно синей. Другие параметры, такие как уровень яркости, характерны для типичного ЭЛТ-монитора.
Для получения оптимальных результатов ICC рекомендует использовать среду просмотра с кодированием (т. Е. Тусклое, рассеянное освещение), а не менее жесткую типичную среду просмотра.
Из-за стандартизации sRGB в Интернете, на компьютерах и принтерах многие модели низкого и среднего уровня потребительские цифровые камеры и сканеры используют sRGB в качестве по умолчанию (или только доступного) рабочего цветового пространства. Однако ПЗС потребительского уровня обычно не откалиброваны, что означает, что даже несмотря на то, что изображение помечено как sRGB, нельзя сделать вывод, что изображение является точным по цвету sRGB.
Если цветовое пространство изображения неизвестно и это формат изображения от 8 до 16 бит, предположение, что оно находится в цветовом пространстве sRGB, является безопасным выбором. Может использоваться профиль ICC ; ICC распространяет три таких профиля: два профиля, соответствующие версии 4 спецификации ICC, которую они рекомендуют, и один профиль, соответствующий версии 2, которая все еще широко используется.
Поскольку гамма sRGB соответствует или превышает гамму струйного принтера начального уровня, изображение sRGB часто считается удовлетворительным для домашнего использования и печати. Профессиональные издатели печатной продукции иногда избегают sRGB, потому что его цветовая гамма недостаточно велика, особенно в сине-зеленых цветах, чтобы включать все цвета, которые могут быть воспроизведены при печати CMYK. Изображения, предназначенные для профессиональной печати с помощью рабочего процесса с полным управлением цветом, например допечатная подготовка вывода, иногда используется другое цветовое пространство, например Adobe RGB (1998), которое обеспечивает более широкую гамму. Такие изображения, используемые в Интернете, можно преобразовать в sRGB с помощью инструментов управления цветом, которые обычно включены в программное обеспечение, работающее в этих других цветовых пространствах.
Два основных интерфейса программирования для трехмерной графики, OpenGL и Direct3D, оба имеют встроенную поддержку гамма-кривой sRGB. OpenGL поддерживает текстуры с цветовыми компонентами с гамма-кодировкой sRGB (впервые введено с расширением EXT_texture_sRGB, добавленным в ядро в OpenGL 2.1) и рендеринг в гамма-кодированные sRGB буферы кадра (впервые представленные с расширением EXT_framebuffer_sRGB, добавлен в ядро в OpenGL 3.0).
Direct3D поддерживает гамма-текстуры sRGB и рендеринг в гамма-поверхности sRGB, начиная с DirectX 9. Корректное mipmapping и интерполяция гамма-текстур sRGB имеет прямую аппаратную поддержку в единицах текстурирования самые современные графические процессоры (например, nVidia GeForce 8 выполняет преобразование из 8-битной текстуры в линейные значения перед интерполяцией этих значений) и не имеет никакого снижения производительности.
(Wayback Machine копия)