-
Die
Erfindung betrifft ein Verfahren zum Verschleiern von schadhaften
Druckelementen in einem Drucker, der einen Druckkopf mit mehreren
Druckelementen aufweist, bei dem jedes Pixel des Bildes einem Druckelement
zugewiesen ist, mit dem es gedruckt werden soll, und Bildinformation
eines Pixels, das einem schadhaften Druckelement zugewiesen ist,
zu einer in der Nähe
liegenden Pixelposition verschoben wird, wo sie mit einem nicht
schadhaften Druckelement gedruckt werden kann. Die Erfindung bezieht
sich weiterhin auf einen Drucker und ein Computerprogramm, mit denen
dieses Verfahren umgesetzt wird.
-
Die
Erfindung ist z.B. auf Tintenstrahldrucker anwendbar, deren Druckkopf
eine Vielzahl von Düsen
als Druckelemente aufweist. Typischerweise sind die Düsen in einer
Zeile angeordnet, die sich parallel zu einer Richtung (der Unterabtastrichtung)
erstreckt, in der ein Aufzeichnungsmedium, z.B. Papier, durch den
Drucker hindurchtransportiert wird, und der Druckkopf tastet das
Papier in einer Richtung (der Hauptabtastrichtung) senkrecht zu
der Unterabtastrichtung ab. In einem single-pass Modus wird gewöhnlich ein
vollständiger
Streifen des Bildes während
eines einzigen Durchgangs des Druckkopfes gedruckt, und das Papier
wird dann um die Breite des Streifens weitertransportiert, um den
nächsten
Streifen zu drucken, oder allgemein ist der singlepass Modus ein
Modus, in dem eine vollständige
Zeile nur von einer Düse
gedruckt wird. Wenn die Düse
des Druckkopfes schadhaft ist, z.B. verstopft ist, so fehlt die entsprechende
Pixelzeile in dem gedruckten Bild, so daß Bildinformation verlorengeht
und die Qualität
des Druckes beeinträchtigt
ist.
-
Ein
Drucker kann auch in einem multi-pass Modus betrieben werden, in
dem in einem ersten Durchgang nur ein Teil der Bildinformation eines Streifens
gedruckt wird und die fehlenden Pixel während eines oder mehrerer nachfolgender
Durchgänge
des Druckkopfes aufgefüllt
werden. In diesem Fall ist es manchmal möglich, daß eine nicht schafhafte Düse als Reserve
für eine
schadhafte Düse
dient, wenn auch zumeist auf Kosten der Produktivität.
-
US-A-6 215 557 beschreibt
ein Verfahren der oben genannten Art, bei dem, wenn eine Düse schafhaft
ist, die Druckdaten so verändert
werden, daß die fehlerhafte
Düse umgangen
wird. Das bedeutet, daß ein
Pixel, das mit der schafhaften Düse
gedruckt werden sollte, aber nicht gedruckt werden kann, ersetzt wird,
indem ein zusätzliches
Pixel in einer der benachbarten Zeilen ge druckt wird, die mit nicht
schadhaften Düsen
gedruckt werden, so daß die
mittlere optische Dichte des Bildbereiches erhalten bleibt und der
aus dem Düsenausfall
resultierende Fehler verschleiert wird und kaum mehr wahrnehmbar
ist. Bei diesem Verfahren wird ein Algorithmus eingesetzt, der auf
einer Bitmap arbeitet, die die Druckdaten repräsentiert, und der jedes Pixel,
das nicht gedruckt werden kann, auf eine benachbarte Pixelposition
verschiebt.
-
EP-A-0 999 516 beschreibt
ein Verfahren zum Erzeugen einer Druckmaske, die ein Muster bestimmt,
nach dem die Pixel gedruckt werden. Dieses Dokument konzentriert
sich auf das multi-pass Drucken, und der hauptsächliche Zweck der Maske besteht
darin, zu entscheiden, welche Pixel in welchem Durchgang gedruckt
werden sollen. Bei dem Prozeß zur
Erzeugung der Maske wird die zu druckende Bildinformation nur mittelbar
in der Form von Beschränkungen
berücksichtigt,
die den Aufbau der Maske bestimmen. Zum Beispiel kann eine solche
Beschränkung
verlangen, daß ein
gelbes Pixel und ein direkt dazu benachbartes Pixel in cyan nicht
in demselben Durchgang des Druckkopfes gedruckt werden, damit ein
Auslaufen der Farbe vermieden wird. Dieses Dokument schlägt weiterhin
vor, die Masken so zu konstruieren, daß schafhafte Düsen durch
nicht schadhafte Düsen
gedoppelt werden.
-
Diese
bekannten Verfahren erfordern es, daß die Orte der schafhaften
Düsen bekannt
sind, bevor die Bildverarbeitung bzw. der Schritt der Maskenerzeugung
stattfinden kann. Da die Information über den Ort der schadhaften
Düsen vom
Druckkopf stammt, muß somit
entweder der Drucker selbst genügend
Verarbeitungskapazität
haben, um das Verschleierungsverfahren auszuführen, oder die Information über die
Orte der schafhaften Düsen
muß entgegengesetzt
zur Richtung des Druckdatenflusses zu einem Druckertreiber oder
dergleichen übermittelt werden,
wo genügend
Verarbeitungskapazität
verfügbar
ist.
-
EP-A-1 060 896 beschreibt
einen Drucker nach dem Oberbegriff des Anspruchs 10, bei dem eine
Druckkopf-Steuereinheit unterschiedliche Druckstrategien in Abhängigkeit
davon auswählt,
ob ein schadhaftes Druckelement festgestellt worden ist oder nicht.
-
Es
ist eine Aufgabe der Erfindung, ein Verfahren nach Anspruch 1 zu
schaffen, mit dem Bilddefekte, die andernfalls durch schafhafte
Druckelemente verursacht würden,
wirksamer verschleiert werden können,
sowie einen entsprechenden Drucker gemäß Anspruch 10.
-
Gemäß der Erfindung
wird diese Aufgabe durch ein Verfahren der oben genannten Art gelöst, das
die folgenden Schritte umfaßt:
- a) Codieren der zu druckenden Bildinformation
als eine mehrwertige Pixelmatrix, in der jedem Pixel einer von mehreren
vorbestimmten Pixelwerten zugewiesen wird und mindestens einer dieser
vorbestimmten Pixelwerte ein konditionierter Pixelwert ist, der
einen Druckbefehl codiert, der davon abhängig ist, ob ein benachbartes
Pixel gedruckt werden kann oder wegen eines schadhaften Druckelements
nicht gedruckt werden kann,
- b) Bestimmen schafhafter Druckelemente des Druckers und
- c) Ausführen
des Druckbefehls.
-
Es
ist ein wichtiges Merkmal der Erfindung, daß der Schritt a), der eine
beträchtliche
Datenverarbeitungskapazität
und Verarbeitungszeit erfordert, "im voraus", d.h., in einem Stadium durchgeführt wird,
in dem die tatsächlichen
Orte der schadhaften Düsen,
die im nachfolgenden Schritt b) bestimmt werden, noch nicht bekannt
sind. Was dann zu tun bleibt, wenn ein schafhaftes Druckelement
in Schritt b) entweder manuell oder automatisch identifiziert worden
ist, ist das Ausführen
der Druckbefehle, die bereits in der Pixelmatrix für die Pixel
in der Nachbarschaft des Pixels codiert worden sind, das nicht gedruckt
werden kann. Folglich braucht der Drucker selbst weder erweiterte
Bildverarbeitungskapazitäten aufzuweisen
noch zeitraubende Verarbeitungsschritte auszuführen, um den Effekt der schafhaften
Düsen zu
verschleiern. Die zeitraubenderen, in Schritt a) enthaltenden Verarbeitungsoperationen
können
an einem von dem Drucker entfernten Ort ausgeführt werden, und das Ergebnis
kann erforderlichenfalls zwischengespeichert werden, während der
Drucker mit einem anderen Druckauftrag beschäftigt ist. Dies führt zu einer
beträchtlichen
Zunahme der Produktivität
des Druckers, insbesondere in einer Mehrnutzer-Umgebung. Da außerdem der
Schritt a) nicht von den exakten Orten der Düsendefekte abhängig ist, kann
dieser Schritt sogar schon ausgeführt werden, bevor bekannt ist,
an welchen Drucker die Daten gesandt werden, d.h., die als Resultat
des Schrittes a) erhaltenen Druckdaten sind unter verschiedenen Druckern
portabel.
-
Die
Hardware, die für
die Ausführung
des Schrittes a) verwendet wird und die im Drucker selbst oder außerhalb
des Druckers installiert sein kann, wird vorzugsweise von einer
Art sein, die für
schnelle Bildverarbeitung geeignet ist, und kann auch für andere
komplexe Bildverarbeitungsaufgaben wie etwa Halbtonberechnung, Gammakorrektur,
Kontrastverstärkung,
Bildsegmentierung und dergleichen eingesetzt werden. Somit kann
die in dem Schritt a) implizierte Datenverarbeitung mit hoher Geschwindigkeit erfolgen.
-
Speziellere
wahlfreie Merkmale der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
In
einer einfachen Ausführungsform
umfassen die mehreren vorbestimmten Pixelwerte der mehrwertigen
Pixelmatrix drei Werte: einen unkonditionierten Wert "0", der in jedem Fall für ein weißes Pixel
steht, einen Pixelwert "2", der in jedem Fall
für ein
schwarzes Pixel steht, und einen konditionierten Pixelwert "1", der für ein schwarzes Pixel steht,
d.h., den Druckbefehl "drucken", wenn wenigstens
eines der benachbarten Pixel einem schadhaften Druckelement entspricht,
und der andernfalls für
ein weißes Pixel
steht, d.h., für
den Druckbefehl "nicht
drucken".
-
In
anderen Ausführungsformen
kann die Pixelmatrix eine größere Anzahl
von vorbestimmten Pixelwerten haben. Zum Beispiel im Fall eines
Tintenstrahldruckers, der zur Punktgrößenmodulation in der Lage ist,
d.h., in der Lage ist, für
jedes nicht weiße Pixel
entweder einen kleinen Punkt oder einen großen Punkt zu drucken, können die
vorbestimmten Pixelwerte die nicht konditionierten Pixelwerte "0", "2" und "4" für
das Drucken keines Punktes, eines kleinen Punktes bzw. eines großen Punktes
und die konditionierten Pixelwerte "1" und "3" umfassen, für das Drucken eines kleinen
Punktes bzw. eines großen Punktes,
wenn ein oder mehrere nicht druckbare Pixel in der Nachbarschaft
vorhanden sind.
-
Die
durch die konditionierten Pixelwerte codierten Druckbefehle können auch
von komplexerer Natur sein und können
z.B. spezifizieren, daß für die Pixel,
die an nicht druckbare Pixel angrenzen, ein einfacher Fehlerdiffusionsprozeß ausgeführt wird (der
nicht viel Verarbeitungskapazität
und Zeit erfordert). Dann wird der einem bestimmten Pixel zugewiesene
Pixelwert angeben, welches Gewicht dieses Pixel in dem Fehlerdiffusionsprozeß erhält.
-
Wenn
der Drucker in einem single-pass Modus arbeitet, so wird ein Defekt
einer einzigen Düse zu
einer vollständigen
Zeile von nicht druckbaren Pixeln führen. In dem Fall wird der
konditionierte Pixelwert für
alle Pixel mit Ausnahme derjenigen in der Zeile oder der Zeilen
unmittelbar über
und/oder unter der nicht druckbaren Zeile als "nicht drucken" interpretiert werden. Wenn die ursprünglichen,
zu druckenden Bilddaten binäre
Daten sind, bei denen jedes Pixel entweder den Wert "0" oder "1" hat,
kann dann die mehrwertige Pixelmatrix wie folgt konstruiert werden.
Für jedes
Pixel, das in den ursprünglichen
Druckdaten den Wert "1" hat, wird der Pixelwert in
einen nicht konditionierten Wert, z.B. "2",
umgewandelt, der für
ein zu druckendes Pixel steht, und das oder die Pixel unmittelbar
darüber
und/oder darunter erhaltenen einen konditionierten Pixelwert (z.B. "1").
-
Beim
multi-pass Drucken, beispielsweise beim 2-pass Drucken, wird jede
Pixelzeile mit zwei verschiedenen Düsen gedruckt, und wenn eine
dieser Düsen
schadhaft ist, wird nur jedes zweite Pixel in der Zeile fehlen.
Somit wird im allgemeinen jedes gegebene nicht druckbare Pixel von
vier druckbaren Pixeln umgeben sein, nämlich den Pixeln darüber und
darunter, sowie links und rechts davon. Dann kann die mehrwertige
Pixelmatrix wie folgt konstruiert werden. Jedes Pixel mit dem Wert "1" in den ursprünglichen Druckdaten wird in
den nicht konditionierten Wert geändert, der für ein zu
druckendes Pixel steht, und der oder die Pixelwerte eines oder mehrerer
der benachbarten Pixel werden um eins erhöht, wenn ihr ursprünglicher
Wert "0" war. Wenn z.B. vier
benachbarte Pixel erhöht
werden, nämlich
die Pixel über,
unter, links von und rechts von dem ursprünglichen "1"-Pixel,
so steht der nicht konditionierte Wert "4" für ein Pixel,
das auf jeden Fall zu drucken ist, und die konditionierten Werte
eines Pixels können "1", "2" oder "3" sein, abhängig davon, wie viele ursprüngliche "1"-Pixel in der Umgebung auftreten.
-
Die
Höhe des
nicht konditionierten Pixelwertes wird die Wahrscheinlichkeit und/oder
die Intensität
(z.B. Punktgröße) bestimmen,
mit der ein Pixel gedruckt wird.
-
Bevorzugte
Ausführungsformen
der Erfindung werden nun anhand der Zeichnungen erläutert, in
denen zeigen:
-
1 eine
schematische Ansicht eines Tintenstrahldruckers, auf den die Erfindung
anwendbar ist
-
2A–D Diagramme
eines Bildbereiches von 8×8
Pixeln, zur Illustration einer ersten Ausführungsform der Erfindung;
-
3A–C Diagramme
eines Bildbereiches von 8×8
Pixeln, zur Illustration einer zweiten Ausführungsform der Erfindung;
-
4A–D Diagramme
eines Bildbereiches von 8×8
Pixeln, zur Illustration einer dritten Ausführungsform der Erfindung;
-
5A–C Diagramme
eines Bildbereiches von 8×8
Pixeln, zur Illustration einer Ausführungsform mit Fehlerdiffusion;
-
6A–C Diagramme
zur Illustration einer Ausführungsform,
die an einen 2-pass Druckmodus angepaßt ist; und
-
7A,
B Diagramme zur Illustration einer weiteren Ausführungsform, die an den 2-pass
Druckmodus angepaßt
ist.
-
Wie
in 1 gezeigt ist, weist ein Tintenstrahldrucker eine
Walze 10 auf, die dazu dient, einen Aufzeichnungspapierbogen 12 in
einer Unterabtastrichtung (Pfeil A) an einer Druckkopfeinheit 14 vorbei
zu bewegen. Die Druckkopfeinheit 14 ist auf einem Wagen 16 montiert,
der auf Führungsschienen 18 geführt und
in einer Hauptabtastrichtung (Pfeil B) relativ zu dem Aufzeichnungspapier 12 hin
und her bewegbar ist. In dem gezeigten Beispiel weist die Druckkopfeinheit 14 vier
Druckköpfe 20 auf,
einen für jede
der Grundfarben Cyan, Magenta, Gelb und Schwarz. Jeder Druckkopf
hat eine lineare Anordnung von Düsen 22,
die sich in der Unterabtastrichtung erstreckt. Die Düsen 22 der
Druckköpfe 20 können einzeln
erregt werden, um Tintentröpfchen
auf das Aufzeichnungspapier auszustoßen und dadurch ein Pixel auf
das Papier zu drucken. Wenn der Wagen 16 in der Richtung
B über
die Breite des Papiers 12 bewegt wird, so kann ein Streifen
eines Bildes gedruckt werden. Die Anzahl von Pixelzeilen des Streifens
entspricht der Anzahl der Düsen 22 jedes
Druckkopfes. Wenn der Wagen 16 einen Durchgang vollendet
hat, wird das Papier 12 um die Breite des Streifens vorgerückt, so
daß der
nächste
Streifen gedruckt werden kann.
-
Die
Druckköpfe 20 werden
durch eine Druckkopf-Steuereinheit 24 angesteuert, die
Druckdaten in der Form einer mehrwertigen Pixelmatrix von einem Bildprozessor 26 erhält, der
zu einer schnellen Bildverarbeitung in der Lage ist. Der Bildprozessor 26 kann
in dem Drucker oder in einer entfernten Einrichtung implementiert
sein, z.B. einen Druckertreiber in einem Host-Computer. Die Druckkopf-Steuereinheit 24 und
der Bildprozessor 26 verarbeiten die Druckdaten in einer
Weise, die weiter unten im einzelnen beschrieben werden wird. Die
Erörterung
konzentriert sich auf das Drucken in schwarzer Farbe, gilt jedoch äquivalent
auch für
das Drucken in anderen Farben.
-
2A zeigt
ein Feld aus 8×8
Pixeln 28 eines binären
Bildes 30, das mit dem in 1 gezeigten
Drucker gedruckt werden soll. Die das binäre Bild 30 repräsentierenden
Druckdaten werden in dem Bildprozessor 26 erzeugt oder
diesem zugeführt.
In dem gezeigten Beispiel enthält
das Bild 30 eine waagerechte Linie 32, die nur
eine Breite von einem Pixel hat, sowie eine dünne diagonale Linie 34.
Die Pixel, die einen binären
Wert "1" haben, d.h., die
in schwarz zu druckenden Pixel, sind durch Schraffur angegeben.
-
2B zeigt
ein gedrucktes Bild, wie man es durch Drucken des binären Bildes 30 erhalten
würde, wenn
eine der Düsen 22 des
Druckkopfes 20 ausgefallen ist. In 2B sowie
im Rest dieser Beschreibung werden Pixelzeilen durch ihren Zeilenindex
angegeben, der von i – 4
bis i – 3
läuft,
und Pixelspalten werden durch ihren Spaltenindex angegeben, der von
j – 4
bis j + 3 läuft.
Einzelne Pixel werden durch ihre Koordinaten bezeichnet, d.h., ein
Paar aus einem Zeilenindex und einem Spaltenindex wie z.B. (i, j).
-
In 2B ist
angenommen worden, daß die Düse 22,
die für
das Drucken der Zeile i verantwortlich ist, schafhaft ist. Infolgedessen
fehlt die schwarze Linie 32 aus 2A in
dem gedruckten Bild.
-
2C zeigt
eine mehrwertige Pixelmatrix 38, in diesem Fall eine dreiwertige
Pixelmatrix, die dadurch erhalten wird, daß mit Hilfe des Bildprozessors 26 eine
Bildverarbeitungsroutine auf das binäre Bild 30 angewandt
wird. In der Pixelmatrix kann jedes Pixel einen der drei Pixelwerte "0", "1" und "2" haben.
-
Die
Bilddaten, die die Pixelmatrix 38 repräsentieren, werden an die Druckkopf-Steuereinheit 24 übermittelt
und werden durch die Druckkopf-Steuereinheit wie folgt interpretiert.
Ein Pixelwert "0" bedeutet, daß das Pixel
nicht gedruckt werden soll, d.h., leer oder weiß gelassen werden soll. Ein
Pixelwert "2" bedeutet, daß das Pixel
gedruckt werden soll (schwarz). Ein Pixelwert von "1" bedeutet, daß das Pixel als ein "0"-Pixel behandelt und nicht gedruckt werden
soll, es sei denn, für
eine der Pixelzeilen unmittelbar über und unterhalb dieses Pixels
liegt ein Düsenausfall
vor. In diesem letzteren Fall soll das Pixel als ein "2"-Pixel behandelt und gedruckt werden. Zum
Beispiel bedeutet der Wert "1" des Pixels (i – 1, j – 1), daß dieses
Pixel nur dann gedruckt werden soll, wenn entweder die Düse, die
zum Drucken der Zeile i benötigt
wird, oder die Düse,
die zum Drucken der Zeile i – 2
benötigt
wird, schafhaft ist.
-
Der
Drucker kann so ausgelegt sein, daß er Düsenausfälle automatisch detektiert,
wie allgemein im Stand der Technik bekannt ist. Somit ist die Information,
die für
die Entscheidung benötigt
wird, ob eine Düse
schafhaft ist oder nicht, in der Druckkopf-Steuereinheit 24 verfügbar, der
die Pixelmatrix 38 interpretiert. Als eine Alternative
können
Düsenausfälle natürlich auch
manuell von einem Bediener detektiert werden, der zu diesem Zweck
ein besonderes Testbild analysiert und eine Information, die die schadhaften
Düsen identifiziert, über eine
geeignete Eingabeeinrichtung in die Druckkopf-Steuereinheit 24 eingibt.
-
In
dem in 2C gezeigten Beispiel wird die Pixelmatrix 38 durch
den folgenden Algorithmus aus dem binären Bild 30 abgeleitet.
Jedes (schwarze) "1"-Pixel in dem binären Bild 30 wird in
eine "2" in der Pixelmatrix 38 übersetzt.
Zum Beispiel führt
dies zu dem Pixelwert "2" für das Pixel
(i + 3, j – 4)
in 2C. Außerdem
wird das Pixel unmittelbar unterhalb dieses "2"-Pixels
von "0" in "1" geändert.
Dies ist z.B. für das
Pixel (i + 2, j – 4)
der Fall. Wenn jedoch das Pixel unmittelbar unter dem "2"-Pixel bereits ein schwarzes Pixel war,
wird es wie jedes andere schwarze Pixel in "2" geändert. Ein
Beispiel dafür
ist das Pixel (i – 1,
j) In 2D ist ein gedrucktes Bild 40 gezeigt,
das durch diesen Bildverarbeitungsschritt und seine Interpretation
in der Druckkopf-Steuereinheit 24 erhalten wird. Es ist
zu erkennen, daß,
dank des oben beschriebenen Algorithmus, die Bildinformation der schwarzen
Linie 32 nicht verlorengeht, sondern durch eine schwarze
Linie 32' unmittelbar
unter der schadhaften Düse
ersetzt wird. Mit anderen Worten, die Linie 32 wird um
ein Pixel verschoben, und diese Verschiebung ist durch das menschliche
Auge kaum wahrnehmbar. Bei all den Pixelzeilen, die nicht direkt an
die Zeile i der schadhaften Düse
angrenzen, (Zeilen i – 4
bis i – 2,
i + 2 und i + 3) bleibt die ursprüngliche Bildinformation ohne Änderungen
erhalten. In der Zeile i – 1
tritt ein zusätzliches
schwarzes Pixel (i + 1, j – 3)
in der Nähe
der Position auf, wo die diagonale Linie 34 die horizontale
Linie 32' kreuzt.
Dieses zusätzliche
schwarze Pixel rührt
von dem "2"-Pixel (i + 2, j – 3) in 2C her,
das bewirkt hat, daß eine "1" unmittelbar darunter auftritt. Der
Hauptzweck dieser "1" war es, das "2"-Pixel in der Zeile i + 2 für den Fall zu
ersetzen, daß die
Düse für die Zeile
i + 2 ausfallen sollte. Da jedoch die Druckkopf-Steuereinheit 24 in dieser
Ausführungsform
nicht unterscheidet, ob eine Zeile unter oder über einer schadhaften Zeile
liegt, wird das Pixel i + 1, j – 3
in schwarz gedruckt, obgleich kein Defekt in der Zeile i + 2 vorliegt.
Dieses Verhalten führt
zu einer leichten Überkompensation des
Düsendefekts,
ist hier jedoch hochwillkommen, weil es in gewissem Ausmaß die Lücke verschleiert, die
in der diagonalen Linie 34 in der Pixelzeile i auftritt.
-
Der
in 2C illustrierte Algorithmus ist besonders nützlich für Bilder
wie z.B. CAD-Graphik, die dünne
waagerechte Linien enthalten. Statt die Zeile 32 um ein
Pixel nach unten zu verschieben, wäre es natürlich eine äquivalente Strategie, diese
Zeile um ein Pixel nach oben zu verschieben.
-
Wenn
eine horizontale Linie eine Breite von zwei Pixeln hat und z.B.
die Zeilen i und i – 1
belegt, so hätte
der in 2C gezeigte Algorithmus den
Effekt, daß das
Pixel von einer Breite von zwei Pixeln auf eine Breite von einem
Pixel verdünnt
wird (die Pixel in der Zeile i – 2
würden
in "1" geändert, würden jedoch
nicht gedruckt, weil der Düsendefekt
zwei Pixel entfernt ist). Dies wäre
ein durchaus akzeptables Resultat. In diesem Fall hätte jedoch
die alternative Strategie, bei der eine "1" über jedem "2"-Pixel hinzugefügt wird, das Resultat, daß die zwei
Pixel breite Linie in zwei ein-Pixel-Linien aufgeteilt würde, die durch
eine Lücke
von einem Pixel getrennt sind.
-
Eine ähnliche
Lücke und
eine ein Pixel breite Linie würden
in dem Fall auftreten, daß die
Zeile i die obere Grenze eines massiven schwarzen Gebietes in dem
ursprünglichen
Bild 30 bildet. In dem Fall wäre das Auftreten einer von
dem Rest des schwarzen Gebietes isolierten dünnen Linie weniger günstig.
-
Eine
andere mögliche
Strategie bestünde darin,
ein "1"-Pixel abwechselnd
oberhalb und unterhalb jedes "2"-Pixels einzufügen. Diese
Strategie wäre
z.B. für
Bilder geeignet, die aus ausgedehnten grauen Gebieten bestehen,
wäre jedoch
weniger günstig
im Fall von waagerechten Grenzen mit hohem Kontrast, weil die Grenze
aufgeraut würde, wenn
ein Düsenausfall
unmittelbar an der Grenze auftritt.
-
Es
ist deshalb vorteilhaft, in Abhängigkeit von
dem Inhalt des zu verarbeitenden Bildes 30 die am besten
geeignete Strategie zu wählen.
Dies kann in naheliegender Weise durch eine benutzerdefinierte Einstellung
erreicht werden oder durch Einsatz von Bildverarbeitungsroutinen,
die z.B. eine Bildsegmentierung umfassen, um verschieden Typen von
Bildelementen wie etwa dünne
Linien, Grenzen mit hohem Kontrast, Gebiete mit Grautönen und
dergleichen zu klassifizieren. Im allgemeinen wird das Ziel des
Bildverarbeitungsalgorithmus darin bestehen, ein gedrucktes Bild 40 zu
erhalten, das dem ursprünglichen Bild 30 so
weit wie möglich ähnelt, unabhängig von der
Position, an welcher der Düsenausfall
auftritt.
-
3A–C illustrieren
eine Ausführungsform, bei
der "1"-Pixel abwechselnd über und
unter jedem "2-Pixel
hinzugefügt
werden. Wie bereits erwähnt wurde,
ist diese Ausführungsform
besonders geeignet für
ein binäres
Bild 30, wie es in 3A gezeigt ist,
bei dem die schwarzen Pixel zufällig über den Bildbereich
verteilt zu sein scheinen. Die entsprechende, in 3B gezeigte
Pixelmatrix 38 wird dazu auf die gleiche Weise konstruiert
wie die Pixelmatrix in 2B, mit dem einzigen Unterschied,
daß für die "2"-Pixel die entsprechenden "1-Pixel abwechselnd über und
unter dem "2"-Pixel eingefügt werden,
wie in 3B durch Pfeile symbolisiert
wird. Das "1"-Pixel, das durch
das "2"-Pixel (i + 3, j
+ 2) erzeugt würde,
ist hier nicht sichtbar, weil es außerhalb des Bildbereiches liegt.
-
Die
Druckkopf-Steuereinheit 24 interpretiert die Pixelmatrix 38 auf
die gleiche Weise wie in 2B, C.
Wie in 3C gezeigt ist, läßt sich
das resultierende gedruckte Bild 40 trotz des Düsenausfalls
in der Zeile i kaum von dem ursprünglichen Bild 30 unterscheiden.
Wiederum ist festzustellen, daß die
Summe der schwarzen Pixel in den Zeilen i – 1, i und i + 1 in 3C etwas
größer ist
als in 3A, weil "1"-Pixel
auch durch schwarze Pixel in den Zeilen i – 2 und i + 2 erzeugt werden.
Wenn dieser Effekt nicht erwünscht
ist, z.B. im Fall von Bildbereichen mit einer relativ hohen mittleren
Dichte, kann der Bildverarbeitungsalgorithmus modifiziert werden,
indem einige der zusätzlichen "1"-Pixel unterdrückt werden. Wenn man die Pixel
Zeile für
Zeile durchgeht, kann z.B. das erste "2"-Pixel
ein "1"-Pixel darüber erzeugen,
das zweite "2"-Pixel erzeugt ein "1"-Pixel darunter, und das dritte "2"-Pixel erzeugt überhaupt kein "1"-Pixel, und dann wird die Abfolge wiederholt.
-
Eine
andere mögliche
Modifikation, die für relativ
dunkle Bildbereiche geeignet sein mag, bestünde darin, daß das "1"-Pixel nicht immer unmittelbar über oder
unter dem "2"-Pixel eingefügt wird, sondern
zu einer leeren Position in der Nachbarschaft des "2"-Pixels verschoben wird.
-
Eine
weitere Ausführungsform
wird nun im Zusammenhang mit 4A–D beschrieben
werden. In dem in 4A gezeigten binären Bild 30 bilden
die Zeilen i – 2
bis i + 1 ein ausgedehntes dunkles Gebiet mit einer mittleren Dichte
von 50%. Ein isoliertes schwarzes Pixel befindet sich bei (i – 4, j). 4B zeigt
das entsprechende gedruckte Bild 36, das erhalten würde, wenn
der Düsenausfall
in der Zeile i nicht verschleiert würde. 4C zeigt
eine entsprechende mehrwertige Pixelmatrix 38, die in diesem Fall
eine vierwertige Matrix ist. Hier bedeutet der Pixelwert "3", daß unkonditioniert ein schwarzes
Pixel gedruckt werden soll. Der Pixelwert "0" steht
wieder für
Pixel, die unkonditioniert leer gelassen werden. Der Pixelwert "1" bedeutet, daß das Pixel unter der Bedingung
in schwarz gedruckt werden soll, daß ein Düsenausfall in der Zeile unmittelbar
darunter auftritt. Umgekehrt bedeutet der Pixelwert "2", daß das Pixel unter der Bedingung
in schwarz gedruckt werden soll, daß ein Düsenausfall in der Zeile unmittelbar darüber auftritt.
-
Bei
der Konstruktion der Pixelmatrix 38 nach 4C wird
jedes schwarze Pixel in dem ursprünglichen Bild 30 in "3" geändert.
Der Algorithmus zum Zuweisen der konditionierten Pixelwerte "1" und "2" ist
in diesem Fall komplexer. Da die Zeilen i + 2 und i + 3 keine schwarzen
Pixel enthalten, bildet die Zeile i + 1 die obere Grenze eines grauen
Gebietes. Aus diesem Grund werden in Zeile i + 2 keine "1"-Pixel vorgesehen. Selbst wenn ein Düsenausfall
für die Zeile
i + 1 auftreten würde,
würde dieser
deshalb nicht durch irgendwelche schwarzen Pixel in der Zeile i
+ 2 kompensiert. Ebensowenig würden
irgendwelche zusätzlichen
schwarzen Pixel in der Zeile i auftreten, um den Düsenausfall
zu kompensieren, weil die Zeile i keine "2"-Pixel
enthält.
Wenn die Düse
für die Zeile
i + 1 ausfällt,
wird somit diese Zeile einfach weiß gelassen, ohne irgendeine
Kompensation, mit dem Ergebnis, daß die Grenze zwischen dem dunklen
und dem weißen
Gebiet um ein Pixel verschoben wird. Das hat den Vorteil, daß ein glattes
Aussehen der Grenze erhalten bleibt.
-
In
der Zeile i tritt eine erste "3" an der Position j – 3 auf.
Aus diesem Grund ist dem Pixel (i + 1, j – 3) eine "1" zugewiesen
worden. Wenn die Düse
für die Zeile
i ausfällt,
wird somit ein zusätzliches
schwarzes Pixel in der Zeile i + 1 gedruckt, wie in 4D gezeigt ist.
Das nächste "3"-Pixel in der Zeile i befindet sich an
der Position j – 1.
Hier wird dem Pixel (i – 1,
j – 1) der
Pixelwert "2" zugewiesen. Somit
wird in diesem Fall ein Düsenausfall
in der Zeile i durch ein zusätzliches
Pixel in der Zeile i – 1
darunter kompensiert, wie ebenfalls in 4D gezeigt
ist. Für
die nachfolgenden "3"-Pixel in der Zeile
i werden abwechselnd eine "1" und eine "2" in der Zeile i + 1 bzw. i – 1 eingefügt. Der
gleiche Algorithmus wird auch auf die "3"-Pixel
in der Zeile i – 1
angewandt.
-
Die
Zeile i – 2
bildet die untere Grenze des grauen Gebietes, und das glatte Aussehen
dieser Grenze sollte erhalten bleiben. Aus diesem Grund gibt es ähnlich wie
für die
Zeile i + 2 keine "2"-Pixel in der Zeile
i – 3,
und die Pixel über
dem "3"-Pixel bei j – 3 und
j + 2 werden auf "0" belassen. Wenn ein
Düsenausfall
in der Grenzzeile i – 2
auftreten sollte, würde
somit dieser Ausfall überhaupt
nicht kompensiert.
-
Das
isolierte "3"-Pixel in der Zeile
i – 4
wird auf die gleiche Weise behandelt wie die Pixel in den Zeilen
i und i – 1.
Somit wird ein "1"-Pixel an der Position
(i – 3,
j) eingefügt.
Im Fall eines Düsenausfalls für die Zeile
i – 4
würde das
fehlende Pixel um eine Position nach oben verschoben.
-
Wenn
der oben für
die Zeilen i und i – 1
in 4C beschriebene Algorithmus auf eine größere Anzahl
aufeinanderfolgender Pixelzeilen angewandt wird, so kann je nach
Bildinhalt für
bestimmte Pixel eine Konfliktsituation auftreten. Zum Beispiel kann eine "3" über
einem solchen Pixel den Pixelwert "2" erfordern,
wohingegen eine "3" unterhalb dieses
Pixels für
dasselbe Pixel den Pixelwert "1" erfordern kann.
Dieser Konflikt kann aufgelöst
werden, indem entweder der "2" oder der "1" Priorität gegeben wird. In diesem Fall
mag jedoch ein Düsenausfall
für eine der
beiden benachbarten Zeilen nicht vollständig kompensiert werden.
-
Im
Hinblick auf dieses Problem kann eine ausgefeiltere Ausführungsform
vorsehen, daß alle schwarzen
Pixel in dem ursprünglichen
Bild 30 den Pixelwert "4" anstelle von "3" erhalten. Dann würde der Pixelwert "3" angeben, daß ein schwarzes Pixel unter
der Bedingung gedruckt werden soll, daß ein Düsenausfall in irgendeiner der
angrenzenden oberen und unteren Zeilen auftritt. Wenn somit wegen
eines schwarzen Pixels in der oberen Zeile eine "2" gefordert
ist und gleichzeitig wegen eines schwarzen Pixels in der unteren
Zeile eine "1", so werden die Werte "1" und "2" addiert
und ergeben den konditionierten Pixelwert "3".
-
Die
oben beschriebenen Ausführungsformen erfordern
nur ein Minimum an Datenverarbeitung in der Druckkopf-Steuereinheit 24.
Alles was zum Drucken eines gegebenen Pixels getan werden muß, ist zu
entscheiden, ob ein Düsenausfall
in der Zeile über oder
unter diesem Pixel auftritt, und dann die entsprechende Interpretation
für die
konditionierten Pixelwerte vorzunehmen. Dies kann z.B. durch eine einfache
Hardwareimplementierung mit einem Netzwerk von UND- und ODER-Gattern
erreicht werden.
-
5A–C illustrieren
eine modifizierte Ausführungsform,
die etwas mehr Verarbeitungskapazität der Druckkopf-Steuereinheit 24 erfordert.
Der Bildprozessor 26 konstruiert die in 5B gezeigte Pixelmatrix 38 auf
der Grundlage des in 5A gezeigten binären Bildes 30.
Die Pixelmatrix ist wieder eine dreiwertige Matrix, bei welcher
der Pixelwert "2" jedem der schwarzen
Pixel in dem Bild 30 zugewiesen wird. Außerdem wird
für jedes
der "2"-Pixel in 5B eine "1" in der Zeile unmittelbar darüber und eine
weitere "1" in der Zeile unmittelbar
darunter eingefügt.
Im Fall einer Interferenz, wie z.B. für das Pixel (i + 1, j + 2)
in 5B, wird der Pixelwert bei "1" belassen,
obgleich die beiden Pixel (i + 3, j + 2) und (i + 1, j + 2) darüber und
darunter den Wert "2" haben.
-
Wenn
kein Düsenausfall
auftritt, interpretiert die Druckkopf-Steuereinheit 24 den
Pixelwert "2" als schwarz und
die Pixelwerte "0" und "1" als weiß. Wenn jedoch ein Düsenausfall
in der Zeile i auftritt, wie in 5C gezeigt
ist, so wird auf die Zeilen i – 1 und
i + 1 eine besondere Behandlung angewandt. Im gezeigten Beispiel
besteht diese besondere Behandlung in einem einfachen eindimensionalen
Fehlerdiffusionsprozeß mit
dem Schwellenwert 2. Beginnt man mit dem ersten Pixel (j – 4) in
der Zeile i + 1 so liegt der Pixelwert "1" unter
dem Schwellenwert 2, so daß das
Pixel in 5C weiß gelassen wird. Der Rest (1)
wird zu dem Pixelwert für
das nächste
Pixel (i + 1, j – 3)
addiert. Da dieses letztere Pixel "0" ist, bleibt
die Summe immer noch unter dem Schwellenwert und dieses Pixel wird
ebenfalls weiß gelassen. Der
Rest (1) wird dann zu dem Pixelwert "2" des nächsten Pixels
(i + 1, j – 2)
addiert. Da die Summe (3) nun größer ist
als der Schwellenwert 2, wird das Pixel in schwarz gedruckt und
die Summe wird um den Schwellenwert 2 vermindert, was einen Rest
von 1 ergibt. Die gleiche Prozedur wird dann auf das nächste Pixel
(i + 1, j – 1)
angewandt, was wiederum ein schwarzes Pixel und einen Rest von 1
ergibt. Für das
nächste
Pixel (i + 1, j) erreicht die Summe den Schwellenwert 2, so daß dieses
Pixel in schwarz gedruckt wird (obgleich es in 5A ein
weißes
Pixel war). Da zu dem nächsten
Pixel (i + 1, j + 1) kein Rest zu addieren ist, bleibt dieses Pixel
weiß.
Die oben beschriebene Prozedur wird für die nachfolgenden Pixel in
Zeile i + 1 und dann in Zeile i – 1 iteriert, wobei der Rest
vom Pixel (i + 1, j + 3) auf das erste Pixel (i – 1, j – 4) in der nächsten Zeile übertragen
wird. Das resultierende gedruckte Bild 40 ist in 5C gezeigt. Aufgrund
des Fehlerdiffusionsprozesses und der Auswahl des Schwellenwertes
ist die mittlere optische Dichte in den Zeilen i – 1, i und
i + 1) in 5C annähernd gleich der mittleren
optischen Dichte in den entsprechenden Zeilen in 5A,
so daß der Düsenausfall
kompensiert wird. Im Vergleich zu den vorherigen Ausführungsformen
hat die hier beschriebene Ausführungsform
den Vorteil, daß die
Bildinformation, die von der Zeile i auf die benachbarten Zeilen
verteilt wurde, selbst dann nicht verlorengeht, wenn die Position
unmittelbar darüber
oder darunter bereits von einem schwarzen Pixel besetzt ist. Dank der
Fehlerdiffusion wird statt dessen die Bildinformation zu der nächsten leeren
Pixelposition weitergeleitet.
-
Diese
Ausführungsform
kann natürlich
auf verschiedene Weisen modifiziert werden. Zum Beispiel ist es
möglich,
komplexere Fehlerdiffusionsmechanismen anzuwenden, auch einschließlich einer zweidimensionalen
Fehlerdiffusion (wo ein Teil des Fehlers z.B. von der Zeile i +
1 nach i – 1 übertragen wird).
Der in dem Fehlerdiffusionsprozeß verwendete Schwellenwert
muß keine
ganze Zahl sein. Es wäre z.B.
möglich,
einen Schwellenwert von 1,8 oder 2,2 zu verwenden, was zu einer
leichten Tendenz zur Überkompensation
bzw. Unterkompensation des Düsenausfalls
führen
würde.
-
Der
Fehlerdiffusionsprozeß kann
auch durch andere geeignete Algorithmen ersetzt werden. Zum Beispiel
können
die Pixelwerte in den Zeilen i – 1
und i + 1 jeweils mit einem entsprechenden Schwellenwert verglichen
werden, der zufällig
zwischen 0 und 2, variiert und ein schwarzes Pixel kann gedruckt werden,
wenn der Schwellenwert überschritten
wird. Das Ergebnis wird sein, daß ein "1"-Pixel
mit einer Wahrscheinlichkeit von 50% als ein schwarzes Pixel gedruckt
wird. Da jedes "2"-Pixel in der Zeile
i zwei "1"-Pixel erzeugt, eines
in der Zeile i – 1
und eines in der Zeile i + 1, bleibt die mittlere Dichte erhalten, wenn
jedes der "1"-Pixel mit einer
Wahrscheinlichkeit von 50% gedruckt wird.
-
Während die
oben beschriebenen Ausführungsformen
für einen
single-pass Druckmodus angepaßt
sind, bei dem ein Düsenausfall
zu dem Verlust einer vollständigen
Pixelzeile führt,
ist die Erfindung auch auf das multi-pass Drucken anwendbar, bei
dem mehrere Düsen
zu einer gegebenen Pixelzeile beitragen, so daß ein Ausfall einer einzelnen Düse nur zu
einem Verlust eines Teils der Pixel der Zeile führt. Wenn keine nennenswerte
Nachverarbeitung in der Druckkopf-Steuereinheit 24 ausgeführt werden
soll, sind die Verfahren für
das multi-pass Drucken analog zu dem, was im Zusammenhang mit 2 bis 4 beschrieben
wurde, ggf. mit dem zusätzlichen
Merkmal, daß bei
der Konstruktion der Pixelmatrix unterschieden wird, welche der
Düsen,
die zu derselben Zeile beitragen, schadhaft ist.
-
6 und 7 illustrieren
zwei Ausführungsformen,
die besonders für
das 2-pass Drucken angepaßt
sind und eine gewisse Nachverarbeitung wie etwa Fehlerdiffusion
in der Druckkopf-Steuereinheit 24 einschießen.
-
Das
in 6A gezeigte binäre Bild 60 wird in dem
Bildprozessor 26 verarbeitet, um die in 6B gezeigte
Pixelmatrix 38 zu konstruieren. Diese Pixelmatrix ist eine
achtwertige Matrix mit Pixelwerten, die von "0" bis "8" reichen. Das Konstruktionsschema für die Pixelmatrix 38 ist
symbolisch in 6C dargestellt: Jedes schwarze
Pixel "1" des ursprünglichen Bildes 30 wird
in eine "4" geändert, und
die Pixelwerte der oberen, unteren, linken und rechten Nachbarn dieses
Pixels werden um eins erhöht.
Im Fall von Interferenz werden die Inkremente der Pixelwerte summiert.
So erhält
man den Pixelwert "2" des Pixels (i, j – 3) in 6B durch
Addieren einer "1" von Pixel (i, j – 4) und
einer weiteren "1" von Pixel (i, j – 2). Je
nach Konfiguration der schwarzen Pixel in dem Bild 30 kann
die Summe den Maximalwert von "8" (eine "4" für
das zentrale Pixel plus vier "1"-sen für schwarze Nachbarn).
-
Die
Pixelmatrix 38 wird in der Druckkopf-Steuereinheit 24 interpretiert
und nachbearbeitet. Wiederum soll angenommen werden, daß ein Düsenausfall
in der Zeile i auftritt. Im 2-pass Modus hat dies jedoch den Effekt,
daß jedes
zweite Pixel in der Zeile i immer noch gedruckt werden kann. Die
verbleibenden Pixel, die nicht gedruckt werden können, sind in 6B durchgestrichen
worden. Als Beispiel soll angenommen werden, daß dies die Pixel an den Positionen
j – 4,
j – 2,
j und j + 2 sind. Da drei dieser Pixel in 6A zufällig schwarze
Pixel sind, beträgt der
Verlust an Bildinformation, der kompensiert werden muß, 3 Pixel.
-
Die
Pixel in den Zeilen i – 1,
i und i + 1 werden einer Fehlerdiffusion mit dem Schwellenwert 5
unterzogen. Bei diesem Fehlerdiffusionsprozeß werden die nicht druckbaren
Pixel in der Zeile i ausgelassen. Wenn die in den Zeilen i – 1, i +
1 und an den druckbaren Positionen in der Zeile i auftretenden "1"-Pixel und "2"-Pixel
summiert werden, ist das Resultat 18. Wegen des Schwellenwertes
5 beträgt
die Anzahl von Pixel, die zusätzlich
in diesen Zeilen gedruckt werden 18/5 = 3 Rest 3. Somit werden die
drei fehlenden Pixel in Zeile i durch drei zusätzliche Pixel in der Nachbarschaft
kompensiert und der Rest von 3 wird verworfen.
-
Der
Grund für
die Wahl des Schwellenwertes 5 in dieser Ausführungsform soll im Zusammenhang mit 6D erläutert werden.
Der obere Block in 6D zeigt die Zeilen i – 1, i und
i + 1 eines ursprünglichen
binären
Bildes, bei dem die Zeilen i – 1 und
i + 1 weiß sind
und i eine durchgehende schwarze Linie ist, wobei schwarze Pixel
durch den Pixelwert "1" angegeben sind.
Die Gesamtzahl der schwarzen Pixel in den Zeilen i – 1 bis
i + 1 hat hier den Wert B.
-
Der
untere Block in 6D zeigt die entsprechende Pixelmatrix,
wie sie in Übereinstimmung
mit 6C konstruiert wird. Eine Summation über die
Pixelwerte "1", "6" und "5",
die bei all den Pixel auftreten, die an der Fehlerdiffusion teilnehmen,
ergibt 39. Bei dem Schwellenwert 5 ist die Anzahl der Pixel, die tatsächlich gedruckt
werden gleich 39/5 = 7 Rest 4 und dies ist die beste Anpassung an
die Gesamtzahl von 8 Pixeln, die in der Zeile i gedruckt werden
sollten.
-
Da
die Fehlerdiffusion nur sehr lokal angewandt wird und wenig Rechenleistung
erfordert, können
das Fehlerdiffusionsschema und der Schwellenwert nach Wunsch variiert
werden.
-
Die
in 6 gezeigte Ausführungsform kann in einigen
seltenen Fällen
selbst dann, wenn kein Düsenausfall
auftritt, zu Artefakten in der Form von zusätzlichen Pixeln führen, die
zu dem ursprünglichen Bild 30 hinzugefügt werden.
Als ein Beispiel soll der Fall betrachtet werden, daß das Pixel
(i, j) in dem ursprünglichen
Bild 30 weiß ist,
jedoch die vier benachbarten Pixel (i + 1, j), (i, j – 1), (i,
j + 1) und (i – 1,
j) schwarz sind. Dann addieren sich die Inkremente von den umgebenden
Pixeln für
das Pixel (i, j) zu einem Pixelwert von "4" und
dieser Pixelwert würde
unkonditioniert als schwarz interpretiert, so daß das weide Pixel in ein schwarzes
Pixel geändert
würde,
selbst wenn kein Düsenausfall
auftritt. Dieser Effekt kann kompensiert werden, indem geeignete
Modifikationen in anderen Bildverarbeitungsschritten vorgesehen
werden, etwa bei der Halbtonberechnung, der Gammakorrektur und dergleichen.
Als eine Alternative kann die Ausführungsform wie folgt modifiziert werden:
Statt ein ursprünglich
schwarzes Pixel durch den Pixelwert "4" zu
codieren, wird es durch den Pixelwert "5" codiert.
Dieser Pixelwert oder ein höherer Pixelwert
kann nur erreicht werden, wenn das ursprüngliche Pixel bereits schwarz
war. Von der Druckkopf-Steuereinheit 24 werden nun nur
Pixelwerte von "5" oder höher unkonditioniert
als schwarz interpretiert, und der Pixelwert "4" wird
als weiß interpretiert,
wenn keine Fehlerdiffusion ausgeführt wird. Bei dem Fehlerdiffusionsprozeß wird der
Pixelwert "5" nur als "4" gezählt,
ein Pixelwert von "6" wird als 5 gezählt usw.
bis zu dem höchstmöglichen
Pixelwert von "9", der als "8" gezählt
wird.
-
7A und
B illustrieren eine andere Ausführungsform,
die ebenfalls an den 2-pass Druckmodus angepaßt ist. Das in 7A gezeigte
binäre
Bild 30 ist das gleiche wie in 6A. Wie
jedoch in 7B gezeigt ist, werden die schwarzen
Pixel des binären
Bildes in diesem Fall nur in den Pixelwert "2" übersetzt,
und ein Inkrement von "1" wird nur zu einem
seiner vier Nachbarn addiert. Die Auswahl des Nachbarn, zu dem das
Inkrement von "1" addiert wird, rotiert
im Gegenuhrzeigersinn, wenn man die "2"-Pixel
Zeile für
Zeile durchgeht. Diese Rotation im Gegenuhrzeigersinn ist in 7B durch
Pfeile angegeben. So wird für
das erste "2"-Pixel (i + 3, j
+ 2) ein Inkrement von "1" nur zu seinem rechten
Nachbarn (i + 3, j + 3) addiert. Für das nächste "2"-Pixel
(i + 2, j – 3)
wird ein Inkrement nur zu seinem oberen Nachbarn (i + 3, j – 3) addiert,
usw.. In diesem Fall können die
inkrementierten Pixelwerte von "0" bis "4" reichen und die Werte "2", "3" und "4" werden als schwarze Pixel interpretiert,
wo keine Fehlerdiffusion ausgeführt
wird. Die Pixel in der Zeile i des Düsenausfalls und den Zeilen
darüber
und darunter werden einer Fehlerdiffusion mit einem geeigneten Schwellenwert unterzogen.
Eine Überlegung ähnlich derjenigen,
die in Verbindung mit 6D erläutert wurde, zeigt, daß ein Schwellenwert
von 3 in diesem Fall geeignet wäre.
-
In 7B ist
angenommen worden, daß der Düsenausfall
Defekte in den Pixelpositionen (i, j – 3), (i, j – 1), (i,
j + 1) und (i, j + 3) hervorruft. Da diese Pixel in 7A zufällig ohnehin
weiß sind,
brauchten keine zusätzlichen
schwarzen Pixel hinzugefügt
zu werden, um den Düsenausfall
zu kompensieren. Wie in 7A zu
sehen ist, hat die Gesamtzahl der schwarzen Pixel in den Zeilen
i-1, i und i + 1
den Wert 5. Eine Summation der Pixelwerte der druckbaren Pixel in diesen
Zeilen in 7B ergibt 14, und die Anzahl
von schwarzen Pixeln, die tatsächlich
gedruckt werden, wenn der Schwellenwert für die Fehlerdiffusion 3 ist, beträgt 14/3
= 4 Rest 2, was sehr nahe an dem idealen Wert von 5 liegt.
-
Wenn
andererseits die andere der beiden Düsen, die zum Drucken der Zeile
i benutzt werden, schadhaft wäre,
so wären
die nicht druckbaren Pixel (i, j – 4), (i, j – 2), (i,
j) und (i, j + 2). Dies wäre
nahezu der "ungünstigste
Fall", weil zufällig drei
der vier Pixel schwarz sind. In diesem Fall wäre die Summe der Pixelwerte
der druckbaren Pixel 10, und die Anzahl von Pixeln, die tatsächlich gedruckt
werden, betrüge
10/3 = 3 Rest 1. Dies ist kleiner als der ideale Wert von 5 aber
größer als
die Anzahl (2) von schwarzen Pixeln, die man ohne Fehlerkompensation
erhalten würde. Mit
anderen Worten, in den drei Zeilen von i – 1 bis i + 1 würde wenigstens
ein zusätzliches
schwarzes Pixel hinzugefügt.
-
Aus
den obigen Beispielen könnte
geschlossen werden, daß der
Düsenausfall
bei dieser Ausführungsform
etwas unterkompensiert wird. Es sollte jedoch bemerkt werden, daß in diesen
Beispielen die schwarzen Pixel in den Zeilen i – 2 und i + 2 nicht zu den
Pixelwerten in den Zeilen i – 1
und i – 1
beitragen, weil zufällig
das "2"-Pixel (i + 2, j – 3) zu
einem Inkrement in der oberen Zeile i + 3 führt und das "2"-Pixel (i – 2, j) zu einem Inkrement
in der unteren Zeile i – 3. Mit
der gleichen Wahrscheinlichkeit könnte jedoch auch das entgegengesetzte Resultat
erhalten werden, was zu einer zusätzlichen "1" in
jeder der Zeilen i – 1
und i + 1 führen
würde.
Wenn man ein größeres Gebiet
des Bildes betrachtet, ist deshalb das mittlere Resultat besser
als in den spezifischen Beispielen, die hier erörtert wurden.
-
Natürlich können die
Modifikationen, die im Zusammenhang mit 6 erläutert wurden, äquivalent
auch bei der Ausführungsform
nach 7 vorgenommen werden. Außerdem ist
es in beiden Ausführungsformen
möglich,
nicht nur die vier benachbarten Pixel zu berücksichtigen, d.h., die linken
und rechten, oberen und unteren Nachbarn, sondern den Pixelwert
eines gegebenen Pixels auf all seine acht Nachbarn zu verteilen,
einschließlich
der "diagonalen" Nachbarn wie etwa
den Pixeln (i – 1,
j – 1),
(i + 1, j + 1), (i – 1,
j – 1)
und (i – 1,
j + 1) für
das zentrale Pixel (i, j).