View Full Version : color banding removal
morsa
5th January 2005, 22:15
Is there any filter out there able of removing the color banding left by noise removal chains under avisynth?
If not can anyone point me to a suitable method or algorithm?
Didée
5th January 2005, 22:35
Best method is, to not create colorbanding in first place .. problem solved :)
What sort of denoising are you doing that creates colorbanding? And a screenshot, perhaps? (since I'm not fully sure the problem in front of my mind's eye is the same you are talking about ...)
However, I fear that once the colorbanding is there, there's not much you can do about it. 'Cause, how should its presence be *reckognized* by a filter ... ?
stickboy
6th January 2005, 11:45
Add more noise.
(ffdshow can do it during playback.)
Dali Lama
7th January 2005, 20:32
Morsa, this is a big problem with denoising in general and mostly spatial denoising. Didee is right and so is stickboy. However, both show the limitations we currently have and why you are asking the question in the first place. Namely, we don't want to add noise after we get rid of it and secondly we don't want to not denoise or lesten our denoising so that its still noisy but no color banding.
All I can say is I think you may be using FFT3D correct? It is an excellent filter no doubt, but exhibits significant color banding. Perhaps this is due to a setting I recall from the readme that sets how much noise is left (it is set to default of no noise left).
One suggestion is to use only temporal filtering, because that will get rid of a lot of noise and be less prone to color banding. Faerydust is excellent and even PixieDust works wonders without a lot of color banding. (I'm sure everyone knows this already).
I might do some investigations as to why some videos/pictures can have very low noise and no color banding. Once we figure this out, I think we may be able to prevent this artifact in our videos.
I'm talking about video/pictures from high quality camcorders/cameras with high S/N (signal/noise) ratios.
Investigating,
Dali
morsa
7th January 2005, 23:37
Yes, you are all right guys!
Problem is I can't avoid having some banding when removing noise.
It is a good quality source from DVCAM, I guess the banding I'm seeing after removing noise is from the original, the thing here is that after elliminating noise they become noticeable, just that.
Some time ago I saw a couple of comercial filter (don't remember if they were for FC or Premiere), they were using dithering techniques to remove the steps between colors...
If anyone can point to an algorithm suitable for that.....
thank you.
Didée
8th January 2005, 02:52
Coincidentially I thought about dithering a couple of times lately.
A pure scripted solution could use one of the noise generator filters, and limit the effect by the neighbourhood values. Needs one or two additional twists, though.
Mug Funky
8th January 2005, 08:55
wouldn't an effect as subtle as dither be completely quantized-out by the encoder at the end? and if you're using a lossless codec, dither will make it significantly larger.
(though the neighbor limiting idea is a bloody good one!)
one thing that (may) make a difference is to do your level correction before denoising, not the other way around. i typically level-correct before anything else.
also, the blur() in avisynth tends to cause banding if used a lot. maybe replace it with something else if you can (yv12convolution is awesome).
morsa
8th January 2005, 23:52
my solution was this after all the denoising I just apply this:
chroma = bilinearresize(512,288).Lanczos4resize(1024,576).mplayernoise(2,2)
MergeChroma(chroma)
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.