View Full Version : the best temporal smoother ?
Heini011
27th December 2003, 18:17
Hi,
i have tested serverals temporal filters for noise-removing and quality (especially with motion).
the following filters gave me the best results on medium and heavy noisy videos:
FluxSmooth, but there is still a little noise-pumping...
PeachSmoother is a great noise-killer, but has some drawbacks with edges in motion...
Are there still better temporal filters?
greetings, Heini011
scharfis_brain
27th December 2003, 18:23
Did you already tried dustv5?
Inc
27th December 2003, 21:27
@ Heini
As there is no unique type of noise so there won't be a general Denoiser-Recommendation.
If you are in Avisynth and its filters you can do some combinations.
Fluxsmooth() for example gots only one parameter for temporal and spatial treatment.
I do like a combinations of TemporalSoften and deen in a2d spatial mode.
Like ...
TemporalSoften(2,5,8,15,3).Deen("a2d",1,5,8)
But ... you have to try your own combinations. In case of captures sometimes ther'e broadcasting stations which do provide a less noise and therefore better signal than others. So thats why I got about 5 Denoising Combination avs Templates to start with and which will be modified to the specific state of the source.
@ Scharfis_Brain
Is that a new version of the DustPackage??? I do not remember now exactly. As I thought there won't be developed anymore or even rewritten for avs 2.5x usage
scharfis_brain
27th December 2003, 22:00
Dustv5 is a avisynth 2.0-Plugin.
But it works quite good (and slow) when using it with loadpluginex2
Inc
27th December 2003, 22:31
Yes, I know The avs2.0 Dustpackage very well :D I just was wondering IF there was a portation to avs 2.5x finally done (but this I think will be still in my dreams)
And I know its speed even using LoadPlugInEx.dll
I generated a avsi which automatically loads LoedpluginEx everytime in avisynth 2.5x everytime it starts up.
This is a nice thread where I did some freaky downscale-filtering-upscale tests.
http://kvcd.net/forum/viewtopic.php?t=6863
A "funny" thread
Heini011
28th December 2003, 14:31
Hi folks,
yes, FaeryDust from DustV5 is also a good temporal cleaner, but terrible slow.
i came to good results with:
ConvertToYUY2().FaeryDust(5..7).ConvertToYUV12().FluxSmooth(2,-1)
ConvertToYUY2().PeachSmoother(NoiseReduction=45,Stablity=25..40,DoSpatial=TRUE,Spatial=30).ConvertToYUV12().FluxSmooth(4,-1)
@incredible:
for (mostly) spatial cleaning i use deen("a3d",1..2,4..5,8..10,0) this is a little bit softer with motion than "a2d".
greetings, Heini011
bond
28th December 2003, 14:40
i often use temporalcleaner with low settings, never had problems with it and its pretty fast
Inc
28th December 2003, 16:42
Heini,
you shout watch out because:
a) Try to avoid that much colorspaceconversions!
Us a combination which stands in relation with the existing colorspace:
Assuming your source is YV12:
FluxSmooth(..,-1).... folowed by other YV12 Filters
ConvertToYUY2()
FaeryDust(..).... followed by other YUY2 Filters
Same case in your Peachsmoother script example.
But you should give Peachsmoother a little temporal assitance BEFORE to obtain best results.
b) Deen in a3d mode IS 3d filtering and therefore NOT SPATIAL! ;-)
Take a look at the readme doc.
If you want to do spatial only filtering using deen, it has to be set like this:
Deen("a2d",x,y,z)
Greets, Inc.
Heini011
28th December 2003, 19:17
hi inc,
>Try to avoid that much colorspaceconversions!
but what can i do ? the source is YV12 [mpeg2source(dvd-rip)]. Peachsmoother/FearyDust is the only YUY2 one and video would be convertet in YV12 after all anyway...
maybe it is better to convert back to YV12 after filtering and final resize ?
>Deen in a3d mode IS 3d filtering and therefore NOT SPATIAL! ;-)
yes, but in my sample is ti=0, so the main effect is of course spatial and Peachsmoother doesn 30% spatial too ;-)
greetings, Heini011.
Inc
29th December 2003, 01:12
Hi Heini!
So I should look at the new released version of deen, as I heared it comes with new parameters??! Well I check this out.
According to Conversions of colorspaces:
ok, mpeg will be encoded using YV12 BUT you never know what does the encoder internally! As I heared, CCE needs YUY2. Well in my case CCE also accepts scripts which do end in YV12 but thats the point: I dont know if this a internal directshow/codec thing so that the c.space could be pre-converted when treated by CCE ??? You never know
And in your first script you perform a PingPong, thats the only thing I wanted to mention :)
bb
30th December 2003, 18:21
Although this is not exactly the first thread about the "best denoiser" topic ;) I'd like to mention my all-time favourite: Convolution3D.
bb
magnanimous
1st January 2004, 09:23
G'day there, I've tried most of the filters and always come back to FLUXSMOOTH(0,6) seems to have the least amount of blocking artifacts.
Didée
1st January 2004, 23:43
magnanimous:
DONNNG!, wrong answer, thanks for participating. Next one please ...
:)
Compared to "usual" parametrization(*), FluxSmooth has "reversed" parameters: FluxSmooth(temporal_thresh, spatial_thresh).
Therefore, your FluxSmooth(0,6) does no temporal filtering at all ...
- Didée
(*) How to spell this word correct?
iago
2nd January 2004, 00:04
Didée,
Afaik flux needs "-1" to disable either kind of filtering. Though I don't know what "0" stands for and if it's any good at all! :D
magnanimous,
Didée is still right; and with FluxSmooth(0,6), most of the filtering you do is spatial, not temporal.
Btw, TemporalSoften(2,3,3,6,2) stands as a very good choice for very subtle filtering as discussed in several threads here as well.
regards,
iago
Heini011
2nd January 2004, 15:20
Hi iago,
you right with fluxsmooth parameters. for temporal cleaning we need FluxSmooth(6,-1).
>if it's any good at all!
On motion scenes FluxSmooth is better than TemporalSoften.
but it seems that the very best filter-set is DustV5 until today (when speed don't matter).
---
here is my best temporal+spatial filter set for a video with medium and heavy noise. i had optimized the parameters and the order of the filters with testing all useful combinations.
function hq_filter(clip c) {
c=ConvertToYUY2(c)
c=FaeryDust(c,7)
c=Undot(c)
c=ConvertToYV12(c)
c=FluxSmooth(c,2,-1)
c=deen(c,"a3d",1,3,5,3)
c=crop(c,...).LanczosResize(...)
return c
}
function lq_filter(clip c) {
c=ConvertToYUY2(c)
c=PixieDust(c,6)
c=Undot(c)
c=ConvertToYV12(c)
c=FluxSmooth(c,6,-1)
c=deen(c,"a3d",3,4,7,4)
c=crop(c,...).BilinearResize(...)
return c
}
mpeg2source("E:\My_Video\My_Video.d2v",cpu=4)
trim(0,10002).hq_filter().trim(0,10000) + \
trim(9996,12002).lq_filter().trim(4,-2000) + \
trim(11196,20002).hq_filter().trim(4,-8000) + \
...
Didée
2nd January 2004, 19:35
Hi Heini011,
you false with fluxsmooth parameters. for spatial cleaning we need FluxSmooth(-1,6).
iago
2nd January 2004, 20:31
I give up! It seems I'm talking against walls too! :D
Heini011
3rd January 2004, 16:33
hi Didée,
oh..sorry, for temporal cleaning, of course... i have corrected the posting.
greetings, Heini011
Xodarap
6th January 2008, 01:05
[QUOTE=iago;420592
Btw, TemporalSoften(2,3,3,6,2) stands as a very good choice for very subtle filtering as discussed in several threads here as well.
[/QUOTE]
My bread and butter. Still looking for a better (purely temporal) denoiser, though -- for high-quality (DVD vob) sources... In anime, especially, the above configuration creates (very short-lived) chroma ghosts when characters move quickly in front of a static background (though TemporalSoften(3,3,3,6,2) fixes this, but doesn't work as well otherwise for me).
Any advice for a catch-all temporal smoothing plugin/config for only DVD-vob sources, high quality (but, as usual, "dusty"), ABR@1200kbps, x264 @ "insane quality" -- I only care about subjective visual quality (not filesize or anything else)?
Mug Funky
6th January 2008, 03:28
lol @ 4 years and 2 days since last post :)
take a look at mvdegrain. current state of the art i think.
Xodarap
6th January 2008, 07:15
lol @ 4 years and 2 days since last post :)
take a look at mvdegrain. current state of the art i think.
lol -- I didn't even notice :P Thank google ;)
I was just about to try mvdegrain2! :D It looks, in principle, about the same as temporalsoften, but I'm going to test it against ttempsmooth for subjective quality.
foxyshadis
6th January 2008, 20:48
lol -- I didn't even notice :P Thank google ;)
I was just about to try mvdegrain2! :D It looks, in principle, about the same as temporalsoften, but I'm going to test it against ttempsmooth for subjective quality.
Not at all similar. Before averaging it first motion compensates the surrounding frames, so they should all match up to the frame getting smoothed (but of course it doesn't always work out). It's an automated version of surrounding the frame with mvcompensate, like this thread (http://forum.doom9.org/showthread.php?p=866255#post866255).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.