digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: Wavelet Noise Reduction? (http://www.digitalfaq.com/archives/avisynth/4317-avisynth-wavelet-noise.html)

ovg64 07-07-2003 12:14 AM

Hey guys, where do you get DustV5 for 2.5 :?: cause the only version a know is for 2.08 :!:

CaLaFaT 07-07-2003 02:13 AM

and where can we let the blockbuster for 2.5? i have blockbuster-2.5.dll and tmpgenc say me that this filter is for avisythn 2.0x 8O 8O

Thanks...

Wilbert 07-07-2003 03:58 AM

Quote:

Hey guys, where do you get DustV5 for 2.5 cause the only version a know is for 2.08
http://www.avisynth.org/index.php?pa...AviSynth#q1.15

Quote:

and where can we let the blockbuster for 2.5? i have blockbuster-2.5.dll and tmpgenc say me that this filter is for avisythn 2.0x
http://www.avisynth.org/users/warpenterprises/

ovg64 07-10-2003 09:16 PM

Yet another version http://forum.doom9.org/showthread.php?s=&threadid=56871 im waiting for the turbo speed update. :mrgreen:

kwag 07-10-2003 09:33 PM

Quote:

Originally Posted by ovg64
Yet another version http://forum.doom9.org/showthread.php?s=&threadid=56871 im waiting for the turbo speed update. :mrgreen:

That's good news. That means there's a lot of interest in this filter :!:
I'll try it later, as soon as I finish one of my test encodes.

-kwag

ak47 07-11-2003 12:03 PM

The wine is starting to taste good. I compared the two filters with the same video from last time. Well dust again wins by both time and size, but by a little. I used VagueDenoiser(threshold=3.5,method=0,filter=6,nste ps=8) for one script(Scr1) and golddust for the other(Scr2). Scr1 was 00:03:47 long and 5.49 MB and Scr2 was 00:03:04 and 4.70 MB. I didn't test the quality I just not good at that. Maybe in a month or 2 Dust may be finally beaten.

FredThompson 07-15-2003 11:51 PM

There is a sample screenshot on my page showing RAW DV, KVCD filtering, KVCD with VagueDenoiser and VagueDenoiser by itself.

That particular grab is a little misleading because it looks like the last 2 are identical. There's a big difference on some other frames.

Yup, it's a stunningly beautiful filter but dog slow. I guess it's a good reason to build another computer with a large HD and have it filter 24/7/365, huh?

Lefungus 07-16-2003 06:36 AM

Thanks everyone for their tests ! That's what i really need now :)

About the filter:

-The "chizel" effect has been removed in all versions above 0.2. That was the artifacts i was talking about on Doom9.

-The speed is loooow. i'm working on it, but it may take a lot of time.

Keep hope ;)

ak47 07-16-2003 11:40 AM

Welcome Lefungus I am glad you’re making this filter and glad to be on this forum, I was waiting too long for a true AVIsynth 2.5x filter for video captures. Also you’re doing great on the progress.

kwag 07-16-2003 02:57 PM

Quote:

Originally Posted by Lefungus

Keep hope ;)

We will :mrgreen:
Thanks and welcome ;)

-kwag

Lefungus 07-16-2003 03:50 PM

Too late for your script challenge (and i don't know how to use TMPGEnc)

But on my preliminary tests i would have used this

Code:

mpeg2source("c:\vobs\test.d2v")
undot()
crop(8,16,336,208)
VagueDenoiser(filter=7,method=1,threshold=2.5,nsteps=6,chroma=true)
fluxsmooth(4,-1)
limiter()

It seems to gives fairly good results. I can't really compare with other people as i have done no mpeg encoding on it, but heh, it looks good :)

To really kill noise, temporal smoother is required so i've used fluxsmooth, there may be better alternatives though.

[edited]: minor corrections

kwag 07-16-2003 04:20 PM

Hi Lefungus,

I'm pretty sure your filter will soon be an option on the current script ( http://www.kvcd.net/forum/viewtopic.php?t=3483 ) :)
I know it's very slow right now, but if time doesn't matter, then it can be applied.
Then the script would look like this:

Code:

## DLL Section ##
#
LoadPlugin("C:\Filters25\MPEG2Dec3.dll")
LoadPlugin("C:\Filters25\GripFit_YV12.dll")
LoadPlugin("C:\Filters25\STMedianFilter.dll")
LoadPlugin("C:\Filters25\asharp.dll")
LoadPlugin("C:\Filters25\unfilter.dll")
LoadPlugin("C:\Filters25\undot.dll")
LoadPlugin("C:\Filters25\VagueDenoiser.dll")
#
####

## Defined Variables and Constants ##
#
MaxTreshold = 1.50
nf =  0 # Current frame.
#
####

## Main section and static filters ###
#
Mpeg2Source("Your_D2V_Source_Here")
#
undot()
Limiter()
asharp(1, 4)
GripCrop(Your_GripCrop_Parameters_Here)
GripSize(resizer="BicubicResize")
VagueDenoiser(filter=7,method=1,threshold=2.5,nsteps=6,chroma=true)
STMedianFilter(8, 32, 0, 0 )
MergeChroma(blur(MaxTreshold))
MergeLuma(blur(0.1))
#
#

## Linear Motion Adaptive Filtering ##
#
# ( Portions from AviSynth's manual ) - This will apply temporalsoften to
# very static scenes, and apply variable blur on moving scenes.
# We also assign a variable - and this is why a line break is inserted:

SwitchThreshold = (Width<=352) ? 4 : (Width<=480) ? 3 : 2
ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf >= SwitchThreshold ? \
unfilter( -(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100)) ) : \
TemporalSoften( fmin( round(2/nf), 6), round(1/nf) , round(3/nf) , 1, 1) ")

#
#
#

GripBorders()
#LetterBox( Your_Values_Here ) # Depends on situation. Use MovieStacker!
Limiter()

#
#
## Functions ###

function fmin( int f1, int f2) {
  return ( f1<f2 ) ? f1 : f2
}

#
####

-kwag

Lefungus 07-16-2003 04:29 PM

That's what i call a complex script ! :)

On which sources it will be applied ? imo threshold=2.5 is a bit high on clean dvd sources. i would use 1-1.5.
2.5 was ok on the sample of the script challenge. But only because the clip was really noisy so some details were bound to be lost.

kwag 07-16-2003 04:45 PM

That's for clean DVD material. The script is always updated and posted here: http://www.kvcd.net/forum/viewtopic.php?t=3483 together with the change log :)
It's really designed for clean DVD sources, but can be used as a basic framework to "plug" other filters inside the MA section, or outside the MA (static) section.

-kwag

Lefungus 07-16-2003 04:56 PM

Maybe vaguedenoiser could be adapted to motion ?
threshold=2.5 for high motion
threshold=1 for slow motion

And don't forget the warning :) -> "This is an ultra slow script"

kwag 07-16-2003 05:14 PM

Quote:

Originally Posted by Lefungus
Maybe vaguedenoiser could be adapted to motion ?

Yes, I already tried it several days ago, but it was even slower :)
Quote:


And don't forget the warning :) -> "This is an ultra slow script"
I'm aware of that ;)
But I think Vague would work better with static values on the same filter boundary that the temporal filter is working. That is, below the SwitchThreshold point. So after the cut-off point, temporal and Vague switch off, and blurr kicks in, and vice versa :D
When I tried it several days ago, Vague was way slower than what it is now, so maybe I'll test it again. I believe it would be applied on the filter line, something like this:

Code:

SwitchThreshold = (Width<=352) ? 4 : (Width<=480) ? 3 : 2
ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf >= SwitchThreshold ? \
unfilter( -(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100)) ) : \
TemporalSoften( fmin( round(2/nf), 6), round(1/nf) , round(3/nf) , 1, 1).VagueDenoiser(filter=7,method=1,threshold=2.5,nsteps=6,chroma=true)  ")

-kwag

ovg64 07-16-2003 10:05 PM

I was just try that script with VagueD and it look pretty stable u know
no memory leaks, but its weird how the encode with the filter it slows down at times then it takes of and when it slow down is mostly in dark scenes. anyway what the filter needs now is a little turbo boost. :wink:

kwag 07-16-2003 10:10 PM

Quote:

Originally Posted by ovg64
but its weird how the encode with the filter it slows down at times then it takes of and when it slow down is mostly in dark scenes.

That's exactly how it's going to work with the script above, because Vague is only working on low motion scenes. Below the treshold point :)
To the encoder, it will feel like an old granma driving a Model T Ford:
Accelerate, break :!:, accelerate, break :!:, accelerate, break :!: :mrgreen:

-kwag

audioslave 07-17-2003 02:30 AM

@kwag,

Is it possible to "break" the line with VagueDenoiser - like you've done with the other lines on the adaptive part of the script?
Something like this:
Quote:

SwitchThreshold = (Width<=352) ? 4 : (Width<=480) ? 3 : 2
ScriptClip("nf = YDifferenceToNext()"+chr(13)+ "nf >= SwitchThreshold ? \
unfilter( -(fmin(round(nf)*2, 100)), -(fmin(round(nf)*2, 100)) ) : \
TemporalSoften( fmin( round(2/nf), 6), round(1/nf) , round(3/nf) , 1, 1). \
VagueDenoiser(filter=7,method=1,threshold=2.5,nste ps=6,chroma=true) ")
I'm at work right now so I'm unable to try it myself right now...

EDIT: The reason I ask is that it would be easier to read the script this way. For myself, of course. I don't mean for AviSynth. :wink:

kwag 07-17-2003 03:37 AM

Hi audioslave,

I don't think so, because the line is joined by the ".", and it behaves as a single line. So I think it can't be broken :)

-kwag


All times are GMT -5. The time now is 09:36 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.