Ошибки при обработке цвета: часть V, табличные профили

В предыдущих сериях мы рассматривали ошибки обработки цвета, возникающие при использовании матричных профилей, т.е. таких, где преобразование в PCS (profile connection space) и обратно задается простой матрицей 3x3. В реальной жизни матричные профили используются как рабочие пространства, а на стадиях импорта изображений и печати используются табличные профили, описывающие нелинейности реальных устройств.

Методология тестирования подробно описана в первой и второй статьях серии.

Upd: включены данные по Argyll для линейной гаммы. Конечно, "гонки по кругу" для табличных профилей не могут даже в теории дать абсолютно точный результат:

  • во-первых, значения попадающие между "узлами" таблицы интерполируются, а сами таблицы не очень большие, максимум несколько десятков тысяч элементов (при числе входных значений от 16 млн для 8-битных файлов до невообразимой величины для 96-битных);
  • во-вторых, в типичном табличном профиле важна только одна из таблиц: входная для input device, выходная для печати, а вторую таблицу можно генерировать приближенно, она в реальной жизни не используется;
  • в-третьих, табличные профили описывают устройство с конкретным gamut, если входные данные выходят за его пределы, то эффекты могут быть самые странные.
Поэтому профили для тестирования необходимо либо тщательно отбирать, либо генерировать специально.

Профиль с gamma 2.2

В качестве тестового профиля с gamma 2.2 был отобран мониторный профиль, сгенерированный Profile Maker 5.04. Он описывает устройство с небольшим gamut (LCD-монитор NEC 2180ux), присутствуют обе таблицы (AtoB и BtoA), обе таблицы одинакового размера.

В тестировании приняли участие те же реализации CMM, что и в прошлые забеги:

  • Adobe Photoshop с тремя CMM (Adobe, Apple Colorsync, Microsoft CMM);
  • LCMS
  • Argyll CMS
Результаты довольно типичные:
rgb16bit-tbl-g22.png
Результаты "обычные":
  • лучше всех Argyll;
  • Adobe CMM заметно лучше Apple Colorsync;
  • LCMS и Microsoft CMM в отстающих
Как и ожидалось, ошибка больше, чем для матричных профилей, приблизительно на один бит, но у лучших двух CMM от 95 до 96% пикселей имеют ошибку ниже зоны видимости (в пределах 8 бит для 16-битного файла).

Профиль с gamma 1.0

Для тестирования с gamma 1.0 использовался специально сгенерированный профиль в формате ICC 4.0. К сожалению, Argyll CMS этот формат не понимает, для него использовался профиль в формате ICCv2. Результаты выглядят так:
rgb16bit-tbl-g1.png
Интересны результаты только трех лучших, Argyll, Adobe и Apple:
  • Точность Argyll вполне достаточна, везде удалось остаться в пределах 8-битной ошибки.
  • для Adobe и Apple количество пикселей с потенциально-видимой ошибкой (больше 8 бит) выросло до 9%;
  • Adobe несколько точнее, чем Apple в области малых ошибок (но разница не будет видна)
  • ошибки много больше, чем при использовании матричных профилей

Выводы

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

Переход к плавающей точке (Argyll в precision mode) даже при промежуточном округлении до 16-бит дает более чем приемлемые результаты. Будем ждать, пока производители перейдут на floating point ?