О подходе к созданию протокола цветопередачи в офисной компьютерной системе
Архипов О.П.
The problems arising at creation of an information technology for management color transmission in conditions of office computer system are considered. In particular, the premises are considered and the approach to creation of the minutes of a procedure color transmission because of it formal the descriptions, detection reassigned in conditions of office computer system of management parameters and creation appropriate algorithms and soft is offered.
В состав компьютерной системы могут входить, как известно, разнообразные периферийные устройства. Ограничимся рассмотрением взаимодействия традиционных офисных периферийных устройств, связанных с цветовой обработкой: цифровая камера, монитор, принтер и сканер.
Использование цветных компонентов является реальной потребностью пользователей компьютерных систем. Цвет в офисе -- это необходимость. Проведено множество исследований, которые однозначно показывают, что, например, цвет в офисных как электронных, так и печатных документах существенно улучшает восприятие информации, снижает вероятность ошибок, стимулирует действие и, что важно для коммерческих организаций, повышает эффективность продаж. Качественные цветовые решения оказывают значительное влияние на имидж компании и на восприятие ее на рынке, в то же время документы в цвете улучшают внутрикорпоративные коммуникации. Если говорить об индустрии профессиональных графических приложений (Grafic Arts Industry, GAI), то здесь все очевидно -- цветные графические изображения необходимы, как говорится, по определению.
Обработка цветных графических изображений это неотъемлемая часть глобальных информационных процессов, объемы и скорости передачи информации растут с фантастической быстротой. Несомненно, цвет придает информации новые качества, будь то восприятие документов, их оформление и т. д. Поэтому цвет -- прежде всего потребность рынка в принципиально новых возможностях коммуникации, которую ощущают и на которую стараются оперативно реагировать производители программно-технического обеспечения цветовой обработки.
Даже при нетребовательном подходе к применению цвета, пользователь должен постоянно учитывать, что ввод изображения в компьютерную среду, его обработка и вывод сопровождаются постоянными искажениями оригинала. Иногда искажения не приводят к значительным визуально заметным искажениям, иногда же кажется, что появилось новое изображение, имеющее с оригиналом лишь отдаленное сходство.
Пусть некоторый объект сфотографирован с помощью цифровой камеры, что означает его приближенное представление в оцифрованном виде как совокупности RGB-пикселей {(R,G,B)c}. Очевидно, что даже последовательно сделанные снимки (особенно движущегося объекта) приводят к разным результатам, поскольку соответствующие пиксели получаемых совокупностей могут значительно отличаться друг от друга.
Оцифровка изображения позволяет ввести его в компьютерную систему и, например, вывести на монитор и принтер. Как правило, в зависимости от настройки программно-технической среды возможен многовариантный вывод изображения на одно и то же периферийное устройство. В каждом варианте вывода будут присутствовать те или иные искажения изображения.
Рассмотрим, например, вывод на монитор. Вид изображения на мониторе, зависит не только от технических характеристик монитора, но и от используемого ПО, например, от диспетчера палитр для среды Microsoft Windows [1]. Диспетчер палитр -- важная составная часть интерфейса графических устройств (GDI) Windows, позволяющая применение методов оптимизации цветопередачи в прикладных программах, работающих с Диспетчером палитр.
Пусть при представлении изображения с большим количеством цветов на мониторе применяется палитра из 256 цветов. В зависимости от метода определения палитры вид изображения на мониторе может меняться значительно.
Один из возможных подходов при определении палитры -- включить в палитру черный, белый и равномерно распределенные оттенки других цветов, находящихся в промежутке между ними. Имея в своем распоряжении 256 цветов, можно создать палитру, содержащую по 16 оттенков 16 разных цветов. Это самый быстрый метод решения задачи (требующий наименьшего размера программного модуля для его реализации и выполняющийся за самый короткий промежуток времени) и часто используемый прикладными Windows-программами. Главное достоинство этого метода -- помимо скорости обработки -- гарантированное присутствие в палитре цвета, достаточно близкого к любому цвету в изображении. Недостаток -- неизбежная потеря тонких оттенков цвета. Например, сотня различных вариаций синего может быть преобразована всего лишь в два-три оттенка этого цвета. Небо, цвет которого на исходном изображении плавно переходит от светло-голубого к синему средней интенсивности, на экране может принять вид полос, резко меняющих свой цвет сначала со светло-голубого на голубой, а потом на синий средней интенсивности.
Другой часто используемый подход заключается в подсчете числа цветов в изображении и частоты их появления с последующей записью в палитру 256 наиболее «популярных» в данном изображении цветов. Это восстановит некоторые тонкие оттенки, но вполне может начисто исключить из палитры редко встречающиеся в изображении цвета. Естественный вид голубого неба будет восстановлен, но маленький красный дорожный знак, запрещающий проезд без остановки, -- единственный объект на изображении, содержащий красные пиксели, -- может поменять свой цвет на зеленый или желтый, поскольку красного цвета в палитре не окажется. Хуже того, если небо содержит так много оттенков синего, что каждый из них представлен лишь несколькими пикселями, то синий цвет может вообще пропасть из палитры, несмотря на то, что суммарное количество пикселей синего цвета в изображении очень велико.
Цветовое квантование способом срединного сечения соединяет достоинства обоих описанных выше подходов, позволяя создать палитру, которая, насколько возможно, содержит тонкие оттенки изображения, не теряя при этом ни одного цвета. Основная идея метода цветового квантования с помощью срединного сечения состоит в выборе цветов палитры таким образом, чтобы области куба, содержащие большее число точек, получали бы пропорционально больше цветов палитры, а области с малым числом точек -- соответственно меньше. В результате цветовая гамма палитры оказывается смещенной так, что цвета с большим количеством оттенков получают в свое распоряжение пропорционально больше мест в палитре.
Хорошо подобранная палитра -- шаг в правильном направлении, но даже она может помочь не всегда. 256-цветная система не может отобразить на экране более 256 цветов, независимо от того, насколько «умные» алгоритмы заложены в программы. Для того чтобы добиться действительно высококачественного воспроизведения изображений, необходимо применять псевдосмешение цветов.
При псевдосмешении пикселы размещаются таким образом, что их цвета перемешиваются и создается впечатление, что изображение содержит больше цветов, чем реально имеется в палитре. Представьте себе, что ваша палитра состоит всего из двух цветов -- синего и. желтого, -- а вы хотите отобразить зеленый цвет. Сгруппировав близко расположенные перемежающиеся желтые и синие точки, вы можете создать шаблон закрашивания, имеющий цвет, похожий на зеленый. Описанная процедура представляет собой простейший пример псевдосмешения цветов.
Очень важно иметь хороший алгоритм псевдосмешения, потому что выполнение такой операции над изображением редко сводится к простому отбору больших цветовых пятен и замене их комбинациями пикселов, окрашенных в основные цвета. Алгоритм должен давать возможность обрабатывать любые изображения, даже такие, которые не содержат двух одинаковых соседних пикселов. Алгоритм диффузионного псевдосмешения цветов Флойда-Стейнберга -- один из лучших. Программа, использующая метод Флойда-Стейнберга, просматривает каждый пиксел изображения, изменяет его цвет на ближайший из имеющихся в палитре и вычисляет ошибку цветности, вычитая значения RGB цвета палитры из значений RGB цвета исходного изображения. Затем программа распределяет ошибку среди соседних пикселов (происходит «диффузия» ошибки). После последовательной обработки всех пикселов изображения получается результат, достаточно точно воспроизводящий оригинал, хотя применяются только цвета, содержащиеся в палитре.
Как показывает практика, изображение, полученное при одновременном использовании оптимизации палитры и псевдосмешения, едва отличимо от оригинала, т.е. совместное применение этих двух методов позволяет выжать максимум возможного из 256-цветной аппаратуры.
Таким образом, даже при ограниченных возможностях имеются (разработаны и применяются) различные оптимизирующие алгоритмы, позволяющие осуществить многовариантный вывод на монитор и из имеющихся вариантов выбрать наиболее подходящий. Следует только иметь ввиду, что все это имеет смысл, если вывод на монитор является конечной целью обработки изображения. В контексте же предыдущих и последующих этапов цветопередачи реализация таких приемов не только бесполезна, но и может помешать процедуре управления. Например, при цветопробе важно иметь представление о цветовых характеристиках каждого пикселя, а не об их модификациях, неизбежных при применении методов оптимизации.
Еще более существенны искажения изображения при выводе его на принтер [2]. Если при выводе на монитор модифицируются однородные координаты пикселей (RGB), то для вывода на принтер необходимо цветоделение изображения, в результате которого осуществляется переход к новым координатам (например, CMYK). Окончательный вид отпечатка изображения зависит от многих причин:
от технических характеристик принтера (разрешение, количество первичных красителей);
от качества расходных материалов (бумаги, красителей);
от определения пикселей принтера (размер растровой точки и способ распределения дотов внутри нее);
от определения соответствия пикселей RGB и CMYK.
Многовариантные искажения изображения при печати, не приводящие к снижению качества отпечатков, а влияющие только на их дизайн, желательны, поскольку предоставляют пользователю свободу выбора.
Печать изображения приводит к неэлектронной форме представления изображения. После сканирования отпечатка и получения совокупности RGB-пикселей {(R,G,B)s} изображение снова может быть введено в компьютерную среду.
И в случае сканирования результат процедуры определен неоднозначно. Хотя снова может быть получено RGB-изображение, его размер и значения составляющих его пикселей, как правило, значительно отличаются от значений тех же характеристик изображения, которое было введено в компьютерную среду после фотографирования.
Существует огромное количество утилит для сканера, которые позволяют для одного и того же сканера получить многие варианты изображений. Например, одна из лучших программ PaperPort Deluxe 9 компании Scan-Soft -- универсальный инструмент для работы с бумажными и электронными документами, изображениями, факсами, PDF- и другими файлами [3], поддерживающий более сотни различных сканеров и предоставляющий средства для того, чтобы после сканирования документа в файл PaperPort почистить, пригладить или иным способом улучшить его, вплоть до снабжения аннотацией или ярлычками.
Если жизнь изображения в компьютерной среде достаточно длинна и протекает традиционным путем (печать, сканирование, печать скана, новое сканирование и т.д.), то без применения дополнительных средств качество изображения неизменно ухудшается.
Таким образом, каждый шаг цветопередачи в компьютерной системе, может приводить к новым формам представления изображения и его новым цветовым характеристикам, что может быть полезно при проведении арт-экспериментов. Однако такая изменчивость результатов может быть недопустимой для некоторых областей применения, например, при цветопробе, когда необходимо, чтобы цветовые характеристики изображения сохранялись (хотя бы приближенно) неизменными во время всего цикла обработки изображения. Еще в одной важной области применения, связанной с обработкой результатов научно-технических экспериментов, в которой графические изображения служат для передачи данных, необходимо, чтобы данные, закодированные в изображения сохранялись неизменными и могли быть идентифицированы при необходимости при любой форме представления изображения.
В связи с этим актуальной является задача формального описания процедуры цветопередачи в компьютерной системе, выявление параметров, влияющих на результат обработки изображения и разработка информационной технологии цветопередачи для решения задач, которые возникают в разных областях применения. В качестве инструмента для решения различных практически важных задач можно использовать протокол цветопередачи - совокупность правил, регламентирующих формат и процедуры обмена данными между цветными периферийными устройствами.
Рассмотрим один из подходов к созданию протокола цветопередачи.
При любой форме представления пиксели изображения характеризуется следующими группами дескрипторов: аппаратно-зависимые цветовые координаты пикселя в цветовом пространстве периферийного устройства; измеряемый образ пикселя, соответствующий данным аппаратно-зависимым координатам; цветовые координаты пикселя в каком-либо аппаратно-независимом цветовом пространстве, соответствующие данному измеряемому образу пикселя.
Аппаратно-зависимые цветовые координаты в цветовом пространстве периферийного устройства характеризуют механизм воспроизведения пикселя на данной периферии.
Так координаты (R,G,B) точки m в цветовом пространстве M используются при воспроизведении пикселя на мониторе, координаты {rij} растровой точки (матрицы специальной структуры) p в цветовом пространстве принтера P - на принтере, а координаты {(Rij,Gij,Bij)} скана отпечатка растровой точки (матрицы RGB-пикселей) s в цветовом пространстве сканера S - на сканере.