Гамма-кривая эксперимента преобразовать 2,2 в противоположность 1,8?

Motorola Photon печально известен тем, что демонстрирует то, что другие называют «черной давкой» — при просмотре изображений большая часть деталей в темных частях изображения становится черной. До сих пор почти все обвиняли в этом дисплей Pentile. ОДНАКО, когда я впервые увидел этот эффект, мне пришла в голову другая мысль... «Вау, это выглядит так же (плохо), как изображения, закодированные для Windows, выглядели в Linux и Macintosh раньше, когда они использовали гамму 1,8. вместо нормы Windows 2,2 дюйма. Моя теория заключается в том, что где-то по ходу дела Motorola создала Android для Photon, используя старую библиотеку, написанную еще в те времена, когда Motorola была партнером Apple до появления iPhone (или, возможно, взяла старый код с открытым исходным кодом, который предполагал гамму 1,8 вместо 2,2).

Почему я так уверен? Несколько дней назад я сделал снимок экрана одной и той же веб-страницы, используя как свой старый Epic 4G (Samsung Galaxy S), так и новый Photon. Неожиданно снимок экрана Epic в формате .png выглядел нормально, но снимок экрана Photon в формате .png выглядел точно так же плохо при просмотре на моем ПК, как и при просмотре на экране Photon. В тот момент, когда я увидел это, я вспомнил свою более раннюю мысль о возможной ошибке гамма-отображения 1.8-2.2 и решил попробовать написать демонстрационное приложение, чтобы показать Motorola и убедить их, что это реальная ошибка, которую МОЖНО исправить.

Я хотел бы провести один эксперимент: взять изображение в формате JPEG с высоким динамическим диапазоном и детализацией как в ярких, так и в темных областях и перекодировать его в нестандартную гамму, которая практически удваивает разницу между 1,8 и 2,2. Идея состоит в том, что если я намеренно неправильно закодирую его в противоположную крайность (2,6?), а затем солгу в метаданных и скажу, что это 2,2, это будет выглядеть нормально при просмотре на фотоне (потому что та же самая ошибка, которая уменьшает 2,2 до 1,8 сокрушит 2,6 до правильного 2,2).

Итак, два вопроса:

  1. Какая гамма будет равна и противоположна ошибке, которую вы получите, если изображение с гаммой 2,2 будет декодировано, как если бы оно было 1,8? 2,6?

  2. Есть ли какой-нибудь простой способ (бесплатный плагин Photoshop/gimp, библиотека кодирования JPEG и т. д.) для преднамеренного неправильного кодирования исходного изображения в эту нестандартную гамму?


person Bitbang3r    schedule 01.10.2011    source источник
comment
Отличный вопрос, красиво сформулированный. Я кое-что узнаю из ответа, но мне нечего предложить, кроме как проголосовать.   -  person duffymo    schedule 01.10.2011


Ответы (1)


Когда к изображению применяется гамма, вы начинаете с линейных значений в диапазоне [0,0–1,0] и возводите их в степень 1/гамма, что дает результат, который также находится в диапазоне [0,0–1,0]. Для гаммы 1,8 вы увеличиваете ее на 0,56, а для гаммы 2,2 — на 0,45.

Если вы применили стандартную гамму 2,2, а вместо нее вам нужна гамма 1,8, вы снова увеличиваете ее на соотношение двух поправочных коэффициентов: 0,56/0,45 = 1,22.

Поскольку значения пикселей обычно находятся в диапазоне [0-255], вам необходимо разделить на 255 перед преобразованием и умножить на 255 по завершении.

Я не уверен, что Photoshop или Gimp могут сделать это просто; Я знаю, что в Paint Shop Pro есть команда для этого.

Основополагающим ресурсом для всего, что связано с гаммой, является Часто задаваемые вопросы о гамме Чарльза Пойнтона.

person Mark Ransom    schedule 01.10.2011