Log in

View Full Version : need advice on denoising


lansing
20th May 2009, 08:24
i have an old noisy anime dvd, and I'm not sure what denoiser to use.

sample clip is here (http://www.sendspace.com/file/8moih1)

In this sample, there's pixels flashing/jumpling around in playback, and I'm confused on which one to use between Temporal Degrain and MCTemporalDenoise for this.

Can someone give me some advice

Nightshiver
20th May 2009, 21:06
source = last
vectors = source.MVAnalyseMulti(refframes=3, pel=2, overlap=4, sharp=1, idx=1)
source.MVDegrainMulti(vectors,thSAD=600,idx=1)
LimitedSharpenFaster(ss_x=1.6, ss_y=1.6, smode=3, strength=170, overshoot=1, undershoot=1)


Does fine for me. I personally like mvdegrain, but you can choose any other denoiser you like.

BigDid
20th May 2009, 22:24
...
Does fine for me. I personally like mvdegrain, but you can choose any other denoiser you like.
Hi,

As I am experimenting MVTools, just a few words to let you know that MVdegrain was for version1 of MVTools, version 2 has slightly changed wording and scripting: Mdegrain instead of MVdegrain, MAnalyse instead of MVanalysemulti etc...
See the documentation, official thread and/or this one:
http://forum.doom9.org/showthread.php?t=147183

Did

lansing
20th May 2009, 23:28
so basically temporal degrain and mctemporaldenoise does the same work but just different alternative?


I personally like mvdegrain, but you can choose any other denoiser you like.

I tried mdegrain2, it was too strong compare to temporal degrain, where it smooth out too much on moving hair and clothes.

Nightshiver
21st May 2009, 01:47
Hi,

As I am experimenting MVTools, just a few words to let you know that MVdegrain was for version1 of MVTools, version 2 has slightly changed wording and scripting: Mdegrain instead of MVdegrain, MAnalyse instead of MVanalysemulti etc...
See the documentation, official thread and/or this one:
http://forum.doom9.org/showthread.php?t=147183

Did

Yes, I know this but I don't use mvtools2 right now. I prefer the other version. I haven't been hiding under a rock :) OP: You can always lower the thsad. I just like the result it gives. But apparently you just want some light denoising.
temporaldegrain(degrain=3)
If you want less denoising, lower use 1 or 2 instead of 3. All denosiers do exactly that, denoise. But some do it in different ways. You just have to make up your mind on what YOU like best.

BigDid
21st May 2009, 02:56
Yes, I know this but I don't use mvtools2 right now. I prefer the other version. ...
Sorry,

My comments were more for the original poster, if he doesn't use Mvdegrain- Mdegrain it may have introduced some confusion.

Did

Chiba
21st May 2009, 22:47
I think you can also try something like that :


den=mvnettoie(type=3,thsad=400)#.an another denoiser ?
SeeSaw(last,den,sstr=1.0,ss_x=1.7,ss_y=1.7)

function mvnettoie(clip c ,int "type", int "thSAD",int "blksize", bool "pre")
{
idx = rand()
Type = default(type,2)
thSAD = Default(thSAD, 400)
blksize = Default(blksize,8)
pre = Default (pre,false)
idx_2 = pre ? idx+1 : idx

c_pre = pre ? c.FFT3DFilter(sigma=10,sigma2=6,sigma3=6,bt=5,bw=32,bh=32,ow=16,oh=16,plane=4):c

MVMulti=c_pre.MVAnalyseMulti(refframes=Type, pel = 2, blksize=blksize,overlap=blksize/2, sharp=1, idx = idx)
c.MVDegrainMulti(MVMulti, refframes=Type, thSAD=thsad, idx=idx_2)
}


SeeSaw here : http://avisynth.org/mediawiki/SeeSaw

thetoof
22nd May 2009, 04:04
This looks to me like a cheaper version of TemporalDegrain... less options and less effective.

General blabla:
To optimize prefiltering for motion search, you should be able to ajust the sigmas for both luma and chroma... some old post I made when I was very proud of that "discovery" :p http://forum.doom9.org/showthread.php?p=1119265#post1119265 + a few posts below

So, by killing all chroma noise and then applying "adaptive" luma denoise by tweaking sigma, sigma2, sigma3 and sigma4, you get a very nice clean clip to do your mo-comped denoise. Feel free to Seesaw, grainfactory3 and/or lsfmod+soothe the clip afterwards depending of your desired output. For anime, I wouldn't do much though

Another option if you have time is TNLmeans

...
Just had a look at your clip : not a lot of noise, so a simple dfttest(smode=0,tbsize=3,sbsize=5,sigma=x) should be enough.
What you really need is:
dotcrawl removal (tcomb, checkmate)
deinterlacing/deblending (a few options are out there, I think you'll guess what I'd suggest)
correction of "chroma aberration caused by lenses" or something like that (red and green halos) and color bleeding (search about the mergechroma(warpsharp()) sledgehammer)
dehaloing (dehalo_alpha(), yahr(), mt_convolution() if you feel like studying a lot
stabilisation (have a look at stab())
also be careful about the aspect ratio (ideally crop width by 16 to remove black bars and encode anamorphic to 4:3)
the rest is up to you and what you think is an improvement ((warp)sharpening, contrast/brightness/saturation tweaks, color correction (coloryuv(off_u=x, off_v=x))
After this little parenthesis fest, good luck and have fun.

lansing
23rd May 2009, 04:38
@toof

I tried your script, but it seems to kill too much details on moving scene on my anime.

And TNLMeans, oh man you gotta be kidding me on this one, 0.9fps...:eek: I better stay away from it.

The reason for this post was to solve my confusion between temporaldegrain and mctemporaldenoise, and since it's been answer, i'm pretty much satisfied.

thetoof
23rd May 2009, 05:20
Of course the script will kill a lot of detail if you don't tweak it; you can see on the screenshots that there is a LOT more noise than on your source. Actually, the part about fft3d prefilter + TD was more of a reply to Chiba for his mvnettoie.

The info specifically destined to you lansing was after the ..., sorry for the confusion. And about your question, mo-comped denoising is not really worth it for your source imo (try that dfttest line by tweaking sigma and I'm sure you'll be more than satisfied) smode=0 will make it natively multithreaded.

Oh and about TNLmeans? Yes I was. Something might come out of this (http://forum.doom9.org/showthread.php?t=147083) thread though so that it becomes a viable solution.

lansing
23rd May 2009, 06:57
@toof

the problem with my source was the temporal noise that kept jumping around on playback, and dfttest doesn't really suit for this situation.
I tried your script and boost sigma up to 30 like this:

dfttest(smode=0,tbsize=3,sbsize=5,sigma=30)

and I'm still seeing the those noises on playback. Just have a look on the character's face and clothes.
And speed wise I have dfttest with that script for 2fps, and 1.96fps from MCTemporalDenoise(settings="high", gpu=true), so there's not much loss in speed here.

thetoof
23rd May 2009, 12:33
I see, then you truly found the correct filter!