i1+неродной софт: доверяю, но проверяюсь

Статус
Закрыто для дальнейших ответов.

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

Arkady сказал(а):
По умолчанию Media Model задается кусочно-линейной функцией, состоящей из десяти звеньев (11 опорных точек). Между каждой парой опорных точек изменение плотности предполагается линейной. Число опорных точек, их количество и значение можно произвольно менять[/B].
Неужели в Ониксе особо не напрягались в плане алгоритмов интерполяции? Каждый студент знает, что этот метод интерполяции даёт наибольшую погрешность между узловыми точками, особенно для кривых с явно выраженной второй производной. Это приводит к тому, что результат компенсации будет превышать норму в зонах с колебаниями F"(D) между узлами измерений. Единственное, что радует - узлы можно добавлять, но всё равно результат компенсации даст завышенные значения.
 

Arkady

Участник
Сообщения
697
Реакции
2
Ответ: i1+неродной софт: доверяю, но проверяюсь

Да нет там никакой нормы :) Какую хочешь целевую зависимость — такую и делай: в пределах разумного, конечно — зависимость, показанная в предыдущем моем посте посте — неразумная :). Потом свяжешь получившуюся зависимость Lab и CMYK профайлом и все. Это ведь не полиграфия, где, если соблюсти нормы, то результат можно будет посмотреть даже в специальном справочнике по типу Panton'овского веера или каталога «Радуга». В полиграфии кривые растискивания и нормы плотностей — один из факторов стандартизации процесса печати в масштабе как минимум страны, здесь же — средство достижения повторяемости результата в масштабе принтера или триады «носитель—краска—принтер». Например, при замене носителя на такой же, но из другой партии, плотности могут уйти на 0,2…0,3D (например с 1,8 до 2,1) из-за разной смачиваемости краской — какие уж тут «нормы»! Не говорю уж про китайцкую краску по «рупьписятзалитр» — там сам цвет краски может меняться от партии к партии.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

Я говорил вовсе не об имитации офсетного ростиска.

После печати градационных тестов результат на выходе датчика (пока так назовём измерительный прибор) получается далеко не линейный. Даже если пересчитать D в некие условные % тона по любому из статусов, то мы получим весьма нелинейную кривую. Наибольшая погрешность кусочно-линейной интерполяции такой кривой будет между узлами на участках кривой, где происходят существенные колебания нашей таблично заданной F.
В идеале хотелось бы иметь возможность для итерационной коррекции кривой - хоть это и затратный метод, но он позволяет снизить случайные ошибки измерений. Девиацию тона внутри одного тестового патча снизить достаточно просто, если замеры выполняются в разных точках этого самого патча - бумага не может быть идеально однородной основой для измерений. А вот итерации для "шлифовки" кривой я видел только в РИПе на движке Harlequin (к сожалению, имел дела только с APOGEE PDF-RIP и Harlequin).

Отклоняясь от обсуждения конкретной реализации методов расчёта интерполяции, считаю, что заложив в софт возможность усреднения отсчётов внутри каждого патча и хотя бы квадратичную интерполяцию между узлами, можно добиться намного более точных результатов. Однако, проблема точности ограничивается не только мат. методами. К сожалению, не каждый прибор, хорошо измеряющий АМ-растр, бкдет так же достоверно промерять крупную стохастику ( с разрешениями менее 600 ppi).
Я хочу сказать, что ошибка при усреднении полутонов от стохастики может проявлять себя именно в виде "изломанной" кривой. Частично это может победить итерационная коррекция кривой, но она никогда не победит систематическую ошибку измерительного прибора, не способного достоверно измерить исследуемый растр.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

DimB сказал(а):
Для cyan вид почти такой же. Для black разброс меньше.
yellоw - наибольший разброс.

Ситуация все-таки хуже:
и в strip и в patch mode onyx не отслеживает девиацию* прибора.
Измерения ведутся с вычитанием бумаги и в patch mode
можно получить даже отрицательные значения при окончательном замере бумаги!
Всё, что я выделил, можно отнести к сложности измерения Y - энергетически это самый насыщенный цвет и, соответственно, наименее заметный на основе, даже с примением селективных фильтров.

Поэтому в остальных каналах (имеющих наибольший ND) влияние ошибки менее заметно.
Отрицательные значения так же легко получить, используя DTP-20 pulse и ColorPort с вычитанием свойств бумаги. Но насколько отрицательны значения? Do=-0.004? Можно просуммировать эту разницу к остальным данным по каналу. А можно самому "занулить" ф-цию поканално, используя "полные" значения D.

ЗЫ. Похоже, что разные режимы измерения в Onyx существенно отличаются по методам противодействия ошибкам измерения. Естественно, судить можно по предоставленным результатам.
 

Arkady

Участник
Сообщения
697
Реакции
2
Ответ: i1+неродной софт: доверяю, но проверяюсь

ch_alex сказал(а):
…После печати… тестов результат на выходе… получается далеко не линейный…
Вы даже представить себе не можете, насколько нелинейный :) Разумеется, в «один прием» никто и не меряет — минимум пять-шесть измерений с разных (не одной и той же!) шкал — в этом случае случайная ошибка как правило не превышает 2…3% на плотных полях; с уменьшением к светлых полям до погрешности прибора. О необходимости проведения нескольких измерений сказано как Help'e, так и виде ненавязчивого напоминания в настройках измерительного прибора.
Ошибки интерполяции — даже линейной, очень невелики, т.к. по умолчанию поля идут через 3,13% (31 поле на краску), но шаг можно сделать и меньше.

ch_alex сказал(а):
Отрицательные значения так же легко получить, используя DTP-20 pulse и ColorPort с вычитанием свойств бумаги. Но насколько отрицательны значения? Do=-0.004?
Onyx тоже вычитает бумагу, только, в отличие от ColorPort'а ругается на отрицательные плотности и отказывается с ними работать.
По правде сказать, отрицательную плотность я получил только однажды — когда под бумагой случайно оказался кусок черной пленки и белое поле оказалось темнее, чем первое поле краски. Есть и другие способы получения «отрицательной» плотности, но они требуют специальных пассов руками. Случайно — из-за ошибок, отрицательная плотность за год с лишним пока не получалась ни разу.

К слову сказать, в Pulse (DTP-20) нет режима измерения плотностей — она вычисляется из спектральных данных приложением (см. PDF).
 

Вложения

  • Pages from DTP20_Command_Interface_Manual_OEM.pdf
    140.1 КБ · Просм.: 885

minos

Модератор
Топикстартер
15 лет на форуме
Сообщения
1 935
Реакции
707
Ответ: i1+неродной софт: доверяю, но проверяюсь

Arkady сказал(а):
Onyx тоже вычитает бумагу, только, в отличие от ColorPort'а ругается на отрицательные плотности и отказывается с ними работать.
По правде сказать, отрицательную плотность я получил только однажды — когда под бумагой случайно оказался кусок черной пленки и белое поле оказалось темнее, чем первое поле краски. Есть и другие способы получения «отрицательной» плотности, но они требуют специальных пассов руками. Случайно — из-за ошибок, отрицательная плотность за год с лишним пока не получалась ни разу.

А вот у меня постоянно выпадают отрицательные плотности... На патчах чистой paper и близких к ним... :( Правда и значения получаются в пределах тысячных долей... Мухи. При этом нужно отметить, что KeyWizard на тех же патчах ни разу не выдал отрицательные значения.
 

Arkady

Участник
Сообщения
697
Реакции
2
Ответ: i1+неродной софт: доверяю, но проверяюсь

Судя по всему, причина в «особом» подходе Media manager'а к работе с приборами типа i1 и DTP-20 — сканирующего типа. В результате мы отказались от работы с прибором непосредственно в Media manager'е, а используем ColorPort и простенькую самописную программку, усредняющую промеры. Слава богу, с текстовыми файлами Media manager работает без глюков. Получается к тому же еще и быстрее.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

Arkady сказал(а):
Вы даже представить себе не можете, насколько нелинейный :)
Ну почему же? Очень даже могу. Я так и не смог окончательно линеаризовать HP 1550c, подключенный к Принтдрайву. Пока ищу способ скрестить численные методы квадратичной интерполяции и комбинированный метод предсказания-коррекции по Адамсу внутри OpenOffice или хотя бы в Excell (последний не держу). Только с прибором проблема - точность измерений.
К слову сказать, в Pulse (DTP-20) нет режима измерения плотностей — она вычисляется из спектральных данных приложением (см. PDF).

Не по теме:
Конечно же нет, но их вычисляет ColorPort по спектрам и установленному юзером статусу. Вариации - колебания плотности основы (при замерах сканированием полей) и девиация свойств прибора, поскольку неоднократное измерение в одном месте (без малейшего перемещения прибора) даёт колебания в пределах +-0,02D.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

Arkady сказал(а):
и простенькую самописную программку, усредняющую промеры.

Не по теме:
По каким параметрам усредненяете? По плотностям или по вычисленным из D процентам тона? Усреднение средне-арифметическое в узловых точках или как-нибудь ещё?
D берёте из измерений по каждому каналу отдельно? Или для CMK - по Visual, а для Y - по каналу Y?

 

Arkady

Участник
Сообщения
697
Реакции
2
Ответ: i1+неродной софт: доверяю, но проверяюсь

ch_alex сказал(а):

Не по теме:
По каким параметрам усредненяете?

1. Плотности.
Усредняется «толщина красочного слоя», т.е. усредняются «десять в степени D» — вычисляется средний отраженный поток, нормированный к падающему.

2. Lab.
Усреднение производится в XYZ-пространстве. Затем из полученного среднего XYZ вычисляется Lab. Для расчетов используется D50.

3. Спектр.
Вычисляются средние амплитуды гармоник.

Во всех случаях ввиду небольшой выборки — всего 5-6 серий измерений, определение закона распределения, выделение и исключение анормальных рез-тов измерений и прочее шаманство, не производятся. Под «средним» везде понимается среднее арифметическое.
 

Вложения

  • OnyxGadget.png
    OnyxGadget.png
    10.1 КБ · Просм.: 951

minos

Модератор
Топикстартер
15 лет на форуме
Сообщения
1 935
Реакции
707
Ответ: i1+неродной софт: доверяю, но проверяюсь

Коллеги... А вот и официальное заявление Onyx GFX на указанную тему (thanx Anakonda):

http://www.onyxgfx.com/kb.pl?cmd=view&kbid=177

С уважением, Дмитрий.
 

Anakonda

10 лет на форуме
Сообщения
18
Реакции
5
Ответ: i1+неродной софт: доверяю, но проверяюсь

Вышло обновление до 7.0.5
все тут: http://www.onyxgfx.net
Многое пофиксили.
 

Alex-rsr

Участник
Сообщения
67
Реакции
0
Ответ: i1+неродной софт: доверяю, но проверяюсь

Уважаемый автор темы. Из названия не ясно, что здесь идет обсуждение профилирования растровых процессоров. Может переименовать?


ch_alex сказал(а):
... Я так и не смог окончательно линеаризовать HP 1550c, подключенный к Принтдрайву. Пока ищу способ скрестить численные методы квадратичной интерполяции и комбинированный метод предсказания-коррекции по Адамсу внутри OpenOffice или хотя бы в Excell (последний не держу). Только с прибором проблема - точность измерений.

Что вы понимаете под квадратичной интерполяцией? По моему опыту эффективное построение кривой линеаризации (кривая, в смысле график, а не оценка результата) является spline-интерполяция.

Вообще-то линеаризация процесса в струйной печати - это отдельная тема для обсуждения. Уж очень много очевидных плюсов и минусов она дает. Рассмотрим, к примеру поведение цветового охвата.

Вот тезис: ЛИНЕАРИЗАЦИЯ - убийца цветового охвата, отсутствие ЕЁ - убийца точности профиля.

Поясню, что имею ввиду
К примеру, при построении профайла ставим total ink limit = 260%. Смотрим на тёмно-красный цвет. Например C=0, M=90, Y=90, K=80. Цвет на границе охвата. Была проведена линеаризация. Что мы видим: M=90 на самом деле M=50, ведь есть кривая линеаризации. И вообще, этот плотный цвет имеет суммарно 135% и это предел, для данного цвета, установленный total ink limit = 260% и линеаризацией. А ведь если бы не было линеаризации, мы бы могли получить гораздо более плотный цвет и больший цветовой охват при том же самом total ink limit = 260%. Первую часть доказали.
Вторая часть.
Примечание: для всеобщей понятности допущен отход от действительной ситуации.
В тестовой таблице при построении профиля печатаются цвета с каким-то интервалом. Они же и замеряются. А всё, что между, воспроизводится посредством интерполяции.
Отвлеченный пример, способствующий пониманию: Есть функция F(x). Мы знаем (например измерили) F(1)=2, F(3)=8. Вопрос. Чему равно F(2)? Ответ: Знать не можем. Вот так же и профилировщик. Не может знать, но может предполагать.
В случае если была проведена линеаризация, то понятно F(2) = 5 (функция то линейна). А если линеаризации не было? Ответ может быть любым, а профилировщик думает, что F(2) = 5, и, как правило, ошибается. А у нас возникают ступеньки, провалы, постеризация, непоподание в цвет... Вторую часть доказали.
Допишем тезис:
ЛИНЕАРИЗАЦИЯ - убийца цветового охвата, отсутствие ЕЁ - убийца точности профиля. А искусство построения профиля растрового процессора заключается в умении искать компромисс между первым и вторым.
..И не только в этом. Без доказательства.

В случае со светлыми оттенками чернил (lc, lm) вопрос линеаризации и цветового охвата становится менее очевидным, даже для самого Onyx. К примеру, отсутствие второго и третьего размера капли в светлых чернилах в формировании стохастического растра (рассматриваются Epson'оподобные принтеры). Кстати при печати штатным драйвером Epson используются все размеры капель в светлых чернилах.

В общем, если копать глубже, ленеаризация дает больше вопросов, чем ответов.
Так что предлагаю решить не только вопрос как делать линеаризацию, но и насколько ее делать, в зависимости от ситуации.


С уважением, Александр.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

Alex-rsr сказал(а):
Что вы понимаете под квадратичной интерполяцией?
В основе интегрирования по методу парабол лежит метод интерполяции табличной функции с помощью параболы, проведённой по 3 точкам на каждом отрезке интегрирования. Это достаточно эффективный метод для интерполяции, дающий вполне предсказуемую точность. И достаточную точность.

Неделю назад я реализовал таки метод прогноза-коррекции на основании двух замеров с учётом ошибки измерения. Первые результаты меня порадовали, ибо удалось учесть погрешность денситометра (вызванную дискретностью механизма округления данных) и получить гладенькую результирующую кривую, без заметных "всплесков" (или "загогулин"). По этому методу я выполнил линеаризацию плёночного ФНА и при этом получились достаточно гладкие градиенты, почти как без линеаризации. Буду двигаться дальше.
Идея коррекции не нова - в Харлекине есть возможность делать коррекцию кривой на основании последующих измерений после последнего шага линеаризации. Но я научился учитывать ошибку дискретизации без применения сложных алгоритмов - только на основе измерений.

По моему опыту эффективное построение кривой линеаризации (кривая, в смысле график, а не оценка результата) является spline-интерполяция.
Сплайн хорош до тех пор, пока отсутствуют ошибки измерений. В реальности достаточно округления (скачка), введённого измерительным прибором, чтобы вызвать "волну", которая изогнёт теоретически гладкую линию. Не годится. И отказ от режима сглаживания в Калибраторе (при построении компенсационных кривых для ФНА) только подтвердило вышесказанное. Чтобы исключить лишние разговоры, скажу, что некоторые плёночные ФНА всё же требуют компенсации средствами РИПа.

Что мы видим: M=90 на самом деле M=50, ведь есть кривая линеаризации.
То, что вы отметили "на самом деле" - это всего лишь входной сигнал для принтера, который должен нарисовать 90%. Поэтому не уравнивайте в правах стимулы, выданные из профилей в драйвер, и стимулы, поступающие на вход электроники принтера. Кроме того, линеаризация предполагает, что при любой кривой стимул в 100% даст на принтере его личные персональные 100% тона. Первый шаг - нормализация отклика принтера. Т.е. приведение диапазона 0-100% в диапазон подачи краски от 0 до N микрограмм. Тепрь внутри этого диапазона добивайтесь линейности хотя бы по ND тона для каждой краски - на 100%==Nкраски это не повлияет. Как и на 0%==0краски.
Как найти Nкраски для достижения максимального охвата принтера - задача инженеров-разработчиков принтера. При определённой щедрости, подкреплённой завышенной ценой устройства, они могут позволить юзеру регулировать параметр N и даже задавать начало и конец графика функции управления поканально.

Второй шаг - характеризация с помощью тестовых патчей, напечатанных с последней линеаризацией.

У меня были попытки выключить управление в драйвере и построить профиль названного мной принтера. Проблемы возникли в диапазонах, близких к периферии зоны цветового охвата и вблизи теней - всюду, где лилось слишком много краски. Все патчи, содержащие в любом из каналов более 60%, выглядели слишком плотными, а бинары вообще были тусклыми. Естественно, что баланс серого мне не удалось получить и охват был так себе. Нейтрально серый градиент синил начиная от 1/2 диапазона. Такой результат предсказуем, ибо не было возможности раздельного поканального управления тоновым диапазоном и линеаризацией. После линеаризации (достаточно грубой, как оказалось впоследствии) построение профиля дало уже более приятный результат - нейтрально серый градиент перестал полосить и стал более равномерно подкрашен.

По-моему, имеется величайшая путаница в умах. Она состоит в том, что реально линеаризация, во-первых, не должна влиять на граничные участки тонового диапазона печатающего устройства. Если кому-то охота поуправлять, то хорошо иметь некие управляющие параметры, задающие максимальный расход краски. Т.е. как в кране - вентиль отвёрнут на расход 2 л/час, но давление в трубе поднято и расходуется 5 л/час. Не факт, что зависимость расхода от величины открытости заслонки при разных давлениях сохранится. Вот с этой целью и выполняется линеаризация. Давлением в гипотетической трубе должен управлять совершенно иной параметр, никак не связанный ни с профилями, ни с процентами.
Во-вторых, линеаризация является исключительно аппаратно-зависимой, т.е. должна составлять единое целое с железом, образуя некий "чёрный ящик". Хорошое, если разработчики дают возможность подстроить кривули для другого типа бумаги и расхода пигментов.

Что должен сделать профиль - это учесть характеристики чёрного ящика, который был заранее линеаризован. И подавать соответствующие сигналы на его вход.

И вообще, этот плотный цвет имеет суммарно 135% и это предел, для данного цвета, установленный total ink limit = 260% и линеаризацией. А ведь если бы не было линеаризации, мы бы могли получить гораздо более плотный цвет и больший цветовой охват при том же самом total ink limit = 260%. Первую часть доказали.
Не доказали.
Не факт, что большее количество краски даст больший охват. Нескомпенсированные кривые иногда показывают снижение плотности, замерянной по статусам T/E, начиная с входных CMYK-стимулов 75-80%. Поэтому полезно было бы, к примеру, представить аппаратные 0-80% как диапазон стимулов 0-100%. Но такой явной возможности драйвер моего принтера не предоставляет. Дорогостоящий Приндрайв (средство, мягко говоря, не для цветовоспроизведения), реализует это до принтера, но после собственного CMS, как и должно быть. И как ни странно, именно с его помощью я добился внятных результатов, ибо смог раздельно управлять максимумом подачи краски и тоновой передачей.
Итак, механизм линеаризации обязан быть реализован на выходе CMS и до электроники принтера.

Вторая часть - в новом сообщении.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

Alex-rsr сказал(а):
Допишем тезис: ...отсутствие ЕЁ (линеаризции - прим. ch_alex) - убийца точности профиля. А искусство построения профиля растрового процессора заключается в умении искать компромисс между первым и вторым.
Правильно работающий механизм раздельного апаратного управления расходом краски и линеаризацией не вызовет сужения цветового охвата. Если, конечно, юзер не начнёт грубые эксперименты с управлением расходом красок.

В случае со светлыми оттенками чернил (lc, lm) вопрос линеаризации и цветового охвата становится менее очевидным, даже для самого Onyx...

В общем, если копать глубже, ленеаризация дает больше вопросов, чем ответов.
При наличии дополнительных каналов управления сложность задачи значительно возрастает, поскольку один канал управления распадается на два. Единственный способ получить однозначное управление состоит в решении уравнения P=S*F1(S)+Slight, где Slight=S*F2(S). При этом с помощью известных (предварительно заданных) функций F1 и F2 можно вычислить необходимый основной стимул S для получения необходимого P, т.е. произвести линеаризацию суммы эффектов от этих двух каналов. Важно выбрать такие функции, что бы их сумма не вызывала изломы на графике тоновой передачи. К примеру, если не выполнять глобальной предварительной линеаризации, то отсечка основного (условно "тёмного") канала в светах должна вызвать скачок первой производной характеристической кривой именно в точке отсечки. Если, конечно, в драйвере не реализована "защита" от подобной неприятности. Если подобная защита отсутствует, то возможна ситуация со значительной ошибкой интерполяции между точками измерений функции.

Вывод - не оставлять места для нелинейностей, поскольку они способны вызвать ошибки интерполяции при построении профиля. И соответственно, пояление оттенков на сером клине, "нарисованном" с помощью 6-8 каналов. И не только в сером клине...
 

Alex-rsr

Участник
Сообщения
67
Реакции
0
Ответ: i1+неродной софт: доверяю, но проверяюсь

Большое спасибо за ответ.

Давайте по порядку.

В квадратичной интерполяции меня настораживает вот что: Несимметричность третьей точки относительно интерполируемого интервала. Результат при третьей точке слева будет отличаться от результата при третьей точке справа от интервала. В случае изменения знака второй производной внутри интерполируемого интервала мы получим совершенно разные результаты интерполяции. А ведь при использовании осветленных тонов в сочетании с плотными мы получим именно эту ситуацию.

При использовании сплайн-интерполяции как-то компенсировались ошибки измерений, но не я отвечал за этот алгоритм, поэтому сейчас не могу написать как.

ch_alex сказал(а):
То, что вы отметили "на самом деле" - это всего лишь входной сигнал для принтера, который должен нарисовать 90%. Поэтому не уравнивайте в правах стимулы, выданные из профилей в драйвер, и стимулы, поступающие на вход электроники принтера. Кроме того, линеаризация предполагает, что при любой кривой стимул в 100% даст на принтере его личные персональные 100% тона. Первый шаг - нормализация отклика принтера. Т.е. приведение диапазона 0-100% в диапазон подачи краски от 0 до N микрограмм. Тепрь внутри этого диапазона добивайтесь линейности хотя бы по ND тона для каждой краски - на 100%==Nкраски это не повлияет. Как и на 0%==0краски.

Предлагаю определиться с тем, что рассматриваем. Я могу со знанием дела говорить только об Epson'оподобных принтерах, то есть о принтерах с печатающей головой Epson и работающих с командами ESCP2. Так вот, в данном случае, "стимулы, поступающие на вход электроники принтера" соответствуют реальному количеству выливаемых чернил. При печати на принтере TIL зависит, в том числе и от того, сколько чернил может принять бумага. Если TIL >= 300% то линеаризация никак не повлияет на цветовой охват, если меньше, то ситуация вот какая:

Имеем кривую линеаризации: 0->0; 50->90; 100->100.
При этом все каналы у нас предварительно "правильно подрезаны"(далее обсудим как). Выяснили TIL = 210% в нелинеаризованном CMYK. Возьмем пограничный цвет C=0 M=100 Y=100 K=10. После линеаризации для получения этого цвета нам надо послать на печать C=0 M=100 Y=100 K=25. Соответственно при построении профайла мы можем задать TIL=225%. Рассмотрим цвет C=0 M=90 Y=90 K=80. Этот цвет не может быть получен путем цветоделения через построенный профайл (сумма красок 260%). Однако без линеаризации этот цвет имеет следующие значения C=0 M=50 Y=50 K=40 (сумма красок 140%) может быть воспроизведен на носителе с TIL=210%, соответственно, при построении профайла без предварительной линеаризации попал бы в цветовой охват профайла. Я не говорю о качестве данного профайла. Я говорю о том, что сушествуют CMYK цвета, которые без линеаризации попадают в цветовой охват и могут быть без проблем напечатаны, а с линеаризацией не попадают в цветовой охват. И более того существуют носители, на которых в данной ситуации увеличение количества краски (в данных пределах) даст увеличение цветового охвата. То есть эти CMYK цвета дадут Lab цвета за пределами охвата линеаризованного профайла.

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

К сожалению, и достаточно часто, влияет и сильно.

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

Не доказали.
Не факт, что большее количество краски даст больший охват. Нескомпенсированные кривые иногда показывают снижение плотности, замерянной по статусам T/E, начиная с входных CMYK-стимулов 75-80%. Поэтому полезно было бы, к примеру, представить аппаратные 0-80% как диапазон стимулов 0-100%. Но такой явной возможности драйвер моего принтера не предоставляет.

Согласен. На разных носителях диапазон эффективного прироста цветового охвата разный, но и не должен являться задачей инженеров. Вы предлагаете оценивать по плотности, но часто достижение максимальной плотности по каналу уже является избыточным условием для прироста цветового охвата. Дело в том, что начиная с какого-то момента при увеличении количества краски начинает меняться Hue, а прибавление Saturation становится незначительным. Вот в этот момент и стоит остановиться. Зачем лить 200% Yellow, если можно напечатать 100Y 5M и получить тот же самый цвет. Хотя при замерах мы увидим, что плотность желтого растет.

Если хотите представить аппаратные 0-80% как диапазон стимулов 0-100%, то можно кривую линеаризации выводить не 100%->100%, а 100%->80%.
В Onyx Postershop это делается очень удобно, путем установки параметра Ink Restriction.

ch_alex сказал(а):
При наличии дополнительных каналов управления сложность задачи значительно возрастает, поскольку один канал управления распадается на два. Единственный способ получить однозначное управление состоит в решении уравнения P=S*F1(S)+Slight, где Slight=S*F2(S). При этом с помощью известных (предварительно заданных) функций F1 и F2 можно вычислить необходимый основной стимул S для получения необходимого P, т.е. произвести линеаризацию суммы эффектов от этих двух каналов.

Есть другой способ, практикующийся в большинстве RIP.
Светлый тон выделяется на этапе построения стохастического растра. Проще говоря мы распределяем ошибку (error diffusion) не только на три размера капли плотного тона но и на капли светлого тона. То есть светлый тон у нас представляется как капли плотного тона, но очень маленькие. А пользователь видит эти два канала как один.

Но и в Вашем способе и в мною описанном есть недостаток: Наличие светлых тонов меняет всю картину реального количества краски в цвете, и вопрос TIL можно начинать заново.

Производители RIP, как правило выходят следующим образом: Используют только самый маленький размер капли светлых чернил. Оправдано ли это? Можно открыть тему "Методы построения стохастического растра" и там это обсудить.

С уважением, Александр.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: i1+неродной софт: доверяю, но проверяюсь

Alex-rsr сказал(а):
В квадратичной интерполяции меня настораживает вот что: Несимметричность третьей точки относительно интерполируемого интервала. Результат при третьей точке слева будет отличаться от результата при третьей точке справа от интервала. В случае изменения знака второй производной внутри интерполируемого интервала мы получим совершенно разные результаты интерполяции.
Пока отвечу на эту часть, ибо завтра с утра на смену. ;)
Остальное требует вдумчивого чтения, на что я сейчас не способен.

Я не вполне понял, что вы подразумеваете под симметричностью точки. Её положение, или форму вписанной параболы?

С геометрической точки зрения любой промежуток между опорными точками можно соединить двумя (!) частями двух парабол с разной кривизной. Естественно, это будет зависеть от положения соседних к данному участку точек. Соседних, но не замыкающих исследуемый участок. Таким образом нам останется усреднить значения по Y и получить интерполяцию. Будут неизбежные "изломы" интерполированной функции в отдельных узлах, но именно это позволит устранить осцилляции при отклонении точки вследствие ошибки измерения. Безусловно, неприятность останется, но можно пойти дальше, используя в качестве интерполяции степенные многочлены более высокого порядка.
Я пока не рассматриваю аналитические способы устранения ошибок, поскольку они основаны на предположении о "гладкости" свойств передаточных функций. И здесь мы неизбежно упираемся в необходимость разумно ограничиться степенью интерполирующего моногочлена и в необходимость проведения неоднократных измерений, снижающих влияние флуктуаций различного рода.
К сожалению, в полиграфии, как производстве, отброшены основополагающие принципы проведения эксперимента. Что отразилось на принципах работы софта - вместо выполнения многочисленных замеров и усреднения вблизи и в самой искомой точке, замеры выполняются либо однократно, либо многократно с одним жёстко заданным стимулом. Если многократные измерения способны подавить флуктуации данных измерительного прибора (но не постоянную ошибку измерения), то замер стимула без его небольшой девиации даст характеристику объекта, искажённую дискретизацией отклика.
Понятно, производство требует - сильнее, выше, быстрее, дешевле. Но не следует забывать и о точности.
Приятно, когда профиль и входные данные рихтуются с участием интеллекта. Но если говорить о достоверности получаемых данных, то следует всё-таки вспомнить технику эксперимента. Тем более, что при существующих полуавтоматических способах считывания патчей выполнение повторных (условно повторных !) измерений - не столь сложная задача. Остальное - прикладная математика.
 

aspirin

15 лет на форуме
Сообщения
4 884
Реакции
1 141
Ответ: i1+неродной софт: доверяю, но проверяюсь


Не по теме:
Alex-rsr сказал(а):
Если хотите представить аппаратные 0-80% как диапазон стимулов 0-100%, то можно кривую линеаризации выводить не 100%->100%, а 100%->80%.
В Onyx Postershop это делается очень удобно, путем установки параметра Ink Restriction.

Это может делать любой РИП для струйников.
Вопрос в том, что точность подобной отсечки, выполненной на глаз, например в ONIX, оставляет желать лучшего. Обратите внимание, что различные комбинации цветов могут изменять цифры отсечек по краскам, чего ONIX не умеет учитывать в принципе.
Следующая вещь, которая совершенно непрозрачна у ONIX, это как он распределяет осветленные краски по диапазону. Осветленная краска должна в строго определенном диапазоне замещать обычную, именно для печати на определенном материале, и присутствовать в темных тонах. Данный диапазон можно вычислить путем спектральных замеров, если есть такая возможность у растрового процессора, но это достаточно сложно сделать на "глаз".

 

Alex-rsr

Участник
Сообщения
67
Реакции
0
Ответ: i1+неродной софт: доверяю, но проверяюсь

ch_alex сказал(а):
С геометрической точки зрения любой промежуток между опорными точками можно соединить двумя (!) частями двух парабол с разной кривизной. Естественно, это будет зависеть от положения соседних к данному участку точек. Соседних, но не замыкающих исследуемый участок. Таким образом нам останется усреднить значения по Y и получить интерполяцию.
Вот этого и не хватало в предыдущих постах.
Согласитесь,

квадратичная интерполяция

и

квадратичная интерполяция двух интервалов, с последующим усреднением пересечения

совсем не одно и то же.
Этот вопрос мною понят и расценен, как удачное решение задачи. Дополнительно предложу следующее:

Имеем точки x0, x1, x2, x3
Необходимо проинтерполировать интервал (x1, x2)
P1(x) - парабола (x0, x1, x2)
P2(x) - парабола (x1, x2, x3)

Решение:
F(x) - решение на интервале (x1, x2)
F(x) = P1(x) * ((x-x2)/(x1-x2)) + P2(x) * ((x-x1)/(x2-x1))

Не факт, что это то что Вам нужно, но рассмотрите и этот вариант. А я, на досуге, напишу интерполяцию для изображений по этому алгоритму, посмотрю, что получится. И видя Cn-гладкость данного алгоритма, надеюсь на хороший результат. Так что спасибо!

ch_alex сказал(а):
..но можно пойти дальше, используя в качестве интерполяции степенные многочлены более высокого порядка.

Не думаю, что будет лучше. Поскольку ошибки точек вне интерполируемого интервала будут "хорошо" влиять на результат интерполяции. (Постройте кубическую параболу, когда певая и четвертая точка с ошибкой в одну сторону. Какой горб вылезет.)
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: i1+неродной софт: доверяю, но проверяюсь

Увлеклись.

Вы не поверите, но большинство проблем в нашей дискретной полиграфии решается через кусочно-линейную интерполяцию. Плюс сглаживание промеров и спецусловия для краев функций. Так работает большинство алгоритмов.

2 ch_alex - рассмотри проблемы денситометрии, проблемы линеаризации ФНА и проблемы тупенького smoothing agfa calibrator отдельно. Посмотри на физику (прежде, чем увлекаться математикой). Физику денситометрии для начала (что на самом деле замеряет денситометр?). Прикинь модель ФНА. Подсказка: нелинейность ФНА очень проста - это геометрическая функция 2-го порядка. Элементарно апроксимируется соответствующим полиномом. Получаешь "волшебные 300% гладкости". Только не забудь про краевые.

2 Alex-rsr - У Вас крайне сложно выделить мысль (и ошибки, которые из нее последовали). Вижу как минимум восемь отдельных задач (и ошибок), каждая из которых имеет свою методику решения. Не пытайтесь одним махом решить все проблемы. Слона едят постепенно. Лишь одна подсказка - цветовые пространства неэвклидовы. А аппаратные цветовые (краскофункции) - очень нелинейны. Там не работают геометрические суммы. Поэтому тезис "В случае если была проведена линеаризация, то понятно F(2) = 5 (функция то линейна)" - ошибочен. В color science эта проблематика называется "проблемой загогулины". Состоит из двух частей. Сперва посмотрите в сторону автотипии (шире - проблем растрирования и наложения красок). Закончите с ними - изучите эффект Бира в краскослоях.
 
Статус
Закрыто для дальнейших ответов.