scRGB

scRGB — это цветное цветовое пространство RGB (Red Green Blue) с цветовой гаммой, созданное Microsoft и HP, которое использует одни и те же основные цвета цвета и белые / черные точки в качестве цветового пространства sRGB, но допускает координаты ниже нуля и больше единицы. Полный диапазон составляет -0,5 до менее чем 7,5.

Отрицательные числа позволяют scRGB охватывать большую часть цветового пространства CIE 1931, сохраняя при этом простоту и обратную совместимость с sRGB без сложности управления цветом. Стоимость поддержания совместимости с sRGB заключается в том, что примерно 80% цветового пространства scRGB состоит из мнимых цветов.

Большие положительные числа позволяют отображать изображения с высоким динамическим диапазоном, хотя диапазон ниже, чем у других высокодинамичных диапазонов, таких как OpenEXR.

кодирование
Для отдельных праймериз определены два кодирования: линейная кодировка 16 бит на канал и нелинейная 12-битная кодировка на канал.

16-битное кодирование scRGB (16) — это линейные каналы RGB, преобразованные в 8192x + 4096. По сравнению с 8-разрядным sRGB это почти в 2½ раза превышает разрешение цвета около 0,0 до более чем в 14 раз по сравнению с разрешением цвета около 1,0. Хранение в виде 16 бит зажимает линейный диапазон до -0,5..7.4999.

12-битная кодировка scRGB-nl — это линейные каналы RGB, прошедшие через ту же функцию оптического электрического преобразования, что и sRGB (для отрицательных чисел используют -f (-x)), а затем преобразуются на 1280x + 1024. Это ровно в 5 раз больше разрешения цвета 8-бит sRGB, а 8-битное sRGB может быть преобразовано напрямую с 5x + 1024. Линейный диапазон зажат до чуть большего -0,6038..7,5913

12-разрядная кодировка, называемая scYCC-nl, представляет собой преобразование нелинейных уровней sRGB в JFIF-Y’CbCr, а затем преобразование в 1280Y + 1024 и 1280Cx + 2048. Эта форма позволяет увеличить сжатие и прямое преобразование в / из файлов JPEG и видеооборудования.

С добавлением альфа-канала с таким же количеством бит 16-битное кодирование может рассматриваться как 64-битное, а 12-битное кодирование — 48 бит. Однако Alpha не кодируется, как указано выше. Альфа вместо этого представляет собой линейный диапазон 0-1, умноженный на 2 ^ {n} -1, где n равно 12 или 16.

Применение
Первой реализацией scRGB был GDI + API в Windows Vista. В WinHEC 2008 Microsoft объявила, что Windows 7 будет поддерживать 48-разрядный scRGB (который для HDMI может быть преобразован и выводиться как xvYCC). Компоненты в Windows 7, поддерживающие 48-разрядные scRGB, — это Direct3D, компонент обработки изображений Windows и система цветности Windows, и они поддерживают его как в полноэкранном режиме, так и в видеоизображениях.

Происхождение sc в scRGB
Происхождение sc в scRGB окутано тайной. Официально это ничего не значит. По словам Майкла Стоукса (национального и международного лидера Международной электротехнической комиссии или группы МЭК, работающей над scRGB), это название появилось, когда японский национальный комитет попросил изменить имя с более раннего XsRGB (избыточного RGB). Двумя ведущими кандидатами на смысл являются «зеркальные RGB», поскольку scRGB поддерживает белые, превышающие значения диффузного 1,0, и «стандартный композитный RGB», поскольку поддержка линейности, с плавающей запятой, поддержка HDR (высокий динамический диапазон) и широкая поддержка гаммы идеально подходит для композитинга. Это значение также неявно подчеркивает, что scRGB не предназначен для прямой поддержки в устройствах или форматах, поскольку по определению scRGB охватывает значения, которые находятся за пределами визуальной системы человека и (даже теоретически) реализуемых физических устройств.