View Full Version : gradient banding in low ranges?

02-09-2008, 10:12 PM
okay this may sound like a weird question, but could everyone look at the below gradient and see if you see banding?


I have this gradient that no matter what screen I see it on it looks as if I'm viewing it in a slightly lower color space... it's a 16 bit tiff, created in PS just a standard gradient. I've even tried doing a blur while in 16 bit mode. I've tried several different screens/computers.. Mac and PC.... So anyway could a couple of other people check this out..tell me if you see the banding?
any theories on why?



02-09-2008, 10:41 PM
if you can see the banding, open it in PS and drag your mouse slowly down the image with your info set to 32 bit/float and you'll see the pixels do have different values,



02-09-2008, 10:44 PM
The gradient is going from 0/256 to 40/256 over 1000 rows. To be displayed completely banding free, you'd need a screen with a colour resolution of at least 13 bits per channel. And a gfx card capable of outputting that many bits per channel.

I'm not sure if such hardware even exists, but I am sure that if it does it will cost many tens of thousands of dollars.


02-09-2008, 10:55 PM
Well, regardless how many bits of color you're using, your gradient only runs from a color of 0,0,0 to 40,40,40. When I sample the image, I can see each of the 39 colors in between. I'm not certain how you'd expect anything different, really.

02-10-2008, 01:50 AM
Cool, thanks for the responses, I read somewhere our eyes could only see/differentiate 16.7 million colors, or 8bit. given that is our current hardware limitations, I have seen at siggraph "HDR" displays but I use that term significantly looser than the people advertising it. it was more head room above 8 bit white(1), but from black(0) to white (1) it seemed it was still only processing it at 8bits.

as far as "expecting to see anything else." technically and i'll explain this more below, 0-40 isn't 40 steps, it's 120. granted the gradient I posted before was 40 steps, but the one that's 120 is still a problem. it's the viewing hardware limits that's the problem "8bits". I didn't expect to be able to "see" these value differences. This is where it is interesting, because I would challenge anyone to tell me what this image says just looking at it and not analyzing it in anything. I can nearly make it out but I know where the text is and if I didn't know I don't know that I could.


I have written text that is only one channel value different. the background its 40/40/40 and the text is 41 in one of the channels. I visually can't even see where the text is. I understand the first gradient posted is actually 3 value changes per vertical line of resolution which when text is written with that much difference I can visual pick it out. But one channel value difference I thought would do the trick. So logically I thought well if you can't see when one value in one channel changes. why is it not possible to do a gradient based on this same principle. changing one value per channel at a time? but i guess when you put them together visually they start messing with they eye and the value difference is more visible.

Not sure any one is interested in this stuff, but the result can be somewhat lessoned. doing the one channel thing at a time.


so that one goes essentially one value per channel per vertical step. I created that in fusion, and because each channel steps different it seems a little rainbow like. I'm not sure if you dithered it if you could get a visually perfect gradient from "40-0" or not. anyway, just something that is interesting. always sad to run into limitations. I can process color information perfectly, "float" but the final viewing is currently the problem.

Again thanks for the feedback, and this has been interesting at least to me, and hopefully to someone else, if someone knows how to produce the one channel at a time per vertical step/dithered technique I'd be curious to see it. it would also be handy if you had some filter that could analyze an image and blend in between the bands with dithering in the channels? anyone know of such a program/filter?


02-10-2008, 02:34 AM
so I spoke to soon, turns out in PS you just have to change your image to 8 bit and it does the dithering for you and it looks great! so for the final output convert it to 8bit and save just an 8 bit version and it will look good on an all our 8 bit screens.


sorry for all the big images. to make sure it wasn't any compressions fault I left them big.

so does anyone know if there's a way to do this in Fusion?

Good times,


02-10-2008, 11:22 AM
Actually, I never would have considered dithering, but now that you've brought it up, and pesented results, it seems so obvious. Live and learn; thanks for that.

02-10-2008, 12:37 PM
yeah this has been a big eye opener for me, just really thinking about the numbers involved and how it all works. if someone would have said, hey take it into PS and convert it to 8 bit to get rid of the banding, I would have laughed out loud. but doing it works, and now it actually makes sense, I wish there was some way to say hey even though I am working in float, have the display dither it so it looks like it should. there's some occasions where you wouldn't want that but it would be nice to have a toggle to turn it on and off. Actually it's interesting to take that first image and do just that, convert it to 8 bit in PS, then go to the levels and crunch it to bring out the dithering, I was so surprised/pleased that it is just built into PS. Now time to batch several hundred frames through PS to fix the banding I have been having....

workflow, Work in float, render 16bit tiffs, batch in PS. = looks good on 8bit screens.

still here's to hoping there's some way to do it in a compositing app? AE or Fusion. I haven't really looked, so I'll have to look, there maybe a way to just do it in one of the two.


02-11-2008, 01:06 PM
So not sure if anyone cares, but i found a dither tool for Fusion, via the krokodove plugins, it's in the free ones. anyway it essentially does the same thing as PS, So you just connect that before your final 8bit saver. no more banding :)