Технология DLSS является продуктом компании NVIDIA, который обеспечивает высокую производительность видеоигры иногда даже без потери качества изображения. В сегодняшней статье вы узнаете об этом более подробно.
Разбираем особенности технологии DLSS
Дословно DLSS звучит как Deep Learning Super Sampling, что на русском означает “сглаживание с использованием глубокого обучения”. Из названия, конечно, ничего не понятно. Поэтому разберем все по порядку.
Обучение характерно для нейросети, что, как раз таки, относится к DLSS. Ее разработка непосредственно связана с технологией Ray Tracing - трассировка лучей. Данное новшество оказало наибольший эффект на производительность, над чем уже долгое время задумывались специалисты из NVIDIA. DLSS считается результатом решений по оптимизации и выполняет сглаживание картинки без потери ее качества. Одновременно с этим улучшаются свойства быстродействия изображения. На первый взгляд это кажется нереальным, но данный факт уже доказан на практике.
Задачей первой версии DLSS 1.0 была цель поместить весь графический контент в супер мощный компьютер NVIDIA. В свою очередь он при помощи искусственного интеллекта уже выполнял бы обработку изображения. Но в этом случае под каждую игру необходимо было писать собственный алгоритм DLSS, что довольно затратно. Когда одна нейросеть работает на все игры, сложно представить требующийся объем данных, который бы в ней хранился. Да, собственно, и изображение DLSS 1.0 выдавала размытое.
Следующая версия DLSS 2.0 была менее сложной в реализации. Видеокарты NVIDIA 2000 и 3000 серий уже оснащались тензорными ядрами, которые автономно выполняли функцию сэмплирования. Графические ускорители самостоятельно работали с картинкой, оптимизируя в реальном времени ее свойства: качество и производительность. Отметим, что именно DLSS 2.0 послужила толчком развития технологии, которая актуальна по настоящее время.
Назначение DLSS
Основная функциональная задача DLSS заключается в том, чтобы сглаживать картинку в игре по принципу суперсэмплинга. В простом понимании это выглядит следующим образом: изображение рисуется в таком качестве, чтобы оно было выше нужного разрешения, а затем оно сжимается до нужного. В результате цвет каждого пикселя реального разрешения вычисляется на основе нескольких субпикселей виртуального. Качество картинки при этом заметно улучшается.
Работа суперсэмплинга происходит одновременно с технологией глубокого обучения. Здесь применяются три вида алгоритмов:
- изображение текущего кадра в низком разрешении, сгенерированное игровым движком;
- предыдущий кадр в высоком разрешении;
- векторы движения для тех изображений которые сгенерированы движком.
Векторы движения необходимы для понимания трансформации предыдущего и создания текущего кадра в высоком разрешении.
Непосредственно в играх DLSS работает в нескольких режимах, которые улучшают качество изображений:
- Автоматический - Auto
- Ультра качество - Ultra Quality
- Качество - Quality
- Сбалансированный - Balanced
- Производительность - Performance
- Ультра производительность - Ultra Performance
В настройках необходимо выбрать тот, который требуется в настоящий момент.
Интеллектуальное масштабирование
Возвращаясь к вопросу обучения отметим, что NVIDIA использует специальную платформу NGX - Neural Graphics Framework. NGX занимается исследованием нейросети DNN. Она основана на глубоком изучении множества изображений идеального качества в сверхвысоком разрешении 16К.
NVIDIA показывает нейронной сети размытые изображения низкого качества без сглаживания и далее в процессе обучения они выравниваются. Результат этой операции отправляется к сети SI, которая оценивает итоги и учится достигать целевой точки. Соответственно, окончательный продукт выглядит гораздо лучше и имеет высокую детализацию.
В играх это выглядит так, что происходит работа с большим числом кадров в секунду. При этом в теории сохраняется уровень графики, который обеспечивается собственным разрешением. Технология DLSS восстанавливает картину на векторах движения, определяющих направления представленных в сцене кадровых объектов, а не только на основе полученных данных из предыдущих кадров.
DLSS применяет особый тип нейросети - сверточный автоэнкодер. В рамках нее рассматривается каждый пиксель и определяются края и формы, которым необходима коррекция. Во время данной операции декодер сглаживает и заостряет важные детали, отмеченные ранее. Это происходит с помощью сравнивания кадров низкого (текущего) и высокого (последнего) разрешения.
Принцип DLSS заключается в том, чтобы восстановление изображения выполнялось разумно. Это является результатом анализа, сравнения кадров и попыток воссоздания достоверных деталей (а иногда и улучшения их при использовании алгоритмов искусственного интеллекта). Иными словами, происходит добавление отсутствующих деталей на картинку более низкого качества. Таким образом, при включении DLSS используется изображение с более низким разрешением, которое пытается имитировать более высокое.
Пару слов в итогах статьи
Если есть желание опробовать технологию DLSS на практике, то это можно сделать с помощью видеокарт NVIDIA RTX 2000 или RTX 30 серии. На сегодняшний день это удовольствие не из дешевых, но данные адаптеры будут актуальны еще долгое время.