![]() As reactions and comments about my 'Inside Microsoft ClearType' page began flowing in, I saw that many people had terrific thoughts and ideas to add. So I'm maintaining this page to share the best of them with everyone.
The single most often asked question is: "Why can't sub-pixel technology be used with CRT's?" This is an important point because so many CRTs are being used today and everyone wishes that they could also achieve the promise of this display clarity gain! I don't blame anyone for being confused by this since this is a place where our intuition fails.
So that you can get some sense for the various approaches and very good ideas suggested by these people and really come to trust my reply here is a characteristic sampling of people's thoughts and questions:
Okay . . .
The reason sub-pixel addressing works on an LCD panel is that we're able to gain a SPATIAL RESOLUTION benefit from deliberately addressing the physical sub-pixels on the panel -- AND MOST IMPORTANTLY -- this requires that we know EXACTLY where a character's features fall upon the display's inherent color pixel sub-grid. As we'll see below, this level of control does not exist with CRTs since they operate by "spraying" illumination with an electron beam.
On an LCD panel, the computer's pixel grid and the LCD's color grid are one in the same. They are completely identical. But on a CRT, the computer's pixel grid bears ABSOLUTELY NO RELATIONSHIP to the CRT's color phosphor dot grid. If you think about it, you can prove this to yourself by noticing that the computer doesn't need to know whether the R-G-B array on a CRT is in a triangular (traditional) or linear (Trinitron) arrangement. You can plug in any sort of monitor and it just works. This implies that somehow the position of the CRT's phosphor dots isn't important.
The only thing the computer needs to know is that when it says "Blue" there will be some blue phosphors close by to pickup the electron beam's energy and glow with that color.
But since the computer doesn't know PRECISELY onto which colored phosphor dots its beam is falling (and this changes when you adjust the screen's width and height controls) it might be that the blue pixel falls to the left of the red pixel for one character, and then to the right of the red for another. Thus we can't "tweak" the pixel's apparent size or position on the screen by changing it's color slightly since we never know exactly where it's three primary colors are coming from.
The computer has its rectangular grid of pixels 800 by 600, 1024 by 768, or whatever and the CRT monitor has it's own array of pixels which more or less allow any color to be shown at any screen location. But the computer has no way of specifically "addressing" specific phosphor dots on the surface of the CRT.
"Okay," you're saying, "So WHY DOES the sub-pixel rendered text REALLY LOOK GREAT on my CRT?"
That's because sub-pixel rendering includes and incorporates standard anti-aliasing techniques as a side-effect of how it operates (see Turning Theory into Practice). So, even without an LCD's color-based sub-pixel positioning accuracy, the anti-aliasing component built into sub-pixel rendering creates much better text. But not as good as real sub-pixel rendering (which needs an LCD) plus anti-aliasing.
If you're STILL not convinced . . . Try using my Free&Clear demo and changing the Rendering Mode buttons between R-G-B / Gray / B-G-R. You'll find that on a CRT there's absolutely no difference or even that the simple gray anti-aliasing is slightly clearer. The fact that R-G-B and B-G-R produce identical results on a CRT demonstrates that your CRT is not actually resolving the colors into positions.
But on an LCD the correct R-G-B sequence is the best (and better then on any CRT), Gray is in medium quality, and the wrong R-G-B sequence is the worst. That's how you can tell that coloration makes a difference on an LCD, but not on a CRT!
[...] I'm also wondering if MS has something else up their sleeves to prevent some of the color bleed that is evident in your drawing and my testing. The distance between the sub-pixels is different as you move from 1 pixel to the next than it is with a pixel. Some new ideas here may be just enough to constitute a new art. I know if I was the one who thought of this I would want a patent.
The "simple examples" of sub-pixel technology evidence significant color fringing for reasons which are quite evident. But the fully mature theory and technology removes all color fringe.
As for rushing out to patent the results ... Well, I suppose that's a personal choice. I'm philosophically opposed to the too-casual awarding of software patents on the grounds that most of what's patented is immediately obvious to anyone trained and experienced in the craft. And 'obviousness' is sufficient grounds for disqualifying a technique for patentability.
But the WORST problem is that once a patent has been incorrectly granted, especially to a deep pocket infinitely cash-rich company like Microsoft, is that the patent becomes a club to be effortlessly wielded against any other would-be competitors. In this case it's the defendant's obligation to finance the overturning of a patent that should, perhaps, never have been granted in the first place. The bottom line is that the public loses horribly, which is exactly the reverse of what the U.S. patent system was designed to do.
That's what's so COOL about this. On ANY LCD screen, sub-pixels are just component colors of their member whole pixel. So you can just use any pixel painting program (like Windows Paint) with combinations of red, green, blue, yellow, magenta, cyan, black and white. Those eight colors produce all eight possible combinations of three sub-pixels.
That's all there is to it. In fact, if you have a pixel editing program that can understand a .GIF file, you can right-click on any of those diamond images on that page, save it to your own computer, open it in a pixel-drawing program, then zoom in to see it for yourself up close and personal!
The problem there is that so much "information" about the ideal character shape has already been lost by the time the image has been rendered into "whole pixel" form that it would be *very* difficult to put it back. A sufficiently advanced algorithm might, conceivably, go in and guess about filling in "jaggies" ... but it could never do a perfect job.
One thing that would work, however, would be using sub-pixel rendering when a larger whole-pixel rendered character was reduced in size: Since a larger character is being represented with many more pixels, its image contains much more "information." So, if you needed to reduce its size into a smaller physical representation, the sub-pixel technology could be used to "contain" that greater amount of information in a smaller physical space. Does that make sense to you?
So, looking back at your question, if you could start with an "A" character that had been whole-pixel rendered at three times the size (24 point) then you could reduce its size to one third (8 point) while saving much of the information that had been contained in the 24 point representation by pushing that information into the "color space" of the display through sub-pixel rendering technology.
I have also only seen a poor rendition of Gates' keynote with Bill Hill. From that I would conclude that Microsoft was perhaps showing us a "best" and "worst" combination to help drive home their point about the enhanced 'clarity' of ClearType. But I thought it was even more significant that they were demonstrating with a ITALICS font ... since sloping font features are the worst looking on a coarse grid (as Bill Hill stated) whereas sloping features would also get the most gain from tripling the horizontal resolution. So, yes, I'd have to agree that were were probably shown cases at the performance extremes.
0 1 2 3 4 5 6 7 --------------- RGB K B G C R M Y W W - White = R + G + B RBG K G B C R Y M W R - Red GBR K R B M G Y C W G - Green GRB K B R M G C Y W B - Blue BRG K G R Y B C M W C - Cyan = G + B BGR K R G Y B M C W M - Magenta = R + B Y - Yellow = R + G K - Black Since all the six rows are different, it is necessary to know the exact permutation in order to be able to draw the sub-pixels correctly. Or at least that's what it looks like to me. Any comments?
I understand that there are six combinations of ordering for three items (3 factorial (3!)). And if the first leftmost pixel on the screen were really crucial, then your point is exactly correct. But I was referring to the general case of sub-pixel graphics rendering where we are only concerned with the relative sequencing of the three sub-pixels. And I was taking this posture since out in the middle of a grid it's only the relative sequence that matters.
Thus we can divide your six samples above into exactly two categories. Here are your six examples, follow by their "extended iterations" which I've "regrouped" to show that all six are just cases of the two sequences:
Thus, by re-grouping the sub-pixels, we can see that all six permutations are reducible to just two: R-G-B and B-G-R
|
![]() | Gibson Research Corporation is owned and operated by Steve Gibson. The contents of this page are Copyright (c) 2024 Gibson Research Corporation. SpinRite, ShieldsUP, NanoProbe, and any other indicated trademarks are registered trademarks of Gibson Research Corporation, Laguna Hills, CA, USA. GRC's web and customer privacy policy. |
Last Edit: Mar 15, 2005 at 12:08 (7,270.64 days ago) | Viewed 2 times per day |