Intel Publishes Open Image Denoise 2.0 Image Denoise Library

Intel has published the release of the oidn 2.0 (Open Image Denoise) project, which develops a collection of filters for denoising images prepared using ray tracing rendering systems. Open Image Denoise is being developed as part of a larger oneAPI Rendering Toolkit project aimed at developing scientific software visualization tools (SDVis (Software Defined Visualization)), including the Embree ray tracing library, the GLuRay photorealistic rendering system, the OSPRay distributed ray tracing platform, and the OpenSWR software rasterization system The code is written in C++ and published under the Apache 2.0 license.

The goal of the project is to provide high-quality, efficient, and easy-to-use denoising features that can be applied to improve the quality of ray tracing results. The proposed filters allow, based on the result of a shortened ray tracing cycle, to obtain a final quality level comparable to the result of a more costly and time-consuming process of detailed rendering.

Open Image Denoise filters out random noise such as Monte Carlo Numerical Integration (MCRT) ray tracing. To achieve high quality rendering in such algorithms, tracing of a very large number of rays is required, otherwise noticeable artifacts in the form of random noise appear in the resulting image.

The use of Open Image Denoise allows you to reduce the number of necessary calculations by several orders of magnitude when calculating each pixel. As a result, it is possible to generate an initially noisy image much faster, but then bring it to an acceptable quality using fast noise reduction algorithms. With the appropriate equipment, the proposed tools can even be used for interactive ray tracing with on-the-fly noise elimination.

The library can be used on various classes of devices, from laptops and PCs to nodes in clusters. The implementation is optimized for various classes of 64-bit Intel CPUs with support for SSE4, AVX2, AVX-512 and XMX (Xe Matrix Extensions) instructions, Apple Silicon chips and systems with Intel Xe GPUs (Arc, Flex and Max series), NVIDIA (based on Volta, Turing, Ampere, Ada Lovelace and Hopper architectures) and AMD (based on RDNA2 (Navi 21) and RDNA3 (Navi 3x) architectures). Support for SSE4.1 is declared as a minimum requirement.

Intel Publishes Open Image Denoise 2.0 Image Denoise Library
Intel Publishes Open Image Denoise 2.0 Image Denoise Library

Key changes in the release of Open Image Denoise 2.0:

  • Support for accelerating noise reduction operations using the GPU. Implemented support for GPU offloading using SYCL, CUDA, and HIP systems that can be used with GPUs based on the Intel Xe architecture, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace, and NVIDIA Hopper.
  • A new buffer management API has been added, allowing you to select the type of storage, copy data from the host, and import external buffers from graphics APIs such as Vulkan and Direct3D 12.
  • Added support for asynchronous execution mode (functions oidnExecuteFilterAsync and oidnSyncDevice).
  • Added an API for sending requests to physical devices present in the system.
  • Added oidnNewDeviceByID function to create a new device based on the physical device ID, such as UUID or PCI address.
  • Added features for portability with SYCL, CUDA and HIP.
  • Added new device scan options (systemMemorySupported, managedMemorySupported, externalMemoryTypes).
  • Added a parameter to set the quality level of the filters.

Source: opennet.ru

Add a comment