Zum Hauptinhalt Zur Navigation

Pixelkunst entpixeln: Pixelige Sprites in skalierbare Vektorgrafiken wandeln

Zwei Forscher haben einen neuen Algorithmus entwickelt, der eine auflösungsunabhängige Vektordarstellung aus Pixel-Kunstwerken (Pixel Art Images) erstellt. Aus einem kleinen pixeligen Supermario-Sprite wird so eine beliebig vergrößerbare, gestochen scharfe Comic-Grafik.
/ Jens Ihlenfeld
121 Kommentare News folgen (öffnet im neuen Fenster)
Super Mario Bros.: Original vs. Vektordarstellung (Bild: Johannes Kopf / Dani Lischinski)
Super Mario Bros.: Original vs. Vektordarstellung Bild: Johannes Kopf / Dani Lischinski

Unter dem Titel " Depixelizing Pixel Art(öffnet im neuen Fenster) " stellen Johannes Kopf(öffnet im neuen Fenster) von Microsoft Research und Dani Lischinski(öffnet im neuen Fenster) von der Hebräischen Universität von Jerusalem einen neuen Algorithmus vor, der Vektorgrafiken aus Pixelkunst erzeugt, die sich dann beliebig vergrößern lassen. Dazu wandelt der Algorithmus die pixeligen Details in Regionen mit sanft variierenden Schattierungen um, die mit weichen Konturlinien voneinander abgegrenzt werden.

Depixelizing Pixel Art - Algorithmus von Kopf und Lischinski
Depixelizing Pixel Art - Algorithmus von Kopf und Lischinski (00:46)

Die Vorlagen für den Algorithmus stammen aus Computerspielen aus den Anfängen der 90er Jahre. Sie wurden damals Pixel für Pixel gesetzt und nicht aus größeren Vorlagen heruntergerechnet. Einige dieser Sprites haben regelrechten Kultstatus erlangt, beispielsweise das Raumschiff aus Space Invaders oder die dreifarbigen Sprites aus Super Mario Bros.

Der Algorithmus von Kopf und Lischinski setzt genau da an. Durch die aufwendige Gestaltung der einzelnen Pixel enthalten die Grafiken ausreichend Ausdruck, um daraus Vektordarstellungen zu erzeugen. Algorithmen zur Umwandlung von natürlichen Bildern liefern nach Ansicht der Forscher bei Pixelkunst keine brauchbaren Ergebnisse, denn jeder einzelne Pixel kann ein wichtiges Detail darstellen. Speziell für Pixelkunst erzeugte Algorithmen würden meist stufige Kanten liefern und nur bedingt vergrößerbare Ergebnisse liefern.

Depixelizing Pixel Art: Echtzeitdarstellung von Spielen im Blick

Die Originalpixel werden auf einem Gitter angeordnet, auf dem diagonale Nachbarn nur mit einem Punkt verbunden werden. Dadurch wirken dünne Details bei herkömmlicher Vergrößerung nicht miteinander verbunden und es entstehen Doppeldeutigkeiten, was die Verbindungen und Trennung diagonaler Nachbarn betrifft. Der von Kopf und Lischinski entwickelte Algorithmus löst diese Doppeldeutigkeiten auf, was es erlaubt, Pixelzellen neu zu formen, so dass Pixel, die zum gleichen Detail gehören, bei Vergrößerung verbunden wirken. Anschließend werden Treppeneffekte reduziert und die Formen mit an die Konturen angelegten Splines geglättet.

Die so erzeugte Vektordarstellung kann mit Standardtechniken gerendert werden.

Die beiden Forscher haben ihren Algorithmus mit Grafiken verschiedener Computerspiele ausprobiert und mit den Ergebnissen anderer Algorithmen verglichen. Auf einem Single-Core-Rechner mit 2,4 GHz benötigte der noch nicht auf Geschwindigkeit optimierte Algorithmus von Kopf und Lischinski im Median 0,62 Sekunden, um eine Pixelgrafik in eine Vektordarstellung umzuwandeln. Dabei hängt die Geschwindigkeit maßgeblich von der Zahl der extrahierten Kurven ab und variiert zwischen 0,01 und 3,06 Sekunden.

Die beiden haben den Algorithmus auch im Echtzeitbetrieb getestet, auch wenn er dafür noch nicht ausgelegt ist. Dabei liefert der Algorithmus robuste Ergebnisse. Bei Bildern mit Anti-Aliasing tut sich der Algorithmus allerdings schwer, wie die Forscher an einem Ergebnis aus id Softwares Doom zeigen. Zudem werden manchmal Details zu stark weichgezeichnet, was am Piktogramm eines 386er Prozessors deutlich wird.

Die Forscher erwägen, ihren Algorithmus auf höhere Leistung zu optimieren, so dass er in Videospielen eingesetzt werden kann. Dann wäre es möglich, alte Spiele auf moderner, hochauflösender Hardware in hoher Grafikqualität zu spielen.


Relevante Themen