И там уже упоминал, что Firefox 3.0 поддерживает и ICC v2 и ICC v4.
А вот у Firefox 3.5 это бл.. не так, поддержку ICC v4 пролюбили.
Я несколько раз ставил 3.5, получал кислотные цвета, тупо смотрел в настройки (где с color management все было нормально), ничего не понимал и сносил. Сейчас вот потратил лишние две минуты и, наконец, осознал.
Придется, соответственно, для монитора строить два профиля, один для всех программ, а второй - для этого уродца.
А причина всего этого безумия - это отказ разработчиков от lcms и замена ее собственной мозильской (как я понял) разработкой. Быстрой и недоделанной.
Мониторы с большим цветовым охватом (вроде того, за которым я сейчас пишу этот текст создают понятную проблему:
Если расширенный охват используется (у монитора не включили насильно режим sRGB или что-то такое), а программа показа картинок цветовых преобразований делать не умеет, то вы увидите на экране фигню.
Ну совсем грубо, RGB (255,0,0) - это на двух мониторах ("обычном" и "расширенном") будет красный цвет, соответствующий красному углу охвата. Только красный этот будет сильно разным, см. например картинки с охватом
На скриншоте ниже четыре (на самом деле 2) варианта показа на мониторе одной и той же картинки:
В предыдущих сериях мы рассматривали ошибки обработки цвета, возникающие при использовании матричных профилей, т.е. таких, где преобразование в PCS (profile connection space) и обратно задается простой матрицей 3x3. В реальной жизни матричные профили используются как рабочие пространства, а на стадиях импорта изображений и печати используются табличные профили, описывающие нелинейности реальных устройств.
Методология тестирования подробно описана в первой и второй статьях серии.
Upd: включены данные по Argyll для линейной гаммы.
В первой части CMM-эпопеи с дистанции была снята CMS Argyll: в области с высокими насыщенностями наблюдались видимые взглядом артефакты. В то же время, на 16-битных файлах Argyll показала великолепные результаты, сравнимые, а на части данных и сильно лучшие, чем у лучших коммерческих CMM.
Как и я и обещал, я заслал автору баг-репорт. К моему приятному изумлению, ответ был получен через час и содержал патч к cctiff (тестовому приложению, которое я использовал в тестах). В самой CMM-engine ничего править не пришлось, там все было правильно.
Из опыта известно, что цифровой шум в тенях чаще всего возникает при обработке данных с линейной «гаммой», а это те изображения, которые мы получаем с линейных сенсоров: цифровых камер и сканеров. Давайте посмотрим, что будет с ошибками на тестовых примерах.
sRGB был выбран по той причине, что все цвета sRGB входят в Lab, следовательно, при абсолютной точности преобразований, вышеописанное преобразование не должно приводить к потере данных. В то же время, в реальной жизни для редактирования и хранения используются RGB-пространства с более широким gamut: Adobe RGB, ProPhoto, BetaRGB, EktaSpace и так далее.
Пространство BetaRGB обладает массой достоинств в качестве пространства хранения и редактирования: большим охватом реальных цветов, большой эффективностью кодирования данных. Интересно посмотреть, как ведут себя CMM-модули с этим пространством.
В предыдущей публикации были рассмотрены ошибки, которые происходят в Color Management Modules (CMM) разных систем при обработке 8-битных данных. Было показано, что такое "неразрушающее" действие как конверсия из RGB в Lab и обратно оставляет от 3-5 значащих бит от восьми.
На сегодняшний день, 8 бит неактуальны, большинство изображений производятся с большей разрядностью. Следовательно, нужно изучить и их.
Начнем с гаммы 2.2, как наиболее часто используемой при редактировании изображений.
Все, кто работает с цветом, догадываются, что любая операция редактирования немножко разрушает изображение за счет округления дробных результатов вычислений до целых значений. Вот например, наложили вы кривую, таким образом, что значение 1 должно стать 1.8, а 2 — 2.2. После округления, оба результата будут округлены до 2, отчего вместо двух разных цветов получатся два одинаковых.
Неявно предполагается, что отклонения от идеала при цифровом редактировании невелики и влияют только на младшие биты значений, что практически незаметно на глаз. В то же время, мне никогда не попадались количественные исследования. Да, на практике я знаю, что инструмент Levels в фотошопе полностью разрушает тени, а остальные инструменты ведут себя приличнее, но это единственное знание, накопленное за 8 лет работы с цветом.
Неточность работы всех средств редактирования затрудняет корректную постановку задачи: нет идеала с которым можно было бы сравнивать. По счастью, задачу можно корректно поставить для преобразования, которое должно быть минимально разрушающим: преобразование цветовых пространств в ситуации, когда мы не выходим за gamut.
Простые упражнения с фотошопом (прогнать картинку по циклу RGB->LAB->RGB, а потом посмотреть разницу через Image—>Calculations) показали, что разница по красному каналу достигает 24 единиц т.е. речь идет о 5 битах ошибки в 8-битном изображении.
Дальнейшие упражнения потребовали создания инструментальных средств и аккуратной постановки эксперимента.