View Full Version : Current state of denoising?
Bexley
11th September 2016, 21:17
Although I've been a member here for over a decade, I haven't been involved with AVISynth or done much video work in several years now, and so I've lost touch with what's going on. I'm now working on some projects that I need to denoise, and I'm not sure what the current tools are like. I've read through the forum a bit, but it doesn't seem like denoising is a very hot topic around here these days.
Back in the day, my favorite tool was MCTemporalDenoise. Aside from being slow as Christmas, it was like a Swiss army knife with every function I needed in one package. I can still use it, of course, but I basically want to know if it's been superseded by better, faster functions that do the same thing. Is that still representative of the state of things, or are there better options now?
johnmeyer
11th September 2016, 21:54
There is no single denoising solution. It all depends on the noise you are trying to remove, and also on the nature of the video. Post a sample of what you are trying to denoise and you will get some suggestions.
Groucho2004
11th September 2016, 22:01
What John wrote.
However, as for a general de-noising solution that can be adapted to one's needs, SMDegrain (http://avisynth.nl/index.php/SMDegrain) seems quite popular.
I rarely have to de-noise anything but if I do, I use my personal favourite, KNLMeansCL (http://forum.doom9.org/showthread.php?t=171379).
Bexley
11th September 2016, 22:10
There is no single denoising solution. It all depends on the noise you are trying to remove, and also on the nature of the video. Post a sample of what you are trying to denoise and you will get some suggestions.
Well, I have a variety of sources that I'm working on that all have different issues. I just meant generally what's new and popular these days that I can try out that will yield similar results to MCTD.
johnmeyer
11th September 2016, 22:12
However, as for a general de-noising solution that can be adapted to one's needs, SMDegrain (http://avisynth.nl/index.php/SMDegrain) seems quite popular.Yes, I use MDegrain2 for much of my denoising, and SMDegrain is (more or less) a front-end for MDegrain2.
I just looked at the wiki for SMdegrain2 and I probably should start using that, rather than just the plain vanilla MDegrain2, in order to take advantage of some of the other functions that are made available within the wrapper of this function.
Bexley
11th September 2016, 23:17
So I'm playing around with SMDegrain, and I like it for most of my sources that I've tested it on (although I'm not finding it to be substantially faster than MCTD with gpu=true). However, I'm getting some really nasty motion artifacts and ghosting on some scenes with a lot of camera motion that I can't seem to get a handle on. My initial test was with this script:
SMDegrain(tr=2,thSAD=250,contrasharp=true,interlaced=true,refinemotion=true,lsb=true)
I was able to reduce it some by reducing the tr and thSAD options, but the ghosting is still present even at the lowest levels. The only way I can eliminate it is to add plane=3 and only process the chroma, but then I'm not getting the noise reduction result I want by excluding the luma. Any ideas on which setting I need to tweak for these scenes? DV samples linked.
http://www.filedropper.com/smdegrain
Groucho2004
11th September 2016, 23:32
I have seen the occasional motion artefacts with MDegrain, that's why I switched to KNLMeansCL. I recommend you give it a whirl.
trip_let
12th September 2016, 00:03
Sometimes you really need to tweak the SMDegrain parameters, like really lower thSAD so it doesn't match blocks that ought not to be matched. But then you might not end up denoising much. What can help sometimes is to use a good prefilter and feed that in, like a KNLMeansCL, then lower the motion detection stuff.
Or just use KNLMeansCL. Relatively fast (on a decent graphics chip) and good.
If you're willing to use Vapoursynth, BM3D (V-BM3D) is really good too, maybe even better. It's really nice with preserving details, relatively speaking, for a denoiser. But is designed for Gaussian, random-type noise, not some of the more structured artifacts that SMDegrain or some others can zap. I've had some success before using SMDegrain as a basic estimate for BM3D.
feisty2
12th September 2016, 01:02
Algorithm Complexity(General Quality): V-BM3D > V-NLMeans > Motion Compensation > Frequency Filters(without block matching)/Bilateral > Thresholded Blurring > General Blurring
Wilbert
14th September 2016, 20:35
Cleaned the thread up a bit.
hydra3333
15th September 2016, 14:20
fwiw, depending on the source, I use Mdegrain1/2/3 - but hope to switch to KNLMeansCL if I can get it to work and the results look good.
Just wondering, can you please confirm that KNLMeansCL works for you under win10x64 with latest patches ? It crashes consistently for me - http://forum.doom9.org/showthread.php?p=1780660#post1780660 I know I must be doing something wrong, I'm just not sure what.
trip_let
15th September 2016, 16:56
fwiw, depending on the source, I use Mdegrain1/2/3 - but hope to switch to KNLMeansCL if I can get it to work and the results look good.
Just wondering, can you please confirm that KNLMeansCL works for you under win10x64 with latest patches ? It crashes consistently for me - http://forum.doom9.org/showthread.php?p=1780660#post1780660 I know I must be doing something wrong, I'm just not sure what.
I've used it in Avisynth and Vapoursynth both in Win10 x64.
I remember it not working after the Win10 anniversary update because it did the whole Windows.old thing on the old Windows directory and that's where some OpenCL dll was. Had to do something with OpenCL again. I forget what that was, sorry. Maybe it was copying the dll from the old directory. I think I tried downloading some OpenCL runtimes from Intel? Something worked in the end.
hydra3333
16th September 2016, 12:45
Thanks. Fresh "portable" installs of everything, but it still crashes immediately.
I have seen the opencl.dll in c:\windows\system32 (209kb) and in "C:\Windows\SysWOW64\ (27kb) and nvopencl.dll in the same folders.
Properties of the nvopencl.dll's says "opecl 1.1 driver" which doesn't seem right. The latest Nvidia driver is installed (nvidia 750 Ti card).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.