Antialiasing (Computergrafik)

Bei Antialiasing werden Signalanteile, die das Abtasttheorem verletzen, durch Oversampling mit anschließender Tiefpassfilterung gedämpft. Antialiasing wird eingesetzt bei:
- der Ausgabe von Text und Grafiken auf einem Computerbildschirm und
- der Digitalisierung von Analogsignalen (siehe Alias-Effekt).
Das Antialiasing bei der Ausgabe auf ein Rastermedium wie dem Bildschirm nennt man auch Treppeneffektglättung.
Häufig wird Antialiasing auch falsch als Oversampling bezeichnet. Tatsächlich sind zwei Schritte notwendig: Erzeugung von Datenmaterial in höherer Auflösung, und anschließende Reduktion, wobei die Lokalität der zusätzlich gemessenen oder berechneten Daten vernichtet wird. Diese beiden Schritte fasst man bei der Treppeneffektglättung auch unter dem Begriff Supersampling zusammen. Bei zweidimensionalen Grafiken werden jedoch meist spezielle Algorithmen verwendet, die die reduzierten Daten direkt berechnen und kein Supersampling erfordern.
Antialiasing bei Vektorgrafiken
Beim Antialiasing der Bildschirmausgabe wird der so genannte Treppeneffekt – eine Auswirkung vom Aliasing – beseitigt, der bei der Rasterung einer Vektorgrafik (Linie, Kreis, Schrift u. ä.) entsteht. Weiterhin wird so genanntes Line popping reduziert, welches bei bewegten Grafiken auftritt.
Beim Zeichnen einer Linie können nur horizontale und vertikale Linien problemlos gezeichnet werden, deren Strichstärke ein Vielfaches des Pixelabstands ist und deren Anfangs- und Endpunkt auf einem Pixel liegt. Ist eine Linie etwas schräg, so entstehen zwangsläufig Treppenstufen. Das gleiche widerfährt auch allen runden Formen und Schriften. Je gröber die Auflösung ist, desto deutlicher wird der Effekt.
Beim Antialising von Vektorgrafiken berücksichtigt man, welche Pixel von der Grafik wie stark überschnitten werden und gibt ihnen einen entsprechend gewichteten Farbwert. Dabei werden die Pixel üblicherweise als Quadrate betrachtet. Je mehr von der Pixelfläche durch die Grafik abgedeckt wird, desto mehr wird der Pixel mit deren Farbe eingefärbt. Oft werden spezielle Filter angewandt, bei denen die Grafik auch Einfluß auf umliegende Pixel hat.
Antialiasing bei 3D-Grafikkarten
Bei den von 3D-Beschleunigern erzeugten 3D-Grafiken kann Antialiasing nicht nur, wie bei zweidimensionalen Grafiken, von der Software, sondern auch von der Grafikkarte durchgeführt werden. Es wird häufig AA abgekürzt.
Zunächst unterstützten nur sehr hochwertige und teure Grafikkarten diese Technik in Grafikschnittstellen wie OpenGL. Doch mit der Einführung des Desktopgrafikchips VSA 100 von 3dfx, verwendet in den Grafikkarten Voodoo 4 4500, Voodoo 5 5500 und der nie offiziell erschienenen Voodoo 5 6000, wurde diese Eigenschaft auch für den normalen Anwender verfügbar. Folgende Techniken des Antialiasing kommen dabei zur Anwendung:
- „Supersampling“ (SSAA)
- Dabei wird das Bild in einer höheren Auflösung berechnet und dann heruntergerechnet, womit Farbmittelwerte entstehen. Beispielsweise wird bei 4-fachem AA das Bild in der Auflösung 800×600 angezeigt, aber in der 4-fachen Auflösung von 1600×1200 berechnet und dann auf 800×600 heruntergerechnet. Dadurch werden also indirekt 4 Samples pro Pixel berechnet; man nennt das auch 2×2 Supersampling. Der Vorteil dieser Technik ist, dass zumindest Ordered Grid Supersampling (siehe unten) nur per Treiber, also eigentlich mit jeder 3D-Grafikkarte, realisierbar ist. Außerdem werden nicht nur die Kanten geglättet, sondern auch die Texturen. Dies ist möglich, da der Filter von Grafikkarten nicht perfekt ist. Allerdings kann der anisotrope Filter bei neueren Grafikkarten aktiviert werden, der ein viel besseres Bild als der sonst übliche trilineare oder gar bilineare Filter bietet, obwohl auch dieser Filter ist nicht ganz perfekt. Der Nachteil dieser Methode ist, dass sie sehr viel Leistung verbraucht. Obgleich alle Antialiasing-Techniken der 3D-Beschleuniger Supersampling verwenden, wird diese Bezeichnung von den Herstellern nur speziell für diese Variante verwendet.
- Multisampling (MSAA)
- Bei dieser Technik wird nur an den Kanten, nicht in den Texturen Supersampling durchgeführt. Multisampling wird nicht von allen Grafikkarten unterstützt.
- Fragment Antialiasing (FAA)
- ist eine dem Multisampling verwandte Technik. Sie kostet sehr wenig Leistung, muss aber auch durch die Hardware unterstützt werden.
- Ordered Grid- und Rotated Grid-Antialiasing (OGAA und RGAA)
- Beim OrderedGrid-AA sind die Samples innerhalb des Pixels rasterförmig angeordnet und wie die Pixel ausgerichtet. Bei RotatedGrid-AA sind die Samplepositionen gedreht (um eine bestimmte Gradzahl, beispielsweise 27,5° beim VSA-100). Tatsächlich wird eine sparse Maske verwendet (siehe unten), sodass ein qualitativ deutlich höherwertiges AA entsteht. Beide Methoden sind bei allen drei oben genannten Techniken möglich. Bei Supersampling wird dies mit einer Verzerrung des Pixelmusters herbeigeführt.
- Sparse Grid Antialiasing (SGAA)
- Der 2x und 4x Modus im sparse-Verfahren entspricht einem rotated grid. Dabei wird beim rotated grid nicht das OG-Pixelmuster nur rotiert, es wird auch so skaliert, dass es die sparse-Bedingung erfüllt, eine bestmögliche Kantenauflösung zu gewährleisten. Das 6x-Muster der ATI Radeon-Grafikkarten (ab Radeon 9500) ist ein sparse Grid.
Anwendung
Vorteile
- Eckige Kanten und harte Übergänge werden reduziert.
Die eigentliche Form der Linie bzw. Rundung tritt deutlicher hervor. Aliasing-Effekte wie "Treppenbildung" an Kanten wird reduziert.
- Pixel- und Linien-Flimmern wird reduziert.
Durch die feinere Abtastung werden ganze kleine oder ganz dünne Objekte, die sonst durch das Pixelraster fallen, noch erfasst. Dies verhindert ein plötzliches "Aufpoppen" von Linen wie z. B. an dünnen Antennen-Masten.
Nachteile
- Verringerte Schärfe.
Durch die zusätzlichen Punkte und den weicheren Übergang zum Hintergrund wird das Bild scheinbar unschärfer. Tatsächlich jedoch nimmt der Informationsgehalt zu. Aliasing-Effekte sind Bildstörungen, die durch "Überschärfe" auftreten. Im Vergleich wird das bessere Bild mit Antialiasing manchmal als unschärfer empfunden.
- Kleine Schriften werden beschädigt.
Wenn ohnehin kaum noch genügend Pixel zur Darstellung einer Schrift vorhanden sind, kann Antialiasing die Schrift soweit zerstören, dass sie unleserlich wird. Allerdings ist die Schrift ohne Antialiasing auch nicht mehr zu entziffern.
- Größere Dateien.
Durch die Halbwerte im Übergangsbereich entstehen zusätzliche Farbwerte.
- Längere Rechenzeiten.
Das Erzeugen der geglätteten Kanten durch Oversampling nimmt deutlich mehr Rechenleistung in Anspruch.
Antialiasing durch das Betriebssystem
Antialiasing kann auch durch das Betriebssystem durchgeführt werden, in dem die ganze Darstellung der Benutzeroberfläche mit einen Antialiasing-Algorithmus bearbeitet wird.
Microsoft Windows XP, Mac OS X und die meisten Linux-Distributionen verwenden standardmäßig Antialiasing zur Darstellung der Benutzeroberfläche. Wer das Ergebnis als zu unscharf empfindet oder kleine Schriften dadurch nicht mehr lesen kann, kann das Antialiasing deaktivieren.
Antialiasing ist kein Allheilmittel gegen zu geringe Auflösung, sondern kann die Folgen nur lindern. Als Anwender muss man jeweils prüfen, ob Antialiasing das Ergebnis verbessert oder ob man diese Option lieber ausschaltet. Antialiasing kostet grundsätzlich Systemleistung.
Weblinks
- av3's Antialiasing Tutorial (engl.)