Цвет в компьютерной графике

       

Копирование с неполными цветами


Иногда графическое изображение, содержащее много цветов, должно быть выведено на устройство с меньшим количеством цветов. Например, 24 разрядное изображение, возможно, необходимо отобразить на 8 разрядном дисплее. Или 8 разрядное изображение, вероятно, придется выводить на принтер, имеющий только восемь цветов. Имеются три класса методик, которые могут использоваться: квантование, кластеризация (т.е. передача градаций оттенков) и растрирование (передача полутонов).

5.4.1 Квантование

Каждый первоначальный цвет отображается самым близким из подмножества новых цветов. Понятие "самый близкий" подразумевает, что расстояния между цветами измеряются и сравниваются; таким образом цвета должны квантоваться в цветовом пространстве, где расстояние между точками находятся в соответствии с их воспринимаемым цветовым различием. МКО LUV - подходящее цветовое пространство, хотя другие могут использоваться. Расстояние также может быть умножено на весовой коэффициент, чтобы воспользоваться преимуществом перцептивных результатов. Например, сохранение сигнала яркости может быть больше, чем сохранение оттенка.

Имеются четыре основных метода квантования:

5.4.1.1 Однородное Квантование

Каждый первоначальный цвет отображается самым близким из стандартного, равномерно распределенного диапазона цветов. Это, с точки зрения вычислений, простой и, может быть, единственно возможный метод, если палитра цветов фиксирована. Он также применяется в анимационной графике; каждый кадр должен использовать ту же самую палитру цветов, чтобы избежать видимого мерцания. Однако это дает плохие результаты, когда первоначальные цвета не равномерно распределены в цветовом пространстве.

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

Осуществляя выборку в RGB пространстве, следует использовать равную разрешающую способность для каждой оси. Например, в 8 разрядной системе с 256 доступными цветами можно использовать 6 уровней красного, зеленого и синего, чтобы дать 216 различных цветов. Это гарантирует, что серые не будут иметь нежелательных оттенков. Распределенные цвета вероятно являются преимуществом, когда карта цветов совместно используется между действующими одновременно приложениями.

5.4.1.2 Срединное деление

Этот алгоритм имеет две различных фазы. Во-первых, цвета делятся на группы. Во-вторых, каждой группе назначается новый цвет. Чтобы группировать цвета, вычисляется самое маленькое прямоугольное, выровненное по осям пространство, которое полностью включает все цвета. Это показано на рисунке 47a, использующем только две оси для ясности. Прямоугольник разрезан на два, поперек самой длинной оси, так, чтобы возникающие в результате прямоугольники содержали равные количества цветов (рисунок 47b). Сжимая каждый новый прямоугольник до самого маленького его объема (рисунок 47c) и разрезая больший на два (рисунок 47d), процесс повторяется до тех пор, пока не будет произведено достаточное количество прямоугольников. Чтобы назначить новый цвет для группы, может использоваться центр прямоугольника или середина группы.







Рисунок 47: Срединный разрез

5.4.1.3 Построение гистограммы

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


Это позволяет другим, менее популярным, но значительно различным цветам сохраняться нетронутыми. Другая оптимизация заключается в том, чтобы оставить некоторый участок памяти в карте цветов для редких цветов, которые не соответствует никакому из новых цветов.

Хотя возможно создать гистограмму всего цветового пространства, это требует много памяти. Чаще всего создают отдельные гистограммы для каждой оси. Например, чтобы квантовать 256 цветов в CIELUV пространстве можно использовать гистограмму на 50 элементов дискретизации по L* и 25 элементов дискретизации по u*

и v*. Это дало бы 2 % шаги по яркости, которая является наиболее значимой. Из них будут использованы 10 из L* и 5 из u* и v*, чтобы создать новую цветовую карту с 10*5*5=250 цветами, оставляя 6 для тех резко выделяющихся цветов, наиболее отдаленных от новых цветов.

5.4.1.4 Минимизация дисперсии

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





Рисунок 48: Минимизация дисперсии

Есть несомненно много возможных способов разбиения (разделения) цветового пространства, и было бы невозможно проверить их исчерпывающе. Поэтому некоторые эвристические методы дисперсии выбирают маленькую, а не оптимальную дисперсию. Возможно вычислить оптимальное решение методом подобным алгоритму срединного деления.

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


Это повторяется на стороне с самой большой дисперсией до тех пор, пока достаточное разбиение не будет выполнено.

5.4.2 Кластеризация (передача градаций оттенков)

Кластеризация чаще всего встречается как способ имитирования шкал оттенков серого на одноцветном устройстве черно-белой печати. Однако это может также использоваться в аналогичном способе имитировать большее количество цветов, отображая два или больше цветов близко друг к другу; на расстоянии глаз смешает их, давая эффект большего количества цветов.

Чтобы кластеризовать пространство в данном цвете, подбираются доступные цвета, которые наиболее близко походят для этого, и рассчитывается смесь процентов. Предположим, например, что недоступная известковая зелень должна моделироваться 70% бледно-зеленого, 20% лимонно-желтого, и 10% темно-зеленого. Для каждого пиксела случайное число генерируется в диапазоне от 1 до 100. Если оно ниже 70, пиксел окрашивается бледно-зеленым; если от 70 до 90 - лимонно-желтым, а если более чем 90 - темно-зеленым.

Ясно, что эта методика даст самые лучшие результаты тогда, когда цвета, которые будут смешаны, находятся довольно близко, и кластеризуются большие области. Точное цветовое выделение в любом случае сложнее на малых областях.

Методика может быть заимствована из монохромной кластеризации: рассеивания ошибки. Для каждого пиксела ошибка, между предполагаемым и фактическим цветом, вычисляется и используется, чтобы скорректировать предполагаемый цвет пикселов вблизи к нему (фактическому). Степень ошибки умножается на весовой коэффициент согласно тому, как далеко пикселы находятся, таким образом ошибка "рассеивается". Чтобы хранить методику простой, только те пикселы корректируются, которые еще не были кластеризованы. Это показано на рисунке 49. Затененные пикселы кластеризованы, а пиксел, содержащий звезду, в настоящее время обрабатывается. Факторы умножения на весовой коэффициент уменьшаются с расстоянием от текущего пиксела.





Рисунок 49: Рассеивание ошибки



Так как ошибки имеют и знак, и величину, чистая ошибка не распространяется поперек изображения. В монохромной кластеризации ошибка является (по количеству) единственной, в то время как цветная кластеризация производит три ошибки - по одной для каждой оси цветового пространства. Имеется ряд схем умножения на весовой коэффициент для рассеивания ошибок. Рисунок 49 использует умножение на весовой коэффициент Stucki, например.

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

5.4.3 Растровые полутона (узоры из черных и цветных точек, используемых для передачи изображения)

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

5.4.3.1 Экранирование (трафаретная печать)

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


Этот процесс теперь вообще выполняется компьютером.

Если сетки для каждого цвета были бы совмещены, то все чернила были бы затенены следующими чернилами, которые были бы напечатаны, поскольку большинство чернил непрозрачны. Сетки следовательно чередуются относительно друг друга. Некоторые углы дают явные муаровые интерференционные картины. Стало обычным использовать циклические сдвиги: 0° - для желтого, 15° - для голубого, 45° - для черного и 75° - для сиреневого, чтобы избежать этого муара (комбинационных искажений), как показано на рисунке 50 и на иллюстрации 37. Эти углы дают малые узоры розетки. Другие углы также используются, часто вместе с различными экранными частотами для каждого цвета.





Рисунок 50: Стандартные (общепринятые) полутоновые экранные углы

Растрированное полутоновое изображение характеризуется экранными углами и частотой или числом строк на дюйм (lpi). Частота 133 строки на дюйм общая для основных назначений печати. Высокого качества книжные иллюстрации используют более высокую частоту, как например 175; цветные ежедневные газеты имеют частоту около 85 строк на дюйм, а некоторые цветные лазерные принтеры имеют только 60 строк на дюйм.

5.4.3.2 Матрицирование

Обычно называемая матрицируемым размыванием, это более правильная форма растрирования (передачи полутонов). В этом методе физические пикселы сгруппированы в кластеры, например, 2*2 или 3*3 пиксела. Каждому пикселу в кластере может быть назначен разный цвет из доступных цветов. На расстоянии глаз будет воспринимать это как аддитивно смешанный цвет. Это работает лучше всего тогда, когда доступная пространственная разрешающая способность высока, и цвета, которые смешиваются, не являются слишком подобными. Если используется большая матрица, то большее количество цветов может быть произведено, но изображение становится явно грубым, поскольку действительный размер пиксела увеличивается. Нежелательный текстурируемый эффект является проблемой метода, вызванный повторяющимся шаблоном матрицы; глаз особенно чувствителен к таким правильным шаблонам и усиливает их.Текстурирование может быть уменьшено случайным выбором между многообразием различных шаблонов. Например, в матрице 2*2, содержащей три пиксела в желтом и один в красном, имеются четыре возможных позиции для красного пиксела, как показано на рисунке 51.





Рисунок 51: Эквивалентные шаблоны матрицирования.


Содержание раздела