Why do we need dithering?
Дизеринг возник из-за ограниченных вычислительных ресурсов в ранние дни компьютеров. Когда память была дефицитом, изображения использовали ограниченные палитры и низкую глубину цвета, что создавало резкие ступени вместо плавных градиентов. Дизеринг обманывает наш глаз, заставляя видеть больше цветов, чем существует на самом деле, за счет добавления шума с соседними цветами. Это работает благодаря пространственному усреднению - наш глаз воспринимает среднее значение в небольшой области.
Основные методы дизеринга - упорядоченный с использованием матрицы порогов (как 2x2 матрица Байера) и диффузия ошибок (алгоритм Флойда-Стейнберга). В первом случае изображение делится на блоки пикселей, которые сравниваются с картой порогов. Во втором - ошибка между исходным и новым значением пикселя распределяется на соседние пиксели с определенными весами. Сегодня дизеринг в основном является ретро-эстетикой, так как современные системы поддерживают высокую глубину цвета.
Комментарии (98)
- Исторический контекст: Дизеринг ассоциируется с тестовым изображением красного ара из Википедии (Adrian Pingstone, 2004).
- Современное применение: Техника актуальна в играх (Return of the Obra Dinn, Portal 2) и рендеринге для борьбы с видимыми полосами градиентов в 8-битных каналах.
- Техническая необходимость: Дизеринг предотвращает артефакты квантования в аудио (шумовое формирование) и графике, особенно в монохромных градиентах.
- Альтернативное использование: Метод применяется для эстетических целей (например, упорядоченная Bayer-матрица) или как прозрачность в играх (Mario Odyssey).
- Параллели с аудио: Дизеринг используется в цифровой обработке звука для снижения шума квантизации даже в высококачественном аудио.
Image Dithering: Eleven Algorithms and Source Code (2012)
Dизеринг изображений — всё ещё актуальная техника, несмотря на современные полноцветные дисплеи. В статье представлены одиннадцать алгоритмов дизеринга, включая известный Floyd-Steinberg, с исходным кодом. Дизеринг применяется для подготовки полноцветных изображений к печати на черно-белых принтерах, уменьшения количества цветов в веб-дизайне для снижения размера файлов, а также конвертации 48-битных RAW-фотографий в 24-битный RGB для редактирования.
Техника работает путем аппроксимации недоступных цветов доступными через смешение и создание узоров. Как показывают примеры, ограничение палитры без дизеринга делает изображение практически неузнаваемым, тогда как с дизерингом сохраняется узнаваемость деталей. Основной концепцией является "распространение ошибки" (error diffusion), при которой ошибка квантования каждого пикселя распределяется на соседние пиксели для более точного представления исходного изображения.
Комментарии (21)
- Обсуждение охватывает как классические алгоритмы дизеринга (Floyd-Steinberg, Bayer, blue-noise), так и их применение в графике, аудио и печати, включая влияние на восприятие цвета и формы.
- Участники обмениваются ссылками на ресурсы (включая готовые текстуры blue-noise и примеры кода), обсуждают практические компромиссы между качеством и производительностью, а также затрагивают нюансы лицензий и этики в контексте использования чужих работ или инструментов.
- Некоторые комментарии поднимают вопрос о том, что современные дисплеи и их субпиксельная структура делают классический дизеринг менее заметным, и обсуждают, какие из методов все еще релевантны.
- Также затрагиваются вопросы о том, как дизеринг влияет на субьективное восприятие цвета и формы, и обсуждается, какие из методов лучше всего сохраняют визуальную структуру изображения.