Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Антиалиасинг: 6 типов и методов сглаживания цифровых изображений

Чтобы понять антиалиасинг, нужно знать, что такое алиасинг.

Вы видели пиксельные «лесенки» по краям объектов в играх и видео. Это алиасинг — ступенчатость, ухудшающая картинку.

Почему он возникает?

Экран состоит из пикселей — крошечных квадратов с собственным цветом и яркостью. Вертикальные и горизонтальные линии ложатся на пиксели идеально. Но диагонали и кривые приходится аппроксимировать точка-точка. Когда пиксели на границе либо включены, либо выключены — получаются «лесенки».

Очевидное решение — выше разрешение экрана. Но не каждый может купить топовый монитор. Инженеры придумали техники сглаживания. Одна из лучших — антиалиасинг.

Что такое антиалиасинг?

Антиалиасинг — сглаживание краёв пикселей путём смешивания их цветов с соседними, создавая иллюзию плавной линии. Звучит просто, но GPU должен обрабатывать миллионы пикселей каждый кадр.

Процессор сглаживает края, корректируя цвета по границам. Вместо жёсткого «вкл/выкл» пиксель получает промежуточный оттенок. Белая диагональ на чёрном фоне по краям станет серой разной интенсивности.

Увеличенный фрагмент: алиасинг vs антиалиасинг

Алгоритмы рассчитаны на естественный вид с нормального расстояния. При зуме сглаженный текст и картинки выглядят размыто — это цена подстройки пикселей.

Антиалиасинг применяют не только в графике и фото, но и в цифровом аудио (удаление лишних частот при сэмплировании). Здесь рассматриваем только графику.

На современных HiDPI-экранах (высокая плотность пикселей) «лесенки» почти не видно — сетка плотнее, картинка острее. Но даже они выигрывают от антиалиасинга.

Существует несколько типов антиалиасинга, у каждого свои плюсы и минусы. Разберём 8 самых популярных.

1. Supersampling Anti-Aliasing (SSAA)

До (слева) и после (справа) SSAA

Идеальное качество, но убивает производительность

Старейший и эффективный пространственный метод. Также называется FSAA (Full-Scene AA). Идеален для фотореализма: картинка становится мягче, живой.

Сцена рендерится в разрешении выше нативного. Берут цветовые сэмплы из «лишних» пикселей, усредняют. При уменьшении к целевому разрешению усреднённый цвет сглаживает лесенки. Чем больше сэмплов — тем лучше качество.

Минус: рендер в высоком разрешении жрёт ресурсы. В играх почти не используют.

Ещё минус: вертикальные/горизонтальные линии (чёткие по природе) становятся мыльными.

2. Multisample Anti-Aliasing (MSAA)

Источник: Nvidia

Меньше ресурсов, но качество ниже

Специализированный суперсэмплинг: не всё сэмплируется полностью. Сглаживают только грани полигонов (главный источник алиасинга в 3D). Текстуры не трогают.

GPU разделяет рисование на полигон (геометрию) и текстуру. Сначала рисует форму, потом накладывает текстуру. MAA сглаживает только полигоны.

Не обрабатывая весь кадр, MSAA эффективнее SSAA. Но качество ниже, и прозрачности не сглаживает.

3 и 4. CSAA (NVIDIA) и EQAA (AMD)

MSAA (слева) vs CSAA (справа) [в CSAA чётче края]

Оба дают лучшее качество при минимальном падении FPS

GPU-вендоры сделали свои пространственные методы. NVIDIA — CSAA, AMD — EQAA. Имена разные, принцип один.

GPU находит полигоны, вычисляет, где скорее всего будут лесенки, и суперсэмплит только те пиксели.

Весь кадр не обрабатывают — экономия ресурсов. Не требуют дополнительных цветовых/глубинных/стенсил-сэмплов. Видеопамять та же, что у MSAA в эквивалентном режиме.

5 и 6. MLAA (AMD) и FXAA (NVIDIA)

Пошаговая реализация FXAA (слева направо, сверху вниз) | Источник: NVIDIA

Быстро, мало ресурсов, но не для детализированных текстур

Пост-процессинговые методы. Оба работают одинаково: размывают пиксели ПОСЛЕ рендера кадра.

GPU сравнивает цветовой контраст соседних пикселей, находит грани полигонов. Пиксели с близким цветом/яркостью — один полигон. Граница найдена — размывают пиксели пропорционально контрасту.

В отличие от MSAA, MLAA и FXAA работают с deferred rendering. Точно находят грани, локализуют паттерны. Очень быстрые, ресурсов едят меньше пространственных методов. Размытие убирает резкий контраст невыровненных пикселей — лесенки исчезают. Но размытость заметна на динамическом освещении и детальных текстурах.

7. Enhanced Subpixel Morphological Anti-aliasing (SMAA)

Пример SMAA 4x в Crysis 2

Комбинирует пространственный и пост-процессинговый подходы

Пост-процессинг, объединяющий MLAA с мульти/суперсэмплинговыми стратегиями (MSAA, SSAA) для точных субпиксельных признаков.

SMAA даёт лучшее качество при экстремально высокой скорости. Точные градиенты, временная стабильность, минимальные накладные расходы. Любимый выбор слабых конфигураций.

8. Temporal Anti-Aliasing (TXAA)

Качество выше FXAA/MLAA, но требует много ресурсов

Сложный метод: размытие + суперсэмплинг для чёткой графики и плавного движения. Цель — стабильный уровень плавности в виртуальной среде.

Разработали Adaptive Temporal AA (ATAA), исправляющий недостатки TXAA: убирает размытие и ghosting без серьезного падения FPS. Качество близко к 16x суперсэмплингу.

Какой антиалиасинг выбрать?

Если знаете своё железо и желаемую производительность — выбор проще. Поможут вопросы:

Мощное железо: SSAA, MSAA, TXAA.
Среднее: MSAA, FXAA, MLAA.
Слабое (перегрев, низкий FPS): CSAA, SMAA.

Можете экспериментировать с настройками: разрешение, тени, FOV, дальность прорисовки, текстуры, анизотропная фильтрация. Начинайте с минимума и поднимайтесь — утомительно, но верный способ найти баланс.

Но с современными GPU и экранами заморачиваться над антиалиасингом почти не стоит. Новые игры и ультра-разрешения часто не нуждаются в нём вовсе.

Всё равно полезно знать типы — пригодится при балансе визуала и производительности следующего ПК, при монтаже видео или разработке игр.

Промышленные технологии

  1. Полное руководство по типам гвоздей: понимание каждой разновидности
  2. Материалы в обработке: типы и применения
  3. Полное руководство по техникам гибки труб
  4. Типы работников технического обслуживания: роли, обязанности и цвет воротничка
  5. Виды абразивов для пескоструйной обработки: как выбрать материал
  6. Роли рабочих на фабрике: от сборщиков до механиков
  7. Экспертное руководство по самым эффективным методам очистки земель
  8. Основные ручные инструменты столяра и домашнего мастера
  9. Виды сварки: технологии, принципы работы и сферы применения
  10. Понимание различных типов прототипирования: руководство для основателей