A new approach to creating correction curves in non-standard printing processes
- Authors: Finogenov A.A.1
-
Affiliations:
- Yugra State University
- Issue: Vol 22, No 3 (2026)
- Pages: 83-94
- Section: Mathematical modeling and information technology
- Published: 30.09.2026
- URL: https://vestnikugrasu.org/byusu/article/view/705418
- DOI: https://doi.org/10.18822/byusu20260383-94
- ID: 705418
Cite item
Full Text
Abstract
Subject of research: the mathematical framework and specialized test patterns designed to automate the selection of correction curves in non-standard printing processes where traditional instrumental calibration methods are inapplicable or economically impractical.
Purpose of research: to develop a methodology that significantly reduces time and material consumption when determining correction curves in non-standard printing processes by transitioning from a trial-and-error approach to a mathematically grounded algorithm based on a specially designed, visually measurable test image.
Research methods: the Nelder – Mead method is applied to solve the inverse problem.
Objects of research: the process of image distortion during printing is being studied.
Research findings: a methodology has been developed for constructing correction curves in printing processes based on naked-eye visual observations, eliminating the need for specialized measuring instruments.
Full Text
ВВЕДЕНИЕ
Как известно, в процессе печати возникают разнообразные искажения, в результате чего изображение на бумаге может существенно отличаться от изображения на экране. Следовательно, для получения лучшего результата в исходное изображение следует внести корректирующее искажение, которое компенсирует искажения печатного процесса. На профессиональном жаргоне это называется «корректирующие кривые», «компенсирующие кривые», «коррекция растискивания» или просто «кривые». Такой подход к коррекции искажений можно найти почти в любом графическом редакторе под названием “инструмент «Curves»/«Кривые»”.
При печати на фотопринтерах и на подходящей для этого бумаге эти кривые уже подобраны производителем, и пользователю ничего не надо про это знать.
В промышленном типографском процессе соответствующие кривые находят с помощью специального оборудования и программного обеспечения примерно следующим образом: печатается специальная картинка (калибровочная мишень) с квадратиками различных оттенков, на неё «смотрят» специальным прибором (денситометром, спектрофотометром), и на основании полученных данных специализированное программное обеспечение (X-Rite, i1Profiler, GMG ColorProof) строит корректирующие кривые.
Кроме весьма высоких цен на оборудование, у этого подхода есть ещё и принципиальный недостаток: человеческое зрение не является точным прибором. Восприятие оттенков – это сложный, в том числе и психологический, процесс, и, следовательно, измерительные приборы тоже следует калибровать под человека. И в случае нестандартных красителей и технологий (например, так называемых альтернативных печатных процессов) остаётся только метод проб и ошибок, который, разумеется, требует много времени и расходных материалов.
Цель нашего исследования – математизировать метод проб и ошибок при поиске корректирующих кривых для печати изображений в нестандартных ситуациях. Для этого следует разработать тестовое изображение, на котором искажения, вносимые печатным процессом, будут видны невооружённым глазом и видны достаточно отчётливо для их измерения. Также необходимо разработать математический аппарат, который на основе вышеупомянутых измерений найдет корректирующую кривую.
РЕЗУЛЬТАТЫ И ОБСУЖДЕНИЕ
Мы исходим из двух оптических постулатов, которые кажутся очевидными, и их достоверность установлена в [1] и [2].
Первый: изображение, заполненное полосками двух оттенков, издали выглядит как однотонное, с яркостью, равной среднему арифметическому этих оттенков. Образно выражаясь, «зебра» с черными и белыми полосками издали выглядит как равномерно серое изображение с 50-процентной яркостью.
Второй: человеческое зрение не может измерить уровень серого и даже не может сравнивать яркость предметов, удаленных друг от друга. Но обнаружить совпадение или несовпадение уровня серого у соприкасающихся изображений человек может достаточно точно. Поскольку конечной целью является получение оттенков серого в пределах чувствительности человеческого зрения, точность такого измерения вполне достаточна.
Следствие из постулатов: если на идеальный серый градиент (серую шкалу, grayscale, полоску, начинающуюся как черная и заканчивающуюся как белая) наложить черные полоски, то получится «зебра», которая издали выглядит как градиент от черного до 50-процентного серого. Если аналогично на градиент наложить белые полоски, то получится градиент от 50-процентного серого до белого. Соединив эти два изображения, можно получить полоску, которая издали выглядит как серый градиент от полностью черного до полностью белого. Но если исходный серый градиент неидеален, то соответствующие отклонения в яркости проявятся в тёмной и светлой областях. В результате получится градиент-зебра, искажённый иначе, чем обычный градиент. И если эта разница значительна, её можно будет увидеть невооружённым глазом. На рисунке 1 помещён такой градиент-зебра рядом с обычным градиентом. Если удаляться от рисунка, то на некотором расстоянии (обычно два-три метра) полоски на зебре сольются и будут видны просто два серых градиента. Если при издании этой статьи печатный процесс был настроен с идеальной фотографической точностью (что маловероятно), то читатель не увидит границы между обычным градиентом и градиентом-зеброй. Если же граница видна, то это и есть то самое искомое, видимое невооружённым глазом искажение.
Рисунок 1. Градиент и градиент-зебра
Для большей наглядности на рисунке 2 эта операция проделана с заведомо искажёнными градиентами, и, вероятно, граница будет видна читателю.
Рисунок 2. Градиенты с искажениями оттенков серого
Если разместить градиент-зебру и обычный градиент со сдвигом и навстречу друг другу (рисунок 3), то место совпадения оттенков серого в этом случае будет видно достаточно отчётливо, и его можно будет «измерить линейкой».
Рисунок 3. Сдвинутые градиенты
Сдвигая градиенты относительно друг друга и визуально определяя участки с совпадающей яркостью, можно сделать несколько замеров и получить достаточно (как будет показано ниже) информации для того, чтобы определить, какие именно искажения были внесены при печати.
Эту пару градиентов можно сделать достаточно длинной и, следовательно, замеры – достаточно точными, если разместить их на странице частями (рисунок 4).
Рисунок 4. Длинный градиент
Предполагается, что изображение на рисунке 4 будет напечатано исследуемым печатным процессом, разрезано на полоски и склеено в два длинных градиента: обычный и градиент-зебру. Перемещая эти длинные градиенты относительно друг друга (как на рисунке 3) и рассматривая их с некоторого расстояния, можно найти несколько точек совпадения яркости и записать их в виде пар чисел. Такая необычная шкала – от 100 до 0 и от 100 до 200 – выбрана для уменьшения вероятности опечаток при вводе данных в компьютер.
Вот каковы результаты «измерения» обычного офисного принтера при использовании обычной бумаги: 109 85, 117 78, 122 66, 127 61, 131 54, 135 45, 139 42, 143 39, 149 30, 154 27, 167 25, 170 23, 177 20, 180 16, 190 12. Позже по этим измерениям будет построена корректирующая кривая (рисунок 10).
Математический аппарат
Принято измерять оттенки серого по шкале: 0 – максимально черный и 1 – максимально светлый. Именно это соглашение используется в языке управления принтерами PostScript, который и был использован при подготовке иллюстраций к этой статье. Таким образом, печатный процесс можно рассматривать как функцию y = F(x), отображающую отрезок от 0 до 1 (яркость в компьютере) в отрезок от 0 до 1 (яркость на бумаге).
В дальнейшем будет предполагаться, что эта функция:
- Отображает 0 в 0 и 1 в 1. То есть максимально темный цвет в файле будет максимально темным на бумаге, а максимально светлый – максимально светлым.
- Функция монотонна. То есть чем светлее в файле, тем светлее и на бумаге.
- Функция является гладкой в интуитивно понимаемом смысле, так как разумно предполагать, что резких скачков яркости в печатном процессе не будет.
Серый градиент фактически представляет собой визуализацию искажающей функции y = F(x). Место на градиенте – это значение x, а яркость в этом месте – значение y. В силу выбранной шкалы (100 в темной части и 0 в светлой) формула для пересчета выглядит так:
(1)
где t – число на обычном градиенте по шкале от 100 до 0 и y – яркость в этом месте на градиенте.
В градиенте-зебре яркость связана с местом несколько запутанным, но вполне очевидным образом: в темной половине y – это среднее арифметическое F((x – 100) / 50) и 0, а в светлой половине – среднее арифметическое F((x – 150) / 50) и 1.
, если
, если . (2)
Таким образом, пара чисел t и x, найденная в результате поиска совпадения яркости в обычном градиенте и градиенте-зебре, соответствует равенствам в формулах (1) и (2).
Следующая задача – разработать математический аппарат, позволяющий по набору измерений подбирать функцию, для которой (1) примерно равно (2) во всех измеренных точках. Обратная к этой подобранной функции и будет искомой «корректирующей кривой».
Весьма желательно, чтобы эта функция и её обратная задавалась аналитически, т. к. в этом случае упрощается её исследование и дальнейшее использование. Например, её можно будет вписать непосредственно в команду settransfer при использовании PostScript-устройств.
Эксперименты показали, что можно ограничиться композициями трех следующих функций, подходящих под требования:
- степенная функция y = f(x,n) = xn. В типографском деле такие корректирующие функции называются гамма-коррекция. Обратная к ней функция задается как y = x(1/n). Известно, что искажение, вносимое впитыванием красителя в бумагу (в типографском деле это называется растискиванием), почти идеально описывается именно этой функцией. Ее же применяют для компенсации искажений в темных областях. На рисунке 5 приведены примеры графиков этой функции при разных значениях n;
- перевернутая степенная функция y = g(x) = 1 – (1 – x)n. Она позволяет корректировать изображение в светлых областях. Если в процессе используется печать негатива, то перевернутая степенная функция как раз и будет соответствующей гамма-коррекцией. На рисунке 6 приведены примеры графиков этой функции;
- кусочек гиперболы. Задается формулой y = h(x,c) = (cx)/((c – 1)x + 1). Обратная функция задается аналогичной формулой с заменой c на 1/c. С ее помощью можно исправлять искажения в средних тонах. На рисунке 7 приведены примеры графиков при разных значениях параметра c.
Рисунок 5. Графики гамма-коррекции
Рисунок 6. Графики перевернутой гамма-коррекции
Рисунок 7. Кусочек гиперболы
Отметим, что гиперболой, сопряженной со степенными функциями y = f(h(f(x,n),c),1/n), можно корректировать искажения в светло-серых и темно-серых областях. Примеры таких кривых при разных значениях c и n приведены на рисунке 8.
Рисунок 8. Сопряженная гипербола
В дальнейшем мы будем рассматривать следующую композицию функций
, (3)
задаваемую набором из пяти параметров p1, p2, p3, p4, p5. Для получения обратной функции достаточно взять набор параметров 1/p5, 1/p4, 1/p3, 1/p2, 1/p1.
Варьируя эти пять параметров, можно получить достаточно большой набор кривых. Примеры приведены на рисунке 9. Влияние параметров на форму кривой установить сложно, но, как будет показано ниже, в этом нет необходимости.
Рисунок 9. Примеры корректирующих кривых
С помощью таких кривых можно корректировать изображение в темной, темно-серой, серой, светло-серой и светлой областях. Этого достаточно для грубой компенсации «естественных» искажений в печатном процессе, но в конечном итоге процесс коррекции весьма приблизителен – небольшие отклонения от идеала всё равно не будут видны.
Предлагаемый ниже подход позволяет использовать и другие функции и их сочетания. Использование сплайнов или кусочно-линейных функций также возможно, если удастся удовлетворительно решить проблему с их монотонностью и «гладкостью» в интуитивно понимаемом смысле.
Целью этой статьи является демонстрация возможности такого подхода к построению корректирующих кривых. Вероятно, в случае какого-либо промышленного применения придется переходить к более сложным функциям.
Итак, мы можем сформулировать математическую постановку задачи: подобрать значения параметров p1–p5 так, чтобы функция y = F(x), задаваемая этими параметрами по формуле (3), в точках замера давала максимальное совпадение значений y в (1) и (2). Для этого рассмотрим целевую функцию, равную сумме квадратов разностей формул (1) и (2). Сумма берется по всем точкам замера. Затем минимизируем целевую функцию методом Нелдера – Мида.
Выбор именно этого метода обусловлен простотой реализации и тем, что для его применения нет необходимости в использовании производных, что позволит применить его, например, к таблично заданным корректирующим кривым.
Метод Нелдера – Мида является обобщением метода половинного деления на многомерный случай. Его идея заключается в следующем: берется «облако» из нескольких (в нашем случае шести) точек в многомерном (в нашем случае пятимерном) пространстве. Если значение целевой функции в точках в центре облака меньше, чем по краям, «облако» следует сжать в два раза. Если значение целевой функции на краю «облака» меньше, чем в центре, «облако» следует сдвинуть в соответствующем направлении. Если значение целевой функции за пределами «облака» меньше, чем внутри него, «облако» следует расширить в соответствующую сторону в два раза. После повторения этих действий достаточное количество раз облако переместится, сожмется, а значение целевой функции в точках облака достигнет локального минимума, что и требуется. Алгоритм, реализующий эту идею, разработан в [3], хорошо исследован в [2] и легко реализуется на любых языках программирования.
Некоторым затруднением в нашем случае является ограничение на допустимые значения параметров. Они, очевидно, должны быть неотрицательными и не слишком большими, а прямолинейное применение метода Нелдера – Мида может вывести их за допустимый диапазон. Эта проблема решается добавлением к каждому параметру «прослойки» в виде функции типа арктангенса, которая отображает числовую ось в нужный нам диапазон между min и max. Такую функцию легко построить из трех частей: отрезка прямой и двух «хвостиков» гиперболы. Регулируя значения min и мах, можно дополнительно ограничивать «гладкость» кривой, что может быть полезно.
if (x < (min + 0.1)) {
y = min + (0.1 / (min + 0.1 - x + 1));
}
else if (x > (max - 0.1)) {
y = max - (0.1 / (x - (max - 0.1) + 1));
}
else {
y = x;
}
Существуют разные методы подбора начального «облака» и разные критерии сходимости в методе Нелдера – Мида, но в нашем случае всё это не особенно важно ввиду отсутствия необходимости в скорости и точности вычислений. Эксперименты показали, что в качестве начального «облака» можно брать наборы параметров, примерно соответствующие прямой линии: искажения минимальны, все параметры незначительно отличаются от 1. Для получения удовлетворительной точности тысячи итераций более чем достаточно, при этом время работы алгоритма измеряется секундами. При практическом применении была бы более полезна визуализация результатов и их согласованность со здравым смыслом, что будет продемонстрировано ниже.
Результаты экспериментов
На рисунке 10 изображен результат обработки измерений при печати на обычном офисном принтере и бумаге, при обычном растрировании с линиатурой 120 lpi с помощью Ghostscript – свободно распространяемого интерпретатора языка PostScript. При таком способе печати дополнительные коррекции, обычно вносимые драйверами принтера, отсутствуют.
Рисунок 10. Корректирующая кривая для печати с 120 lpi
На данном графике корректирующая функция. Это значит, что по горизонтали отложена яркость изображения на бумаге, а по вертикали – значения яркости «в компьютере». С практической точки зрения это означает, что принтер делает темно-серый цвет слишком черным, поэтому для компенсации необходимо осветлить темные участки. Это можно сделать, изменив ICC-профиль прин-тера или применив аналогичную настройку в графическом редакторе, выставив там кривую с рисунка 10 через инструмент «Кривые». Эти действия были проделаны, и в результате «исправленный» принтер прошел тест на качество печати с помощью полоски на рисунке 1. К сожалению, у автора нет доступа к денситометру или спектрофотометру, так что объективные замеры не проводились.
На рисунке 11 почти вертикальными отрезками визуализирована погрешность измерения. Один отрезок соответствует одной паре чисел, которая появилась в результате наблюдения совпадения уровня яркости на обычном градиенте и градиенте-зебре. Вот эти пары чисел: 109 85, 117 78, 122 66, 127 61, 131 54, 135 45, 139 42, 143 39, 149 30, 154 27, 167 25, 170 23, 177 20, 180 16, 190 12.
Рисунок 11. Визуализация погрешностей измерения
Если бы реальные искажения при печати в точности совпадали с подобранной функцией и наблюдатель, производивший замер, обладал идеальным зрением, то эти отрезки были бы абсолютно вертикальными. Точнее говоря, разница по горизонтали между верхним и нижним концом отрезка соответствует разнице в оттенках серого на градиенте и градиенте-зебре в точке измерения. Такого рода визуализация позволяет обнаружить и удалить из списка неудачное измерение и пересчитать кривую ещё раз.
Получившаяся на рисунке 10 корректирующая кривая задается набором параметров 51,81863, 0,458359, 0,542256, 0,997106, 0,622376. Она похожа (но не совпадает) на гамма-коррекцию (см. рисунок 5), что соответствует здравому смыслу. Известно, что основные искажения, вносимые обычной печатью на обычной бумаге, вызваны в основном растискиванием, которое почти идеально компенсируется гамма-коррекцией.
На рисунке 12 приведен результат аналогичных измерений, но уже при печати с линиатурой 150 lpi. Кривая также похожа на гамма-коррекцию, но с другим параметром.
Рисунок 12. Корректирующая кривая для печати с 150 lpi
Предлагаемый метод, к сожалению, неустойчив. Добавление ошибочного замера часто приводит к получению вырожденной корректирующей кривой типа «всё сделать черным» или «всё сделать белым», так как в этом случае целевая функция становится равной нулю. С этим можно бороться «в ручном режиме», отыскивая ошибочный замер, ограничивая значения параметров p1-p5 или добавляя к целевой функции штраф за отклонение F(0.5) от некоторого, измеренного другим способом значения. Также было замечено, что при большом количестве точек метод выдерживает и наличие ошибочных данных. На рисунке 13 в качестве примера приведена кривая, построенная по большому набору измерений, полученных при печати на разных принтерах и при разных настройках. Несмотря на многочисленные ошибки, кривая не выродилась. Но в целом проблема устойчивости остается проблемой и требует дальнейших исследований.
Рисунок 13. Визуализация ошибок измерения
В процессе экспериментов обнаружилось несколько неожиданностей. Например, оказалось, что восприятие оттенков серого зависит и от освещения. На рисунке 14 приведены результаты замеров того же отпечатка, что и на рисунке 10, но сделанные при искусственном освещении. На рисунке 15 показана разница в результатах.
Рисунок 14. Корректирующая кривая для искусственного освещения
Рисунок 15. Кривые при дневном и искусственном освещении
Предлагаемый метод, использующий три вида функций и пять параметров, может оказаться недостаточно эффективным при попытке исправить искажения от уже выполненной неподходящей коррекции, которая почти всегда присутствует при печати со стандартными настройками, так как корректирующие кривые в ICC-профилях обычно задаются в виде негладких кусочно-линейных кривых. В качестве иллюстрации этого на рисунках 16–18 приведены попытки определить корректирующую функцию при печати встроенными средствами Windows на обычной бумаге в режимах «высококачественная», «пленка» и «позволить приложению управлять настройками принтера».
Рисунок 16. Кривая для печати в режиме «высококачественная»
Рисунок 17. Кривая для печати в режиме «пленка»
Рисунок 18. Кривая для печати в режиме «управляется приложением»
Код, который применялся при написании этой статьи, может быть найден по ссылке https://disk.yandex.ru/d/ef2DWXccvha1wQ.
ЗАКЛЮЧЕНИЕ И ВЫВОДЫ
Предложен метод формирования корректирующих кривых, основанный на визуальной оценке результатов печати без использования инструментальных средств измерения. Несмотря на то, что методика не заменяет индустриальные протоколы калибровки, её применение позволит уменьшить количество итераций при подборе корректирующих кривых методом проб и ошибок.
About the authors
Anton A. Finogenov
Yugra State University
Author for correspondence.
Email: aafin@ya.ru
SPIN-code: 7576-7969
Scopus Author ID: 55596634500
Candidate of Physics and Mathematics, Associate Professor, Engineering School of Digital Technologies
Russian Federation, Khanty-MansiyskReferences
- Campbell, F. W. Application of Fourier analysis to the visibility of gratings / F. W. Campbell, J. G. Robson // The Journal of Physiology. – 1968. – Vol. 197, № 3. – P. 551–566.
- Convergence Properties of the Nelder-Mead Simplex Method in Low Dimensions / J. C. Lagarias, J. A. Reeds, M. H. Wright, P. E. Wright // SIAM Journal of Optimization. – 1998. – Vol. 9, № 1. – P. 112–147.
- Nelder, J. A. A Simplex Method for Function Minimization / J. A. Nelder, R. Mead // The Computer Journal. – 1965. – Vol. 7, Iss. 4. – P. 308–313.
- Whittle, P. Brightness, discriminability and the «Crispening Effect» / P. Whittle // Vision Research. – 1992. – Vol. 32, № 8. – P. 1493–1507.
Supplementary files





















