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

Lefungus 07-18-2003 01:58 PM

[links removed]

kwag 07-18-2003 02:32 PM

Thanks Lefungus :)
It's testing time again ;)

-kwag

Lefungus 07-18-2003 02:42 PM

I forgot, but there's no filter parameter anymore. It always use Brislawn 10/10.

If some want to test others wavelet filters, you need to use older versions as i can't optimize for every wavelets. Anyway i think Brislawn was the best on my own tests

kwag 07-18-2003 02:46 PM

Quote:

Originally Posted by Lefungus
If some want to test others wavelet filters, you need to use older versions as i can't optimize for every wavelets. Anyway i think Brislawn was the best on my own tests

Yes, I recall reading your comments on that.
What are your suggested values for a DVD source, with your current version :?:

-kwag

Lefungus 07-18-2003 02:51 PM

method=1
nsteps=6 or 3
chroma=true

then put threshold at 1.5

For a really clean source, decrease it, for a really noisy source increase it.

on GITS, i've used threshold=2
on Evil Dead, i think i'll use 2 also, lots of noise
on Brotherhood of the wolves, fairly clean, i use 1.3, sometimes, it's a little too much, so i think i'll play with the motion adaptative filtering, between 0.8 for still scenes to 2 or even 4 for high motion parts

Lefungus 07-19-2003 05:55 AM

Sorry guys, there was a little bug on v0.24, 0.242 should be correct.

ovg64 07-19-2003 10:45 AM

Quote:

Originally Posted by Lefungus
Sorry guys, there was a little bug on v0.24, 0.242 should be correct.

Thax Lefungus :wink:

audioslave 07-22-2003 06:35 AM

Could anyone please post an example on how to use VagueDenoiser with motion adaption? Thanks! :wink:

kwag 07-22-2003 09:16 AM

Quote:

Originally Posted by audioslave
Could anyone please post an example on how to use VagueDenoiser with motion adaption? Thanks! :wink:

Try 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

audioslave 07-22-2003 09:23 AM

Thanks kwag, but as far as I understand the filter parameter no longer exists in the latest version of VagueDenoiser? Can I simply remover that parameter and keep the other :?:

kwag 07-22-2003 09:44 AM

Quote:

Originally Posted by audioslave
Thanks kwag, but as far as I understand the filter parameter no longer exists in the latest version of VagueDenoiser? Can I simply remover that parameter and keep the other :?:

:oops: Yes, I guess I pasted an old sample :!:
Just remove the parametes, and try it out.

-kwag

audioslave 07-22-2003 09:53 AM

:mrgreen:
It's alright kwag! Even the best sometimes make mistakes. :wink:

Lefungus 07-28-2003 12:03 PM

version 0.25:
- even more speed (something like 1-2 fps)
- default parameters (threshold=2, nsteps=3, chroma=true, method=1)

VagueDenoiser 0.25 dll

VagueDenoiser 0.25 sources

Anyone has played with parameters ? I'm curious to hear what were your results. It's slow but useable now ( i think)

kwag 07-28-2003 03:54 PM

Quote:

Originally Posted by Lefungus
version 0.25:
- even more speed (something like 1-2 fps)

That's ~8 % increase right there, and that is good news ;)
Quote:

Anyone has played with parameters ? I'm curious to hear what were your results. It's slow but useable now ( i think)
I will, as soon as CQMatic gives me a break :lol:
I'll give it a try later today, when I finish a couple of batch encodes in queue.

Thanks Lefungus :cool:
-kwag

ak47 07-28-2003 04:22 PM

Wow very nice Lefungus. I got a question though when are you going to add 3Dnow optimization since I am an AMD fan (like are you planning it on the next release).


Keep the good work up.

Lefungus 07-29-2003 10:21 AM

If any 3dnow optimization is going to be added, it's from Kurosu (at doom9). As i have a pentium4 and i use intel compiler, there's no way i can test these improvements :/

ak47 07-29-2003 01:55 PM

Ok, I just thought you were going to add it when you said this
Quote:

3Dnow optimisations from Kurosu aren't included yet, I’ll try to include it later.
I didn't know you didn't have an athlon processor.

Well good luck on future releases.

kwag 07-30-2003 04:36 PM

Ok, I just tested VagueDenoiser version 0.25.
Here are the results on a selected range clip (same for all tests):

Code:

VagueDenoiser filter        No Filter at all          Motion Adaptive Script
Size 11,999KB                  12,285KB                11,596KB
Encoding Time 7:42            2:52                    4:31

Here are the stacked screenshots:

http://www.digitalfaq.com/archives/i.../2003/07/3.jpg

Not much difference, but as you can see, there is a good space savings with VagueDenoiser, and details are well preserved.
Me just need more speed :cool:

Here's the script used, and then I commented the VagueDenoiser line for the "No Filters" sample:
Code:

## DLL Section ##
#
LoadPlugin("C:\Filters25\MPEG2Dec3.dll")
LoadPlugin("C:\Filters25\vaguedenoiser.dll") 


Mpeg2Source("K:\DVDVolume\VIDEO_TS\boon.d2v")
VagueDenoiser(threshold=0.8,method=1,nsteps=6,chroma= true)
BicubicResize(528, 272, 0, 0.6, 5, 108, 710, 274)
AddBorders(0, 104, 0, 104)
LetterBox(16, 16, 16, 16)
Limiter()

Nice work Lefungus :)
-kwag

audioslave 07-30-2003 04:48 PM

Interesting... How do I implement VagueDenoiser in the MA script? That should give us even more compression, right? Kwag, I assume that your test (and picture) with VagueDenoiser wasn't with the MA script, or have I got it all wrong?

jorel 07-30-2003 04:51 PM

yes Kwag,really cool result!
:)


@ audioslave
nice question!
:wink:


@ Lefungus
congrats!
great work.
8)


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

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