stringtranslate.com

sRGB

sRGB — это стандартное цветовое пространство RGB (красный, зеленый, синий) , которое HP и Microsoft создали совместно в 1996 году для использования на мониторах, принтерах и во всемирной паутине . [2] Впоследствии он был стандартизирован Международной электротехнической комиссией (МЭК) как IEC 61966-2-1:1999. [1] sRGB — это текущее стандартное цветовое пространство для Интернета, которое обычно является предполагаемым цветовым пространством для изображений, которые не имеют тегов цветового пространства и не имеют встроенного цветового профиля .

sRGB, по сути, кодифицирует характеристики дисплея для компьютерных мониторов, использовавшихся в то время, что во многом способствовало его принятию. sRGB использует те же основные цвета и точку белого, что и стандарт ITU-R BT.709 для HDTV , [3] функцию передачи (или гамму ), совместимую с ЭЛТ-дисплеями того времени , и среду просмотра, разработанную для типичных условий просмотра дома и офиса. .

определение sRGB

Гамма

sRGB определяет цветность основных цветов красного, зеленого и синего — цветов, в которых один из трех каналов ненулевой, а два других — ноль. Цветовой охват , который может быть представлен в sRGB, представляет собой цветовой треугольник , определяемый этими основными цветами, которые установлены таким образом, что диапазон цветов внутри треугольника находится в пределах диапазона цветов, видимых человеком с нормальным трехцветным зрением. Как и в любом цветовом пространстве RGB , для неотрицательных значений R, G и B невозможно представить цвета вне этого треугольника.

Первичные цвета поступают из HDTV ( ITU-R BT.709 ), которые несколько отличаются от таковых для старых систем цветного телевидения ( ITU-R BT.601 ). Эти значения были выбраны, чтобы отразить приблизительный цвет потребительских люминофоров ЭЛТ на момент их разработки. Поскольку в то время плоские дисплеи обычно разрабатывались для имитации характеристик ЭЛТ, значения также отражали преобладающую практику и для других устройств отображения. [1]

Передаточная функция («гамма»)

График интенсивности sRGB (красный) и наклона этой функции в логарифмическом пространстве (синий), который представляет собой мгновенную гамму. Ниже сжатого значения 0,04045 или линейной интенсивности 0,00313 кривая является линейной, поэтому гамма равна 1. За красной кривой находится пунктирная черная кривая, показывающая точный степенной закон гамма = 2,2.
На дисплее sRGB каждая сплошная полоса должна выглядеть такой же яркой, как и окружающая ее полосатая полоска. (Примечание: необходимо просматривать в исходном размере, 100%).

Спецификация IEC указывает эталонный дисплей с номинальной гаммой 2,2, которая, по мнению рабочей группы sRGB, была репрезентативной для ЭЛТ, используемых в то время с операционными системами Windows. [2] Возможность напрямую отображать изображения sRGB на ЭЛТ без какого-либо поиска очень помогла внедрению sRGB . Гамма также эффективно кодирует больше данных вблизи черного цвета, что уменьшает видимый шум и артефакты квантования .

Стандарт дополнительно определяет оптико-электронную передаточную функцию (OETF), которая определяет преобразование линейного света или интенсивности сигнала в данные гамма-сжатого изображения. Эта кривая примерно обратна кривой дисплея , но с некоторыми корректировками, позволяющими избежать бесконечного наклона при нуле. [4] Около нуля кривая мощности пересекает прямолинейный участок, ведущий к нулю. Это предотвращает бесконечный наклон на нуле, который мог бы возникнуть, если бы использовалась плоская кривая мощности.

На практике чистый цвет можно использовать с данными sRGB с очень небольшой разницей. Это повышает вычислительную производительность и называется Adobe «простым sRGB». Именно так большинство дисплеев преобразуют закодированные данные изображения на экран.

Вычисление передаточной функции

Прямая линия, проходящая через (0,0) , равна , а гамма-кривая, проходящая через (1,1), равна

Если они соединены в точке ( X , X /Φ) , то:

Чтобы избежать перегиба в месте пересечения двух сегментов, производные в этой точке должны быть равны:

Теперь у нас есть два уравнения. Если мы возьмем в качестве двух неизвестных X и Φ , то мы сможем решить, чтобы дать

Значения А = 0,055 и Г = 2,4 были выбраны [ как? ] , поэтому кривая очень напоминала кривую гамма-2,2. Это дает X ≈ 0,0392857, Φ ≈ 12,9232102 . Эти значения, округленные до X = 0,03928, Φ = 12,92321, иногда описывают преобразование sRGB. [5]

Черновые публикации создателей sRGB еще больше округлили Φ = 12,92 [2] , что привело к небольшому разрыву кривой. Некоторые авторы приняли эти неверные значения, отчасти потому, что проект документа был в свободном доступе, а официальный стандарт МЭК находится под платным доступом. [6] Для стандарта округленное значение Φ было сохранено, а X был пересчитан как 0,04045 , чтобы сделать кривую непрерывной, что привело к разрыву наклона от 1/12,92 ниже пересечения до 1/12,70 выше.

Просмотр среды

Диаграмма цветности CIE 1931 xy , показывающая гамму цветового пространства sRGB (треугольник). Внешняя изогнутая граница представляет собой спектральный (или монохроматический) локус с длинами волн, показанными в нанометрах (отмечены синим цветом). Это изображение нарисовано с использованием sRGB, поэтому цвета за пределами треугольника не могут быть точно раскрашены и были интерполированы. Белая точка D65 показана в центре, а планковский локус показан с цветовыми температурами, выраженными в кельвинах . D65 не является идеальным черным телом с температурой 6504 Кельвина , поскольку оно основано на атмосферном фильтрованном дневном свете.

Спецификация sRGB предполагает слабоосвещенную среду кодирования (создания) с коррелированной цветовой температурой окружающей среды (CCT) 5003 К. Это отличается от CCT источника света ( D65 ). Использование D50 в обоих случаях привело бы к тому, что белая точка большинства фотобумаг выглядела бы чрезмерно синей. [7] [8] Остальные параметры, такие как уровень яркости, соответствуют типичному ЭЛТ-монитору.

Для получения оптимальных результатов ICC рекомендует использовать среду просмотра с кодированием (т. е. тусклое, рассеянное освещение), а не менее строгую типичную среду просмотра. [2]

Трансформация

От sRGB до CIE XYZ

Значения компонентов sRGB находятся в диапазоне от 0 до 1. При цифровом представлении в виде 8-битных чисел эти значения цветовых компонентов находятся в диапазоне от 0 до 255 и должны быть разделены (в представлении с плавающей запятой) на 255, чтобы преобразовать в диапазон от 0 до 1.

где , , или .

Эти расширенные по гамме значения (иногда называемые «линейными значениями» или «значениями линейного освещения») умножаются на матрицу для получения CIE XYZ (матрица имеет бесконечную точность, любое изменение ее значений или добавление ненулевых значений не допускается). :

На самом деле это матрица для праймериз BT.709, а не только для sRGB, вторая строка соответствует коэффициентам яркости BT.709-2 (в BT.709-1 была опечатка в этих коэффициентах).

От CIE XYZ к sRGB

Значения CIE XYZ должны быть масштабированы так, чтобы Y D65 («белый») составлял 1,0 ( X = 0,9505, Y = 1,0000, Z = 1,0890). Обычно это так, но в некоторых цветовых пространствах используются 100 или другие значения (например, в CIELAB при использовании указанных точек белого).

Первым шагом в расчете sRGB из CIE XYZ является линейное преобразование, которое может выполняться путем умножения матрицы. (Числовые значения ниже соответствуют значениям в официальной спецификации sRGB [1] [9] , в которой исправлены небольшие ошибки округления в исходной публикации [2] создателей sRGB, и предполагается использование стандартного колориметрического наблюдателя 2° для CIE XYZ. [2] ) Эта матрица зависит от разрядности.

Эти линейные значения RGB не являются конечным результатом; гамма-коррекцию все равно необходимо применять. Следующая формула преобразует линейные значения в sRGB:

где , , или .

Эти гамма-сжатые значения (иногда называемые «нелинейными значениями») обычно обрезаются до диапазона от 0 до 1. Это отсечение можно выполнить до или после расчета гаммы или сделать как часть преобразования в 8 бит. Если требуются значения в диапазоне от 0 до 255, например, для отображения видео или 8-битной графики, обычный метод заключается в умножении на 255 и округлении до целого числа.

Применение

Сравнение некоторых цветовых гамм RGB и CMYK на диаграмме цветности xy CIE 1931 года.

Из-за стандартизации sRGB в Интернете, на компьютерах и принтерах многие потребительские цифровые камеры и сканеры низкого и среднего уровня используют sRGB в качестве рабочего цветового пространства по умолчанию (или только доступного). Однако ПЗС- матрицы потребительского уровня обычно не калибруются, а это означает, что, хотя изображение маркируется как sRGB, нельзя сделать вывод, что изображение имеет точную цветопередачу sRGB.

Если цветовое пространство изображения неизвестно и это 8-битный формат изображения, обычно по умолчанию используется sRGB, отчасти потому, что цветовым пространствам с большей гаммой требуется более высокая битовая глубина для поддержания низкого уровня цветовых ошибок (∆E). . Профиль ICC или таблица поиска можно использовать для преобразования sRGB в другие цветовые пространства. Профили ICC для sRGB широко распространены, и ICC распространяет несколько вариантов профилей sRGB, [10] включая варианты для ICCmax, версии 4 и версии 2. Обычно рекомендуется использовать версию 4, но версия 2 по-прежнему широко используется и является наиболее распространенной. совместим с другим программным обеспечением, включая браузеры. Версия 2 спецификации профиля ICC официально не поддерживает кусочно-параметрическое кодирование кривой («para»), хотя версия 2 поддерживает простые степенные функции. [10] Тем не менее, таблицы поиска используются чаще, поскольку они более эффективны в вычислительном отношении. [ нужна ссылка ] Даже когда используются параметрические кривые, программное обеспечение часто сводится к справочной таблице во время выполнения для эффективной обработки. [ нужна цитата ]

Поскольку гамма sRGB соответствует гамме бюджетного струйного принтера или превосходит ее, изображение sRGB часто считается удовлетворительным для домашней печати. Профессиональные печатные издательства иногда избегают sRGB, поскольку его цветовая гамма недостаточно велика, особенно в сине-зеленых цветах, чтобы включить все цвета, которые могут быть воспроизведены при печати CMYK . Изображения, предназначенные для профессиональной печати с использованием рабочего процесса с полным управлением цветом (например, допечатная подготовка), иногда используют другое цветовое пространство, такое как Adobe RGB (1998) , которое поддерживает более широкую гамму. Такие изображения, используемые в Интернете, можно преобразовать в sRGB с помощью инструментов управления цветом , которые обычно входят в состав программного обеспечения, работающего в этих других цветовых пространствах.

Два доминирующих интерфейса программирования для 3D-графики, OpenGL и Direct3D , имеют поддержку гамма-кривой sRGB.

OpenGL поддерживает текстуры с цветовыми компонентами с гамма-кодировкой sRGB (впервые представленные с расширением EXT_texture_sRGB, [11] добавленным в ядро ​​OpenGL 2.1) и рендеринг в кадровые буферы с гамма-кодировкой sRGB (впервые представленные с расширением EXT_framebuffer_sRGB, [12] добавленным в ядро ​​OpenGL). 3.0). Правильное мип-маппинг и интерполяция гамма-текстур sRGB напрямую поддерживается аппаратно в модулях текстурирования большинства современных графических процессоров (например, nVidia GeForce 8 выполняет преобразование 8-битной текстуры в линейные значения перед интерполяцией этих значений) и не приводит к каким-либо потерям производительности. [13]

sYCC

Поправка 1 к IEC 61966-2-1:1999, утвержденная в 2003 году, включает определение представления цвета Y’Cb’Cr’ , называемого sYCC . Хотя основные цвета RGB основаны на BT.709, уравнения для преобразования из sRGB в sYCC и наоборот основаны на BT.601 . sYCC использует 8 бит для компонентов, что дает диапазон Y примерно от 0 до 1; -0,5–0,5 для C. [14] Поправка также содержит 10-битную или более кодировку, называемую bg-sRGB , где 0–1 отображается в -384510 ... 639510 , и bg-sYCC с использованием такое же количество бит для диапазона примерно -0,75–1,25 для Y; -1–1 для C. [14]

Поскольку это преобразование может привести к тому, что значения sRGB выходят за пределы диапазона 0–1, поправка описывает, как применять гамма-коррекцию к отрицательным значениям, применяя f (− x ) , когда x отрицательное (а f — это описанные линейные функции sRGB↔ выше). Это также используется scRGB .

Поправка также рекомендует использовать более точную матрицу XYZ в sRGB с использованием семи десятичных знаков, чтобы более точно инвертировать матрицу sRGB в XYZ (которая остается с точностью, показанной выше):

. [14]

Рекомендации

  1. ^ abcdef «МЭК 61966-2-1:1999». Интернет-магазин МЭК . Международная электротехническая комиссия . Проверено 3 марта 2017 г.
  2. ^ abcdef Майкл Стоукс; Мэтью Андерсон; Шринивасан Чандрасекар; Рикардо Мотта (5 ноября 1996 г.). «Стандартное цветовое пространство по умолчанию для Интернета — sRGB, версия 1.10». Архивировано из оригинала 3 июля 2023 г.
  3. ^ Чарльз А. Пойнтон (2003). Цифровое видео и HDTV: алгоритмы и интерфейсы. Морган Кауфманн. ISBN 1-55860-792-7.
  4. ^ «Важность терминологии и неопределенность sRGB». Наука цвета . 05.12.2015 . Проверено 5 ноября 2021 г.
  5. ^ Фил Грин и Линдси В. Макдональд (2002). Цветовая инженерия: достижение аппаратно-независимой цветопередачи. Джон Уайли и сыновья. ISBN 0-471-48688-4.
  6. ^ Джон Ю. Хардеберг (2001). Получение и воспроизведение цветных изображений: колориметрический и мультиспектральный подходы. Universal-Publishers.com. ISBN 1-58112-135-0.
  7. ^ Родни, Эндрю (2005). Управление цветом для фотографов. Фокальная пресса. п. 121. ИСБН 978-0-240-80649-5.
  8. ^ «Зачем калибровать монитор на D65, если световая будка — на D50» . X-Рит . Проверено 11 сентября 2022 г.
  9. ^ «Как интерпретировать цветовое пространство sRGB» (PDF) . цвет.орг . Проверено 17 октября 2017 г.
  10. ^ профили ab sRGB, ICC
  11. ^ "EXT_texture_sRGB". 24 января 2007 года . Проверено 12 мая 2020 г.
  12. ^ "EXT_framebuffer_sRGB". 17 сентября 2010 г. Проверено 12 мая 2020 г.
  13. ^ «GPU Gems 3: Глава 24. Важность линейности, раздел 24.4.1» . Корпорация NVIDIA . Проверено 3 марта 2017 г.
  14. ^ abc «IEC 61966-2-1:1999 Мультимедийные системы и оборудование. Измерение и управление цветом. Часть 2-1. Управление цветом. Цветовое пространство RGB по умолчанию. sRGB: Поправка 1». Международная электротехническая комиссия . 2003.

Стандарты

Внешние ссылки