Lecture 6: Rasterization 2 Antialiasing)
一、采样的瑕疵、错误现象Sampling Artifacts in Computer Graphics
- Sampling is Ubiquitous in Computer Graphics采样在计算机图形学中无处不在
- Rasterization = Sample 2D Position
1.有哪些瑕疵
①Jaggies(Staircase Pattern)锯齿:阶梯状图案
这也是“走样”的一个例子——采样错误
②Moiré Patterns in Imaging摩尔纹
③Wagon Wheel Illusion (False Motion)车轮错觉
由于采样率(例如电影或视频的帧率)与轮子转速之间的相互作用,轮子看起来好像在以不同的方向旋转
2.发生Aliasing走样现象的内在原因
Signals are changing too fast (high frequency), but sampled too slowly
采样频率的不同,信号频率太快但采样频率太慢
3.抗锯齿:采样前进行模糊(预过滤Pre-Filtering)
-
点采样
像素值是纯白或者纯红 -
抗锯齿采样
抗锯齿边缘的像素值采用中间值
应在采样前进行滤波处理而不是采样后
二、采样理论
1.频率 F = 1 T F=\frac{1}{T} F=T1
2.傅里叶变换
- 一切函数都可以写成一系列正弦函数余弦函数的线性组合
- 傅里叶变换可以把f(x)通过复杂变换成另一个函数F(x) —— 时域到频域
3.混叠现象
混叠现象是指由于采样频率过低,导致高频信号被错误地识别为低频信号,从而产生失真
- 低频信号 f1(x) 由于采样频率足够高,采样点能够正确地反映信号的变化,可以无失真地恢复原始信号;
- 高频信号 f5(x) 由于采样频率过低,采样点无法正确地反映信号的变化,导致恢复后的信号出现失真,看起来像是一个低频信号。
- 结论:信号的最高频率 fmax 与采样频率 fs 之间的关系为: fs ≥ 2fmax。当满足上述条件时,采样后的信号能够无失真地恢复原始信号。
4.滤波Filtering
- Edge边界提取 —— high pass filter 高通滤波器:通过高频、抑制低频
- Blur模糊平滑 —— low pass filter 低通滤波器:通过低频、抑制高频
5.卷积Convolution = Filtering = Averaging
- 用滑动窗口来计算信号的卷积,对信号的每个格子进行计算
- 卷积理论
在时域里的卷积就等于频域中的乘积
6.采样
- 采样就是重复原始信号的频谱。X为原始信号,P为冲击函数(采样信号)
- 走样就是混叠,由于采样不够快,导致频谱间隔过小,有混叠,产生走样
三、反走样Antialiasing
1.如何减少走样现象
①增加采样率
- 本质上是在傅里叶域中增加副本之间的距离。
- 更高分辨率的显示器、传感器、帧缓冲区等。
- 但是:成本高,可能需要非常高的分辨率
②反走样
- 预滤波:在采样之前过滤掉高频内容
- 先进行卷积操作 convolving = filtering = averaging
- 再在每个像素中心进行采样
2.反走样技术:Supersampling(MSAA)
通过在像素内进行多次采样并取平均值来减少锯齿现象(增加采样频率)
(采用2×2超采样)
①Step1多采样
- 将每个像素分细为2×2的小像素
- 对新分的像素进行采样,得到每个采样点的颜色值
②Step2平均(归一化)
- 将每个子区域的采样值归一化,得到每个原来尺寸像素点所占的采样值比例
- 将采样值×比例,进行加权平均
3.今天的反走样技术
①MSAA开销更大
- 用了更多的点去测试,增大计算量
②后处理抗锯齿技术:
- 快速近似抗锯齿 FXAA 和 时间抗锯齿TAA
- 这些技术可以在不增加渲染时间和计算成本的情况下减少锯齿现象
③基于深度学习的抗锯齿技术:
- 深度学习超采样DLSS,利用深度学习算法来生成高分辨率图像