Anwendungen zu Fraktalen

 

Riemersma-Dithering

Zur Wiedergabe von Graustufenbildern auf Schwarzweiß-Grafikgeräten, wie z.B. einem Laser- oder einem Tintenstrahldrucker, ist es notwendig, dass der Drucker oder das Programm, welches den Drucker ansteuert, das Graustufenbild in eine Bitmap, d.h. in ein Feld von schwarzen und weißen Pixeln umwandelt. Dafür wurden spezielle Algorithmen und Techniken entwickelt, die unter dem Namen Dithering zusammengefasst werden:
Ordered Dithering
Bei der üblichen Vorgehensweise eines Dithering-Verfahrens wird das Bild linear, entweder Zeile für Zeile oder blockweise, eingelesen und eine Schwarzweiß-Näherung des Bildes erzeugt, wobei darauf geachtet wird, dass der entstehende Fehler so klein wie möglich ist. Das lineare Einlesen und Wiederausgeben hat jedoch zur Folge, dass Spuren des Dithering-Verfahrens (sogenannte Artefakte) zurückbleiben und das Bild für das Auge unnatürlich wirkt, insbesondere bei Grafiken mit kontinuierlichen Farbverläufen wie in der Abbildung rechts. Hier kann eine flächenfüllende Kurve wie die Hilbert-Kurve Abhilfe schaffen. Man projiziert die Hilbert-Kurve auf ein Graustufenbild und iteriert so oft, dass die Kurve durch alle Pixel dieses Bildes läuft. Die Kurve stellt somit eine Alternative zum zeilenweisen Einlesen (Ordered Dithering) der Pixelblöcke dar:
1. Stufe   2. Stufe   3. Stufe
die ersten drei Stufen der Hilbert-Abtastung

Nun kann das Graustufenbild entlang der Hilbert-Kurve durch eine Schwarzweiß-Näherung ersetzt werden, wobei darauf geachtet wird, dass der entstehende Gesamtfehler beim Dithering minimal bleibt. Der Vorteil dieses fraktalen Dithering-Verfahrens liegt darin, dass im Ersatzbild keine Richtungsmerkmale des Dithering zurückbleiben, wie es beim herkömmlichen »Ordered Dithering« der Fall ist. Das unregelmäßige Punktmuster, das erzeugt wird, ist für das menschliche Auge wahrnehmungsfreundlicher, zumal es Ähnlichkeiten zur Kornstruktur bei Schwarz-Weiß-Fotografien aufweist.
Quelle: CompuPhase

Ordered Dithering Dithering per Hilbert-Abtastung

Man erkennt sehr deutlich, dass beim Ordered Dithering Artefakte erzeugt werden, beim Dithering mittels Hilbert-Abtastung hingegen nicht. Das auch nach Thiadmer Riemersma benannte Verfahren wurde 1998 in der Dezember-Ausgabe des C/C++ Users Journal unter dem Titel »A Balanced Dither Algorithm« veröffentlicht.

 
Hinweise und Kritik
Valid XHTML 1.1! Veröffentlichung: 16. August 2007
letzte Änderung: