DE69836182T2 - Bildverarbeitungsverfahren und -vorrichtung - Google Patents

Bildverarbeitungsverfahren und -vorrichtung Download PDF

Info

Publication number
DE69836182T2
DE69836182T2 DE69836182T DE69836182T DE69836182T2 DE 69836182 T2 DE69836182 T2 DE 69836182T2 DE 69836182 T DE69836182 T DE 69836182T DE 69836182 T DE69836182 T DE 69836182T DE 69836182 T2 DE69836182 T2 DE 69836182T2
Authority
DE
Germany
Prior art keywords
subpixel
error
pixel
values
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69836182T
Other languages
English (en)
Other versions
DE69836182D1 (de
Inventor
Stuart A. Pittsford Schweid
David J. Marion Metcalfe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of DE69836182D1 publication Critical patent/DE69836182D1/de
Application granted granted Critical
Publication of DE69836182T2 publication Critical patent/DE69836182T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4055Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions

Description

  • 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 1119 zeigt;
  • 21 ein Blockdiagramm ist, welches die Schaltkreis-Implementationen der Prozesse dargestellt in den 1119 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.
  • 17 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 1119 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.
  • Tabelle 1
    Figure 00240001
  • Tabelle 2
    Figure 00250001
  • Tabelle 3
    Figure 00260001
  • 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:
  • Figure 00370001
  • 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.

Claims (8)

  1. Ein Verfahren zum Verarbeiten von Bilddaten umfassend folgende Schritte von: (a) Empfangen eines Pixels aus Bilddaten mit einer ersten Auflösung; (b) Umwandeln des empfangenen Pixels von Bilddaten in eine Vielzahl von Subpixeln, wobei die Vielzahl von Subpixeln eine zweite Auflösung repräsentiert und die zweite Auflösung größer ist als die erste Auflösung; (c) Erstellen eines Schwellenwertes für die Vielzahl von Subpixeln, um eine Gruppe von Subpixel-Werten zu erzeugen für jedes Pixel sowie einen Schwellenwert-Fehler-Wert; (d) Diffundieren des Schwellwert-Fehlers auf benachbarte Pixel, basierend auf einem Satz von Gewichtungs-Koeffizienten; (e) Bestimmen, ob die Gruppe an Subpixel-Werten aus dem Schwellwert-Bildungsprozess ein Muster erzeugt, 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-Modifikations-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.
  2. Das Verfahren, wie in Anspruch 1 beansprucht, umfassend desweiteren die folgenden Schritte von: (i) Diffundieren des kompensierten Subpixel-Modifikations-Fehlers auf benachbarte Pixel, basierend auf einem Satz von Gewichtungsfaktoren, verwandt mit den Gewichtungsfaktoren, verwendet, um den Schwellenwert-Fehler zu diffundieren.
  3. Das Verfahren, wie in Anspruch 2 beansprucht, wobei besagter Schritt (i) den kompensierten Subpixel-Modifikationsfehler auf benachbarte Pixel in der Slowscan-Richtung diffundiert.
  4. Das Verfahren, wie in irgendeinem der vorangegangen Ansprüche beansprucht, wobei besagter Schritt (h) die Unterschritte wie folgt einschließt: (h1) Vergleichen der benachbarten Subpixel-Modifikations-Fehler-Werte; und (h2) Zuordnen des Subpixel-Modifikations-Fehler-Wertes, der den kleineren absoluten Wert aufweist, zu einem Wert von Null und des anderen Subpixel-Modifikations-Fehler-Wertes zu einem Wert, gleich einer Summe der beiden ursprünglichen Subpixel-Modifikations-Fehler-Werte, wenn die beiden verglichenen benachbarten Subpixel-Modifikations-Fehler-Werte von einer unterschiedlichen Polarität sind.
  5. Ein System zum Verarbeiten von Bilddaten, umfassend: ein Mittel zum Umwandeln eines Pixels von Bilddaten mit einer ersten Auflösung in eine Vielzahl von Subpixeln, wobei die Vielzahl von Subpixeln eine zweite Auflösung repräsentiert und die zweite Auflösung höher ist als die erste Auflösung; ein Mittel zum Schwellenwert-Erstellen der Vielzahl von Subpixeln, um eine Gruppe von Subpixelwerten für jedes Pixel zu erzeugen sowie einen Schwellenwert-Fehler-Wert; ein Mittel zum Diffundieren des Schwellenwertfehlers auf benachbarte Pixel, basierend auf einem Satz von Gewichtungskoeffizienten; ein isoliertes Subpixel-Mittel zum Bestimmen, ob die Gruppe an Subpixel-Werten ein Muster ausbildet, enthaltend ein isoliertes Subpixel; ein Modifikations-Mittel zum Modifizieren der Gruppe an Subpixel-Werten, um ein Muster zu erzeugen, ohne ein isoliertes Subpixel, wenn die unmodifizierte Gruppe an Subpixelwerten ein Muster ausbildet, enthaltend ein isoliertes Subpixel; ein Subpixel-Modifikations-Fehler-Mittel zum Erzeugen eines Subpixel-Modifikations-Fehlers für jedes Pixel, basierend auf der Modifikation, durchgeführt durch besagtes Modifikations-Mittel; und ein Kompensations-Mmittel zum Kompensieren des Subpixel- Modifikations-Fehlers, basierend auf einem Subpixel-Modifikations-Fehler von zu mindest einem benachbarten Pixel.
  6. Das System, wie in Anspruch 5 beansprucht, desweiteren umfassend: ein Mittel zum Diffundieren des kompensierten Subpixel-Modifikations-Fehlers auf benachbarte Pixel, basierend auf einem Satz von Gewichtungskoeffizienten, verwandt zu den Gewichtungskoeffizienten, verwendet, um den Schwellenwert-Fehler zu diffundieren.
  7. Das System, wie in Anspruch 5 oder 6 beansprucht, wobei besagtes Mittel zum Diffundieren des Subpixel-Modifikations-Fehlers den Subpixel-Modifikations-Fehler auf benachbarte Pixel in der Slowscan-Richtung diffundiert.
  8. Das System, wie in irgendeinem der Ansprüche 5 bis 7 beansprucht, wobei besagtes Kompensations-Mittel folgendes einschließt: einen Komparator, um benachbarte Subpixel-Fehler-Werte zu vergleichen; und einen logischen Schaltkreis, um den Subpixel-Modifikations-Fehler-Wert, welcher einen kleineren absoluten Wert aufweist, zu einem Wert von Null zuzuordnen und den anderen Subpixel-Modifikations-Fehler-Wert zu einem Wert gleich einer Summe der beiden ursprünglichen Subpixel-Modifikations-Fehler-Werte, wenn die beiden verglichenen benachbarten Subpixel-Modifikations-Fehler-Werte von einer unterschiedlichen Polarität sind.
DE69836182T 1997-09-23 1998-09-14 Bildverarbeitungsverfahren und -vorrichtung Expired - Lifetime DE69836182T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5961297P 1997-09-23 1997-09-23
US59612P 1997-09-23

Publications (2)

Publication Number Publication Date
DE69836182D1 DE69836182D1 (de) 2006-11-30
DE69836182T2 true DE69836182T2 (de) 2007-09-06

Family

ID=22024093

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69836182T Expired - Lifetime DE69836182T2 (de) 1997-09-23 1998-09-14 Bildverarbeitungsverfahren und -vorrichtung

Country Status (4)

Country Link
US (1) US6061143A (de)
EP (1) EP0903933B1 (de)
JP (1) JPH11168628A (de)
DE (1) DE69836182T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353687B1 (en) * 1998-12-18 2002-03-05 Xerox Corporation System and apparatus for single subpixel elimination with local error compensation in an high addressable error diffusion process
US6870643B2 (en) * 2001-01-31 2005-03-22 International Business Machines Corporation Method and system for error diffusion with a plurality of error measures
US6956977B2 (en) * 2001-08-08 2005-10-18 General Electric Company Methods for improving contrast based dynamic range management
WO2004049694A1 (en) * 2002-11-25 2004-06-10 Agfa-Gevaert Method for generating non-printing dots in a screened representation of an image
KR100648657B1 (ko) * 2004-10-11 2006-11-24 삼성전자주식회사 클러스터를 통한 오차 확산장치
US20080247649A1 (en) * 2005-07-07 2008-10-09 Chun Hing Cheng Methods For Silhouette Extraction
CN112861453B (zh) * 2021-02-08 2023-05-12 宁波大学 近似算术逻辑电路的最大绝对输出误差的计算方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4532503A (en) * 1982-11-08 1985-07-30 International Business Machines Corporation Sequence controlled pixel configuration
US5353127A (en) 1993-12-15 1994-10-04 Xerox Corporation Method for quantization gray level pixel data with extended distribution set
US5528384A (en) * 1994-08-03 1996-06-18 Xerox Corporation System and method for implementing fast high addressability error diffusion process
US5608821A (en) * 1994-08-03 1997-03-04 Xerox Corporation Method of high addressability error diffusion

Also Published As

Publication number Publication date
EP0903933B1 (de) 2006-10-18
EP0903933A2 (de) 1999-03-24
US6061143A (en) 2000-05-09
EP0903933A3 (de) 2000-04-05
DE69836182D1 (de) 2006-11-30
JPH11168628A (ja) 1999-06-22

Similar Documents

Publication Publication Date Title
DE69734962T2 (de) Verarbeitung mittels mehrerer räumlicher Kanäle
DE69921388T2 (de) Bildverarbeitungsvorrichtung
DE69333444T2 (de) Bildverarbeitungsvorrichtung
DE3441063C2 (de) Verfahren und Vorrichtung für die Glättung gezackter Grenzlinien zwischen Bildbestandteilen eines Reproduktionsbildes
DE3339002C2 (de) Verfahren und Einrichtung zum Verarbeiten eines Bildsignals
DE3224319C2 (de) Verfahren und Einrichtung zum Bestimmen der Art der Schwärzungsgradpegelverteilung einer Bildfläche
DE3838730A1 (de) Verfahren und vorrichtung zur bildverarbeitung
DE69836171T2 (de) Fehlerdiffusion mit Summen und Differenzbildung
DE69837462T2 (de) System und Verfahren zur dynamischen Auswahl vom Rauschprofil für die Bildverarbeitung mittels hybrider Fehlerdiffusion
DE69631948T2 (de) Bildverarbeitungsgerät und -verfahren
DE3640865C2 (de)
DE69627090T2 (de) Bildverarbeitungsverfahren und -gerät
DE69719859T2 (de) Bildverarbeitungsverfahren
DE3935067C2 (de)
DE69819608T2 (de) Mehrpegelige Halbtonrasterung mit Rändern verringerter Textur und Deckungssteuerung
DE60127745T2 (de) Verfahren und Vorrichtung für Wiedergabe der Gradation von Bildern mit kontinuierlichen Tönen
DE69631812T2 (de) System und Verfahren für ein hochadressierbares Drucksystem
EP0178547B1 (de) Verfahren zur Darstellung eines Halbtonbildes unter Verwendung eines detektionsangepassten Rasters
DE69731258T2 (de) Randverbesserte Fehlerdiffusion
DE4012364C2 (de)
DE69738149T2 (de) Punktzuwachskompensation
DE3438496C2 (de)
DE69631636T2 (de) Verfahren zur perspektivischen Projektionsumsetzung
DE69836182T2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE3816780A1 (de) Verfahren und einrichtung zur bildverarbeitung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition