View Full Version : Denoise of tv-anime
Yumi-chan
19th May 2008, 06:25
Hi, i was just wondering if someone had some hint to get rid of the edge noise in this clip ( or edge noise in general).
http://xs127.xs.to/xs127/08211/vlcsnap-2032079277.png.xs.jpg (http://xs.to/xs.php?h=xs127&d=08211&f=vlcsnap-2032079277.png)
As you can see there is some noise on the edges ( and general noise in the video). For the general noise..a convolution3d does the work but for that edge noise..i dunno what to do. I've tried a fft3d filter on it..but unless i use high sigma values..i can't get rid of it. Of course, high sigma = crazy ghosting. Is there any better setting in fft3d for noise edge? Or some other way.
thetoof
19th May 2008, 06:31
try aaa()
Yumi-chan
19th May 2008, 07:08
worked fine. thanks :cool:
thetoof
19th May 2008, 07:59
Glad to hear that! Out of curiosity... which anime is this?
Heaud
19th May 2008, 08:04
That looks more like aliasing than noise edge to me. With what thetoof said, aaa() helps remove those jaggies.
GasKid
21st May 2008, 11:22
@thetoof,
this anime is To Love-Ru (Japanese title: To LOVEる) (http://anidb.net/a5625)
Mystery Keeper
23rd May 2008, 22:25
That's not noise, that's Gibbs effect. You can try MSU Cartoon Restore, but it can be destructive for details. If antialiasing helps as you say, try "EEDI2().TurnRight().EEDI2().TurnLeft()" and then resize. It's faster and almost doesn't destroy details at all unlike aaa().
thetoof
24th May 2008, 04:11
Just tested that and... doh! I've been putting aaa() in many scripts without testing any other anti-aliasing methods :p
So, for this one, what Mystery Keeper suggested works like wonder and, for some other clips with another type of aliasing, sangnom still gives great results without destroying detail. The only thing you have to change is the resizers. One of the "best" thing I found is (uber simple... but it works!):
spline36resize(width*2,height*2)
TurnLeft().SangNom().TurnRight().SangNom()
spline36resize(width/2,height/2)
martino
24th May 2008, 12:52
Just tested that and... doh! I've been putting aaa() in many scripts without testing any other anti-aliasing methods :p
So, for this one, what Mystery Keeper suggested works like wonder and, for some other clips with another type of aliasing, sangnom still gives great results without destroying detail. The only thing you have to change is the resizers. One of the "best" thing I found is (uber simple... but it works!):
spline36resize(width*2,height*2)
TurnLeft().SangNom().TurnRight().SangNom()
spline36resize(width/2,height/2)
Adding MergeChroma(before) may of benefit as well as edge masking it. "Uber-simple" as it is, but uber-destructive too.
P.S. You could also replace EEDI2() with nnedi(field=x,dh=true).
thetoof
24th May 2008, 18:03
edge masking it.
How would you do that to help anti-aliasing? I'm quite sure it must be simple, but I have yet to learn how to properly use mt_masktools...
Yes, I myself am always looking for the latest and greatest way to DESTROY aliasing, and I always thought that masking would help, but I have never learned to use Masktools correctly.
martino
24th May 2008, 19:33
input=last
mask=mt_edge("sobel",7,7,5,5).mt_inflate() #builds the edge mask
#mask taken from Kintaro's useless filterscripts
#try also mt_edge("roberts",0,4,0,4) which is my personal favourite for edge masking, but haven't played with it in this application
aa_clip=Lanczos4Resize(input.width*2,input.height*2).TurnLeft().SangNom().TurnRight().SangNom().Lanczos4Resize(width/2,height/2).MergeChroma(input) #anti-aliased clip
mt_merge(input,aa_clip,mask) #merge the aa_clip into the input one based on the mask, ie merge the detected anti-aliased edges
That's pretty much the core, omitting any "fancy" stuff.
EDIT: Code broken, etc. Look couple posts lower please.
thetoof
24th May 2008, 20:03
I get "MergeChroma: Images must have the same width and height!"
and when I remove it = crash
martino
24th May 2008, 20:22
My apologies. Had a little moment of retardation back there;
input=last
mask=input.mt_edge("sobel",7,7,5,5).mt_inflate()
aa_clip=input.Lanczos4Resize(width(input)*2,height(input)*2).TurnLeft().SangNom().TurnRight().SangNom().Lanczos4Resize(width(input),height(input)).MergeChroma(input)
mt_merge(input,aa_clip,mask)
Yumi-chan
25th May 2008, 12:17
Since the problem is always noise and stuff i'll just post in here. I came across another annoying problem in some dvd.
here's a screen.
http://xs127.xs.to/xs127/08210/fs453720.jpg.xs.jpg (http://xs.to/xs.php?h=xs127&d=08210&f=fs453720.jpg)
the bottom one is the clean dvd source. As you can see there's pretty much dirt in it ( i saw this in random frames, not all). Now..what could that be? Since i'm kinda new to filtering i could only think of either that due to not enough bitrate in the dvd, or some noise. I've tried some smoothing (top screenshot, but as you can see it kills too much detail, and doesn't solve the problem (i've tried some mipsmooth, msmooth, fluxsmooth). If you have any idea on how to solve this, i'd really appreciate it, thanks.
thetoof
29th May 2008, 03:14
There's a discussion about dirt removal here (http://forum.doom9.org/showthread.php?t=137821) that might be useful to you.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.