Log in

View Full Version : simple 3d cleaner (need beta-testing !!)


Marc FD
9th November 2002, 14:08
here's the fastest 3d cleaner i know : s3dc aka Simple 3d cleaner.

i coded it 20 days ago, and released it on a french forum, and it seemed to be too agressive. okay. but i just tested it today (while coding a new HQ cleaner) and i saw that it was doing a damn good denoising on a anime source, while preserving 100% of the structure.

so i've decided to release it here, to know what do you think of that.
BTW, it's fast, that doesn't mean it's gives bad quality results. it's just simple, and a very good candidate for massive SIMD and YV12 !

please beta-test it. i need feedback to improve my denoisers ^_^
i've tested it only on anime, but it's not specially designed for it, so tests on movie would be great, and screenshots, ect..

Thanks,
MarcFD

(currently i'm trying t get the less aggressive denoiser possible, but i don't think it's really a good idea ^^. maybe compensated temporal denoiser was not bad. it proved to be working.)

(attached "simple3dcleaner beta1.zip ") (removed attachement. use beta2 below)

Marc FD
9th November 2002, 17:08
oups ^^
i just noticed some rounding errors :D
so i've updated the code, and i added a new denoising method too. (so it's a 4 in 1 filter ^^)

BTW, i've a compensated temporal denoiser on my computer. if someone is interressed.... (it's beta code, but it's fast and it's working on slow pans, the temporal denoisers worst-case scenes)

(attached "simple3dcleaner beta2.zip")

Dali Lama
10th November 2002, 01:01
Hello Marc,

I have done some tests of your filter with a fairly clean anime source. I have to say that at default settings, it cleans very well and preserves much detail. I have captured screen shots of before and after for all to see. It may be hard to notice the noise removal, but its definitely cleaner at 2X Res.

I have also personally compared it to a TemporalSoften and 2DClenaer combo and I like your filter better. More details are retained with S3CD at default settings. However, the forementioned combo does remove slightly more noise at the expense of detail. Overall, though, if settings are tweaked I believe this filter will be useful for a variety of tastes.

Thank you for your efforts and you have my vote for an optimized YV12 version.

Dali

Link (https://islam4you.hypermart.net/S3DC%20Filter%20Before%20and%20After%20Screen%20Shots.htm)

Marc FD
10th November 2002, 09:37
i'ld like to know results on movie sources too. thanks anyway for your work ^^
for the power of the filtering, just change the thresholds, it able to be very strong.

Didée
10th November 2002, 22:05
Hi Marc,

I did some testing, though not too much, due to the usual lack of time :(

Target was "The Cell", which has some mastering errors regarding picture quality (static noise bounded to rectangular shapes stays after scene changes for a few frames, and such stuff).

My short summary:
- s3dc is fast
- it denoises pretty good
- I will not use it on film material (for now)

On Animé it may be spectacular, but for this detailed source, I couldn't manage to get a good denoising without an obvious loss of detail - especially on skins and faces, which got not only flat, there was another thing ...

... which leads me to a suggestion:

This, I'd like to see not only for your s3dc, but for ALL denoising filters.

Within every filter, we set some threshold, say A.
- Below A, the filter exploits its mighty work.
- Above A, nothing happens at all.

Now, if A lies in a region where alredy removal of visible detail is forced, bad artefacting caused by that sharp boundary appears.
E.g. in close-up faces, it is annoying if you have flat regions surrounded by detailed ones.

So, I think it would be useful, instead of having threshold A, to have threshold range [A1,A2].
Below A1, the filter does its work.
Above A2, nothing is done.
Between A1 and A2, a smooth transition is applied.

This way, much visible artefacting could be avoided, or at least get mildered by a great amount.

I can imagine that this procedure introduces addidtional speed penalties, but since we're firstly interested in good quality, and think of speed after quality is assured,

I would definetly give this a try.

Marc, and all other great filter wizards, what do you think?

wotef
10th November 2002, 22:38
testing has been interesting so far

fiddling with the default parameters, I get artifacts on scene changes unless using mode 4 and temporal influence of 8

is there any more explanation on how the modes work?
and also temporal influence?

High Speed Dubb
11th November 2002, 00:10
Didée,

Using different amounts of smoothing depending on the amount of the difference does help reduce artifacts — Grape and Peach Smoother use that trick, as does (optionally) SmartSmoothHiQ. But the need for it may decrease if you’re comparing with a lot of pixels.

Didée
11th November 2002, 09:16
Well, I also thought of a quick way of implementing this:
simply fade the boundary by calculating the denoising up to A2, and then apply the calculated pixels from A1 to A2 with a corresponding percentage - similar as one would do via "layer".
This is not a perfect concept, but much quicker. And the result would still benefit, I'm sure.

Marc FD
11th November 2002, 09:56
Didée, i don't really see what you wanna do, but what i think it's pretty esay to do is :
2 thresholds : A1 A2
below A1 : normal / hard cleaning.
over A1 below A2 : soft cleaning.
over A2 : nothing.

It's true that s3dc is very sharp on edges detection.
It's not easy for me to test such a filter, because in anime we want very sharp edges and a very smooth image. but i WANT s3dc to work with movies too, so i'm gonna build a double-thresholded version right now. (using the technique i just described below)

i hope you would like it ^^

I may add a mode too, with only one threshold, where the more the difference is big (but under the threshold), the softer cleaning is.

>is there any more explanation on how the modes work?

it's described in the readme, in technical specs.

>and also temporal influence?

described too.

if you have ghosting, try temporal influence around 2-4, should do it.
you can lower temporal thresholds too.
temporal influence should definiteively kill any ghosting. it's very powerfull. but keep it high enough too keep temporal filtering on ^^