CUDA Noise Reduction for Images and Video on NVIDIA GPU
Updated:
Fastvideo's CUDA noise reduction removes noise from images and video on the NVIDIA GPU without any AI — classic wavelet, NLM and bilateral kernels tuned for very high throughput. It works on both luma and chroma, at 16/32-bit accuracy, and fits into a real-time GPU pipeline.
Features
- Input 8/10/12/14/16-bit per channel from CPU or GPU memory; output 24/48-bit; 16/32-bit internal accuracy
- Algorithms: wavelet denoiser (raw and RGB, CDF 5/3 and CDF 9/7, with hard/soft/garrote thresholding), bilateral, NLM
- Luma and chroma noise removal; per-algorithm timing and performance measurements
- Windows, Linux Ubuntu and L4T (Jetson); compatible with FastVCR machine-vision software
Denoiser benchmarks on NVIDIA GeForce RTX 4090
Image 4112×2176 (8.9 MPix), 16-bit per channel, RGB; all data in GPU memory, timing is GPU computation only:
| Algorithm | Time | Throughput |
|---|---|---|
| RAW DWT (CDF 9/7) | 1.8 ms | 4.9 GPix/s |
| DWT (YCbCr, 4:4:4) | 3.05 ms | 2.9 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 |
| Bilateral (RGB) | 0.13 ms | 60 GPix/s |
For scale, our best MG debayer processes the same image in about 0.6 ms (~13 GPix/s), so denoising fits comfortably in a real-time budget.
Part of the Fastvideo SDK
The denoiser is a module of our CUDA Image & Video Processing SDK, so customers can use GPU-accelerated denoising inside a general image-processing pipeline. To try the denoisers, download the FastVCR software.
Roadmap
- Acceleration of NLM and bilateral denoisers – done
- Temporal denoiser on CUDA – in progress