
NVIDIAは今週、従来のブロック・トランケーション・コーディング(BTC、BC)方式と同等のストレージ要件で、4倍の解像度を実現する新しいテクスチャ圧縮方式を発表しました。このアプローチの核となるコンセプトは、複数のマテリアルテクスチャとそのミップマップチェーンをまとめて圧縮し、特定のパターンを学習させたニューラルネットワークを用いて解凍するというものです。理論上、この方式は将来のGPUアーキテクチャにも影響を与える可能性があります。しかしながら、現時点では限界があります。
新しい要件
近年のビデオゲームのリアルタイムレンダリング技術の進歩は、物理ベースシェーディングによるフォトリアリスティックなマテリアルモデリング、レイトレーシング、パストレーシング、そして正確なグローバルイルミネーションを実現するノイズ除去といった技術の活用により、映画のビジュアルクオリティに迫るレベルに達しています。一方、テクスチャリング技術は、テクスチャ圧縮方法が1990年代後半と基本的に同じままであったため、それほど進歩していません。そのため、近接したオブジェクトがぼやけて見える場合があります。
その理由は、GPUが依然としてブロックベースのテクスチャ圧縮方式に依存しているためです。これらの技術は、非常に効率的なハードウェア実装(これらをサポートする固定機能ハードウェアは20年以上にわたって進化を遂げてきました)、ランダムアクセス、データ局所性、そしてほぼロスレスな品質を特徴としています。しかし、これらの圧縮率は4倍から8倍程度と中程度であり、最大4チャンネルに制限されています。現代のリアルタイムレンダラーでは、より多くのマテリアルプロパティが求められることが多く、複数のテクスチャが必要になります。
Nvidiaの方法
ここで、NVIDIAのマテリアルテクスチャのランダムアクセスニューラル圧縮(NTC)が活躍します。NVIDIAの技術は、従来のテクスチャ圧縮方式と同等のストレージ要件を維持しながら、2段階の詳細レベル(テクセル数が16倍、つまり解像度が4倍)を実現します。これにより、マテリアルごとに最適化された圧縮テクスチャを、最大8192 x 8192(8K)の解像度で実現することが可能になります。
NTCは、空間的、ミップマップレベル間、そして異なるマテリアルチャンネル間の冗長性を活用します。これにより、視聴者がオブジェクトに非常に近い場合でもテクスチャのディテールが維持されます。これは、現代の手法では実現できないことです。
Nvidiaは、NTCテクスチャはSIMD協調方式で動作するテンソルコアなどの行列乗算ハードウェアを使用して解凍されると主張しています。つまり、この新技術は特別なハードウェアを必要とせず、ほぼすべての最新のNvidia GPUで使用できるということです。しかし、おそらく最大の懸念は、すべてのテクスチャを解凍するために独自の最適化されたニューラルネットワークが必要であり、ゲーム開発者に追加の負荷がかかることです。
Nvidia によれば、このように極端に低いビットレートで得られるテクスチャ品質は、ランダム アクセスによるリアルタイム解凍用に設計されていない AVIF や JPEG XL などの最近の画像圧縮規格と同等かそれ以上であると言われています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
実用的な利点と欠点
実際、Nvidiaがデモした画像は、NTCが従来のブロックコーディングベースの技術よりも優れていることを明確に示しています。しかし、NvidiaはNTCの手法が従来の手法よりも遅いことを認めています(GPUでNTCテクスチャ付きの4K画像をレンダリングするのに1.15ミリ秒、BCテクスチャ付きの4K画像をレンダリングするのに0.49ミリ秒かかりました)。しかし、確率的フィルタリングを適用しながらも、テクセル数は16倍に増加しています。
NTCは従来のハードウェアアクセラレーションによるテクスチャフィルタリングよりも多くのリソースを消費しますが、高いパフォーマンスを発揮し、リアルタイムレンダリングに適していることが結果から示されています。さらに、フル機能のレンダラーを使用する複雑なシーンでは、GPUのレイテンシ隠蔽機能により、他のタスク(例:レイトレーシング)を同時に実行することで、NTCのコストを部分的に相殺できます。
一方、NTCによるレンダリングは、新しいハードウェアアーキテクチャ、使用される可能性のある専用行列乗算ユニットの数の増加、キャッシュサイズの増加、レジスタ使用量の増加によって高速化される可能性があります。実際、一部の最適化はプログラマブルレベルで行うことができます。
Nvidiaは、NTCが完全にロスレスなテクスチャ圧縮方法ではなく、低ビットレートでは画質劣化が生じること、チャンネル相関の影響を受けやすいこと、均一な解像度が求められること、カメラ距離が遠い場合のメリットが限られることなど、いくつかの制限があることも認めています。さらに、NTCの利点はチャンネル数に比例するため、チャンネル数が少ない場合はそれほど顕著にならない可能性があります。また、NTCはマテリアルテクスチャに最適化されており、常にすべてのマテリアルチャンネルを解凍するため、異なるレンダリングコンテキストでの使用には適さない可能性があります。
NTCの利点は、優れた結果を得るために固定機能のテクスチャフィルタリングハードウェアを使用しないことですが、これは大きな欠点でもあります。テクスチャフィルタリングは計算コストが高いため、NTCを用いた異方性フィルタリングは現時点ではリアルタイムレンダリングには適していません。また、確率的フィルタリングはちらつきを引き起こす可能性があります。
しかし、制約はあるものの、NTCは複数のチャンネルとミップマップレベルをまとめて圧縮することで、業界標準を超える結果を生み出します。NVIDIAの研究者たちは、このアプローチがリアルタイムレンダリングにおける映画品質のビジュアル実現への道を開き、メモリ制約のあるグラフィックスアプリケーションにも実用的であると考えています。ただし、シンプルなBTCアルゴリズムと比較すると、NTCはわずかなタイミングオーバーヘッドを発生させ、パフォーマンスに影響を与えます。
アントン・シロフはTom's Hardwareの寄稿ライターです。過去数十年にわたり、CPUやGPUからスーパーコンピュータ、最新のプロセス技術や最新の製造ツールからハイテク業界のトレンドまで、あらゆる分野をカバーしてきました。