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. |
15th March 2005, 06:12 | #202 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
DarkFoon,
The first thing in my "to do" list is full rewrote to implement fixed overlapped size (for speed increasing). But it will take some time. What is variable sigma? per block or per frame? The are Authothreshold in Vaguedenoiser, for example.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
15th March 2005, 07:00 | #203 | Link |
Awakened to video Dec2003
Join Date: Dec 2003
Location: US West
Posts: 191
|
Though it may slow things down considerably, I was thinking variable sigma per block. Per frame would be too inaccurate and result in worse quality.
Maybe trying out the autothresholder from VagueDenoiser would be good first test of the idea. [Edit] Maybe the autothresholder's values could be normalized(?) or averaged or scaled to be relative to the user set value. For example, if the user-set value is 3, and the autothresholder wants to use a sigma of 10 for a block, it would be averaged (or normalized, or whatever) to a more reasonable value like 5, so it stays relative to the user value (it is still below it, just not so far off). Or lets say the autothresholder wants to use a value of .25, but average that against the user value, and the result is 2.25, a better value. Basically, the values are "gaussian distributed" (I stole that from the BlockBuster README) around a user value. Meaning, sure a 10 could be used, but it would be once in a thousand. much more likely, however, would be a 2 or a 4 (still assuming that the user value is 3). This all assumes that the autothresholder would be turned on with a boolean argument. Like auto=true/false. Of course, you could ignore all this too, because it doesn't make much sense to me, and I bet it doesn't make much sense to you either. (I'm tired ) I hope it made sense, though. In some way.
__________________
Mac killed my inner-child My Quant Matrices: Caerulea For MPEG-2 DVD Destination Anime Simple Lo General Purpose MPEG-2 (tested with anime only) Last edited by DarkFoon; 15th March 2005 at 07:45. |
16th March 2005, 00:23 | #205 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
leonid_makarovsky,
Version 0.8.3, March 16, 2005 - fixed sharpen mode (bt=-1) for YUY2. DarkFoon, Not now. May be later. May be not. There are no good algo to estimate noise.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
19th March 2005, 18:22 | #207 | Link |
Awakened to video Dec2003
Join Date: Dec 2003
Location: US West
Posts: 191
|
yes it does.
measure=true basically gives the FFT the time it needs to find the optimum equation (or operation, something like that) for your bh/bw and CPU. turning it off means that when you load your script, it loads faster, but overall it is less efficient than if you had measure=true. It just slows down (about 1-2 seconds on a PIII 800Mhz) how fast your script initially loads. (when you drag it into VirtualDub, for example, the video wont display for a second or two) This has no effect on the filter's ability to filter, and it has no effect on the quality of video, it just makes it faster legally Hope that helps (kinda a lot there... sorry) |
21st March 2005, 04:37 | #208 | Link |
Registered User
Join Date: Jan 2003
Posts: 109
|
Hi,
Thanks for the answer Well I encoded a 10000 video frames to see what gain I could expect and with this parameter for FFT: 'FFT3DFilter(sigma=3, bt=3, measure=true)' Without FFT: 1st Pass = 13 min 2nd Pass = 37 min FFT Measure True: 1st Pass = 53 min 2nd Pass = 80 min FFT Measure OFF: 1st Pass = 59 min 2nd Pass = 82 min So the impact of 'measure=true' option is light but on a a full DVD encode, the gain should be (for my machine a 2400+ with 1Gb Ram) roughly 1 hour minimum for the first pass (and the 1st pass should take around 11 hours ). In my example I selected the heaviest solution with latest XviD beta: Qpel, GMC, VHQ4, VHQ for bframes, Chroma motion, etc... On the few short tests I did, what surprises me is the compression gain you get with this filter. I need to encode a full movie with and without this filter to confirm it but my first feelings are amazing. Thanks to this filter I could rise the resolution on difficult movies to encode. I currently have a movie (a bit grainy) that I encoded in 640 x 464 and the result is very good, after a compression test using FFT it appears I could encode this movie in 720 x 564 with similar quality. I will see that this week. Of course the drawback is the awful slowness of this filter but I tested the GPU version and this one is amazingly fast. Thanks and cheers for the excellent work on this filter. |
21st March 2005, 08:49 | #209 | Link |
Awakened to video Dec2003
Join Date: Dec 2003
Location: US West
Posts: 191
|
@Fizick
since avisynth filters are open source, isnt is possible that you could take the algorithm from PeachSmoother used to estimate noise? That one is very good. (actually, before FFT3d, that was my temporal filter of choice) Just a thought that occured to me. @LoadIntruder I can't wait for your full results. But thanks for the ones you have posted. They are a welcome justification. |
21st March 2005, 14:21 | #212 | Link |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,718
|
Has anybody been able to contact Lindsey Dubb? I remember that someone was looking for the sources and Richard Berg (who ported the filter to AVS2.5 and does have them) said he would ask Lindsey if they could be released. IIRC Lindsey had earlier said that if he disappeared for a long time, they should be made available.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
27th March 2005, 09:09 | #213 | Link |
Awakened to video Dec2003
Join Date: Dec 2003
Location: US West
Posts: 191
|
@fizick
I noticed a strange problem with FFT3D when filtering anime with seperatefields() before it. The lines in the anime are made really jaggedy and look terrible. Is there anyway to put a special "fields mode" into FFT3d, so that it compensates for field jitter (which is what I suspect is the problem) What I had in mind was that it would shift the even field up one line, so that it matches the odd field on the time axis. an example: normal operation with seperate fields Code:
o e o o e e --fields to frames--> o e [[FFT3D]] o o e e o e o --time axis--> e Operation with seperate fields and compensation Code:
o e o e o e --fields to frames--> o e [[FFT3D]] o e o e o ^ o e e ^ --time axis--> ... hmmm. well that example sucks, but do you know what I am saying? I could take screenshots if that would help. (I'm really bad at describing this kind of thing. It makes sense in my mind) Let me know if I need to clarify.
__________________
Mac killed my inner-child My Quant Matrices: Caerulea For MPEG-2 DVD Destination Anime Simple Lo General Purpose MPEG-2 (tested with anime only) Last edited by DarkFoon; 27th March 2005 at 09:46. |
27th March 2005, 22:10 | #215 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
http://www.avisynth.org/InterlacedSmoothing
But is your anime really interlaced? I never see any anime
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
27th March 2005, 22:36 | #216 | Link |
Awakened to video Dec2003
Join Date: Dec 2003
Location: US West
Posts: 191
|
Thanks for the link Fizick, it was exactly what I had in mind!
But it makes the filter run slower. And it looks like less noise is removed with the function... Here are some examples! With plain Seperatefields() Look closely at the diagonal lines on the suit of armor. (The more diagonal the line, the worse the jaggies are) With Interlaced Function see? No jaggies at all! I don't feel like posting the script right now. I will if somebody asks me to, however. Yes, it is interlaced, because its a TV capture. |
28th March 2005, 01:32 | #217 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
If you record something straight from TV here in PAL land and it was a movie to begin with it's progressive... Even if it were interlaced, the non-moving parts would still look progressive, after all - and I don't think Ed and Al were moving much in that scene... np: Rhythm & Sound with Willi Williams - See Mi Yah (See Mi Yah) |
|
29th March 2005, 04:54 | #218 | Link |
Awakened to video Dec2003
Join Date: Dec 2003
Location: US West
Posts: 191
|
@Leak
Alas, I live in the land of NTSC, yes there weren't moving much in that scene, nonetheless, the video was captured interlaced and when Al bent his arm down about 15 frames after the example, there is interlacing. If I don't use some sorta of field splitting and just FFT3D on the image, it really messes up the image. It blends the lines and such. I don't like running IVTC on my anime, it takes too long to get it perfect (like weeding out frames detcted wrong). If it would work the way I want it to, I would run Telecine(), then FFT3D(), and finally Weave() to keep my interlacing, but that wouldn't always work. I don't think.. maybe I should try it... hmmm. Gotta go, Gonna try that now.. |
4th April 2005, 21:03 | #219 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
So, I at last release version 0.9, April 4, 2005 - variable overlaping size ow, oh for more fast processing
Doubled overlap sizes must be not great than block sizes In the all previous version I used fixed overlap size = (block size)/2 Now default is (block size)/4 as more fast. Try!
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
4th April 2005, 21:07 | #220 | Link |
Registered User
Join Date: Oct 2004
Posts: 129
|
A question. I have a clip of size 704x576. The output clip, however, should be 352x576. I would like to run it through FFT denoiser to donoise and sharpen. What's the best way?
PixdieDust() fft3dfilter(sigma = 2, bt = 3, sharpen = 1.0) LanczosResize(352, 576) Or would it be better: PixdieDust() LanczosResize(352, 576) fft3dfilter(sigma = 2, bt = 3, sharpen = 1.0) Thanks. --Leonid |
Thread Tools | Search this Thread |
Display Modes | |
|
|