GPU Denoiser for Real-time Image and Video Processing
Updated:
Fastvideo GPU Denoiser is a CUDA library of classical denoising algorithms — NLM and bilateral — engineered for extreme speed. On the NVIDIA GeForce RTX 4090 it denoises an 8.9 MPix 16-bit RGB frame in 0.13–0.37 ms, which corresponds to a throughput of up to 60 GPix/s. The algorithms themselves are standard and well understood: the point of this library is not a new denoising method, but making proven methods fast enough for real-time video, multi-camera systems, and high-resolution still image pipelines — on anything from a desktop GPU to an embedded NVIDIA Jetson module.
Detailed benchmark data. Measured results are published on our benchmark pages: all benchmarks.
Integrating denoising into a camera application? See the CUDA denoiser filter for camera software. This page is the GPU Denoiser product with full benchmarks.

Why Speed Is the Point
Denoising has traditionally been one of the most expensive stages of an image pipeline — often too slow to keep enabled in real-time applications, especially at high resolutions. Our implementations turn that upside down: the NLM and bilateral denoisers now run several times faster than our best MG demosaicing algorithm (about 0.6 ms / 13 GPix/s on the same frame and GPU). When denoising costs less than demosaicing, it stops being the bottleneck — it can stay permanently enabled in a live camera pipeline, including low-light and high-fps scenarios where it matters most.
Denoising Without AI
Both algorithms are deterministic and free of neural networks. The same input with the same parameters always produces the same output, no detail is hallucinated, and the behavior is fully described by a small set of explicit parameters. For machine vision, metrology, medical, and scientific imaging this predictability is a requirement, not a preference — and it also means the results are reproducible across runs, platforms, and software versions.
Denoising Algorithms
- Bilateral denoiser — the fastest option, edge-preserving smoothing with diameter, sigmaColor, and sigmaSpace parameters. This is the recommended choice for most tasks.
- NLM denoiser. Configurable blur window (3×3 and larger), search window (3×3 and larger), and strength (1–3000). Works internally with 4:4:4 or 4:2:0 subsampling and supports independent denoising parameters for the Y and Cb/Cr channels in both modes.
Library Features
- Input: 8/10/12/14/16-bit per channel data array from CPU or GPU memory
- Output: 24/48-bit data array in CPU or GPU memory
- Denoising with 16/32-bit internal accuracy
- Part of the Fastvideo GPU Image & Video Processing SDK — combines with demosaicing, color correction, resize, codecs, and the rest of the pipeline entirely in GPU memory
- Integrated into FastVCR software for machine vision cameras
- Built-in timing and performance measurements
GPU Denoiser Benchmarks
How fast is GPU denoising for real-time video?
Test image: 4112×2176 (8.9 MPix), 16-bit per channel, RGB. All data in GPU memory; timing includes GPU computations only. Software: Windows 10/11, CUDA 12.6. Hardware: NVIDIA GeForce RTX 4090.
Test parameters. NLM: blur window 3×3, search window 5×5, strength 500. Bilateral: diameter 3, sigmaColor 5, sigmaSpace 500. Wavelet: CDF 9/7, up to 7 DWT resolutions, thresholds for YCbCr 80;150;150.
| Denoiser | Time per frame | Throughput |
|---|---|---|
| Bilateral (RGB) | 0.13 ms | 60 GPix/s |
| NLM (RGB) | 0.19 ms | 40 GPix/s |
| NLM (YCbCr, 4:2:0) | 0.20 ms | 40 GPix/s |
| NLM (YCbCr, 4:4:4) | 0.37 ms | 21 GPix/s |
| RAW DWT (wavelet) | 1.8 ms | 4.9 GPix/s |
| DWT (YCbCr, 4:4:4, wavelet) | 3.05 ms | 2.9 GPix/s |
Testing the Denoisers Yourself
The denoisers can be evaluated with our FastVCR software: it works in real time with machine vision cameras, and also processes RAW or PGM images from SSD, so no camera is required for the test. Download the trial for Windows 10/11 here: FastVCR portable demo. It runs on CUDA 12.6, so please install the latest NVIDIA driver before testing. Per-module timing is built in, so you can measure both image quality and performance on your own data and hardware.
Compatibility
- OS: Windows 10/11, Linux Ubuntu, Linux4Tegra (L4T)
- NVIDIA GPUs (GeForce RTX, NVIDIA RTX) with CUDA 12.6
- NVIDIA Jetson Orin NX and AGX Orin with CUDA 12.2
- NVIDIA Jetson Xavier NX and AGX Xavier with CUDA 11.4
- Legacy NVIDIA Jetson Nano and TX2 with CUDA 10.2
Applications
- Low-light machine vision and industrial imaging
- Night-time surveillance and security cameras
- Medical and scientific imaging
- Drones and UAVs
- Digital cinema and broadcast
- Preprocessing for AI and computer vision pipelines
GPU Denoiser FAQ
Does the GPU Denoiser use AI or neural networks?
No. Both the bilateral and NLM denoisers are deterministic and free of neural networks — the same input with the same parameters always produces the same output, no detail is hallucinated, and results are reproducible across runs, platforms, and software versions. That predictability is a requirement for machine vision, metrology, medical, and scientific imaging.
How fast is GPU denoising?
On an NVIDIA GeForce RTX 4090 the bilateral denoiser processes an 8.9 MPix 16-bit RGB frame in 0.13 ms — up to 60 GPix/s. NLM runs the same frame in 0.19–0.37 ms depending on subsampling.
Should I use the bilateral or the NLM denoiser?
Bilateral is the fastest and the recommended choice for most tasks. NLM is preferable for stronger noise or when you need independent denoising parameters for the Y and Cb/Cr channels, with 4:4:4 or 4:2:0 subsampling.
Can denoising stay enabled in a real-time camera pipeline?
Yes. The bilateral and NLM denoisers run several times faster than our MG demosaicing (about 0.6 ms on the same frame and GPU), so denoising costs less than demosaicing and can stay permanently enabled — including low-light and high-fps scenarios.
Does the GPU Denoiser run on NVIDIA Jetson?
Yes. It runs on Jetson Orin NX and AGX Orin, Xavier NX and AGX Xavier, and legacy Jetson Nano and TX2 as well as desktop NVIDIA GPUs.
What input bit depths and formats are supported?
Input is an 8/10/12/14/16-bit per channel array from CPU or GPU memory; output is a 24/48-bit array in CPU or GPU memory, with 16/32-bit internal accuracy. The denoiser combines with the rest of the Fastvideo SDK pipeline entirely in GPU memory.
Can I test it on my own images and hardware?
Yes. Evaluate the denoisers with FastVCR: it works in real time with machine vision cameras and also processes RAW or PGM images from SSD, so no camera is required. Per-module timing is built in, so you can measure both quality and speed on your own data and GPU.
GPU Denoising Roadmap
The GPU Denoiser is a production module of the Fastvideo SDK, under active development. Its 2026 releases accelerated the bilateral denoiser and added an NLM denoiser with independent Y and Cb/Cr parameters and subsampling modes.
Current development (2026) focuses on:
- Noise profile calibration and implementation for raw denoising
- Temporal raw denoiser on GPU