дизеринг что это в фотошопе
Что такое дизеринг в обработке изображений?
Узнайте, как это относится к градиентам цвета
Независимо от того, являетесь ли вы веб-дизайнером, художником-графиком или даже электронным музыкантом, сглаживание играет жизненно важную роль в творческом процессе. Дизеринг при обработке изображений – это метод, используемый для имитации цветов или затенения. Основной концепцией дизеринга является добавление шума или дополнительных пикселей в цифровой файл. В графике сглаживание добавляет случайные структуры пикселей для улучшения качества изображения, избегая полосатости.
История дизеринга
В основном забытое, одно из самых ранних применений дизеринга было во Второй мировой войне для траекторий бомбардировок и навигации. Это использование сильно отличается от размывания, как мы его знаем сегодня. Широко использовавшийся в печатном прессе как для газет, так и для комиксов, с появлением Всемирной паутины возникло сглаживание. Мы знаем, что до того, как интернет стал блестящим глазным леденцом, почти все сайты были текстовыми. Скорость набора номера в режиме улитки позволяла загружать графику только на ужасно медленных скоростях. Однако, когда вычисления расширились до 8-битного цвета с мониторами, графика и сглаживание вышли на передний план для Интернета.
Как использовался дизеринг в прошлом
При более раннем использовании в газетах, комиксах и других печатных СМИ к изображениям применялось сглаживание для создания уровней имитации серой шкалы путем стратегического размещения черных точек. Использование процесса сглаживания даст гладкое изображение с серыми оттенками, даже если печатные машины поддерживают только черные чернила. Комиксы и другая цветная печать работали аналогично, но имитировали больше оттенков цвета, чем печатные машины с ограниченной палитрой. Ниже приведен пример того, как печатные машины обрабатывают высококачественные изображения в размытое изображение. Обратите внимание, что вы по-прежнему можете видеть различные цвета и тени, но изображение гораздо более пиксельное.
В последнее время дизеринг стал популярным в веб-графике. Несмотря на то, что большая часть населения имеет доступ к высокоскоростному Интернету, все еще остается скромный процент пользователей Интернета, которые зависят от коммутируемого доступа. Использование сглаживания в обработке изображений не только уменьшает полосу цветов и затенение, что создает более гладкое законченное изображение, но также уменьшает размер файла. Первое изображение является полосатым изображением. Вы можете ясно видеть переходы в цвете.
Второе изображение представляет собой плавный градиент, в котором применено сглаживание. Полоски больше не видны и создают более плавное изображение.
Одним из ключевых применений для сглаживания было предотвращение появления полос любого цвета или градиента оттенка. Смешивая оттенки из ограниченной палитры для имитации исходного цвета, вы уменьшаете файл, создавая файл, который может быстрее загружаться на ваш экран и \ или компьютер. GIF-файлы являются отличным примером сглаживания изображений. Меньшие файлы требуют меньшей пропускной способности, что обеспечивает более быструю передачу. В первые дни Интернета дизеринг был лучшим другом веб-дизайнера. Они могли бы создавать более визуально привлекательные веб-сайты, в то же время поддерживая более медленные соединения для передачи данных.
Дизеринг в печати
Хотя ограничения старых 8-битных и 16-битных мониторов больше не являются проблемой, а технологические усовершенствования намного превзошли необходимость сглаживания, сегодня они все еще пользуются популярностью. Многие модели домашних принтеров используют дизеринг. Главным образом это снижает стоимость эксплуатации принтера и снижает стоимость самого принтера. Струйные принтеры специально распыляют микроскопические точки на бумаге, производя различные цвета и оттенки. Даже монохромные принтеры переведут цветную фотографию в размытое черное изображение, чтобы создать черно-белую копию изображения.
Дизеринг в фотошопе
Вот оригинальное черно-белое фото. В то время как хорошая фотография, добавив некоторые текстуры и цветовые заливки, Photoshop может преобразовать это изображение в художественно размытое изображение, как показано ниже:
Наложение рисунка из бумаги Pastel Paper с заливкой цветом имитируемого оттенка сепии в Photoshop резко меняет внешний вид фотографии.
Смешение в изображениях для веб-страниц
Большинство изображений для веб-страниц создаются веб-дизайнерами, использующими мониторы, рассчитанные на 24-битные цвета (отображают до 16 миллионов цветов), хотя некоторые пользователи просматривают веб-страницы на компьютерах с поддержкой 8-битовых цветов (отображают только 256 цветов). В результате этого изображения веб-страниц зачастую содержат цвета, которые не поддерживаются некоторыми компьютерами. Для имитации цветов, отсутствующих на палитре 8-битных цветов, компьютеры используют технологию, называемую смешением. Смешение — метод, используемый для получения за счет смешения пикселей двух различных смежных цветов оттенков плавных переходов при выводе цветного (полутонового) изображения на устройство, не имеющее возможности прямого вывода нужных цветов. Например, красный и желтый цвета можно смешать в виде мозаики для получения иллюзии оранжевого цвета, отсутствующего на палитре 8-битных цветов.
Чтобы исключить смешение в 256-цветных операционных системах Windows и Mac OS, используйте цвета на панели «Веб». Для выбора цветов, поддерживаемых в Интернете, можно воспользоваться палитрой «Выбор цвета».
При выполнении оптимизации изображения помните о том. что могут произойти два вид смешения:
Происходит в изображениях в формате GIF и PNG-8 в случае, когда Photoshop Elements попытается имитировать цвета, отсутствующие в текущей цветовой таблице. Для того чтобы не допустить имитации отсутствующих цветов приложением необходимо цвета, имеющиеся в исходном изображении, заменить на близкие цвета веб-палитры или добавить большее количество цветов в таблицу.
Смешение в веб-браузере
Возникает, когда веб-браузер, использующий 8-битное отображение цветов (256-цветный режим), пытается имитировать цвета, отсутствующие в текущей 8-битной цветовой таблице. Смешение такого типа может происходить в изображениях в формате GIF, PNG или JPEG. Для того чтобы не допустить имитации отсутствующих цветов веб-браузером цвет в таблице можно заменить на самый близкий цвет к тому, который поддерживается в Интернете. Заменить цвета, имеющиеся в исходном изображении, на близкие цвета, поддерживаемые в Интернете, можно также с помощью палитры «Выбор цвета».
Оценить результаты смешения в GIF и PNG-8 можно в соответствующем окне предварительного просмотра. К изображениям сплошного цвета можно и не применять смешение. И наоборот, для полутоновых изображений (с переходами оттенков) рекомендуется применять смешение для предотвращения полошения.
Контроль смешения в изображениях для веб-страниц
Параметры оптимизации для изображений и анимированных файлов GIF
В этом разделе рассматриваются различные параметры экспорта изображений и анимированных файлов GIF.
Форматы веб-графики могут быть битовыми (растровыми) или векторными. К битовым форматам относятся GIF, JPEG и PNG, которые зависят от разрешения, то есть от размеров растрового изображения. Использование различных разрешений экрана монитора может привести к изменению качества. К векторным форматам относятся SVG и SWF, которые не зависят от разрешения и поддерживают масштабирование без потери качества изображения. Векторные форматы могут также содержать растровые данные.
Формат JPEG является стандартом сжатия нерастрированных изображений, например фотографий. Оптимизация изображения в формате JPEG основана на сжатии с потерями вследствие выборочного удаления данных.
Определяет уровень сжатия. Чем выше значение параметра «Качество», тем больший уровень детализации сохраняется при сжатии. Однако чем выше значение параметра «Качество», тем больше размер файла. Чтобы определить наилучшее соотношение качества и размера файла, рекомендуется просмотреть оптимизированное изображение с различными настройками качества.
Создается улучшенный файл JPEG с незначительно меньшим размером файла. Формат «Оптимизированный JPEG» рекомендуется для максимального сжатия. Однако некоторые браузеры старых версий могут не поддерживать эту функцию.
Изображение в веб-браузере отображается прогрессивно. Изображение выводится как последовательность наложений, что позволяет отобразить изображение с низким разрешением до полной его загрузки. Для параметра «Прогрессивный» необходимо использование формата Оптимизированный JPEG.
Отображение формата «Прогрессивный JPEG» требует большего объема оперативной памяти, этот формат поддерживается не всеми браузерами.
Задает степень размытия изображения. При выборе этого параметра создается эффект, аналогичный фильтру «Размытие по Гауссу», и обеспечивается дополнительное сжатие, что уменьшает размер файла. Рекомендуется использовать значение от 0,1 до 0,5.
Встроенный профиль (Photoshop) или ICC-профиль (Illustrator)
Сохраняет цветовые профили в оптимизированном файле. В некоторых браузерах для цветокоррекции применяются цветовые профили.
Задается цвет заливки для пикселей, которые в исходном изображении были прозрачными. Чтобы выбрать цвет в палитре цветов, щелкните «Образец цвета подложки» или укажите параметр в меню «Подложка»: «Цвет пипетки» (для использования цвета в поле образцов пипетки), «Основной цвет», «Цвет фона», «Белый», «Черный» или «Другой» (для использования палитры цветов).
Полностью прозрачные пиксели исходного изображения заполняются выделенным цветом. Частично прозрачные пиксели исходного изображения смешиваются с выбранным цветом.
Параметры оптимизации для форматов GIF и PNG‑8
Формат GIF является стандартом сжатия для изображений с цветами смесевых красок и четкой детализацией, например, для штриховых рисунков, логотипов или иллюстраций с текстом. Аналогично GIF, формат PNG‑8 эффективно сжимает сплошные области цвета с сохранением четкости деталей.
Файлы PNG‑8 и GIF поддерживают 8-разрядную глубину цвета, то есть до 256 цветов. Процесс определения используемых цветов называется индексированием, поэтому изображения в форматах GIF и PNG‑8 иногда называют изображениями индексированных цветов. Чтобы преобразовать изображение в индексированные цвета, для хранения и индексации цветов в изображении используется таблица цветов изображения. Если в таблице цветов исходного изображения отсутствует нужный цвет, то приложение подбирает ближайший цвет из таблицы или имитирует цвет с помощью сочетания доступных цветов.
Кроме приведенных ниже параметров, можно задать количество цветов в таблице цветов изображения. См. Настройка таблицы цветов для изображений GIF и PNG‑8.
Уменьшение размера файла путем выборочного удаления данных. Чем выше значение параметра «Потери», тем больший объем данных удаляется. Обычно сохранить качество изображения позволяет установка для параметра «Потери» значения в диапазоне от 5 до 10, иногда до 50. Изменение значения параметра «Потери» может привести к уменьшению размеры файла на 5 — 40%.
Параметр «Потери» нельзя использовать одновременно с параметром «Чересстрочно», алгоритмами «Дизеринг шума» или «Регулярный дизеринг».
Цвета и метод редукции цвета
Определяет метод создания таблицы цветов изображения и необходимое количество цветов в таблице. Доступны следующие методы редукции цвета.
Перцепционная Создает пользовательскую таблицу цветов, отдавая предпочтение цветам, к которым человеческий глаз наиболее чувствителен.
Селективная Создает таблицу цветов, аналогичную таблице «Перцепционная», но отдавая предпочтение областям большого размера и сохранению веб-цветов. Обычно при использовании этой таблицы получаются изображения с наибольшей достоверностью цветов. Значение «Селективная» задано по умолчанию.
Адаптивная Создает таблицу путем выборки цветов из преобладающего спектра в изображении. Например, для изображения, в котором есть только зеленый и синий цвета, таблица цветов будет состоять в основном из оттенков синего и зеленого. В большинстве изображений цвета сосредоточены в определенных областях спектра.
Ограниченная (Web) Используется стандартная таблица из 216 цветов, применяемая в Windows и Mac OS в палитрах с 8-разрядной глубиной цвета (256 цветов). При выборе этого параметра дизеринг в браузере не применяется при отображении с 8-разрядной глубиной цвета (такая палитра также называется «безопасной палитрой Web»). Использование палитры Web может приводить к увеличению размера файла, и рекомендуется только в тех случаях, когда крайне важно исключить дизеринг в браузере.
Заказная Применяется палитра цветов, созданная или измененная пользователем. При открытии существующего файла GIF или PNG‑8 в нем будет пользовательская палитра цветов.
Таблица цветов изображения настраивается с помощью палитры Таблица цветов в диалоговом окне «Сохранить для Web и устройств».
«Черно-белый», «Оттенки серого», Mac OS, Windows Используется заданная палитра цветов.
Определяет метод и степень дизеринга. Дизеринг позволяет имитировать цвета, которые отсутствуют в системе цветного изображения компьютера. Более высокий процент дизеринга позволяет передавать больше цветов и деталей, но также приводит к увеличению размера файла. Для оптимального сжатия рекомендуется использовать наименьший процент дизеринга, обеспечивающий необходимую детализацию цвета. К изображениям, состоящим преимущественно из сплошных тонов, дизеринг можно не применять. В изображениях с непрерывными оттенками (особенно градиентами) дизеринг может быть нужен для того, чтобы избежать полошения цветов.
Доступны следующие методы дизеринга.
Диффузия Применяется случайный узор, менее заметный, чем в режиме «Регулярный дизеринг». Эффекты дизеринга распространяются на смежные пиксели.
Узор Для имитации цветов, отсутствующих в таблице цветов, применяется квадратный узор наподобие полутонового.
Шум Применяется случайный узор, подобный методу дизеринга «Случайный», но без распространения на смежные пиксели. При использовании метода дизеринга «Шум» швы не возникают.
«Прозрачность» и «Подложка»
Определяет способ оптимизации прозрачных пикселей в изображении.
Чтобы сделать полностью прозрачные пиксели прозрачными и смешать частично прозрачные пиксели с цветом, выберите «Прозрачность» и укажите цвет подложки.
Чтобы заполнить полностью прозрачные пиксели цветом и наложить их на частично прозрачные пиксели того же цвета, выберите цвет подложки и отмените выбор параметра «Прозрачность».
Для выбора цвета подложки щелкните стрелку рядом с образцом цвета «Подложка» и выберите требуемый цвет в палитре цветов. Второй способ: выберите параметр в меню «Подложка»: Цвет пипетки (для использования цвета в поле образцов пипетки), Основной цвет, Цвет фона, «Белый», «Черный» или «Другой» (для использования палитры цветов).
Параметры «Основной цвет» и «Цвет фона» доступны только в Photoshop.
Дизеринг: зашумляем сигнал, чтобы улучшить его
Введение
В первой части этой серии статей мы рассмотрим теоретическую сторону дизеринга, немного истории и применение его к 1D-сигналам и дискретизации. Я попытаюсь провести частотный анализ ошибок дискретизации и расскажу о том, как дизеринг помогает их исправить. В основном это будет теоретическая статья, поэтому если вам интересны более практические применения, то ждите следующих частей.
Блокнот Mathematica для воспроизведения результатов можно найти здесь, а pdf-версия находится здесь.
Что такое дизеринг?
Дизеринг (Dithering) можно описать как намеренное/осознанное внесение в сигнал шума для предотвращения ошибок большого масштаба/низкого разрешения, возникающих вследствие дискретизации или субдискретизации.
Если вы когда-нибудь работали с:
Однако я обнаружил в Википедии довольно удивительный факт о том, как впервые был определён и использован дизеринг:
— Кен Полманн, Principles of Digital Audio
Это вдохновляющий и интересный исторический факт и мне понятно, почему он позволяет избегать отклонений в вычислениях и резонансах, случайным образом разрушая циклы обратной связи механической вибрации.
Но хватит истории, давайте для начала рассмотрим процесс дизеринга в 1D-сигналах, например, в аудио.
Дискретизация дизерингом постоянного сигнала
Мы начнём с анализа самого скучного в мире сигнала — постоянного сигнала. Если вы знаете немного о цифровой обработке сигналов, связанных со звуком, то можете сказать: но ты же обещал рассмотреть аудио, а в звуке по определению нет постоянной составляющей! (Более того, и в ПО, и в оборудовании обработки звука намеренно устраняется так называемый сдвиг постоянной составляющей (DC offset).)
Это правда, и вскоре мы рассмотрим более сложные функции, но начнём мы сначала.
Представьте, что мы выполняем 1-битную дискретизацию нормализованного сигнала с плавающей запятой. Это значит, что мы имеем дело только с конечными двоичными значениями, 0 или 1.
Если сигнал равен 0,3, то простое округление без дизеринга будет самой скучной функцией — просто нулём!
Погрешность тоже постоянна и равна 0,3, следовательно, и средняя погрешность равна 0,3. Это означает, что мы внесли довольно большое отклонение в сигнал и полностью потеряли информацию исходного сигнала.
Мы можем попробовать выполнить дизеринг этого сигнала и посмотреть на результаты.
Дизеринг в этом случае (при использовании функции округления) просто применяет обычный случайный белый шум (случайное значение для каждого элемента, что создаёт равномерный спектр шума) и прибавляет в сигнал перед дискретизацией случайное в интервале (-0.5, 0.5).
quantizedDitheredSignal =
Round[constantSignalValue + RandomReal[] – 0.5] & /@ Range[sampleCount];
Здесь сложно что-то увидеть, теперь результат дискретизации — это просто набор случайных единиц и нулей. С (ожидаемо) большим количеством нулей. Сам по себе этот сигнал не особо интересен, однако довольно интересен график погрешностей и средняя погрешность.
Итак, как мы и ожидали, погрешность тоже варьируется, но пугает то, что погрешность иногда стала больше (абсолютное значение 0,7)! То есть максимальная погрешность к сожалению стала хуже, однако средний шум имеет значение:
Намного лучше, чем первоначальная погрешность в 0,3. При значительно большом количестве сэмплов эта погрешность будет стремиться к нулю (к пределу). Итак, погрешность постоянной составляющей стала намного меньше, но давайте взглянем на частотный график всех погрешностей.
Красный график/всплеск = частотный спектр погрешности при отсутствии дизеринга (постоянный сигнал без частот). Чёрный — с дизерингом при помощи белого шума.
Всё становится интереснее! Это демонстрирует первый вывод из этого поста — дизеринг распределяет погрешность/отклонение дискретизации среди множества частот.
В следующем разделе мы узнаем, как это нам поможет.
Частотная чувствительность и низкочастотная фильтрация
Выше мы наблюдали за дизерингом дискретизированного постоянного сигнала:
Более того, наши медиаустройства становятся всё лучше и лучше, обеспечивая большую избыточную дискретизацию (oversampling). Например, в случае телевизоров и мониторов у нас есть технология «retina» и 4K-дисплеи (на которых невозможно разглядеть отдельный пиксель), в области звука мы используем форматы файлов с дискретизацией не менее 44 кГц даже для дешёвых динамиков, которые часто не могут воспроизводить больше, чем 5-10 кГц.
Это значит, что мы можем аппроксимировать воспринимаемый внешний вид сигнала, выполнив его низкочастотную фильтрацию. На графике я выполнил низкочастотную фильтрацию (заполнение нулями слева — это «нарастание»):
Красный — желаемый недискретизированный сигнал. Зелёный — дискретизированный сигнал с дизерингом. Синий — низкочастотный фильтр этого сигнала.
Сигнал начинает выглядеть гораздо более близким к исходной, недискретизированной функции!
К сожалению, мы начинаем видеть низкие частоты, которые очень заметны и отсутствуют в исходном сигнале. В третьей части серии мы попробуем исправить при помощи синего шума. А пока вот как график может выглядеть с функцией псевдо-шума, имеющей содержимое с гораздо меньшей частотой:
Это возможно, потому что наша псевдослучайная последовательность имеет следующий спектр частот:
Но давайте закончим рассматривать простые, постоянные функции. Взглянем на синусоиду (если вы знакомы с теоремой Фурье, то знаете, что она является строительным блоком любого периодического сигнала!).
Дискретизация синусоиды
Если мы дискретизируем синусоиду 1-битной дискретизацией, то получим простой прямоугольный сигнал.
Прямоугольный сигнал довольно интересен, потому что включает в себя и базовую частоту, и нечётные гармоники.
Это интересное свойство, которое активно используется в аналоговых субтрактивных синтезаторах для создания звучания полых/медных инструментов. Субтрактивный синтез берёт сложный, гармонически богатый звук и фильтрует его, устраняя некоторые частоты (параметры фильтра варьируются со временем), чтобы придать звукам нужную форму.
Спектр частот прямоугольного сигнала:
Но в этом посте нас больше интересую погрешности дискретизации! Давайте создадим график погрешности, а также спектр частот погрешности:
В этом случае ситуация гораздо лучше — средняя погрешность близка к нулю! К сожалению, у нас по-прежнему присутствует множество нежелательных низких частот, очень близких к нашей основной частоте (нечётных множителей с уменьшающейся величиной). Это явление называется алиасингом или шумом дизеринта — возникают частоты, отсутствовавшие в исходном сигнале, и они имеют довольно большие величины.
Даже низкочастотная фильтрация не сможет значительно помочь сигналу. Погрешность имеет очень много низких частот:
Дискретизированная синусоида с низкочастотной фильтрацией
Погрешность дискретизированной синусоиды с низкочастотной фильтрацией
Давайте взглянем, как меняется ситуация при добавлении дизеринга. На первый взгляд, улучшений почти нет:
Однако если мы рассмотрим это как изображение, то оно начинает выглядеть лучше:
Заметьте, что погрешности дискретизации снова распределены среди различных частот:
Выглядит очень многообещающе! Особенно учитывая то, что теперь мы можем попробовать выполнить фильтрацию:
Это немного искажённая синусоида, но она выглядит намного ближе к исходной, чем версия без дизеринга, за исключением фазового сдвига, внесённого асимметричным фильтром (я не буду объяснять этого здесь; скажу только, что проблему можно устранить, применив симметричные фильтры):
Красный — исходная синусоида. Зелёный — подвергнутый низкочастотной фильтрации сигнал без дизеринга. Синий — подвергнутый низкочастотной фильтрации сигнал с дизерингом.
Графики обеих погрешностей численно подтверждают, что погрешность намного меньше:
Красный — погрешность подвергнутого низкочастотной фильтрации сигнала без дизеринга. Синий — погрешность подвергнутого низкочастотной фильтрации сигнала с дизерингом.
Наконец, давайте вкратце рассмотрим сигнал с более качественной функцией дизеринга, содержащей только высокие частоты:
Верхнее изображение — функция белого шума. Нижнее изображение — функция, содержащая более высокие частоты.
Версия с низкочастотной фильтрацией, дизерингом и улучшенной функцией — почти идеальные результаты, если не учитывать фазовый сдвиг, вызванный фильтром!
И наконец, сравнение всех трёх спектров погрешностей:
Красный — спектр погрешности дискретизации без дизеринга. Чёрный — спектр погрешности дискретизации с дизерингом белым шумом. Синий — спектр погрешности дискретизации с дизерингом с более высокими частотами.
На этом первая часть серии заканчивается. Основные выводы: