The Nexus One's Dirty Display Secret

RogerPodacter

Senior Member
Apr 12, 2010
5,655
425
0
Los Angeles, CA
What's interesting is that if you rotate the screen sideways the banding disappears completely. But that makes sense right considering the way the sub pixels are oriented. You would only see it vertically but not horizontally. But that's only true for this particular wallpaper because the gradient goes from top to bottom from darker shade to lighter shade.
 

Bryce2010

Senior Member
Feb 15, 2010
364
9
0
What's interesting is that if you rotate the screen sideways the banding disappears completely. But that makes sense right considering the way the sub pixels are oriented. You would only see it vertically but not horizontally. But that's only true for this particular wallpaper because the gradient goes from top to bottom from darker shade to lighter shade.
Interesting, you're right the image does improve when sideways. I don't usually enable desk-top rotation but I'm going to leave it on and check it out tomorrow during sunset. If the extreme banding is greatly reduced or eliminated that may just be the assurance I need that I don't have a defective device again... But I still don't get why some claim they see a perfect image with no banding...
 

RogerPodacter

Senior Member
Apr 12, 2010
5,655
425
0
Los Angeles, CA
Interesting, you're right the image does improve when sideways. I don't usually enable desk-top rotation but I'm going to leave it on and check it out tomorrow during sunset. If the extreme banding is greatly reduced or eliminated that may just be the assurance I need that I don't have a defective device again... But I still don't get why some claim they see a perfect image with no banding...
No I don't think you have a defective device. If anything I think we are all a little disappointed that the screen tech does this. But again this is the first I've actually been hit with this problem first hand. I guess It's just a trade off to make, better colors from the amoled screen, but certain very rare circumstances with a gradient image you see the limitation of the pentile layout. Oh well not the end of the world for me.
 

flarbear

Senior Member
Nov 30, 2009
513
77
0
What's interesting is that if you rotate the screen sideways the banding disappears completely. But that makes sense right considering the way the sub pixels are oriented. You would only see it vertically but not horizontally. But that's only true for this particular wallpaper because the gradient goes from top to bottom from darker shade to lighter shade.
The pentile layout would have nothing to do with banding.

Banding is caused by using fewer bits than about 8-bits per color component to represent the colors. These images are banded like I'd expect a 16-bit image (which uses 5 bits for red and blue and 6 bits for green). A full 24-bit image with 8 bits for each color component would look much smoother. You can hide the reduced color components with a technique called dithering - which would also show up under close scrutiny, but it would be far less visible at "normal" viewing distances than the banding caused by non-dithered 555 or 565 images.

Pentile layout affects "pixel per inch" types of resolution, not "how many colors can I display without banding" issues. I'm not sure how to describe that much better without lots of diagrams and arrows. :(

I'm running out of theories on why some see this worse than others (or even why the first screenshots were so much worse than the later ones). One thought is that the wallpaper may choose the color depth of the images based on how much free memory the phone has when it starts up? Are these being run on a kernel with the full RAM supported? (Stock 2.2 or a custom ROM with the kernel that supports all the RAM.) What if you installed the live wallpaper after killing off a bunch of background tasks? I'm mainly grasping at straws here.
 

flarbear

Senior Member
Nov 30, 2009
513
77
0
Here is another experiment:

For testing I am uploading an RGB test image in PNG format. It was generated by a test program I wrote to use 24-bits per pixel (8-bits each of red green and blue). You can use it to see which programs in your phone use a lower-bit-depth format to display the images. On my phone I can load this in the browser and it shows no banding when static, but shows banding briefly as I scroll it around. The green has twice as many bands as the blue and red and it looks like 16 and 32 bands (hard to count when you have to keep it moving to see the bands) which would be consistent with a 565 bit per component texture. They may be dithering it when it stops moving, or they may be using a 16-bit texture for faster panning and then only showing the full-color version when the panning stops (I'd vote for dithering since it doesn't make sense to expend the memory for 2 copies of the image and I can't imagine that panning requires 16-bit textures for speed, but as hard as I look with my old eyes I don't see any evidence of dithering).

If I load it using the built-in "gallery app" (on stock Froyo) I also see a clear 16,32,16 bands which indicates a 565 texture and it stays with those bands even if I zoom in and pan around.

If I load it using the B&B Gallery app available from the market it shows as smooth gradients regardless of panning or static display.

Try those options and see what results you get on your screen...
 

Attachments

khaytsus

Senior Member
Apr 8, 2008
7,263
1,176
243
Central Kentucky
Try those options and see what results you get on your screen...
Just a FYI here guys, if you look at this on your computer monitor and see banding, your monitor isn't calibrated ;) I'll try this myself on my N1.

Related to the banding while scrolling, this would explain a few things.... I have a few programs with a dark blue background that when scrolled it "flickers" kind of a lighter color.. I bet they do drop some bits to scroll.

Sucks that the built-in gallery app doesn't seem to be rendering the image properly. I had noticed some excessive over-exposure in the gallery app that was not noticeable on my computer, I guess that explains it. But like I said in another post, my phone doesn't have to be perfectly accurate colors and calibration.... my monitors do... :)
 

vegetaleb

Senior Member
Feb 26, 2010
10,403
2,388
253
Beirut
How to use wallpapers with true 16m on Nexus One (to be pinned) :
As some people discovered it when using some wallpapers on N1 they can have color banding
This is due to the color limitations of the 3D Gallery from google,so the solutions is:
Instead of setting a wallpaper using N1's own gallery just download and use the free app ''wallpaper set and save''.
Wallpapers will finally show in 16m colors instead of 65k
 

petard

Senior Member
Feb 12, 2006
1,049
38
0
Guys, you can not take a screen capture of a screen problem. The capture program saves the image digitally before it even gets to the screen. It is also the same reason why uncompressed captures look so much better on your PC monitor than on the phone's screen. The Pentile pixel arrangement makes everything look horrible while your computer's monitor will display everything correctly
 

bigmout

Senior Member
Oct 8, 2007
476
81
0
How to use wallpapers with true 16m on Nexus One (to be pinned) :
As some people discovered it when using some wallpapers on N1 they can have color banding
This is due to the color limitations of the 3D Gallery from google,so the solutions is:
Instead of setting a wallpaper using N1's own gallery just download and use the free app ''wallpaper set and save''.
Wallpapers will finally show in 16m colors instead of 65k
And I will ask again: how do I get Wallpaper Set and Save to set wallpapers from the system? I can only get it to set wallpapers from the SD Card.
 

RogerPodacter

Senior Member
Apr 12, 2010
5,655
425
0
Los Angeles, CA
The pentile layout would have nothing to do with banding.

Banding is caused by using fewer bits than about 8-bits per color component to represent the colors. These images are banded like I'd expect a 16-bit image (which uses 5 bits for red and blue and 6 bits for green). A full 24-bit image with 8 bits for each color component would look much smoother. You can hide the reduced color components with a technique called dithering - which would also show up under close scrutiny, but it would be far less visible at "normal" viewing distances than the banding caused by non-dithered 555 or 565 images.

Pentile layout affects "pixel per inch" types of resolution, not "how many colors can I display without banding" issues. I'm not sure how to describe that much better without lots of diagrams and arrows. :(

I'm running out of theories on why some see this worse than others (or even why the first screenshots were so much worse than the later ones). One thought is that the wallpaper may choose the color depth of the images based on how much free memory the phone has when it starts up? Are these being run on a kernel with the full RAM supported? (Stock 2.2 or a custom ROM with the kernel that supports all the RAM.) What if you installed the live wallpaper after killing off a bunch of background tasks? I'm mainly grasping at straws here.
but are you sure about that? it was my understanding that because of the way the sub pixels are oriented it would disappear in landscape view. for example the pixels are horizontally oriented in portrait view, and each green pixel shares a red and blue pixel. i thought this was why the banding ocurred. but that same image shown in landscape should now have the pixels oriented vertically, and the banding does not appear.

i guess my question is, are we all sure that when a picture shows banding, that the banding disappears when viewed in landscape? if so, the next question is why does this happen?
 

Bryce2010

Senior Member
Feb 15, 2010
364
9
0
If I load it using the B&B Gallery app available from the market it shows as smooth gradients regardless of panning or static display.

Try those options and see what results you get on your screen...
Thanks. I tried the B & B gallery app & you're right, there is no banding on that & other problem images i.e the mars image...
So guess I'm leaning towards not doing a repair again.
But I still wonder why some claim they see no banding. I still wonder why there is no mention of this in the reviews, specifically the positive reviews about the n1 grass live wallpaper... Can't help but wonder if some have better/different screens... And well that makes me want to do a repair just to see if it comes back better.... :-/
 

Purple Drama Llama

Senior Member
Dec 30, 2009
2,694
45
0
119
I know this thread has been dead for awhile but I just wanted to confirm:

I have pretty bad color banding when using the grass live wallpaper. It's especially bad when transitioning from day to night.

Just to confirm everyone has this right? It's not a defect with my phone right? I'm just surprised when I google 'grass live wallpaper nexus one' there is no mention of the poor background picture quality.

Would you guys mind trying it? Is it that some displays show it ok but how could that be if it is a software problem?
I don't have this problem with this wallpaper. But, the only time I notice banding is when I use a white shadowing wallpaper that's really intense.
 
Last edited:

RogerPodacter

Senior Member
Apr 12, 2010
5,655
425
0
Los Angeles, CA
Thanks. I tried the B & B gallery app & you're right, there is no banding on that & other problem images i.e the mars image...
So guess I'm leaning towards not doing a repair again.
But I still wonder why some claim they see no banding. I still wonder why there is no mention of this in the reviews, specifically the positive reviews about the n1 grass live wallpaper... Can't help but wonder if some have better/different screens... And well that makes me want to do a repair just to see if it comes back better.... :-/
Because they prob don't check that live grass wallpaper at sunset. Like I said mine had no banding during the day. Also this banding issue only appears in a very small set of circumstances. Most people frankly would not view an image that demonstrates this issue. The live grass wallpaper is really the only one that shows it, and at only a few hours of each day.
 

flarbear

Senior Member
Nov 30, 2009
513
77
0
but are you sure about that? it was my understanding that because of the way the sub pixels are oriented it would disappear in landscape view. for example the pixels are horizontally oriented in portrait view, and each green pixel shares a red and blue pixel. i thought this was why the banding ocurred. but that same image shown in landscape should now have the pixels oriented vertically, and the banding does not appear.

i guess my question is, are we all sure that when a picture shows banding, that the banding disappears when viewed in landscape? if so, the next question is why does this happen?
Yes, I am sure. I've written software that deals with 8-bit, 15-bit (555), 16-bit (565), 24-bit, 32-bit (RGBA) images, software that does linear and radial gradients and software that does dithering (both ordered and Floyd-Steinberg). I even hold patents in techniques for dithering images to reduce the visual noise in them. By "written software" I mean the software that actually works with the pixels and calculates the best way to display them on a variety of hardware displays at the system level all the way up to the application level. I've written software that deals with LCD text and software that applies photo effects (as in actually implemented the algorithms that manipulate the pixels, not just telling a library to apply the effect for me). I'm a graphics engineer by trade so I sort of know what I'm talking about here... ;-) But, my resume aside...

As far as the pentile layout and how that might affect the look here, you won't see a difference wrt the pentile layout until you look really close to distinguish adjacent pixels. The banding, which is a much larger area of a single color that suddenly jumps to another larger area of a different single color when there should have been a lot of per-pixel smaller jumps in color between them, is much larger than the pixels and so it isn't caused by dealing with the Pentile layout, it is caused by trying to approximate colors that go from, say, blue=30 to blue=62 but only being able to specify colors that are multiples of 8. You'd output [32, 40, 48, 56, 64] and have 5 larger areas of color that are easy to distinguish from each other with the naked eye from a distance instead of being able to output every number from 30 to 62 and have 33 different tiny bands of color that increment over very tiny distances between the two points. If Pentile affects that, then it might cause a few of the values between 30 and 62 to be missed if, say, you tried to assign the values 42, 43, 44 to 3 adjacent pixels, but the middle one lacked a blue sub-pixel and so there was a jump from 42 in one pixel to 44 in the pixel 2 places over. That kind of a missing value is not going to be easily distinguishable by the naked eye, especially in the blue spectrum - or at least it will be 4 times less distinguishable than a jump in 8 values that happens over a broader area.

Also, the pentile layout is checkerboarded to reduce or nearly eliminate any difference you might see when switching orientations. I've attached an image showing the layout so you can see. There won't be any perceivable difference in the resolutions of red and blue in either orientations and the number of green subpixels per linear distance is the same in both, but given that it is more rectangular in shape it may appear pinstriped (but that won't cause banding and would simply change the direction of the pinstripes).

To answer your final question as to why the phenomena goes away when you change the phone's orientation - there appears to be a lot of voodoo in the graphics system, and/or in the logic of these applications as to when to apply different textures containing the image and when to apply various algorithms to smooth them or not smooth them. The fact that it changes when you pan the image around in the browser shows that they dynamically make decisions about how to display these images that can affect banding. When you change the orientation, the phone will re-draw the screen in order to respond to the change in orientation and that will involve the software making more voodoo decisions. So, I couldn't answer that without looking at the source code (which I'm reluctant to do for a variety of reasons, my apologies there, but my empirical observations are enough for me to categorically say that the banding is not a result of the Pentile pixel layout with great certainty).
 

Attachments