Was verursacht Aliasing?


47

Ich höre immer von Aliasing und Anti-Aliasing und weiß, wie es aussieht, aber was ich nicht verstehe, ist, was es verursacht. Ist es ein physikalisches Phänomen? Oder eine numerische?

Wenn es hilft zu erklären, ich habe einige Programmierkenntnisse, aber nicht in Videospielen oder Grafiken.

Antworten:


60

Ist es ein physikalisches Phänomen? oder numerisch?

Diese Frage impliziert für mich, dass Sie nicht genau wissen, was Aliasing / Anti-Aliasing bedeutet. Ich meine, Sie sagen, Sie wissen, wie es aussieht, aber wenn Sie tatsächlich wüssten, was die Begriffe bedeuten, würden Sie wahrscheinlich erkennen, dass Ihre Frage unsinnig ist. Aliasing ist ein Nebeneffekt der Darstellung von Computergrafiken, und Computergrafiken sind per Definition keine physischen Phänomene.

"Aliasing" bezieht sich nur auf den Treppenstufen-Look auf abgewinkelten Linien, da Computergrafiken tatsächlich aus vielen winzigen Quadraten in einem Raster bestehen. Hier ist ein Bild, um zu veranschaulichen, wovon ich spreche: Bildbeschreibung hier eingeben

Dies ist ein Problem, wenn Sie die Pixel in einem Bild rendern, unabhängig davon, ob Sie freihändig zeichnen oder einen Algorithmus schreiben, um die Pixel für ein 3D-Polygon zu berechnen. Es ist nur ein Nebeneffekt der Tatsache, dass das Bild ein quadratisches Pixelraster ist. "Anti-Aliasing" ist, wenn Sie den Treppenstufen-Look verschleiern, indem Sie die Farben entlang der Randpixel zusammenmischen.


18
@Kruncho Tut mir nie leid, dass du dich geirrt hast, es sei denn, du bringst anderen deine Fehler bei! Tut mir nur leid, wenn du nicht versuchst zu verstehen oder nicht korrigiert werden willst. Ihr Fehler hat tatsächlich dazu beigetragen, zu klären, was genau Sie wissen wollten: ('Wie' geschieht Aliasing in Computergrafiken?). Übrigens ist diese Antwort die beste, um zu veranschaulichen, was, wie und warum es sich um ein numerisches Problem handelt. Sie können sich das als Einschränkung beim Versuch vorstellen, gebrochene Zahlen nur mit ganzen Zahlen darzustellen. Es gibt keine halben Pixel usw. Sie erhalten also blockig aussehende Bilder.
Fuzzy Logic

5
@jhocking Eine umständliche Korrektur: Die Rechtwinkligkeit der Pixel ist eigentlich nicht relevant. Aliasing würde genauso passieren, wenn jedes Pixel runde Punkte mit derselben Größe wäre.
Fuzzy Logic

10
@jhocking "Square Grid" schneidet es auch nicht. Wenn Ihre Pixel in einem hexagonalen Raster angeordnet wären, würden Sie immer noch ein Aliasing erhalten (das ein bisschen anders aussieht). Alles, was zählt, ist, dass die Pixel in einem regelmäßigen Muster angeordnet sind und eine Größe ungleich Null haben, und diese beiden Bedingungen gelten für jede denkbare Anzeigetechnologie.
Mike Scott

3
Du wirst beim Wort "Quadrat" hängen, wenn das nur ein Deskriptor für "Gitter" ist.
jhocking

11
@MikeScott: Auch bei unregelmäßig angeordneten Pixeln wird das Aliasing angezeigt. :))) Die wichtige Bedingung für das Auftreten von Aliasing ist, dass die maximale Frequenz des Originalsignals (des Originalbilds) höher als 2 * (1 / T) ist (wobei T das Intervall zwischen den Abtastwerten ist = der Abstand zwischen den Pixeln ). --- Wenn das Originalbild scharfe Kanten hat (wie die schwarze Linie auf weißem Hintergrund), ist die maximale Frequenz unendlich.
Pabouk

121

Die akzeptierte Antwort ist nicht unbedingt korrekt, obwohl sie sich mit der häufigsten Verwendung in Computergrafiken befasst. Aliasing ist ein grundlegendes Konzept in der Signalverarbeitung, und seine mathematische Theorie geht Computerbildschirmen voraus. Es ist auch nicht wirklich wahr, dass "es ein Nebeneffekt der Tatsache ist, dass Pixel quadratisch sind". Aliasing tritt immer dann auf, wenn Sie ein Signal mit einer Rate unterhalb der Nyquist-Rate für dieses Signal diskret abtasten und wirkt sich auf digitales Audio sowie auf Bilder und viele andere Arten von diskret abgetasteten Signalen aus. Aliasing in der Computergrafik ist ein Nebeneffekt der diskreten Abtastung, nicht der Form der Pixel.

Anti-Aliasing in der Computergrafik ist ein tiefgreifendes und komplexes Thema, das viel mehr beinhaltet als nur Kanten-Anti-Aliasing. Auch hier liegt der Signalverarbeitung eine Menge Theorie zugrunde, und es ist ein aktives Forschungsgebiet in der Computergrafik, wie Anti-Aliasing nicht nur für Kanten, sondern auch für temporäres Aliasing, für Aliasing bei der Rekonstruktion einer BRDF in Pixel-Shadern und für Schatten effektiv durchgeführt werden kann Kanten und in vielen anderen Bereichen. Mip-Mapping von Texturen in 3D-Grafiken ist eine bewährte Antialiasing-Technik, die sich mit einem anderen wichtigen Problem als beispielsweise Kanten-Antialiasing befasst.

Es ist wirklich ein mathematisches Phänomen, das mehr als ein physikalisches Phänomen ist, aber es zeigt sich in der Technik in vielen anderen Bereichen als der Computergrafik. Ich würde es auch nicht wirklich als numerisches Phänomen beschreiben - es ist das Ergebnis einer diskreten Abtastung, nicht der diskreten Darstellung numerischer Werte auf einem Computer, obwohl dies auch zu Aliasing-Effekten führen kann. Das Verständnis der Grundlagen der Signalverarbeitung ist eine gute Grundlage, um zu verstehen, wie sich Aliasing in der Computergrafik manifestiert, und um zu verstehen, wie man es reduzieren kann.


6
Einerseits habe ich heute etwas Neues gelernt und noch nie von Aliasing in einem anderen Kontext als Grafikkanten gehört. Trotzdem scheint dieses zusätzliche technische Detail der Erklärung "es ist ein Nebeneffekt der Tatsache, dass Pixel quadratisch sind" nicht zu widersprechen. "Diskrete Abtastung" ist nur eine originelle Art zu sagen, "die Kante ist tatsächlich ein Bündel diskreter Pixel, keine durchgehende Linie".
jhocking

15
+1 für technische Richtigkeit. Obwohl ein bisschen zu technisch in Anbetracht des Levels der gestellten Frage und geht nicht wirklich auf die implizite Frage ein. Die akzeptierte Antwort entspricht eher dem Zweck der Frage. Ich habe aber etwas Neues gelernt, also danke für die Ausarbeitung :)
Fuzzy Logic

6
@jhocking sorry, wir Grafikprogrammierer neigen dazu, ein bisschen über Aliasing nachzudenken :) Ich denke, Ihre Antwort beantwortet die Frage, aber wenn jemand tiefer in die Computergrafik einsteigen möchte, ist es hilfreich zu verstehen, dass Aliasing ein mathematisches Phänomen mit einem ist Reihe von Theorie dahinter. All diese technischen Details sind praktisch für das ultimative Ziel, schöne Bilder in unseren Spielen zu machen :)
mattnewport

4
@jhocking Der Punkt ist, dass es egal ist, welche Form die Pixel haben - es ist also kein Nebeneffekt der Tatsache, dass Pixel quadratisch sind , sondern ein Nebeneffekt der Tatsache, dass Pixel ihre Farbe nicht ändern Umfang. Und überhaupt, ein Pixel ist kein kleines Quadrat .
Daniel Wagner

1
Bei deiner Antwort fehlen Bilder, sonst wäre es definitiv das akzeptierte. Abgesehen von dem Kanten-Anti-Aliasing-Beispiel benötigt es: 1) ein animiertes GIF von Autorädern, die sich im Uhrzeigersinn drehen und plötzlich anhalten und die Richtung ändern. 2) ein 3D-Schachbrett (du kennst das, das ins Unendliche geht) ... Ich habe auch die Signalverarbeitung studiert.
MartinTeeVarga

68

Zusätzlich zu den beiden anderen Antworten finden Sie hier eine intuitivere Erklärung dessen, was passiert.

Aliasing in einem 2D-Polygon

Die Gitterquadrate repräsentieren Pixel. Das rote Polygon links ist die zu zeichnende Form, die intern als Folge von Punkten dargestellt wird. Beim Rendern wird es aus einer Liste von Punkten in einen Puffer mit Pixelfarben konvertiert. Die diskrete Abtastung bestimmt, welche Pixel dunkel und welche hell sind, basierend darauf, wie viel des Polygons jedes Pixel bedeckt.

Um Ihre Frage zu beantworten, handelt es sich um ein numerisches / mathematisches Phänomen, da Informationen über die ursprüngliche Form aufgrund von Annäherungen verloren gehen.

Kantenglättung

Anti-Aliasing ist, wenn das Rendering versucht, das Aliasing zu korrigieren, indem teilweise verdeckte Pixel weniger intensiv werden.


5
Hier ist die erste Antwort, die wirklich erklärt, was los ist. Gut gemacht.
Beska,

1
"teilweise verdeckte Pixel weniger intensiv machen" ist nicht genau so, wie ich es verstehe. Ich glaube, dass die meisten Anti-Aliasing-Algorithmen einen Tiefpassfilter (wie einen Unschärfefilter) anwenden, manchmal über den gesamten gerenderten Frame (wie bei FXAA), oder intelligentere Algorithmen führen ihn nur über Kantengrenzen hinweg aus. MSAA macht das anders, aber der Gesamteffekt bleibt der eines LPF über harte Kantengrenzen hinweg.
Luke

1
@ Luke Ich wollte nicht, dass der letzte Absatz eine Erklärung dafür ist, wie die Dinge funktionieren. Es beschreibt nur das Ergebnis von Anti-Aliasing. "Intensiv" ist nicht der richtige Begriff, aber er gilt, wenn das Antialiasing für eine Form ausgeführt wird, deren Farbe intensiver ist als der Hintergrund. Das ist alles was ich sagte.
Aebabis

3

Im Bereich der Signalverarbeitung bezieht sich Aliasing auf die falsche Identifizierung der Signalfrequenz. Beispielsweise kann es aufgrund des Fehlens einer angemessenen Berücksichtigung im Unterabtastschritt zu Fehlern und Verzerrungen kommen. Es kann auf das diskrete 2D-Signal wie ein Bild verallgemeinert werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.