создания универсального цветового профиля

  • Автор темы Автор темы smilem
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: создания универсального цветового профиля

Позволю себе задать дилетантские вопросы :)

Nikolay_Po сказал(а):
При печати в режиме драйвера принтера ICM=OFF, стандартная линеаризация от производителя принтера не применяется.
Что такое линеаризация от производителя? Где сидит этот модуль линеаризации и какой именно процесс в принтере он приводит к линейности?

Если драйвер с помощью жестко прошитых «профилей» преобразует аппаратные RGB данные в управляющие сигналы CMYK для печатающей головки, то почему бы этому преобразованию самому не стремиться к линейности? Какой практический смысл в использовании отдельного модуля линеаризации, который еще и не всегда включен?

Могу предположить, что это аппаратное преобразование настолько несовершенно, что его предваряют программным, где силами CMM корректируют входящие RGB данные и вдобавок мы получаем возможность менять интерпретацию цвета исходного RGB. Наверное даже линейность получится лучше, однако, это значит что CMM принтера и «линеаризация от производителя» суть одно и то же.

Отсюда вопрос, как мы сможем получить ситуацию, когда линеаризация работает, а CMM бездействует? По-моему мы и то и другое просто заменим на движок от Microsoft.

Nikolay_Po сказал(а):
профиль Lab2Lab - один к одному. Что на входе, то и на выходе.
Хмм.. На входе аппаратный RGB. И на выходе мы получим его же?

Nikolay_Po сказал(а):
Если в режиме управления цветом, примененяя профиль Lab2Lab, распечатать мишени
Рзве существуют устройства печатающие из Lab?
 
Ответ: создания универсального цветового профиля

Что такое линеаризация от производителя? Где сидит этот модуль линеаризации и какой именно процесс в принтере он приводит к линейности?

Это заложенные в драйвер кривые линеаризации и разделений RGB-CMYK, в общем случае свои для каждого носителя. Это "чёрный ящик" производителя.

Если драйвер с помощью жестко прошитых «профилей» преобразует аппаратные RGB данные в управляющие сигналы CMYK для печатающей головки, то почему бы этому преобразованию самому не стремиться к линейности? Какой практический смысл в использовании отдельного модуля линеаризации, который еще и не всегда включен?

Смысл такой, что без линеаризации не будут нормально работать профили от самого же производителя, если их подключать отдельно в CMM операционной системы. А без отключения встроенного CMM драйвера не получиться применить внешний профиль.

Могу предположить, что это аппаратное преобразование настолько несовершенно, что его предваряют программным, где силами CMM корректируют входящие RGB данные и вдобавок мы получаем возможность менять интерпретацию цвета исходного RGB. Наверное даже линейность получится лучше, однако, это значит что CMM принтера и «линеаризация от производителя» суть одно и то же.

Аппаратного там ничего нет. Всё в драйвере. На принтер выводятся только команды на плевки дюзам (у Epson). Интерпретация цвета из RGB нужна в любом случае: принтер принимает только аппаратные RGB или "цвет" в абстрактных sRGB/AdobeRGB. В первом случае СММ драйвера не работает, последнем случае работает. Линеаризация же может применяться в обоих.

Отсюда вопрос, как мы сможем получить ситуацию, когда линеаризация работает, а CMM бездействует? По-моему мы и то и другое просто заменим на движок от Microsoft.

Именно потому, что движок Microsoft неспособен производить линеаризацию, и драйвер принтера ничего из своего "чёрного ящика" не показывает, а профили от производителя всё же имеются, я полагаю, что ситуация, когда CMM=Microsoft, а линеаризация - драйвера, может иметь место.

Так же считаю, что в режиме CMM=OFF линеаризация в драйвере специально отключается, остаётся только примитивное разделение RGB->CMYK. Вероятно специально, чтобы сделать невозможным нормальное профилирование и вынудить пользователя покупать оригинальные расходники.

Хмм.. На входе аппаратный RGB. И на выходе мы получим его же?

Для драйвера аппаратный "RGB" на входе только в случаях ICM=OFF или ICM=Microsoft. В режимах типа "стандарт", sRGB, AdobeRGB принтер интерпретирует данные как абстрактные sRGB/AdobeRGB, используя встроенный CMM драйвера. Для CMM Microsoft на входе абстрактные данные (по умолчанию sRGB), а на выходе - аппаратные. Вроде так.

Рзве существуют устройства печатающие из Lab?

"Из Lab" печатает любой CMM. Lab является пространством сопряжения профилей устройств (абстрактных и аппаратных). Именно поэтому профиль Lab-Lab способен выполнить передачу данных на принтер 1:1 при включённой CMM (справедливо для RGB-принтеров). Выход "Lab" такого профиля воспринимается CMM как аппаратное устройство с охватом, равным Lab. Поэтому и gamut-mapping не влияет на результат.
 
Ответ: создания универсального цветового профиля

Именно поэтому профиль Lab-Lab способен выполнить передачу данных на принтер 1:1 при включённой CMM (справедливо для RGB-принтеров). Выход "Lab" такого профиля воспринимается CMM как аппаратное устройство с охватом, равным Lab. Поэтому и gamut-mapping не влияет на результат.
Не понятно. GDI на вход для печати надо ведь подавать не Lab, а RGB.
Может в данном случае дополнительным lab-профайлом мы получаем или null transform преобразование, или делаем преобразование для другого источника?
 
Ответ: создания универсального цветового профиля

Какой практический смысл в использовании отдельного модуля линеаризации, который еще и не всегда включен?
Линеаризация сделана для известных производителю бумаг и чернил.
Выключение в принципе дает свободу для внесения каких угодно "предыскажений" с помощью внешних программ (передележка в Фотошопе).
Где сидит этот модуль линеаризации и какой именно процесс в принтере он приводит к линейности?
Я сильно подозреваю, что "сидит" она в микросхеме принтера, драйвер лишь дает команду по использованию той или иной линеаризации и TIL.

драйвер с помощью жестко прошитых «профилей» преобразует аппаратные RGB данные в управляющие сигналы CMYK для печатающей головки
Как уже я сказал выше скорее всего это делает не драйвер, а микросхема в принтере. Драйвер очевидно отсылает в принтер RGB из файла (после преобразования в приложении) as is + информация какой TIL и линеаризацию (таблицы) использовать микросхеме, во всех случаях кроме ICM вкл и наличия профиля в списке "Управление цветом".
Это все мои предположения.
 
Ответ: создания универсального цветового профиля

Не понятно. GDI на вход для печати надо ведь подавать не Lab, а RGB.
Может в данном случае дополнительным lab-профайлом мы получаем или null transform преобразование
Да, видимо так.
Я думаю, что результат будет таким же, если удалить все профиля из списка "Управление цветом" в драйвере. Здесь же автор не хочет этого делать по определенным причинам и подсовывает "левый" профиль". CMYK профиль подсунуть нельзя, этот оказывается, можно.
 
Ответ: создания универсального цветового профиля

Именно поэтому профиль Lab-Lab способен выполнить передачу данных на принтер 1:1 при включённой CMM (справедливо для RGB-принтеров). Выход "Lab" такого профиля воспринимается CMM как аппаратное устройство с охватом, равным Lab. Поэтому и gamut-mapping не влияет на результат.
Чего ж тогда мелочиться — использовать сразу Брюсовский UpLab.icc, заодно мимоходом решив проблему "blue turns purple".
 
Ответ: создания универсального цветового профиля

Я всё больше запутываюсь.

Драйвер получает извне трёхкомпонентный сигнал (будем считать RGB). Так что внешние программы воспринимают принтер как RGB-устройство.

А на дюзы он посылает 4 (условно) сигнала – их мы считаем CMYK'ом.

Это обязательное преобразование трёхкомпонентного сигнала в четырёхкомпонентный. И оно обязано быть линейным. Нелинейность по аналогии с офсетом возникает при переходе от «плевка» к пятну на носителе. И её компенсируют кривыми. Хорошо.

CMM принтера работает прежде всего этого безобразия и с помощью профиля устройства описывает входящий трёхкомпонентный сигнал в рамках цветового пространства. Т.е. каждой тройке аппаратных сигналов ставится в соответствие координата в Lab. Таким образом строится цветовое пространство принтера и задача СММ — преобразовывать цвета из цветового пространства файла в цветовое пространство принтера.

А что нам даёт такое преобразование, где на выходе получается Lab, а не набор аппаратных данных?

Допустим, такое преобразование возможно сделать силами Microsoft_CMM. Но для этого нужно на файл с мишенью навесить хоть какой-нибудь профиль, потому что изначально там нет «цвета», только голые аппаратные данные.

Получается, на выходе Microsoft_CMM мы получим sRGB-интерпретацию цвета мишени, которая нам для профилирования совершенно не нужна, да еще и использовать её мы не можем, потому что драйвер требует аппаратные данные, а не цветовые координаты.
 
Ответ: создания универсального цветового профиля

что результат будет таким же, если удалить все профиля из списка "Управление цветом" в драйвере.
Совсем необязательно. Профили от бытовых струйников зачастую не устанавливаются в системе, просто лежат в папке ...\color. Не факт, что при печати какой-нибудь из них не будет использован. А на расстоянии объяснять рядовому юзеру как деинсталлировать и вычищать профили долго и ненадежно. Тем более что названия у них, как правило, расшифровываются с трудом.
 
Ответ: создания универсального цветового профиля

А на дюзы он посылает 4 (условно) сигнала – их мы считаем CMYK'ом.
Посылкой сигнала на дюзы в данном случае занимается "черный ящик". На входе этого ящика может быть только rgb. С чего Николай решил, что будет воспринят Lab — совершенно непонятно.
 
Ответ: создания универсального цветового профиля

ilias, сказанное вами не совсем верно (по-моему). В принтер зашиваются только напряжения для приведения размеров капель к нормам. Линеаризация как таковая - в RIP, то есть в драйвере. Сам принтер не влияет на расположение и плотность капель (Epson).
 
Ответ: создания универсального цветового профиля

Ладно, допустим Microsoft_CMM при указании Lab в качестве выходного профиля делает null transform преобразование и игнорируя исходный профиль выдает голые аппаратные данные. Но зачем так сложно? Если нам нужно протащить через CMM мишень без цветовых преобразований, то почему бы не повесить на неё sRGB-профиль и отпечатать в «стандартном» режиме?

Upd. Хотя со стандартным это я погорячился. надо sRGB задать на выходе вместо Lab'а.
 
Ответ: создания универсального цветового профиля

Совсем необязательно. Профили от бытовых струйников зачастую не устанавливаются в системе, просто лежат в папке ...\color.
"Устанавливаются в системе" и "просто лежат в папке ...\color" это можно сказать - одно и тоже. :)
Другое дело когда профиля "устанавливаются в драйвере".
На обсуждаемом сайте предлагается "прикрутить" профиль X-Rite Generic LAB конкретно к драйверу малого струйника Epson, для которого, как известно, при установке драйвера профиля в списке "Управление цветом" устанавливаются. Очевидно нет резона их отттуда все удалять, т.к. очевидно при ICM вкл. и выборе профиля "автоматически" выбирается определенный профиль из установленных в драйвере.
 
Ответ: создания универсального цветового профиля

В принтер зашиваются только напряжения для приведения размеров капель к нормам.
Где тогда таблица RGB-CMYK (ClcMlmYK ...) ?
По-вашему она в драйвере и спулер Винды шлет в принтер инфу, где уже имеется раскладка по CMYK (ClcMlmYK ...)? Чего-то не верится.
А ведь еще нужен растр (screening).
Мне кажется этими вопросами занимается чип в принтере, а не драйвер. Драйвер GDI, как мне кажется, шлет 8 ми битный 3х канальный массив типа "8ми (16ти) битный тифф" + служебная инфа, которая содержит команды выбора чипу принтера: какая таблица RGB-CMYK (ClcMlmYK ...), кол-во проходов, скорость, sreening ну и еще разные фишки. А уже чип принтера на основе этой информации все это перемалывает в "однобитные тифы" для каждого канала и, последняя стадия (может быть другой чип) - команды напряжений на головки, согласованные с командами на механику. Контроль согласованности - энкодер.
 
Ответ: создания универсального цветового профиля

Для прояснения вопроса может кто-нибудь напишет цепочки преобразований с этим (т.е. lab) и нормальным (out) профайлом?
 
Ответ: создания универсального цветового профиля

Я понял так:

ICM=OFF
RGBprinterCMYKПечать

ICM=CMM принтера
RGB → (CMM: sRGB/printerRGB) → printerRGBprinterCMYKЛинеаризацияПечать

ICM=MicrosoftCMM
RGB → (Microsoft_CMM: sRGB/Lab) → RGBprinterCMYK ЛинеаризацияПечать

Т.е. первый и последний варианты отличаются включением заводской линеаризации, а вот где она территориально находится, в драйвере или чипе — мнения разделились :)
 
Ответ: создания универсального цветового профиля

в драйверах обсуждаемых принтеров ИМХО CMM никакого нет
О CMM принтера можно начать говорить, когда в драйвере появляется возможность выбора 3х основных парметров
input profile
rendering intent
output profile
например, как здесь
 

Вложения

  • Univ_Epson-R1800-1.png
    Univ_Epson-R1800-1.png
    28.1 КБ · Просм.: 1 089
Ответ: создания универсального цветового профиля

А что тогда происходит при выборе 'сопоставление драйвера' (рис. 7, стартовой статьи)?
 
Ответ: создания универсального цветового профиля

Мне кажется этими вопросами занимается чип в принтере, а не драйвер.
Дело в том, что EPSON испокон века использует для печати низкоуровневый язык ESC/P и его развитие, т.е. фактически мы именно говорим какому соплу что плевать.

Вот глянь, тут немного разрыто:
http://gutenprint.sourceforge.net/developer-html/c464.html

Насколько понимаю что-то вроде:
ESC i COLOR1 COMPRESS1 BITS1 BYTES2 LINES2 data...
Color1:
0 Black
1 Magenta
2 Cyan
4 Yellow
5 Alternate black (Stylus C70/C80)
6 Alternate black (Stylus C70/C80)
16 Gray (“light black”)
17 Light magenta
18 Light cyan

COMPRESS1
0 No compression
1 TIFF compression (incorrectly documented as “run length encoded”)
2 TIFF compression with a special command set, or “run length encoding 2” on some printers.
 
Ответ: создания универсального цветового профиля

А что тогда происходит при выборе 'сопоставление драйвера' (рис. 7, стартовой статьи)?
Команда выбрать табличное преобразование. Никаких CMM и icc профилей. Можно назвать это Device Link Profile.
 
Ответ: создания универсального цветового профиля

similideus, я не много другое имел в виду. Мне не понятно, что делаем майкрософтская ICM при наличии lab2lab профиля в настройках принтера.
Насколько я понял описание, то ICM производит одно или несколько (массив преобразований). В любом случае как бы нужны 2 профиля - source и destination. Если не указывается source, то автоматом берется (?!) sRGB.
При цепочке, допустим sRGB.icm->PrinterRGB.icc преобразования простые, т.е. sourceRGB->Lab->printerRGB которые подхватывает GDI, "передает" драйверу и т.д.
При цепочке sRGB.icm->Lab.icm получается sourceRGB->Lab->destLAB. Спрашивается, что должен получить GDI? Мне кажется дальше идет автоматом пересчет через sRGB, те получается null трансформация или же считается, что трансформация sRGB.icm->Lab.icm "неудачная" и на вход GDI идут sourceRGB.
 
Статус
Закрыто для дальнейших ответов.