Log in

View Full Version : New very slow FFT denoiser


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17

Fizick
20th November 2008, 17:21
fftw library mirror is also at ... Warpenterprises ;)

LigH
21st November 2008, 08:25
Oh, great... Should have expected that somehow... :o

telmoMRC
9th January 2009, 13:27
i try to instal the fft3dfilter filter and doesnīt work i do like this

i send fftw3.dll to \WINDOWS\system32\ folder

LoadPlugin("C:\Program Files (x86)\GordianKnot\AviSynthPlugins\fft3dfilter211\FFT3DFilter.dll")

FFT3DFilter(sigma=2.5,bt=4,plane=3)

http://e.imagehost.org/0722/33333333.jpg

it give this error also i am using the windows xp x 64 i donīt know if have something to do whit this

kemuri-_9
9th January 2009, 16:56
for x64 systems you put fftw3.dll in the SysWOW64 folder instead of system32

telmoMRC
9th January 2009, 17:12
many thx it works

fjhdavid
21st February 2009, 11:26
I use FFT3Dfilter for a long time and it is a wonderful filter.

I know that, as said in the documentation: "The good value of overlapping size is about quarter to half of block size. The half (ow=bw/2, oh=bh/2) is the best, but slower.
Good values of block size are about 32 to 64"

I understand completely the "best overlaping ratio of ow=bw/2, oh=bh/2",

- but what is the impact of the block size?

- Is there, according to the theory, a "best block size"? (even if computing time would be very long), (for example the whole frame? or the bigger block size you can afford....)

thanks
Francois

Boulder
21st February 2009, 13:01
I think that a smaller block makes edge detection more accurate. At least I recall that there was this idea in which the areas with edges would be detected and a smaller blocksize would be used for that area in the frame.

archaeo
21st February 2009, 16:52
I was curious about this, so I ran a comparison:

MT("fft3dfilter(sigma=2.0,sharpen=.9,bw=8,bh=8,bt=5,ow=4,oh=4,ncpu=2)")

MT("fft3dfilter(sigma=2.0,sharpen=.9,bw=64,bh=64,bt=5,ow=32,oh=32,ncpu=2)")

From what I observed, the computing time between a smaller block size (bw=8, bh=8; ow=4,oh=4) didn't differ much from that of the larger size (bw=64, bh=64; ow=32,oh=32). It was just a few fps faster.

But visually, when I ran the two using Jeremy Duncan's ntsc test disc, I could see that the edges looked better, cleaner on the 8x8 block size. There was some ghosting/haloing on the 64x64 size. I think going with a smaller block does help in that regard.

LordIntruder
22nd February 2009, 02:58
Very interesting archaeo, will make some encodes to see.

By the way, I was wondering about "plane" function.

**
plane - processed color plane: 0 - luma(Y), 1 - chroma U, 2 - chroma V, 3 - chroma planes U and V, 4 - both luma and chroma (default = 0)
**

What is best from your experiences? Plane=4 allow a better compressibility (around 5% no more or less) so I should be tempted to always put this plane function on "4" instead that the default "0" but maybe there are some inconvenients I'm not aware of.

Fizick
22nd February 2009, 09:36
Theoretically, for very small block sizes, this filter is reduced from frequency to ordinary simple point local filter.
Some small features (lines) will not consdered as a lines, but as set of independent pixels.
Practically, you always can make your own tests.

fjhdavid
22nd February 2009, 21:52
Thanks for the answers!

First of all, I didn't use sharpen for my test an I took a sigma of 3 for U and V plane and 1.5 for Y

In fact I did some re-encoding with dvd-RB, and edit frames with photoshop. I can see differences between block size going from 16x16 to 64x64. You have to take uniform grey 60% pattern from DVE for example and you will notice, when magnify under photoshop, that blocksize 64x64 leaves artefact block, as blocksize 16x16 clean completely the frame, (blocksize 32x32 is halfway and going under blocksize 16x16 seems not necessary). You can check same results with 20%, 40%, 80% gray patterns and color patterns.


But I made another discovery (that maybe you know already), if you do a bicubic vertical resizing (4/3 ratio to 16/9 for example), it is FAR better to denoise AFTER the resizing than BEFORE (this is not the case with other denoiser than fft3dfilter where it is commonly said that you better denoise before resizing?)

The result after denoising with fft3dfilter is more crisp (sharp) and the deblocking is also better.

Do you have any idea about the reasons?

Thanks
Francois

fjhdavid
1st March 2009, 23:50
Dear All,

With some film (recorded with my dvd recorder) during fast horizontal motion (horizontal panoramic), I can see a green halo at the back of the object which is moving, especially when the object is black and move in front of a white background.

Why the halo is green and not black? and which parameters of fft3dfilter does I have to tweak?

increase sigma? play with bt?

(I use sigma=3 for U,V and sigma=1.5 for Y and bt=3)

thanks

Fizick
2nd March 2009, 07:17
fjhdavid,
What colorspace? YV12?
Provide short sample video (may be artifical computer graphics) and resulted bad frame.
(and script, versions, config)

komisar
2nd March 2009, 09:27
Fizick, how about port you filter for x64-avisynth?

Fizick
2nd March 2009, 20:52
komisar,
Porting fft3dfilter is possible (but not by me): there is 64bit fftw library at http://fftw.org/install/windows.html
There is no official 64bit Avisynth.

fjhdavid
2nd March 2009, 21:26
Fizick,

I use YV12 colorspace.

I was searching on internet and I found my problem:

http://www.geocities.com/mrtibsvideo/fixvhsoversharp.html


But this filter is quite old and working only with YUV (I tested this plugin but it adds many noise , like dancing pixels)
My question is: does fft3dfilter can "fight against" this problem and how?

do you know another way to solve the problem?

Thanks

Fizick
2nd March 2009, 22:12
fjhdavid,
1. So, there is no any problem with fft3dfilter itself?
2. dehalo?

fjhdavid
2nd March 2009, 23:12
no problem with fft3dfilter by itself (as usual)

Fizick, with the "ghost example I show you",

1- which value of dehalo would you recommand to start with?
2-does dehalo must be use with luma, chroma or both?

thanks

komisar
3rd March 2009, 09:41
komisar,
Porting fft3dfilter is possible (but not by me): there is 64bit fftw library at http://fftw.org/install/windows.html
There is no official 64bit Avisynth.
Yes, no official x64 AVISynth but squid (http://members.optusnet.com.au/squid_80/) port some staff... If you could give him the source of the plugin....

Fizick
3rd March 2009, 19:44
fjhdavid,
sorry, i do not remember any "ghost example I show you" (?), and I have no recommendations about parameters.
There was some dehalo scripts in this forum.

komisar,
I know about squid and his port of some of my (and not my) filters.
But seems, you do not know, that fft3dfilter is under GNU GPL, and what is "GNU GPL" :)
(and BTW, probably you forgot to upload source code of your x264vfw binary releases to sourceforge SVN tree... ;)

komisar
3rd March 2009, 21:42
Fizick, ;)
(and BTW, probably you forgot to upload source code of your x264vfw binary releases to sourceforge SVN tree...
my builds always available via my used patches... (found on my site... and I use some sources from svn tree plus public patches) ;-)

P.S. What do you need to port fft3dfilter for x64 avisynth?

Fizick
3rd March 2009, 23:05
komisar,
1. I do not see GNU GPL license copy distributed with your x264vfw package, and no any notice about GPL and copyright in installer or some "about" dialog (or readme file).
Please, how I can get FULL source code of the package? In particular, for latest Release: 16_1115bm_17572.exe.
What exactly modules and patches are used? Is version at: http://x264vfw.svn.sourceforge.net/viewvc/x264vfw/trunk/ latest (used in recent release)?
Sorry for off-topic.

2. As I write above, currenly i have no plan to port any filters to x64.
I will need in 64bit hardware, software, desire, skill and time :(
So, this job vacancy is open :)

komisar
4th March 2009, 00:05
Fizick, sorry for off-topic, but can you install my builds of vfw x264? can you see about-box?Please, how I can get FULL source code of the package? In particular, for latest Release: 16_1115bm_17572.exe.
What exactly modules and patches are used? Is version at: http://x264vfw.svn.sourceforge.net/v...x264vfw/trunk/ latest (used in recent release)?full source codesvn co http://x264vfw.svn.sourceforge.net/viewvc/x264vfw/trunk/and patches in my site (http://komisar.gin.by/x.patch/)...
main build in sourceforge built by BugMaster (he also make builds with addition patches). 16_1115bm_17572.exe -- build not by my hand... for lattest reorganisation of my build environment I temporary not link for patches on main page (but x.patch available always)...
Very sorry for big off-topic (for question -- PM)

where sources of fft3dfilter? (here (http://avisynth.org.ru/fft3dfilter/fft3dfilter.html) or here (http://avisynth.org.ru/fft3dfilter/fft3dfilter-rus.html)?) i see License, and....?

Fizick
4th March 2009, 05:49
komisar,
1. Thanks, I found the about box (prevously I look to config) :) Sorry!
Next question will be in PM. :)

2. The source of fft3dfilter should be in the same archive with binary dll: fft3dfilter211.zip,
the link is at the bottom of doc html page you post.
It is the FULL source code to produce DLL.
:)

fjhdavid
8th March 2009, 19:24
Dear Fizick and all,

I recorded DVDs from my satellite tuner and the pictures is really good. I did a re-encoding with fft3Dfilter and fft3Dgpu, with sigma=1.5 for Y and sigma=3 for U,V; bt=3,oh=ow=16,bw=bh=32.

I have a problem:

During fast motion (and not so fast in fact), for example someone going from the left to the right of the screen, I have a green halo in front of the object which is moving, and the halo "follow" the shape of the object and the motion.

It is difficult to have a picture with the green halo because it is only during motion and the halo doesn't appear during "image by image" speed reading.

The halo is about 5 to 10 pixel width maybe

Did you have already this problem?

thanks
Francois

edit: I tested the recorded DVD on different standalone player and plasma screen, and the halo is here everytime (so the problem comes from the recorded DVD, as commercial DVD doesen't exhibit this halo).

edit2:could it be a problem with de-interlacing? (The movie recorded are PAL 2:2 film, progressive but interlaced encoded by the DVD recorder)

Boulder
8th March 2009, 19:56
How about a short sample?

fjhdavid
9th March 2009, 00:36
ok I understand!

here is the link for my file:

http://www.megafileupload.com/en/fil...-01-1-VOB.html

the problem is, if you read it with powerdvd or DGindex, you won't see the green halo (at least I don't see it)

You have to write it on a DVD-R or RW and read it on a standalone DVD player.

Thanks

Boulder
9th March 2009, 04:27
The link doesn't seem to work..

Fizick
9th March 2009, 07:36
fjhdavid,
1. link is realy broken.

2. are you sure that it is related to fft3dfilter topic?
I see your special thread here: http://forum.doom9.org/showthread.php?t=145513
Remember forum rule 8):
http://forum.doom9.org/forum-rules.htm

fjhdavid
9th March 2009, 17:10
Yep, the link is broken, it was working yesterday.

Apolozise for the rule 8.
In fact I use fft3dfilter and was wondering if the halo green could be fft3d related, but it is not the case.

I will reload my clip and close my question on this forum.

jarthel
28th April 2009, 12:54
any suggestion for anime sources? maybe a starting point that I can play around with?

thank you :)

jarthel
29th April 2009, 01:35
I'm trying to open a test .avs file using fft3dfilter.dll as one of the filters in VDub. FFT3Dfilter plugin cannot find the fft3w.dll.

I am running a "limited user account" (for security purposes) for daily use. I have installed avisynth 2.5.6 as admin. I coped fft3w.dll to c:\windows\system32 as admin. So I thought everything should be working fine.

Any thoughts? Is there a version of fft3dfilter.dll that as fft3w.dll statically linked into it?

Thank you for the help :)

Fizick
29th April 2009, 12:18
jarthel
what is user rights access to fft3w.dll?
there is no statically linked version.

jarthel
29th April 2009, 12:59
jarthel
what is user rights access to fft3w.dll?
there is no statically linked version.

according to file properties (security tab), users have read&execute and read.

Do I need more?

thank you! :)

Fizick
1st May 2009, 10:52
jarthel,
I checked with limited user account at WinXP Home edtion 32 bit.
FFT3DFilter works fine with read&execute and read right to fftw3.dll and avisynth.dll.
Check your system (path, etc)

fjhdavid
8th May 2009, 14:40
Dear Fizick,

I made many test with different sharpen value and films. My film are DVD 4:3 to 16:9 converted, so I have to do a crop and resize before.

And Finally the best compromise seems to be sharpen=0.4; then I read carefully your fft3dfilter guide and "some of your best settings" example use sharpen=0.4

My question is: Does the 0.4 value handle specific things in the math you use? (like exact rounding or do the frequencies change before or after sharpen=0.4 in a specific important amount, or anything else?)

In fact, above 0.4 (even at sharpen=0.6) halos start to appear and the images look a little bit "plastic and 3D".

Thanks for your answer

Francois

Sagekilla
8th May 2009, 15:44
It's probably just how FFT3DFilter was tuned. If he set up the scaling differently, he could have 1.0 as the ideal sharpening. Mathematically speaking, it could be something like 5000 for no haloing and realistic images still.

fjhdavid
8th May 2009, 17:37
yes, I understand that the 0.4 value is not, by itself, important, but I just wanted to know if Fizick has done a sharpen filter with a "peak efficency" around 0.4 which could be understood as "a very very good" compromise?

Fizick
10th May 2009, 20:36
I do not know :)

adrianmak
12th June 2009, 00:44
is x64 version available ?

aerDNA
26th June 2009, 11:54
Hi, I use FFT3Dfilter and find it to be the best denoiser there is. Not very suitable for someone running a mini xvid factory, but I only encode occasionaly, so quality comes first and speed is not essential. Hats off to Fizick!
My question: since the last release was quite a while ago, is it fully compatible with the latest FFTW (3.2.1)? I tried the combination and it seems fine, as far as I can tell, I even get a slightly higher fps (on P4; the difference will probably be even bigger on multicore). [Edit: compared to FFTW version available at the time FFT3D 2.1.1 was released]

Adub
26th June 2009, 17:35
Well if it works fine then obviously it is compatible. Don't question good things!

aerDNA
26th June 2009, 23:22
To be precise, I asked if it was fully compatible. I did no extensive testing, only tried it on a single clip. All I know is that the filter doesn't crash and that the output seems ok, but you know how it is, with certain sources in combination with certain filter settings there could possibly be trouble. Fizick knows his code and he probably keeps track of fftw code as well so he'll know if undesired effects are to be expected. I was asking simply because from what I saw in the changelog, fftw libraries were upgraded quite a bit since the last FFT3D version.

kemuri-_9
27th June 2009, 00:30
it should be ok as long as there has been no API changes in the fftw library from the provided version with fft3d, to the current.

which according to the site for fftw holds true as the major version denotes the API compatibility...
so as long as it's a 3.x version, it'll be compatible

mavinashbabu
24th September 2009, 17:42
I am just using default values for FFT3DFilter, but i am getting the error as in the below screenshot.. any help please

http://www.grinshare.com/img/0GJ43F_tn.jpg (http://www.grinshare.com/view-0GJ43F.jpg)



DGDecode_mpeg2source("J:\New2000-1\Mughal-E-Azam Color DVD9 to DVD5\VTS_02_1.d2v", cpu=2, info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
tfm(order=1).tdecimate()
crop( 0, 22, 0, -30)

Lanczos4Resize(656,432) # Lanczos4 (Sharp)
FluxSmoothST(7,7) # Medium Noise
FFT3DFilter(sigma=2.0, beta=1.0, plane=0, bw=48, bh=48, bt=3, ow=bw/3, oh=bh/3, kratio=2.0, sharpen=0.0, scutoff=0.3, svr=1.0, smin=4.0, smax=20.0, measure=true, interlaced=false, wintype=0, pframe=0, px=0, py=0, pshow=false, pcutoff=0.1, pfactor=0, sigma2=sigma, sigma3=sigma, sigma4=sigma, degrid=1.00, dehalo=0, hr=2.00, ht=50.00, ncpu=1)

nurbs
24th September 2009, 17:54
No idea why it happens, but the default value is 48 anyway so you can just omit it.

mavinashbabu
24th September 2009, 18:27
^^ but the same happens for "bh", "sigma" as well, but it works just fine when i use FFT3DFILTER()

talen9
24th September 2009, 18:30
FFT3DFilter(sigma=2.0, beta=1.0, plane=0, bw=48, bh=48, bt=3, ow=bw/3, oh=bh/3, kratio=2.0, sharpen=0.0, scutoff=0.3, svr=1.0, smin=4.0, smax=20.0, measure=true, interlaced=false, wintype=0, pframe=0, px=0, py=0, pshow=false, pcutoff=0.1, pfactor=0, sigma2=sigma, sigma3=sigma, sigma4=sigma, degrid=1.00, dehalo=0, hr=2.00, ht=50.00, ncpu=1)

You obviously have to define "bw" and "bh" ;)

You'll see it'll give you errors in the definitions of sigma[2,3,4] for exactly the same reason :)

mavinashbabu
24th September 2009, 19:17
^^.. it's a bouncer to me for understand as i can see values for "bw" and "bh" are 48 and "sigma" value is at 2.0... can you give me an example if you time please

Edit: Now this seems to work though

FFT3DFilter(sigma=2.0,bw=32,bh=32)


It should also work when i say FFT3DFilter() with all the parameters "defined" within the function :confused:

Gavino
24th September 2009, 19:54
When you write FFT3DFilter(bw=48, ow=bw/3), the second 'bw' has nothing to do with the first one, and can only be interpreted as a variable which must be already defined in the script. If you want to link them together in this way, you would have to do something like:
bw = 48 # assign to a variable
FFT3DFilter(..., bw=bw, ow=bw/3, ...)