-
Die
vorliegende Erfindung betrifft die Reduzierung von Graustufen eines
Pixels.
-
Bildinformationen,
unabhängig
davon, ob farbig oder schwarzweiß, werden häufig durch Abtasten, wenigstens
zu Beginn, in einem Graustufenformat, das eine große Anzahl
von Stufen, wie zum Beispiel 256 Stufen für schwarzweiß und mehr
als 16 Millionen (2563) Stufen für Farbe,
enthält,
abgeleitet. Das Mehrstufenformat kann normalerweise von Standarddruckern
nicht ausgedruckt werden.
-
Der
Ausdruck „Graustufe" wird verwendet, um
solche Daten sowohl für
Schwarzweiß-
als auch für
Farbanwendungen zu beschreiben. Standarddrucker drucken eine begrenzte
Anzahl von Stufen, im Binärfall
Punkt oder kein Punkt, oder eine begrenzte Anzahl von Stufen in
Verbindung mit dem Punkt, zum Beispiel vier im quaternären Fall.
Da Graustufen-Bilddaten durch sehr große Werte dargestellt werden
können,
ist es notwendig, Graustufen-Bilddaten auf eine begrenzte Anzahl
von Stufen zu reduzieren, so dass sie gedruckt werden können. Neben
den durch Abtasten gewonnen Graustufen-Bilddaten erzeugen bestimmte Verarbeitungsverfahren,
wie zum Beispiel Computererzeugung, Graustufen-Pixelwerte, die eine
solche Umwandlung erfordern.
-
Ein
solches Verfahren zum Reduzieren der Graustufen eines Pixels ist
die herkömmliche
Fehlerdiffusion. Bei der herkömmlichen
Fehlerdiffusion wird das Videosignal für Pixel X modifiziert, um den
akkumulierten Fehler, der von dem vorhergehenden Schwellenwertverfahren
auf dieses Pixel diffundiert worden ist, einzubeziehen. Der modifizierte
Videosignalwert X wird mit einem Schwellenwert 128 verglichen, der
einen Videobereich zwischen 0 und 255 annimmt. Wenn bestimmt wird,
dass der modifizierte Videosignalwert X größer als oder gleich 128 ist,
gibt der Prozess einen Wert aus, um das Anschalten des Pixels X
anzuzeigen. Dieser Prozess berechnet danach den Fehler in Zusammenhang
mit dem Schwellenwertprozess, wobei dieser Fehler, Y, als X – 255 berechnet
wird.
-
Wenn
andererseits bestimmt wird, dass der modifizierte Videosignalwert
X kleiner ist als der Schwellenwert 128, wird ein Signal ausgegeben,
das andeutet, dass das Pixel X auszuschalten ist. Der Prozess erzeugt
sodann den Fehler Y, der als gleich dem Wert X berechnet wird.
-
Der
Fehler wird mit Gewichtungskoeffizienten multipliziert und auf nachgeschaltete
Pixel verteilt. Somit wird der Fehler von dem Schwellenwertprozess
auf angrenzende Pixel diffundiert.
-
Bei
der Beschreibung des Fehlerdiffusionsprozesses wird davon ausgegangen,
dass der Videowert in einem Bereich zwischen 0 und 255 liegt. Jedoch
kann ein beliebiger gewählter
Bereich für
das Videosignal genutzt werden. Wie oben beschrieben worden ist,
wird bei herkömmlichen
Fehlerdiffusionsprozessen die Binarisierung des Pixels oder die
Reduzierung seiner Graustufe bestimmt, indem eine modifizierte Eingabe
mit einem Schwellenwert verglichen wird. Das modifizierte Eingangsvideosignal
ist sodann das Eingangs-Videosignal V plus einem akkumulierten Fehlerterm
e, bestimmt aus der Verarbeitung von vorhergehenden Pixeln.
-
Wenngleich
herkömmliche
Fehlerdiffusion ein Qualitätsbild
rendert, tritt bei dem Prozess ein Problem auf, wenn er ein segmentiertes
Bild verwendet. Insbesondere können
in einem segmentierten Dokument zahlreiche nicht fehlerdiffundierte
Bereiche, in denen unterschiedliches Bildverarbeitungs-Rendering
erwünscht
ist, wie zum Beispiel Rasterung oder Schwellenwertoperation, vorliegen. In
diesen „nicht
fehlerdiffundierten" Bereichen
wird die Fehlerdiffusionsberechnung nicht herkömmlich erzeugt. Eine solche
Situation ist jedoch nicht dienlich, wenn versucht wird, einen reibungslosen Übergang
zu rendern, wenn in die Grenzbereiche von fehlerdiffundierten Bereichen
eingetreten wird, da der Fehler, der verwendet werden soll, auf
dem Bildkontext basieren würde,
der diesen Bereich umgibt. Mit anderen Worten muss der zu einem
Pixel ausgebreitete Fehler stets auf den umgebenden Videoinformationen
basieren, wenn der Fehler berechnet wird. Normalerweise wird bei
dem Antreffen dieser Situation davon ausgegangen, dass die Fehlerinformation, die
als in den fehlerdiffundierten Bereich eintretend zu verwenden ist,
auf einem reinen Off-Page-Weißhintergrund" basiert; diese Annahme
berechnet jedoch unerwünschte
Artefakte in dem Grenzbereich nicht fehlerdiffundiert/fehlerdiffundiert,
die mitunter auch als „Rundungseffekt-Artefakte" bezeichnet werden.
-
Ein
Beispiel einer herkömmlicher
Fehlerdiffusion des Standes der Technik ist aus dem Artikel „Bi-level
rendition of images containing text, screened halftone and continuous
tone" von Yoshida
et al., Proc. of the global telecommunication conference, AS, NY,
IEEE, Vol. 1, 199, S. 104–109,
bekannt.
-
Die
vorliegende Erfindung lindert diese Probleme mit Verfahren, die
Fehler auch für
Pixel in Bereichen berechnen können,
an denen keine Fehlerdiffusion durchgeführt wird. Fehler von Pixeln
in einem Nicht-Fehlerdiffusionsbereich können auf Pixel in benachbarten
Bereichen diffundiert werden, an denen Fehlerdiffusion durchgeführt wird.
Infolgedessen werden Rundungseffekt-Artefakte an den Grenzbereichen
zwischen Segmenten reduziert, wodurch die Bildqualität von segmentierten
Dokumenten, in denen Segmente, in denen Fehlerdiffusion durchgeführt wird,
an Segmente angrenzen, in denen keine Fehlerdiffusion durchgeführt wird,
verbessert wird.
-
Die
vorliegende Erfindung kann in einem Verfahren des Reduzierens einer
Anzahl von Stufen in einem Mehrstufen-Grauskalen-Pixelwert implementiert
werden. Das Verfahren weist eine Bildklassifizierung zu einem Mehrstufen-Grauskalen-Pixelwert
einer ersten Auflösung
zu; modifiziert den Mehrstufen-Grauskalen-Pixelwert auf Basis der
Bildklassifizierung des Mehrstufen-Grauskalen-Pixels; fügt einen
von vorher verarbeiteten benachbarten Pixeln erzeugten Fehler zu
dem modifizierten Pixelwert hinzu, wenn das Pixel als fehlerdiffundiertes
Pixel klassifiziert wird, und weist keinen Fehler zu dem modifizierten
Pixelwert zu, wenn das Pixel als nicht fehlerdiffundiertes Pixel
klassifiziert wird; verarbeitet den modifizierten Mehrstufen-Grauskalen-Pixelwert
auf der Grundlage der zugeordneten Bildklassifizierung, um die Anzahl
der Graustufen in dem Mehrstufen-Grauskalen-Pixelwert
zu reduzieren; erzeugt einen Fehler auf Basis der Verarbeitung des
modifizierten Mehrstufen-Grauskalen-Pixelwertes; diffundiert einen
Teil des Fehlers auf ein nächstes
Pixel in einer Fast-Scan-Richtung; und diffundiert einen verbleibenden
Teil des Fehlers auf Pixel in einer Slow-Scan-Richtung.
-
Die
vorliegende Erfindung kann weiterhin in einem System zum Reduzieren
einer Anzahl von Stufen in einem Mehrstufen-Grauskalen-Pixelwert,
der ein Pixel darstellt, implementiert werden. Das System umfasst
eine Segmentierungsvorrichtung zum Zuordnen einer Bildklassifikation
zu einem Mehrstufen-Grauskalen-Pixelwert einer ersten Auflösung; eine
Modifiziervorrichtung zum Modifizieren des Mehrstufen-Grauskalen- Pixelwertes auf Basis
eines Fehlers, der von einem vorher verarbeiteten Pixel und der
Bildklassifizierung des Mehrstufen-Grauskalen-Pixels erzeugt wurde;
eine Bildverarbeitungseinrichtung zum Verarbeiten des modifizierten
Mehrstufen-Grauskalen-Pixelwertes auf Basis der zugeordneten Bildklassifizierung,
um die Anzahl von Graustufen in dem Mehrstufen-Grauskalen-Pixelwert
zu reduzieren; eine Fehlervorrichtung zum Erzeugen eines Fehlers
auf Basis der Verarbeitung des modifizierten Mehrstufen-Grauskalen-Pixelwertes; und eine
Diffusionsvorrichtung zum Diffundieren eines Teiles der Fehlers
auf ein nächstes
Pixel in einer Fast-Scan-Richtung und zum Diffundieren des verbleibenden
Teiles der Fehlers auf Pixel in einer Slow-Scan-Richtung. Die Modifiziervorrichtung
fügt einen
Fehler hinzu, der von vorher verarbeiteten benachbarten Pixeln erzeugt
wird, wenn das Pixel klassifiziert wird, um als fehlerdiffundiertes
Pixel verarbeitet zu werden, und fügt keinen Fehler zu dem Pixel hinzu,
wenn es klassifiziert wird, um als nicht fehlerdiffundiertes Pixel
verarbeitet zu werden.
-
Die
vorliegende Erfindung kann auch in einem Verfahren des Reduzierens
einer Anzahl von Stufen in einem Mehrstufen-Grauskalen-Pixelwert, der
ein Pixel darstellt, implementiert werden. Das Verfahren verarbeitet
einen ersten Mehrstufen-Grauskalen-Pixelwert einer ersten Auflösung unter
Verwendung eines Nicht-Fehlerdiffusionsprozesses;
erzeugt einen Fehler aus der Verarbeitung des ersten Mehrstufen-Grauskalen-Pixelwert;
diffundiert den aus der Verarbeitung des ersten Mehrstufen-Grauskalen-Pixelwertes
erzeugten Fehler auf benachbarte Pixel; verarbeitet einen zweiten
Mehrstufen-Grauskalen-Pixelwert unter Verwendung eines Fehlerdiffusionsprozesses
und eines Teiles des diffundierten Fehlers; erzeugt einen Fehler
auf Basis der Verarbeitung des zweiten Mehrstufen-Grauskalen-Pixelwertes;
und diffundiert den aus der Verarbeitung des zweiten Mehrstufen-Grauskalen-Pixelwertes
erzeugten Fehler auf benachbarte Pixel.
-
In
einem Aspekt der Erfindung wird ein Verfahren der Reduzierung einer
Anzahl von Graustufen gemäß dem Anspruch
1 bereitgestellt.
-
In
einem weiteren Aspekt der Erfindung wird ein System gemäß dem Anspruch
9 bereitgestellt.
-
Die
Erfindung wird nunmehr beispielhaft unter Bezugnahme auf die anhängenden
Zeichnungen beschrieben werden.
-
Kurze
Beschreibung der Zeichnungen:
-
1 zeigt
eine grafische Darstellung des Ermittelns von Grenz-Teilpixelwerten.
-
2 zeigt
eine grafische Darstellung des Modifizierens der ermittelten Grenz-Teilpixelwerte mit einer
Fehlerkomponente.
-
3 zeigt
eine grafische Darstellung des Interpolierens von Teilpixelwerten
zwischen den modifizierten Grenz-Teilpixelwerten.
-
4 zeigt
eine grafische Darstellung des Vergleichens der interpolierten Teilpixelwerte
mit einem Schwellenwert.
-
5 zeigt
eine grafische Darstellung des Berechnens eines Soll-Ausgabewertes.
-
6 zeigt
eine grafische Darstellung des Berechnens eines Ist-Ausgangswertes.
-
7 zeigt
eine grafische Darstellung des Berechnens eines Fehlerwertes, der
an nachgeschaltete Pixel zu verbreiten ist.
-
8 zeugt
eine grafische Darstellung zur Veranschaulichung der Ist-Verteilung
des Fehlers in einer typischen Fehler-Verteilungsroutine.
-
9 ist
ein Blockschema eines Fehlerdiffusionsprozesses hoher Adressierbarkeit.
-
10 zeigt
eine grafische Darstellung und veranschaulicht einen Dekodierungsprozess,
der in 9 veranschaulicht wird.
-
11 zeigt
eine grafische Darstellung und veranschaulicht das Ermitteln von
Grenz-Teilpixelwerten parallel zu dem Berechnen eines Soll-Ausgabewertes.
-
12 zeigt
eine grafische Darstellung und veranschaulicht das Interpolieren
von Teilpixelwerten zwischen den gewonnenen Grenzteilpixelwerten
parallel zu dem Modifizieren des Soll-Ausgabewertes mit einer Fehlerkomponente.
-
13 zeigt
eine grafische Darstellung und veranschaulicht das Modifizieren
der Teilpixelwerte zwischen den Grenzteilpixelwerten mit einer Fehlerkomponente.
-
14 zeigt
eine grafische Darstellung und veranschaulicht die Berechnung einer
Vielzahl von teilweisen möglichen
Fehlerwerten.
-
15 zeigt
eine grafische Darstellung der weiterführenden Modifizierung der modifizierten
Teilpixelwerte aus 11 mit einer anderen Fehlerkomponente.
-
16 zeigt
eine grafische Darstellung und veranschaulicht die Berechnung einer
Vielzahl von vollständigen
möglichen
Fehlerwerten.
-
17 zeigt
eine grafische Darstellung der Schwellenwertoperation der weiter
modifizierten Teilpixelwerte.
-
18 zeigt
eine grafische Darstellung des Bestimmens einer Anzahl von Teilpixelwerten,
die gleich oder größer einem
Schwellenwert sind.
-
19 zeigt
eine grafische Darstellung des Auswählens eines einer Vielzahl
von möglichen
vollständigen
Fehlerwerten.
-
20 ist
ein Blockschema und veranschaulicht eine Implementierung des in
den 11 bis 19 veranschaulichten
Prozesses.
-
21 ist
ein Blockschema und veranschaulicht eine Schaltungsimplementierung
des in den 11 bis 19 veranschaulichten
Prozesses; und
-
22 ist
ein Blockschema und veranschaulicht eine Hybrid-Fehlerdiffusionsschaltung hoher Adressierbarkeit,
die Hintergrund-Fehlerdiffusion verwendet.
-
Herkömmlich nutzt
die Bildverarbeitungsarchitektur eines Drucksystems entweder die
Funktionen des Rasterns, der Schwellenwertoperation oder der Fehlerdiffusion.
Damit Pixel nach der Schwellenwertoperation behandelt werden können, wird
ein modifiziertes Videosignal VT' aus dem Pixel-Videosignal
V berechnet. Das modifizierte Videosignal VT' wird in einem System
mit 256 Graustufen definiert als VT' = (T + 255 – V)/2.
Bei dieser Definition ist T der Soll-Schwellenpegel. Es wird darauf
verwiesen, dass für
T und V zwischen 0 und 255 das berechnete V' ebenfalls in dem Bereich von 0 bis
255 liegen wird.
-
Damit
Pixel gerastert werden können,
wird ein ähnliches
modifiziertes Videosignal VS' aus dem Videosignal
V und dem Rasterwert S an dem Pixelort berechnet. Das modifizierte
Videosignal VS' wird für einen Rasterungsprozess in
einem System mit 256 Graustufen als VS' = (S + 255 – V)/2 definiert.
Der Rasterwert S ist abhängig
von dem Pixelort sowie von dem verwendeten Halbtonrasterungs-Muster.
Es wird darauf verwiesen, dass entweder eine Zeilenrasterung oder
eine Punktrasterung verwendet werden kann.
-
Damit
Pixel durch Fehlerdiffusion gerendert werden, ist das modifizierte
Videosignal einfach das umgekehrte Videosignal. Insbesondere wird
das modifizierte Videosignal in einem System mit 256 Graustufen
definiert als VED' = 255 – V.
-
In
dem abschließenden
Schritt der Binarisierung werden alle modifizierten Videosignale – VT',
VS' und
VED' – mit 128
verglichen, um die EIN-Charakteristik oder die AUS-Charakteristik
des Pixels zu bestimmen. Das heißt, wenn das modifizierte Videosignal
gleich oder größer als
128 ist, muss das Pixel AUS (schwarz) sein; im anderen Falle muss
es EIN (weiß)
sein. Es wird darauf verwiesen, dass dies das gleiche Ergebnis ergibt
wie der üblichere
Ansatz des Vergleichens des Videosignals V selbst mit dem Schwellenwert
T oder dem Rasterwert S. In dem Fall der Fehlerdiffusion muss der
entsprechende Fehler, der von den vorhergehenden Pixeln verbreitet
wurde, zu V' hinzuge fügt werden,
bevor der Vergleich mit 128 erfolgt, und danach muss der an nachgeschaltete
Pixel zu verbreitende Fehler berechnet werden.
-
Es
ist jedoch wünschenswert,
das Videosignal mit einer höheren
Frequenz zu rastern, während die
verfügbare
Anzahl von Graustufen aufrechterhalten wird. Um dieses Ergebnis
zu erzielen, ist vorgeschlagen worden, ein Bildverarbeitungssystem
zu verwenden, das einen Rasterprozess vor einem Fehlerdiffusionsprozess
durchführt.
Insbesondere berechnet dieser Hybrid-Fehlerdiffusionsprozess in
einem System mit 256 Graustufen zuerst das modifizierte Videosignal
VS' unter
Verwendung eines bevorzugten Rasterverfahrens von VS' = (GL – VI) + (SI – Th), wobei
SI die aus dem Halbton-Rastermuster abgeleiteten Rasterwerte
sind, Vi das Grau-Eingangsvideosignal ist,
GI ein Maximal-Graustufenwert für ein Pixel
in dem System ist und wobei Th der in dem Binarisierungsprozess
verwendete Schwellenwert ist. Diese Berechnung verwendet Rasterwerte
von einer kleinen Rasterzelle. Nach dem Berechnen des modifizierten
Videosignals VS' wird das Signal VS' durch einen Fehlerdiffusionsprozess
verarbeitet. In einem Ausführungsbeispiel
des Hybrid-Fehlerdiffusionssystems ist dieser Fehlerdiffusionsprozess
ein Fehlerdiffusionsprozess hoher Adressierbarkeit.
-
Ein
Beispiel eines solchen Systems wird kurz diskutiert werden. In dem
Hybridsystem wird ein nicht modifiziertes Videosignal oder Bildsignal
durch einen Modulator gerastert, um ein modifiziertes Signal VS' zu
erzeugen, wobei die bevorzugte Gleichung VS' = (GL – VI) + (SI – Th) verwendet
wird, wobei SI das Grau-Eingangsvideosignal
ist, GI ein Maximal-Graustufenwert für ein Pixel
in dem System ist und wobei Th der in dem Binarisierungsprozess
verwendete Schwellenwert ist. Dieses modifizierte Signal VS' wird an
ein Addierglied übergeben,
wo das Signal durch Addition eines von vorgeschalteten verarbeiteten
Pixelorten verbreiteten Fehlerwertes weiter modifiziert wird, um
VS''' (VS'' = VS' + eI)
zu erzeugen. Die von dem Addierglied verwendete Fehlerkomponente (eFIFO + eFB) wird
von einem Fehler-Pufferspeicher (eFIFO) übergeben,
der den ausgebreiteten Fehler speichert, sowie von einer Binarisierungsschaltung (eFB).
-
Das
weiter modifizierte Signal VS'' wird an eine Binarisierungsschaltung übergeben,
die das mehrstufig modifizierte Signal VS'' unter Verwendung eines Diffusionsprozesses/Schwellenwert-Prozesses zu
einem Binärausgang
umwandelt. Ein Teil des Fehlers (eFB) aus
diesem Prozess wird direkt zu dem nächsten zu verarbeitenden Pixel rückgekoppelt, während der
Rest (eFIFO) in dem Fehler-Pufferspeicher
für Verarbeitung
von Pixeln in der nächsten
Abtastzeile gespeichert wird. Die Verteilung oder Aufteilung des
Fehlers erfolgt auf der Grundlage von Gewichtungskoeffizienten.
Die Gewichtungskoeffizienten können
die in US-A-5,353,127 beschriebenen Gewichtungskoeffizienten oder
eine beliebige andere Menge von Koeffizienten sein, wie unter anderem Mengen,
in denen einige Koeffizienten Null-Werte aufweisen oder in denen
der Fehler nur in einer Richtung diffundiert wird, das heißt entweder
in der Fast-Scan-Richtung oder in der Slow-Scan-Richtung, oder in
beiden Richtungen, was üblicher
ist.
-
In
diesem Binarisierungsprozess stellt der Fehler, der erzeugt wird,
die Differenz zwischen dem Soll-Ausgang, dem Mehrstufen-Bilddatenwert
und dem Ist-Ausgangswert, welcher entweder 255 beziehungsweise 0
ist, wenn die Mehrstufen-Bilddaten durch acht Bits dargestellt werden,
dar. Dieser Fehler wird diffundiert, wodurch möglichst viel Graustufeninformation
beibehalten wird.
-
Wie
weiter oben bereits angemerkt wurde, kann der Fehlerdiffusionsprozess
ein Fehlerdiffusionsprozess hoher Adressierbarkeit sein, und daher wird
der Fehlerdiffusionsprozess mit Rasterung/hoher Adressierbarkeit
unten ausführlicher
erläutert werden.
-
Um
den oben beschriebenen herkömmlichen oder
Hybrid-Fehlerdiffusionsprozess
auf eine Umgebung hoher Adressierbarkeit zu erweitern, wird die Binarisierung
(Schwellenwert) bei einer höheren räumlichen
Auflösung
durchgeführt,
jedoch werden die Fehlerberechnung und die Fehlerausbreitung bei der
ursprünglichen
niedrigeren räumlichen
Auflösung durchgeführt. Diese
Teilung des Prozesses verhindert im Wesentlichen beziehungsweise
reduziert die Anzahl von isolierten Teilpixeln, wodurch eine hohe Bildqualität aufrechterhalten
wird. Dieser Prozess hoher Auflösung/niedriger
Auflösung
wird unten ausführlicher
erläutert
werden.
-
Bei
der Erläuterung
des Hybrid-Fehlerdiffusionsprozesses hoher Adressierbarkeit wird
von der Annahme ausgegangen, dass die Eingangs-Graustufen an dem
Pixelort i und dem Pixelort i + 1 durch Vi beziehungsweise
Vi+1 dargestellt werden, wobei Vi = (GL – Vi) + (Si – Th) und
Vi+1 = (GL – Vi+1) + (Si+1 – Th). Der
Renderingfehler bei der niedrigeren Auflösung, der von den vorgeschalteten
Pixeln auf den nachgelagerten Pixelort übergeht, wird als ei bezeichnet.
-
Es
wird darauf verwiesen, dass ein Merkmal hoher Adressierbarkeit Interpolation
zwischen Pixeln, das Erzeugen von Teilpixeln, beinhaltet. Diese
Interpolation wirkt sich auf den Fehlerdiffusionsprozess hoher Adressierbarkeit
aus. Insbesondere, und in Abhängigkeit
von der Art und Weise der Durchführung
der Interpolation, können
zwei unterscheidbare Ausgänge
gewonnen werden, indem der Fehlerdiffusionsprozess hoher Adressierbarkeit
verwendet wird. Ein jeder dieser unterscheidbaren Ausgänge wird
unten beschrieben werden.
-
In
Bezug auf ein erstes Interpolationsschema sind die Schritte zum
Bestimmen des Druckens oder Renderns eines Teilpixels wie folgt.
-
Zuerst
werden die modifizierten Pixelwerte POi =
Vi' +
ei und P1i = Vi+1' +
ei+1 berechnet, wobei Vi' = (GL – Vi) + (i – Th) und
Vi+1' =
(GL – Vi+1) + (Si+1 – Th). Die
Teilpixel werden mit 0 bis N-1 bezeichnet, wobei die Charakteristik
hoher Adressierbarkeit N ist. Die Charakteristik hoher Adressierbarkeit
ist die Anzahl von Teilpixeln, die ein Drucker erzeugen kann, im Vergleich
zu der Durchsatzbandbreite des Bildverarbeitungssystems. Mit anderen
Worten wird die Charakteristik hoher Adressierbarkeit als die Anzahl
von Teilpixeln definiert, die das Bildausgabeterminal aus einem
Pixel von Bilddaten rendern kann.
-
Hohe
Adressierbarkeit ist in Situationen von Bedeutung, in denen die
Vorrichtung die Bilddaten mit einer Auflösung verarbeiten kann, sie
jedoch mit einer höheren
Auflösung
drucken kann. In einer solchen Situation kann ein Verarbeitungssystem,
das für ein
Bild niedrigerer Auflösung
ausgelegt ist (niedrigere Auflösung
kann schneller und kostengünstiger
verarbeitet werden) verwendet werden, und eine Druckvorrichtung
kann verwendet werden, die durch Laserimpulsmanipulation mit einer
höheren
Auflösung drucken
kann. Zum Beispiel kann das Bild bei 600 × 600 × 8 verarbeitet und bei 2400 × 600 × 1 gedruckt werden,
wobei das Verfahren hoher Adressierbarkeit verwendet wird. In dem
oben genannten Beispiel beträgt
die Charakterstik hoher Adressierbarkeit 4. Wenn das Bild bei 600 × 600 × 8 verarbeitet
und bei 1200 × 600 × 1 gedruckt
würde,
betrüge
die Charakteristik hoher Adressierbarkeit 2.
-
Die
interpolierten Teilpixelwerte werden als Bn =
P0 + n (P1 – P0)/N
für n =
0 bis N – 1
berechnet. Die interpolierten Teilpixelwerte werden danach mit einem
Schwellen wert verglichen, der in den meisten Fällen 128 ist, wobei angenommen
wird, dass der Videowert von 0 bis 255 reicht (GI ist
gleich 255). Wenn Bn größer als oder gleich 128 ist,
wird das Teilpixel angeschaltet; im anderen Fall wird es abgeschaltet. Der
auf nachgeschaltete Pixel zu verbreitende Fehler wird als der Soll-Ausgang
(Po + P1)/2 minus den Ist-Ausgang, also y·255/N, berechnet, wobei y
die Anzahl der angeschalteten Teilpixel ist. Der Fehler wird danach
mit einer Menge von Gewichtungskoeffizienten multipliziert und in
der ersten Version auf die nachgeschalteten Pixel verteilt.
-
Insbesondere
wird das gerasterte eingegebene modifizierte Videosignal in N Teilpixeleinheiten unterteilt.
Die Werte P0 und P1 werden wie oben angeführt berechnet. Die berechneten
Teilpixelwerte werden mit einem Schwellenwert, das heißt mit 128, verglichen.
Wenn der Teilpixelwert größer als
oder gleich dem Schwellenwert ist, wird der Teilpixelwert auf den
Zustand EIN gesetzt. Wenn der Teilpixelwert jedoch kleiner ist als
128, wird der Teilpixelwert auf den Zustand AUS gesetzt.
-
Bei
Abschluss des Vergleiches aller Teilpixelwerte wird die Anzahl der
EIN-Teilpixel berechnet. Darüber hinaus
wird der Fehler aus dem Schwellenwertprozess so berechnet, dass
der Wert die ursprüngliche
niedrigere räumliche
Auflösung
darstellt. Bei der Berechnung des Fehlers wird der Fehler mit Gewichtungskoeffizienten
multipliziert, und der Fehler wird auf nachgeschaltete Pixel verteilt.
-
Ein
Beispiel des oben diskutierten Hybrid-Fehlerdiffusionsprozesses
wird kurz beschrieben werden. Bei diesem Beispiel werden die Werte
P0i und P1i wie
oben beschrieben berechnet. Als Nächstes wird die X-Koordinate
des Schnittpunktes einer Linie zwischen P0i und
P1i und einer Linie, die einen Schwellenwert
darstellt, berechnet und durch Multiplizieren der Differenz zwischen
128 und P0 mit dem Wert N und Teilen dieses Produktes durch die
Differenz von P1 und P0 normalisiert. Der normalisierte Wert X wird
mit dem Wert 0 verglichen. Wenn X kleiner als oder gleich 0 ist,
vergleich der Prozess den Wert P1 mit dem Wert 128. Wenn der Wert
P1 größer als
oder gleich 128 ist, werden alle Teilpixel auf den Zustand EIN gesetzt.
Wenn P1 jedoch kleiner als 128 ist, setzt der Prozess alle Teilpixel
auf den Zustand AUS.
-
Wenn
andererseits bestimmt wird, dass X nicht kleiner als oder gleich
0 ist, wird der ganzzahlige Wert von X durch Abrunden ermittelt,
wie zum Beispiel durch Trunkie ren von X, und dieser ganzzahlige Wert
wird gleich Y gesetzt. Der ganzzahlige Wert Y wird mit den Werten
0 und N verglichen. Wenn der Wert Y zwischen 0 und N liegt, bestimmt
der Prozess, ob der Wert P1 kleiner als oder gleich 128 ist. Wenn der
Wert P1 kleiner als oder gleich 128 ist, setzt der Prozess die Teilpixel
0 bis Y auf den Zustand EIN und die Teilpixel Y + 1 bis N auf den
Zustand AUS. Wenn jedoch bestimmt wird, dass der Wert P1 größer als 128
ist, setzt der Prozess die Teilpixel 0 bis Y auf den Zustand AUS
und die Teilpixel Y + 1 bis N auf den Zustand EIN.
-
Wenn
bestimmt wird, dass der Wert Y nicht zwischen den Werten 0 und N
liegt, wird bestimmt, ob der Wert P1 größer als oder gleich 128 ist.
Wenn der Wert P1 größer als
oder gleich 128 ist, setzt der Prozess alle Teilpixel auf den Zustand
EIN. Wenn jedoch bestimmt wird, dass der Wert P1 kleiner als 128
ist, setzt der Prozess alle Teilpixel auf den Zustand AUS.
-
Bei
Abschluss des Teilpixel-Einstellprozesses wird der auf die nachgeschalteten
Pixel auszubreitende Fehler berechnet. Das heißt, der Fehler wird berechnet,
um die ursprüngliche
niedrige räumliche
Auflösung
darzustellen. Bei Berechnung des Fehlers wird der Fehler mit Gewichtungskoeffizienten multipliziert,
und die gewichteten Fehlerausdrücke werden
auf nachgeschaltete Pixel verteilt.
-
Bei
diesem zweiten Interpolationsverfahren werden die modifizierten
Pixelwerte P0i = Vi' + ei und P1i = Vi+1' + ei berechnet,
wobei Vi' =
(GL – Vi) + (Si – Th) und
Vi+1' =
(GL – Vi+1) + (Si+1 – Th). Bei
diesem Beispiel werden die Werte P0 und P1 wie oben angemerkt berechnet.
Als Nächstes
werden die Werte Y und Z gleich Null gesetzt, wobei Y die Anzahl
von Teilpixeln, die einzuschalten sind, bezeichnet und Z ein Teilpixel-Zähler ist.
Danach wird Z mit N verglichen, um zu bestimmen, ob alle Teilpixel
innerhalb des modifizierten Videosignals nach dem Schwellenwertprozess
behandelt worden sind. Wenn bestimmt wird, dass Teilpixel noch nach
dem Schwellenwertprozess zu behandeln sind, wird der nächste Teilpixelwert
berechnet. Der Prozess vergleicht danach den berechneten Teilpixelwert
mit dem Schwellenwert, also 128. Wenn der Teilpixelwert größer als oder
gleich dem Schwellenwert ist, setzt der Prozess den Teilpixelwert
auf den Zustand EIN, und der Wert Y wird inkrementiert, was die
Anzahl von Teilpixeln andeutet, die auf EIN gesetzt sind. Wenn jedoch
der Teilpixelwert kleiner als 128 ist, wird der Teilpixelwert auf
AUS gesetzt.
-
Bei
Abschluss der vorstehenden Vergleiches inkrementiert der Prozess
den Zähler
Z. Dieses Unterprogramm wird wiederholt, bis alle Teilpixelwerte
in dem modifizierten Videosignal mit dem Schwellenwert verglichen
sind. Bei Abschluss des Vergleiches aller Teilpixelwerte wird die
Anzahl von Teilpixeln EIN durch Y vorgegeben. Als Nächstes wird
der Fehler von dem Schwellenwertprozess so berechnet, dass der Wert
die ursprüngliche
niedrigere räumliche
Auflösung
darstellt. Bei Berechnung des Fehlers multipliziert der Prozess
den Fehler mit den Gewichtungskoeffizienten und verteilt den Fehler
an nachgeschaltete Pixel.
-
Die 1 bis 7 veranschaulichen
die Berechnungsschritte, die erforderlich sind, um die Fehlerdiffusion
hoher Adressierbarkeit unter Verwendung eines jeweiligen Interpolationsschemas
durchzuführen.
Zuerst, wie in 1 veranschaulicht wird, werden
der Pixelwert Vi' und Vi+1 ermittelt,
wobei Vi' = (GL – Vi) + (Si – Th) und
Vi+1' =
(GL – Vi+1) + (Si+1 – Th). Die
Ist-Pixelwerte werden in 1 grafisch veranschaulicht,
wobei der Pixelwert Vi den Pixelwert an
de Teilpixel-Position 0 darstellt und das Pixelwert Vi+1' den Pixelwert an
dem Teilpixel N – 1
darstellt. In 1 reichen die Pixelwerte von
0 bis 255 unter Verwendung eines herkömmlichen Acht-Bit-Datenwortes,
um den Mehrstufen-Grauskalenwert der zu verarbeitenden Bilddaten
darzustellen. Es wird darauf verwiesen, dass ein beliebiger Bereich
verwendet werden kann, um den Graustufenwert der Bilddaten darzustellen,
wie zum Beispiel 0 bis 511, 0 bis 127 etc.
-
Nach
dem Bestimmen der Anfangspixelwerte Vi' und Vi+1 wird
eine diffundierte Fehlerkomponente ei (der
akkumulierte Fehler aus vorhergehenden Pixel-Binarisierungsprozessen) zu den Pixelwerten Vi' und
Vi+1 addiert. Es wird darauf verwiesen,
dass die Fehlerkomponente ei aus den beiden
Komponenten eFIFO und eFB besteht,
wobei eFIFO die summierte Fehlerkomponente
ist, die in einem Zeilenspeicher gespeichert wird, und wobei eFB die Rückkopplungs-Fehlerkomponente
ist. Das Addieren der Fehlerkomponente e wird in 2 grafisch
veranschaulicht.
-
Nach
dem Addieren der diffundierten Fehlerkomponente werden die interpolierten
Teilpixelwerte berechnet, wie in 3 veranschaulicht
wird. Zum Beispiel sind die interpolierten Teilpixelwerte Bn = P0i + n (P1i – P0i)/N für
n = 0 bis N – 1,
wobei N die ausgewählte
Charakteristik hoher Adressierbarkeit ist. Es wird darauf verwiesen,
dass der Wert P0 gleich Vi' + ei ist
und dass P1 gleich Vi+1' + ei ist.
-
Nach
dem Berechnen der interpolierten Teilpixelwerte wird ein jeder interpolierter
Teilpixelwert mit einer Schwellenwertstufe verglichen. In dem in 4 veranschaulichten
Beispiel ist der Schwellenwert 128. Es wird darauf verwiesen, dass
dieser Schwellenwert ein beliebiger Wert innerhalb des Bereiches
der Bilddaten sein kann, in Abhängigkeit
von den gewünschten
Ergebnissen. Bei diesem Beispiel wird ein jedes Teilpixel, das einen
Wert von größer als oder
gleich 128 aufweist, auf EIN gesetzt.
-
Als
Nächstes
wird der Soll-Ausgang (P0' + P1i)/2 berechnet. Diese Berechnung des Soll-Ausgangs
wird in 5 grafisch veranschaulicht.
Nach dem Berechnen des Soll-Ausgangs wird der Ist-Ausgang berechnet.
In diesem Beispiel ist der Ist-Ausgang gleich n·255/N, wobei n die Anzahl
der Teilpixel ist, die als Ergebnis des in 10 veranschaulichten Vergleiches
ausgeschaltet worden sind. Eine grafische Darstellung des berechneten
Ist-Ausgangs wird in 8 gezeigt. Nachdem der Soll-Ausgang
und der Ist-Ausgang berechnet worden sind, berechnet das Fehlerdiffusionsverfahren
den nachgeschaltet zu verbreitenden Fehler. Dieser Fehler wird als
der Soll-Ausgang minus dem Ist-Ausgang berechnet. Eine grafische
Darstellung dieser Berechnung wird in 7 gezeigt.
-
Wie
in 7 veranschaulicht wird, ist der Fehler als ei+1 = (P0i + P1i)/2 – (n
255/N) zu berechnen. In diesem Fall stellt der Fehler ei+1 den
Fehler aus dem aktuellen Binarisierungsprozess dar. Wie bei allen
herkömmlichen
Fehlerdiffusionsprozessen, wird der Fehler aus dem Binarisierungsprozess
auf nachgeschaltete Pixel verteilt. Die Verteilung des Fehlers ei+1 auf nachgeschaltete Pixel wird in 8 veranschaulicht.
Bei diesem Beispiel nutzt die Fehlerverteilung eine Menge von Fehlerdiffusions-Koeffizienten, die
schnelle Verarbeitung durch einfache Bitverschiebung ermöglicht. 8 veranschaulicht
die zu einem jeden Pixelort zugehörigen Koeffizienten.
-
9 veranschaulicht
eine Schaltung zum Implementieren des oben beschriebenen Prozesses. In 9 wird
das gerasterte Eingangs-Videosignal aufgeteilt und in dem Latch 101 verriegelt,
um die gerasterten Pixelwerte Voi und V1i zu erzeugen. V0i stellt
das verriegelte, gerasterte Eingangs-Videosignal V1 dar, wie oben
angemerkt, und Voi stellt den gerasterten
Pixelwert unmittelbar vor dem gerasterten Pixelwert V1 in der gleichen
Abtastzeile dar. Der gerasterte Pixelwert V0i wird
an ein Addierglied 103 mit der Fehlerkomponente ei übergeben.
Darüber
hinaus wird die Fehlerkomponente ei zusammen
mit dem gerasterten Eingangs-Videosignal V1i an ein Addierglied 105 übergeben.
Das Addierglied 103 erzeugt ein Ausgangssignal P0i, das an eine 2er-Komplement-Schaltung 107 übergeben
wird, um negativen P0i zu erzeugen. Negativer
P0i wird zusammen mit dem Wert P1i an ein Addierglied 109 übergeben,
um den Wert P1i – P0i zu
erzeugen. Negativer P0i wird weiterhin an
ein Addierglied 111 übergeben,
das mit dem Schwellenwert summiert wird. Bei diesem Beispiel ist
der Schwellenwert 128.
-
Die
Summe aus dem Addierglied 111 wird an den Vervielfacher 115 übergeben,
so dass der Wert (128 – P0i) mit dem Eigenwert N hoher Adressierbarkeit
multipliziert werden kann. Das sich ergebende Produkt wird danach
durch eine Teilerschaltung 117 durch die Summe aus dem
Addierglied 109 geteilt. Der sich ergebende Quotient wird
an einen Dekodierer 119 übergeben. Die Ist-Funktion
des Dekodierers 119 wird in 10 grafisch
veranschaulicht.
-
Insbesondere
bestimmt der Dekodierer 119, wie in 10 veranschaulicht
wird, den Schnittpunkt der Linie P0i/P1
und des Wertes 128. Aus der Bestimmung dieses Schnittpunktes
bestimmt der Dekodierer 119 die Anzahl von Teilpixeln n,
die eingeschaltet werden. Die Ergebnisse von dem Dekodierer 119 werden
als binarisierter Ausgang an eine Druckmaschine und ebenso an einen
Vervielfacher 121 übergeben.
Der Vervielfacher 121 multipliziert den Ausgang von dem
Dekodierer 119 mit dem Wert (–255/N). Das Produkt des Vervielfachers 121 wird
zu einer Summe addiert, die durch ein Addierglied 113 in dem
Addierglied 123 erzeugt wird. Das Addierglied 113 addiert
die Werte P0i und P1, um den Wert P1i + P0i zu erzeugen.
-
Die
Ergebnisse des Addiergliedes 123 stellen die Fehlerkomponente
ei+1 dar, die an eine einfache Bitverschiebungsschaltung 125 übergeben
werden, um verschiedene Fehlerwerte zu erzeugen, die in dem Verteilungsprozess
verwendet werden. Die von der Bitverschiebungsschaltung 125 erzeugten Fehlerwerte
werden an eine Fehlerverteilungsschaltung 127 übergeben,
in der die Hälfte
des Fehlers ErrB auf das nächste Pixel
in der gleichen Abtastzeile verteilt wird und die andere Hälfte des
Fehlers ErrA auf ver schiedene Pixel in der
nächsten
Abtastzeile entsprechend den in der Fehlerverteilungsschaltung 127 eingerichteten
Gewichtungskoeffizienten verteilt wird.
-
11 veranschaulicht
zwei parallele Berechnungen, die ausgeführt werden können. Insbesondere
veranschaulicht 11, dass die gerasterten Pixelwerte
Vi und Vi+1 parallel
zu Beginn der Berechnung des Soll-Ausgangs für ein einzelnes Teilpixel ermittelt
werden, wobei der Soll-Ausgang ohne Einbeziehung der diffundierten
Fehlerkomponenten eFIFO beziehungsweise
eFB berechnet wird.
-
Nachdem
diese parallelen Berechnungen abgeschlossen sind, können interpolierte
Teilpixelwerte auf die gleiche Art und Weise berechnet werden, wie
in 3 veranschaulicht wird. Parallel zu dieser Berechnung
der interpolierten Teilpixelwerte wird jedoch weiterhin der Soll-Ausgang
berechnet, indem die Fehlerkomponente eFIFO addiert
wird. Dies wird in 12 grafisch veranschaulicht.
-
Als
Nächstes
wird die Fehlerkomponente eFIFO zu den gerasterten
Pixelwerten Vi und Vi+1,
und den interpolierten Teilpixeln addiert, wie in 13 veranschaulicht
wird. Gleichzeitig (parallel dazu) werden alle möglichen Ist-Teilpixelausgänge von dem
Soll-Ausgang subtrahiert,
ohne Einbeziehung der diffundierten Fehlerkomponente eFB.
Mit anderen Worten werden N mögliche
Ist-Teilpixelausgänge
von dem in 12 berechneten Soll-Ausgang
subtrahiert, um N mögliche
Fehlerausgänge
ep zu erzeugen (der Soll-Ausgang minus der
Ist-Ausgang ist gleich dem Fehler ep). Die
in 13 veranschaulichten Berechnungen werden parallel
zu den in 14 veranschaulichten Berechnungen
durchgeführt.
-
Die
Fehlerkomponente eFB wird zu den gerasterten
Pixelwerten Vi, Vi+1 und
den verschiedenen interpolierten Teilpixelwerten addiert, wie in 15 veranschaulicht
wird. Gleichzeitig mit der Addition der Rückkopplungs-Fehlerkomponente
eFB in 15 wird
die Fehlerkomponente eFB zu allen möglichen Teilpixel-Soll-Ausgängen addiert,
wie in 16 veranschaulicht wird. Mit
anderen Worten wird die Fehlerkomponente eFB einzeln
zu allen N-Fehlerergebnissen (ep) addiert,
die aus den durch die 14 veranschaulichten Berechnungen
stammen.
-
Nach
dem Abschluss dieser Parallelberechnungen umfasst der nächste Schritt
die in den 17, 18 und 19 veranschaulichten
Berechnungen. In diesem nächsten
Schritt wird ein jeder interpolierter Teilpixelwert mit einem Schwellenwert
von 128 verglichen, und die Teilpixel mit einem Wert größer als
oder gleich dem Schwellenwert werden eingeschaltet. Dieser Prozess
wird in 17 und in 18 grafisch
veranschaulicht, wohingegen 17 den
Vergleich der interpolierten Teilpixelwerte mit den Schwellenwerten
zeigt, und 18 zeigt das Einschalten der
Teilpixel, die einen Wert größer als oder
gleich dem Schwellenwert aufweisen.
-
Da
alle möglichen
Fehlerwerte gleichzeitig als Ergebnis der in 16 veranschaulichten
Berechnungen bereitgestellt wurden, kann der nachgeschaltet zu verbreitende
Fehler nun unmittelbar ausgewählt
werden, das heißt über einen
Multiplexer, auf Basis der Anzahl von Teilpixeln, die eingeschaltet werden.
Mit anderen Worten veranschaulicht 19 den
geeignet ausgewählten
Fehlerwert aus den verschiedenen gleichzeitig bereitgestellten Fehlerwerten,
die durch die in 16 veranschaulichten Berechnungen
erzeugt werden. Der ausgewählte
Fehlerwert wird danach unter Verwendung eines beliebigen herkömmlichen
Fehlerdiffusionsverfahrens auf nachgeschaltete Pixel verteilt. Der
Fehler kann unter Verwendung der oben diskutierten Fehlerdiffusions-Koeffizienten auf
nachgeschaltete Pixel verteilt werden.
-
20 veranschaulicht
ein Funktionsblockschaltbild einer Parallelleitungs-Fehlerdiffusionsschaltung
hoher Adressierbarkeit. In 20 wird
das gerasterte Eingangs-Videosignal an eine Fehlerberechnungsschaltung 1 und
an eine Videomodifizierungsschaltung 3 übergeben. Die Fehlerberechnungsschaltung
berechnet alle verschiedenen möglichen
Fehlerwerte, die sich aus dem gegenwärtig ablaufenden Binarisierungsprozess
ergeben können. Die
Auswahl des geeigneten Fehlers, der durch die Fehlerberechnungsschaltung 1 auszugeben
ist, basiert auf dem empfangenen Fehlerauswahlsignal, das weiter
unten ausführlicher
beschrieben werden wird.
-
Der
von der Fehlerberechnungsschaltung 1 ausgewählte Fehlerwert
wird an eine Koeffizient-Matrixschaltung 5 übergeben,
die den Fehler auf Basis einer Menge von Gewichtungskoeffizienten,
die beliebige geeignete Koeffizienten sein können, wie weiter oben beschrieben
worden ist, verteilt. Die Koeffizient-Matrixschaltung 5 teilt
die Fehlerwerte in zwei Komponenten eFIFO (ErrB) und eFB (ErrA) auf. Wie weiter oben angemerkt wurde,
wird der Rückkopplungsfehler
ErrA von der Koeffizient-Matrixschaltung 5 zu der
Video-Modifikationsschaltung 3 und der Fehlerberechnungsschaltung 1 rückgekoppelt.
Die Video-Modifikationsschaltung 3 empfängt weiterhin die ErrB von dem Pufferspeicher 9.
-
Die
Video-Modifikationsschaltung 3 erzeugt die interpolierten
Teilpixelwerte für
das Fehlerdiffusionsverfahren hoher Adressierbarkeit, wobei die
interpolierten Teilpixelwerte zusammen mit einem Schwellenwert an
die Binarisierungsschaltung 7 übergeben werden. Der Schwellenwert
kann 128 sein. Es wird jedoch darauf verwiesen, dass dieser Schwellenwert
ein beliebiger Wert sein kann.
-
Die
Binarisierungsschaltung 7 binarisiert die Eingangs-Videodaten
so, dass binarisierte Bilddaten zur Nutzung durch eine Bildrendering-Vorrichtung ausgegeben
werden. Die Binarisierungsschaltung 7 erzeugt weiterhin
das Fehlerauswahlsignal, das durch die Fehlerberechnungsschaltung 1 genutzt wird,
um den richtigen Fehlerwert auszuwählen, der an die Koeffizient-Matrixschaltung 5 zu übergeben ist.
Dieses Fehlerauswahlsignal stellt die Anzahl der interpolierten
Teilpixel dar, die während
des Binarisierungsprozesses eingeschaltet sind. Somit kann die Fehlerberechnungsschaltung 1 einen
Multiplexer zur Vornahme dieser Auswahl umfassen.
-
Wie
in 20 veranschaulicht wird, ist die Fehlerberechnungsschaltung 1 parallel
zu der Video-Modifikationsschaltung und der Binarisierungsschaltung
angeordnet. Darüber
hinaus kann die Fehlerdiffusionsarchitektur hoher Adressierbarkeit
an einem ASIC-Schaltkreis implementiert werden, wodurch Hardwareimplementierung
ermöglicht
wird, so dass die Bilddaten innerhalb der Zeitvorgaben und Durchsatzvorgaben
einer schnellen Bildrendering-Vorrichtung binarisiert werden können.
-
21 veranschaulicht
ein Detailblockschema einer Fehlerdiffusionsschaltung hoher Adressierbarkeit.
Wie in 21 veranschaulicht wird, werden zahlreiche
der Berechnungen, wie unter Bezugnahme auf die 11 bis 19 bereits
beschrieben worden ist, parallel durchgeführt.
-
Die
gerasterten Pixelwerte Vi und Vi+1 werden unter
Verwendung eines Latches 205 ermittelt, der das gerasterte
Videosignal so verriegelt, dass zwei benachbarte Fast- Scan-Pixel für Verarbeitung
bereitstehen. Die gerasterten Pixelwerte Vi und
Vi+1 werden in dem Addierglied 206 summiert,
und die Summe wird durch das Dividierwerk 207 in der Hälfte geteilt. Das
Ergebnis von dem Dividierwerk 207 wird mit dem Fehlerterm
eFIFO an das Addierglied 208 übergeben. Die
Summe stellt den Soll-Ausgang zu dem Drucker dar.
-
Parallel
zu dem oben beschriebenen Prozess erzeugt eine Ist-Ausgangs-Erzeugungsschaltung 200 alle
möglichen
Ausgänge
zu dem Drucker auf Basis der Charakteristik der hohen Adressierbarkeit.
Es wird darauf verwiesen, dass diese Werte negativ sind, da ein
Addierglied für
Subtraktionsoperationen verwendet wird. Wenn die Charakteristik
hoher Adressierbarkeit N ist, werden N + 1 mögliche Ist-Ausgänge erzeugt
werden. Ebenfalls parallel zu dem oben beschriebenen Prozess erzeugt
eine Teilpixelschaltung 209 alle interpolierten Teilpixel
auf Basis der gerasterten Pixelwerte Vi und
Vi+1.
-
Als
Nächstes
wird die Fehlerkomponente eFIFO von dem
Addierglied 210 zu einem jeden der interpolierten Teilpixel
addiert. Gleichzeitig (parallel dazu) wird jeder mögliche Ist-Ausgang
(negative Werte) einzeln durch das Addierglied 201 zu dem
Soll-Ausgang von
dem Addierglied 208 addiert. Mit anderen Worten werden
N + 1 mögliche
Ist-Teilpixelausgänge von
dem Soll-Ausgang subtrahiert, um N + 1 mögliche Fehlerausgänge zu erzeugen.
-
In
den Addiergliedern 211 und 202 wird ein Rückkopplungs-Fehlerterm
eFB zu einer jeden Summierung von den Addiergliedern 210 beziehungsweise 201 addiert.
Diese Berechnungen werden parallel ausgeführt. Nachdem diese parallelen
Berechnungen abgeschlossen sind, wird ein jedes interpoliertes Pixel
von dem Addierglied 211 in der Schwellenwertschaltung 212 mit
einem Schwellenwert verglichen. Teilpixel mit einem Wert größer als
der oder gleich dem Schwellenwert werden eingeschaltet. Die Schwellenwertschaltung 212 gibt
eine Zahl aus, die die Anzahl von eingeschalteten Teilpixeln darstellt. Diese
Information wird an eine Dekodier-Logikschaltung 213 übergeben,
die davon einen an einen Drucker (nicht gezeigt) zu sendenden binären Ausgang erzeugt.
-
Darüber hinaus
werden die Fehlerterme von dem Addierglied 202 an einen
Multiplexer 203 übergeben,
der auswählt,
welcher Fehlerterm auf nachgeschaltete Pixel zu verteilen ist. Der
Fehlerterm wird auf Basis eines von der Dekodier-Logikschaltung 213 empfangenen
Steuersignals ausgewählt.
Der ausgewählte
Fehlerterm wird an eine Verteilschaltung 204 übergeben,
die den nächsten
Rückkopplungsfehler (eFB) und den Fehler (eFIFO),
die zur Verwendung bei der Verarbeitung der Abtastzeile in einem
Pufferspeicher zu speichern sind, erzeugt.
-
Wie
weiter oben angemerkt wurde, kann es bei der Verarbeitung eines
segmentierten Dokumentes zahlreiche nicht fehlerdiffundierte Bereiche
geben, in denen unterschiedliches Bildverarbeitungs-Rendern wünschenswert
ist, wie zum Beispiel Rasterung oder Schwellenwertoperation, wo
jedoch kein Fehler erzeugt wird. Insbesondere wird herkömmlich ein
Bild in Bereiche segmentiert, die der Art von an dem jeweiligen
Bereich durchzuführender Bildverarbeitungsroutine
entspricht. Dies wird umgesetzt, indem ein herkömmliches Bildverarbeitungssystem,
wie das in US-A-5,513,282 beschriebene, verwendet wird.
-
Wenn
jedoch herkömmliche
Segmentierungsroutinen verwendet werden, können aufgrund der Änderung
in den Bildverarbeitungsroutinen verschiedene Artefakte an den Grenzen
der Bereiche auftreten. Um zum Beispiel ein Bild unter Verwendung
von Fehlerdiffusion geeignet zu verarbeiten, wird ein Fehler aus
der Verarbeitung von umliegenden Pixeln benötigt, um den Bereich ohne unerwünschte Artefakte
zu verarbeiten. Wenn der Bereich, der verlassen wird, ein nicht
fehlerdiffundierter Bereich ist, wird kein Fehler für den Fehlerdiffusionsprozess
zur Verfügung
stehen, und somit werden Artefakte in den gerenderten Bildern erscheinen.
Es folgt ein Beispiel für
ein solches Artefakt.
-
Unstetigkeit
ist ein Artefakt, das an den Grenzen zwischen nicht fehlerdiffundierten
Bereichen und fehlerdiffundierten Bereichen anzutreffen ist. Insbesondere
kann man Unstetigkeit zwischen einem fehlerdiffundierten und einem
nicht fehlerdiffundierten segmentierten Bereich innerhalb eines
Dokumentes beobachten, wenn der Fehler, der normalerweise von einem
Pufferspeicher (Fehler aus einer Slow-Scan-Richtung) herrührt, der
bei der Verarbeitung der ersten Abtastzeile des fehlerdiffundierten Fensters
verwendet wird, Null ist. Wenn zum Beispiel eine Grauabtastung gerendert
wird, bei der die obere Hälfte
durch ein nicht fehlerdiffundiertes Verfahren, wie zum Beispiel
Raste rung oder Schwellenwertoperation, gerendert wird, ist der Anfangseffekt,
der in den hervorgehobenen Bereichen der Abtastung beobachtet wird,
auf das Fehlen von Slow-Scan-Fehler-Informationen
zurückzuführen, die
zu Beginn fehlerdiffundierten Fensters nicht verfügbar sind.
Es dauert eine Anzahl von Abtastzeilen, bis der Fehler in diesen
Bereichen einen stationären
Zustandswert erreicht, wodurch schließlich ein glatter periodischer Ausgang
gerendert wird.
-
22 veranschaulicht
eine Schaltung, die im Wesentlichen den Anfangseffekt eliminiert,
der an den Grenzen zwischen fehlerdiffundierten und nicht fehlerdiffundierten
Bereichen auftritt. Wie in 22 veranschaulicht
wird, werden zahlreiche der Berechnungen parallel ausgeführt, wie
bereits unter Bezugnahme auf die 11 bis 19 beschrieben
worden ist.
-
Gerasterte
Pixelwerte Vi und Vi+1 werden durch
Verwendung eines Latches 205 gewonnen, der das gerasterte
Videosignal verriegelt, so dass zwei benachbarte Fast-Scan-Pixels für Verarbeitung
verfügbar
sind. Wenn keine Rasterung gewünscht
ist, nehmen die zu den Videosignalen addierten Rasterwerte Null
oder einen anderen vorgegebenen konstanten Wert an. Die gerasterten
Pixelwerte Vi und Vi+1 werden
in dem Addierglied 206 summiert und die Summe wird in dem
Dividierwerk 207 in die Hälfte geteilt. Das Ergebnis
von dem Dividierwerk 207 wird mit dem Fehlerterm eFIFO an das Addierglied 208 übergeben.
Die Summe stellt den Soll-Ausgang zu dem Drucker dar.
-
Parallel
zu dem oben beschriebenen Prozess erzeugt eine Ist-Ausgangs-Erzeugungsschaltung 200 alle
möglichen
Ausgänge
zu dem Drucker auf Basis der Charakteristik hoher Adressierbarkeit. Es
wird darauf verwiesen, dass diese Werte negativ sind, da ein Addierglied
für Subtraktionsoperationen verwendet
wird. Wenn die Charakteristik hoher Adressierbarkeit N ist, werden
N + 1 mögliche Ist-Ausgänge erzeugt.
Weiterhin erzeugt ein Teilpixel-Schaltkreis 209 parallel
zu dem oben beschriebenen Prozess Werte für alle interpolierten Teilpixel
auf Basis der gerasterten Pixelwerte Vi und
Vi+1.
-
Als
Nächstes
addiert das Addierglied 210 einen jeden der Werte von dem
Teilpixel-Schaltkreis 209 zu einem Wert von dem Multiplexer 233.
Der Multiplexer 233 wählt
zwischen dem Pixelwert Vi und dem Sollwert
von dem Addierglied 208 auf Basis des Wertes eines Fensterbits.
Dieses Fensterbit ist abhängig
von dem Stufenreduzierungs prozess (oder dem Binarisierungsprozess),
der für
die Pixelklassifizierung geeignet ist, was durch einen Bildsegmentierungsprozess
bestimmt wird. Insbesondere kann der Bildsegmentierungsprozess ein
beliebiger herkömmlicher
Segmentierungsprozess sein, der bestimmt, ob ein jedes Segment,
das ein Bereich sein kann, der so klein wie ein einzelnes Pixel
ist, geeignet für
einen Fehlerdiffusionsprozess ist, wie zum Beispiel für herkömmliche
Fehlerdiffusion, für
Hybrid-Fehlerdiffusion, für
Fehlerdiffusion hoher Adressierbarkeit, für Hybrid-Fehlerdiffusion hoher
Adressierbarkeit, für
Vektor-Fehlerdiffusion,
für andere
Farbfehler-Diffusionsprozesse etc. Der Bildsegmentierungsprozess
stellt daher das Fensterbit bereit, das, wenn es einen Wert aufweist,
andeutet, dass der Stufenreduzierungsprozess für Pixel in dem aktuellen Segment
ein Fehlerdiffusionsprozess ist, und das, wenn es einen anderen
Wert aufweist, andeutet, dass der Stufenreduzierungsprozess für das aktuelle
Segment ein Nicht-Fehlerdiffusionsprozess ist, wie zum Beispiel Schwellenwertoperation,
Grauschwellenwertoperation, Rasterung, Zellen-TRC-Verarbeitung oder
ein Bypassmodus. Wenn der aktuelle Stufenreduzierungsprozess des
Pixels die Fehlerdiffusion ist, wählt der Multiplexer 233 den
Sollwert von dem Addierglied 208 aus, das die Fehlerkomponente
eFIFO enthält. Wenn der aktuelle Stufenreduzierungsprozess
des Pixels nicht Fehlerdiffusion ist, wählt der Multiplexer 233 den
Pixelwert Vi so aus, dass eine Fehlerkomponente
nicht an das Addierglied 210 übergeben wird.
-
Gleichzeitig
(parallel dazu) wird ein jeder mögliche
Ist-Ausgang (negative Werte) einzeln von dem Addierwerk 201 zu
dem Soll-Ausgang addiert. Mit anderen Worten werden N + 1 mögliche Ist-Teilpixel-Ausgänge von
dem Soll-Ausgang subtrahiert, um N + 1 mögliche Fehlerausgänge zu erzeugen.
-
In
den Addiergliedern 211 und 202 wird ein Rückkopplungsfehlerterm
eFB zu einer jeden Summierung von den Addiergliedern 210 beziehungsweise 201 addiert.
In Bezug auf das Addierglied 211 kommt der Rückkopplungsfehlerterm
eFB von dem Multiplexer 217, der
eine Auswahl zwischen einem Ist-Rückkopplungsfehler und Null
vornimmt. Die Auswahl beruht ebenso auf dem Wert des Fensterbits. Wenn
das Fensterbit deklariert wird (Fehlerdiffusionsverarbeitung oder
Hybrid-Fehlerdiffusionsverarbeitung ist die Soll-Verarbeitungsroutine),
wird der Ist-Fehlerrückkopplungswert
ausgewählt.
Wenn das Fensterbit andererseits nicht deklariert wird (Schwellenwertoperation,
Grauschwellenwertoperation, Rasterung, Zellen-TRC-Verarbeitung oder
Bypassmodus ist die Soll- Verarbeitungsroutine),
wird der Wert Null ausgewählt.
Diese Berechnungen werden parallel ausgeführt.
-
Nach
dem Abschluss dieser parallelen Berechnungen wird ein jedes interpolierte
Teilpixel von dem Addierglied 211 in der Schwellenwertschaltung 212 mit
einem Schwellenwert verglichen. Teilpixel, die einen Wert von größer Eins
oder von gleich dem Schwellenwert haben, werden eingeschaltet. Die Schwellenwertschaltung 212 gibt
eine Zahl aus, die die Anzahl der eingeschalteten Teilpixel darstellt. Diese
Information wird an die Dekodier-Logikschaltung 243 übergeben,
die davon eine Binärzahl
erzeugt, die an einen Drucker gesendet wird. Parallel zu diesen
Schwellenwertprozessen wird der Wert Vi +
EFIFO + EFB durch
die Vergleichseinrichtung 221 mit dem Schwellenwert verglichen.
Die Ergebnisse des Vergleiches werden an die Dekodier-Logikschaltung 243 übergeben.
-
Darüber hinaus
werden die Fehlerterme von dem Addierglied 202 an einen
Multiplexer 203 übergeben,
der auswählt,
welcher Fehlerterm auf nachgeschaltete Pixel zu verteilen ist. Der
Fehlerterm wird auf Basis eines Steuersignals ausgewählt, das
von der Dekodier-Logikschaltung 243 übergeben wird. Der ausgewählte Fehlerterm
wird an eine Verteilungsschaltung 204 übergeben, die den nächsten Rückkopplungsfehler
und den Fehler erzeugt, der für Anwendung
bei der Verarbeitung der nächsten
Abtastzeile in einem Pufferspeicher zu speichern ist.
-
Der
von dem Multiplexer 203 ausgewählte Fehler basiert auf dem
Ausgang von der Dekodier-Logikschaltung 243. Wenn das Fensterbit
(das Fensterbit wird an die Dekodier-Logikschaltung 243 übergeben)
behauptet wird (Fehlerdiffusionsverarbeitung und Hybrid-Fehlerdiffusionsverarbeitung),
erzeugt die Dekodier-Logikschaltung ein Signal, das den Multiplexer
in die Lage versetzt, den geeigneten Fehler auf Basis der Anzahl
eingeschalteter Teilpixel auszuwählen.
Wenn das Fenster andererseits nicht behauptet wird (Fehlerdiffusionsverarbeitung
oder Hybrid-Fehlerdiffusionsverarbeitung ist nicht die Soll-Verarbeitungsroutine),
erzeugt die Dekodier-Logikschaltung ein Signal, das den Multiplexer
in die Lage versetzt, einen Maximal-Fehlerwert (den obersten Kanal
der möglichen
Fehlerwerte zwischen den Schaltungen 202 und 203,
wie in 22 veranschaulicht) auszuwählen, wenn
die Vergleichseinrichtung bestimmt, dass der Wert Vi +
EFIFO + EFB unter
dem Schwellenwert liegt, und einen Minimal-Fehlerwert (den untersten Kanal
der möglichen
Fehlerwerte zwischen den Schaltungen 202 und 203,
wie in 22 veranschaulicht wird) auszuwählen, wenn
die Vergleichseinrichtung bestimmt, dass der Wert Vi +
EFIFO + EFB über dem
Schwellenwert liegt.
-
In
dem oben beschriebenen Beispiel wird die Hintergrund-Fehlerdiffusionsberechnung
auf die gleiche Art und Weise erzielt wie in einer herkömmlichen Fehlerdiffusionsschaltung,
das heißt
die hohe Adressierbarkeit von 1. In als nicht fehlerdiffundierte
Bereiche bezeichneten segmentierten Bereichen mit hoher Adressierbarkeit
von größer als
1 ist die Berechnung der Hintergrund-Fehlerdiffusion unter Verwendung
dieser Schaltung weniger genau. Jedoch stellt sie eine kontinuierliche
Fehlerberechnung für
alle Pixel in dem Bild bereit, einschließlich derjenigen in dem nicht
fehlerdiffundierten Bereich. Darüber
hinaus ist die Fehlerberechnung in fehlerdiffundierten Bereichen
gleich der Anzahl ausgewählter
Bits hoher Adressierbarkeit.
-
Unter
Verwendung von Hintergrund-Fehlerdiffusion werden die Artefakte,
die in der Grauabtastung in den hervorgehobenen Bereichen sichtbar sind,
signifikant reduziert. Insbesondere wird bei Verwendung von Hintergrund-Fehlerdiffusion
der Anlaufeffekt um den Fenster-Schnittstellenbereich herum wesentlich
reduziert. Somit resultiert Hintergrund-Fehlerdiffusion in einer
wesentlich glatteren Grenzfläche
zwischen den beiden segmentierten Bereichen.
-
In
der obenstehenden Beschreibung sind die Ausdrücke Pixel und Teilpixel verwendet
worden. Diese Ausdrücke
können
sich auf ein elektrisches Signal (oder ein optischen Signal, wenn
Lichtwellenleitertechnik verwendet wird) beziehen, das die physisch
messbaren optischen Eigenschaften an einem physisch definierbaren
Bereich an einem Empfangsmedium darstellt. Das Empfangsmedium kann
ein beliebiges materielles oder greifbares Dokument, ein lichtempfindliches
oder lichtaufnehmendes Element oder ein Kennzeichnungsmaterial-Übertragungsmedium
sein. Darüber
hinaus können
sich die Ausdrücke
Pixel und Teilpixel auf ein elektrisches Signal (oder ein optisches
Signal, wenn Lichtwellenleitertechnik verwendet wird) beziehen,
das die physisch messbaren optischen Eigenschaften an einem physisch
definierbaren Bereich auf einem Anzeigemedium darstellt. Eine Vielzahl
der physisch definierbaren Bereiche für beide Situationen stellen
die physisch messbaren optischen Eigenschaften des gesamten physischen
Bildes dar, das entweder durch eine Materialkennzeichnungs-Vorrichtung,
durch eine elektrische oder eine magnetische Kennzeichnungsvorrichtung
oder durch eine optische Anzeigevorrichtung zu rendern ist.
-
Schließlich kann
sich der Ausdruck Pixel auf ein elektrisches Signal (oder ein optisches
Signal, wenn Lichtwellenleitertechnik verwendet wird) beziehen,
das physische optische Eigenschaftsdaten darstellt, die von einer
einzelnen Photodetektorzelle erzeugt werden, wenn ein physisches
Bild abgetastet wird, um die physischen optischen Eigenschaften des
physischen Bildes in eine elektronische oder elektrische Darstellung
umzuwandeln. Mit anderen Worten ist ein Pixel in dieser Situation
eine elektrische Darstellung (oder eine optische Darstellung) der physischen
Eigenschaften eines physischen Bildes, gemessen an einem physisch
definierbaren Bereich an einem optischen Sensor.
-
Darüber hinaus
sind in der obenstehenden Beschreibung die Ausdrücke fehlerdiffundierter Bereich
und nicht fehlerdiffundierter Bereich verwendet worden. Diese Ausdrücke betreffen
Bereiche in einem Bild, die für
bestimmte Bildverarbeitungsoperationen segmentiert worden sind.
In den fehlerdiffundierten Bereichen zum Beispiel wurde der Bereich (das
Fenster) des Bildes als ein Bereich, an dem eine Fehlerdiffusionsroutine
durchgeführt
werden wird (herkömmliche
Fehlerdiffusion, Hybrid-Fehlerdiffusion, Fehlerdiffusion hoher Adressierbarkeit
oder Hybrid-Fehlerdiffusion hoher Adressierbarkeit), segmentiert
oder klassifiziert. In nicht fehlerdiffundierten Bereichen sind
andere Routinen als die Fehlerdiffusion durchzuführen, wie zum Beispiel Schwellenwertoperation,
Rasterung etc.
-
Wenngleich
die vorliegende Erfindung oben ausführlich beschrieben worden ist,
können
verschiedene Änderungen
durchgeführt
werden, ohne dass hiervon von dem Erfindungsbereich der vorliegenden Erfindung
abgewichen würde.
Zum Beispiel ist ein Ausführungsbeispiel
in Bezug auf ein Drucksystem beschrieben worden; jedoch kann dieses
Rasterungs-/Fehlerdiffusionsverfahren auch ohne Weiteres in einem
Anzeigesystem implementiert werden. Darüber hinaus kann das Rasterungs-
und Fehlerdiffusionsverfahren hoher Adressierbarkeit auch gut an einem
ASIC-Schaltkreis, an einem programmierbaren Gatterfeld oder in Software
implementiert werden, wodurch die Anordnung dieses Verfahrens in
einem Scanner, in einem elektronischen Teilsystem, in einem Drucker
oder in einer Anzeigevorrichtung ermöglicht wird.
-
Die
oben beschriebene Implementierung nutzt einige Parallelitäten, jedoch
sind die Verfahren gut in einer stärker seriellen Implementierung
beziehungsweise in einer stärker
parallelen Implementierung anwendbar.
-
Darüber hinaus
sind verschiedene Beispiele in Bezug auf einen Videobereich von
0 bis 255 beschrieben worden. Es wird jedoch angenommen, dass der
Videobereich ein beliebiger geeigneter Bereich zur Beschreibung
der Graustufe der zu verarbeitenden Pixel sein kann. Weiterhin sind
die Verfahren problemlos auf ein beliebiges Renderingsystem anwendbar
und nicht mit Notwendigkeit auf ein binäres Ausgabegerät. Es wird
angenommen, dass die Konzepte problemlos auf ein vierstufiges Ausgabeterminal
oder höher
anwendbar sind.
-
Weiterhin
sind Verfahren in einer Umgebung hoher Adressierbarkeit beschrieben
worden; diese können
jedoch auch problemlos in einer beliebigen Bildverarbeitungsumgebung
implementiert werden, die das Bild in Klassifizierungen segmentiert,
wobei eine der Klassifizierungen zu Fehlerdiffusion zugehörig ist.
Somit kann der oben beschriebene Prozess hoher Adressierbarkeit
eine Charakteristik hoher Adressierbarkeit von 1 aufweisen.
-
Schließlich sind
Verfahren in Bezug auf eine Monochrom-Umgebung oder eine Schwarz-Weiß-Umgebung
beschrieben worden. Die Konzepte sind jedoch gut auf eine Farbumgebung anwendbar,
in der Vektor-Fehlerdiffusion oder andere Farbfehler-Diffusionsprozesse
auf Bildsegmente angewendet werden können. Das heißt, ein
wie oben beschriebener Fehlerdiffusionsprozess kann auf einen jeden
Farbraumwert angewendet werden, der das Farbpixel darstellt.
-
Zusammenfassend
setzt ein Fehlerdiffusionsverfahren oder Fehlerdiffusionsmodul ein
Bildverarbeitungssystem in die Lage, ein elektronisches Dokument
eines Formates in das eines anderen Formates ohne wesentliche Rundungseffekt-Artefakte
umzuwandeln.
-
Wenngleich
die vorliegende Erfindung unter Bezugnahme auf verschiedene oben
offengelegte Ausführungsbeispiele
beschrieben worden ist, ist sie nicht auf die obenste hende Beschreibung
begrenzt, sondern soll Änderungen
und Modifikationen, die innerhalb des Erfindungsbereiches der anhängenden Patentansprüche vorgenommen
oder durchgeführt werden,
mit einbeziehen und erfassen.