Это уже четвертая публикация на тему ошибок при преобразованиях цвета, мы постепенно приближаемся к реальным задачам. Список предыдущих серий:
постепенно мы приближаемся к реальным задачам....
Из опыта известно, что цифровой шум в тенях чаще всего возникает при обработке данных с линейной «гаммой», а это те изображения, которые мы получаем с линейных сенсоров: цифровых камер и сканеров. Давайте посмотрим, что будет с ошибками на тестовых примерах.
Полный диапазон
Постановка задачи та же самая: изображение 4096x4096 содержащее 16 миллионов цветов, цикл обработки:
- присваиваем профиль BetaRGB с gamma установленной в 1.0;
- конвертируем в Lab;
- конвертируем обратно в BetaRGB-gamma1;
- смотрим попиксельную разницу, строим гистограмму.
Часть цветов исходного файла не влезает в охват (gamut) пространства Lab, поэтому смотрим где может быть клиппинг и эти пиксели не учитываем (подробнее написано в
предыдущей публикации, там же можно взять тестовый файл и посмотреть на пример clipping mask).
Участники забега те же самые:
- Adobe Photoshop CS3 (10.0.1) с тремя доступными CMM (Adobe, Apple, Microsoft)
- Argyll CMS 0.7 beta 7
- LCMS 1.17
Результат показан на гистограмме:
Результаты довольно любопытные
- Argyll: явный лидер. Я еще в в первом тексте ожидал, что OpenSource уделает коммерческий софт, дождался. Результат лучше и по среднему и по максимальному отклонению.
- Adobe и Apple: результат близкий, но Adobe несколько лучше, тоже без вопросов. 3-4 бита ошибки для линейного пространства - много, но жить можно.
- LCMS ничего выдающегося не показывал никогда, тут тоже ничем не выделяется.
- Microsoft CMM всегда был одним из худших в моих тестах, там и остался.
12-битные данные
Линейные 12-битные данные - это то, что мы в реальной жизни имеем со средней руки сканера или с хорошей цифровой камеры (ставить 14-битные АЦП начали совсем недавно, да и смысл их неочевиден). Поэтому результат обработки таких данных особенно интересен, это часть работы RAW-конвертора.
В забеге принимают участие только трое, показавшие себя разумнее всего: Apple, Adobe, Argyll (хорошая CMM пишется с буквы А ?). Смотрим гистограмму битовых ошибок:
Если честно, смотреть неудобно, поэтому то же самое, но в линейной шкале ошибок:
Результаты:
- Argyll: 307 пикселей из 16 миллионов имеют ошибку в 1, у всех остальных ошибка нулевая;
- Adobe: 789 тысяч пикселей с ошибкой 2, остальные с нулевой;
- Apple: 42 килопикселя с ошибкой 3, 2.86 млн с ошибкой 2, остальные - нулевая ошибка.
Вообще, на 12-битных исходных данных ошибка в 2 единицы снижает динамический диапазон с 12
до 10 стопов, другими словами это БОЛЬШАЯ ошибка.
Выводы
Опенсорс рулит (я уже сомневался, что напишу эти слова про софт для обработки изображений). Если для преобразования данных достаточно матричного профиля, то Argyll - однозначный лидер (из того, что пробовали). В реальной жизни, конечно, чаще используются табличные... следите за анонсами.
Автоматический кросс-пост из
блога автора.