インテルが Open Image Denoise 2.0 Image Denoise Library を公開

Intel は、レイ トレーシング レンダリング システムを使用して作成された画像からノイズを除去するためのフィルターのコレクションを開発する oidn 2.0 (Open Image Denoise) プロジェクトのリリースを公開しました。 Open Image Denoise は、Embree レイ トレーシング ライブラリ、GLuRay フォトリアリスティック レンダリング システム、分散 OSPRay などの科学計算用のソフトウェア視覚化ツール (SDVis (Software Defined Visualization)) の開発を目的とした、より大きなプロジェクト oneAPI レンダリング ツールキットの一部として開発されています。レイ トレーシング プラットフォームと OpenSWR ソフトウェア ラスタライゼーション システム コードは C++ で書かれており、Apache 2.0 ライセンスに基づいて公開されています。

プロジェクトの目標は、レイ トレーシング結果の品質を向上させるために使用できる、高品質で効率的で使いやすいノイズ除去機能を提供することです。 提案されたフィルターを使用すると、短縮されたレイ トレーシング サイクルの結果に基づいて、より高価で時間のかかる詳細なレンダリング プロセスの結果に匹敵する最終レベルの品質を得ることができます。

Open Image Denoise は、モンテカルロ RT (MCRT) レイ トレーシングなどからのランダム ノイズを除去します。 このようなアルゴリズムで高品質のレンダリングを実現するには、非常に多くの光線をトレースする必要があります。そうしないと、結果の画像にランダム ノイズの形で顕著なアーティファクトが表示されます。

Open Image Denoise を使用すると、各ピクセルを計算するときに必要な計算の数を数桁減らすことができます。 その結果、最初はノイズの多い画像をより高速に生成できますが、その後は高速ノイズ低減アルゴリズムを使用して許容可能な品質に戻すことができます。 適切な機器をお持ちであれば、提案されたツールは、オンザフライのノイズ除去を備えたインタラクティブなレイ トレーシングにも使用できます。

このライブラリは、ラップトップや PC からクラスター内のノードに至るまで、さまざまなクラスのデバイスで使用できます。 この実装は、SSE64、AVX4、AVX-2、および XMX (Xe Matrix Extensions) 命令、Apple Silicon チップおよび Intel Xe GPU (Arc、Flex、および Max シリーズ) を搭載したシステムをサポートする、さまざまなクラスの 512 ビット Intel CPU 向けに最適化されています。 NVIDIA (Volta、Turing、Ampere、Ada Lovelace、および Hopper アーキテクチャに基づく) および AMD (RDNA2 (Navi 21) および RDNA3 (Navi 3x) アーキテクチャに基づく)。 SSE4.1 のサポートは最小要件として記載されています。

インテルが Open Image Denoise 2.0 Image Denoise Library を公開
インテルが Open Image Denoise 2.0 Image Denoise Library を公開

Open Image Denoise 2.0 リリースの主な変更点:

  • GPUを使用したノイズリダクション演算の高速化をサポート。 GPU 側への計算のオフロードのサポートは、SYCL、CUDA、および HIP システムを使用して実装されており、Intel Xe、AMD RDNA2、AMD RDNA3、NVIDIA Volta、NVIDIA Turing、NVIDIA Ampere、NVIDIA Ada Lovelace および NVIDIA Ada Lovelace ベースの GPU で使用できます。 NVIDIA ホッパー アーキテクチャ。
  • 新しいバッファ管理 API が追加されました。これにより、ストレージ タイプの選択、ホストからのデータのコピー、Vulkan や Direct3D 12 などのグラフィックス API からの外部バッファのインポートが可能になります。
  • 非同期実行モード (oidnExecuteFilterAsync および oidnSyncDevice 関数) のサポートが追加されました。
  • システム内に存在する物理デバイスにリクエストを送信するための API が追加されました。
  • UUID や PCI アドレスなどの物理デバイス ID に基づいて新しいデバイスを作成する oidnNewDeviceByID 関数が追加されました。
  • SYCL、CUDA、HIPによる移植性のための機能を追加しました。
  • 新しいデバイスチェックパラメーター (systemMemorySupported、managedMemorySupported、externalMemoryTypes) が追加されました。
  • フィルターの品質レベルを設定するパラメーターを追加しました。

出所: オープンネット.ru

コメントを追加します