Log in

View Full Version : What are the strengths/weaknesses/tradeoffs of various denoisers, as of 2011?


Mini-Me
30th April 2011, 02:39
There are a plethora of Avisynth denoisers to use, and it's a bit overwhelming trying to compare them. The ones I see mentioned a lot include:
MVDenoise3/2/1
MDegrain3/2/1 (these apparently replace MVDenoise, right?)
RemoveGrain (a million versions, too)
TemporalDegrain
DegrainMedian
MCTemporalDenoise
MCSpuds
TNLMeans
FFT3DFilter
HQDN3D
DFTTest
TTempSmooth
FluxsmoothST
Denoise3D
Fizzkiller
Killer
SpaceDust/PixieDust/GoldDust
NeatVideo for Virtualdub (comparing Avisynth denoisers with NeatVideo might be helpful)

There are so many tools in the toolbox that I frankly don't even know where to start. I'd really appreciate it if someone could help me understand things like:
Which ones are considered modern, high-quality denoisers, and which if any have been flat-out superseded by others? Which ones are used more out of habit and familiarity, and which are used more because of superiority? Are there any awesome ones I'm forgetting?
I know some denoisers are considered "heavy" denoisers, and others are considered "light" denoisers. What exactly is the difference? Are heavy denoisers meant to combat more visible noise, whereas light denoisers are intended to fight subtle noise for better compressibility? Or are they distinguished differently?
What kind of noise is each filter meant to reduce? Which ones are more general, and which are more specialized (and for what)? For instance, do certain filters specialize in film vs. video vs. animation? Are certain ones meant more for auxiliary calmed clips (as input to other filters) rather than the final output? Do certain ones specialize in chroma noise, luma grain, high-frequency noise, low-frequency noise, low-intensity noise, high-intensity noise, pattern noise, etc.? Are certain ones better for lossless captures than already compressed video? Which ones work better with interlaced video (are any really bad at it?)?
What are the weaknesses of each? Which ones are better at avoiding artifacts, and which ones tend to result in more smearing, ghosting, patchy noise, blocking, ringing, etc.?
Which ones are preferred more for their speed, which ones are preferred more for their visual quality, and which ones are preferred more for compressibility?
Which ones are closer to idiot-proof, and which ones are more temperamental?
Aside from speed, is there ever a reason to use a plain spatial or temporal denoiser over a spatiotemporal denoiser? Aside from speed, is there ever a reason to use a spatiotemporal denoiser over a motion-compensated denoiser? When are frequency domain denoisers better?
Which ones complement each other best when used together?
There are obviously so many denoisers because each has its tradeoffs. However, if speed were not an issue, are there any denoisers that can be safely thrown at practically any clip with awesome results? Or are all of them dangerous in the hands of a noob? If there is such a denoiser but its speed falls in the "unusable" category (perhaps TNLMeans), what else would be closest?

Basically, I'm looking for a general survey of denoisers, so I understand when and why to apply each one. Thank you! :D

Mounir
30th April 2011, 07:13
You've forgotten Defreq (http://forum.doom9.org/showthread.php?t=82978&highlight=defreq) it's probably the closest filter to neatvideo which imo is the best of them all.

matfra
2nd May 2011, 15:29
I use
FFT3DFilter() Good Speed, I dont like the sharpen fucntion inside it. Look like unsharpmask.
HQDN3D(5) Good, Fast, Remove lot of noise and keep details.
DFTTest() Slow, Powerfull for general denoising
MCTemporalDenoise(Settings=Medium) #Basic, Slow, could do good job, but most of time is too mutch with the basic settings. Need tweak
MDegrain1/2/3() Good, Fast, Stable, But I find it not strong enough. And image very soft after.
MCSpuds() Horrible, I never use it. Slow, I dont like the settings.
NeatVideo for Virtualdub() It can do miracle, but i dont like use this. I prefer use AVISynth Plugin
TTempSmooth() Very Fast, But I never use it. It seem to do just minor change to my clips. Its not a good denoising.
RemoveGrain() Excellent, Usually Not use by itself, but almost every denoising plugin use it.

What I like to use for denoising/sharpening.
a=last
SeeSaw(a,FFT3DFilter(sigma=6,sigma2=3,sigma3=2,sigma2=6))

Mounir
9th May 2011, 02:10
the filtering of the luma of fft3dfilter is not that great imo(haven't tried the noise pattern setting though), however the UV denoising seems great, something like that:

fft3dfilter(sigma=10,sigma2=7.0,sigma3=5.0,sigma4=10, bt=5, bw=32, bh=32, ow=16, oh=16,plane=3, sharpen=0.0,interlaced=true)

The GPU version don't give similar or better results strangely

Mini-Me
24th May 2011, 14:04
Thanks for your input so far, guys! I did forget DeFreq, which is funny since I briefly looked into it a while back to help with a specific problem. I never did figure out how to use it (I'm VERY weak on anything related to the frequency domain), but that's also because I wasn't sure whether the time might be better spent exploring other options. I'll have to give it another look.

In the meantime, there's still a lot to know, and I could really use some more opinions. matfra gave his input on a wide variety of denoisers, and it would be extremely helpful if other knowledgeable people chimed in with similar posts. :)