article

antialias.png

Bei Antialiasing * werden Signalanteile oberhalb der Nyquist-Frequenz durch Tiefpassfilterung gedämpft.

Zur digitalen oder zumindest zeitdiskreten Übertragung von analogen Signalen werden die analogen Ausgangssignale zunächst abgetastet, für die digitale Übertragung quantisiert, über einen Nachrichtenkanal übertragen und dann rekonstruiert. Das rekonstruierte Signal wird sich fast immer vom Ausgangssignal unterscheiden. Selbst bei der theoretisch besten Übertragungsmethode, welche durch das WKS–Abtasttheorem beschrieben wird, führen hochfrequente Signalanteile zum sog. Alias-Effekt, d. h. die hochfrequenten Anteile sind nach der Abtastung nicht mehr von anderen Signalanteilen, die unterhalb der Nyquist-Frequenz liegen, unterscheidbar. Meist ist dieser Fehler im rekonstruierten Signal unerwünscht, die hochfrequenten Anteile sollen "unsichtbar" bleiben. Daher wird ein Antialiasing-Filter eingesetzt – ein Tiefpassfilter, das vor der Quantisierung die Signalanteile oberhalb der Nyquist-Frequenz möglichst stark dämpft.

Reale, praktisch eingesetzte Abtast- und Rekonstruktionsverfahren sind immer weit von dem Ideal des Abtasttheorems entfernt. Gemessen am Ideal des Abtasttheorems werden durch den Abtast- und Rekonstruktionsprozess selbst hochfrequente Anteile zum Signal hinzugefügt. Um trotzdem eine fehlerarme Übertragung zu gewährleisten, wird eine Abtastrate verwendet, deren Nyquist-Frequenz weit oberhalb der höchsten genutzten Frequenz liegt. Diese Überabtastung (engl. oversampling) führt zu einer Abtastfolge, die Redundanzen zwischen benachbarten Folgegliedern aufweist. Mittels eines digitalen Tiefpassfilters und einer Untertaktung (engl. downsampling) wird daraus ein zeitdiskretes Signal erzeugt, dessen Abtastrate wieder näher am theoretischen Optimum liegt. Man geht von einer zunächst höheren Anzahl an Abtastpunkten zu einer geringeren Anzahl über. Dieses Vorgehen kann man als numerische Approximation der in der idealen Abtastung (inkl. analoger Tiefpassfilter) auftretenden Integrale auffassen.

Dem Vorgehen bei der Abtastung entsprechend, und die Reihenfolge umkehrend, kann bei der Rekonstruktion die übertragene Abtastfolge mittels Übertaktung (engl. upsampling) und eines digitalen Tiefpassfilters "weichgezeichnet" werden. Orientiert man sich am theoretischen Ideal des Abtasttheorems, so wird mittels dieses Vorgehens der Verlauf eines mit der sinc-Funktion interpolierten Signals approximiert. Da diese Funktion oszilliert, entstehen durch Rundungsfehler bei der Quantisierung wellenförmige Artefakte. Die Schritte der Untertaktung und Übertaktung können auch weggelassen werden, das übertragene Signal ist dann unkomprimiert. Man kann sich bei der Wahl der digitalen Tiefpassfilter auch an einer allgemein stetigen Interpolation orientieren.


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 oder Kantenglättung. Eine spezielle Methode, welche den Bildaufbau von Flachbildschirmen miteinbezieht, ist das Subpixel rendering.

Im Folgenden konzentriert sich der Artikel auf den ersten Punkt, nämlich der Ausgabe auf Computerbildschirmen.

Häufig wird Antialiasing auch falsch als Überabtastung 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.

Entstehung von Aliasing


Keine Wiedergabe, egal ob ein Monitor oder eine Druckmaschine, kann unendlich fein auflösen. Das kleinste darstellbare Element ist ein "Pixel". Dieses Pixel steht für einen definierten äußerst kleinen Flächenausschnitt des Bildes, und sollte sinnvollerweise die Mischfarbe aller Farben darstellen, die diesem Flächenausschnitt vorkommen, wobei diese Farben anteilig ihres Vorkommens gewichtet werden. Dies erfordert jedoch einerseits sehr viel Rechenleistung und andererseits unabsehbar viel Speichplatz, da die Anzahl der Objekte, die im Pixel liegen, theoretisch unbegrenzt ist. Deshalb wird in der Regel nur diejenige Farbe ermittelt, die im Mittelpunkt des Pixels liegt. Alle anderen Informationen werden unterschlagen. Die darzustellende Szene wird unterabgetastet und es kommt zu Aliasing-Effekten, das heißt es werden nicht nur im Pixelraster nicht mehr darstellbaren Informationen weggelassen, sondern die dargestellten Informationen zusätzlich verfälscht. Mittels Antialiasing kann man die Verfälschung mildern, ohne dass das Pixelraster verfeinert werden muss.

Bei Schriften, wenn es nur "Druckfarbe" oder "Papier" gibt, ließe sich mit entsprechendem Aufwand immerhin feststellen, ob mindestens 50% Druckerfarbe im Pixel liegen, anstatt nur den Mittelpunkt zu untersuchen. Sofern man jedoch im Pixel immer nur eine einzelne Kante hat, und nicht etwa eine Spitze, die ins Pixel hereinragt, ist die Mittelpunkt-Abtastung immer korrekt: Man kann keine Fläche mit gerader Begrenzung so in die Pixelfläche (meist ein Quadrat) schieben, dass zwar mehr als die Hälfte Fläche bedeckt wurde, aber der Mittelpunkt noch frei wäre. Schriftfont-Antialiasing ist aber ohnehin eine Problemklasse für sich, da man zum Beispiel bemüht ist, die Strichstärke immer auf ganzzahlige Pixelgrößen zu bringen. Andernfalls leidet die Lesbarkeit erheblich. Gerade auf Monitoren ist auch die gamma-korrigierte Darstellung wichtig, um Schriftfont-Antialiasing zu gestalten.

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 Antialiasing 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 Einfluss 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 heutzutage 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 (SS)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) per Treiber, also auch ohne AA-Logik auf dem Grafikchip, 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 nicht ganz perfekt ist. Der Nachteil eines ansitropischen Filters ist, dass dieser relativ viel Leistung in Anspruch nimmt. Supersampling stellt außerdem sehr hohe Anforderungen an die Speicherbandbreite eines Grafiksystems, da pro Frame ein mehrfaches an Daten über den Bus zum VRAM übertragen werden muss. 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.

Temporal Antialiasing: Dabei werden zwei verschiedene AA-Muster versetzt voneinender berechnet und dann abwechselnd übereinander gelagert. Durch die Trägheit des Menschlichen Auges sieht es aus, als würde nur eines verwendet. Somit kann man die AA-Qualität verdoppeln. Hat den Nachteil, dass das Bild bei sinkender Framerate zu flimmern beginnt. Wird derzeit von einigen ATi Radeon Grafikchips verwendet.

Full Scene Anti-Aliasing (FSAA)

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 ganz kleine oder ganz dünne Objekte, die sonst durch das Pixelraster fallen, noch erfasst. Dies verhindert ein plötzliches Erscheinen von Linien 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 eine solche Schrift auch ohne Antialiasing aufgrund ihrer Größe meist 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 Überabtastung nimmt deutlich mehr Rechenleistung in Anspruch. Stößt die Recheneinheit dabei an ihre Grenzen, ist die Darstellung von Animationen oft nicht mehr flüssig.

Antialiasing durch das Betriebssystem

Antialiasing kann auch durch das Betriebssystem durchgeführt werden, indem 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 System- und Speicherleistung.

Weblinks


Computergrafik | Digitale Signalverarbeitung

Antialiasing | Anti-aliasing | Antialiasing | Anticrénelage | Antialiasing | アンチエイリアス | Glodinimas | Anti-aliasing | Antialiasing | Antyaliasing | Kantutjämning

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Antialiasing".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld