基于未来帧的时间性反走样研究及实践

2022-03-21 11:04杜兴盛张靖仪张严辞
图学学报 2022年1期
关键词:重影走样时间性

杜兴盛,吴 桐,张靖仪,李 根,李 鑫,张严辞,

基于未来帧的时间性反走样研究及实践

杜兴盛1,吴 桐2,张靖仪2,李 根2,李 鑫3,张严辞1,2

(1. 四川大学计算机学院,四川 成都 610065;2. 四川大学视觉合成图形图像技术国家重点学科实验室,四川 成都 610065;3. 国家空域管理中心,北京 101318)

时间性反走样算法具有效率优势,是近年来被广泛应用的实时反走样算法之一。该算法通过将采样点平摊至历史多帧及复用历史数据的方式来实现实时反走样。在时域信息采样充分且历史数据可复用的前提下,该算法能取得和超采样反走样算法类似的效果。然而在实际应用中,时间性反走样算法会有几何边缘锯齿、重影及子像素细节缺失等问题。本文以时间性反走样算法为研究基础,针对时间性反走样算法存在的问题,提出了一种基于未来帧的时间性反走样算法。其基本思想是,在使用已有时域信息的基础上,将未经反走样处理的未来一帧纳入时间性反走样,通过使用未来帧的样本,提升几何反走样效果,实现抗重影以及改善子像素细节缺失情况。本文算法提出了可复用未来帧数据提取以及未来帧数据复用的解决方案。实验结果表明,与时间性反走样算法相比,该算法的反走样效果更优。

时间性反走样;未来帧;几何反走样;抗重影;子像素细节缺失

走样现象一直是影响渲染质量的关键因素,近年来,时间性反走样算法(temporal anti-aliasing,TAA)[1-4]因其较低的计算成本与较少的内存占用,在实时渲染领域备受关注。相比多重采样反走样算法[5](multisampling anti-aliasing,MSAA),TAA能更好地满足延迟渲染的抗锯齿需求。然而,由于使用累积帧来代替历史多帧以及邻域裁剪方法的局限性,TAA会有重影、图像模糊及子像素缺失等问题,在时域信息采样不充分区域,TAA依然会有几何边缘锯齿问题。

为解决TAA所带来的这些问题,本文提出了一种基于未来帧的时间性反走样算法 (future- frame-based temporal anti-aliasing,FTAA),其基本思想为:在复用历史数据的基础上,引入未来帧增加时域信息,将未经反走样处理的未来一帧数据纳入时间性反走样,缓解TAA存在的几何边缘锯齿、重影与子像素细节缺失的问题。

1 相关工作

基于覆盖超采样的空间性反走样算法。走样的根本原因在于采样频率不足,超采样反走样算法[6](supersampling anti-aliasing,SSAA)通过混合多个采样点的着色结果,可以得到高质量的反走样效果。MSAA将三角形覆盖率与着色率解耦,同一个三角形若覆盖多个采样点,也只会着色一次。NVIDIA的覆盖采样反走样算法(cover-age-sampling anti-aliasing,CSAA)[7]提高了采样数,但不增加显存开销,三角形覆盖多少采样点只影响子像素在混合时的权重;AMD的增强质量反走样算法(enhanced quality anti-aliasing,EQAA)[8]将子像素着色结果存放在表格中,每个采样点只保存着色结果在表格中的ID,用以将采样点与着色结果解耦。

基于图形分析的空间性反走样算法。该类算法最早由LOTTES[9]提出,Lottes通过形态分析的方式有效解决了SSAA的性能问题;JIMENEZ等[10]扩展了形态分析的反走样模式,有效缓解了上述算法存在的边缘模糊问题;文献[11-12]简化了形态分析的匹配过程,显著提升了上述算法的反走样效率。然而基于形态分析的空间性反走样算法并不能有效解决着色走样[13]及细节缺失现象。TOKUYOSHI和KAPLANYAN[14]将几何分析和光照计算相结合,有效缓解了着色走样;文献[15-16]通过扩展几何缓存(G-Buffer)和引入几何分析的方式显著提升了反走样算法的细节恢复效果。

TAA算法是一种将空域内的采样点平摊到时域上,以达到降低每帧渲染时间的超采样方法。Intel提出了一种和传统形态反走样相结合的TAA[3];NVIDIA在Game Developer Conference分享了一种和自适应超采样相结合的TAA[17];AMD旗下Radeon系列显卡集成了Radeon图像锐化技术[18]。Naughty Dog Game Engine于2016年SIGGRAPH会议上分享过和自适应滤波技术相结合的TAA[19];Decima Engine于2017年SIGGRAPH会议上分享过和快速近似反走样相结合的TAA[20];Unreal Engine于2017和2018年SIGGRAPH会议上分享了诸多和TAA相关的研究成果[4,21]。

深度学习反走样算法。NALBACH等[22]提出过一种基于卷积神经网络(convolutional neural networks,CNN)的深度学习反走样算法。SALVI[23]利用循环神经网络来改进深度学习反走样算法的时序稳定性。NVIDIA在图灵显卡架构的基础上提出过一种基于深度学习的超采样反走样算法(deep learning super sampling)[24]。

2 算法概述

TAA[1]通过复用历史数据的方式,可有效满足实时反走样算法的性能要求。然而其在实际运用中,也存在诸多影响图像质量的问题,如图1所示。图1(a)由于相机运动,新出现物体因累积帧时域信息缺失,使得几何边缘锯齿无法消除;图1(b)由于邻域裁剪在高频信息处失效,运动物体的历史数据被错误复用出现重影;图1(c)由于子像素细节采样失败,同时邻域裁剪出错使得无法正确复用累积帧,导致子像素细节缺失。

针对TAA存在的几何边缘锯齿、重影及子像素细节缺失问题,本文受视频压缩中双向预测[25]的启发,提出了FTAA算法。其基本思想为:在复用累积帧的基础上,引入未来一帧,同时利用未来帧提供的时域信息缓解TAA存在的几何边缘锯齿、重影与子像素细节缺失问题,并解决了如下问题:

图1 TAA算法问题((a)锯齿问题;(b)重影问题;(c)子像素缺失问题)

(1) 在累积帧时域信息缺失区域,由于FTAA引入了未来帧提供了更多的时域信息,将当前帧和未来帧数据进行混合,从而实现更好的几何边缘抗锯齿效果。

(2) FTAA将时间性反走样的混合因子扩充到未来帧,通过改变混合方式,在保持原有反走样效果的同时,降低混合结果对累积帧中历史数据的依赖,从而抑制重影。

(3) 当前帧子像素细节采样失败时,未来帧子像素细节采样可能成功,FTAA加入未来帧数据可以降低子像素细节缺失程度;除此之外,FTAA通过引入未来帧来提升邻域裁剪的限制范围,同时降低累积帧子像素细节被裁剪出错概率,进一步降低子像素细节缺失程度。

3 FTAA

3.1 基于G-Buffer和重采样的可复用未来帧数据提取方案

本文利用G-Buffer提供的运动向量,从可见性的角度来评估未来帧数据的可复用性,进而实现未来帧数据的有效提取。该思路的基本假设如下:①可见的未来样本对应的着色数据具备可复用性;②不可见的未来样本对应的着色数据不具备可复用性。其中可见性指未来样本是否落在时刻目标像素的可见范畴。如图2所示,像素在当前时刻采样到了蓝色样本,而物体间遮挡变化使得1时刻采样到的橙色样本并未落在时刻像素的可见范畴,1时刻像素对应的橙色样本为典型的不具备可见性的未来样本。

图3为评估可见性方法流程。假设场景中仅桌形物体发生运动。图中红色方格对应的像素p在时刻采样到了背景,这将使得p重投影得到的对应样本s1能投影回时刻目标像素p中心位置,判断未来样本s1在目标像素p的可见范畴。然而紫色方格对应的像素p在时刻采样到了桌脚,桌脚在1时刻不可见,p重投影得到的桌面样本s1,并不能重投影至时刻目标像素p中心位置,判断未来样本s1在目标像素p为不可见范畴。

图2可见性发生变化

图3 评估可见性方法流程

基于精度受损考虑,方法通过s+1能否重投影至时刻目标像素相近范畴来评估s+1的可见性,评估过程为

3.2 未来帧数据复用机制

3.2.1 未来帧数据融合方案

未来帧未经反走样处理,直接引入反而会加剧走样,因此本方案将当前帧与未来帧进行初步融合,获得初步反走样结果为

其中,e为最小阈值;e为最大阈值;lux为亮度求取函数;max为最大值函数;clp为限制函数。

3.2.2 基于未来帧的邻域裁剪改进方案

对于存在子像素细节的目标像素,若对应的历史数据包含子像素细节,而时刻目标像素邻近像素范畴内的抖动样本均未采样到子像素细节,则邻域裁剪会出错,进而导致子像素细节缺失。为了缓解上述问题,本文提出了基于未来帧的邻域裁剪改进方法,以减少邻域裁剪的出错频率。改进方法为,复用1帧可见样本着色信息,以提高样本采样到子像素细节的几率,从而降低了子像素细节缺失概率。

本文通过改进AABB的构建方式,来解决子像素细节缺失问题。即利用帧及初步反走样结果中邻近像素范畴内的着色样本,确定着色极值(包括极小值和极大值),进而确定AABB的顶点,以提升AABB的限制精度,其提升将降低被错误修正的可能性。改进方法仅在静态场景下使用,因为场景运动将导致目标像素及邻近像素范畴内的样本很难采样到包含子像素细节的运动信息,进而导致包含子像素细节信息的概率很低。而动态场景下,使用改进后的邻域裁剪方法,将不能显著改善子像素细节缺失情况。综合考虑时间开销和效果,复用机制仅在静态场景下使用改进后的方法,动态场景仍使用原有方法。裁剪结果将作为基于未来帧的混合方案的累积帧数据。

3.3 基于未来帧的混合方案

4 实验结果与分析

4.1 实验概述

针对文献[1]TAA算法存在的几何边缘锯齿、子像素细节缺失、重影问题,本文提出了基于FTAA算法,并设计了一系列实验,用于验证其有效性。

实验环境为NVIDIA GeForce GTX-1060 GPU,Intel(R) Core(TM) i5-8400 CPU,8 GB内存。输出分辨率均为1920×1080,实验中使用采样率为32 spp的SSAA算法产生的结果作为Ground Truth。

4.2 验证FTAA方法能有效缓解时域欠采样区域的几何边缘锯齿

图4 时域信息缺失区域相框反走样效果对比

4.3 验证FTAA方法能有效缓解重影问题

实验过程中选取图5所示的TAA无法根除重影的区域进行对比。由图5(a)可见,小车向左运动时,地毯着色变化较为显著,邻域裁剪失效,TAA方法出现了蓝色区域所示的重影。对比图5(b)和(a)可知,FTAA取得比TAA更好的抗重影效果。与TAA相比,FTAA因多复用未来帧数据,影响了历史数据初始权重的计算结果,并且在高频区域,根据基于未来帧的混合方案,累积帧的混合权重会进一步降低,从而有效抑制了重影问题。

4.4 验证FTAA方法能有效缓解子像素缺失问题

实验通过对比图6所示的吊灯在反走样效果上的差异,来验证FTAA方法对子像素细节缺失情况的改善。图6(a)~(c)分别展示了TAA,FTAA及SSAA在吊灯区域的反走样效果。观察图6(a)和(c)蓝色方框标记的区域,可以明显看到TAA方法存在显著的子像素细节缺失。而对比图6(a)和6(b)蓝色标记区域的反走样结果可知,FTAA有效改善了子像素细节缺失的情况。在本文方法中,未来帧数据融合方案可以引入有效的未来帧数据中子像素信息;并且对邻域裁剪方法进行改进后,引入了未来帧数据,以提升历史限制精度,进而降低包含子像素细节的历史数据被丢弃的概率。总之,FTAA方法增加子像素被采样到的概率,减少了邻域裁剪的出错频率,进而改善子像素细节缺失的情况。

4.5 验证FTAA 在实际应用中的有效性

为了验证在实际应用中FTAA能取得比TAA更优的反走样效果。在实验场景中设了多个视角进行相机漫游,并获取连续帧画面经TAA,FTAA及SSAA反走样处理后的效果图,以及3种方法的平均渲染帧率。实验共获取了1 304帧画面对应的反走样效果图,并将其作为性能评估指标SSIM及PSNR的输入数据。将SSAA的反走样结果将作为参考效果。

图5 物体运动区域反走样效果对比

图6 子像素区域反走样效果对比

图7展示了1 304 帧画面在不同算法下的反走样性能评估指标的计算结果。观察SSIM曲线和PSNR曲线的变化情况可知,曲线起始区域的变化尤为显著。这与时间平摊超采样的理念有关,起始帧开始,随着时间的推进,采样频率将会提高,时域信息的采样逐渐饱和;在时域信息饱和的过程中,反走样质量将会急剧提升;时域信息饱和后,反走样质量基本稳定。但相机或场景的运动会使得当前帧的一些区域未出现在历史帧中,进而导致当前帧部分区域缺乏充足的时域信息,从而使得反走样质量发生浮动。观察曲线非起始部分的浮动情况,可以明显看到FTAA的评估结果普遍高于TAA。这证实了FTAA在实际应用中的有效性,说明其反走样质量普遍优于TAA。

图7 SSIM及PSNR评估结果示意图

表1统计了1 304帧画面在不同算法下的渲染帧率。由表1可知,FTAA的渲染帧率略低于TAA,但明显优于SSAA,其能满足实时反走样的性能需求。由于SSAA每帧目标像素需要生成多个着色样,TAA和FTAA每帧目标像素仅生成一个着色样本,其余的样本从历史帧及未来帧中获取,所以TAA和FTAA的渲染帧率优于SSAA。而与TAA对比,FTAA在反走样过程中需要提取和复用未来数据,这将增加时间成本,因而FTAA的渲染帧率略逊于TAA。

表1 渲染帧率对比

4.6 FTAA方法与DLSS2.0方法定性对比分析

NVIDIA在图灵显卡架构的基础上提出的基于深度学习的超采样反走样算法2.0[24](deep learning super sampling,DLSS2.0)是当下广泛使用的基于深度学习的反走样算法。由于本文未复现DLSS2.0方法,所以不能在相同条件下进行效率和效果的对比分析,只简单地从原理上进行归纳总结,在应用场景、实现难易程度等方面进行对比分析。DLSS2.0方法可以借助RTX GPU和训练好的AI模型加速运算,每帧只需1/4分辨率的像素渲染结果作为输入,利用低分辨率帧得到近似与原始分辨率的画质,且帧率比原始分辨率的高。DLSS2.0方法可以处理光照及阴影变化情况,在复杂的动态场景中,本文效果要逊色于DLSS2.0方法。但由于DLSS2.0方法是在图灵显卡架构的基础上提出的,需要RTX显卡才能支持,并且需要准备训练集以及训练相应的AI模型。FTAA方法不依赖于图灵显卡架构,对硬件要求更低,也无需训练集和AI模型训练,可以直接部署在场景中使用,实现更简单。

4.7 算法局限性分析

针对几何边缘锯齿、重影及子像素细节缺失问题,本文提出了FTAA方法。FTAA虽能通过复用未来帧提供的时域信息,以改善TAA的反走样效果,但其仍存在如下不足:

(1) 与TAA相比,FTAA的时间成本略逊。FTAA是利用未来帧数据实现改进目的的。然而,在可复用未来帧数据提取及复用的过程中,将对效率产生一定影响,即时间成本的提升。

(2) 本文提出的可复用未来帧数据提取方法,并未考虑光照及阴影对提取效果的影响。换言之,在光照或阴影变化时,提取方法获取的未来帧数据可能不具备可复用性,这将对FTAA的反走样效果产生不利影响。

5 结束语

为了改进TAA存在的走样问题(包括几何边缘锯齿、重影及子像素细节缺失),本文提出了一种基于未来帧的时间性反走样算法。算法最终能实现:①改进了时域欠采样区域的几何边缘抗锯齿效果;②取得了重影抑制的效果;③降低了子像素细节缺失程度。然而,本文算法仍需在以下方面进一步改进和完善:

(1) 本文方法在设计的过程中,并未考虑光照及阴影变化对提取效果的影响。如何在光照及阴影变化的情况下,取得较优的可复用未来帧数据提取效果,将是未来工作的重要研究方向之一。

(2) 本文设计的FTAA并未解决超高分辨图像的反走样问题。出于扩大FTAA应用范畴的考虑,后续将研究如何复用未来一帧提供的时域信息,以改进超高分辨图像的反走样效果。

[1] PEDERSEN L J F. Temporal reprojection anti-aliasing in inside[J]. Game Developers Conference, 2016, 3(4): 10.

[2] YANG L, LIU S Q, SALVI M. A survey of temporal antialiasing techniques[J]. Computer Graphics Forum, 2020, 39(2): 607-621.

[3] KIM S. Temporally stable conservative morphological anti-aliasing (tscmaa)[EB/OL]. [2021-04-10]. https://www. intel.com/content/www/us/en/developer/articles/technical/temporally-stable-conservative-morphological-anti-aliasing-tscmaa.html.

[4] ABADIE G. A life of a bokeh[EB/OL]. [2021-04-10]. https://advances.realtimerendering.com/s2018/.

[5] FRIDVALSZKY A, TÓTH, B. Multisample anti-aliasing in deferred rendering[C]//The Eurographics Association 2020. Goslar: Eurographics Association Press, 2020: 21-24.

[6] BEETS K, BARRON D. Super-sampling anti-aliasing analyzed[EB/OL]. [2021-04-10]. https://www.beyond3d.com/ content/articles/37/.

[7] NVIDIA. NVIDIA Tesla P100[EB/OL]. [2021-04-10]. https://images.nvidia.com/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper.pdf.

[8] AMD. EQAA Modes for AMD 6900 Series Graphics Cards[EB/OL]. [2021-04-10]. https://developer.amd.com/ wordpress/media/2012/10/EQAA%2520Modes%2520for%2520AMD%2520HD%25206900%2520Series%2520Cards.pdf.

[9] LOTTES T. Fxaa[EB/OL]. [2021-04-10]. https://developer. download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf.

[10] JIMENEZ J, MASIA B, ECHEVARRIA J I, et al. Practical morphological antialiasing[M]//GPU Pro 360. Boca Raton: Taylor & Francis, CRC Press, 2018: 135-153.

[11] STRUGAR F, LAKE A. Conservative morphological anti-aliasing 2.0[EB/OL]. [2021-04-10]. https://www.intel. com/content/www/us/en/developer/articles/technical/conservative-morphological-anti-aliasing-20.html.

[12] JIMENEZ J, ECHEVARRIA J I, SOUSA T, et al. SMAA: enhanced subpixel morphological antialiasing[J]. Computer Graphics Forum, 2012, 31(2pt1): 355-364.

[13] KAPLANYAN A S, HILL S, PATNEY A, et al. Filtering distributions of normals for shading antialiasing[C]// Proceedings of High Performance Graphics. Goslar: Eurographics Association Press, 2016: 151-162.

[14] TOKUYOSHI Y, KAPLANYAN A S. Improved geometric specular antialiasing[C]//The ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. New York: ACM Press, 2019: 1-8.

[15] CHAJDAS M G, MCGUIRE M, LUEBKE D. Subpixel reconstruction antialiasing for deferred shading[C]// Symposium on Interactive 3D Graphics and Games on - I3D '11. New York: ACM Press, 2011: 15-22.

[16] DU W J, FENG J Q, YANG B G. Sub-pixel anti-aliasing via triangle-based geometry reconstruction[J]. Computer Graphics Forum, 2014, 33(7): 81-90.

[17] MARRS A, SPJUT J, GRUEN H, et al. Improving temporal antialiasing with adaptive ray tracing[M]. Heidelberg: Springer, 2019: 353-370.

[18] EDELSTEN A. Amd radeon™ image sharpening[EB/OL]. [2021-04-10]. https://www.amd.com/en/technologies/radeon- software-image-sharpening.

[19] XU K. Temporal antialiasing in uncharted 4[EB/OL]. [2021-04-10]. http://advances.realtimerendering.com/s2016/.

[20] DE CARPENTIER G, ISHIYAMA K. Decima engine: advances in lighting and aa[EB/OL]. [2021-04-10]. https:// advances.realtimerendering.com/s2017/.

[21] BAVOIL C. Aggregate g-buffer anti-aliasing in unreal engine 4[EB/OL]. [2021-04-10]. http://advances.realtimerendering. com/s2016/.

[22] NALBACH O, ARABADZHIYSKA E, MEHTA D, et al. Deep shading: convolutional neural networks for screen space shading[J]. Computer Graphics Forum, 2017, 36(4): 65-78.

[23] SALVI M. Deep Learning: The Future of Real-Time Rendering? [EB/OL]. [2021-04-10]. https://openproblems. realtimerendering.com/s2017/.

[24] LIU E. Dlss 2.0 - image reconstruction for real-time rendering with deep learning[EB/OL]. [2021-04-10]. http://behindthepixels. io/assets/files/DLSS2.0.pdf.

[25] SOFOKLEOUS A. Review: H.264 and MPEG-4 video compression: video coding for next-generation multimedia[J]. The Computer Journal, 2005, 48(5): 563.

Future-frame-based temporal anti-aliasing research and practice

DU Xing-sheng1, WU Tong2, ZHANG Jing-yi2, LI Gen2, LI Xin3, ZHANG Yan-ci1,2

(1. College of Computer Science, Sichuan University, Chengdu Sichuan 610065, China; 2. National Key Laboratory of Fundamental Science on Synthetic Vision, Sichuan University, Chengdu Sichuan 610065, China; 3. National Airspace Management Center, Beijing 101318, China)

Highly advantageous in efficiency, the algorithm of temporal anti-aliasing has been one of the most widely employed real-time anti-aliasing algorithms in recent years. To achieve real-time anti-aliasing, this algorithm assigns the sampling points to the multiple history frames and reuses historical data. When the sampling information in the time domain is sufficient and historical data is usable, it can achieve a similar effect as supersampling anti-aliasing can. However, problems such as geometric edge jagging, ghosting, and subpixel detail missing will arise in the use of this algorithm in practical applications. Based on the research of temporal anti-aliasing, this thesis proposed the future-frame-based temporal anti-aliasing to solve the problems. The basic idea of the proposed algorithm was that: using the existing information in the time domain, it took the next aliasing future frame into account, using samples in future frame to enhance the geometric anti-aliasing effect, achieve anti-ghosting, and improve the situation of subpixel detail missing. In the process of implementation, this thesis proposed solutions to reusable future data extraction and future data reuse. Experimental results indicate that compared with the temporal anti-aliasing, the proposed algorithm can yield a better effect.

temporal anti-aliasing; future frame; geometric anti-aliasing; anti-ghosting; subpixel detail missing

23 June,2021;

TP 391

10.11996/JG.j.2095-302X.2022010133

A

2095-302X(2022)01-0133-08

2021-06-23;

2021-08-03

3 August,2021

国家重大项目(GJXM92579)

National Key Projects (GJXM92579)

杜兴盛(1997–),男,硕士研究生。主要研究方向为计算机图形学。E-mail:1425174059@qq.com

DU Xing-sheng (1997–), master student. His main research interest covers computer graphic. E-mail:1425174059@qq.com

张严辞(1975–),男,教授,博士。主要研究方向为计算机图形学、基于GPU的通用并行计算、3D游戏技术等。E-mail:yczhang@scu.edu.cn

ZHANG Yan-ci (1975–), professor, Ph.D. His main research interests cover computer graphic, generic GPU-based parallel computing, 3D game technical, etc. E-mail:yczhang@scu.edu.cn

猜你喜欢
重影走样时间性
“双减”,如何确保落地实施不走样
重影轻波
重影轻波
基于G-Buffer的深度学习反走样算法
唐氏综合征是因为“拷贝”走样了
智珠二则
改进加权融合在消除图像拼接重影中的运用
舞蹈艺术发展进程中的审美鉴赏能力
时间性:桃花源之审美问津
如何奠基形而上学:康德与海德格尔