無料FPS:AIがゲームグラフィックスの向上にどのように役立つか





近年、人工知能はますます人気が高まっています。質問するだけで、シリは昨夜逃したサッカーゲームの結果を教えてくれます。Spotifyの推奨事項は、音楽ライブラリに何を追加するかを教えてくれます。Amazonは、まだ知らない場合でも、次に購入する製品を予測しようとします。



彼はまた、ゲーム業界を通り過ぎませんでした。ゲーム環境では、Death Stranding PCでリリースされたグラフィックをDLSSテクノロジーありとなしで比較していますが、先日、NVIDIAAmpereプロセッサーがすでにDLSS3.0を使用していることが判明しました。ただし、TAA(Temporal Anti-Aliasing)およびGameReadyドライバーを使用するすべてのゲームで動作します。これは、開発者がゲームのテクノロジーを微調整する必要があることを意味しますが、このプロセスは現在よりもはるかに簡単になります。



この記事では、NVIDIAがマシンラーニングを使用してゲーム体験を向上させる方法を見ていきます。



DLSSとは何ですか?



現代のゲームのグラフィックスの品質は向上しているだけであり、それに伴って実行される操作の計算の複雑さが増しています。これは、実際の照明をリアルタイムでシミュレートするレイトレースによるものであり、これにより、事前に焼き付けられた反射が過去の遺物として残されます。レイトレースの計算の複雑さは、最新のゲームの解像度が古き良き1080pを超えているという事実によるものです。したがって、レンダリング中の計算を高速化する必要があります。



ディープラーニングスーパーサンプリング(DLSS)は、グラフィックスを多用するゲームのフレームレートを向上させるためにディープマシンラーニングを使用するNVIDIAテクノロジーです。 DLSSを使用すると、ゲーマーはfpsの安定性を気にすることなく、より高い設定と解像度を使用できます。



特に、DLSSは超解像度のタスクを実行します。これにより、たとえば1080pの解像度の画像を、品質の低下を最小限に抑えて4Kにアップスケールできます。これにより、4Kでゲームをプレイする必要がなくなります(したがって、おそらくPCが溶けてしまいます)。解像度は引き続き1080pであり、より高いフレームレートが可能ですが、DLSSのアップスケーリングでは、4Kとの違いにほとんど気付かないでしょう。



画像

DLSS2.0アーキテクチャ



基本的に、DLSSはNVIDIAスーパーコンピューターでトレーニングされたニューラルネットワークです。このニューラルネットワークの出力は16Kの参照画像と比較され、それらの間のエラーはフィードバックループを介してネットワークに返されます。速度の問題を回避するために、DLSSはRTX 2000プロセッサ(および将来のRTX 3000)のバックボーンであるTensorCoreを使用します。これにより、テンソル操作が大幅に高速化され、高性能コンピューティングに関連するAIトレーニングとタスクの効率が向上します。



画像



DLSSの進化:1.0から2.0へ



DLSS 1.0はゲームごとに個別にトレーニングされたため、学習に非常に長い時間がかかりました。また、たとえば1080pから4Kへの4倍のアップサンプリングもサポートしておらず、フレームレートを改善する価値のない他の多くの画質の欠陥がありました。



DLSS 2.0は、トレーニングやアップサンプリングの制限がなく、テンソルコアを使用しているため、出力レイテンシが低い、より一般的なアルゴリズムです。RTX2080tiでは4Kで1.5ミリ秒のオーダーであり、場合によっては、元のアルゴリズムよりも優れた結果が得られます。画像。DLSS画像は1080pファイナルです









DLSS 1.0では、720pから1080pまで最大化できますが、DLSS2.0は540pでも1080pまでアップスケールできます。例でわかるように、540pの画像は完全に色あせて見えます。同時に、DLSS 2.0の結果は、DLSS 1.0の結果よりも優れており、元の画像よりもわずかに優れていることがわかりました。つまり、DLSS 2.0は、解像度のわずかな違いを再スケーリングする必要がある場合でも、DLSS1.0よりも効率的にピクセルの塗りつぶしを処理します。



540pで画像をアップスケールするDLSS2.0の機能は、メソッド自体の低遅延と相まって、以前のバージョンよりもパフォーマンスが大幅に向上します。



画像

DLSS 2.0を使用した場合と使用しない場合のレンダリング時間(ミリ秒単位)





DLSSの動作の詳細



ゲームで(たとえば、三角形で)シーンジオメトリをレンダリングする場合、使用されるピクセル数(またはサンプリングレート-サブピクセルマスク)によって、画像の外観が決まります。



画像



4x4のサンプリンググリッドを使用して三角形をレンダリングすると、結果として多くのことが望まれることがわかります。



画像



サンプリンググリッドを4倍(最大8x8)に拡大すると、画像は目的の三角形のように見えます。これがDLSSの本質です。低解像度の画像を高解像度の画像に変換することです。



画像

DLSSの本質



その結果、低品質の画像と同じレンダリングコストで、より高い解像度の画像が得られます。



画像

DLSSの目的



これは実際には、新しいものではない超解像度の問題を解決します。



AI支援の解像度向上技術がどのように進化したかを簡単に見てみましょう。



単一画像の超解像度



この手法により、バイリニア、バイキュービック、ランチョスフィルターなどの補間手法を使用して、低い画像から高解像度の画像を取得できます。ディープニューラルネットワークを使用して実装することもできますが、トレーニングデータから取得した新しいピクセルの歪みの問題が発生します。これにより、画像は信頼できるように見えますが、元の画像とあまり似ていません。この方法では、詳細ではなく滑らかな画像が生成され、時間的に不安定になるため、フレームの不整合やちらつきが発生します。



画像

単一画像の超解像度



これらの単一画像の超解像度技術の結果のいくつかを、DLSS2.0が提供するものと比較してみましょう。ターゲット解像度-1080p









明らかに、DLSS 2.0は、バイキュービック補間やESRGANよりも優れています。ESRGANは、生成的な敵対ネットワークを使用して超解像度を実現するニューラルネットワークアーキテクチャです。その結果、DLSS 2.0の場合のシダは、元の画像よりもさらに詳細に見えます。



マルチフレームスーパーレゾリューション



この方法では、複数の低解像度画像を使用して高解像度画像を生成します。これは、以前のアプローチよりも詳細を回復するのに役立ちます。主にビデオとバースト写真用に設計されているため、レンダリング固有の情報は使用しません。その使用の一例は、幾何学的運動ベクトルの代わりに光流を使用するフレーム位置合わせです。この場合、計算はより安価であり、結果はより正確です。このアプローチは前のアプローチよりも有望であるように思われ、次のテクニックにつながります。



時空間スーパーサンプリング



この方法では、複数のフレームを使用して画像をスーパーサンプリングします。







現在のフレームがあります。前のものがそれのように見えるとしましょう。より低いサンプリングレートを使用することで、画像の再構築に必要なサンプルの総数を増やすことができます。



画像

時空間スーパーサンプリングヒストグラム



問題は、ゲームではすべてが常に動いていることです。したがって、フレーム履歴を修正するために、このスーパーサンプリング方法では、たとえば、ネイバークランプの原理に従って、ヒューリスティック検索を実行する必要があります。これらのヒューリスティックは、ぼやけ、一時的な不安定性、モアレ、ラグ、ゴーストの原因になります。ネイバークランプによる悪影響ネイバークランプを使用した画像での一時的なちらつきとモアレ















DLSS 2.0: Deep Learning-based multi-frame reconstruction



DLSSニューラルネットワークは、ヒューリスティックが提供できるよりも優れた再構成を実行するように設計された数万のトレーニングイメージから学習し、それによってそれらの影響を排除します。これにより、複数のフレームのデータを使用した場合の結果が大幅に向上します。



画像



エンジンにDLSSを実装するには、まず、シーンを低解像度でレンダリングする必要があります。すべてのジオメトリ、動的な照明、画面スペースでの効果、レイトレースです。その後、アンチエイリアシングが通常発生する段階でDLSSを適用できます。結局のところ、このテクノロジーは、スーパーサンプリングを使用するだけで、まったく同じ機能を実行します。次に、モーションブラー、ブルーム、色収差、トーンマッピング、その他の効果を含む、画像の後処理が行われます。







DLSSは単なる画像処理アルゴリズムではありません。通常、レンダリングと連動して機能するため、そのプロセスも再検討する必要があります。ただし、DLSS 2.0の場合、これらの変更を実装するのは以前ほど難しくありません。



パフォーマンステスト



画像



最新のタイトルRemedyControlは、レイトレースとDLSSの両方をサポートしています。上のグラフからわかるように、RTX 2060は、DLSSを介してパフォーマンスが8fpsから約36.8fpsに向上し、プロジェクトのプレイアビリティが大幅に向上しました。この結果は、DLSSなしのRTX 2080tiよりもさらに優れており、このテクノロジーがいかに効果的であるかをさらに証明しています。



Digital Foundryは、このビデオでDLSS1.9と2.0を使用して画質を比較しました





左-DLSS1.9で制御、右-DLSS2.0で制御。RTX 2060で1080pでキャプチャされ、4Kにアップスケールされた画像



上記の比較では、DLSS 1.9の場合、DLSS2.0が歪んだ髪の毛をどのようにレンダリングするかを確認できます。



結論



DLSSは、RTX 2000およびTuringベースのGPU(および今後のAmpereベースのRTX 3000 GPU)でのみ使用可能であり、現在、少数のゲームのみをサポートしています。DLSS 2.0はさらに少ないタイトルでサポートされていますが、フレームレートは高いままで、詳細レベルは元の画像を超えることができます。これはNVIDIAにとって本当に素晴らしい成果であり、このテクノロジーには間違いなく有望な未来があります。



All Articles