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. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#1 | Link |
|
Registered User
Join Date: Nov 2006
Posts: 781
|
Black and white frame + black dots noise
I'm struggling to get rid off this noise at the moment:
http://imageshack.us/photo/my-images/405/noisy01.jpg/ This noise is present throughout the video (reception problem i guess). I've made tests with neat but if i want to remove all of these black dots it get blurry real quick (i can't even get a 60% profile quality by the way). Suggestions welcomed |
|
|
|
|
|
#2 | Link |
|
Registered User
Join Date: Jan 2006
Posts: 1,866
|
It's called Pepper noise you need something like http://avisynth.org/vcmohan/DeSaltPe...altPepper.html
Only problem, your noise is more than 1 pixel, so maybe if you invert the video you can use descratch. |
|
|
|
|
|
#3 | Link |
|
Registered User
Join Date: Nov 2006
Posts: 781
|
This filter seem to do the job, thank you for the info
I use this: assumetff() separeatefields() DeSaltPepper(opt = "pepper",UV = true, tol = 0, avg = true, feedback = 10 ) weave() There are a few visible 'peppers' , a big improvement nonetheless |
|
|
|
|
|
#6 | Link |
|
Registered User
Join Date: Jan 2006
Posts: 1,866
|
Lucky you're dealing with greyscale, must be a bug. If you need color, it can be worked around with mergechroma or else, we can try a different filter.
I'm sure there's some other ways but I'll let someone else make a suggestion. |
|
|
|
|
|
#7 | Link |
|
Registered User
Join Date: Mar 2009
Location: Germany
Posts: 5,773
|
I don't think it's "pepper noise", I never met this defect myself, but I remember reading here, in doom9's forum, that some graphic cards exhibit this noise under particular conditions (bus congestion IIRC).
__________________
Born in the USB (not USA) |
|
|
|
|
|
#8 | Link |
|
Registered User
Join Date: Nov 2006
Posts: 781
|
this filter is fantastic i think, i just did new tweaks
First you must not use separatefields+weave for this filter (for an interlaced source), strange but it's like that Second, the tolerance parameter seems to be critical, i've found -1 to be just fine for my video so that gives: DeSaltPepper(opt = "pepper",UV = true, tol = -1, avg = true, feedback = 3 ) Third and last, use this filter with RemoveSpotsMC()after and you shall feel the force ![]() desaltpepper will turn your black dots/lines (must be small lines) into white and removespots will happilly digest that stew with little artifacts (if any) edit: actually, ive found blending artifacts on fast motion so it's better to deinterlace before applying the filters Last edited by Mounir; 8th April 2014 at 18:31. |
|
|
|
|
|
#9 | Link |
|
Registered User
Join Date: Dec 2011
Posts: 352
|
I'm sorry if i'm being off here.
Have you tried something like this? Code:
#source() AssumeTFF() SeparateFields() noisy = last nonoise = FFT3DFilter(sigma=13,bt=1) # Your favourite denoiser diff = 10 # Difference between denoised and noisy clips m = mt_lutxy(noisy,nonoise,"y x - "+string(diff)+" - 255 *") mt_merge(noisy,nonoise,m) weave() Last edited by bxyhxyh; 10th April 2014 at 08:43. |
|
|
|
|
|
#11 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,498
|
bxyhxyh,
Not sure that FFT3DFilter would best be used that way, FFT3DFilter is spacio/temporal and SeparateFields is not good in such circumstance (spacial displacment between even/odd fields), use the FFT3DFilter Interlaced=true arg instead, then perhaps SeparateiFields afterwards if the rest of script requires it (Have not tried it but looks wrong as it is to me). EDIT: Maybe Add Interlaced=True, remove both Separatefields and Weave, leave rest as is.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 11th April 2014 at 16:16. |
|
|
|
|
|
#12 | Link |
|
Registered User
Join Date: Nov 2006
Posts: 781
|
works fine for me stainless
before: http://img15.hostingpics.net/pics/9715841201.jpg after: http://img15.hostingpics.net/pics/2625187702.jpg The only thing is that it introduce some kind of white fog (best i can describe it) along the edges.It's faint ,but it's there. Perhaps a median filter would be best instead of fft3d ? best results i get so far are with removedirtmc+ fft3d like this: nonoise = RemoveDirtMC.fft3dfilter(sigma=7.0,sigma2=7.0,sigma3=7.0,sigma4=7.0, bt=1, bw=32, bh=32, ow=16, oh=16,plane=0, sharpen=0.0,interlaced=false,dehalo=0.0) Last edited by Mounir; 10th April 2014 at 12:31. |
|
|
|
|
|
#13 | Link | |
|
Registered User
Join Date: Dec 2011
Posts: 352
|
Quote:
My first version of this post was not included SeparateFields and Weave. But I thought OP needs to remove noise before deinterlace. It is safer to use after deinterlace. Last edited by bxyhxyh; 10th April 2014 at 12:50. |
|
|
|
|
|
|
#14 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,498
|
One option to keep interlacing while spatio/temporal processing is to process even/odd as two separate chains
(using SeparateFields, SelectEven, SelectOdd) before temporal processing on each chain, then interleave even/odd and then weave to get back full clip. An alternative is to use StickBoy functions in a script called something like JDL_Interleave.avs, find stickboy stuff on Wiki (use the 'flip' option, or whatever its called). EDIT: that was easy to find, here tis: http://www.avisynth.nl/users/stickboy/ JDL_FoldFieldsVertical and JDL_UnfoldFieldsVertical
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 10th April 2014 at 13:54. |
|
|
|
|
|
#15 | Link | |
|
Registered User
Join Date: Dec 2011
Posts: 352
|
Quote:
But bt=1 means pure spatial, so no need to use this. It is exactly same as not using interleave(even,odd). @Mounir "White fog" is caused by spatial denoisers. But I won't recommend temporal denoisers on this noise. Because very strong setting is needed. It can be lead to ghosting. Then ghosts can be masked here. Still you can try MDegrain(truemotion=false). Last edited by bxyhxyh; 10th April 2014 at 14:10. Reason: grammar |
|
|
|
|
|
|
#16 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,498
|
Yes thank you bxyhxyh (catchy name you got
), forgot that FFT3DFilter has a 2D mode (I normally just use default bt=3,I thought default was 1). EDIT: I kinda like VagueDenoise() for basic 2D filtering (has an Interlaced arg too I think). EDIT: Still, Using FFT3DFilter Interlaced=True, should remove necessity for SeparateFields, I think,
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 11th April 2014 at 16:18. |
|
|
|
![]() |
|
|