NVIDIAのNeural Texture Compressionによるマテリアルテクスチャ圧縮機能
NVIDIAの研究者は、素材テクスチャのための新しい圧縮アルゴリズムを開発しました。
NVIDIAは、「Random-Access Neural Compression of Material Textures」と題した論文で、テクスチャ圧縮のための新しいアルゴリズムを発表しました。
この作品は、高解像度のテクスチャだけでなく、高忠実で自然に近いマテリアルをレンダリングするために、テクスチャに付けられた多くのプロパティや属性を保存するようになり、コンピュータのメモリに対する要求が高まっていることをターゲットにしています。
NTCは、多くのフォーマットで利用できる標準的なGPUベースのテクスチャ圧縮であるBC(ブロック圧縮)よりも4倍高い解像度(16テクセル多い)を実現すると言われています。
NVIDIAのアルゴリズムは、テクスチャをテンソル(3次元)として表現しますが、ブロック圧縮のような仮定(チャンネル数など)は一切ありません。
NTCが唯一想定しているのは、各テクスチャが同じ大きさであることです。
ランダムアクセスとローカルアクセスは、NTCの重要な特徴です。GPUによるテクスチャ圧縮では、高い圧縮率を適用しても、テクスチャに遅延なく小さなコストでアクセスできることが最も重要です。
本研究では、多くのチャンネルとミップマップ(サイズの異なるテクスチャ)をまとめて圧縮することに着目した。
そうすることで、JPEG XLやAVIFフォーマットよりも品質とビットレートが向上するとしている。
レンダリングにおけるフォトリアリズムの継続的な進歩は、テクスチャデータの増加を伴い、その結果、ストレージとメモリの需要が増加する。
この問題に対処するため、我々は特にマテリアルテクスチャのために設計された新しいニューラル圧縮技術を提案します。
低ビットレート圧縮で、AVIFやJPEG XLのような高度な画像圧縮技術よりも優れた画質で、2つのより詳細なレベル、すなわち16倍のテクセル数を解除します。
同時に、本手法では、GPU上のブロックテクスチャ圧縮と同様のランダムアクセスによるオンデマンド・リアルタイム解凍が可能です。
これにより、ディスクストレージからメモリに至るまで、圧縮の利点を拡大することができます。
この手法のキーとなるアイデアは、複数のマテリアルテクスチャとそのミップマップチェーンを一緒に圧縮し、それぞれのマテリアルに最適化された小さなニューラルネットワークを使用して解凍することです。
最後に、PyTorchのような一般的なフレームワークの性能を1桁上回る実用的な圧縮速度を達成するために、カスタムトレーニングの実装を使用しています。
— Random-Access Neural Compression of Material Textures, NVIDIA
カスタムハードウェアを必要とする一般的なBCxアルゴリズムとは異なり、このアルゴリズムは、最新のGPUによって高速化された行列乗算法を利用しています。
論文によると、これによりNTCアルゴリズムはより実用的になり、ディスクやメモリの制約が少なくなるため、より高い能力を発揮できるようになりました。
解説:
nvidiaがテクスチャの新しい圧縮技術を公開
テクスチャ圧縮に使うにはPyTorchのようなフレームワークと違って速度が重要だと思うのですが、カスタムトレーニングによって速度を上げているのがキモのようですね。
容量の削減ではなく、同じ要領でより高解像度のテクスチャを使えることが重要のようです。
AMDもIntelもAIを画像処理だけに使うことに限定するのはいいとは思わないというようなコメントを出していましたが、画像処理と言う分野ではnVidiaには到底及ばないということなのかもしれません。
Turing以降、nVidiaの独走態勢が続いているように思いますが、また他社との差が開いていきそうな話です。