[3D Graphics] Upscaling과 Frame Generation
Upscaling
사진이나 동영상의 픽셀과 픽셀 사이에 새로운 픽셀을 끼워 넣어 해상도를 높여주는 기술.
Spatial Upscaling
- 각 프레임의 개별 픽셀 데이터를 사용하여 업스케일링을 수행
- 모든 프레임을 독립적으로 처리
- 다른 방법들 - Lanczos, 쌍곡선, …
Temporal Upscaling
- 사진 여러 장이 있을 때, 사진에 보이는 물체들이 얼마나 빨리, 어느 방향으로 이동하고 있는지 추정하여 선명도를 높인다
FSR 예시
- 지난 프레임 히스토리 수집
- Camera Jitter로 동일한 프레임 내의 픽셀들의 위치를 미세하게 움직인 결과 포함
- 정적인 화면에서도 Temporal Data 생성
- 업스케일링에 필요한 샘플 다양화
- Camera Jitter로 동일한 프레임 내의 픽셀들의 위치를 미세하게 움직인 결과 포함
- 여러 프레임에 걸쳐서 픽셀 기여도(Contribution/Weight) 수집
- 중앙에 가까울수록 높은 기여도 + 최근 프레임일수록 높은 기여도
- 픽셀 기여도에 따른 최종 픽셀을 선별에 저해상도 프레임 생성
- 란초스 알고리즘(공간 업스케일링)으로 업스케일링
- 업스케일링된 프레임에 모션 벡터 적용
- 물체가 어느 방향으로 이동하고 있는지 벡터를 기록한 맵
- 히스토리 누적 프레임의 각 픽셀을 대응하는 모션 벡터만큼 이동
- 현재 프레임과 보간
- 이후 고스팅 완화 및 보정 작업
렌더링 비용 줄이기
- 게임 프레임을 작은 스케일로 렌더링 후 업스케일링
- 렌더링 비용 감소 → 퍼포먼스 증가 → 게임이 빠릿빠릿해짐
Frame Generation
두 개의 연속적인 렌더링 프레임 사이의 가상의 프레임을 생성하는 기술 즉, 프레임을 2배 가까이 늘리는 기술
광학 흐름 방정식
인풋랙 이슈
- n 프레임 + n-1 프레임 → n - 0.5 프레임 생성
- 보간 프레임이 생성되는 시점에, 그 다음 프레임은 이미 생성되어 있다
- 프레임이 기존의 실제 출력 시간보다 느리게 출력 된다
- 인풋랙 발생
일반적으로, 최소 50 fps 이상 나오는 상태에서 효과적으로 작동
- AMD FSR은 60 fps 이상을 권장
- DLSS 3.0 및 FSR 3.0은 장단점을 잘 알고서 사용해야 합니다. > 그래픽카드 (coolenjoy.net)
낮은 프레임 사이에서 보간된 프레임은 부자연스럽게 보이고, 지연 시간이 더 커진다
- 프레임 사이의 시간이 길수록, 연산의 복잡도가 상승한다
- 객체 움직임과 변화는 더 커지는데, 프레임이 낮아서 Temporal Data는 부족하다.
DLSS (Deep Learning Super Sampling)
- NVIDIA 개발
- RTX 시리즈에서만 지원
- 게임 화면 수 천만 장을 DNN으로 학습시킨 알고리즘 사용
- RTX 그래픽카드의 텐서 코어를 사용해 저해상도의 이미지를 알고리즘으로 추론하여 목표 해상도로 업스케일링하는 방식
- DLSS 업스케일링 프리셋 - NVIDIA DLSS Updates for Super Resolution and Unreal Engine
- DLSS 3.0부터 프레임 제너레이션(FG) 기술 및 인풋 랙 보정 기술인 Reflex 기능 포함
- FG는 RTX 40번대만 지원
- 40번대에 탑재된 Optical Flow 가속기 연산 필수적
- RTX 40 뭐가 좋아졌지? Ada GPU 아키텍처 살펴보기 > 기획기사
- 나머지 두 기술은 RTX GPU에서 지원
FSR (Fidelity Super Resolution)
- AMD 개발
- FidelityFX 이미지 툴킷 중 하나
- FSR 3.0
- 프레임 보간 기술을 AFMF(AMD Fluid Motion Frames)으로부터 적용
- AFMF와 FSR-FG의 차이 - FSR 3 FG and FSR 3 (?) AMFM : r/Amd (reddit.com)
- Reflex에 대응하는 AMD Radeon Anti-Lag 포함
- DLAA 대응하는 NATIVE-AA 모드 포함
- 지원 목록 - AMD FidelityFX™ Super Resolution
- 프레임 보간 기술을 AFMF(AMD Fluid Motion Frames)으로부터 적용
XeSS (Xe Super Sampling)
- Intel 개발
- FSR보다 더 뛰어나고 DLSS와 견줄만하다는 평가
- DLSS처럼 선행 학습된 AI를 이용한 업스케일러
- Shader Model 6.4 이상을 지원하고 DP4a 명령어를 사용하는 GPU를 권장
- Will Intel® XeSS Work with Graphics Cards from Other Vendors?
- 자회사 제품은 XMX 명령어 사용