-
Die
vorliegende Erfindung ist gerichtet auf einen Fehler-Diffusions-Prozess,
welcher die Eliminierung von isolierten Subpixeln ermöglicht,
bevor sie von einem Drucker oder einem Druck-System erfasst werden. Genauer
gesagt, betrifft die vorliegende Erfindung einen Fehler-Diffusions-Prozess
zum Eliminieren der Erzeugung von isolierten Subpixeln und das Anpassen
des diffundierten Fehler-Wertes, um die Eliminierung der isolierten
Subpixel und lokalen Fehler zu kompensieren.
-
Fehler-Diffusion
ist eine allgemein bekannte Technik zum Umwandeln eines Graustufenbildes
in ein binäres
Bild. Dieser Prozess nimmt jedoch an, dass der Drucker ein ideales
Gerät ist,
in welchem schwarze Pixel und weiße Pixel erfasst werden können unabhängig von
ihrer effektiven Größe. 1 zeigt
das Blockdiagramm eines herkömmlichen
Fehler-Diffusionsprozesses.
-
Wie
in 22 illustriert, wird ein graues Eingabe-Video
einer Zuführ-Einheit 10 eingegeben,
wobei ein Slowscan-Fehler, welcher einen Fehler aus dem Prozess
der früheren
Scann-Zeile an Pixeln repräsentiert,
gespeichert in einem FIF0 11 zu dem grauen Eingabe-Video
hinzugefügt
wird. Darüber
hinaus wird ein Fastscan-Fehler aus einem Fehler-Verteilkreis 15 auch
zu dem grauen Eingabe-Video bei der Zuführ-Einheit 10 hinzugegeben.
Der Fastscan-Fehler von diesem Fehler-Verteilungs-Schaltkreis 15 repräsentiert
den Fehler von der Verarbeitung des früheren Pixels in der gleichen
Scann-Zeile. Das modifizierte graue Eingabe-Video (PixN)
wird dann in eine Vergleichs-Einheit 14 eingespeist, welche
das modifizierte graue Eingabe-Video mit einem Schwellen-Wert vergleicht.
Basierend auf den Vergleich mit dem Schwellen-Wert gibt die Vergleichs-Einheit 14 eine
binäre
Ausgabe von entweder 1 oder 0 aus. Das modifizierte graue Eingabe-Video wird auch in
einen Subtraktions-Schaltkreis 12 und eine Vervielfältiger-Einheit 14 eingespeist.
Der Subtraktions-Schaltkreis 12 erzeugt einen Wert, repräsentativ
für den
Unterschied zwischen einem schwarzen Referenzwert und dem modifizierten
grauen Eingabe-Video-Wert. Diese Differenz wird auch in die Vervielfältiger-Einheit 14 eingespeist.
Die Vervielfältiger-Einheit 14 wählt entweder
den Differenz-Wert oder den modifizierten grauen Eingabe-Video-Wert
als den Pixel-Fehler für
das laufend verarbeitete Pixel, basierend auf der binären Ausgabe
von der Vergleichs-Einheit 14 aus. Dieser Pixel-Fehler wird dann
in den Fehler-Verteilungs-Schaltkreis 15 eingespeist, welcher
eine Vielzahl von Gewichtungs-Koeffizienten einsetzt, um die Fehler auf
die verschiedenen benachbarten Pixel zu verteilen.
-
Jedoch
kann mit den jüngsten
Verbesserungen in den Fähigkeiten
von Druckern die konventionelle Fehler-Diffusion nicht leicht verwendet
werden, ohne Artefakte im erzeugten Bild zu generieren. Beispielsweise
verwenden viele Drucker heutzutage hoch adressierbare Ausgaben;
zwei oder mehr binäre
Bits werden für jede
graue Pixel-Eingabe erzeugt. Üblicherweise
werden die multiplen Bits in der Fastscan-Richtung erzeugt (in der
Orientierung, in welcher die einzelne Scann-Zeile gedruckt wird).
-
Die
hohe Adressierbarkeit ist wichtig für Situationen, wo das Gerät die Bild-Daten
bei einer Auflösung verarbeiten
kann, der Drucker jedoch bei einer höheren Auflösung. In solch einer Situation
kann die vorliegende Erfindung die Vorteile eines Verarbeitungs-Systems, konzipiert
für ein
Bild von geringer Auflösung
nutzen (geringere Auflösung
kann schneller und weniger aufwendig verarbeitet werden) und eines
Druck-Geräts,
welches durch Laser-Puls-Manipulation bei einer höheren Auflösung drucken
kann. Beispielsweise kann das Bild bei 600 × 600 × 8 verarbeitet werden und
bei 2400 × 600 × 1 unter
Verwendung des Prozesses von hoher Adressierbarkeit der vorliegenden
Erfindung gedruckt werden. In dem oben genannten Beispiel ist die
Charakterisierung der hohen Adressierbarkeit 4. Falls das Bild bei
600 × 600 × 8 verarbeitet
wird und bei 1200 × 600 × 1 gedruckt
wird, wäre
die Charakteristik der hohen Adressierbarkeit 2.
-
In
einer solch hoch adressierbaren Umgebung kann ein konventioneller
Fehler-Diffusions-Prozess Bilder erzeugen, welche sehr viele isolierte
Subpixel enthalten. Ein isoliertes Subpixel ist ein Subpixel, welches sich
von seinen beidseitigen Nachbarn in der Fastscan-Richtung unterscheidet,
d.h. ein schwarzes Subpixel, umgeben durch weiße Subpixel. Auf den ersten
flüchtigen
Blick würde
dies nicht als ein Problem erscheinen, jedoch ist die Xerographie
nicht sensitiv genug, um effizient einzeln isolierte Subpixel zu
drucken, was daher in beanstandbaren Artefakten resultiert, welche
in dem erzeugten Bild generiert werden.
-
Ein
solches Artefakt, welches durch die Unfähigkeit eines Xerographen-Systems
erzeugt wird, ein Subpixel zu generieren, ist eine Grau-Stufen-Verschiebung
in den Ausgabedaten. Genauer gesagt wird die Grau-Stufen-Verschiebung
ausgelöst
aufgrund von isolierten Subpixeln, welche nicht gedruckt werden
aufgrund der Unsensitivität
eines Xe rographen-Druckers, nicht die Lichtabsorption, die zu erwarten
ist, hinzufügen und
folglich wird der empfangene tatsächliche Grau-Stufen-Grad nicht
gleich zu dem Grau-Stufen-Grad
des originalen Bildes sein.
-
Falls
beispielsweise eine Grau-Stufen-Verschiebung gedruckt wird unter
Verwendung einer Charakteristik von hoher Adressierbarkeit, welche
größer ist
als 1, beispielsweise 2 ist, sollte das Bild als ein leichter Gradient
von Grau erscheinen, reichend von Grau bis Hellgrau zu Weiß. Jedoch
falls solch eine Grau-Stufen-Verschiebung gedruckt wird unter Verwendung
einer konventionellen Fehler-Diffusion und einer Charakteristik
hoher Adressierbarkeit größer als
1, erscheint eine Diskontinuität
in dem Bild in der Nähe
des dunklen Endes. Diese Diskontinuität rührt von der Tatsache her, dass
eine bestimmte Grau-Stufe relativ wenig isolierte Subpixel produzieren
kann, jedoch die benachbarten Grau-Stufen vielmehr isolierte Subpixel
erzeugen können.
Die Flächen
mit einem großen
Prozentsatz an isolierten Subpixeln erscheinen viel heller, da die
Subpixel sich nicht verlässlich
reproduzieren.
-
Ein
weiteres Artefakt der Unfähigkeit,
isolierte Subpixel zu generieren, ist, dass bestimmte Grau-Stufen
weiß gebliebene
Flächen
aufweisen können.
Dieses Artefakt wird ausgelöst
durch viele isolierte Subpixel, welche in einer lokalen Fläche gedruckt
werden. Mit anderen Worten werden, da die isolierten Pixel nicht
effizient durch den Drucker erzeugt werden können, diese isolierten Pixel
weiße
Flächen
in dem erzeugten Ausgabe-Dokument werden. Folglich kann eine graue
Fläche
vollständig
weiß werden,
falls die vielen isolierten Subpixel nicht in geeigneter Art und
Weise durch den Drucker erzeugt werden.
-
In Übereinstimmung
mit einem ersten Aspekt der vorliegenden Erfindung umfasst ein Verfahren
zum Verarbeiten von Bild-Daten folgendes:
- a)
Empfangen eines Pixels von Bild-Daten mit einer ersten Auflösung;
- b) Umwandeln des empfangenen Pixel von Bild-Daten in eine Vielzahl
von Subpixeln, wobei die Vielzahl der Subpixeln die zweite Auflösung repräsentiert,
und die zweite Auflösung
höher ist
als die erste Auflösung;
- c) Setzen eines Schwellen-Werts für die Vielzahl von Subpixeln,
um eine Gruppe von Subpixel-Werten für jedes Pixel zu erzeugen sowie
einen Schwellen-Fehler-Wert;
- d) Diffundieren des Schwellen-Fehlers auf benachbarte Pixel,
basierend auf einem Satz von Gewichtungs-Koeffizienten.
- e) Bestimmen, ob die Gruppe von Subpixel-Werten aus dem Schwellen-Wert
setzenden Prozess ein Muster erzeugen, enthaltend ein isoliertes
Subpixel;
- f) Modifizieren der Gruppe von Subpixel-Werten, um ein Muster
zu erzeugen ohne ein isoliertes Subpixel, wenn besagter Schritt
(e) eine positive Feststellung macht;
- g) Erzeugen eines Subpixel-Modifizierungs-Fehlers für jedes
Pixel, basierend auf den Modifikationen, durchgeführt in besagtem
Schritt (f); und
- h) Kompensieren des Subpixel-Modifikations-Fehlers, basierend
auf einem Subpixel-Modifikations-Fehler von zumindest einem benachbarten
Pixel.
-
In Übereinstimmung
mit einem zweiten Aspekt der vorliegenden Erfindung umfasst ein
System zum Verarbeiten von Bild-Daten folgendes:
ein Mittel
zum Konvertieren eines Pixels von Bild-Daten mit einer ersten Auflösung in
eine Vielzahl von Subpixeln, wobei die Vielzahl von Subpixeln eine
zweite Auflösung
repräsentieren
und die zweite Auflösung
höher ist
als die erste Auflösung;
ein
Mittel zum Setzen eines Schwellen-Wertes für die Vielzahl von Subpixeln,
um eine Gruppe von Subpixel-Werten zu erzeugen für jedes Pixel sowie einen Schwellen-Wert-Fehler-Wert;
ein
Mittel zum Diffundieren des Schwellen-Wert-Fehlers auf benachbarte
Pixel, basierend auf einem Satz von Gewichtungs-Koeffizienten;
ein
isoliertes Subpixel-Mittel zum Bestimmen, ob die Gruppe an Subpixel-Werten
ein Muster, enthaltend ein isolierendes Subpixel ausbildet;
ein
Modifikations-Mittel zum Modifizieren der Gruppe von Subpixel-Werten,
um ein Muster zu erzeugen, ohne ein isoliertes Subpixel, wenn die
unmodifizierte Gruppe von Subpixel-Werten ein Muster, enthaltend
ein isoliertes Subpixel ausbildet;
ein Mittel zur Subpixel-Fehler-Modifikation
zum Erzeugen eines Subpixel-Modifikations-Fehlers für jedes Pixel, basierend auf
der Modifikation durchgeführt
durch besagtes Modifikations-Mittel; und
ein Mittel zur Kompensation
zum Kompensieren des Subpixel-Modifikations-Fehlers basierend auf
einem Subpixel-Modifikations-Fehler von zumindest einem benachbarten
Pixel.
-
Jedes „Mittel" kann einen Schaltkreis
oder einen Teil eines geeignet programmierten Computers umfassen.
-
Folglich
schlägt
die vorliegende Erfindung ein System vor, welches die Unfähigkeit
eines Druckers, isolierte Subpixel zu generieren bei Verwendung
der Fehlerdiffusion hoher Adressierbarkeit, um die Bild-Daten zu
verarbeiten, durch Eliminieren der isolierten Subpixel kompensiert.
-
Die
vorliegende Erfindung schlägt
auch das Aktualisieren des Fehlers vor, der in dem Fehler-Diffusions-Prozess
sich fortpflanzt, um Modifikationen in dem Subpixel-Datenstrom zu
berücksichtigen.
-
Darüber hinaus
verbessert die vorliegende Erfindung die Bild-Qualität von Bildern,
verarbeitet unter Verwendung von Subpixel-Eliminierung in einem
Fehler-Diffusions-Prozess. Genauer gesagt reduziert die vorliegende
Erfindung die Größe des Fehler-Signals,
welche berechnet wird und propagiert wird auf Pixel in der Slow-Scann-Richtung
nach Subpixel-Eliminierung. Mit anderen Worten reduziert die vorliegende
Erfindung die Varianz des modifizierten Fehler-Signals, hält aber
die Gesamtsumme der Fehler unverändert.
-
Im
Folgenden erfolgt eine kurze Beschreibung einer jeden Zeichnung,
verwendet, um die vorliegende Erfindung zu beschreiben und folglich
werden diese für
illustrative Zwecke allein dargestellt und sollten nicht auf den
Umfang der vorliegenden Erfindung limitierend wirken, wobei:
-
1 eine
graphische Darstellung des Erhaltens von Subpixel-Grenz-Werten zeigt;
-
2 eine
graphische Darstellung des Modifizierens der erhaltenen Subpixel-Grenz-Werte mit einer Fehler-Komponente
zeigt;
-
3 eine
graphische Darstellung des Interpolierens von Subpixel-Werten zwischen
den modifizierten Subpixel-Grenzwerten zeigt;
-
4 eine
graphische Darstellung des Vergleichs der interpolierten Subpixel-Werte mit einem Schwellen-Wert
zeigt;
-
5 eine
graphische Darstellung des Berechnens des gewünschten Ausgabe-Wertes zeigt;
-
6 eine
graphische Darstellung des Berechnens eines tatsächlichen Ausgabe-Wertes zeigt;
-
7 eine
graphische Darstellung des Berechnens eines Fehler-Wertes, welcher
sich auf strangabwärts
gelegene Pixel fortpflanzen soll, zeigt;
-
8 eine
graphische Darstellung, illustrierend die tatsächliche Verteilung der Fehler
in einer typischen Fehler-Verteilungs-Routine zeigt;
-
9 ein
Blockdiagramm zeigt illustrierend ein Beispiel zum Implementieren
eines Fehler-Diffusionsprozesses von hoher Adressierbarkeit;
-
10 eine
graphische Darstellung zeigt, welche einen dekodierenden Prozess,
illustriert in 9 darstellt;
-
11 eine
graphische Darstellung zeigt, welche das Erhalten von Grenz-Subpixel-Werten parallel mit
dem Berechnen eines gewünschten
Ausgabe-Wertes zeigt;
-
12 eine
graphische Darstellung zeigt, welche das Interpolieren von Subpixel-Werten zwischen den
erhaltenen Grenz-Subpixel-Werten parallel mit dem Modifizieren des
gewünschten
Ausgabe-Wertes mit einer Fehler-Komponente
zeigt;
-
13 eine
graphische Darstellung zeigt, welche das Modifizieren der Subpixel-Werte zwischen den erhaltenen
Grenz-Subpixel-Werten mit einer Fehler-Komponente zeigt;
-
14 eine
graphische Darstellung zeigt, welche die Berechnung einer Vielzahl
von partiellen möglichen
Fehler-Werten zeigt;
-
15 eine
graphische Darstellung des weiteren Modifizierens der modifizierten
Subpixel-Werte von 11 mit einer weiteren Fehler-Komponente
zeigt;
-
16 eine
graphische Darstellung zeigt, welche die Berechnung einer Vielzahl
von vollständig
möglichen
Fehler-Werten zeigt;
-
17 eine
graphische Darstellung des Schwellen-Wert-Bildens der weiteren modifizierten
Subpixel-Werte zeigt;
-
18 eine
graphische Darstellung zeigt des Bestimmens der Vielzahl von Subpixeln,
welche über einen
Schwellen-Wert hinausging oder gleich einem Schwellen-Wert sind;
-
19 eine
graphische Darstellung des Auswählens
von einem der Vielzahl der möglichen
vollständigen
Fehler-Werte zeigt;
-
20 ein
Blockdiagramm ist, welches das Illustrieren der Implementation der
Prozesse, illustriert in 11–19 zeigt;
-
21 ein
Blockdiagramm ist, welches die Schaltkreis-Implementationen der
Prozesse dargestellt in den 11–19 zeigt;
-
22 ein
Blockdiagramm zeigt, welches ein typisches Fehler-Diffusions-Verfahren
zeigt;
-
23 einen
Graphen zeigt, welcher Subpixel-Interpolation zeigt;
-
24 ein
Flussdiagramm zeigt, welches ein Fehler-Diffusions-Verfahren unter
Verwendung der Interpolations-Schemata von 23 zeigt;
-
25 einen
Graph zeigt, welcher ein weiteres Subpixel-Interpolations-Verfahren
zeigt;
-
26 ein
Flussdiagramm zeigt, welches ein Fehler-Diffusions-Verfahren unter
Verwendung des Interpolations-Schemas von 25 zeigt;
-
27 ein
Blockdiagramm eines morphologischen Zustands-Maschinen-Filter zum
Eliminieren von isolierten Subpixeln zeigt;
-
28 ein
Blockdiagramm zeigt, welches die Implementation des isolierten Subpixel-Eliminierungs-Schaltkreises
zeigt;
-
29 ein
Blockdiagramm zeigt, welches die Implementation des isolierten Subpixel-Eliminierungs-Schaltkreises
zeigt;
-
30 ein
Flussdiagramm zeigt, welches die isolierte Subpixel-Eliminierung
zeigt;
-
31 ein
Beispiel einer Subpixel-Eliminierung für eine Situation zeigt, wo
die hohe Adressierbarkeits-Charakteristik 3 ist;
-
32 ein
Blockdiagramm ist, welches einen konventionellen Sub-Pixel-Eliminierungs-Schaltkreis zeigt;
-
33 ein
Blockdiagramm ist, welches einen konventionellen Sub-Pixel-Eliminierungs-Schaltkreis zeigt
und seine Wirkung auf einen lokalen Fehler;
-
34 ein
Blockdiagramm ist, welches einen Sub-Pixel-Eliminierungs-Schaltkreis
zeigt mit lokalisierter Fehler-Korrektur gemäß den Konzepten der vorliegenden
Erfindung;
-
35 eine
graphische Repräsentation
der Subpixel-Eliminierung mit lokalisierter Korrektur gemäß den Konzepten
der vorliegenden Erfindung ist;
-
36 ein
Blockdiagramm ist, welches ein Beispiel der Subpixel-Eliminierung
mit lokalisierter Fehler-Korrektur gemäß den Konzepten der vorliegenden
Erfindung zeigt;
-
37 ein
Graph ist, welcher Subpixel-Eliminierung zeigt; und
-
38 ein
Graph ist, welcher die Subpixel-Eliminierung mit lokalisierter Fehler-Korrektur zeigt.
-
Im
Folgenden wird eine detaillierte Beschreibung der Zeichnungen vorgenommen,
welche die vorliegende Erfindung illustrieren. In dieser Beschreibung,
wie auch in den Zeichnungen repräsentieren
gleiche Referenz-Nummern gleiche Einheiten, Schaltkreise oder Schaltkreise,
welche äquivalente
Funktionen durchführen.
-
Bevor
die tatsächlichen
Konzepte des Eliminierens von isolierten Subpixeln des Kompensierens
von lokalisierten Fehlern diskutiert werden, wird die hoch adressierbare
Fehler-Diffusion diskutiert werden, um die geeignete Perspektive
für die
vorliegende Erfindung zur Verfügung
zu stellen.
-
Bei
der Beschreibung der vorliegenden Erfindung werden die Begriffe
Pixel bzw. Subpixel eingesetzt. Diese Begriffe können sich auf ein elektrisches
(oder optisches, falls Faser-Optik verwendet wird) Signal beziehen,
welche die physikalisch messbaren optischen Eigenschaften in einer
physikalisch definierbaren Fläche auf
einem Aufzeichnungsmedium repräsentieren.
Das Aufzeichnungsmedium kann irgendein konkretes Dokument sein,
ein Fotorezeptor, oder ein markierendes Material-Transfer-Medium.
Dar über
hinaus können
die Begriffe Pixel bzw. Subpixel sich auf ein elektrisches (oder
optisches, falls Faser-Optik verwendet wird) Signal beziehen, welches
die physikalisch messbaren optischen Eigenschaften in einer physikalisch
definierbaren Fläche
auf einem Darstellungs-Medium repräsentiert. Eine Vielzahl von
physikalisch definierbaren Flächen
für beide
Situationen präsentieren
die physikalisch messbaren optischen Eigenschaften des gesamten
physikalischen Bildes, welches entweder durch ein Material-markierendes
Gerät,
elektrisch oder magnetisch markierendes Gerät oder optisch darstellendes
Gerät erzeugt
wird.
-
Zu
guter Letzt kann der Begriff Pixel sich auf ein elektrisches (oder
optisches, falls Faser-Optik verwendet wird) Signal beziehen, welches
physikalisch optische Eigenschafts-Daten, erzeugt aus einer einzelnen Photosensor-Zelle
repräsentiert,
wenn ein physikalisches Bild gescannt wird, um die physikalisch
optischen Eigenschaften des physikalischen Bildes in eine elektronische
oder elektrische Repräsentation
zu überführen. Mit
anderen Worten ist in dieser Situation ein Pixel eine elektrische
(oder optische) Repräsentation
der physikalisch optischen Eigenschaften eines physikalischen Bildes,
gemessen in einer physikalisch definierbaren Fläche auf einem optischen Sensor.
-
Wie
oben erwähnt,
ist der Fehler-Diffusions-Prozess der vorliegenden Erfindung ein
Fehler-Diffusions-Prozess von hoher Adressierbarkeit. Im Ausmaß des herkömmlichen
Fehler-Diffusions-Prozesses wie oben beschrieben, wird für eine Umgebung
hoher Adressierbarkeit die Binärisierung
(Schwellen-Wert) bei einer höheren
räumlichen
Auflösung
durchgeführt,
jedoch die Fehlerberechnung und Propagation wird durchgeführt bei
der ursprünglichen
geringeren räumlichen
Auflösung.
Diese Aufteilung des Prozesses verhindert oder reduziert substantiell
die Anzahl der isolierten Subpixeln, wodurch die hohe Bildqualität beibehalten
wird. Dieses Verfahren mit hoher Auflösung/geringer Auflösung der
vorliegenden Erfindung wird im Detail weiter unten beschrieben.
-
Beim
Erklären
des Fehler-Diffusions-Prozesses von hoher Adressierbarkeit wird
angenommen, dass die grauen Eingabe-Niveaus an der Pixel-Lokalisierung
i und der Pixel-Lokalisierung
i + 1 repräsentiert
werden durch Vi bzw. Vi+1.
Es sollte festgehalten werden, dass, falls der Fehler-Diffusions-Prozess
von hoher Adressierbarkeit ein Hybrid-Fehler Diffusions-Prozess
hoher Adressierbarkeit ist, die grauen Eingabe-Niveaus für den Fehler-Diffusions-Schaltkreis
hoher Adressierbarkeit Vi = (GL – Vini) + (Si – Th), und
Vi+1 = (GL – Vini+1) + (Si+1 – Th) wären, wobei
Si gleich den Bildschirm-Werten, abgeleitet
von einem Halbton-Screen-Muster ist, Vini das
graue Eingabe-Video ist, GL ein grauer Maximal-Niveau-Wert für ein Pixel
in dem System ist und Th der Schwellen-Wert (threshold value) verwendet,
in dem Binarisierungs-Prozess) ist. Der Erzeugungs-Fehler bei der
geringen Auflösung,
welche von den strangaufwärts
gelegenen Pixeln zu den strangabwärts gelegenen Pixeln fortgepflanzt
wird durch ei abgekürzt.
-
Es
ist festzuhalten, dass ein Merkmal hoher Adressierbarkeit die Interpolation
zwischen Pixeln involviert, die Erzeugung von Subpixeln. Diese Interpolation
wirkt sich auf den Fehler-Diffusions-Prozess von hoher Adressierbarkeit
aus. Genauer gesagt, können
zwei unterschiedliche Ausgaben erhalten werden, abhängend von
der Art und Weise, wie die Interpolation durchgeführt wird
unter Verwendung des Fehler-Diffusions-Prozesses von hoher Adressierbarkeit
der vorliegenden Erfindung. Jede der beiden unterschiedlichen Ausgaben wird
diskutiert werden.
-
Mit
Blick auf das erste Interpolations-Schema werden die Schritte zum
Bestimmen des Druckens oder Erzeugens eines Subpixels wie folgt
sein.
-
Zu
Beginn werden die modifizierten Pixel-Werte P0i =
Vi-1 + ei+1 und
P1i = Vi + ei berechnet.
Die Subpixel werden durch 0 bis N – 1 bezeichnet, wobei die hohe
Adressierbarkeits-Charakteristik
N ist. Die hohe Adressierbarkeits-Charakteristik ist die Anzahl
der Subpixel, welche ein Drucker erzeugen kann im Vergleich zur
Durchsatz-Bandbreite des Bildverarbeitenden Systems. Mit anderen
Worten ist die hohe Adressierbarkeits-Charakteristik definiert als
die Anzahl der Subpixel, welche der Bild-Ausgabe-Terminal aus einem
Pixel der Bilddatei erzeugen kann.
-
Die
interpolierten Subpixel-Werte werden berechnet aus Bn =
P0 + n(P1 – P0)/N für n = 0 bis N – 1. Die interpolierten
Subpixel-Werte werden dann berechnet mit einem Schwellen-Wert, welcher
in den meisten Fällen
128 ist, wobei angenommen wird, dass der Video-Wert von 0 bis 255
reicht. Falls Bn größer oder gleich 128 ist, wird
das Subpixel auf EIN gestellt; ansonsten wird das Subpixel auf AUS
eingestellt. Der Fehler, welcher sich zu den strangabwärts gelegenen
Pixeln fortpflanzen soll, wird als gewünschte Ausgabe, (P0 + P1)/2
berechnet, minus der tatsächlichen
Ausgabe, nämlich
y·255/N,
wobei y die Anzahl der Subpixel ist, welche auf EIN gestellt wurde.
Der Fehler wird dann multipliziert mit einem Satz von Gewichtungs-Koeffizienten
und verteilt auf die strangabwärts
gelegenen Pixel entsprechend der ersten Version.
-
Irgendein
Satz vom Koeffizienten kann verwendet werden. In der bevorzugten
Ausführungsform
der vorliegenden Erfindung sind die Gewichtungs-Koeffizienten Koeffizienten
beschrieben in US-Patent Nr. 5,353,127.
-
Genauer
gesagt, wird das dargestellte eingegebene modifizierte Video-Signal
in N Subpixel-Einheiten unterteilt. Die P0 und P1-Werte werden wie
oben festgehalten berechnet. Die berechneten Subpixel-Werte werden
dann mit einem Schwellen-Wert verglichen, nämlich 128. Falls der Subpixel-Wert
größer oder
gleich dem Schwellen-Wert ist, wird der Subpixel-Wert auf den EIN-Zustand
gesetzt. Falls jedoch der Subpixel-Wert weniger als 128 ist, wird
der Subpixel-Wert auf den AUS-Zustand gesetzt.
-
Nach
Vervollständigen
des Vergleichs aller Subpixel-Werte wird die Anzahl der EIN-Subpixel berechnet.
Darüber
hinaus wird der Fehler aus dem Schwellen-Wert-Prozess berechnet,
so dass der Wert die ursprünglichere
kleinere räumliche
Auflösung
repräsentiert.
Nach Berechnung des Fehlers wird der Fehler multipliziert mit dem
Gewichtungs-Koeffizienten
und der Fehler wird auf die strangabwärts gelegenen Pixel verteilt.
-
Wie
oben festgehalten, werden die modifizierten Pixel-Werte P0i = Vi-1 + ei-1 = PIi-1 und PIi = Vi + ei berechnet an zwei Stellen korrespondierend
mit der Eingabe-Auflösung.
Ein Beispiel dafür
ist in 23 dargestellt, wobei die Subpixel
durch 0 bis N – 1
bezeichnet werden. In 23 ist die hohe Adressierbarkeits-Charakteristik,
N, gleich 4.
-
Wie
in 23 dargestellt, ist eine Linie gezogen, um die
Werte P0 und P1 zu verknüpfen
(Die i-Subskripte wurden aus Gründen
der Einfachheit weggelassen). Darüber hinaus wird eine unterbrochene
Linie gezogen, um einen Schwellen-Wert von 128 zu repräsentieren.
(Wiederum wird festgehalten, dass 0 bis 255 der Bereich des Video-Signals
ist; jedoch kann irgendein Bereich eingesetzt werden, und irgendein
Schwellen-Wert kann verwendet werden). Die Unterbrechung der Linie,
welche P0 und P1 verknüpft
und der Linie, welche den Schwellen-Wert bei 128 repräsentiert,
bestimmt, welche Subpixel erzeugt oder gedruckt werden sollen. Die
X-Koordinate des Schnittpunktes wird bestimmt und auf N normalisiert
durch die Gleichung X = N (128 – P0)/(P1 – P0).
-
Als
nächstes
wird bestimmt, welches Subpixel auf EIN gestellt werden sollen.
Falls X weniger oder gleich 0 ist und P1 größer oder gleich 128 ist, werden
alle Subpixel auf EIN gestellt, ansonsten werden alle Subpixel auf
AUS gestellt. Diese Entscheidung repräsentiert das vollständige Erzeugen
bzw. Nicht-Erzeugen der Pixel. Um ein partielles Erzeugen des gesamten
Pixels zu bestimmen, muss eine Subpixel-Analyse durchgeführt werden.
In diesem Fall muss der Wert X verglichen werden mit den individuellen
Subpixel-Werten.
-
Es
ist festzuhalten, dass wie in 23 gezeigt,
der Wert von X nicht notwendigerweise auf eine ganze Zahl oder Subpixel
rechnet, wodurch jegliche Art der Analyse eine fraktionelle Komponente
einschließt.
Um dies zu vermeiden, wird X in eine ganze Zahl oder einen ganzen
Subpixel-Wert konvertiert. Für
diese Konversion lässt
man n gleich einem abgeschnittenen ganzzahligen Wert von X sein.
Die Werte n und X können
dann verwendet werden, um zu bestimmen, welche Subpixel auf EIN
geschaltet werden sollen und welche auf AUS geschalten werden sollen.
Genauer gesagt, werden, falls X größer als 0 ist, jedoch kleiner
als N und falls P1 geringer ist als 128, nur die Subpixel von 0
bis n auf EIN geschaltet und der Rest der Subpixel wird auf AUS geschaltet;
ansonsten werden die Subpixel von 0 bis n auf AUS und der Rest auf
EIN geschaltet. Falls X größer ist
oder gleich groß N
und falls P0 größer oder
gleich 128 ist, werden alle Subpixel auf EIN geschalten; ansonsten
werden alle Subpixel auf AUS geschaltet.
-
Dieser
Schwellen-Wert-Prozess erzeugt einen Fehler, welcher sich auf die
strangabwärts
gelegenen Pixel fortpflanzen soll. Darüber hinaus muss der Fehler
bei der ursprünglichen
geringen Auflösungs-Eingabe vorliegen.
Die Konversion in die ursprüngliche
Auflösung
wird realisiert durch bestimmende Differenz zwischen der gewünschten
Ausgabe, (P0 + P1)/2 und der tatsächlichen Ausgabe, nämlich b·255/N,
wobei b die Anzahl der Subpixel ist, welche auf EIN geschaltet wurde.
Der konvertierte Fehler wird dann multipliziert mit einem Satz vom
Gewichtungs-Koeffizienten und auf die strangabwärts gelegenen Pixel verteilt.
-
24 illustriert
das tatsächliche
Verfahren, welches verwendet wird, um die Interpolation sowie den Fehler-Verteilungs-Prozess
wie oben beschrieben durchzuführen.
In 24 wird im Schritt S10 das modifizierte gescreente
Video-Eingabe-Signal in N Subpixel-Werte unterteilt. Im Schritt S20 werden
die Werte P0i und P1i wie
oben beschrieben, berechnet. Als nächstes wird im Schritt S30
die X-Koordinate des Schnittpunktes bestimmt und normalisiert durch
Multiplizieren der Differenz zwischen 128 und P0 durch den Wert
N und Dividieren dieses Produktes durch die Differenz von P1 und
P0. Im Schritt S40 wird der normalisierte Wert X verglichen mit
dem Wert 0. Falls X geringer ist oder gleich 0 vergleicht der Schritt
S50 den Wert P1 mit dem Wert 128. Falls der Wert P1 größer ist
oder gleich 128, werden alle Subpixel in einen EIN-Zustand im Schritt
S60 gesetzt. Falls jedoch P1 geringer ist als 128 setzt Schritt
S70 alle die Subpixel auf einen AUS-Zustand.
-
Auf
der anderen Seite bestimmt der Schritt S90, falls der Schritt S40
bestimmt, dass X nicht geringer oder gleich 0 ist, den ganzzahligen
Wert von X und setzt diesen ganzzahligen Wert auf gleich Y. Im Schritt
S100 wird der ganzzahlige Wert Y verglichen mit dem Wert 0 und N.
Falls der Wert Y zwischen 0 und N liegt, bestimmt der Schritt S110,
ob der Wert P1 geringer ist oder gleich 128. Falls der Wert P1 geringer
ist oder gleich 128, setzt der Schritt S120 die Subpixel 0 bis Y
in den EIN-Zustand in die Subpixel Y + 1 bis N in den AUS-Zustand.
Falls jedoch Schritt S110 bestimmt, dass der Wert P1 größer ist
als 128, setzt der Schritt S130 die Subpixel 0 bis Y in den AUS-Zustand
und die Subpixel Y + 1 bis N in den AN-Zustand.
-
Falls
Schritt S100 bestimmt, dass der Wert Y nicht zwischen den Werten
0 und N liegt, bestimmt der Schritt S140, ob der Wert P1 größer ist
oder gleich 128. Falls der Wert P1 größer ist oder gleich 128, setzt
der Schritt S160 alle Subpixel in den AN-Zustand. Falls jedoch der
Schritt S140 bestimmt, dass der Wert P1 geringer ist als 128, setzt
der Schritt S150 alle die Subpixel in den AUS-Zustand.
-
Nach
Vervollständigen
der Prozesse in jedem der Schritte S60, S70, S120, S130, S150 oder
S160 schreitet das Fehler-Diffusions-Verfahren der vorliegenden
Erfindung zum Schritt S170 voran. Im Schritt S170 wird die Anzahl
der AN-Subpixel berechnet und auf gleich Z gesetzt. Als nächstes wird
im Schritt S180 der Fehler, weicher sich auf die strangabwärts gelegenen
Pixel ausbreiten soll, berechnet. Genauer gesagt, wird der Fehler
so berechnet, dass er die ursprüngliche
geringe räumliche
Auflösung
repräsentiert.
Nach Berechnen des Fehlers im Schritt S180 multipliziert der Schritt
S190 den Fehler durch Gewichten der Koeffizienten und verteilt die
gewichteten Fehler-Terme auf die strangabwärts gelegenen Pixel.
-
Das
zweite Interpolations-Verfahren mit Blick auf das Implementieren
des Fehler-Diffusions-Verfahrens von hoher Adressierbarkeit der
vorliegenden Erfindung wird wie folgt beschrieben.
-
In
dem zweiten Interpolations-Verfahren sind die modifizierten Pixel-Werte
P0i = Vi + ei und PIi = Vi+1 + ei. 25 illustrert
Werte P0 und P1 für
die zweite Version des Fehler-Diffusions-Verfahrens von hoher Adressierbarkeit
der vorliegenden Erfindung.
-
26 illustriert
den Prozess, eingesetzt in der zweiten Interpolations-Version des
Fehler-Diffusions-Prozesses von hoher Adressierbarkeit der vorliegenden
Erfindung. Wie in 26 wird das eingegebene modifizierte
Video-Signal in N-Subpixel-Einheiten im Schritt S10 unterteilt.
Im Schritt S200 werden die P0 und P1-Werte wie oben dargestellt
berechnet. Im Schritt S210 werden die Werte Y und Z gleich 0 gesetzt,
wohingegen Y die Anzahl der Subpixel bezeichnet, welche auf EIN
gestellt werden sollen und Z den Adressierbarkeits-Faktor bezeichnet.
Im Schritt S220 wird Z verglichen mit N, um zu bestimmen, ob alle
der Subpixel, innerhalb des modifizierten Video-Signals dem Schwellen-Wert-Prozess
unterzogen worden sind. Falls bestimmt wird, dass noch Subpixel
dem Schwellen-Wert-Prozess unterzogen werden müssen, schreitet der Prozess
zum Schritt S230 voran, wobei der nächste Subpixel-Wert berechnet
wird. Schritt S240 vergleicht dann den berechneten Subpixel-Wert
mit dem Schwellen-Wert, nämlich
128. Falls der Subpixel-Wert größer ist
oder gleich dem Schwellen-Wert, setzt der Schritt S260 den Subpixel-Wert
in den AN-Zustand und S270 setzt für den Wert Y ein Inkrement,
was die Anzahl der Subpixel anzeigt, welche auf EIN gesetzt sind.
Falls jedoch der Subpixel-Wert
geringer ist als 128 setzt Schritt S250 den Subpixel-Wert auf AUS.
-
Nach
Vervollständigung
entweder des Schrittes S250 oder des Schrittes 270 schreitet
der Prozess S280 voran, wobei der Wert Z von hoher Adressierbarkeit
mit einem Inkrement versehen wird. Diese Subroutine wird wiederholt,
bis alle Subpixel-Werte innerhalb des modifizierten Video-Signals
berechnet sind mit dem Schwellen-Wert. Nach Vervollständigung
des Vergleichs aller Subpixel-Werte, schreitet der Prozess zum Schritt
S290 voran, wobei die Anzahl der AN-Subpixel berechnet wird. Im
Schritt S300 wird der Fehler von dem Schwellen-Wert-Prozess berechnet,
so dass der Wert die ursprüngliche
geringere räumliche
Auflösung
repräsentiert.
Nach Berechnen des Fehlers multipliziert der Schritt S310 den Fehler
mit dem Gewichtungs-Koeffizienten und verteilt den Fehler auf die
strangabwärts
gelegenen Pixel.
-
Um
die AN- bzw. AUS-Charakteristika der Subpixel, wie oben beschrieben,
zu bestimmen, werden die Subpixel-Werte durch eine Anzahl von Vergleichs-Schritten
verarbeitet. Ein Beispiel der tatsächlichen Architektur des Schaltkreises,
verwendet um den Fehler- Diffusions-Prozess
von hoher Adressierbarkeit zu implementieren, wird nun diskutiert
werden.
-
1–7 illustrieren
die Berechnungs-Schritte, benötigt,
um die Fehler-Diffusion von hoher Adressierbarkeit unter Verwendung
eines speziellen Interpolations-Schemas durchzuführen. Ursprünglich werden, wie in 1 gezeigt,
die Pixel-Werte Vi und Vi+1 erhalten.
Die tatsächlichen
Pixel-Werte werden graphisch in 1 illustriert,
wobei der Pixel-Wert Vi den Pixel-Wert repräsentiert
bei der Subpixel-Position 0 und der Pixel-Wert Vi+1 den
Pixel-Wert bei dem N-Subpixel. In 1 reichen
die Pixel-Werte von 0 bis 255, wobei ein herkömmlicher Acht-Bit-Datensatz
eingesetzt wird, um die vielstufigen Grau-Werte der Bild-Daten,
welche verarbeitet werden sollen, zu repräsentieren. Es wird festgehalten,
dass jeglicher Bereich eingesetzt werden kann, um die Grau-Stufen-Werte
der Bild-Daten zu
repräsentieren;
beispielsweise 0 bis 511, 0 bis 127, etc.
-
Nach
Erhalten der ursprünglichen
Pixel-Werte von Vi und Vi+1 wird
eine Diffusions-Fehler-Komponente ei (der akkumulierte Fehler aus den früheren Pixel-Binärisierungs-Prozessen) zu den
Pixel-Werten Vi und Vi+1 hinzugefügt. Es sollte
festgehalten werden, dass die Fehler-Komponente ei aus
zwei Komponenten besteht, eF1F0 und eFB, wobei eF1F0 die
aufsummierte Fehler-Komponente gespeichert in einem Zeilen-Puffer
ist und eFB die Rückkopplungs-Fehler-Komponente.
Das Hinzufügen
der Fehler-Komponente ei wird graphisch
in 2 illustriert.
-
Nach
Hinzufügen
der Diffusions-Fehler-Komponente werden die interpolarisierten Subpixel-Werte
berechnet, wie in 3 illustriert. Beispielsweise
sind die interpolierten Subpixel-Werte Bn =
P0i + n (P1i – P0i)/N für
n = 0 bis N – 1,
wobei N die ausgewählte
Hoch-Adressierbarkeits-Charakteristik
ist. Es sollte festgehalten werden, dass der Wert P0i gleich
ist mit Vi + ei und
P1i gleich ist mit Vi+1 +
ei.
-
Nach
Berechnen der interpolierten Subpixel-Werte wird jeder interpolierte
Subpixel-Wert verglichen mit einem Schwellen-Wert-Niveau. In dem
Beispiel illustriert in 4 ist der Schwellen-Wert 128.
Es sollte festgehalten werden, dass dieser Schwellen-Wert irgendein
Schwellen-Wert sein kann, innerhalb des Bereiches der Bild-Daten,
abhängend
von den gewünschten
Ergebnissen. In diesem Beispiel ist jedes Subpixel, welches einen
Wert größer oder
gleich 128 aufweist, auf EIN gesetzt.
-
Als
nächstes
wird die gewünschte
Ausgabe (P0i + P1i)/2
berechnet. Dieses Berechnen der gewünschten Ausgabe wird graphisch
illustriert in 5. Nach Berechnen der gewünschten
Ausgabe wird die tatsächliche
Ausgabe berechnet. In diesem Beispiel ist die tatsächliche
Ausgabe gleich n·255/N,
wobei n die Anzahl der Subpixel ist, welche auf EIN gestellt worden
ist als ein Ergebnis des Vergleichs, illustriert in 10.
Eine graphische Repräsentation
der berechneten tatsächlichen
Ausgabe wird in 6 gezeigt. Sobald die gewünschte Ausgabe
und die tatsächliche
Ausgabe berechnet worden sind, berechnet das Fehler-Diffusions-Verfahren
den Fehler so, dass er strangabwärts
fortgepflanzt wird. Dieser Fehler wird berechnet als gewünschte Ausgabe
minus der tatsächlichen
Ausgabe. Eine graphische Repräsentation
dieser Berechnung ist in 7 gezeigt.
-
Wie
in 7 illustriert, wird der Fehler berechnet als ei+1 = (P0i + P1i)/2 – (n·255/N).
In diesem Fall repräsentiert
der Fehler ei+1 den Fehler des laufenden
Binärisierungs-Prozesses.
Wie in allen konventionellen Fehler-Diffusions-Prozessen wird der
Fehler von dem Binärisierungs-Prozess
auf die strangabwärts
gelegenen Pixel verteilt. Das Verteilen des Fehlers ei+1 auf
die strangabwärts
gelegenen Pixel wird in 8 illustriert. In diesem Beispiel
verwendet die Verteilung des Fehlers einen Satz von Fehler-Diffusions-Koeffizienten, welche
das schnelle Verarbeiten durch einfaches Bit-Verschieben ermöglichen. 8 illustriert
das Diffusions-Schema, assoziiert mit jeder Pixel-Lokalisierung.
-
In 9 wird
das angezeigte Eingabe-Video-Signal aufgeteilt und in der Klinke 101 eingeklinkt,
um die gescreenten Pixel-Werte V0i und V1i zu erzeugen. V0i repräsentiert
das eingeklinkte, angezeigte Video-Signal V1i wie
oben erwähnt
und V0i repräsentiert den angezeigten Pixel-Wert,
welcher gerade einmal den gescreenten Pixel-Wert V1i in
der gleichen Scann-Zeile fortführt.
Der gescreente Pixel-Wert V0i wird in einen
Addierer 103 gegeben mit der Fehler-Komponente ei. Darüber
hinaus wird die Fehler-Komponente ei in
einen Addierer 105 gegeben zusammen mit dem angezeigten
Eingabe-Video-Signal V1i. Der Addierer 103 erzeugt
ein Ausgabe-Signal P0i, welches in einen
zweiten komplementären
Schaltkreis 107 eingespeist ist, um ein negatives P0i zu erzeugen. Das negative P0i wird
in einen Addierer 109 gegeben, zusammen mit dem Wert P1i, um den Wert von P1i – P0i zu erzeugen. Negatives P0i wird
auch in den Addierer 111 gegeben, welcher mit dem Schwellen-Wert
summiert wird. In diesem Beispiel ist der Schwellen-Wert 128.
-
Die
Summe aus dem Addierer 111 wird in den Multiplizierer 115 gegeben,
so dass der Wert (128 – P0i) multipliziert werden kann mit dem Hoch-Adressierbarkeits-Charakteristik-Wert
N. Das resultierende Produkt wird dann durch die Summe aus dem Addierer 109 durch
den Dividier-Schaltkreis 117 dividiert. Der resultierende
Quotient wird in einen Dekoder 119 eingespeist. Die tatsächliche
Funktion des Dekoders 119 wird in 10 graphisch
illustriert.
-
Genauer
gesagt, bestimmt der Dekoder 119, wie in 10 angezeigt,
den Schnittpunkt der P0i/P1i-Linie
und des Werts 128. Aus der Bestimmung dieses Schnittpunkts bestimmt
der Dekoder 119 die Anzahl der Subpixel n, welche auf EIN
geschalten werden. Die Ergebnisse des Dekoders 119 werden
als binäre
Ausgabe in ein Druck-Gerät
gespeist und auch in einen Multiplizierer 121. Die Multiplizierer 121 multipliziert
die Ausgabe aus dem Dekoder 119 mit dem Wert (–255/N).
Das Produkt des Multiplizierers 121 wird zu einer Summe
hinzugefügt,
erzeugt durch einen Addierer 113 in dem Addierer 123.
Der Addierer 113 fügt
die Werte P0i und P1i zusammen,
um den Wert P1i + P0i zu
erzeugen.
-
Die
Ergebnisse des Addierers 123 repräsentieren die Fehler-Komponente
ei+1, welche in einen einfachen Bit-verschiebenen
Schaltkreis 125 gespeist wird, um verschiedene Fehler-Werte
zu erzeugen, welche verwendet werden in dem Verteilungs-Prozess.
Die Fehler-Werte erzeugt durch den Bit-verschiebenen Schaltkreis 125 werden
in einen Fehler-Verteilungs-Schaltkreis 127 gespeist,
in welchem die Hälfte
des Fehlers ErrB auf das nächste Pixel
in der gleichen Scann-Zeile verteilt wird und die andere Hälfte des
Fehlers ErrA auf verschiedene Pixel in der
nächsten
Scann-Zeile verteilt wird gemäß den Gewichtungs-Koeffizienten,
etabliert in dem Fehler-Verteilungs-Schaltkreis 127.
-
11 illustriert
zwei parallele Berechnungen, welche in der vorliegenden Erfindung
durchgeführt
werden. Genauer gesagt, illustriert 11, dass
die gescreenten Pixel-Werte
Vi und Vi+1 parallel
erhalten werden zu Beginn der Berechnung der gewünschten Ausgabe für ein einzelnes
Subpixel, wobei die gewünschte
Ausgabe berechnet wird ohne das Einschließen der Diffusions-Fehler-Komponenten
eF1F0 oder EFB.
-
Nachdem
diese parallelen Berechnungen abgeschlossen sind, berechnet die
bevorzugte Ausführungsform
der vorliegenden Erfindung die interpolierten Subpixel Werte in
der gleichen Art und Weise wie in 3 illustriert.
Jedoch parallel mit dieser Berechnung der interpolierten Subpixel-Werte
schreitet die gewünschte
Ausgabe voran, berechnet zu werden, durch Addieren der Fehler-Komponente
eF1F0. Dies wird graphisch in 12 gezeigt.
-
Als
nächstes
wird die Fehler-Komponente eF1F0 zu den
angezeigten Pixel-Werten Vi und Vi+1 und den interpolierten Subpixeln wie
in 13 illustriert addiert. Zur gleichen Zeit (parallel
dazu) werden alle möglichen tatsächlichen
Subpixel-Ausgaben aus der gewünschten
Ausgabe subtrahiert ohne dass die Diffusions-Fehler-Komponente eFB eingeschlossen ist. Mit anderen Worten
werden N mögliche
tatsächliche
Subpixel-Ausgaben von den gewünschten
Ausgaben berechnet in 12 abgezogen, um N mögliche Fehler-Ausgaben
ep (die gewünschte Ausgabe minus die tatsächliche
Ausgabe ist identisch mit dem Fehler ep)
zu erzeugen. Die Berechnungen, illustriert in 13,
werden parallel mit den Berechnungen in 14 durchgeführt.
-
Die
Fehler-Komponente eFB wird zu den angezeigten
Pixel-Werten Vi, Vi+1 und
in verschiedenen interpolierten Subpixel-Werten, wie in 15 illustriert,
hinzugefügt.
Zur gleichen Zeit, zu der die Rückkopplungs-Fehler-Komponente
in 15 hinzuzufügen
ist, wird die Fehler-Komponente eFB zu allen
möglichen
gewünschten
Subpixel-Ausgaben hinzugefügt,
wie in 16 gezeigt. Mit anderen Worten
wird die Fehler-Komponente eFB individuell
zu allen N-Fehler-Ergebnissen (ep), welche
aus den Kalkulationen, illustriert von 14 stammen,
addiert.
-
Nach
Vervollständigen
dieser parallelen Berechnungen enthält der nächste Schritt die Berechnungen illustriert
in den 17, 18 und 19.
In diesem nächsten
Schritt wird jeder interpolierte Subpixel-Wert verglichen mit einem
Schwellen-Wert von 128 und die Subpixel mit einem Wert größer oder
gleich dem Schwellen-Wert werden auf EIN gesetzt. Dieser Prozess
wird graphisch illustriert in 17 und 18,
wobei 17 den Vergleich der interpolierten
Subpixel-Werte mit den Schwellen-Werten zeigt und 18 das
Anschalten des Pixel zeigt mit einem Wert von größer oder gleich dem Schwellen-Wert.
-
Da
alle der möglichen
Fehler-Werte gleichzeitig verfügbar
gemacht wurden als ein Ergebnis der Berechnung, illustriert in 16,
können
die Fehler, welche strangabwärts
propagiert werden sollen, nun unmittelbar ausgewählt werden; d.h. über einen
Multiplexer, basierend auf der Anzahl der Subpixel, welche auf EIN gestellt
sind. Mit anderen Worten illustriert 19 den
richtig ausgewählten
Fehler-Wert aus den verschiedenen, gleichzeitig verfügbaren Fehler-Werten,
erzeugt durch die Berechnungen, illustriert in 16.
Der ausgewählte
Fehler-Wert wird dann in die strangabwärts verteilten Pixel unter
Einsatz irgendeiner konventionellen Fehler-Diffusions-Technik verteilt.
In der bevorzugten Ausführungsform
der vorliegenden Erfindung wird der Fehler in die strangabwärts gelegenen
Pixel verteilt unter Einsatz der Fehler-Diffusions-Koeffizienten
wie oben diskutiert.
-
20 illustriert
ein funktionelles Blockdiagramm eines parallelen Pipeline-Fehler-Diffusions-Schaltkreis
von hoher Adressierbarkeit. In 20 wird
das Eingabe-Video-Signal in einen Fehler-Kalkulations-Schaltkreis 1 gespeist
und einen Video-Modifikations-Schaltkreis 3.
Die Fehler-Komponenten eF1F0 (ErrB) und eFB (ErrA) werden auch in den Fehler-Berechnungs-Schaltkreis 1 gespeist.
Der Fehler-Berechnungs-Schaltkreis berechnet alle der verschiedenen
möglichen
Fehler-Werte, welche aus den laufend auftretenden binären Prozessen
resultieren können.
Die Auswahl der geeigneten Fehler, welche durch den Fehler-Berechnungs-Schaltkreis 1 ausgegeben
werden können,
basiert auf dem empfangenen Fehler-Auswahl-Signal, welches im größeren Detail
unten diskutiert werden wird.
-
Der
ausgewählte
Fehler-Wert aus dem Fehler-Berechnungs-Schaltkreis 1 wird
in einen Koeffizienten-Matrix-Schaltkreis 5 gespeist, welche
den Fehler basierend auf einem Satz von Gewichtungsfaktoren verteilt.
Der Koeffizienten-Matrix-Schaltkreis 5 teilt die Fehler-Werte in zwei Komponenten
eF1F0 (ErrB) und
eFB (ErrA) auf.
Wie zuvor festgehalten, wird der Rückkopplungs-Fehler, ErrA, zurück
in den Video-Modifikations-Schaltkreis 3 gespeist und den
Fehler-Berechnungs-Schaltkreis 1 aus dem Koeffizienten-Matrix-Schaltkreis 5.
Der Video-Modifikations-Schaltkreis 3 empfängt auch
den ErrB aus dem Puffer 9.
-
Der
Video-Modifikations-Schaltkreis 3 erzeugt interpolierte
Subpixel-Werte für
das Fehler-Diffusions-Verfahren von hoher Adressierbarkeit, wobei
die interpolierten Subpixel-Werte
in den binärisierten
Schaltkreis 7 gespeist werden zusammen mit einem Schwellen-Wert.
In der bevorzugten Ausführungsform
der vorliegenden Erfindung ist der Schwellen-Wert 128. Jedoch sollte
festgehalten werden, dass dieser Schwellen-Wert irgendein Wert sein
kann.
-
Der
Binärisierungs-Schaltkreis 7 binärisiert
die eingegebenen Video-Daten, um die ausgegebenen binärisierten
Bild-Daten für
den Einsatz durch ein Bild-erzeugendes Gerät auszugeben. Der Binärisierungs-Schaltkreis 7 erzeugt
auch das Fehler-Auswahl-Signal, welches durch den Fehler-Berechnungs-Schaltkreis 1 eingesetzt
wird, um den korrekten Fehler-Wert auszuwählen, welcher in den Koeffizienten-Matrix-Schaltkreis 5 gespeist
werden soll. Dieses Fehler-Auswahl-Signal repräsentiert die Anzahl der interpolierten
Subpixel, welche auf EIN geschalten werden, während des Binärisierungsprozesses.
Folglich kann der Fehler-Berechnungs-Schaltkreis 1 einen
Multiplexer enthalten, um diese Auswahl zu treffen. Wie in 20 illustriert,
ist der Fehler-Berechnungs-Schaltkreis 1 parallel geschaltet
mit dem Video-Modifikations-Schaltkreis 3 und dem Binärisierungs-Schaltkreis 7.
-
21 illustriert
ein detailliertes Blockdiagramm des Schaltkreises einer weiteren
Ausführungsform der
Fehler-Diffusion mit hoher Adressierbarkeit. Wie in 21 gezeigt,
werden viele der Berechnungen, wie zuvor beschrieben, mit Blick
auf die 11–19 parallel
durchgeführt.
-
Pixel-Werte
Vi und Vi+1 werden
durch den Einsatz einer Klinke 205 erhalten, welche das
Video-Signal so klinkt, dass zwei benachbarte schnell scannende
Pixel für
die Verarbeitung verfügbar
sind. Die Pixel-Werte Vi und Vi+1 werden
in einem Addierer 206 summiert und die Summe wird dividiert
auf die Hälfte
durch die Dividier-Einheit 207. Das Ergebnis der Dividier-Einheit 207 wird
in den Addierer 208 gespeist mit dem Fehler-Term eF1F0. Die Summe repräsentiert die gewünschte Ausgabe
für den
Drucker.
-
Parallel
mit den beiden oben genannten Prozessen erzeugt ein tatsächlicher
Ausgabe-Erzeugungs-Schaltkreis 200 alle
möglichen
Ausgaben für
den Drucker basierend auf der Charakteristik von hoher Adressierbarkeit.
Es ist festzuhalten, dass diese Werte negativ sind, da ein Addierer
verwendet wird für
die Substraktions-Operationen. Falls die Charakteristik der hohen
Adressierbarkeit N ist, werden N mögliche tatsächliche Ausgaben erzeugt werden.
Auch parallel zu dem oben beschriebenen Prozess erzeugte ein Subpixel-Schaltkreis
all die interpolierten Subpixel basierend auf den Pixel-Werten Vi und Vi+1.
-
Als
nächstes
wird die Fehler-Komponente eF1F0 zu jedem
der interpolierten Subpixel durch den Addierer 210 addiert.
Zur gleichen Zeit werden alle möglichen
Ausgaben (parallel dazu) (negative Werte) individuell zur gewünschten
Ausgabe durch den Addierer 201 hinzugezählt. Mit anderen Worten werden
N mögliche
tatsächliche
Subpixel-Ausga ben aus der gewünschten
Ausgabe subtrahiert, um N mögliche
Fehler-Ausgaben zu erzeugen.
-
In
den Addierern 211 und 202 wird ein Rückkopplungs-Fehler-Term
eFB zu jeder Summation von den Addierern 210 bzw. 201 addiert.
Diese Berechnungen werden parallel durchgeführt. Nach Vervollständigen dieser
parallelen Berechnungen wird jedes interpolierte Subpixel von dem
Addierer 211 mit einem Schwellen-Wert in dem Schwellen-Wert-Schaltkreis 212 verglichen.
Die Subpixel mit einem Wert größer oder
gleich dem Schwellen-Wert werden auf EIN gestellt. Der Schwellen-Wert-Schaltkreis
wirft eine Zahl aus, welche die Anzahl der Subpixel repräsentiert,
die auf EIN geschalten wurden. Diese Information wird in einen dekodierenden
logischen Schaltkreis gespeist, welcher daraus einen Binär-Code erzeugt,
welcher an den Drucker geschickt wird.
-
Darüber hinaus
werden die Fehler-Terme aus den Addierer 202 in einen Multiplexer 203 gespeist,
welcher auswählt,
welche Fehler-Terme sich in die strangabwärts gelegenen Pixel fortpflanzen
sollen. Der Fehler-Term wird ausgewählt basierend auf einem Kontroll-Signal empfangen
von einem dekodierenden logischen Schaltkreis 213. Der
ausgewählte
Fehler-Term wird in einen Verteilungs-Schaltkreis 204 gespeist,
welcher den nächsten
Rückkopplungs-Fehler
erzeugt und den Fehler, welcher in einem Puffer gespeichert werden
soll, zur Anwendung in der Verarbeitung der nächsten Scann-Zeile.
-
Wie
oben erwähnt,
können
diese Fehler-Diffusions-Schaltkreise von hoher Adressierbarkeit
isolierte Subpixel erzeugen, welche nicht erzeugbar sind durch die
angeschlossenen Druck-Systeme. Folglich schlägt die vorliegende Erfindung
zwei Ansätze
vor, um das Leiten der isolierten Subpixel zum Drucksystem zu eliminieren.
-
Der
erste Ansatz ist, Begrenzungen für
den Fehler-Diffusions-Prozess zu platzieren dadurch, dass bestimmte
Zustände
nicht erlaubt werden, welche ein isoliertes Subpixel erzeugen würden. Die
nicht erlaubten Zustände
werden bestimmt aus einem Bit-Ausgabe-Muster des früheren Pixels.
-
Ein
Beispiel dieses Ansatzes wird diskutiert unter Verwendung eines
Systems mit zwei Bits von hoher Adressierbarkeit in der Fast-Scann-Richtung.
In diesem System werden für
jede Lokalisation zwei Ausgabe-Bits erzeugt durch Eingabe-Pixel.
Man nehme an, dass das frühere
Pixel das Ausgabe-Bit-Muster von „01" hatte. Die vorliegende Erfindung würde dann
die Bit-Ausgabe-Muster von „00" und „01" bezeichnen als nicht erlaubte
Zustände
für das
laufende Pixel, da das konzertierte (verkettete) Muster (vereinigte
Muster des früheren
Zustandes und des laufenden Zustandes) „0100" bzw. „0101" ein isoliertes Subpixel enthalten würde (das zweite
Bit aus der linken Seite für
beide konzertierte Muster).
-
Obwohl
dieser Ansatz in vielen Systemen zutrifft, wo eine Echtzeit-Anwendung
nicht ein Kriterium ist, beispielsweise Bild-Systeme, welche Software-Fehler-Diffusionen
verwenden oder Systeme, wo die Pixelrate noch nicht sehr hoch ist,
kann in einem System, welches mehr als 50 Millionen Pixel pro Sekunde
verarbeiten kann, die Fähigkeit,
nicht erlaubte Zustände
zu überprüfen, nicht
in eine Echtzeit-Implementation eingebracht werden. Folglich setzt
der zweite Ansatz der vorliegenden Erfindung einen Post-Fehler-Diffusions-Prozess
ein, welcher die Erzeugung einzelner isolierter Subpixel überprüft und korrigiert
durch Manipulieren des eingehenden Bit-Stromes und Modifizieren
des Fehlers erzeugt durch den Fehler-Diffusions-Prozess. Dieser
Prozess operiert mit dem Ausgabe-Strom
erzeugt durch den Fehler-Diffusions-Prozess.
-
In
der bevorzugten Ausführungsform
der vorliegenden Erfindung wird die Manipulation des eingehenden
Bit-Stromes realisiert durch den Einsatz eines morphologischen Filters,
implementiert als Zustands-Maschine. Die Zustands-Maschine setzt
das Fehler-Diffusions-Subpixel-Muster für ein Eingabe-Pixel und das Fehler-Diffusions-Subpixel-Muster
für den
derzeitigen Zustand, um eine korrekte Subpixel-Muster-Ausgabe und
das nächste
Zustands-Muster auszugeben. Solch eine Zustands-Maschine wird in 27 illustriert.
-
Wie
in 27 illustriert, wird das Fehler-Diffusions-Subpixel-Muster
des laufenden Zustandes in die logischen Schaltkreise 21 und 22 gespeist,
welche auch das Fehler-Diffusions-Subpixel-Muster
für ein
gegebenes Pixel empfangen aus der Verzögerungs-Einheit 23. Der logische Schaltkreis 22 gibt
das korrigierte Subpixel-Muster basierend auf dem laufenden Bit-Zustandsmuster
aus sowie das Fehler-Diffusions-Bit-Muster für das Eingabepixel. Auf der
anderen Seite gibt der logische Schaltkreis 21 das Subpixel-Muster des nächsten Zustandes
aus basierend auf dem laufenden Bit-Zustands-Muster und dem Fehler-Diffusions-Bit-Muster
für das
Eingabe-Pixel. In der bevorzugten Ausführungsform der vorliegenden
Erfindung erzeugen die Schaltkreise 21 und 22 die
Ausgabe-Muster gemäß den Tabellen
1 bzw. 2 wie unten illustriert. Tabelle 3 unten illustriert den insgesamten
Filter-Aspekt der Zustands-Maschine illustriert in 27.
Die Tabellen unten illustrieren Beispiele für ein Drucksystem mit einer
hohen Adressierbarkeits-Charakteristik
von 2.
-
-
-
-
Ein
Weg, um den Filter 20 von 27 zu
betrachten, ist es, den Zustand Z (i) als eine Zwischen-Ausgabe
zu betrachten. Es ist dies, was die nächste Ausgabe, Vout (i
+ 1), werden wird, falls das konzertierte Pixel-Muster (Vin (i,k), Z(i)) nicht irgendwelche isolierten
Subpixel enthält.
Genauer gesagt, falls keine isolierten Subpixel in dem Fehler-Diffusions-Strom
nachgewiesen werden, bleibt die Ausgabe im Vergleich zur Eingabe unverändert. Keine
Korrektur wird auf die Bit-Muster durchgeführt, welche keinerlei isolierte
Subpixel aufweisen.
-
Falls
ein einzelnes Subpixel in dem konzertierten Pixel-Muster C (i, k)
nachgewiesen wird, wird entweder das nächste Ausgabe-Pixel oder der
nächste
Zwischen-Zustand verändert,
um das isolierte Subpixel zu eliminieren. Es sollte festgehalten
werden, dass, falls sich der Zwischen-Zustand verändert, die
Veränderung anschließend auf
alle weiteren Eingaben fortgepflanzt wird, da die Zustands-Maschine
in einer Rückkopplungs-Schleife filtert.
Es ist daher vorteilhaft, je nach Möglichkeit, das einzelne Subpixel
zu eliminieren durch Veränderung
des Ausgabe-Zustandes, da dieses dazu tendiert, alle Veränderungen
in dem Ausgabe-Muster zu lokalisieren.
-
Ein
Beispiel dieses isolierten Subpixel-Eliminations-Prozesses wird
in 31 illustriert. Das Beispiel illustriert in 31 steht
für eine
Situation, in welcher die hohe Adressierbarkeits-Charakteristik 3 ist;
d.h., drei Subpixel der Bild-Daten werden pro ursprüngliches
Pixel an Bild-Daten erzeugt. Darüber
hinaus repräsentiert jedes
horizontale Oval in 31 einen Zeitpunkt der Verarbeitung
eines Pixels der Bild-Daten.
-
Wie
in 31 illustriert, wird in dem Oval 300 das
Drei-Subpixel-Bit-Muster (111) für
Pixel (N-1) verglichen mit dem Drei-Subpixel-Bit-Muster
(000) für
Pixel(N). Aus diesem Vergleich gibt im Oval 301 ein
Subpixel-Eliminierungs-Schaltkreis ein Subpixel-Bit-Muster (111)
aus, korrespondierend mit dem Pixel (N-1) und
verschiebt (speichert) das Subpixel-Bit-Muster (000) korrespondierend mit
dem Pixel (N), um für den nächsten Vergleich verfügbar zu
sein. Im Oval 302 wird das Subpixel-Bit-Muster (100) für das Pixel (N+1) empfangen und mit dem Subpixel-Bit-Muster
(000) für
das Pixel ((N) verglichen. Anschließend gibt
im Oval 303 der Subpixel-Eliminierungs-Schaltkreis ein
Subpixel-Bit-Muster (000) aus, korrespondierend mit dem Pixel(N), verändert
das Subpixel-Bit-Muster für
Pixel(N+1) auf (110), um das isolierte Subpixel
zu eliminieren (das erste Subpixel in dem Bit-Muster für Pixel(N+1)) und verschiebt (speichert) das neue
Subpixel-Bit-Muster (110) korrespondierend zum Pixel(N+1),
um für
den nächsten
Vergleich verfügbar
zu sein.
-
Im
Oval 304 wird das neue Subpixel-Bit-Muster (110) für Pixel(N+1) mit dem empfangenen Subpixel-Bit-Muster
(110) für
Pixel(N+2) verglichen. Für diesen Vergleich gibt im
Oval 305 der Subpixel-Eliminierungs-Schaltkreis ein neues
Subpixel-Bit-Muster (111), korrespondierend mit dem Pixel(N+1) aus, verändert das Subpixel-Bit-Muster
für Pixel(N+2) auf (100), um das isolierte Subpixel
zu eliminieren (das letzte Subpixel in dem Bit-Muster für Pixel(N+1)) und verschiebt (speichert) das neue
Subpixel-Bit-Muster (100), korrespondierend mit dem Pixel(N+2), um für den nächsten Vergleich verfügbar zu
sein. Im Oval 306 wird das Subpixel-Bit-Muster (001) für das Pixel(N+3) empfangen und verglichen mit dem Subpixel-Bit-Muster
(100) für
das Pixel(N+2). Anschließend gibt im Oval 307 der
Subpixel-Eliminierungs-Schaltkreis
ein Subpixel-Bit-Muster (100), korrespondierend zu Pixel(N+2) aus und verschiebt (speichert) das
Subpixel-Bit-Muster (001), korrespondierend mit dem Pixel(N+3), um für den nächsten Vergleich verfügbar zu
sein.
-
Im
Oval 308 wird das Subpixel-Bit-Muster (001) für das Pixel(N+3) mit dem empfangenen Subpixel-Bit-Muster
(001) für
Pixel(N+4) verglichen. Aus diesem Vergleich
gibt am Oval 309 der Subpixel-Eliminierungs-Schaltkreis
ein neues Subpixel-Bit-Muster (000), korrespondierend mit dem Pixel(N+3) aus, verändert das Subpixel-Bit-Muster
für Pixel (N+4) auf (011), um das isolierte Subpixel
zu eliminieren (das letzte Subpixel in dem Bit-Muster für Pixel(N+3)) und verschiebt (speichert) das neue
Subpixel-Bit-Muster (011), korrespondierend mit Pixel(N+4),
um für
den nächsten
Vergleich verfügbar
zu sein. Im Oval 310 wird das Subpixel-Bit-Muster (110)
für das
Pixel(N+5) empfangen und mit dem Subpixel-Bit-Muster (011) für Pixel(N+4) verglichen. Anschließend gibt
im Oval 311 der Subpixel-Eliminierungs-Schaltkreis ein
neues Subpixel-Bit-Muster (001) aus, korrespondierend mit dem Pixel(N+4), verändert das Subpixel-Bit-Muster
für Pixel(N+5) auf (111), um das isolierte Subpixel
zu eliminieren (das erste Subpixel in dem Bit-Muster für Pixel(N+5)) und verschiebt (speichert) das Subpixel-Bit-Muster (111),
korrespondierend mit dem Pixel(N+5), um
für den
nächsten
Vergleich verfügbar
zu sein. Dieser Prozess schreitet voran, bis alle Pixel (Subpixel-Bit-Muster)
verarbeitet sind.
-
Der
zweite Teil der vorliegenden Erfindung beschäftigt sich mit dem Verändern des
Fehlers, welcher in der langsam scannenden Richtung diffundiert
wird, um Veränderungen,
durchgeführt
in dem Ausgabe-Bit-Muster zu berücksichtigen.
Dies stellt sicher, dass die gesamte Anzahl der schwarzen und weißen Subpixel
nicht durch den Subpixel-Manipulations-Prozess
verändert
wird.
-
Wie
zuvor berichtet, besteht nicht ausreichend Zeit in vielen Druck-Systemen,
den Fehler-Diffusions-Prozess zu verändern, um das Einschließen von
nicht erlaubten Zuständen
einzubringen. Darüber
hinaus besteht nicht genügend
Zeit, den Fehler, propagiert in der schnell scannenden Richtung
zu modifizieren, da dieser bereits umgesetzt wurde zu der Zeit,
zu der das Pixel-Ausgabe-Muster modifiziert worden ist. Jedoch kann
der Fehler, der für
zukünftige
Scann-Zahlen vergangen ist (der Fehler, der in der langsamen scannenden Richtung
diffundiert werden soll) variiert werden, da diese nicht bis zu
einer viel späteren
Zeit benötigt
werden. Dieses Weiterleiten des Fehlers zu Pixeln in der langsam
scannenden Richtung ist es, wo Information betreffend die Subpixel-Manipulation für die zukünftige Verarbeitung
von Pixel-Information berücksichtigt
werden kann.
-
Wie
oben diskutiert, werden in einem typischen Fehler-Diffusions-Prozess
eine Eingabe-Grau-Stufe und
ein Ausgabe-Pixel-Muster verwendet, um den Fehler zu bestimmen,
propagiert zu zukünftigen
Pixeln und zwar mit Hilfe eines Satzes an Gewichtungs-Koeffizienten.
In ähnlicher
Art und Weise wird der Fehler-Unterschied zwischen dem Fehler-Diffusions-erzeugten
Bit-Muster und dem Ausgabe-Bit-Muster nach der Manipulation verwendet
durch die vorliegende Erfindung, um einen Fehler in Richtung von
Pixeln in der Slowscan-Richtung zu propagieren.
-
Als
ein Beispiel dieses Prozesses sei angenommen, dass ein weißes Subpixel
einen numerischen Wert von Ws und ein schwarzes
Subpixel einen numerischen Wert von Bs aufweist.
Dafür weist,
falls ein einzelnes Pixel von N weißen Subpixeln und M – N schwarzen
Subpixeln umfasst ist, wobei M die Anzahl der hoch adressierbaren
Bits ist, das einzelne Pixel einen numerischen Wert von (M·Bs + N·(Ws – Bs)) auf. Falls aufgrund der oben beschriebenen
Manipulation dieses Muster verändert
wird in N + K weiße
Pixel und M – N-K schwarze Subpixel
wird das einzelne Pixel einen neuen numerischen Wert aufweisen von
(M·Bs + (N + K)·(Ws – Bs)). Diese Veränderung in dem numerischen
Wert des einzelnen Pixels ist gleich mit K·(Ws – Bs). Ähnlich
zur herkömmlichen
Fehler-Diffusion ist der Fehler, der erzeugt wird, gleich zur numerischen
Differenz zwischen dem Eingabe- und Ausgabe-Bit-Muster. In der vorliegenden
Erfindung ist der Fehler, der erzeugt wird, gleich zum Subpixel-Fehler
= K·(Bs – Ws), wobei K die Anzahl der Subpixel in dem
einzelnen Pixel ist, welches von Schwarz zu Weiß verändert wird.
-
Dieser
Fehler kann in die nächste
Scann-Zeile fortgeführt
werden oder zu den nächsten
Pixeln in der langsam scannenden Richtung unter Verwendung irgendeiner
Kombination von Gewichtungen, welche sich einheitlich aufsummieren.
In der bevorzugten Ausführungsform
der vorliegenden Erfindung setzt der Fehler-Diffusions-Prozess für den isolierten
Subpixel-Eliminierungs-Prozess den gleichen Satz von langsam scannenden
Koeffizienten-Gewichtungen ein, der bereits implementiert wurde
durch den hoch adressierbaren Fehler-Diffusions-Prozess. Falls diese
Koeffizienz-Gewichtungen eingesetzt werden, ist es möglich, den
Fehler, propagiert durch den konventionellen Fehler-Diffusions-Prozess
mit der Fehler-Korrektur zur Subpixel-Manipulation zu kombinieren,
wodurch die Notwendigkeit für
weitere Hardware, um den Prozess zu implementieren, reduziert wird.
Jedoch sollte festgehalten werden, dass die Summe der langsam scannenden
Koeffizienten sich nicht einheitlich aufsummiert und es folglich
notwendig ist, den Subpixel-Korrektur-Fehler
zu normalisieren, so dass der resultierende Fehler, welcher sich
zu den Pixeln in der langsam-scannenden Region fortpflanzt, unverändert bleibt.
Beispielsweise wäre
der Subpixel-Fehler, fortgepflanzt in die langsam scannende Richtung
gleich dem Subpixel-Fehler dividiert durch die Summe der langsam
scannenden Koeffizienten.
-
Mit
dem Fehler, propagiert in der langsam scannenden Richtung zusätzlich zu
dem normalen Fehler, erzeugt durch den Fehler-Diffusions-Prozess
bleibt die gesamte Zahl der schwarzen und weißen Subpixel identisch. Mit
anderen Worten wird die mittlere Grau-Stufe nicht durch die vorliegende Erfindung
verändert.
-
30 illustriert
ein einfaches Fluss-Diagramm, welches den isolierten Subpixel-Eliminierungs-Prozess
der vorliegenden Erfindung zeigt. Wie in 30 gezeigt,
eliminiert der Schritt S401 jegliche Art von isolierten Subpixeln
unter Verwendung des Filterns (logischen Filterns) wie oben beschrieben,
verändert
die binäre
Ausgabe gemäß dieser
Eliminierung und bestimmte Anzahl der Subpixel, welche von Weiß zu Schwarz oder
Schwarz zu Weiß verändert wird.
Als nächstes
berechnet der Schritt S402 den Fehler, resultierend aus der isolierten
Subpixel-Eliminierungs-Routine durch Multiplizieren der Anzahl von
Subpixeln, welche von Weiß nach
Schwarz verändert
wurden oder von Schwarz nach Weiß durch die Differenz zwischen
einem weißen Subpixel-Wert
und einem schwarzen Subpixel-Wert. Zuletzt diffundiert der Schritt
S403 den Fehler zur langsam-scannenden Pixel-Position in einem F1F0-Puffer.
-
28 illustriert
ein Block-Diagramm zum Durchführen
des isolierten Subpixel-Eliminierungs-Prozess gemäß einer
Ausführungsform
der vorliegenden Erfindung. In 28 wird
das Eingabe-Video-Signal in einen Fehler-Berechnungs-Schaltkreis 1 eingespeist
und einen Video-Modifikations-Schaltkreis 3. Die Fehler-Komponente
eF1F0 (ErrB) und
eFB (ErrA) werden
auch in den Fehler-Berechnungs-Schaltkreis 1 eingespeist.
Der Fehler-Berechnungs-Schaltkreis berechnet alle verschiedenen
möglichen
Fehler-Werte, welche aus dem laufend erscheinenden binären Prozess
resultieren können.
Die Auswahl des geeigneten Fehlers, welcher durch den Fehler-Berechnungs-Schaltkreis
ausgegeben werden kann, basiert auf dem empfangenen Fehler-Auswahl-Signal,
welches im größeren Detail
unten diskutiert werden wird.
-
Der
ausgewählte
Fehler-Wert aus dem Fehler-Berechnungs-Schaltkreis 1 wird
in einen Koeffizienten-Matrix-Schaltkreis 5 gespeist, welcher
den Fehler basierend auf dem Satz von Gewichtungs-Koeffizienten verteilt.
Der Koeffizient-Matrix-Schaltkreis 5 teilt die Fehler-Werte
in zwei Komponenten eF1F0 (ErrB)
und eFB (ErrA) auf.
Wie zuvor festgehalten, wird der Rückkopplungs-Fehler, ErrA zurück in den
Video-Modifikations-Schaltkreis 3 gespeist sowie dem Fehler-Berechnungs-Schaltkreis 1 aus
dem Koeffizienten-Matrix-Schaltkreis 5.
Der Video-Modifikations-Schaltkreis 3 empfängt auch
ErrB vom Puffer 9.
-
Der
Video-Modifikations-Schaltkreis 3 erzeugt interpolierte
Subpixel-Werte für
das Fehler-Diffusions-Verfahren mit hoher Adressierbarkeit, wobei
die interpolierten Subpixel-Werte
in den Binärisierungs-Schaltkreis 7 zusammen
mit einem Schwellen-Wert eingespeist werden. In der bevorzugten
Ausführungsform
der vorliegenden Erfindung ist der Schwellen-Wert 128. Jedoch sollte
festgehalten werden, dass dieser Schwellen-Wert irgendein Wert sein
kann.
-
Der
Binärisierungs-Schaltkreis 7 binärisiert
die eingegebenen Video-Daten, um binärisierte Bild-Daten auszugeben,
damit sie in einen einzelnen Subpixel-Eliminierungs-Schaltkreis 20 eingespeist
werden können, und
den die Anzahl-an-Subpixel-Veränderungs-Schaltkreis 23.
In der bevorzugten Ausführungsform
der vorliegenden Erfindung wird der einzelne Subpixel-Eliminierungs-Schaltkreis 20 die
Zustands-Maschine,
illustriert in 27 sein. Der einzelne Subpixel-Eliminierungs-Schaltkreis 20 gibt
Bild-Daten aus zum Einsatz durch ein Bild-erzeugendes Gerät und durch
den Anzahl-an-Subpixel-Veränderungs-Schaltkreis 23.
Der Anzahl-an-Subpixel-Veränderungs-Schaltkreis 23 bestimmt
die Anzahl der Subpixel-Zustands-Veränderungen durch Ver gleich der
Bild-Daten, eingespeist in den einzelnen Subpixel-Eliminierungs-Schaltkreis 20 und
die Bild-Daten, erzeugt durch den einzelnen Subpixel-Eliminierungs-Schaltkreis 20.
Dieser Wert wird in dem Multiplier 24 eingespeist, welcher
den numerischen Veränderungs-Wert
mit einem Differenz-Wert multipliziert, welcher gleich eine Differenz
ist zwischen einem weißen
Subpixel-Wert und einem schwarzen Subpixel-Wert, um einen Subpixel-Fehler-Wert
zu erzeugen. Der Subpixel-Fehler-Wert wird in einen Langsam-Scann-Fehler-Einstell-Schaltkreis 25 gespeist
zusammen mit einem langsam scannenden Fehler aus dem Koeffizienten-Matrix-Schaltkreis 5,
welcher diese langsam scannenden Fehler auf benachbarte Pixel über F1F0-Puffer 9 gemäß dem Prozess
wie oben beschrieben diffundiert.
-
Der
Binärisierungs-Schaltkreis 7 erzeugt
auch das Fehler-Auswahl-Signal, welches durch den Fehler-Berechnungs-Schaltkreis 1 verwendet
wird, um den korrekten Fehler-Wert
auszuwählen,
der in den Koeffizienten-Matrix-Schaltkreis 5 eingespeist
werden soll. Dieses Fehler-Auswahl-Signal repräsentiert die Anzahl der interpolierten
Subpixel, welche auf EIN gestellt werden während des Binärisierungs-Prozesses.
Folglich kann der Fehler-Berechnungs-Schaltkreis 1 einen
Multiplexer enthalten, um diese Auswahl zu treffen. Wie in 20 illustriert,
steht der Fehler-Berechnungs-Schaltkreis 1 parallel mit
dem Video-Modifikations-Schaltkreis 3 sowie dem Binärisierungs-Schaltkreis 7.
-
29 illustriert
ein Blockdiagramm zum Durchführen
des isolierten Subpixel-Eliminierungs-Prozess gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung. Wie in 29 illustriert,
werden Pixel-Werte Vi und Vi+1 erhalten
durch Einsetzen einer Klinke 205, welche das Video-Signal
einklinkt, so dass zwei benachbarte schnell scannende Pixel zum
Verarbeiten verfügbar
sind. Die Pixelwerte Vi und Vi+1 werden in
einem Addierer 206 aufaddiert und die Summe wird auf die
Hälfte
der dividierenden Einheit 207 dividiert. Das Ergebnis aus
der dividierenden Einheit 207 wird in einen Addierer 208 gespeist
mit dem Fehler-Term eF1F0. Die Summe repräsentiert
die gewünschte
Ausgabe für
den Drucker.
-
Parallel
zu dem oben beschriebenen Prozess erzeugt ein tatsächlicher
Ausgabe-Generations-Schaltkreis 200 alle möglichen
Ausgaben für
den Drucker, basierend auf der Hoch-Adressierbarkeits-Charakteristik. Es
sollte festgehalten werden, dass diese Werte negativ sind, da ein
Addierer verwendet wird für
Substraktions-Operationen. Falls die Hoch-Adressierbarkeits-Charakteristik
N ist, werden N mögliche
tatsächliche
Ausgaben erzeugt werden. Ebenfalls parallel zu dem oben beschriebenen
Prozess erzeugt ein Subpixel-Schaltkreis alle interpolierten Subpixel,
basierend auf den Pixel-Werten Vi und Vi+1.
-
Als
nächstes
wird die Fehler-Komponente eF1F0 zu jedem
der interpolierten Subpixel durch den Addierer 210 gegeben.
Zur gleichen Zeit (parallel dazu) wird jede mögliche tatsächliche Ausgabe (negative Werte) individuell
zur gewünschten
Ausgabe durch den Addierer 201 addiert. Mit anderen Worten
werden N mögliche tatsächliche
Subpixel-Ausgaben
von der gewünschten
Ausgabe subtrahiert, um N mögliche
Fehler-Ausgaben zu erzeugen.
-
In
den Addierern 211 und 202 wird ein Rückkopplungs-Fehler-Term
eFB zu jeder Summation von den Addierern 210 bzw. 201 hinzugefügt. Diese
Berechnungen werden durchgeführt
in paralleler Art und Weise. Nach Vervollständigen dieser parallelen Berechnungen
wird jedes interpolierte Subpixel von dem Addierer 211 mit
einem Schwellen-Wert in dem Schwellen-Wert-Schaltkreis 212 verglichen.
Die Subpixel mit einem Wert größer oder
gleich dem Schwellen-Wert werden auf EIN gestellt. Der Schwellen-Wert-Schaltkreis
gibt eine Zahl aus, welche die Anzahl der Subpixel repräsentiert,
die auf EIN gestellt wurden. Diese Information wird in einen logischen
Dekodier-Schaltkreis 213 gespeist, welcher ein binäres Subpixel-Bit-Muster
daraus erzeugt, welches in den einzelnen Subpixel-Eliminierungs-Schaltkreis 20 gespeist
werden soll und den Anzahl-an-Subpixel-Veränderungs-Schaltkreis 23.
In der bevorzugten Ausführungsform
der vorliegenden Erfindung ist der einzelne Subpixel-Eliminierungs-Schaltkreis 20 die
Zustands-Maschine,
illustriert in 27.
-
Der
einzelne Subpixel-Eliminierungs-Schaltkreis 20 gibt die
Bild-Daten zum Verwenden durch ein Bild-Erzeugungs-Gerät aus und
zum Einsatz durch den Anzahl-an-Subpixel-Veränderungs-Schaltkreis 23.
Der Anzahl-an-Subpixel-Veränderungs-Schaltkreis 23 bestimmt
die Anzahl der Subpixel-Zustands-Veränderungen durch Vergleich der
Bild-Daten, eingespeist
in den einzelne Subpixel-Eliminierungs-Schaltkreis 20 und
die Bild-Daten,
erzeugt durch den Subpixel-Eliminierungs-Schaltkreis 20.
Dieser Wert wird in einen Multiplier 24 gespeist, welcher
den numerischen Veränderungs-Wert
mit einem Differenzwert multipliziert, welcher gleich zu einer Differenz
zwischen einem weißen
Subpixel-Wert und einem schwarzen Subpixel-Wert ist, um einen Subpixel-Fehler-Wert
zu erzeugen. Der Subpixel-Fehler-Wert wird in den langsam scannenden
Fehler-Einstel lungs-Schaltkreis 25 zusammen mit dem langsam
scannenden Fehler aus dem Verteilungs-Schaltkreis 204 gespeist,
welcher diese langsam scannenden Fehler zu benachbarten Pixel über den
F1F0-Puffer gemäß dem Prozess
wie oben beschrieben diffundiert, um an den Drucker übersandt
zu werden.
-
Darüber hinaus
werden die Fehler-Terme von dem Addierer 202 in einen Multiplexer 203 gespeist,
welcher auswählt,
welche Fehler-Terme sich in die strangabwärts gelegenen Pixel fortpflanzen
sollen. Der Fehler-Term wird ausgewählt, basierend auf einem Steuersignal,
empfangen durch den logischen Dekodier-Schaltkreis 213.
Der ausgewählte
Fehler-Term wird in den Verteilungs-Schaltkreis 204 gespeist,
welcher den nächsten
Rückkopplungs-Fehler
erzeugt und den Fehler, welcher in den langsam scannenden Fehler-Einstell-Schaltkreis 25 eingespeist
werden soll zum Weiterleiten an den F1F0-Puffer zum Einsatz in der
Verarbeitung der nächsten
Scann-Zeile.
-
Wie
oben erwähnt,
wird in dem einzelnen Subpixel-Eliminierungs-Prozess der Fehler,
fortgepflanzt in der langsam scannenden Richtung des Bildes aktualisiert,
um die Veränderung
in den Bitmaps in Erwägung zu
ziehen. Dies gewährleistet,
dass der Prozentsatz an schwarzen und weißen Subpixeln in einer großen Fläche nicht
durch die Subpixel-Eliminierung
verändert
wird und folglich die Prozentsätze
die gleichen sind, mit oder ohne Subpixel-Eliminierung, nur die
Verteilung verändert
wird.
-
Beispielsweise
sei angenommen, dass die Ausgabe der Standard-Fehler-Diffusion von
hoher Adressierbarkeit ein Ausgabe-Pixel erzeugen würde, welches
zwei weiße
Subpixel und zwei schwarze Subpixel, wie in 32 illustriert,
umfasst. Nach dieser Ausgabe wird das Pixel 502 verarbeitet
durch den Subpixel-Eliminierungs-Schaltkreis 500, ein Ausgabe-Pixel 504 wird
erzeugt, welches drei weiße
Subpixel und ein schwarzes Subpixel aufweist. Der Fehler, erzeugt
durch den Subpixel-Eliminierungs-Schaltkreis 500 würde in der
langsam scannenden Richtung fortgepflanzt und würde für die Tatsache verantwortlich
zeichnen, dass ein weißes Subpixel
hinzuaddiert wurde und ein schwarzes Subpixel von dem ursprünglichen
Ausgabe-Pixel 502 abgezogen wurde. Dieser Fehler-Wert würde durch
Pixel 503 repräsentiert.
Mit anderen Worten ist der Wert der Korrektur in dem Fehler, fortgepflanzt
in der langsam-scannenden Richtung proportional zur Anzahl der Subpixel,
welche einen veränderten
Zustand im Vergleich vom ursprünglichen
Ausgabe-Pixel 502 zum
modifizierten Ausgabe-Pixel 504 aufweisen.
-
Während dieser
Prozess der Subpixel-Eliminierung substantiell isolierte Subpixel
eliminiert, tendiert der Subpixel-Eliminierungs-Prozess dazu, viele
Fehler nur in der langsam-scannenden
Richtung aufgrund von verschiedenen Veränderungen im Bitmap weiterzuleiten.
In vielen Fällen
sind jedoch die Bit-Manipulationen die Kombination von Subpixeln,
wobei weiße/schwarze
Subpixel simpel von einem Pixel zu einem benachbarten Pixel bewegt
werden können.
-
Als
ein Beispiel seien zwei benachbarte Pixel betrachtet, vor und nach
Subpixel-Eliminierung in 33 illustriert.
Die Gruppe von ersten und zweiten Ausgabe-Pixeln 5020 umfasst
jeweils zwei schwarze und zwei weiße Subpixel. Nachdem die Gruppe
von zwei Ausgabe-Pixeln 5020 durch den Subpixel-Eliminierungs-Schaltkreis 500 verarbeitet
worden ist, wird ein zweites Pixel einer Gruppe an Ausgabe-Pixeln 5040 in nur
weiße
Subpixeln verändert
(4 weiße
Subpixel) und ein erstes Pixel der Gruppe der Ausgabe-Pixel 5040 wird
in nur schwarze Subpixel verändert
(4 schwarze Subpixel). In diesem Fall werden die beiden schwarzen Subpixel
aus dem zweiten Pixel der Gruppe 5020 zu dem ersten Pixel
der Gruppe 5040 bewegt, während die beiden weißen Subpixel
von dem ersten Subpixel der Gruppe der Pixel 5020 zum zweiten
Pixel der Gruppe von Pixeln 5040 bewegt werden.
-
Falls
der Subpixel-Eliminierungs-Prozess für jedes individuelle Ausgabe-Pixel
betrachtet wird, würde eine
Fehler-Korrektur für
das Langsam-Scannen assoziiert sein sowohl mit dem ersten Pixel
der Gruppe an Pixeln 5020 und einem zweiten Pixel der Gruppe
von Pixeln 5020. Die Fehler-Korrektur des zweiten Pixels
der Gruppe von Pixeln 5020 wäre gleich in der Größenordnung,
jedoch entgegengesetzt in der Polarität zu derjenigen des ersten
Pixels der Gruppe an Pixeln 5020, da das erste Pixel zwei
Konversionen von Weiß nach Schwarz
und das zweite Pixel zwei Konversionen von Schwarz nach Weiß aufwiesen.
Jedoch, falls die Pixel innerhalb der Gruppe von Pixeln als ein
Paar betrachtet würden,
gibt es vier weiße
und vier schwarze Subpixel in der Gruppe von Pixeln, bevor und nachdem
die Bit-Manipulation durch den Subpixel-Eliminierungs-Schaltkreis 500 durchgeführt würde, und
folglich wäre
für diese
spezielle Situation keine Fehler-Korrektur in der langsam scannenden
Richtung notwendig. Folglich ist es wünschenswert, dass dieser Fehler,
erzeugt vom Subpixel-Eliminierungs-Schaltkreis weiter verarbeitet
werden würde,
um den lokalen Beitrag im Gegensatz zu dem Fehler von jedem individuellen
Pixel zu berücksichtigen.
Solch ein Prozess wird in 34 illustriert.
-
Wie
in 34 illustriert, wird der Fehler erzeugt von dem
Subpixel-Eliminierungs-Schaltkreis 500 in einen Fehler-Lokalisierungs-Schaltkreis 505 gespeist,
welcher den Fehler von zwei benachbarten Pixeln verarbeitet, um
einen lokalisierten Fehler zu erzeugen, welcher in der langsam scannenden
Richtung fortgepflanzt werden soll. In dem Beispiel, wie oben diskutiert,
werden die Fehler-Pixel 5031 und 5030 in den Fehler-Lokalisierungs-Schaltkreis
eingespeist, um die Fehler-Pixel 507 und 506 zu
erzeugen. Es sollte festgehalten werden, dass die Fehler-Pixel 507 und 506 beide
0 sind, da der relative Fehler zwischen den beiden benachbarten Pixeln
0 ist (+2, –2).
-
35 ist
ein Flussdiagramm, welches den gesamten Prozess der lokalisierten
Fehler-Korrekturen
für einen
Subpixel-Eliminierungs-Prozess illustriert. Wie in 35 illustriert,
werden die langsam scannenden Fehler-Korrektur-Aktualisierungen
aufgrund von Manipulationen durch den Subpixel-Eliminierungs-Schaltkreis in
einen Vektor X gespeichert, wobei X(n) die Fehler-Korrektur assoziiert
mit dem n-ten Pixel repräsentiert.
Der Wert von X(n) kann positiv oder negativ sein, wobei eine Polarität Subpixel
repräsentiert,
welche von Weiß nach
Schwarz geschoben wurden und die andere Polarität die entgegengesetzte Verschiebung
von Schwarz nach Weiß repräsentiert.
Ein Wert von 0 repräsentiert,
dass keine Veränderung
in der Anzahl an schwarzen/weißen
Subpixeln aufgetreten ist.
-
Darüber hinaus
illustriert 35, dass ein neuer Satz von
aktualisierten Werten, Y, erzeugt wurde unter Verwendung des logischen
Paarens von X(n)-Werten. Nach diesen Paaren weist der neue Satz
von aktualisierten Werten (Y) die gleiche Summe wie X auf (Σ Y (n) = Σ X (n)),
jedoch einen kleineren absoluten Wert als X, (Σ|Y (n)| ← |X (n)|. Mit anderen Worten
werden die gewünschten
Aktualisierungen, welche Bit-Manipulationen
berücksichtigen,
im Durchschnitt korrekt sein, jedoch wird die Stärke in der Fehler-Korrektur
geringer sein aufgrund einer kleineren Varianz. Der Prozess verwendet,
um X zu paaren zum Erzeugen von Y ist wie folgt.
-
Ursprünglich ist
Y (n) + 1) ein Satz gleich wie X(n + 1). Die Werte Y (n) und Y (n
+ 1) werden dann erzeugt als ein Paar, um den Gesamt-Fehler wie
oben beschrieben, zu bestimmen. Falls Y (n) und Y (n + 1) das gleiche
Zeichen darstellen oder ein Wert 0 ist, bleiben beide Werte unverändert zurück. Falls
jedoch Y(n) und Y (n + 1) von verschiedenen Vorzeichen sind, wird
derjenige, welcher den kleinen absoluten Wert aufweist, von den
beiden zu einem Wert von 0 zugeordnet, wohingegen der andere zur
Summe der beiden ursprüng lichen
Werte zugeordnet wird. Der Wert von Y (n) wird dann verwendet, um
die Langsam-Scann-Fehler-Korrektur aufgrund von Bit-Manipulationen
zu bestimmen. Dies kann klarer gesehen werden unter Verwendung des Beispiels,
illustriert in 35.
-
Wie
in 35 illustriert, nimmt das Beispiel an, dass die
langsam scannende Fehler-Korrektur
benötigt für jedes
Pixel aufgrund von Subpixel-Eliminierung bestimmt wird als X = {–2, 1, –1, 3, –2, 0, 0, –1, –1, 3}.
-
Das
Bestimmen der Werte Y (n) ist Schritt für Schritt in der folgenden
Tabelle gezeigt:
-
-
Der
Ausgabe-Vektor mit der neuen langsam scannenden Fehler-Korrektur,
benötigt
für jedes
Pixel ist Y = {–1,
0, 0, 0, 0, 0, 0, –1,
0, 2}, wie in dem Blockdiagramm von 36 gezeigt.
-
36 ein
Blockdiagramm ist, welches das Beispiel, dargestellt in 35 zeigt.
Genauer gesagt, empfängt
der Subpixel-Eliminierungs-Schaltkreis 500 das eingegebene
Video-Signal einer
Vielzahl von Pixeln und gibt modifizierte Pixel-Bit-Muster aus,
um die isolierten Subpixeln zu eliminieren. Aus diesem Subpixel-Eliminierungs-Prozess
wird die langsam scannende Fehler-Korrektur, benötigt für jedes Pixel aufgrund von
Subpixel-Eliminierung X (5033) erzeugt durch den Subpixel-Eliminierungs-Schaltkreis 500.
Dieser Vektor von Fehler-Werten wird in dem Fehler-Lokalisierungs-Schaltkreis 505 eingespeist,
welcher den Ausgabe-Vektor erzeugt mit der neuen langsam scannenden
Fehler-Korrektur, benötigt
für jedes
Pixel Y (507).
-
Das
Fehler-Profil vor und nach Fehler-Lokalisierung ist in 37 bzw. 38 gezeigt.
Es sollte festgehalten werden, dass X und Y beide sich zu 0 aufsummieren
(die zusammengefasste Korrektur hat sich nicht verändert),
jedoch das Signal-Niveau in Y (seine Varianz) kleiner ist als X.
-
Obwohl
die beschriebene vorliegende Erfindung zwei benachbarte schnell-scannende
Pixel-Fehler-Werte berücksichtigt,
kann man die Konzepte der vorliegenden Erfindung ausweiten, um den
lokalen Fehler über
eine größere Fläche von
Pixeln zu berechnen, um des Weiteren die Größenordnung des Fehlers zu begrenzen,
welcher sich strangabwärts
fortpflanzt. Beispielsweise kann der Prozess drei oder vier benachbarte Fast-Scann-Pixel zusammen
mit einem langsam scannenden Pixel-Fehler-Zähler einschließend zum
Berechnen des Fehlers (berücksichtigen
von irgendeinem langsam scannenden Fehler würde jedoch ein externes Speichern
benötigen).
Dieser Prozess kann auch kombiniert werden mit der Fehler-Umverteilung
wie beschrieben in US-Patent Nr. 5,696,601, wobei der Fehler abgeschnitten
werden kann, um beispielsweise vorbestimmte Werte zu summieren und
neu verteilt werden kann bei der nachfolgenden schnell-scannenden Fehler-Kalkulation,
wodurch die Größenordnung
des Fehlers, welcher sich in der langsam scannenden Richtung propagiert,
limitiert wird.
-
Obwohl
die vorliegende Erfindung beschrieben wurde im Detail oben, können verschiedene
Modifikationen implementiert werden, ohne vom Umfang der vorliegenden
Erfindung abzuweichen. Beispielsweise wurde die bevorzugte Ausführungsform
der vorliegenden Erfindung unter Blick auf ein Drucksystem beschrieben;
jedoch kann dieses Fehler-Diffusions-Verfahren leicht in ein Anzeige-System
implementiert werden. Darüber hinaus
kann das Fehler-Diffusions-Verfahren von hoher Adressierbarkeit
der vorliegenden Erfindung leicht in ein ASIC programmierbares Gatter-Array
implementiert werden oder in Software, wodurch die Platzierung dieses
Prozesses in einen Scanner, ein elektronisches Untersystem, einen
Drucker oder ein Darstellungsgerät
implementiert werden kann.
-
Darüber hinaus
wurden verschiedene Beispiele der vorliegenden Erfindung unter Blick
auf einen Video-Bereich von 0 bis 255 beschrieben. Jedoch ist angedacht
durch die vorliegende Erfindung, dass der Video-Bereich irgendein
geeigneter Bereich sein kann, um die Grau-Stufen der zu verarbeitenden
Pixel zu beschreiben. Darüber
hinaus ist die vorliegende Erfindung leicht anwendbar auf irgendein
erzeugendes System, nicht notwendigerweise ein binäres Ausgabe-Gerät. Es ist
angedacht, dass die Konzepte der vorliegenden Erfindung leicht anwendbar
sind auf einen Vier-Niveau-Ausgabe-Terminal oder mehr.
-
Zu
guter Letzt wurde die vorliegende Erfindung mit Blick auf eine monochrome
bzw. Schwarz/Weiß-Umgebung
beschrieben. Jedoch können
die Konzepte der vorliegenden Erfindung leicht auf eine Farb-Umgebung
angewandt werden. Namentlich kann der Fehler-Diffusions-Prozess
von hoher Adressierbarkeit der vorliegenden Erfindung auf jeden
Farb-Raum-Wert, repräsentierend
ein Farbpixel, angewandt werden.
-
Zusammenfassend
lässt sich
sagen, dass die vorliegende Erfindung einen kombinierten isolierten Subpixel-Eliminierungs-Prozess
mit lokaler Fehler-Kompensation zur Verfügung stellt und ein Fehler-Diffusions-Verfahren
von hoher Adressierbarkeit oder ein Modul, welches ein Bild-verarbeitendes
System ermöglicht, um
ein elektronisches Dokument eines Formates in dasjenige eines anderen
Formates umzuwandeln.