Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd March 2008, 21:09   #1  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
Alternatives to FFT3DFilter for luma denoising on pictures?

As amazing as FFT3DFilter is for chroma denoising on pictures, I find the luma denoising to be lacking as it seems to cause artifacting. Can you recommend me something that works as nicely on luma only?
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.
Chainmax is offline   Reply With Quote
Old 22nd March 2008, 21:40   #2  |  Link
moviefan
Registered User
 
Join Date: Jul 2005
Posts: 438
I don't know, if this denoises only luma, but I have made very good experience with "Temporal Degrain" (http://avisynth.org/mediawiki/Temporal_Degrain). It gave me very pleasing results on semi-noisy sources. So give it a try, if you like.
moviefan is offline   Reply With Quote
Old 22nd March 2008, 21:43   #3  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,667
dfttest?
Dark Shikari is offline   Reply With Quote
Old 23rd March 2008, 03:31   #4  |  Link
TheRyuu
warpsharpened
 
Join Date: Feb 2007
Posts: 787
Quote:
Originally Posted by Dark Shikari View Post
dfttest?
that would be my first though.
TheRyuu is offline   Reply With Quote
Old 23rd March 2008, 17:33   #5  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
It works better than FFT3DFilter, but not by that much. Noise Ninja still does better in that regard.
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.
Chainmax is offline   Reply With Quote
Old 24th March 2008, 17:46   #6  |  Link
cestfait
Registered User
 
cestfait's Avatar
 
Join Date: Jul 2007
Posts: 70
did you try frfun7? frfun3d?
cestfait is offline   Reply With Quote
Old 24th March 2008, 21:54   #7  |  Link
*.mp4 guy
Registered User
 
*.mp4 guy's Avatar
 
Join Date: Feb 2004
Posts: 1,350
tnlmeans(ax=8, ay=8, sx=16, sy=16, bx=1, by=1, sse=true, a=1, h=12)

h is the strength of denoising, 12 is very high, set it to the lowest levels that removes enough noise. It's a very very slow filter, but the results are better then anything else, given slow enough processing setings (the settings given are quite slow). its one of Triticals plugins.
*.mp4 guy is offline   Reply With Quote
Old 24th March 2008, 23:15   #8  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,393
Quote:
Originally Posted by *.mp4 guy View Post
It's a very very slow filter, but the results are better then anything else, given slow enough processing setings (the settings given are quite slow).
Oh yeah, TNLMeans ... one of the best unusable filters. Results after tweaking can be very good, but when using "good enough" settings, tweaking takes long, and encoding takes ages.

Feeding PAL 720x576: with the settings you posted, one frame takes me ~2 minutes to render (2.6 GHz singlecore). For a two hours movie, that would be ~250 days to encode. I'm tolerant against slow filtering, but too much is too much.
And when reducing the settings enough to get "competitive" speeds, the results are no more same.


@ Chainmax - didn't you forget to specify what material you're dealing with, what kind of noise there is, etc.? "Something that works as nice as FFT3DFilter" is a highly vague and nebulous question ...
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 24th March 2008, 23:44   #9  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
cestfait: I will try those.

*.mp4 guy: I'll try that one as well. Since I'm only processing pictures, filter speed is not an issue at all.

Didée: you're right, my bad. I'll post comparative screenshots with all options mentioned so far as soon as I can.

Thanks for the suggestions so far, if you have more please keep them coming.
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.
Chainmax is offline   Reply With Quote
Old 25th March 2008, 00:39   #10  |  Link
*.mp4 guy
Registered User
 
*.mp4 guy's Avatar
 
Join Date: Feb 2004
Posts: 1,350
Quote:
Originally Posted by Didée View Post
Oh yeah, TNLMeans ... one of the best unusable filters. Results after tweaking can be very good, but when using "good enough" settings, tweaking takes long, and encoding takes ages.

Feeding PAL 720x576: with the settings you posted, one frame takes me ~2 minutes to render (2.6 GHz singlecore). For a two hours movie, that would be ~250 days to encode. I'm tolerant against slow filtering, but too much is too much.
And when reducing the settings enough to get "competitive" speeds, the results are no more same.


@ Chainmax - didn't you forget to specify what material you're dealing with, what kind of noise there is, etc.? "Something that works as nice as FFT3DFilter" is a highly vague and nebulous question ...

doesn;t anyone read the thread title.

"Alternatives to FFT3DFilter for luma denoising on pictures?"

That means 1-speed is not important, and 2-no temporal processing; combined that means tnlmeans is the most optimal (can't say best) performing filter for removing uncorrelated noise irregardless of other factors.
*.mp4 guy is offline   Reply With Quote
Old 25th March 2008, 10:37   #11  |  Link
R3Z
Silver Über Alles
 
R3Z's Avatar
 
Join Date: Aug 2006
Location: Australia
Posts: 269
Quote:
Originally Posted by *.mp4 guy View Post
doesn;t anyone read the thread title.

"Alternatives to FFT3DFilter for luma denoising on pictures?"

That means 1-speed is not important, and 2-no temporal processing; combined that means tnlmeans is the most optimal (can't say best) performing filter for removing uncorrelated noise irregardless of other factors.
If 720x576 takes 2 minutes for one frame, then god help anyone trying a normal digital camera resolution
R3Z is offline   Reply With Quote
Old 25th March 2008, 13:22   #12  |  Link
*.mp4 guy
Registered User
 
*.mp4 guy's Avatar
 
Join Date: Feb 2004
Posts: 1,350
A 1024*768 picture only takes ~1 minute on my computer, and I don't have the fastest machine around by any stretch o the imagination, iirc Didée said he has a prertty dated machine in another thread.
*.mp4 guy is offline   Reply With Quote
Old 25th March 2008, 16:26   #13  |  Link
thetoof
Sleepy overworked fellow
 
Join Date: Feb 2008
Location: Maple syrup's homeland
Posts: 933
For very bad sources with a LOT of luma noise, I use fft3dfilter with specified noise pattern (sigma2/3/4) and plane=0 to create a reference clip for Temporal Degrain and it gives better results than fft3d alone and even dfttest for some sources.

I'll post some screenshots when I get back home.
thetoof is offline   Reply With Quote
Old 25th March 2008, 18:06   #14  |  Link
Terranigma
*Space Reserved*
 
Terranigma's Avatar
 
Join Date: May 2006
Posts: 953
Quote:
Originally Posted by thetoof View Post
and even dfttest for some sources.

I'll post some screenshots when I get back home.
And when you compare dfttest, please use tbsize=5 and not 1, along with sbsize 16, and sosize to 8 with U and V set to false. That will make things about even.
Terranigma is offline   Reply With Quote
Old 26th March 2008, 00:44   #15  |  Link
Socio
Registered User
 
Join Date: May 2004
Posts: 288
Quote:
Originally Posted by *.mp4 guy View Post
tnlmeans(ax=8, ay=8, sx=16, sy=16, bx=1, by=1, sse=true, a=1, h=12)

h is the strength of denoising, 12 is very high, set it to the lowest levels that removes enough noise. It's a very very slow filter, but the results are better then anything else, given slow enough processing setings (the settings given are quite slow). its one of Triticals plugins.
Just for fun I tried it with a dual 3.06 processor rig using MT at a setting h=2 for light denoising and it took about 60 seconds to render a single frame. Granted the results are phenomenal but slow is a understatement.
Socio is offline   Reply With Quote
Old 26th March 2008, 01:20   #16  |  Link
cestfait
Registered User
 
cestfait's Avatar
 
Join Date: Jul 2007
Posts: 70
Quote:
Originally Posted by Socio View Post
Just for fun I tried it with a dual 3.06 processor rig using MT at a setting h=2 for light denoising and it took about 60 seconds to render a single frame. Granted the results are phenomenal but slow is a understatement.
What was the resolution of the image?
cestfait is offline   Reply With Quote
Old 26th March 2008, 02:19   #17  |  Link
Socio
Registered User
 
Join Date: May 2004
Posts: 288
Quote:
Originally Posted by cestfait View Post
What was the resolution of the image?
720X480
Socio is offline   Reply With Quote
Old 27th March 2008, 05:02   #18  |  Link
cestfait
Registered User
 
cestfait's Avatar
 
Join Date: Jul 2007
Posts: 70
wow. that's a long time.

i just read the paper that tritical links to on his website about this method of denoising, however, and TNL Means looks pretty unbeatable as of now. It makes fourier-weiner (a la fft3d) look pretty weak disregarding time....
cestfait is offline   Reply With Quote
Old 29th March 2008, 17:50   #19  |  Link
thetoof
Sleepy overworked fellow
 
Join Date: Feb 2008
Location: Maple syrup's homeland
Posts: 933
I said before that I would post screenshots... here they are!

Original

For all the filters (except TemporalDegrain), I added FFT3DFilter(sigma=10, plane=3, bw=32, bh=32, bt=5, ow=16, oh=16) before luma denoise to ensure that all the chroma noise was removed.

The settings that Terranigma suggested gave me blocking artifacts and, even after increasing the overlap to 12, my settings below gave better results. Stronger sigma screwed up the image.
dfttest(sigma=7,smode=0,sbsize=5,tbsize=5,u=false,v=false)

I'd never used tnlmeans before, so I tried tweaking all the settings and everything I changed (except a and h) only made it a LOT longer with no visual difference.
tnlmeans(h=8)

Now, my solution. It's slow, but it's good. What makes it so is that it uses a noise pattern (specified with sigma2/3/4 on luma denoising that must be tweaked to match the pattern of the source; my settings for sigma2/3/4 only work on this source), so the motion vectors are calculated without any noise = optimal quality. Yes, it has some haloing... but that's 'cause I had to use very aggressive settings with fft3d since my source was very crappy. On sources with less noise that match sigma3&4, there is almost none. I tried to create a reference clip with other denoisers, but the advantage of fft3d (noise pattern) beats them all.
source = avisource("source.avi")
pred = FFT3DFilter(source,sigma=40, plane=3, bw=32, bh=32, bt=5, ow=16, oh=16)
denoised = FFT3DFilter(pred,sigma2=6, sigma3=7, sigma4=11, plane=0, bw=32, bh=32, bt=5, ow=16, oh=16)
Temporaldegrain(source, denoised, search=3, pel=2)


To make it look like the other ones regarding chroma noise, I added this after Temporaldegrain.
FFT3DFilter(sigma=10,sigma2=0, sigma3=4, sigma4=0, plane=3, bw=32, bh=32, bt=5, ow=16, oh=16)

Using TNLmeans for the reference clip also gives nice results, but it's way too slow to be usable. (about 1fpm)

I recommend splitting the script before the extra chroma denoise (i.e. right after Temporal Degrain) with nothing before it (i.e. source+reference+TD) and writing a lossless YV12 pass before adding any other filters and then reload the lossless denoised clip to add more filters (like a sharpener) to decrease total processing time.

Last edited by thetoof; 6th April 2008 at 05:04.
thetoof is offline   Reply With Quote
Old 29th March 2008, 19:32   #20  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
Here's what I tried so far:

Noise Ninja:


FFT3DFilter @ sigma 15 for chroma + dfttest (sigma=3):


FFT3DFilter @ sigma 15 for chroma + TNLMeans @ h=4:



I'll try frfun7 and frfun3d soon.

[edit]I found frfun7_rev6, frfun3b_rev3 and frfun3d_rev1, which ones are you talking about, cestfait?
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.

Last edited by Chainmax; 29th March 2008 at 20:46.
Chainmax is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 23:56.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.