Ошибки при обработке цвета: III. BetaRGB

В предыдущих сериях мы изучали ошибки модулей управления цветом при преобразовании sRGB-Lab->sRGBдля 8 бит тоже).

sRGB был выбран по той причине, что все цвета sRGB входят в Lab, следовательно, при абсолютной точности преобразований, вышеописанное преобразование не должно приводить к потере данных. В то же время, в реальной жизни для редактирования и хранения используются RGB-пространства с более широким gamut: Adobe RGB, ProPhoto, BetaRGB, EktaSpace и так далее.

Пространство BetaRGB обладает массой достоинств в качестве пространства хранения и редактирования: большим охватом реальных цветов, большой эффективностью кодирования данных. Интересно посмотреть, как ведут себя CMM-модули с этим пространством.

Клиппинг

К несчастью для методики исследования, часть цветов, представимых в пространстве BetaRGB, непредставимы в Lab. В результате, при конверсии часть цветовой информации будет обрезана, а значит считать ошибку преобразования для этих цветов было бы глупо. Давайте посмотрим на размер бедствия.

Тестовое изображение, 16 млн. цветов, уменьшенное в 8 раз по каждой стороне:

rgb16bit-full.png
(полная версия 4096x4096, 110 килобайт

Будем считать «подозрительными на клиппинг» все точки, у которых значения компонентов находятся на краях диапазона (менее двух единиц от края для 8-битных файлов, менее 512 единиц для 16-битных). Для преобразования BetaRGB->Lab мы получим такую карту клиппинга (белые точки - подозрение на клиппинг, черные - гарантированно не обрезаны):

clipmap-adobe.png
(полная версия 4096x4096, 30kb)

Как мы видим, наиболее насыщенные цвета, особенно в зеленой части, не влезают в Lab. Всего таких невлезающих точек, если верить подсчету по гистограмме, 2.5%, все остальные не будут обрезаны при конверсии и по ним можно смело считать ошибку преобразования.

Результаты

Участники соревнований не изменились с прошлого раза:
  • Adobe Photoshop с тремя разными CMM-модулями (Adobe, Apple ColorSync, Microsoft)
  • Argyll CMS (версия 0.7 бета 7)
  • LCMS

BetaRGB vs sRGB

Для начала сравним результаты прошлого забега и текущего для трех CMS, показавших лучшие результаты в прошлом забеге:
betargb-vs-srgb.png
Если смотреть не только на графики, но и на таблицы с цифрами (которые я вижу, а читатели - нет :), можно сделать такие наблюдения:
  • Argyll: стала меньше как средняя ошибка, так и максимальная. Возможно, это связано с тем, что мы выкинули из рассмотрения наиболее (потенциально) проблемные точки для BetaRGB, но не делали этого для sRGB;
  • ColorSync: максимальная ошибка стала меньше (возможно, по той же причине), но стало гораздо больше пикселей с большими ошибками: для sRGB пикселей с ошибкой 8-13 бит было исчезающе мало, менее 0.01%, а при обработке BetaRGB их стало почти 4%.
  • Adobe CMM: выросла как максимальная ошибка, так и средняя. Максимальная ошибка - 7 бит т.е. меньше всего среди участников.
  • По доле пикселов с минимальными ошибками (0-2 бита) продолжает лидировать Argyll: 92% пикселей (у Adobe и Colorsync около 74%).
Итого: незачет ColorSync-у, остальные остались на прежнем уровне.

Полный набот участников

Для полноты картины, добавлю остальных двух участников: LCMS и Microsoft CMM. Чуда не произошло, они как работали не очень, так и работают:
betargb-g22.png

Выводы

Чем сложнее задача, тем больше рулит Adobe CMM. ColorSync на BetaRGB испортился. Продолжает приятно удивлять Argyll.

Далее в программе: линейная гамма, матричные профили. Следите за анонсами.