View Full Version : Dust, why the blocks?
unimatrixzer0
29th November 2003, 06:15
Is there a reason why Dust gives me blocks when theres a transition/fade from black back to the video?
Here's what I mean
http://www.geocities.com/unimatrixzer0/
Edit: hmm, well I guess its because I have it set at GoldDust(7). When I take it down to 2 its gone almost.
DarkNite
30th November 2003, 23:01
Look closely and you'll find that Dust always produces blocking in high motion and transition areas when using the temporal portion of the filter (meaning only SpaceDust is immune to blocking artifacts.)
This is why I don't use it personally, but to each their own.
Didée
1st December 2003, 13:33
[No offense to unimatrixzer0 & DarkNite, this is a general rant]
p33ps, I can't stand those lame complaints about Dust much longer!
- yes, it's slow.
- yes, it tends to produce blocks.
The problem is, people seem to have not the slightest clue what they're talking about.
Dust is the *only* AviSynth filter that does true, full motion compensation!
Now, could there be a reason that Dust is the *only* filter doing that? Think about that!
In that aspect, Dust is by far the most advanced and scientific filter that is available to us in AviSynth.
Or, the other way round:
- take a natural movie with medium noise level
- make a 2-pass encoding in the 50% compr. range with Dust(<=5).
- make another 2-pass, with *any* filter chain of your choice, to the same size of the Dust' encoding
- then compare yourself.
TIP:
[...]
# Convert, apply dust, convert back:
ConvertToYUY2()
PixieDust(1~3)
ConvertToYV12()
# IF Dust produces some blocks, simply PP them away:
BlindPP(cpu=4, quant=8~12, moderate_h=50, moderate_v=60)
[...]
Regards
- Didée
Shall I change my member title to "Legendary Dust Nerd" ? ;)
Wilbert
1st December 2003, 13:42
The problem is, people seem to have not the slightest clue what they're talking about.
Dust is the *only* AviSynth filter that does true, full motion compensation!
Now, could there be a reason that Dust is the *only* filter doing that? Think about that!
In that aspect, Dust is by far the most advanced and scientific filter that is available to us in AviSynth.
Take it easy! Dust might be the greatest filter, it is still closed source. The probability that it will be optimized some day is zero.
Yuri
1st December 2003, 21:51
I agree with Didée
Dust is the most advanced filter! I have tried every possible one of the similar function and come to conclusion that dust is the best, though ver-r-r-y slow but ver-r-r-y neat. I personally never use high values with Dust and often use PeachSmoother after it to compensate the least of Dust's artifacts (if any).
kempfand
1st December 2003, 22:20
Take it easy! Dust might be the greatest filter, it is still closed source. The probability that it will be optimized some day is zero. Unless the author (Steady) passed away (touch wood he didn't), there must me a way to contact him and politely ask for the source. I'd do itm but I have zero programming skills ... so I would not sound credible.
In summary: I like dust very much too ... it does wonders on some of my DV-captures (esp. the high-motion ones).
Andreas
Richard Berg
1st December 2003, 22:35
there must me a way to contact him and politely ask for the source.
I've tried many times, even digging out old email addresses from the days of the Yahoo avisynth-dev list.
Of course, looking over the later discussions on that list reveals a thread where he and Avery discuss how to properly license a 4:4:4 YUV framework he was making...one that grew into Dust. I'm quite sure he planned for it to be CSS from the beginning.
mf
1st December 2003, 22:46
Dust blurs the picture too much for me :D.
kempfand
8th December 2003, 00:56
@ Didée
Dust is the *only* AviSynth filter that does true, full motion compensation!
Now, could there be a reason that Dust is the *only* filter doing that? Think about that!
In that aspect, Dust is by far the most advanced and scientific filter that is available to us in AviSynth.
I'd like to netter understand what full motion compensation means. Can you elaborate a bit please ?
Do you mean that Dust filters based on frequency (via DCT-analysis of the image), and not (as most filtersa do) based on analysis of pixels ? Or is it that Dust looks at movinging areas within the image an filters only on these ?
Kind regards / freundliche Grüsse,
Andreas
joe355
8th December 2003, 07:49
I'd like to netter understand what full motion compensation means
So would I. Being a newbie, the only motion compensation I've heard of is to do with deinterlacing. How does motion compensated noise removal work ?
Didée
8th December 2003, 11:15
Mates,
you are asking questions!
Since the sources of Dust were never released, no-one except Steady himself knows what's really going on behind the curtains.
All I know is what was stated within this forum. Do some *thorough* reading in the main dust thread (http://forum.doom9.org/showthread.php?s=&threadid=42749&highlight=dust). Some more details can be found in this thread (http://forum.doom9.org/showthread.php?s=&threadid=45771&highlight=dust).
Perhaps I've leaned a little far out of the window with the term "full motion compensation", I can't tell. At least, that's how I'm interpreting all the cluttered puzzle pieces of information.
Why is Dust so slow?originally posted by Steady
82% of the time is spent on motion search.
[...] Dust is fundamentally different. It actually tracks movement across the screen (much the same as an encoder does). All the other temporal averagers that I know of use a fixed position. This works well in still scenes, but where there is motion they cannot average properly. I wrote a fixed-position temporal smoother in 2001 and finally realized it would never work properly without motion tracking.
Why does Dust slight overall blurring?
(And what might be in store, at some time)originally posted by Steady
I am currently debugging a 1/8 pel bicubic subpixel interpolation routine.
[...] Hopefully [this] will mean FaeryDust (and PixieDust) will produce sharper images, like the difference between BilinearResize and BicubicResize, only more so because it is averaging several frames together.
With a lot of guessing, I assume the following:
Keep in mind, traditional denoisers, both spatial and temporal, are only looking for pixels that are within a given (low) threshold of the reference pixel. If the test pixel is within the threshold, it will be filtered, otherwise not.
Plus, any temporal filter will only be effective on static parts, that means, if the current's pixel value is close enough to the temporal neighbors to be considered as "not moving". And this may even give false matches, if the location *has* moved, but the new location on the old place accidentially has a similar value ...
Moreover, all traditionally thresholded filters are *generally* in danger to produce artefacts: just at the threshold's "boundary", where one could cite "To filter, or not to filter, that's a question!", the change between filtered and unfiltered areas might become visible. (An exception might be VagueDenoiser with soft thresholding, though.)
Now, Dust in form of either Faery, Pixie or Gold, seems to be able to use temporal filtering on moving parts also, because the motion-tracking engine can match moving parts between two frames.
And, one very important point: the thresholding of Dust is working different: the thresholds define the maximum amount a pixel may be changed, and NOT the max. amount a pixel may differ from neighbors to be filtered at all. These are two different pairs of shoes!
In other words: if you set up another filter with a threshold of, say 4, then all noise that differs more than 4 is simply not touched at all.
Dust, on the other hand, can be set up with a threshold of 1 (!) and still be very effective: the recognition of noise is totally independand, and everything recognized as noise is *then* adjusted by [threshold].
Furthermore, I am under the impression that, after using Dust, the original frame is *completely gone*, and effectively replaced with a completely re-constructed frame. This would also explain the slight overall softening, that Steady tries/tried to resolve with a more accurate sub-pixel accuracy.
BTW, @ mf: your SharpTools, or something alike, currently are the perfect companions of Dust ;)
Enough babbling for the fact I know nothing for sure.
Almost everything above is pure assumption!
- Didée
mf
8th December 2003, 13:03
Originally posted by Didée
BTW, @ mf: your SharpTools, or something alike, currently are the perfect companions of Dust ;)
What? mfToon().FaeryDust().SXSharpen() ? You know that iterating ssxsh causes a median cut effect, don't you ? :D
Didée
8th December 2003, 13:55
:confused:
No matter how often I re-read my own post, I simply cannot find any comment on mfToon ...
>> SharpTools or something alike
"something alike" because I don't explicitely use your functions, dear mf, since I apply some additional twists in the blown stage of supersampling most times.
Yes, I know the "median cut" effect.
However, creating tow SSXsharpen'ed clips with different supersamling factors, then applying the "bigger" sampled one to the already sharp edges, and the "smaller" sampled to the not-so-sharp edges ... is another thing that's going OT now.
- Didée
mf
8th December 2003, 14:54
Originally posted by Didée
:confused:
No matter how often I re-read my own post, I simply cannot find any comment on mfToon ...
>> SharpTools or something alike
"something alike" because I don't explicitely use your functions, dear mf, since I apply some additional twists in the blown stage of supersampling most times.
Yes, I know the "median cut" effect.
However, creating tow SSXsharpen'ed clips with different supersamling factors, then applying the "bigger" sampled one to the already sharp edges, and the "smaller" sampled to the not-so-sharp edges ... is another thing that's going OT now.
- Didée
Why the confusion? I could also just have posted "SSXSharpen().FaeryDust().SSXSharpen()", it really doesn't matter. What I mean is the considerable sharpness loss from Dust can't be compensated with my SharpTools or something alike, because of detail loss (the median cut effect)- iterated or not. Sharpen once, get detail loss and not enough sharpness. Sharpen twice, get enough sharpness but more detail loss. The only filter I can see that could get away with it is UnFilter() but halos are very dangerous with contrast enhancing sharpeners. And personally I don't see your two different supersampling factor thing work.
Anyway, I didn't mean to sound selfish or something in only mentioning my own stuff, but I did get what you meant with "or something alike".
Didée
8th December 2003, 15:23
Originally posted by mf
What I mean is the considerable sharpness loss from Dust can't be compensated with my SharpTools or something alike, because of detail loss (the median cut effect)- iterated or not.
How much money are you willing to bet on that? :)
A fair amount of the "lost" details are not really lost, but only attenuated below the threshold of perception.
also by mf
Sharpen once, get detail loss and not enough sharpness. Sharpen twice, get enough sharpness but more detail loss. The only filter I can see that could get away with it is UnFilter() but halos are very dangerous with contrast enhancing sharpeners.
Agreed on the unfilter comment.
Oh, ever tried to insert an intermediate supersamled stage, say factor 2, and applied unfilter(100,100) for additional sharpening, or unfilter(-100,-100) to remove pre-existing halos from EEEE (exaggerated evil edge enhancement) ?
still by mf
And personally I don't see your two different supersampling factor thing work.
Actually, I have several ideas cooking on small flame: different methods of image enhancers, a QMF/FMF replacement, perhaps even a "poor man's motion blur" for FILM stuff shot with (too) fast shutter speed. - Lots of ideas, and so little time ...
... I really hope to get some work done over christmas days, to present some more "crawler scripts" early next year ;)
(However, don't bet too much money on THAT.)
- Didée
mf
8th December 2003, 15:56
I just had an idea for the sharpness issue.
MSharpen(some low value)
FaeryDust()
UnSmooth(smoother="MSharpen", params="some low value")
How about that :D.
Didée
9th December 2003, 13:23
... of what's in store.
Don't want to be nagging, but the current raw framework produces things like that:
**link removed**
**link removed** (By now, it's called iiP (http://forum.doom9.org/showthread.php?s=&postid=450762#post450762) ;-)
Generally, (subtle) sharpness enhancements are difficult to judge on still images, I know.
But when switching back/forth between them two, the effect is clearly to be seen. It is much more obvious on live playback, of course.
So, don't say "so what - is that all?" - When the frames are hunting each other, it looks absolutely stunning.
Sample 1 is simply the source, cropped to 704, LanczosResized to 1280. (Which is already slightly enhanced, compared to hardware overlay resizing (which is always bilinear, I assume?!)).
Sample 2 is basically denoised with undot().PixieDust(2) as the very first step of filtering. Then follows supersampling, some more trilili and trallalla, and that's it.
Interesting is, that filesize stays in a very reasonable range: The PNG grows by ~15%, the impact on encoding is even a little lower.
The effect's strongness can still be adjusted, to be less or even more prominent.
mf, you are sincerely invited to point out any loss of details, any unrecoverable loss of sharpness due to PixieDust, or any halo's. :)
- Didée
mkanel
9th December 2003, 14:33
Didée,
Your sample #2 looks great.
Originally posted by Didée
Sample 2 is basically denoised with undot().PixieDust(2) as the very first step of filtering. Then follows supersampling, some more trilili and trallalla, and that's it.
- Didée
You lost me at this point:
Then follows supersampling, some more trilili and trallalla, and that's it.
Could you explain it to a slow guy like me or just post the AVS script that produced those results.
Thanks. Mike.
mf
9th December 2003, 14:56
Originally posted by Didée
mf, you are sincerely invited to point out any loss of details, any unrecoverable loss of sharpness due to PixieDust, or any halo's. :)
- Didée
Well, there is clear median cut effect, his front teeth have a clear white halo, his hairs have black halos, but these could come from Lanczos (I don't know if you used unfilter or not). Also, there is a strange pattern running over the entire image (I presume from contrast sharpening?). All in all it looks very unnatural. :)
Didée
9th December 2003, 17:04
Now, am I in need to justify myself? No, I am not ... but some explanations, nonetheless:
(I would have lost my religion, if you'd have been okay with that sample, mf ;) )
Correct is, that the used settings were a tad strong. I took some settings that looked great on playback - and found that it looked really weak on a single screenshot. So I turned the screw just a little more to make it more obvious, while still reasonable.
Not correct, either completely, or at least partially, are:
- Halos:
Yes, there are some - really minor - halos. But what a pity, by 99%, they are not produced by my script ... they are already in the source, heh :)
And the task of preventing any *further* enhancment of them was quite succesful, IMHO.
- Median Cut:
If you mean the 'structures' in the blurry background: okay, this is not yet optimal. But it's not too bad, either - plus, the FINAL filter is missing in the screenshot: the XviD filter.
I didn't say it's ready for prime time, did I? Above, I read something of "raw framework" ... speak: the mask operations are not seriously optimized up to now.
- Strange-pattern-over-the-image:
I simply don't see what you mean with that??? - Perhaps my eyes are getting bad. No wonder, I'm already 33 ...
- "All in all it looks very unnatural"
Attention, people, take cover!
mf is lashing out! ;)
No, seriously: of course, you are allowed to have your own opinion!
Finally, what about the loss of detail, and the unrecoverable loss of sharpness by the bad, bad Dust filter? No comments on that?
Bottomline: Never release WIP ...
- Didée
mf
9th December 2003, 21:25
About the median cut effect, I've made a sample image that shows it (exaggerated).
http://mf.creations.nl/mediancut.png
kempfand
10th December 2003, 01:43
Didée: Thanks for the summary on Dust, and thanks for sharing your work-in-progress. I think sample2 looks 'not too bad' (as one would say in Europe) and 'really great' (as one would say in the US) :)
I must admit that I'm more used to look at filter-effects on DV-material (which is less good as a starting point compared to DVD/Hollywood material, which is in most cases already filtered).
Also, it makes it (for me) a bit difficult to judge about the effects/contributions of the individual elements in the filter-chain. I'd be keen to see your script (wip or finished), so I can analyse how it works on DV and what the individual parts do. As I stated before, Dust does miracles on some of my DV (especially where there are fine-detailed grass-structures, moving leaves of tress etc).
Regards,
Andreas
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.