超解像アップサンプリング(DLSS・FSR・TAAU)
低解像度で描いて高解像度を復元する仕組みを、時間的蓄積とジッタ・モーションベクトルから解き、DLSS・FSR・TAAU の違いとゴースト対策まで一貫してつかめます。
- 1.内部を低解像度でレンダリングし、毎フレームのサブピクセルジッタで標本位置をずらしながら過去フレームを蓄積して、実効的に高解像度の標本を復元する時間的手法。
- 2.履歴はモーションベクトルで現フレーム座標へ再投影され、DLSS はニューラルネット、FSR2 以降と TAAU は解析的なヒューリスティクスで無効な履歴を棄却・再構成する点が中核の違い。
- 3.遮蔽解除・半透明・高速移動では履歴が外れゴースト化するため、近傍クランプやディスオクルージョン検出、モーションベクトルの正確さが品質を左右する。
超解像アップサンプリングとは「低解像度描画から高解像度を再構成する」こと
GPU の負荷はほぼピクセル数に比例します。4K(約830万画素)をネイティブで描くのは 1080p(約207万画素)の4倍重く、レイトレーシングや複雑なシェーダが加わると帯域もフィルレートも足りなくなります。そこで、内部レンダリングはあえて低解像度(たとえば 1080p)で行い、事後にアルゴリズムで高解像度(4K)の像を再構成して出力するのが超解像アップサンプリング(super-resolution upsampling)です。DLSS・FSR・XeSS・TAAU(Temporal Anti-Aliasing Upsampling)がこの系統に属します。
単なる拡大(バイリニアやバイキュービック補間)と決定的に違うのは、失われた高周波の細部を時間方向から復元する点です。1枚の低解像度画像には存在しない情報を、過去フレームの標本を集めることで補います。この発想は アンチエイリアシング の TAA(Temporal Anti-Aliasing)をそのまま解像度復元へ拡張したものであり、実際 TAAU は「出力解像度を入力より高く設定した TAA」に他なりません。
1枚の低解像度画像は標本化周波数が低く、ナイキスト周波数を超える細部は本来復元できません。しかし毎フレーム標本位置を少しずつずらして複数枚を撮れば、それらは互いに異なる位相の標本になります。理想的なシーン(静止・完全なモーションベクトル)では、N フレーム蓄積で実効的な標本密度が上がり、入力より高い解像度を復元できます。超解像が動きに弱いのは、この「複数フレームが同一シーンの別位相標本である」という前提が動きで崩れるためです。
3本柱 ── ジッタ・蓄積・再投影
時間的アップスケーラは、次の3つの機構が噛み合って初めて成立します。
第一にサブピクセルジッタです。毎フレーム、投影行列にサブピクセル単位の微小なオフセットを加え、標本点(各出力ピクセルの中心が低解像度グリッド上でどこに落ちるか)を意図的にずらします。オフセットの系列には、空間を均等に埋める低食い違い列(Halton 列など)を使います。これにより、数フレームぶんの標本が高解像度グリッドの多数の位置を網羅します。
第二にモーションベクトルによる再投影(リプロジェクション)です。各ピクセルが「前フレームで画面上のどこにあったか」を表す2次元ベクトルを幾何情報から生成し、それを使って前フレームの履歴を現フレームの座標系へ写します。カメラの動き(射影の変化)だけでなく、個々のオブジェクトの移動・回転・スキニングも含めた厳密なベクトルが必要です。
第三に時間的蓄積です。再投影した履歴色と現フレームの新規標本を、指数移動平均などで混合します。混合係数を小さくするほど多数の過去フレームが効き、実効標本数と安定性は上がりますが、その分だけ動きへの追従は遅れます。
時間的アップスケーラの1フレーム(概念, 出力解像度 > 入力解像度):
1. ジッタ: 投影に j = halton(frame) を加えて低解像度で描画
(出力の各画素中心が低解像グリッド上で毎フレーム別位置に落ちる)
2. 再投影: uv_prev = uv - motion_vector
history = 前フレームの出力[uv_prev] // 高解像度側で参照
3. 妥当性判定 + 蓄積:
if 履歴が妥当:
out = lerp(history, upsample(current), alpha) // alpha は小さめ
else:
out = 現フレーム標本のみから再構成(履歴を棄却)
※ current は低解像度、out/history は高解像度。
upsample の段でジッタ位置を考慮して高解像格子へ配置する。
超解像の破綻の大半はモーションベクトルの欠落・不正確さに起因します。パーティクル、透明・半透明サーフェス、シェーダで UV をアニメーションさせる表現(水面・流れる模様)、屈折・反射は、幾何のモーションベクトルと実際の見た目の動きがずれるため履歴が正しく再投影されません。開発側にはこれらへの専用ベクトル供給や、レンダリング解像度でのジオメトリ・エッジのブレを避ける実装(鋭いモーションベクトル、適切なミップ LOD バイアス)が求められます。LOD バイアスは入力解像度基準では粗すぎるため、テクスチャマッピングとフィルタリング のミップ選択を出力解像度相当へ負にずらすのが定石です。
DLSS・FSR・TAAU の原理的な違い
三者は「ジッタ+再投影+蓄積」という骨格を共有しますが、履歴の妥当性判定と高解像度への再構成をどう行うかで分かれます。
| 方式 | 再構成の方法 | 特徴と要件 |
|---|---|---|
| TAAU | 解析的な TAA を出力解像度で駆動 | エンジン内蔵で追加要件が少ない。ヒューリスティクス頼みで細部復元は控えめ、動きでぼけやすい。 |
| DLSS 2以降 | 学習済みニューラルネットが履歴と現フレームを統合 | NVIDIA の Tensor コア専用。学習データ由来で細部復元と履歴棄却が高精度だが、GPU が限定される。 |
| FSR 2/3 | 解析的ヒューリスティクスで再構成(非ML) | ベンダー非依存で広く動作。専用ハードや学習不要な代わり、難所の安定性は DLSS に一歩譲ることがある。 |
| XeSS | 学習済みネット(DP4a/専用命令) | Intel 由来。専用ハードで高品質、汎用パスでは品質を落として広く動作。 |
TAAU は最も素直で、TAA の蓄積・再投影ロジックを出力解像度側で動かし、入力の低解像度標本をその格子へ供給します。エンジンに統合しやすい一方、無効な履歴の検出も再構成も手作りのヒューリスティクスに依存し、細部の切れやディスオクルージョン処理では後発手法に劣りがちです。
DLSS(バージョン2以降)は、履歴と現フレームの統合を学習済みニューラルネットが担います。「この画素で履歴を信じるか、どう混ぜるか、どんな高周波を補うか」を、高解像度の教師画像から学んだ重みで推論します。人手のヒューリスティクスより難所(細い線、ディスオクルージョン境界)で頑健ですが、推論を高速に回すため NVIDIA の Tensor コアという専用ハードを要し、動作する GPU が限られます。
FSR2/3 は同じ問題を非ML の解析的アルゴリズムで解きます。ロック(安定した細部を保護する仕組み)、深度・輝度に基づく履歴の受理/棄却、シャープ化などを組み合わせて再構成します。専用ハードも学習も不要なためベンダーを問わず広く動作するのが最大の利点で、代償として一部の難所での安定性は学習ベースに一歩譲ることがあります。XeSS は DLSS 同様の学習ベースで、専用命令のある環境では高品質、汎用の DP4a パスでは品質を抑えて広く動く二段構えを取ります。
DLSS3 の Frame Generation や FSR3 の同等機能は、隣接フレーム間を補間して中間フレームを合成しフレームレートを底上げする技術で、解像度を復元する超解像とは目的も原理も異なります。超解像が「空間解像度の復元(本物の標本の蓄積)」であるのに対し、フレーム生成は「時間解像度の水増し(存在しない中間像の推測)」です。後者は表示遅延の増加や補間アーティファクトという別種の課題を持つため、両者は区別して理解する必要があります。
ゴースト・ぼけとその対策
超解像の弱点は、供給源である アンチエイリアシング の TAA と同根で、すべて過去フレームを混ぜることに由来します。
- ゴースト(残像): 遮蔽が解けて新たに現れた領域(ディスオクルージョン)や、モーションベクトルを持たない要素では、無関係な古い色が尾を引きます。
- ぼけ: 履歴混合は事実上のローパスフィルタとして働くため、動きが多いほど、また履歴を長く効かせるほど像が甘くなります。
- ちらつき・にじみ: 履歴を過剰に棄却すると、その画素は瞬間的に低解像度そのものへ戻り、時間的に不安定になります。
対策の中核は無効な履歴の検出と限定的な棄却です。代表格が**近傍クランプ(ネイバーフッドクランプ)**で、再投影した履歴色を、現フレームの近傍画素が作る色の範囲(AABB など)へクランプします。範囲外の履歴は「そのシーンにあり得ない古い色」とみなして丸め込み、ゴーストを抑えます。加えて、深度の不連続やモーションベクトルの発散からディスオクルージョンを検出して履歴を弱め、FSR ではロック機構で安定した細部だけを長く保護します。DLSS はこの受理/棄却/補完の判断そのものを学習で獲得している点が、ヒューリスティクスとの本質的な差です。
いずれの手法でも、モーションベクトルの正確さ・鋭さ、半透明やシェーダ駆動の動きへのベクトル供給、出力解像度基準の負の LOD バイアス、そして低解像度でエッジをぼかさないレンダリング実装が、ゴースト対策の前提条件になります。品質はアルゴリズム単体ではなく、エンジン側がこれらの入力をどれだけ正しく渡せるかに強く依存します。
まとめ
- 超解像アップサンプリングは低解像度でレンダリングし、時間方向に標本を蓄積して高解像度を再構成する手法。単なる補間と違い、失われた高周波を過去フレームから復元する。
- 骨格はサブピクセルジッタ・モーションベクトルによる再投影・時間的蓄積の3本柱で、これは TAA を解像度復元へ拡張したもの。TAAU は本質的に出力解像度で駆動する TAA。
- DLSS/XeSS は学習済みネット、FSR2/3 と TAAU は解析的ヒューリスティクスで履歴の妥当性判定と再構成を行う点が中核の違い。前者は難所で頑健だが専用ハード依存、後者はベンダー非依存で広く動く。
- 弱点は TAA と同根のゴースト・ぼけ・不安定で、近傍クランプやディスオクルージョン検出で無効履歴を棄却する。モーションベクトルの正確さと出力解像度基準の LOD バイアスが品質を左右する。
グラフィックス Article
超解像アップサンプリング(DLSS・FSR・TAAU)を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
超解像
比較で見る軸
難易度: advanced / カテゴリ: グラフィックス / タグ数: 6
導入後に効く点
履歴はモーションベクトルで現フレーム座標へ再投影され、DLSS はニューラルネット、FSR2 以降と TAAU は解析的なヒューリスティクスで無効な履歴を棄却・再構成する点が中核の違い。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- グラフィックス
- タグ数
- 6
判断チェックリスト
- 自社の用途が「超解像 / DLSS」に近いか確認する。
- 強みである「内部を低解像度でレンダリングし、毎フレームのサブピクセルジッタで標本位置をずらしながら過去フレームを蓄積して、実効的に高解像度の標本を復元する時間的手法。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。