MSU Denoiser Filter

Noise removal filter for video quality improvement

MSU Graphics & Media Lab (Video Group)

Take a look at this article on the new site! Follow the link

Algorithm, ideas: Dr. Dmitriy Vatolin, Dmitriy Kulikov
Implementation: Sergey Putilin, Ilya Tsvetkov

Version 2.5.1 released

The filter is designed for noisy video stream processing, video quality improvement, or video preprocessing (e.g. for preprocessing before compression or deinterlacing). The filter implementation is able to use GPU processing power to increase the processing speed.

Free version for non-commercial home usage only License for commercial or professional usage

Change log

Version 2.5.1 (Download it now)
  • Processing quality test added to warn users about possible artifacts
  • Fixed a lot of filter crashes
Version 2.5
  • New algorithm for high definition video (HDTV) processing added
  • Automatic noise estimation
  • Shot detection to reduce artifacts during temporal denoising
  • Cg libraries are not used any more
Version 2.0 beta
  • First version with support for fast video processing using GPU
  • New interface


By default filter uses automatic noise estimation and is ready for video processing without any manual setup. In this mode user can slightly correct denoising strength to achieve necessary results Automatic noise estimation checkbox controls this mode.

Filter parameters dialog box

Setting the checkbox you can select GPU or CPU versions of algorithm.

GPU-mode is available
GPU-mode is available, so you can use GPU for video processing (this feature is optional)
GPU-mode is not available
GPU-mode is unavailable. The most probable reason is that your computer does not meet the minimum system requirements of the filter

Note that not all graphic-cards are supported. We recommend to use ATI Radeon X700 or higher and nVidia Geforce 6600 or higher. The filter requires OpenGL 2.1 support. We strongly recommend installing the latest video-drivers when using GPU-mode to achieve better performance.

Some GPUs does not provide required accuracy and video will be processed with some visual artifacts. So at filter startup certain test are run and the user will be warned in the case of possible quality issues:

Filter parameters dialog box

Filter provides two different algorithms for video denoising (selection is made via Algorithms list):

  • MSU Denoiser — algorithm used in previous versions of filter.

    MSU Denoiser algorithm

    The filter suppresses noise in both spatial and temporal domains. Filter effect is specified for each type of denoising in the dialogue box as shown. Checkboxes help to set required combination of domains, thus enabling spatial-only or temporal-only denoising.

    The new feature of 2.5 release is careful scene change processing. The filter detects shots to prevent artifacts of temporal denoising, but can also reduce the performance, especially when high performance GPU is used.

  • Bilateral — new algorithm which is implemented in three variants corresponding to different performance/quality ratios. This algorithm is most suitable for HD video denoising because of its quality.

    Bilateral algorithm

Filter supports Job Control and can be used with AviSynth. Here is an example:

LoadVirtualDubPlugin("..\VirtualDub\plugins\MSUDenoiser251.vdf", "MSUDenoiser", 1)
clip = AviSource("video.avi")
clip.ConvertToRGB32.MSUDenoiser(algorithm, gpuMode, correction, shotDetection)


  • algorithm:
    • 0 — MSU Denoiser;
    • 1 — Bilateral, small region (fast);
    • 2 — Bilateral, medium;
    • 3 — Bilateral, big region (best quality);
  • gpuMode — if set to 0, CPU is used; GPU otherwise;
  • correction — manual correction for automatic mode (50 corresponds to no correction);
  • shotDetection — careful scene change processing (for MSU Denoiser algorithm only).


Let's consider filter operation on “Suzie” sequence first. The sequence is quite noisy in spatial and temporal domains. Here is a visual comparison of source frame and the frame processed by MSU Denoiser:

Source frame with noise
Source frame with noise
Frame processed with MSU Denoiser
Frame processed with MSU Denoiser (made with “High Noise” preset that emphasizes filter effect)

Performance comparison

Here is a comparison between two versions of MSU Denoiser: old version without GPU processing and new version with GPU processing

Processing speed graph
Comparison of filter processing speed on different hardware
Performance gain graph
Processing speed gain of GPU-mode compared with CPU (Pentium 4 3.4 GHz) version of algorithm


To use the filter download the archive using the link given below and extract its content into VitualDub plugins directory.



For common questions about MSU Denoiser filter, please contact us MSU Denoiser e-mail
For commercial license of this filter (commercial usage is not free), please contact us Commercial usage e-mail

Other resources

Video resources:

Last updated: 12-May-2022

Server size: 8069 files, 1215Mb (Server statistics)

Project updated by
Server Team and MSU Video Group

Project sponsored by YUVsoft Corp.

Project supported by MSU Graphics & Media Lab