Временное сглаживание ( TAA ) — это метод пространственного сглаживания для компьютерного видео, который объединяет информацию из прошлых кадров и текущего кадра для удаления неровностей в текущем кадре. В TAA каждый пиксель выбирается один раз за кадр, но в каждом кадре выборка находится в другом месте внутри пикселя. Пиксели, выбранные в прошлых кадрах, смешиваются с пикселями, выбранными в текущем кадре, для получения сглаженного изображения. Хотя этот метод позволяет TAA достичь результата, сопоставимого с суперсэмплингом , этот метод неизбежно приводит к появлению ореолов и размытости изображения. [1]
До разработки TAA MSAA был доминирующей техникой сглаживания. MSAA сэмплирует (рендерит) только края полигонов, затем усредняет сэмплы для получения окончательного значения пикселя, что делает его удивительно эффективным в сценариях, связанных с GPU . Напротив, TAA сэмплирует информацию из предыдущих и текущих кадров, что делает TAA быстрее, чем MSAA, но часто приводит к артефактам . В частях изображения без движения TAA эффективно вычисляет MSAA по нескольким кадрам, но не всегда достигает того же качества, что и последний. [ мнение ]
TAA и FXAA оба производят выборку каждого пикселя только один раз за кадр, но FXAA не учитывает пиксели, выбранные в прошлых кадрах, поэтому FXAA проще и быстрее, но не может обеспечить такое же качество изображения, как MSAA [ мнение ] или TAA.
Выборка пикселей в разных позициях в каждом кадре может быть достигнута путем добавления покадрового "дрожания" при рендеринге кадров. "Дрожание" - это 2D-смещение, которое сдвигает пиксельную сетку, а его величина X и Y находится в диапазоне от 0 до 1. [2] [3]
При объединении пикселей, выбранных в прошлых кадрах, с пикселями, выбранными в текущем кадре, необходимо соблюдать осторожность, чтобы избежать смешивания пикселей, содержащих разные объекты, что может привести к появлению артефактов двоения или размытия движения. Различные реализации TAA имеют разные способы достижения этого. Возможные методы включают:
DLSS от Nvidia работает по схожим принципам с TAA. Как и TAA, он использует информацию из прошлых кадров для создания текущего кадра. В отличие от TAA, DLSS не делает выборку каждого пикселя в каждом кадре. Вместо этого он делает выборку разных пикселей в разных кадрах и использует пиксели, выбранные из прошлых кадров, для заполнения невыбранных пикселей в текущем кадре. DLSS использует машинное обучение для объединения выборок в текущем кадре и прошлых кадрах, и его можно рассматривать как расширенную реализацию TAA. [4] [5]