Subpixel-Rendering

Aktuellere Betriebssysteme, wie Mac OS X, Windows 7 und verschiedene Linux-Distributionen stellen Schriften mit „Subpixel-Rendering“ dar, um eine bessere Darstellung auf LCDs zu erreichen.

Microsoft hat das Verfahren bereits mit Windows XP unter dem Namen „ClearType“ eingeführt (siehe auch http://www.microsoft.com/typography/cleartypeinfo.mspx), wo es aber erst manuell eingeschaltet werden muß, da zum Zeitpunkt der Einführung LCDs noch nicht sehr weit verbreitet waren.

Unterschiede zwischen Bildröhren und LCDs

Bildröhren sind prinzipbedingt nicht in der Lage, einzelne Bildpunkte exakt auf RGB-Tripel abzubilden. Statt dessen besteht ein Bildpunkt, der von der Grafikkarte erzeugt wird, je nach Auflösung aus mehr oder weniger großen „Wolken“ von roten, grünen und blauen Punkten. Dadurch wird jede Darstellung immer leicht unscharf, gleichzeitig sind aber Treppen und Kanten an Linien und runden Formen nicht so stark ausgeprägt, da man einzelne Bildpunkte nicht mehr eindeutig erkennen kann:

Lochmaske

Bei LCDs dagegen wird jeder Bildpunkt exakt durch drei Subpixel dargestellt. Das Ergebnis ist ein sehr scharfes Bild, bei dem aber auch die Treppenbildung von schrägen Linien und runde Formen sehr deutlich wird:

LCD

Funktionsweise von Subpixel-Rendering

Ohne jede Kantenglättung werden Schriften nur in zwei Farben dargestellt, wie hier am Beispiel des Buchstaben „A“ in starker Vergrößerung:

Matrix des Buchstaben „A“

Tatsächlich ist der Buchstabe aber nicht so gleichförmig, wie er wirkt, wie man am Original mit höherer Auflösung erkennen kann:

Sieht man sich die Struktur auf einem LCD an, erkennt man auch die Subpixel, aus denen die Darstellung zusammengesetzt wird – hier am Beispiel einer RGB-Matrix, wie sie bei vielen LCDs üblich ist:

Matrix des Buchstaben „A“ mit RGB-Subpixeln

Man sieht deutlich, dass die Zahl der Subpixel wesentlich größer ist, als die Zahl der verwendeten Pixel in der schwarz/weiß-Darstellung. Genau das wird ausgenutzt, um die tatsächliche Form des Zeichens genauer abzubilden. So sind die Linien des Zeichens auf beiden Seiten nicht exakt gleich dick und teilweise schmaler als ein Pixel.

Matrix des Buchstaben „A“ mit angepassten RGB-Subpixeln

Das zugrundeliegende Bild, wie es vom Betriebssystem berechnet wird, sieht stark vergrößert so aus:

Matrix des Buchstaben „A“ mit angepassten Pixeln

Korrekte Abstimmung auf das Display

Damit die korrekte Darstellung auf Ebene der Subpixel funktioniert, muss das Betriebssystem die exakte Anordnung der Grundfarben kennen. Die hier gezeigte Anordnung (RGB) ist zwar bei den meisten Bildschirmen üblich, aber es gibt auch Ausnahmen (BGR). Stimmt die Reihenfolge nicht, erscheinen deutliche ausgeprägte Farbsäume um die Zeichen herum. Falls die Zeichen eher „bunt“ und „fransig“ erscheinen, sollte zuerst überprüft werden, ob die Anordnung der Subpixel richtig eingestellt ist.

Im nachfolgenden Beispiel ist der Effekt gut zu erkennen. Wichtig – das Bild sollte ohne Größenänderung dargestellt werden (263×118 Pixel):

Subpixel-Rendering, Vergleich BGR mit RGB

Wenn der eigene Bildschirm Pixel mit RGB-Tripeln darstellt, sollte das untere Beispiel klarer erscheinen, andernfalls das obere.

Probleme bei der Pivot-Darstellung

Das beschriebene Verfahren geht von einer horizontalen Anordnung der Subpixel aus. Bei einer Pivot-Darstellung – also dem Drehen des Displays um 90°, um es hochkant zu verwenden – sind die Subpixel aber vertikal angeordnet. In diesem Fall wird das Ergebnis möglicherweise unscharf erscheinen, weil die Buchstaben dann ebenfalls um 90° gedreht ausgegeben werden und nicht mehr passend zur Anordnung der Subpixel. Hier hilft dann nur das Abschalten des Subpixel-Rendering und ggf. die Verwendung konventioneller Methoden zur Kantenglättung durch die Verwendung von Graustufen.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.