Преобразовываются ли изображения RGB в sRGB автоматически перед просмотром в веб-браузере?

Если у нас есть изображение RGB, большинство браузеров и, по сути, мониторов поддерживают только пространство sRGB. Я пытаюсь понять что-то важное. Преобразует ли монитор/сеть каждый пиксель изображения в sRGB, а затем отображает его? Это означает, что мы на самом деле видим версию изображения в sRGB.

Кроме того, если это так, какую формулу мы можем использовать для преобразования, и если бы мы сделали преобразование самостоятельно, я полагаю, мы получили бы изображение, которое «выглядит» точно так же, как оригинал?


person Andrea Russett    schedule 05.01.2020    source источник


Ответы (3)


Примечание. Я использую то, что я считаю наиболее распространенным обозначением (например, альтернативное обозначение в предыдущем ответе): RGB — это цветовая модель, [поэтому формула для вычисления различных вещей, но без определенной колориметрии, масштаба и гамма; sRGB — это цветовое пространство, то есть с определенной гаммой; с цветовым пространством мы знаем, какой цвет можно описать, а какой нет; а профиль — это характеристика устройства (поэтому он определяет конкретное цветовое пространство устройства), намерение, а также часто некоторые методы расчета для преобразования цветов.

sRGB был определен производителями компьютеров и компаниями-разработчиками программного обеспечения для стандартизации цветов, но со старыми экранами и низким разрешением это действительно не имело большого значения. Примечание: Они использовали основной цвет Rec.709 (HDTV), но с другой точкой белого и гаммой (условия просмотра разные: мы смотрели ТВ и фильмы в более темных помещениях; у нас есть компьютер для работы, который мы используем в более ярко освещенных помещениях). ).

Итак, обычный способ (до цветовых профилей): изображение имело 3 канала со значениями от 0 до 255 каждый, один для красного, один для зеленого, один для синего. Это было отправлено непосредственно в видеопамять, и видеокарта отправила эти значения, не изменяя их (для цифровых сигналов RGB) на экран. Экран использовал значения 3 каналов для интенсивности 3 субпикселей. Примечание: регулировка контрастности и яркости [на ЭЛТ-экранах] допускала некоторую коррекцию.

Поскольку предполагаемое цветовое пространство было sRGB (и экраны были созданы для отображения sRGB), это был стандарт, и он был стандартизирован HTML (как цветовое пространство по умолчанию). Поэтому, если в вашем браузере нет явного цветового пространства (например, для изображения), он будет считать, что это sRGB, и не изменит значения.

Улучшились экраны, создание и модификация контента стали производиться на компьютерах, появилось много носителей с другим цветовым пространством, изображения стали задавать цветовое пространство: ТВ имеет ограниченный диапазон (16-235) и другую гамму ( и точка белого), DCI-P3 (цифровое кино) имеет другую гамму и основные цвета (широкая гамма), для печати часто требуется более широкая гамма (забудьте о маленьких принтерах CMYK), для печати фотографий также требуются разные динамические диапазоны, гамма, белый цвет и цветовое пространство .

Так что теперь (при условии, что изображение RGB, но обратите внимание, что многие изображения не RGB, а YCC (например, JPEG)), изображение должно иметь свой собственный профиль, который сообщает нам цветовую характеристику камеры (так что красный цвет соответствует значению 255). ,0,0). Программа, учитывающая цвет, проверит профиль вывода и профиль ввода и адаптирует цвета, чтобы конечный результат был близок к предполагаемому цвету.

Таким образом, если у вас есть непрофилированное изображение или изображение sRGB и профиль для вашего экрана отсутствует (или используется поддельный профиль sRGB): " Красный, который может отображаться на вашем экране.

Если у вас есть непрофилированное изображение, но профиль для выходного экрана: если цель «абсолютная»: экран изо всех сил старается соответствовать цветам в соответствии с sRGB. Вне гаммы будет точно так же, как ближе в гамме цвет. «Относительное» намерение: оно масштабирует многие значения, так что вы не увидите бликов (один и тот же цвет для многих значений вне гаммы). Глаза исправятся, поэтому вы адаптируетесь (а мы быстро адаптируемся, например, к ненасыщенным цветовым пространствам, таким как sRGB). Другие намерения больше связаны с графикой, поэтому он сохраняет значения: отличные от оригинала, но настолько отличные, насколько это возможно (для сюжетов и комиксов это может быть хорошо).

Если у вас есть профилированное изображение, это почти то же самое, просто вы найдете больше отличий.

Изображение AdobeRGB (но без профиля) будет отображаться с правильной насыщенностью на большинстве экранов с широкой гаммой (с включенной широкой гаммой), а на экране RGB оно будет отображаться как ненасыщенное (при отсутствии профиля; «абсолютное и перцепционное намерение» может исправить недостаток насыщенности).

Напротив, изображение sRGB, но отображаемое в AdobeRGB, будет восприниматься как слишком насыщенное. Если у изображения есть профиль, изображение будет видно правильно.

На изображении RGB (обычные форматы) у вас не может быть цвета вне гаммы такого изображения: 255,0,0 и 0,255,0 и 0,0,255 являются первичными цветами цветового пространства изображения, поэтому вы можете описывать только цвета в его цветовое пространство (предполагается sRGB, если оно не указано). Это неверно для некоторых форматов, где допускаются отрицательные значения или значения выше «белых значений», например. в формате со значениями с плавающей запятой (openEXR).

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

Если вам интересно, книга Giorgianni et al. (от Kodak) — хорошее введение: оба автора работали в Kodak (то есть фильм [фото, фильмы], но они работали над созданием PhotoCD), поэтому у них было много проблем с экранами, цветовыми пространствами и намерениями. ICC (стандарт для профиля) является (на мой взгляд) продолжением такой книги: на сайте ICC есть различная информация по теме.

person Giacomo Catenazzi    schedule 07.01.2020

Браузер или устройство будут преобразовывать помеченные изображения цветового пространства, отличного от sRGB, В sRGB, только ЕСЛИ есть механизм управления цветом.

Без управления цветом и со стандартным монитором sRGB все изображения будут отображаться «как если бы» они были sRGB, независимо от их цветового пространства. т.е. они могут отображаться неправильно.

Даже с управлением цветом, если изображение не имеет тегов, оно будет отображаться в соответствии с настройками системы по умолчанию (обычно sRGB).

Если вы хотите самостоятельно преобразовать цветовое пространство, посетите сайт Брюса Линдблума. Если вам нужен механизм управления цветом, с которым можно поиграться, посмотрите Argyll. , а вот список инструментов с открытым исходным кодом.

person Myndex    schedule 08.02.2020

Проще говоря: RGB — это цветовое пространство, а sRGB — это цветовой профиль.

Профиль интерпретирует значения RGB в определенном контексте, например. устройство, программное обеспечение, браузер и т. д., чтобы убедиться, что у вас одинаковые цвета на широком спектре устройств, где пользователь может увидеть ваше изображение.

Значения RGB без профиля в основном бесполезны, потому что устройство отображения или программное обеспечение должны угадать, как сопоставить значения RGB с цветовым пространством дисплея. Эквивалентно представить, что вы получаете 100 банкнот неизвестной валюты и вас просят конвертировать их в вашу домашнюю валюту. Это не работает — вам нужно знать, как сопоставить эти два значения.

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

Вы найдете актуальную информацию с изображением основных браузеров и их способности правильно отображать профиль sRGB на этой страницы EIZO.

PS: чтобы добавить к общей путанице вокруг управления цветом: цветовое пространство иногда может называться цветовой моделью, а цветовой профиль иногда может называться цветовой профиль. цветовое пространство.

person petezurich    schedule 05.01.2020
comment
Спасибо за быстрый ответ. Я понимаю, что sRGB — это подпространство куба RGB. И, как вы правильно сказали, если «профиль» изображения не указан, веб-браузеры обычно по умолчанию используют sRGB. Теперь моя основная путаница заключается в следующем: если изображение имеет значения пикселей за пределами профиля sRGB (который является подпространством полного куба RGB), преобразует ли оно эти значения пикселей в ближайшие значения sRGB и, если да, используя какие формулы? - person Andrea Russett; 06.01.2020
comment
Кроме того, из того, что я вижу в Интернете, кажется, что большинство браузеров способны отображать только профиль sRGB, за исключением случаев, когда они имеют широкую гамму (а это очень немногие мониторы). Правильно ли я понимаю? - person Andrea Russett; 06.01.2020
comment
sRGB — это характеристика RGB: он определяет цветности основных цветов (и белого). 255,0,0 на изображении отправляется как 255,0,0. Если у вас экран с широкой гаммой, этот красный цвет будет отображаться как основной красный широкой гаммы, поэтому все будет перенасыщено. Изображения RGB обычно имеют значения (на канал) от 0 до 255. Цветовое пространство (второе значение) говорит вам, как интерпретировать значения. - person Giacomo Catenazzi; 06.01.2020