Cleartype In Depth
spectecjr writes "Looks like Microsoft have at last released some detailed information on their ClearType technology. It involves a whole load of Fourier Analysis to come up with the optimal distribution of color energy and to reduce color fringing. You can read the paper and more indepth info in PDF and gZipped PostScript, as well as the paper submitted to the IEEE Signal Processing Letters journal PDF. Samples of ClearType vs. standard anti-aliasing are up online too."
...unless you have an LCD (which is not an iMac).
From the site: "In order to view a sample of the optimal ClearType filters, you must view this page on an LCD with RGB stripes. You will not be able to see the full ClearType effects on a CRT. Some LCDs (such as in the iMac), use BGR stripes, which will not work with these samples."
--
Compaq dropping MAILWorks?
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
because I don't see any Internet Explorer integration ANYWHERE. :)
Eviscerati.Org: All Hail the Eviscerati
...what, there seems to be something actually new in this implementation?
Slashdot groupthink had convinced me that MS never creates anything original... hmm... must think... *smoke* brian overheating...
*kaboom*
DrLunch.com The site that tells you what's for lunch!
That's why I used the !@#$ smiley
Eviscerati.Org: All Hail the Eviscerati
http://grc.com/cleartype.htm
Ceci n'est pas une sig.
That the anti-aliasing technique shown is 61-tap... fairly CPU intensive.
If ClearType is computationally equivalent to an (example) 8-tap anti-aliasing method than it is a major breakthrough. (can't believe I'm saying something positive about M$...eww...)
Remove the NOSPAM to spam me...
All I have to do is iterpret symbols on the screen as letters, the more you dull them out the less information can be packed into the screen. (Of course that would be one wacky font.)
Besides, this ClearType also requires a color display adding to the battery draw...
--
Eric is chisled like a Greek Godess
marotti.com
All arguments over wether this is actually different than what Apple did way back with the II or not aside I'm not as impressed as I had expected to be.
Back when this was first announced I thought it made sense and would work great. I even read a few pages which showed how Apple did the same thing and loaded the samples on there up on a few screens to see how they looked. Yeah there was a difference but nothing major.
Now this comes across with what sounds like samples made using the exact algos that MS is touting as their great new innovation. So I pull out the old palmtop and laptop and check the page out.
But this looks like hell to me! I can see major color fringing and in those text waterfall examples I see rainbows in the CT examples that are so prominent they make it harder for me to read than the AA example! Yuck!
Does anyone else notice it as much as I do? Or are my eyes just abnormally color sensitive?
--- Juggle juggle@hitesman.com
Cleartype is basically antialiasing which takes note of the way in which the LCD screens make up their pixels. From the comparative samples, it's difficult to compare the two samples given on a normal (i.e. CRT) monitor. I strongly suspect that this is not going to make such an impact on CRT-based techniques for several reasons. The conventional monitor scans a modulated electron beam across a mask before hitting the coloured phosphors which make up the display. Despite the regular display patterns of the mask, a pixel on a conventional CRT could line up with any combination of the coloured phosphors, as the start of each pixel could be on any of red/green or blue phosphors. The Cleartype technology relies on being able to make use of the arrangement of single-coloured pixels to enhance the imagery (and yes, I do believe it can make a difference) and must therefore be aware of the mapping from the resolution of the image on screen to the resolution of the actual screen matrix itself.
Something does strike me as odd in the samples though. One of the things that ideal anti-aliasing should do is give a completely even weight to every letter/symbol in a font (assuming that the base font definition is designed with this in mind). However, scrutiny of the samples seems to suggest that either the font they are using is subtly broken in this respect, or that the anti-aliasing and Cleartype render used here is not ideal - take a look at the weighting of the 'x' character, and slightly less of a problem is the 'k'. This could be hinting gone wrong, or a bad font definition - I'd be interested to know whether it looks better on an LCD screen.
Cheers,
Toby Haynes
Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
This is an interesting side of Microsoft I hadn't realized existed: Microsoft Research. It looks like they are working on a lot of very interesting stuff. I was searching through their stuff I found that one of the things they were working with was IPv6 related networking, and you can download a web server called "Fnord!". I downloaded it, and checked out license.txt and it is the GPL! Apparently they used Fnord! written by someone else and used it as a basis for some research software, and you can download it, source and everything. Cool.
Here is the software of the guy who claims Apple figure all this out years ago. He has a demo written (idiosyncratically enough) in pure i386 assembly:
Free and Clear
However, his discussion doesn't seem nearly as complex as the one we have linked in this article. My feeling is that the idea of sub-pixel manipulation is one of those "floating revelations" that recur to more than one clever mind, but that MS Cleartype is the first practical application.
Oh, and here's the cleartype site at MS. Be sure to view it with an LCD screen - otherwise you won't get the benefit due to the triangular distribution of color spots on a CRT:
MS Reader
-konstant
Yes! We are all individuals! I'm not!
-konstant
Yes! We are all individuals! I'm not!
The anti-aliasing algorithm is really simple and typically works really well. Imagine a grid of squares (pixels), and you want to draw a thick diagonal line through this grid.
Now, we'll encounter some problems. In a traditional pixel-drawing scheme, we would color all squares completely covered by this diagonal line, and any other square, even those partially covered by the line will not be colored.
Zoom back from this drawing, and you have a very jagged, aliased line.
Now the anti-aliasing scheme solves the jaggedness by a simple yet clever solution; the squares are shaded depending on what percentage of their area is covered. That is, if a square is 95% covered by the line, it will be very dark, and if it 5% covered, it will be very light. Zoom back from this, and you have a nice smooth anti-aliased line.
Note that other anti-aliasing methods exist for differrent things, but the above is mainly for simple line drawing. For example, when anti-aliasing is done on a 3d rendered scene, a typical solution is to slightly shake the camera and re-render the scene, then blend the different renderings (this is known as oversampling).
Now, this cleartype technology seems interesting. I'm not sure how it works, but judging from the examples given, the fonts look a bit "fuller" when larger on the screen. Also, very small fonts are very easily read, whereas in an antialiased scheme the smaller fonts are difficult to identify (this is probably because the antialiasing algorithm has trouble dealing with sub-pixel drawing instructions). One downside of cleartype, however, is that I noticed a fair amount of green and red color fringing on the small-to-medium fonts. I suppose this type of distortion is a side-effect of taking advantage of sub-pixel drawing technology.
Former research IBM scientist Ron Feigenblatt has some interesting comments about Microsoft ClearType. Feigenblatt explains subpixel addressing, dynamic pixels, and color convergence problems on LCDs.
Several people have already pointed out that ClearType does not represent innovation on Microsoft's part. Here is a related point for your consideration.
When the Free Software / Open Source community creates something innovative, anyone can use it in any way, improve upon it, incorporate it into any kind of tool. Everyone benefits. This is the paradigm of science.
When a corporation such as Microsoft creates something innovative and keeps it proprietary, no one can use it in any way except as the corporation permits. The lion's share of the benefit goes to the corporation, and further innovation is stifled. This is the paradigm of intellectual property.
Anyone, including a corporation, has the right to handle their creations as they see fit...but where do you want to go today?
------
------
You are in a twisty little maze of open source licenses, all different.
The Apple II doesn't really do this. It uses the properties of the NTSC colorburst signal to create color from a synchronized high-resolution monochrome signal. The physical "subpixels" on the CRT can't be aligned to this signal, and the end result is fuzziness, not clarity. The R,G,B phosphors on the screen are not directly addressed.
CRT's and even analog LCD's don't gain anything from this, as this technology needs direct access to the R,G,B elements of the display to create antialiased text that is as sharp as possible. It even needs to know the order of the RGB elements. This done through wholly digital displays that directly address the color pixels on the display, such as an LCD on a laptop. The next step would be to make this independent of the display type, with tuning tools or profiles for individual display devices.
Television does this naturally, being a wholly analog system. Point a color camera at some text, and the edges of the text will fall on the color elements within the camera, irregardless of arbitrary pixel boundaries. If you magnify a still image on a TV set, you'll notice that any sharp edges are defined independantly of the positions of the color elements, and they are "smooth". In contrast, any computer-generated edges show a bias toward pixels, causing some jagginess in even the best anti-aliased graphic. Of course, if the source camera and the receiving TV set have different color element geometries, the result will be a little off.
Whatever you call it, this is antialiasing taken to the max. I'm glad that someone is taking it seriously, even if it's Microsoft. CG for television should take notice, too, to try to simulate the natural look of purely analog signals.
So why only LCDs? What about CRTs? I suspect what Microsoft is really after here is the handheld market. They'd like for PocketPCs leap ahead of Palm OS at least as far as display clarity goes. It may seem like a minor battle but Joe Consumer standing in Best Buy looks at chunky Palm OS two-color screen then sees bright and crisp PocketPC screen and buys that instead.
What I find curious is ClearType has been presented at a few conferences and white papers submitted to IEEE yet I don't see any clear statement on how/if ClearType will be treated as a public standard, or released under some sort of licencse, or jealously protected by zealous IP lawyers. Could it be a case of adopt-now-and-we'll-bill-you-later? Maybe I just can't find a link to the license agreement. Whatever.
On an LCD screen.. there are subpixels as follows
RGBRGBRGB
RGBRGBRGB
RGBRGBRGB
Traditionally, we treat any group of 'rgb' as a pixel, so.. to make a 'white' display, we need *any* 3 adjacent pixels.. they use this fact to effectively triple horizontal rezolution. ie: Insted of 50%r100%g50%b, on a diagonal line, the next one would be 100%g50%b50%r, etc...
with asm you /could/ say 'the app is the source'
asm is moderately useless for putting into X, it has to be portable.
-Yarn - Rio Karma: Excellent
I seem to remember some C64 demos that programmed the video hardware to get subpixel accuracy, but I think that was more of a hack of the hardware.
nojw
See Color LCD Panel Subpixel Rendering by Prof. Hank Dietz, December 15, 1998.
--
Tim Mattox
Basically, you fake a 3x resolution increase to make edges smoother.
:)
My question is, will this technology be relevant once monitors at 3072x2304 are common? The extra resolution would surely be wasted on making your browser window or text editor larger -- because your eyes can only read so much. But if you used it to enchance the readability of everything on the screen, making all your edges sharper -- it could make things much easier to read, scale, and enjoy.
1024x768 screens are fairly uncrowded. They give you lots of space to overlap windows when you need to work between a couple of applications, and provide a nice size for working in one application. But once you go past to resolutions of 1280x960 or 1600x1200, you begin to not see any useful gains. "Everything" begins to shrink, leaving more and more useless white space, while using an exponential increase in video ram and monitor bandwidth/scan time.
Perhaps the real application of a technology like this is not for using the properties of LCDs to fake more pixels, but in rendering low-resolution 1024x768 screen on a high resolution 3072x2304 screen with anti-aliasing and proper kerning, and other smoothing techniques to make it as crisp as any piece of paper. This could make 2D cards require an extra bit of logic on the silicon, but the benefits could be many.
I'm sure 3D graphics would benenfit too, considering how anti-aliasing could make the "low" resolution of 1024x768 look fine (the Voodoo5's FAA makes lower resolutions just as good looking as higher resolutions withouth FAA). Instead of worrying about larger memory usage by video cards, you could just work towards a fixed target, and let the monitor's increased resolution + the logic on the card do full screen anti-aliasing without as much special logic as the Voodoo5 employs, and it'd look crisper because you actually have those extra pixels to use (instead of just relying on the eye to average the shades of adjacent pixels).
Just a thought
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
...that low-pass filters (exactly the same ones that are used in traditional antialiasing) work better on LCDs if sampling is done separately for three channels with taking phase shift between grids of red, green and blue pixels into account. While explanation of the reasons, measurement of difference between "most perfect" filtering and low-pass filters, and demonstration may be interesting, the idea itself is rather obvious and hardly can be considered a great triumph of human thought.
Contrary to the popular belief, there indeed is no God.
Yea, I know it is kind of mean to harp on a system that is older than I am, but I think it is ridiculous that X is so far behind in modern display technology. (It is also ridiculous that we are still using it after so many years, but that's another story.) Coming from the all anti-aliased all the time world of BeOS, I notice that X has really poor font handling. If you read any of the FreeType docs, you'll see constant bitching about how X really doesn't provide any font support worth a damn. While X just recently got integrated truetype support, and is still far away from having anti-aliasing (which even Windows! has) Microsoft is introducing new technology to make fonts look even better! Aside from these small scope issues, this fact points to larger problems with the X architecture. It just wasn't designed to be extended cleanly. As such, X (at XFree86) still doesn't have genuinly usefull things like DPS and anti-aliasing. This is yet another reason that X needs
A) A huge, major rewrite.
B) To be replaced with something else.
Berlin looks very promising. True it uses CORBA for its API services, which sacrifices speed, but even at the beta level that it is in, it already has nifty features like anti-aliasing support, and a totally cool imaging model. Also, it is designed to be extended cleanly.
A deep unwavering belief is a sure sign you're missing something...
I looked at it on my primary surfing system, an Acer TravelMate 720 series laptop PC with a 1024x768 active matrix color LCD. Looks beautiful. It'd look even better on Nintendo's Game Boy Color, where the red, green, and blue vertical stripes are even more pronounced.
Will I retire or break 10K?
No, but colors in an NTSC signal are horizontally multiplexed in a similar way to colors on the LCD panel of the laptop computer I'm typing this on.
Will I retire or break 10K?
Whether Microsoft Research will be a long term fixture among top industrial research labs remains to be seen. It's also unclear whether Microsoft Research will be any more successful at technology transfer into products than other labs. Apple, for comparison, used to spend a lot of money on research (Gates was bragging publically he didn't have to spend any, he'd just take Apple's results) but disintegrated within a couple of years when the company wasn't doing so well.
With their wealth and promise of stock options, Microsoft has had an easy time luring away people from other research labs until now. Losing so many good people has been pretty bad for those other labs, as you can imagine, and that has given Microsoft Research the reputation of begin a raider (in line with the generally aggressive stance of Microsoft).
Does it actually look like a significant improvement to you?
A better filter for text would be a cheapo box filter. The worst it can turn a 1-pixel black line into is two .5 lines that are adjacent. Adjusting for the screen gamma (their examples *do* do this) will make a much more "even" result than this fancy filter (and would be dozens of times faster). In particular the thin lines would all appear to be much closer to the same weight (it is also necessary that the original binary image have lines of even thickness).
The "cleartype" I think looks somewhat sharper because it uses this simpler filter. You can also see dithering artifacts all over the white area to the right, so I believe they are rendering at 3x width and then translating this to the rgb values of each pixel, but using something like error diffusion to keep the average total color rendered "gray". I think they should reset the error after some number of pixels of solid color because your eye will not see this:
RGBRGB.....RGBR
as more red than this:
RGBRGB.....RGB
This would get rid of the dithering artifacts on the right.
In any case it actually is an innovative idea. The truth about innovative ideas is that they seem quite obvious once somebody thinks of them. It also means that it is almost impossible to stop real "innovation" from being used by everybody, since just seeing the output provides enough information for the innovation to be recreated. In fact I would expect this to appear in lots of commercial and free products quite soon.
look here. This will better help to understand of what we are speaking, what is interesting about it (and what is old news).
When talking about Microsoft Research, don't give a pointer to Microsoft. This is almost like confusing, say, NASA and U.S. Government (here or here).
--
Industrial space for lease in Flatlandia.
Bitmaps captured from laptop screens with cleartype are going to be messed up if you view them on a different kind of monitor, but I guess this isn't as much of an issue for PocketPCs. They should, however, consider having cleartype rendering being optional so that people can get useful screen captures for web sites etc.
I was definitely wondering about that. I suspect a simpler approach (and certainly not patentable in the context of the clear thinking minds of /. readers) is to simply perform the type rendering, and hinting, in separate color spaces shifted by an amount intended to correct for the particular display in use, be it discrete LCD, analog LCD, or striped CRT. Still, that alone is not the whole effect. There is an effect of the fuzziness of the edges varying by horizontal position with respect to pixel alignment, and this, too, varies by color plane (absolute for discrete LCD). The Fourier Analysis could come into play to correct for this, though I suspect some pre-generated masks would really be all that would be needed.
now we need to go OSS in diesel cars