Buntes Treiben
Seite 2: Was ist Dithering?
Was ist Dithering?
Es gibt verschiedene Möglichkeiten, Farbtöne mit Rasterpunkten aus drei Grundfarben darzustellen. Durch Variation von Punktabständen und/oder -größen lässt sich das gesamte Spektrum abdecken. Thermotransferdrucker können Punktgrößen beinahe stufenlos ändern - Tintenstrahler sprühten bis vor kurzem pro Düse jeweils nur diskrete Mengen von circa 6 Picolitern pro Farbpunkt. Bei ihnen scheidet daher eine Änderung der Punktgröße aus.
Das ‘errechnete’ Urraster gibt nun pro Punkt eine Farbintensität an, die mit dem Wirkwert des versprühten Tropfens (dessen Größe ja nicht kontinuierlich veränderbar ist) nur selten exakt übereinstimmt. Um das Urraster in das tatsächliche Tintenraster zu übersetzen, ist ein Rechenvorgang erforderlich, der ‘Dithering’ heißt. Er entscheidet für jedes Pixel einzeln, ob seine Intensität tatsächlich einen Tropfen Tinte rechtfertigt oder nicht.
Bei der simpelsten Methode entscheidet das Unter- oder Überschreiten eines Schwellwerts über das Aufbringen der Tinte. Dieser Algorithmus kommt jedoch nicht zum Einsatz, denn dadurch würden Flächen mit konstanter Intensität überhaupt nicht oder zu dunkel dargestellt, je nachdem, ob ihr Intensitätswert ober- oder unterhalb des Schwellwerts liegt. Eine ‘richtige’ Methode versprüht und verteilt für die Fläche eine Farbmenge, die dem errechneten Gesamtwert an Intensität entspricht. In anderen Worten: Sollte die Entscheidung bei einem Pixel gegen Drucken fallen, muss dieser Farbwert zum Ausgleich einem möglichst nahe benachbarten Pixel zugeschlagen werden, das dadurch über den Schwellwert hinwegkommt.
In der Regel verwendet man mindestens eine 2x2-Matrix, deren einzelne Felder mit unterschiedlichen Schwellwerten besetzt sind und die fliesenartig über die Gesamtfläche gedeckt wird. Dieses Verfahren heißt ‘Ordered Dithering’ und führt bei dunkleren oder intensiveren Flächen nicht zu den besten Ergebnissen.
Verteilte Fehler, bessere Farben
Verschiedene Fehlerverteilungsmethoden (Error Diffusion) merken sich bei jedem berechneten Punkt die Differenz zwischen dem Wert des Urpixels respektive dem des tatsächlich gedruckten Punktes und verteilen diese Differenz an benachbarte Punkte als Zuschlag oder Abzug. Die Differenz zwischen dem Tintenwert und der Vorgabe des Urrasters ist der Diffusion Error.
Normal Error Diffusion schlägt den Differenzwert zu gleichen Teilen den benachbarten Punkten in der unmittelbar nächsten Spalte und Zeile zu. Sobald der Wert eines Punktes den Schwellwert überschreitet, kommt eine negative Differenz heraus, die wiederum in die Berechnung der nächsten Punkte eingeht.
Im Allgemeinen funktioniert diese einfache Error Diffusion recht gut. Allerdings neigt sie zu wurm- oder wellenartigen Artefakten innerhalb heller, gleichförmiger Flächen, die von rechts oben nach links unten verlaufen. Um dies zu vermeiden, wird dieser Algorithmus durch zwei Sub-Methoden verfeinert, die das Gimp-Print-Projekt entwickelt hat: Random und Hybrid Error Diffusion.
Die Random Error Diffusion hält keinen hartkodierten, festen Schwellwert ein, sondern einen durch Pseudozufallszahlen von Punkt zu Punkt veränderten. Das liefert bei hellen Flächen ein hervorragendes Ergebnis, denn die ‘Würmchen’ fallen weitgehend weg; an Stellen hoher Dichte kann eine zu hohe Randomisation allerdings zu Klümpchen führen.
Hybrid Error Diffusion benutzt als Ausgangsmodell ‘Ordered Dithering’, also eine über das Urraster gelegte feste Matrix mit verschiedenen Schwellwerten, und lässt in Kombination damit bei jedem Punkt den aktuellen Diffusionsfehlerwert einfließen.
Gimp-Prints Error Diffusion Algorithmus erlaubt die Verteilung des Diffusion Error auf mehr als zwei bis zu zehn Pixel entfernte Punkte; dies vermeidet viele Nachteile der einfacheren Spielarten des Error Diffusion Dithering.
Adaptive Hybrid passt die Berechnungsmethode an den vorgefundenen Farbton an: Bei helleren Flächen benutzt es Ordered Dithering, bei dunkleren Error Diffusion. Dadurch erzielt es einen guten Kompromiss zwischen Geschwindigkeit sowie Qualität und vermeidet die Nachteile der Error Diffusion bei helleren Flächen.
Hellere Tinten,bessere Grautöne
Stehen neben den drei Grundfarben meist hellere Tinten zur Verfügung, müssen diese in den Algorithmus einbezogen und so verwendet werden, als ob sie geringere Intensitäten (kleinere Tröpfchen) der entsprechenden Grundfarbe darstellten. Dies bringt Vorteile bei der Darstellung heller Töne sowie Flächen und feiner Grauabstufungen. (Grau kann entweder durch ein Muster reiner Schwarzpunkte oder durch eine gleichmäßige nicht-deckende Verteilung der drei Grundfarben erzeugt werden.)