Если альфа-канал будет гамма-коррекцией

11

Мы знаем, что в PNG, BMP и т. Д. Сохраненное значение пикселя не находится в линейном пространстве RGB. Но я не нашел никаких документов, рассказывающих об альфа-канале. Альфа-канал хранится в файлах изображений в линейном пространстве или нет?

Мэри Чанг
источник

Ответы:

11

Мы знаем, что в PNG, BMP и т. Д. Сохраненное значение пикселя не находится в линейном пространстве RGB.

Это не обязательно правда. Вы можете сохранить любое цветовое пространство в изображении, которое вам нужно, это даже не обязательно должны быть цвета (например, карты нормалей).

Альфа-канал обычно линейный. Альфа-канал не отображается, но обычно это не цветной термин, используемый для прозрачности (или чего-либо еще). Поскольку их не нужно отображать на мониторе, нет причин хранить их в гамма-пространстве. Если бы вы это сделали, вы бы излишне потеряли точность в нижнем конце альфа-значений. Карты нормалей следуют аналогичной линии рассуждений, как хорошо объяснил Жюльен Геро .

тузы
источник
3

Сами по себе форматы файлов изображений не учитывают гамму, но сохраняют значения пикселей без изменений, поскольку авторская программа (например, Photoshop) решает сохранить значения, поэтому RGB и альфа-каналы не имеют различий с точки зрения формата файлов изображений (за исключением возможных стратегий сжатия с потерями, но это уже другая тема).

Однако, когда вы создаете изображения в Photoshop, они отображаются на экране в пространстве sRGB, включая альфа-канал, поэтому, если вы создаете альфа-канал, полагая, что воспринимаемая яркость пикселей представляет прозрачность, то вы можете сказать, что альфа также сохраняется в гамма-пространство. НО, если вы создаете альфа-канал с помощью прозрачности слоя в Photoshop, то альфа сохраняется линейно (например, прозрачный слой с 50% сохраняется как альфа = 128).

Таким образом, в конечном итоге все зависит от того, как вы создаете данные, в каком месте хранятся данные, и как вы должны их интерпретировать. Также важно учитывать, дает ли нелинейное распределение значений какие-либо преимущества в точности. Цветовые значения хранятся в sRGB, потому что зрительная система человека логарифмически реагирует на яркость света, поэтому имеет смысл иметь больше деталей в темноте, чем в яркости, чтобы уменьшить воспринимаемые полосы, но вы могли бы спросить, будет ли такое распределение выгоднее, скажем, нормальные карты или сохраненные значения шероховатости в текстурах.

JarkkoL
источник