Log in

View Full Version : How to remove flickering noise in light greys of B&W film?


cobo
28th September 2006, 06:27
I'd appreciate some suggestions of what filters to try to get rid of a shimmering flicker noticeable in the lighter greys of a B&W film without blurring it too much.

Pookie
28th September 2006, 21:33
You can try "ReduceFluctuations", part of "Reduceflicker" by Kassandro.

Do a search. It might work, it might not.

cobo
30th September 2006, 11:48
It didn't work. Nothing did. I tried dust, fluxsmooth, degrainmedian, vaguenoiseremover, removegrain, fft3d, and ml3dex as well as reducefluctuations, each alone and some in various combinations with seesaw. Even with strong blurring the flicker wasn't reduced to a noticeable degree. I'm aware of it mostly in a narrow range of light medium grey on certain textured surfaces that are at an oblique angle and I suppose it won't be noticable when viewed on TV.

check
30th September 2006, 12:18
can you post some screenshotw or even better... some of the original video segment?

cobo
30th September 2006, 15:03
I don't think screenshots would show it very well.

Here's a 4.36MB unprocessed clip:
http://rapidshare.de/files/34983566/flicker.mpg.html

I think it's most noticeable in the collars of the chess piece costumes.

Pookie
30th September 2006, 20:10
It is typical grain related noise from movies of that time. It'll also look better if you greyscale.

#Upsampling to reduce artifacts of denoising

Greyscale()
tdeint(mode=-1,type=3).turnleft().tdeint(mode=-1,type=3).turnright()#thanks Didee
reducefluctuations(limit=2)
fft3dfilter(sigma=2.5,degrid=1,plane=0,bt=4)
bicubicresize(720,480)



Here's a variation, replacing fft3dfilterwith MVDegrain2 from MVtools plus Limitedsharpen. Also ran a plain Tdeint(),
but you might want to check out the source properties if you want to bring it back to progressive. This combo will
look significantly less flickery, but it'll run at .5fps while transcoding :(

Check it out
http://www.filedropr.com/download/Mjc5 (Xvid)

Didée
30th September 2006, 21:53
tdeint(mode=-1,type=3).turnleft().tdeint(mode=-1,type=3).turnright()#thanks Didee[/CODE]

"Thanks tritical" would be more correct. And times have changed ... nowadays, image height doubling spells more like "EEDI2()" instead of "tdeint". ;)

Serbianboss
30th September 2006, 23:02
Sorry for boddering but what mean this:
turnleft().tdeint(mode=-1,type=3).turnright()

i mean what mean turnleft(), type 3, turnright()

thanks

foxyshadis
30th September 2006, 23:07
tdeint mode -1 is height doubling (like eedi2), and turnleft/right makes it become width doubling instead.

Edge directed interpolation of such a grainy source is probably going to backfire; it'll try to connect the dots and turn the grain into squiggles that are much harder to denoise away. Better to use standard resizers, or to not even bother and use a more sensitive denoiser on the original size (like mvdegrain, for instance). The speed hit won't be much compared to processing anything at 4x the size.

Pookie
1st October 2006, 01:15
Agreed. That 5 second clip took my POS 2.4 P4 almost 12 minutes...

cobo
2nd October 2006, 03:23
I tried pookies 2nd upsampling suggestion using EED12 in place of Tdient for enlarging and the sample script for MVdegran2 from the MVtools.html (since I can't understand the the instructions well enough to put one together for myself) on a longer clip. It's great at reducing the flicker, but the scipt runs at 0.3fps on my 2.66B P4. With HDR_AGC and curves added to the script, it runs at 0.2fps.

Using just MVdegrain and limitedsharpen looks about as good and runs at a more practical 1.58fps with HDR_AGC and curves added.

Thanks for all the swell suggestions guys.