DE69515782T2 - Verbessertes Verfahren und Gerät zur Erzeugung von Zittermatrizen zur Herabsetzung von Artefakten in Halbtonbilddaten unter Verwendung von Tintenverminderungsverarbeitung - Google Patents
Verbessertes Verfahren und Gerät zur Erzeugung von Zittermatrizen zur Herabsetzung von Artefakten in Halbtonbilddaten unter Verwendung von TintenverminderungsverarbeitungInfo
- Publication number
- DE69515782T2 DE69515782T2 DE69515782T DE69515782T DE69515782T2 DE 69515782 T2 DE69515782 T2 DE 69515782T2 DE 69515782 T DE69515782 T DE 69515782T DE 69515782 T DE69515782 T DE 69515782T DE 69515782 T2 DE69515782 T2 DE 69515782T2
- Authority
- DE
- Germany
- Prior art keywords
- pattern
- value
- binary
- generating
- pixels
- 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
Links
- 238000000034 method Methods 0.000 title claims description 130
- 238000012545 processing Methods 0.000 title claims description 83
- 238000009792 diffusion process Methods 0.000 claims description 53
- 230000008569 process Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 17
- 238000012937 correction Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000003384 imaging method Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 7
- 239000011800 void material Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 51
- 238000010586 diagram Methods 0.000 description 18
- 238000013139 quantization Methods 0.000 description 8
- 238000003491 array Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- WYTGDNHDOZPMIW-RCBQFDQVSA-N alstonine Natural products C1=CC2=C3C=CC=CC3=NC2=C2N1C[C@H]1[C@H](C)OC=C(C(=O)OC)[C@H]1C2 WYTGDNHDOZPMIW-RCBQFDQVSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000265 homogenisation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- NCGICGYLBXGBGN-UHFFFAOYSA-N 3-morpholin-4-yl-1-oxa-3-azonia-2-azanidacyclopent-3-en-5-imine;hydrochloride Chemical compound Cl.[N-]1OC(=N)C=[N+]1N1CCOCC1 NCGICGYLBXGBGN-UHFFFAOYSA-N 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000000149 argon plasma sintering Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000001739 density measurement Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Dot-Matrix Printers And Others (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Particle Formation And Scattering Control In Inkjet Printers (AREA)
Description
- Die vorliegende Erfindung betrifft digitale Bildverarbeitung und insbesondere, jedoch nicht ausschließlich, eine Methode zum Reduzieren der zum Drucken erforderlichen Menge an Tinte und Verarbeitungszeit.
- Die meisten computergetriebenen Druckvorrichtungen, welche Hardcopies an einem Ausgabemedium erzeugen, wie z. B. Laser-, Punktmatrix- und Tintenstrahldrucker, drucken auf eine binäre Art und Weise - das Ausgabemedium ist in ein Feld von Bildelementen oder "Pixel" unterteilt und die Vorrichtungen können entweder einen kleinen farbigen Punkt an jeder Pixelposition drucken oder die Pixelposition leer lassen. Im Falle von Einfarbendruckern werden alle Punkte mit einer einzigen Farbe gedruckt, wohingegen bei Farbdruckern eine Punktfarbe aus einem kleinen Satz von Farben gewählt wird. In jedem Fall weist der Punkt selbst eine einheitliche Farbe auf, so daß die resultierende Ausgabe aus einem Feld von farbigen und leeren Pixeln besteht.
- Bildliche Darstellungen, wie z. B. jene, welche durch photographische Methoden oder durch computerisierte abbildende Systeme erzeugt werden, sind dagegen in ihrer Farbtönung kontinuierlich. Wenn eine derartige Abbildung in Pixel unterteilt wird, weist jedes Pixel eine "Grauskalen"-Farbe vor, deren tonaler Wert innerhalb eines Bereichs von tonalen Werten fällt, um derartige "tonkontinuierliche" Abbildungen durch elektronisches Drucken wiederzugeben, müssen die Abbildungen aus diesem Grunde in eine Form umgewandelt werden, welche zu den Eigenschaften der Druckvorrichtung paßt, im allgemeinen in ein Binärformat. Dieser Umwandlungsprozeß, welcher viele Formen annehmen kann, wird im allgemeinen als "Halbtonisieren" ("half toning") bezeichnet. Obwohl ein Halbtonbild tatsächlich lediglich aus einem räumlichen Muster von binären Pixeln (farbige oder leere Punkte) besteht, integriert der menschliche Sehapparat dieses Muster, um den Eindruck eines tonkontinuierlichen Bildes zu erzeugen.
- Während des Druckprozesses wird das zu druckende Bild in eine Reihe von Pixeln unterteilt und der Wert des Bildes in jedem Pixel wird quantisiert, um ein multi-Bit-digitales Wort zu erzeugen, welches den tonalen Wert des Pixels repräsentiert. Das Bild wird somit in einen Strom von digitalen Wörtern umgewandelt, welche an die Druckvorrichtung geliefert werden. Um das Format eines jeden Wortes in ein für die Wiedergabe an der digitalen Vorrichtung geeignetes Format umzuwandeln, wird ein Halbtonisieren an dem digitalen Wortstrom während eines als "preprocessing" bezeichneten Prozesses durchgeführt. Zahlreiche Halbtonisierungsmethoden wurden über die Jahre entwickelt und verbessert. In ihrer einfachsten Form vergleichen derartige Verfahren den Wert eines digitalen Wortes mit einem Schwellenniveau und erzeugen einen binären Ausgabepixelwert abhängig von den relativen Werten.
- Beispielsweise könnte ein digitaler Scanner, welcher ein tonkontinuierliches Bild verarbeitet, einen Strom von Multi-Bit-Worten erzeugen, welche die erfaßten Lichtintensitäten repräsentieren. Gewöhnlich reicht der numerische Wert dieser Wörter von 0 bis 255, entsprechend einer 256-Stufen-Grauskala oder einem 8-Bit-Wort. Wenn ein derartiger digitaler Wortstrom an einer binären Druckvorrichtung wiedergegeben werden soll, vergleicht der Halbtonisierungsprozeß die Scanner-Ausgabe-Worte mit entweder einem einzelnen Schwellenwert oder einem Feld von Schwellenwerten, um den erforderlichen binären Ausgabepixelstrom zu erzeugen. In einem derartigen System ist jedes 8-Bit-Scannerwort effektiv in ein Einzelbit-Ausgabewort komprimiert worden.
- Natürlich erzeugt eine derartige Komprimierung einen bedeutenden Verlust an visueller Information und erzeugt wiederum Verzerrungen in dem wiedergege benen Bild, welche im Originalbild nicht vorhanden sind. Zusätzliche Verfahren wurden deshalb entwickelt, um die visuellen Verzerrungen zu reduzieren, welche durch den Halbtonisierungsprozeß erzeugt werden. Ein als "Fehlerdiffusion" bekannter Ansatz versucht, den "Quantisierungsfehler" (d. h. den Unterschied zwischen dem durch ein Multibit-Wort repräsentierten Eingabewert und dem durch ein Einzelbit- oder zwei Multibit-Worte repräsentierten Ausgabewert) proportional zwischen benachbarten Pixeln zu "diffundieren".
- Diese Diffusion wird durchgeführt durch Addieren eines Teils des Quantisierungsfehlers zu den Eingabewerten des nächsten Pixels in der Verarbeitungszeile sowie zu benachbarten Pixeln in der folgenden Zeile bzw. den folgenden Zeilen. Der Quantisierungsfehler wird vor dem Verarbeiten zu den Pixelwerten addiert, so daß der Quantisierungsfehler über mehrere Pixel "verteilt" wird.
- Gemäß einer Ausführungsform des Fehlerdiffusionsprozesses werden die durch die Eingabewörter repräsentierten Eingabepixel in "Raster"-Reihenfolge verarbeitet (Zeile für Zeile, wobei jede Zeile von links nach rechts verarbeitet wird, bevor die nächst untere Zeile verarbeitet wird). Der Fehlerdiffusionsprozeß erzeugt, im allgemeinen mit einer Verarbeitungsreihenfolge von links nach rechts, eine exzellente Bildwiedergabe, erzeugt jedoch ebenso wohlbekannte Artefakte, die als "Würmer" und "Schneepflügen" bezeichnet werden und welche die Bildqualität herabsetzen. Die "Würmer" erscheinen als gekrümmte oder gerade diagonale Linien in Bereichen von gleichmäßigem Grau und erzeugen eine gemusterte Erscheinung in dem halbtonisierten Bild. Folglich wurden verschiedene Methoden verwendet, um diese Arten von Artefakt- Mustern zu reduzieren bzw. zu beseitigen.
- Einige dieser bekannten Methoden, welche beispielsweise in dem US-Patent Nr. 4955065, der japanischen Patentoffenlegungsschrift Hei 4-37256/92 und der japanischen Patentoffenlegungsschrift Hei 4-51773/92 beschrieben sind, verändern die Verarbeitungsfolge von dem herkömmlichen Raster-Abtastmuster (wo die Pixel in jeder Zeile des Bildes von links nach rechts verarbeitet werden und die Zeilen in einer Reihenfolge von oben nach unten verarbeitet werden) zu einem Serpentinen-Abtastmuster, wo die Pixelzeilen weiterhin von oben nach unten verarbeitet werden, aber abwechselnde Pixelzeilen in entgegengesetzten Richtungen verarbeitet werden. Diese Methode reorientiert die Würmer derart, daß sie als horizontale Linien in gleichmäßig grauen Bereichen des Bildes erscheinen und somit weniger auffällig sind; jedoch sind sie immer noch im selben Ausmaß vorhanden, als wenn die herkömmliche Raster- Abtastung verwendet wird.
- Ein weiteres bekanntes Verfahren, beschrieben in der japanischen Patentoffenlegungsschrift Hei 3-151762/91, zum Minimieren der Erscheinung von Würmern verändert ebenso die Verarbeitungsfolge von dem herkömmlichen Rastermuster. Gemäß einer Ausführungsform wird die Verarbeitungsrichtung für jede Bildzeile nach Maßgabe der Ausgabe eines Zufallszahlenerzeugers oder Rauschmustererzeugers ausgewählt, welcher derart quantisiert ist, daß er einen Strom von "1en" und "0en" hervorbringt. Die Pixelverarbeitung für jede Zeile wird deshalb in einem Zufallsmuster von links nach rechts (in Antwort auf eine "1") oder von rechts nach links (in Antwort auf eine "0") durchgeführt. Gemäß einer weiteren bekannten Ausführungsform werden die Pixel in Bildzeilen in vorbestimmten periodischen Mustern von links nach rechts und von rechts nach links verarbeitet, z. B. zwei Abtastungen von links nach rechts, gefolgt von zwei Abtastungen von rechts nach links, usw. Während diese früheren Verarbeitungsreihenfolgemethoden die Größe der Würmer reduzieren, sind die Würmer in dem halbtonisierten Bild immer noch sichtbar.
- Ein weiteres dem Fehlerdiffusionsverfahren innewohnendes Problem ist die große Anzahl an Rechenvorgängen, welche notwendig sind, um ein Bild zu verarbeiten. Da einige Rechenvorgänge, einschließlich Multiplikationen, an jedem verarbeiteten Pixel durchgeführt werden müssen, können Millionen von Rechenvorgängen notwendig sein, um die endgültigen Ausgabewerte für ein typisches Bild mit hoher Auflösung zu erzeugen. Zusätzlich ist es notwendig, wenigstens eine Zeile von Fehlerwerten zu speichern, welche auf die nachfolgende Zeile von Bildwerten angewendet werden sollen. Diese große Anzahl von Rechenschritten und die erforderliche Speicherung kommen derart zusammen, daß sie die Verarbeitungszeit für jedes Bild erhöhen, was in einem herabgesetzten Druckerdurchsatz resultiert.
- Als Folge davon wurden Alternativen zur Fehlerdiffusion entwickelt, um die Anzahl an Rechenvorgängen zu verringern, welche nötig sind, um ein Bild zu verarbeiten. Eine derarige Alternative wird als "geordnetes Dithern" bezeichnet, in welcher ein Feld von vorbestimmten (und im allgemeinen unterschiedlichen) Schwellenwerten - ein "Ditherfeld" - mit dem gleichen Abstand wie die Bildpixel konzeptuell dem Bildpixelfeld überlagert wird. Wenn das Ditherfeld kleiner ist als das Bildfeld, wird das Ditherfeld Seite an Seite wiederholt oder über das Bildfeld "gekachelt", um ein Wiederholungsmuster zu erzeugen. Somit besitzt jedes Pixel zwei Werte, die konzeptuell diesem zugeordnet sind, nämlich den aktuellen Pixel-Tonalwert und den Schwellen Wert der überlagerten Ditherfeldzelle, mit welcher es verglichen wird. Genauso gut können die Werte in dem Ditherfeld zu dem tonalen Wert eines jeden Pixels addiert und der erhöhte Wert mit einer festen Schwelle verglichen werden. In jedem Fall wird nach Maßgabe des Vergleichs ein Ausgabewert erzeugt. Da die Verarbeitung jedes Pixels lediglich einen einfachen Vergleich umfaßt und unabhängig von benachbarten Pixelwerten ist, ist die erforderliche Rechenzeit, um ein gesamtes Bild zu verarbeiten, wesentlich geringer als jene für die Fehlerdiffusion benötigte.
- Jedoch hängt die Qualität des resultierenden verarbeiteten Bildes gänzlich von den für das Ditherfeld gewählten Schwellenwerten ab. Zwei Arten von Ditherfeldern werden üblicherweise verwendet. In einem "Gehäufter-Punkt"- Ditherfeld werden die Schwellenwerte in kleine Gruppen mit nahe beieinander liegenden Werten geordnet. Diese Haufen ahmen "Punkte" von unterschiedlicher Größe nach und erzeugen somit verarbeitete Bilder, welche visuell jenen ähnlich sind, die durch den traditionellen Halbtonschirm erzeugt werden, welcher über viele Jahre hinweg in Photogravurprozessen eingesetzt wurde.
- Beim "Verteilter-Punkt"-Dithern werden große und kleine Schwellenwerte gleichmäßig über das Feld hinweg verteilt. Diese Methode verbessert die druckbare Grauskala ebenso wie die Auflösung. Für Bildwiedergabevorrichtungen, die in der Lage sind, ein einzelnes isoliertes Pixel deutlich darzustellen, erzeugt das Verteilter-Punkt-Ditherfeld üblicherweise eine bessere Bildqualität als das Gehäufter-Punkt-Ditherfeld; dies liegt daran, daß Verteilter- Punkt-Felder eine bessere Hochfrequenzwiedergabetreue erreichen und einen besseren Eindruck eines kontinuierlichen Graubereichs erzeugen als dies Gehäufter-Punkt-Felder der gleichen Auflösung und Periode tun.
- Bei beiden Arten von Feldern bestehen im allgemeinen Einbußen zwischen der Anzahl an diskreten Graustufen, die repräsentiert werden können (welche sich erhöht, wenn sich die Anzahl von Ditherfeldelementen bzw. Zellen erhöht) und der Erscheinung von ärgerlichen geometrischen Mustern bei Niederfrequenz in Bereichen von gleichmäßigem Grau (welche ebenso erscheinen, wenn sich die Anzahl von Ditherfeldelementen erhöht). Ein Erhöhen der Größe des Ditherfeldes neigt ebenso dazu, die Bildauflösung herabzusetzen, da Niederfrequenzwerte verschwinden. Eine Möglichkeit, diese Muster zu reduzieren, während die Auflösung beibehalten wird, ist, die Größe des Ditherfeldes sehr groß zu machen und homogene Muster von Schwellenwerten zu verwenden, wobei aufeinanderfolgende Schwellenwerte Pixel nach einem homogenen, zufälligen Muster "einschalten". Mit Zunahme der Feldgröße wird jedoch das Zuweisen von Schwellenwerten zu den Feldzellen, um das notwendige Muster zu erzeugen, eine nicht triviale Angelegenheit. Dementsprechend wurden verschiedene Schemata entwickelt, um Zufallswertfolgen abzuleiten und dann den Feldzellen zuzuweisen.
- Eine übliche Methode, die verwendet wird, um ein homogenes geordnetes Ditherfeld zu erzeugen, wird als "rekursive Tesselation" bezeichnet. Das Ziel der rekursiven Tesselation ist, jeder der Ditherfeldzellen derart Schwellenwerte zuzuweisen, daß, während jede nachfolgende Zelle numeriert bzw. "eingeschaltet" wird, das zweidimensionale Feld von "Ein-"Zellen so homogen wie möglich angeordnet ist. Somit wird die entsprechende Anordnung von Ausgabebinärpunkten, wenn das Ditherfeld als ein Schwellenfeld in einem Halbtonisierungsprozeß verwendet wird, so homogen wie möglich für jede zu simulierende Graustufe ausgegeben werden.
- Der in der rekursiven Tesselation zum Erzeugen des Schwellenfeldes verwendete Algorithmus basiert auf der Tatsache, daß, wenn eine regelmäßige geometrische Figur bzw. "Kachel" verwendet wird, um das zweidimensionale Feld zu bedecken bzw. mosaikartig zu bedecken (Tesselieren), der Mittelpunkt der Figur und ihre Scheitel als Mittelpunkte für eine Retesselation des Feldes mit neuen Kacheln der gleichen geometrischen Figur dienen können, jedoch in der Größe um eine Zelle kleiner bemessen. Die Mittelpunkte und Scheitel dieser neuen Kacheln wiederum können als Mittelpunkte für eine weitere Retesselation dienen, mit Kacheln, welche wiederum um eine Zelle kleiner sind.
- Gemäß dem Algorithmus der rekursiven Tesselation werden allen Kachelscheiteln in jeder Stufe dieser rekursiven Tesselation Schwellenzahlen zuge wiesen, bevor die nächste Tesselation stattfindet. Der Algorithmus sieht einen Mechanismus zum Lokalisieren einer Familie von Punkten vor, welche genau im Zentrum von Leerräumen liegen, welche zwischen den Scheitelpunkten der Kacheln auftreten. Im wesentlichen werden in den größten "Leerräumen" (voids) bzw. Bereichen, in denen "Ein"-Pixel nicht vorhanden sind, neue Punkte hinzugefügt. Das Verfahren der rekursiven Tesselation und die resultierenden Schwellenfelder sind ausführlich in "Digital Halftoning" von Robert Ulichney beschrieben, gedruckt von MIT Press, Cambridge, Massachusetts und London, England, 1990, Seiten 128-171. Während das Verfahren der rekursiven Tesselation große Ditherfelder erzeugen kann, weisen diese Felder den Nachteil einer starken periodischen Struktur auf, welche den resultierenden Bildern ein unnatürliches Erscheinungsbild verleihen, wenn die Felder in einem herkömmlichen Halbtonisierungsverfahren eingesetzt werden.
- Folglich wurden andere herkömmliche Verfahren entwickelt, um Ditherfelder zu erzeugen und eines dieser herkömmlichen Verfahren wird als "Blaues- Rauschen-Maske" bezeichnet. Im allgemeinen ist "Blaues Rauschen" der Hochfrequenzanteil eines Spektrums von Weißem Rauschen. Das Leistungsspektrum von Blauem Rauschen weist eine abgeschnittene Niederfrequenz auf und ist bis zu irgend einer feinen Hochfrequenzgrenze voll ausgeprägt. Im allgemeinen sind die von einer Blaues-Rauschen-Maske erzeugten Punktmuster aperiodisch und radial symmetrisch und diese Muster erzeugen eine aperiodische unkorrelierte Ditherfeldstruktur ohne Niederfrequenzkörnigkeit. Die Wahl einer Blaues-Rauschen-Maske entstand aus Studien der Frequenzen, welche in Punktmustern vorhanden sind, die durch den zuvor beschriebenen Fehlerdiffusionsprozeß erzeugt wurden. Wenn diese Punktmuster in ein Leistungsspektrum von Leistung gegen Frequenz umgewandelt werden, ist zu sehen, daß das Leistungsspektrum einen Niederfrequenzabschneidepunkt aufweist, welcher im Frequenzbereich von blauem Licht auftritt, daher der Name "Blaues Rauschen".
- Die Gestalt des Leistungsspektrums kann verwendet werden, um Ditherfelder durch Untersuchen von Punktmustern, welche Leistungsspektren von Blauem Rauschen erzeugen, sowie durch Erzeugen von Ditherfeldern von diesen Punktmustern aufzubauen. Die resultierenden Felder erzeugen eine Ausgabe von hoher Qualität, jedoch erzeugen die Umwandlungen zwischen der Frequenz und den räumlichen Domänen, welche nötig sind, um die Felder abzuleiten, einen komplizierten Algorithmus zum Erzeugen der Ditherfelder. Blaues-Rauschen-Masken werden ausführlicher in "Digital Halftoning Using A Blue Noise Mask", T. Mitsa und K. Parker, Proceedings SPIE, Image Processing Algorithms And Techniques II, v. 1452, Seiten 47-56, 21. Februar - 01. März 1991, beschrieben.
- Eine weitere herkömmliche Methode zum Erzeugen eines großen, homogenen Ditherfeldes wird als das "Leerraum-und-Haufen-Verfahren" bezeichnet. Wiederum ist das Ziel dieses letztgenannten Verfahrens, eine homogene Verteilung von 1en und Den durch Starten mit einem Anfangsmuster und Entfernen von Pixeln vom Zentrum der dichtesten "Haufen" und durch Einfügen dieser in die größten "Leerräume" zu erzeugen. Das Leerraum-und- Haufen-Verfahren wird ausführlich in "The Void-and-Cluster Method For Dither Array Generation", Robert Ulichney, IS&T/SPIE Symposium on Electronic Imaging Science and Technology, San Jose, Kalifornien, 3. Februar 1993 und "Filter Design For Void-and-Cluster Dither Arrays", Robert Ulichney, Society for Information Display International Symposium, San Jose, Kalifornien, 14.- 16. Juni 1994 beschrieben.
- Entsprechend den vorgenannten Artikeln, wird insbesondere das Anfangsmuster, welches verwendet wird, um die Ditherfelder zu erzeugen, als "Prototypenbinärmuster" bezeichnet und die Ausdrücke "Haufen" und "Leerraum" werden definiert durch die Ausdrücke "Minoritätspixel" und "Majoritätspixel". Wenn weniger als die Hälfte der Pixel in dem Prototypenbinärmuster von einer bestimmten Art sind (entweder "1en" oder "0en"), werden sie als Minoritätspixel bezeichnet und die andere Art von Pixel wird als ein Majoritätspixel bezeichnet. Werden diese Definitionen von Minoritäts- und Majoritätspixeln verwendet, beziehen sich die Ausdrücke "Haufen" und "Leerraum" auf die Anordnung von Minoritätspixeln auf einem Hintergrund von Majoritätspixeln. Insbesondere ist ein "Leerraum" ein großer Zwischenraum zwischen Minoritätspixeln und ein "Haufen" ist eine dichte Gruppierung von Minoritätspixeln. Während der Verarbeitung des Prototypenbinärmusters werden stets Minoritätspixel dem Zentrum der größten Leerräume hinzugefügt und von dem Zentrum der dichtesten Haufen entfernt (oder durch ein Majoritätspixel ersetzt), um das Muster zu homogenisieren.
- Das Leerraum-und-Haufen-Verfahren besteht aus drei unterschiedlichen Schritten:
- (A) Erzeugen des Prototypenbinärmusters;
- (B) "Homogenisieren" des Prototypenbinärmusters durch Entfernen von Pixeln von den Haufen und Zuweisen dieser zu den Leerräumen, um ein homogenisiertes Anfangsbinärmuster zu erzeugen; sowie
- (C) Zuweisen von Ditherfeldschwellenzahlen zu dem resultierenden homogenisierten Anfangsbinärmuster.
- Genauer gesagt, wird das Prototypenbinärmuster unter Verwendung einer beliebigen zweckmäßigen Methode erzeugt, welche ein Eingabemuster erzeugt, in dem nicht mehr als die Hälfte der Pixel "1en" und der Rest "0en" sind. Beispielsweise wird ein Weißes-Rauschen-Muster als das Prototypenbinärmuster dienen.
- Der nächste Schritt in dem Verfahren ist das Finden der "Leerräume" und der "Haufen", so daß Pixel zwischen den Leerräumen und Haufen bewegt werden können. Leerräume und Haufen werden vermittels eines Filters lokalisiert, welches die benachbarten Pixel untersucht, welche an jedes gerade verarbeitete Pixel angrenzen. Insbesondere berücksichtigt ein Leerraum findendes Filter die Nachbarschaftspixel um jedes Majoritätspixel in dem Prototypenbinärmuster herum und ein Haufen findendes Filter betrachtet die Nachbarschaftspixel um jedes Minoritätspixel herum. In den zuvor erwähnten Artikeln wird ein zweidimensionales Gauss-Filter, welches durch die Funktion:
- repräsentiert wird, verwendet, um Leerräume und Haufen aufzufinden. Während dieser Verarbeitung werden die Werte in dem Feld wiederholt verarbeitet und ein einzelnes Pixel kann mehrere Male von einem Haufen zu einem Leerraum bewegt werden. Diese Verarbeitung wird iterativ durchgeführt, bis die Leerräume aufhören, kleiner zu werden und die Haufen aufhören, loser zu werden. Die Verarbeitung wird als vollendet erachtet, wenn das Entfernen der "1" vom dichtesten Haufen in dem Muster den größten Leerraum erzeugt. Das resultierende homogenisierte Muster wird als Anfangsbinärmuster bezeichnet.
- Gemäß dem dritten Schritt des Verfahrens wird das Ditherfeld von dem Anfangsbinärmuster durch Zuweisen von Schwellenwerten zu dem Ditherfeld unter Verwendung des Anfangsbinärmusters errichtet. Beim Durchführen dieses Schrittes werden das Anfangsbinärmuster und das Ditherfeld in drei Phasen gemäß einem vorbestimmten Algorithmus parallel manipuliert. Schwellenwerte werden den Ditherfeldzellen nach Maßgabe des "Rang"-Wertes der "1en" in dem Anfangsbinärmuster zugewiesen. Insbesondere in Phase I wird ein Minoritätspixel oder "1" gleichzeitig von dem Anfangsbinärmuster entfernt, während parallel dazu der Rang oder die Zahl von in dem Anfangsbinärmuster verbleibenden Pixeln in das Ditherfeld an die Position entsprechend der Position der entfernten "1" eingegeben wird. In jedem Fall ist das Minoritätspixel, welches entfernt wird, das Pixel in dem Zentrum des dichtesten Haufens.
- In der zweiten Phase (Phase II) wird das Anfangsbinärmuster wiederum als Ausgangsbasis verwendet und ein Minoritätspixel (oder "1") wird zu einer Zeit in das Anfangsbinärmuster eingefügt, während parallel dazu sein Rang in das Ditherfeld eingegeben wird. In jedem Fall wird mit dem Minoritätspixel, welches eingefügt wird, an der Position einer "0" verfahren, welche als das Zentrum des größten Leerraums identifiziert ist.
- Schließlich wird in Phase III das in Phase II durch Hinzufügen von "1en" erzeugte Anfangsbinärmuster als Ausgangspunkt verwendet. In Phase III wird die Bedeutung von "Minoritätspixel" von "1" zu "0" umgekehrt, da in dem Anfangsbinärmuster mehr 1en als Den existieren, aufgrund der "1en", die in Phase II hinzugefügt wurden. Das Anfangsbinärmuster wird nun mit immer mehr 1en gefüllt, während das Ditherfeld weiterhin mit den Rang-Werten gefüllt wird. In jedem Schritt wird eine "1" in die "0"-Position eingefügt, welche in dem dichtesten Haufen von Minoritätspixeln identifiziert wurde. Am Ende der Phase III ist das Anfangsbinärmuster nur mit 1en gefüllt und das Ditherfeld ist mit einem einzigartigen Rang-Wert in jedem Element von 0 bis zu dem Maximum von Pixeln gefüllt.
- Während das Leerraum-und-Haufen-Verfahren ein Ditherfeld erzeugt, daß wiederum halbtonisierte Bilder von hoher Qualität erzeugt, welche im allgemeinen artefaktfrei sind, tritt immer noch eine gewisse tonale Verzerrung auf und das resultierende Bild kann weiter verbessert werden. Alle digitalen Halbtonisierungsmethoden gehen von perfekt viereckigen Pixeln aus, welche den druckbaren Bereich des aufzeichnenden Mediums vollständig bedecken. Wenn dies tatsächlich der Fall wäre, wäre die Drucker-Ausgabedichte direkt proportional zu der Eingabe- (gescanten) Dichte des Originals; der ideale Fall, wie durch die 45º-Linie in Fig. 12 angezeigt, tritt auf, wenn die Ausgabe- Dichte exakt mit der Eingabe-Dichte übereinstimmt. Tatsächlich ist die Antwort von realen elektronischen Druckvorrichtungen typischerweise nicht linear, da derartige Vorrichtungen keine perfekt nebeneinanderliegenden, nicht überlappenden viereckigen Punkte erzeugen; statt dessen tendieren diese dazu, Punkte zu erzeugen, welche eher rund als viereckig sind und welche sich über die Vierecksgrenzen idealer Pixel hinaus erstrecken. Dies ist nötig, um sicherzustellen, daß sich angrenzende Punkte vollständig überlappen, ohne unter verschiedenen Druckbedingungen nicht-farbigen Raum zu hinterlassen (so daß z. B. vollständig farbige Felder durchgehend gedruckt werden, ohne nicht-farbige Lücken). Da diese Punkte größer sind als in dem Halbtonisierungsalgorithmus angenommen wird, folgt ein Auftrag der Drucker- Ausgabedichte (ausgedrückt in einer normalisierten prozentualen Punktfläche) als eine Funktion der Eingabe-Grauskala-Dichte - mit größeren Werten entlang den Achsen entsprechend niedrigeren Dichtewerten, so daß die maximale Dichte im Ursprung auftritt - üblicherweise einer Kurve ähnlich der f(x) (durchgezogene Linie) in Fig. 12; das gedruckte Bild erscheint dementsprechend dunkler als es sollte. Die genaue Form von f(x) wird sowohl durch die Eigenschaften des Druckers als auch des ausgewählten Halbtonisierungsalgorithmus bestimmt.
- Um diesen Effekt auszugleichen, wird die Funktion f(x) mathematisch durch abschnittsweise Dichtemessungen und Regression bestimmt und ebenso wird eine inverse (Übertragungs-) Funktion, f&supmin;¹(x) (punktierte Linie) definiert. Die letztgenannte Funktion versetzt, wenn sie auf die eingehenden Quelldaten angewendet wird, die Wirkungen der Druckerfunktion, was die Daten derart korrigiert, daß das Verarbeiten durch den Halbtonisierungsalgorithmus eine gedruckte Ausgabe erzeugen wird, deren Dichteeigenschaften besser mit denen des Originals übereinstimmen.
- Obwohl diese als "Vorverzerrung" (predistortion) bekannte Methode eine gedruckte Ausgabe erzeugt, welche den unmodifizierten halbtonisierten Bilddaten überlegen ist, erzeugt eine Korrektur zu der idealen linearen Antwort nicht notwendigerweise die visuell wünschenswerteste gedruckte Kopie. Der Grund dafür liegt in den komplexen Wechselwirkungen zwischen dem menschlichen Sehapparat und den Mustern, die durch Halbtonisierungsalgorithmen auf einer Vielfalt von Stufen erzeugt werden. Subjektive Antworten variieren häufig sowohl mit dem verwendeten Halbtonisierungsalgorithmus sowie mit dem Grad an Vorverzerrung. Siehe z. B. Trontelj et al., "Optimal Halftoning Alogrithm Depends on Printing Resolution", SID 92 Digest bei 749 (1992). Die vorliegende Erfindung ist auf ein Verbessern der Vorverzerrung gerichtet, um das visuelle Erscheinungsbild der gedruckten Ausgabe zu verbessern.
- Weiterhin sind eine Druckvorrichtung und -verfahren bekannt, in welchen Multi-Bit-Quelldaten, welche die Dichteveränderungen eines Original- bzw. Quellbildes repräsentieren, durch eine Filterfunktion modifiziert werden. Die gefilterten Daten werden dann durch ein Halbtonisierungsmodul verarbeitet, welches die Daten in ein Raster von Einzelbit-Daten umwandelt, welche zum Übertragen an eine Druckvorrichtung geeignet sind. Anstatt linear den Eingabequelldaten zu entsprechen, spezifizieren die Rasterdaten ein Dichtemuster, welches heller ist als jenes des Quellbildes in den hellen und oberen Mitteltonbereichen, sowie dunkler ist als jenes des Quellbildes in Schatten- und unteren Mitteltonbereichen.
- Darüber hinaus wird das Filter eher auf Parameter angewendet, welche dem Halbtonverarbeitungsalgorithmus zugeordnet sind, als auf die Quelldaten. Beispielsweise kann die Filterfunktion in einem Ditherschema, welches ein Feld von Schwellenwerten verwendet, derart auf diese Werte angewendet werden, daß, wenn die gefilterten Werte invers auf Quelldaten angewendet werden, um das Rastermuster zu erzeugen, dieses Muster gemäß der gewünschten nicht- linearen Ausgabefunktion gewichtet wird. Dieser Ansatz kann beträchtliche Einsparungen in der Verarbeitungslast erzeugen, da ein einzelnes Ditherfeld lediglich einmal modifiziert, jedoch wiederholt auf die Quelldaten angewendet wird. Die Anwendung der Filterfunktion auf jede Zelle, beispielsweise bei Verwendung eines 64 · 64 Ditherfelds, erfordert eine Verarbeitung von 4.096 Datenwerten; im Gegensatz dazu, unter der Annahme einer Abtastdichte von 720 · 720 Punkten pro Zoll für das Quellbild, würde das Anwenden der Filterfunktion auf jeden Quelldatenwert eine Verarbeitung von mehr als 40 Millionen Datenpunkten für jedes 8" · 10"-Dokument erfordern.
- Typischerweise setzen viele digitale Halbtonisierungsmethoden ideal geformte Pixel, wie z. B. viereckige Pixel, voraus, welche den druckbaren Bereich des Aufzeichnungsmediums voll bedecken. Dies ist nötig, um sicherzustellen, daß sich angrenzende Punkte vollständig überlappen, ohne unter einer Vielfalt von Druckbedingungen nicht-farbigen Raum zu hinterlassen (so daß, beispielsweise vollständig farbige Felder durchgehend gedruckt werden, ohne nicht-farbige Lücken). Fig. 6 stellt eine Hardcopy-Ausgabe eines Druckers mit einer Auflösung von 1/dpi dar, wobei dpi Punkte pro Zoll (dots per inch) sind. Wie darin gezeigt, sind ideale Pixel 1001-1004 als "EIN" dargestellt. Es wird angemerkt, daß keine Leerräume zwischen angrenzenden Pixeln bestehen.
- Diese ideal geformten Pixeln sind in Wirklichkeit eine Annäherung. Tatsächliche Pixel werden durch Punkte repräsentiert, welche im allgemeinen eher von kreisförmiger Gestalt sind. Wie einem Durchschnittsfachmann bekannt ist, hängt die Größe oder Radius dieser Punkte von vielen Faktoren ab, einschließlich z. B. dem Druckmechanismus, der Tinte sowie dem Aufzeichnungsblatt.
- Fig. 7 ist ein Beispiel, in dem der Durchmesser eines für das Pixel gedruckten Punktes gleich oder weniger als 1/dpi beträgt. Mit anderen Worten ist der Radius r kleiner als 1/( 2 dpi). Wie dort gezeigt ist, besteht ein Leerraum 1100 zwischen Punkten, welche die Pixel 1001a und 1002a repräsentieren. Dementsprechend wird es Abschnitte mit Leerräumen geben, wenn zwei angrenzende Pixel EIN sind. Dieses Beispiel erzeugt unakzeptable Ergebnisse und somit werden Punkte mit einem Radius ≤ 1/( 2 dpi) vermieden.
- Fig. 8 ist ein weiteres Beispiel, in welchem der Radius eines ein Pixel repräsentierenden Punktes beträgt:
- 1/ 2 dpi ≤ r < 1/dpi
- Wie dort gezeigt ist, existieren keine Leerräume zwischen Punkten angrenzender Pixel, z. B. Pixel 1001c und 1002c. Jedoch überlappen sich die Pixel 1001c und 1002c repräsentierenden Punkte im Bereich 1200. Fig. 9- A und 9-B stellen ein weiteres Beispiel eines ein Pixel repräsentierenden Punktes dar, mit einem Radius von:
- 1/dpi ≤ r ≤ 2/dpi
- Fig. 9-A zeigt aus Gründen der Einfachheit jedes zweite Pixel in jeder zweiten Reihe. Wie darin gezeigt ist, überlappen sich jedes zweite Pixel in der gleichen Reihe, z. B. Pixel 1001d und 1002d (oder Spalte, z. B. Pixel 1002d und 1003d). Die Punkte, welche die Pixel 1001c und 1003c repräsentieren, überlappen sich jedoch nicht. Fig. 9-B stellt jedes Pixel dar. Wie darin gezeigt, stellt der Punkt, welcher das Pixel 1004d repräsentiert, redundante Information bereit, da die Punkte, welche die Pixel 1001d und 1002d repräsentieren, den Bereich des Pixels 1004d belegen. Als solches ist Tinte unnötig, welche verwendet wird, um das Pixel 1004d zu drucken. Darüber hinaus werden zusätzliche Rechenvorgänge und Druckzeit benötigt, um jedes angrenzende Pixel zu drucken. Typische Werte bei 720 dpi von 1/dpi sind 0,0014 Zoll, r beträgt 0,0015 Zoll und 2/dpi beträgt 0,0020 Zoll.
- Darüber hinaus folgt für Punkte mit dieser Größe ein Auftrag der Druckerausgabedichte (ausgedrückt als normalisierte prozentuale Punktfläche) als eine Funktion von Eingabe-Grauskala-Dichte - mit größeren Werten entlang den Achsen entsprechend geringeren Dichtewerten, so daß die maximale Dichte am Ursprung auftritt - üblicherweise einer Kurve ähnlich der f(x) (gestrichelte Linie) in Fig. 12; das gedruckte Bild erscheint dementsprechend dunkler als es sollte. Zusätzlich würde das Bild, wie durch seine eher rechteckige Gestalt dargestellt, weniger dynamischen Bereich aufweisen. Typischerweise würde der dynamische Bereich etwa die Hälfte betragen. Als solches weist die inverse (Übertragungs-) Funktion, f&supmin;¹(x), (strichpunktierte Linie) ebenso etwa den halben dynamischen Bereich auf.
- Fig. 10-A und 10-B stellen das Beispiel dar, in welchem ein Punkt, welcher ein Pixel repräsentiert, einen Radius aufweist von:
- 2/dpi < r
- Dieses Beispiel ist dem Beispiel in Fig. 9-A und 9-B ähnlich, außer daß sich die Punkte, welche die Pixel 1001e und 1003e repräsentieren (als abwechselnde Diagonalpixel bezeichnet) ebenso überschneiden. Herkömmliche Drucker haben im allgemeinen eine Auflösung von 300 bis 360 dpi, Drucker mit höheren Auflösungen können eine Auflösung von 720 dpi aufweisen. Wie verstanden werden wird, weist Drucken bei 720 dpi etwa die vierfache Auflösung wie 360 dpi auf. Mit anderen Worten enthält eine Druckfläche von einem Quadratzoll bei 720 dpi 720 · 720 oder 518.400 Punkte. Andererseits weist eine Auflösung von 360 dpi 360 · 360 oder 129.600 Punkte auf. Bei aktueller Technologie zum Drucken bei 720 dpi, unter Verwendung herkömmlicher Druckmechanismen, Tinte und/oder Papier beträgt die Punktgröße, die erhalten werden kann, jedoch:
- 1/dpi ≤ r ≤ 2/dpi
- wie in Fig. 9-A und 9-B gezeigt ist. Als solches führt Drucken bei 720 dpi mit dieser Punktgröße zum Drucken redundanter Information und erfordert zusätzliche Rechenvorgänge und Druckzeit.
- Dementsprechend ist es eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung und ein Verfahren zum Verbessern der Auflösung der Halbtonbilder bereitzustellen, welche durch eine binäre Druckvorrichtung erzeugt werden.
- Eine weitere Aufgabe der Erfindung ist es, ein Verfahren und eine Vorrichtung bereitzustellen, welche die Probleme herkömmlicher Drucker überwinden.
- Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Verfahren und eine Vorrichtung anzugeben, welche bei einer hohen Auflösung drucken, während sie weniger Tinte erfordern als verglichen mit herkömmlichen Vorrichtungen und Verfahren.
- Eine zusätzliche Aufgabe der vorliegenden Erfindung ist es, ein Verfahren und eine Vorrichtung anzugeben, welche bei einer hohen Auflösung drucken, während sie weniger Rechenvorgänge erfordern als verglichen mit herkömmlichen Vorrichtungen und Verfahren.
- Noch eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Verfahren und eine Vorrichtung anzugeben, welche eine nicht lineare Vorverzerrungsverarbeitung ohne den Verlust von dynamischem Bereich anwendet.
- Zudem ist es noch eine weitere Aufgabe der Erfindung, ein derartiges Verfahren bereitzustellen, welches relativ einfach entweder in spezialisierter Hardware oder in bestehenden Druckertreibern implementiert werden kann.
- Eine weitere Aufgabe der vorliegenden Erfindung ist es, die tonale Verzerrung zu reduzieren, welche durch Halbtonisieren unter Verwendung eines durch das Leerraum-und-Haufen-Verfahren generierten Ditherfeldes erzeugt wurde.
- Eine zusätzliche Aufgabe der vorliegenden Erfindung ist es, ein geordnetes Verteilter-Punkt-Ditherfeld von willkürlicher Größe zu erzeugen, wobei die Punkte homogen verteilt sind.
- Es ist eine weitere Aufgabe der vorliegenden Erfindung, die tonale Verzerrung zu reduzieren, die durch Halbtonisieren unter Verwendung eines durch das Leerraum-und-Haufen-Verfahren generierten Ditherfeldes erzeugt wurde.
- Es ist noch eine weitere Aufgabe der vorliegenden Erfindung, eine geordnete Verteilter-Punkt-Ditherfeld-Verarbeitungszeit zu erzeugen.
- Andere Aufgaben werden teilweise offensichtlich sein und werden teilweise im folgenden erscheinen.
- Gemäß einem ersten Gesichtspunkt der vorliegenden Erfindung ist vorgesehen: eine Vorrichtung zum Erzeugen eines Ditherfeldes zur Halbtonbilderzeugung eines jeden zweiten Pixels eines Feldes aus n · m Pixeldaten, welche ein Bild repräsentieren, wobei n und m positive ganze Zahlen sind, wobei die Menge aus jedem zweiten Pixel n/2 · m Pixel umfasst, durch eine Ausgabevorrichtung, wobei die Ausgabevorrichtung zum Ausgeben einer ein Bild repräsentierenden Punktematrix dient, wobei jeder der Punkte in bezug auf die ausgegebene Matrix überdimensioniert ist, wobei die Vorrichtung umfaßt: Graumustererzeugungsmittel zum Erzeugen einer Prototypengraumustermatrix umfassend j · k Elemente, wobei j und k jeweils positive ganze Zahlen sind, wobei jedes der j · k Elemente gleiche vorbestimmte Werte umfaßt und wobei jedes einzelne der j · k Elemente in entsprechender Beziehung zu einem jeweiligen einzigen der n/2 · m Pixel steht;
- Fehlerdiffusionsmittel zum Durchführen des Verfahrens der Fehlerdiffusionsbearbeitung an der Prototypengraumustermatrix, um ein Startbinärmuster zu bilden, umfassend j · k Elemente, wobei jedes der j · k Elemente einen ersten Wert oder einen zweiten Wert umfaßt;
- Anfangsbinärmustererzeugungsmittel zum Erzeugen eines Anfangs-binärmusters als Antwort auf das Startbinärmuster;
- Überdimensionierungsanpaßmittel, welche auf das Startbinärmuster reagieren, zum Erzeugen eines Startgraumusters entsprechend den überdimensionierten Punkten;
- Anfangsgraumustererzeugungsmittel zum Erzeugen eines Anfangsgraumusters als Antwort auf das Startgraumuster; und
- Zuweisungsmittel zum Erzeugen des Ditherfeldes entsprechend dem Anfangsbinärmuster und dem Anfangsgraumuster.
- Gemäß einem zweiten Gesichtspunkt der vorliegenden Erfindung ist vorgesehen: ein Verfahren zum Erzeugen eines Ditherfeldes zur Halbtonbilderzeugung eines jeden zweiten Pixels eines Feldes aus n · m Pixeldaten, welche ein Bild repräsentieren, wobei n und m positive ganze Zahlen sind, wobei die Menge aus jedem zweiten Pixel n/2 · m Pixel umfasst, durch eine Ausgabevorrichtung, wobei das Verfahren folgende Schritte umfaßt:
- A. Erzeugen eines Prototypengraumusters umfassend ein zweidimensionales Feld aus j · k Elementen, wobei jedes Element eine Zahl mit einem gemeinsamen, konstanten Wert umfaßt, wobei j und k positive ganze Zahlen sind und wobei jedes einzelne der j · k Elemente in entsprechender Beziehung zu einem jeweiligen einzigen der n/2 · m Pixel steht;
- B. Anwenden des Verfahrens eines Fehlerdiffusionshalbtonprozesses auf das Prototypengraumuster, um ein Startbinärmuster zu erzeugen, umfassend ein zweidimensionales j · k-Feld aus binären Zahlen, wobei jede einen ersten Wert oder einen zweiten Wert besitzt, wobei jedes der j · k Elemente in entsprechender Beziehung mit einem jeweiligen einzigen der n/2 · m Pixel steht;
- C. Erzeugen eines Anfangsbinärmusters als Antwort auf das Startbinärmuster;
- D. Anpassen des Startbinärmusters, um überdimensionierte Punkte auszugleichen, um ein Startgraumuster zu erzeugen;
- E. Erzeugen eines Anfangsgraumusters als Antwort auf das Startbinärmuster; sowie
- F. Erzeugen des Ditherfeldes entsprechend dem Anfangsbinärmuster und dem Anfangsgraumuster.
- Gemäß einem dritten Gesichtspunkt der vorliegenden Erfindung ist vorgesehen: ein Verfahren zum Erzeugen eines Ditherfeldes zur Halbtonbilderzeugung eines jeden zweiten Pixels eines Feldes von n · m Pixeldaten, welche ein Bild repräsentieren, wobei n und m positive ganze Zahlen sind, wobei die Menge aus jedem zweiten Pixel n/2 · m Pixel umfasst, durch eine Druckvorrichtung, wobei das Verfahren umfaßt:
- A. Erzeugen eines Prototypengraumusters umfassend ein zweidimensionales Feld von j · k Elementen, wobei jedes Element eine Zahl mit einem gemeinsamen, konstanten Wert umfaßt, wobei j · k positive ganze Zahlen sind und wobei jedes einzelne der j · k Elemente in entsprechender Beziehung zu einem jeweiligen einzigen der n/2 · m Pixel steht,
- B. Anwenden eines Fehlerdiffusionshalbtonprozesses auf das Prototypengraumuster, um ein Startbinärmuster zu erzeugen, umfassend ein zweidimensionales Feld von Binärzahlen mit einem ersten Wert oder einem zweiten Wert,
- C. Ausfindigmachen von Haufen von Erster-Wert-Binärzahlen und Leerräumen zwischen Erster-Wert-Binärzahlen im Startbinärmuster sowie Homogenisieren des Startbinärmusters, um ein Anfangsbinärmuster durch wiederholtes Bewegen von Erster-Wert-Binärzahlen von den Haufen zu den Leerräumen zu erzeugen, sowie
- D. Anpassen des Startbinärmusters, um überdimensionierte Punkte auszugleichen, um ein Startgraumuster zu erzeugen.
- E. Homogenisieren des Startgraumusters, um ein Anfangsgraumuster zu erzeugen.
- F. Zuweisen von Schwellenzahlen an jede der Binärzahlen in dem Anfangsbinärmuster und dem Anfangsgraumuster, um das verbesserte Ditherfeld zu erzeugen.
- Gemäß einem weiteren Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren und eine Vorrichtung bereitgestellt zum Umwandeln eines tonkontinuierlichen Bildes, repräsentiert als ein Feld von elektronisch codierten n · m Pixeln umfassend n Reihen von m Pixeln, wobei jedes einen Grauskalenwert spezifiziert, in ein für das elektronische Drucken geeignetes binäres Raster. Als solches wird eine Reihe von Pixeln entsprechend einem linearen Segment des Bildes identifiziert. Die identifizierten Pixel umfassen z. B. ungerade der m Pixel an entsprechenden ungeraden der n Reihen von Pixeln sowie gerade der m Pixel an entsprechenden geraden Reihen der n Reihen von Pixeln. Die identifizierten Pixel werden in der Folge entsprechend einer Bewegung entlang der Segments in der vorbestimmten Richtung verarbeitet, um die Pixel in Binärrasterwerte umzuwandeln. Das Identifizieren und Verarbeiten der Pixel wird wiederholt, bis das Bild vollständig verarbeitet worden ist.
- Gemäß einem weiteren Gesichtspunkt der vorliegenden Erfindung umfaßt ein Bildverarbeitungsmittel zum Umwandeln eines tonkontinuierlichen Bildes in ein zum Drucken geeignetes Binärfeld ein Speichermittel zum Speichern eines Feldes von elektronisch codierten n · m Pixel, wobei jedes einen Grauskalenwert repräsentiert. Ein Lesemittel liest jedes zweite Pixel aus dem Speichermittel. Ein Halbtonisierungsmittel ist vorgesehen zum iterativen Verarbeiten von Reihen von von dem Lesemittel gelesenen Pixeln, wobei jedes einem linearen Segment des Bildes entspricht, in einer Folge, welche eine Bewegung entlang des Segments in einer vorbestimmten Richtung repräsentiert, sowie ein davon erzeugter binärer Rest von Werten.
- Gemäß einem weiteren Gesichtspunkt der vorliegenden Erfindung umfaßt ein Drucker zum Drucken eines tonkontinuierlichen Bildes als Muster von einfarbigen Punkten auf einem Druckmedium ein Digitalisierungsmittel, welches auf das tonkontinuierliche Bild anspricht, zum Erzeugen eines Stroms von elektronisch m · n codierten Pixelwerten, wobei jeder eine Grauskala eines Abschnitts des tonkontinuierlichen Bildes repräsentiert. Ein auf den Strom von elektronisch codierten Pixelwerten ansprechendes Speichermittel ist zum Speichern der elektronisch codierten Pixelwerte in einer Mehrzahl von linearen Segmenten vorgesehen, wobei jedes lineare Segment einen Start und ein Ende aufweist und Pixelwerte umfaßt, welche benachbarte Abschnitte des tonkontinuierlichen Bildes repräsentieren. Ein Lesemittel liest jedes zweite elektronisch codierte Pixel aus dem Speichermittel. Ein Halbtonisierungsmittel verarbeitet jeden Pixelwert entsprechend den durch das Lesemittel gelesenen elektronisch codierten Pixeln in jedem der Mehrzahl von linearen Segmenten in einer Start-nach-Ende-Folge und in einer Ende-nach-Start-Folge, um Ausgabeergebnisse zu erzeugen. Ein auf die Ausgabeergebnisse ansprechender Druckmechanismus erzeugt die Muster von einfarbigen Punkten auf dem Druckmedium.
- Gemäß einem zusätzlichen Gesichtspunkt der vorliegenden Erfindung umfaßt ein Computersystem einen Speicher zum Speichern von Daten und Programmen. Eine zentrale Verarbeitungseinheit (CPU - Central Processing Unit), welche auf das in dem Speicher gespeicherte Programm anspricht, ist zum Steuern/Regeln und Koordinieren des Betriebs des Computersystems vorgesehen, und ein auf ein tonkontinuierliches Bild ansprechendes Digitalisierungsmittel erzeugt einen Strom von elektronisch codierten Pixeln, wobei jedes einen Grauskalenwert eines Abschnitts des tonkontinuierlichen Bildes repräsentiert. Ein auf den Strom von elektronisch codierten Pixeln ansprechendes Speichermittel speichert die elektronisch codierten Pixelwerte in einer Mehrzahl von linearen Segmenten, wobei jedes lineare Segment einen Start und ein Ende aufweist und Pixelwerte umfaßt, welche benachbarte Abschnitte des tonkontinuierlichen Bildes repräsentieren. Ein Lesemittel liest jedes zweite Pixel aus dem Speichermittel. Ein Halbtonisierungsmittel verarbeitet jeden Pixelwert entsprechend dem durch das Lesemittel gelesenen elektronisch codierten Pixel in jeder der Mehrzahl von Zeilensegmenten in einer Start-nach- Ende-Folge und einer Ende-nach-Start-Folge, um Ausgabeergebnisse zu erzeugen. Ein auf die Ausgabeergebnisse ansprechender Drucker druckt Muster von einfarbigen Punkten auf ein Druckmedium, um ein Halbtonbild zu erzeugen.
- Gemäß noch einem weiteren Gesichtspunkt der vorliegenden Erfindung sind eine Vorrichtung und ein Verfahren zum Drucken vorgesehen, in welchem die Reihen von Pixeldaten entsprechend einem linearen Segment des Quellbildes erhalten werden. Jedes zweite der erhaltenen Pixeldaten wird ausgewählt. Die ausgewählten Pixeldaten werden gemäß der Filterfunktion gefiltert. Die gefilterten Pixeldaten werden in ein Halbtonmuster verarbeitet, welches, wenn es gedruckt ist, ein Dichtemuster vorweist, welches heller als das Quellbild in hellen und oberen Mitteltonbereichen sowie dunkler als jenes des Quellbildes in Schatten und unteren Mitteltonbereichen ist. Das Halbtonmuster wird auf ein Aufzeichnungsmedium gedruckt.
- Gemäß noch einem weiteren Gesichtspunkt der vorliegenden Erfindung umfaßt ein Drucker eine Quelle von seriell codierten Pixeldaten, welche Dichtestufen repräsentieren, die dem Quellbild zugeordnet sind. Ein Auswahlelement wählt jedes zweite der Pixeldaten aus. Eine Halbton-Maschine verarbeitet die ausgewählten Pixeldaten in ein Rastermuster, welches durch das Dichtemuster entsprechend dem Quellbild, jedoch heller jenes als des Quellbildes in hellen Bereichen und dunkler als jenes des Quellbereiches in Mittelton- und Schattenbereichen repräsentiert wird. Ein Mittel ist vorgesehen zum Auftragen von Tinte oder Toner auf ein Aufzeichnungsmedium gemäß dem Halbtonmuster.
- Das erfindungsgemäße Verfahren kann einfach in die Treibersoftware einer Druckvorrichtung bei relativ geringen Kosten eingebaut oder in spezialisierter Hardware in den Druckanschluß oder den Drucker selbst eingebaut sein. Wenn das erfindungsgemäße Verfahren verwendet wird, können Halbtonbilder von hoher Qualität vermittels einer Fehlerdiffusions-Halbtonisierung mit minimierten wurmartigen Artefakten erzeugt werden.
- Zum besseren Verständnis der Erfindung werden nun zur Erläuterung Ausführungsformen mit Bezugnahme auf die beiliegenden Zeichnungen erläutert werden, wobei gleiche Bezugszeichen die Teile repräsentieren, und von welchen Zeichnungen:
- Fig. 1 ein schematisches Blockdiagramm eines Computersystems ist, beispielsweise eines Personalcomputersystems, auf welchem eine Halbtonisierungsoperation unter Verwendung einer wie durch das erfindungsgemäße Verfahren modifizierten Fehlerdiffusionsmethode ablaufen kann;
- Fig. 2 ein schematisches Blockdiagramm eines Computersystems des Standes der Technik ist, welches die Beziehung eines Anwendungsprogramms, eines Betriebssystems sowie eines Druckertreibers zeigt, in welchem die Halbtonisierungs- oder Vorverarbeitungsoperation durchgeführt wird;
- Fig. 3 eine Verarbeitungsfolge zum Verarbeiten von Pixeln in dem Prototypenbinärmuster unter Verwendung der Fehlerdiffusionsmethode darstellt;
- Fig. 4A eine veranschaulichende Auswahl von proportionalen Koeffizienten darstellt, welche in der Fehlerdiffusionsverarbeitung verwendet werden, wenn Pixel in der Links-nach-rechts-Richtung verarbeitet werden;
- Fig. 4B eine veranschaulichende Auswahl von proportionalen Koeffizienten darstellt, welche in der Fehlerdiffusionsverarbeitung verwendet werden, wenn Pixel in der Rechts-nach-links-Richtung verarbeitet werden;
- Fig. 5 ein schematisches Blockdiagramm einer Fehlerdiffusions-Halbtonisierungsvorrichtung ist, welche die Erzeugung der Verarbeitungsrichtung aus der Zeile sowie den Fehlerpufferinhalten zeigt;
- Fig. 6 ein Diagramm ist, welches eine Gruppe von benachbarten idealen Pixeln darstellt;
- Fig. 7 ein Diagramm ist, welches Pixel darstellt mit einem Radius von r ≤ 1/( 2 dpi);
- Fig. 8 ein Diagramm ist, welches Pixel darstellt, mit einem Radius von 1/dpi 2 ≤ r < 1/dpi
- Fig. 9-A ein Diagramm ist, welches jedes zweite Pixel in jeder zweiten Zeile darstellt, mit einem Radius von 1/dpi ≤ r ≤ 2/dpi
- Fig. 9-B ein Diagramm ist, welches benachbarte Pixel mit einem Radius von 1/dpi ≤ r ≤ 2/dpi darstellt;
- Fig. 10-A ein Diagramm ist, welches jedes zweite Pixel in jeder zweiten Zeile mit einem Radius von 2/dpi < r darstellt;
- Fig. 10-B ein Diagramm ist, welches benachbarte Pixel mit einem Radius von 2/dpi < r darstellt;
- Fig. 11 ein Diagramm ist, welches eine auf jedes zweite Pixel angewandte Fehlerdiffusionsmethode darstellt;
- Fig. 12 graphisch darstellt, wie die Ausgabe von elektronischen Druckern dazu neigt, hinsichtlich der Dichtestufe, von einem tonkontinuier lichen Quellbild abzuweichen, sowie wie diese Abweichung im Stand der Technik korrigiert ist;
- Fig. 13-A und 13-B graphisch die Abweichung einer parametrisierten Familie von Übertragungsfunktionen gemäß der vorliegenden Erfindung sowie die resultierenden Druckerausgaben darstellen;
- Fig. 14-A und 14-B graphisch die Abweichung einer parametrisierten Familie von Übertragungsfunktionen darstellen, welche zur Verwendung mit einem Ditherfeld ausgebildet sind;
- Fig. 15 in Blockdiagrammform eine bevorzugte Hardwareimplementation eines zweiten Gesichtspunkts der vorliegenden Erfindung darstellt;
- Fig. 16 in Blockdiagrammform eine bevorzugte Hardwareimplementation eines dritten Gesichtspunktes der vorliegenden Erfindung darstellt;
- Fig. 17 ein schematisches Diagramm ist, welches jedes zweite Pixel darstellt, welches gemäß einem Gesichtspunkt der vorliegenden Erfindung verarbeitet werden soll;
- Fig. 18 die drei Einstellungsbereiche (α, β und γ) darstellt, welche verwendet werden, um das Anfangsbinärmuster zu korrigieren, um überdimensionierte Punkte zu berücksichtigen;
- Fig. 19A ein veranschaulichendes Prototypenbinärmuster ist, welches unter der Verwendung von Weißem Rauschen erzeugt wurde;
- Fig. 19B ein verbessertes Prototypenbinärmuster ist, welches durch Anwenden einer Haufen-und-Leerraum-Methode auf das Muster in Fig. 19A erzeugt wurde.
- Fig. 20A ein Abschnitt des Anfangsbinärmusters ist, welches mit dem Leerraum-und-Haufen-Verfahren des Standes der Technik erzeugt wurde, wobei die Figur die jeder Feldzelle zugewiesenen Werte darstellt;
- Fig. 20B der gleiche Abschnitt des Anfangsbinärmusters ist, welches mit dem erfindungsgemäßen verbesserten Leerraum-und-Haufen-Verfahren erzeugt wurde, wobei die Figur die angepaßten Werte darstellt, welcher jeder Feldzelle zugeordnet sind;
- Fig. 21 ein veranschaulichendes Flußdiagramm der Schritte ist, die an dem verbesserten Leerraum-und-Haufen-Verfahren beteiligt sind; sowie
- Fig. 22A-C, wenn zusammen angeordnet, ein veranschaulichendes Flußdiagramm der Schritte bilden, welche am Addieren von Schwellenwerten zu dem Ditherfeld gemäß den Grundsätzen der Erfindung beteiligt sind.
- Die Erfindung wird vorzugsweise im Zusammenhang mit einem Betriebssystem ausgeführt, welches auf einem Personalcomputer, wie z. B. dem IBM PS/2 oder Apple Mackintosh Computer vorhanden ist. Eine repräsentative Hardware- Umgebung ist in Fig. 1 dargestellt, welche eine typische Hardware-Konfiguration eines Computers 100 gemäß dem Erfindungsgegenstand darstellt. Der Computer 100 wird durch eine zentrale Verarbeitungseinheit (CPU) 102 gesteuert/geregelt, welche ein herkömmlicher Mikroprozessor sein kann; eine Anzahl von anderen Einheiten, alle über einen Systembus 108 miteinander verbunden, sind vorgesehen, um bestimmte Aufgaben zu erfüllen. Obwohl ein bestimmter Computer lediglich einige der in Fig. 1 dargestellten Einheiten aufweisen kann oder zusätzliche nicht dargestellte Komponenten aufweisen kann, werden die meisten Computer wenigstens die dargestellten Einheiten umfassen.
- Insbesondere umfaßt der in Fig. 1 gezeigte Computer 100 einen Random- Access-Speicher (RAM) 106 für die vorübergehende Speicherung von Information, einen Nur-Lese-Speicher (ROM) 104 zur dauerhaften Speicherung der Konfiguration des Computers sowie von grundlegenden Betriebsbefehlen sowie einen Eingabe/Ausgabe (E/A)-Adapter 110 zum Verbinden von Peripherievorrichtungen, wie z. B. eine Platteneinheit 113 sowie Drucker 114 mit dem Bus 108 über Kabel 115 bzw. 112. Ein Benutzer-Schnittstellen- Adapter 116 ist weiterhin vorgesehen zum Verbinden von Eingabevorrichtungen, wie z. B. eine Tastatur 120, sowie anderen bekannten Schnittstellenvorrichtungen einschließlich Mäusen, Lautsprechern und Mikrophonen mit dem Bus 108. Eine visuelle Ausgabe ist durch einen Anzeige-Adapter 118 vorgesehen, welcher den Bus 108 mit einer Anzeigevorrichtung 122 verbindet, wie z. B. einen Videomonitor. Die Workstation hat darauf resident ein Betriebssystem und ist gesteuert/geregelt und koordiniert durch das Betriebssystem.
- Ein Computersystem wie jenes, welches in Fig. 1 gezeigt ist, umfaßt im allgemeinen eine Druckvorrichtung, welche elektrisch mit dem Computersystem verbunden und durch dieses gesteuert/geregelt ist, um ein dauerhaftes Bild auf einem ausgewählten Medium zu erzeugen. Um ein Dokument zu drucken, welches auf dem Monitor angezeigt wird oder innerhalb des Speichers gespeichert ist, müssen mehrere Aktionen stattfinden. Zuerst, da das Druckmedium im allgemeinen eine festgelegte Größe aufweist, muß die druckbare Information in Stücke unterteilt werden, welche klein genug sind, um auf das ausgewählte Medium zu passen, ein Prozeß, welcher Paginierung genannt wird. Zusätzlich kann es sein, daß die Information von dem Format, in welchem sie sich entweder dargestellt oder gespeichert befindet, in ein Format reformatiert werden muß, welches zum Steuern/Regeln der Druckvorrichtung geeignet ist, um tatsächlich das Drucken auf dem Medium durchzuführen. Das Reformatieren in diesem letztgenannten Schritt kann einen Vorverarbeitungsschritt umfassen, in welchem eine graphische Anzeige durch die oben diskutierten Halbtonisierungsoperationen in die Form umgewandelt wird, welche von der Druckvorrichtung verwendet wird.
- Die Paginierung und Reformatierung, welche nötig sind, um die druckbare Information in eine Form umzuwandeln, welche von einer gegebenen Druckvorrichtung gedruckt werden kann, können durch spezialisierte Hardware durchgeführt werden, werden jedoch im allgemeinen durch Softwareprogramme durchgeführt, welche innerhalb des Computersystems ablaufen. Die Paginierung wird durch entweder ein Anwendungsprogramm, welches die Anfangsausgabe erzeugt hat, oder durch ein Betriebssystem durchgeführt, welches eine Sammlung von Dienstprogrammen ist, die grundlegende Datenmanipulationsfunktionen durchführen. Das Reformatieren, einschließlich der Halbtonisierungsoperationen sind für die Druckvorichtung spezifisch und werden üblicherweise in einem als ein "Treiber" bezeichnetes Softwareprogramm enthalten, welches Teil des Betriebssystems sein kann, jedoch müssen sie spezifisch einer bestimmten Druckvorrichtung zugewiesen sein. Das Treiberprogramm empfängt textuelle und Bild-Informationen von dem Computersystem und führt das Verarbeiten wie oben beschrieben durch, um Signale zu erzeugen, die direkt die Druckvorrichtung steuern/regeln können.
- Beispielsweise ist Fig. 2 eine schematische Darstellung eines typischen Computersystems, welches ein Anwendungsprogramm, ein Betriebssystem sowie einen Druckertreiber verwendet. Das Computersystem ist schematisch durch den gepunkteten Kasten 200 repräsentiert, das Anwendungsprogramm ist durch Kasten 202 und das Betriebssystem durch Kasten 206 repräsentiert. Die Wechselwirkung zwischen dem Anwendungsprogramm 202 und dem Betriebssystem 206 ist schematisch durch Pfeil 204 dargestellt. Dieses duale Programmsystem wird auf vielen Arten von Computersystemen verwendet, welche von Mainframes bis Personalcomputern reichen.
- Das Verfahren zur Handhabung des Druckens jedoch variiert von Computer zu Computer, und im Hinblick darauf repräsentiert Fig. 2 ein typisches Personalcomputersystem des Standes der Technik. Um Druckfunktionen vorzusehen, wechselwirkt das Anwendungsprogramm 202 (wie schematisch durch Pfeil 208 gezeigt) mit der Druckertreibersoftware 210. Die Drucker treibersoftware 210 führt im allgemeinen Halbtonisierungsoperationen aus und kann andere Operationen ausführen, um einen reformatierten Informationsstrom zu erzeugen, welcher eingebettete Befehle und umgewandelte graphische Informationen enthält, wie schematisch als Pfeil 214 gezeigt. Der umgewandelte Informationsstrom wird wiederum an einen Druckeranschluß 212 angelegt, welcher Schaltkreise enthält, die den eingehenden Informationsstrom in elektrische Signale umwandelt. Die Signale wiederum werden über ein Kabel 216 zu dem Drucker 218 gesendet. Drucker 218 enthält üblicherweise eine "Abbildungsmaschine", welche eine Hardware-Vorrichtung oder ein ROM- programmierter Computer ist, welcher den eingehenden Informationsstrom aufnimmt und diesen in die elektrischen Signale umwandelt, welche nötig sind, um die druckenden Elemente anzutreiben. Das Ergebnis ist eine "Hardcopy"- Ausgabe auf dem ausgewählten Medium. Die vorliegende Erfindung und die Vorrichtung, welche den Fehlerdiffusionsprozeß durchführt, kann ebenso in spezialisierte Hardware eingebaut sein, welche in dem Druckeranschluß 212 des Druckers 218 selbst angeordnet ist.
- Wie oben bemerkt, neigt ein Drucker, der bei einer Auflösung von 720 dpi druckt und Punkte mit einem Radius von 1/dpi ≤ r ≤ 2/dpi aufweist, dazu, redundante Information zu drucken. Zurückkehrend zu Fig. 9-B, überlappen sich die Punkte, welche die Pixel 1001d und 1002d repräsentieren, in einem Bereich des Pixels 1004d. Somit ist es nicht notwendig, irgend eine Verarbeitung und ein Drucken bei Pixel 1004d durchzuführen. Somit werden auf jeder Zeile entsprechend der vorliegenden Erfindung lediglich abwechselnde Pixel verarbeitet und gedruckt werden. Beispielsweise, wie in Fig. 17 gezeigt, werden auf den mit ungeraden Zahlen numerierten Zeilen die Pixel in ungeraden Spalten und auf den mit geraden Zahlen numerierten Zeilen lediglich die Pixel in geraden Spalten verarbeitet und gedruckt. (Alternativ werden, wie von einem Durchschnittsfachmann verstanden werden wird, auf den mit ungeraden Zahlen numerierten Zeilen die Pixel in geraden Spalten und auf den mit geraden Zahlen numerierten Zeilen die Pixel in ungeraden Spalten verarbeitet und gedruckt.) Durch derartiges Drucken kann eine Auflösung von 360 · 720 oder 259.200 Pixel für einen Quadratzoll erhalten werden, was die zweifache Auflösung als bei 360 dpi darstellt. Wie oben bemerkt, sind diese Pixel zum Drucken auf einem binären Drucker halbtonisiert verarbeitet. Derartiges Verarbeiten umfaßt beispielsweise Fehlerdiffusion und Dithering, deren Einzelheiten im folgenden beschrieben werden.
- Der Fehlerdiffusionsprozeß selbst ist wohlbekannt und ist beispielsweise ausführlich in "Digital Halftoning" von Robert Ulichney, gedruckt von der MIT Press, Cambridge, Massachusetts und London, England, 1990, auf Seiten 239 bis 319 beschrieben. Während des Fehlerdiffusionsprozesses werden die Pixel, welche das Originalbild umfassen, Zeile für Zeile verarbeitet und in jeder Zeile werden die Pixel in einer einzigen Richtung (von links nach rechts oder rechts nach links) verarbeitet. Ein übliches Zeilenverarbeitungsmuster ist in Fig. 3 gezeigt, wo jede der Pixelzeilen 300, 302, 304, 306 und 308 von links nach rechts verarbeitet wird, dann wird die nächste Zeile von links nach rechts verarbeitet und die folgende Zeile wird von links nach rechts bearbeitet usw., bis das gesamte Bild in der Richtung von oben nach unten verarbeitet ist.
- Fig. 4A stellt die Diffusion des Fehlers, welcher während des Verarbeitens eines jeden Pixels erzeugt wurde, auf die benachbarten Pixel in dem Fall dar, in welchem das Verarbeiten entlang der Zeile in der Richtung von links nach rechts voranschreitet. Insbesondere wird jedes Pixel durch Vergleichen seines Wertes mit einem vorbestimmten Schwellenwert verarbeitet, wobei der Pixel- "Wert" der ursprüngliche Grauskalenwert plus Fehleranpassungen ist, welche aus dem vorherigen Verarbeiten anderer Pixel stammen. Wenn der Wert des Pixels den Schwellenwert überschreitet, wird eine "1" oder ein Punkt ausgegeben. Alternativ wird dann, wenn der Wert des Pixels geringer ist als der Schwellenwert, eine "0" oder kein Punkt ausgegeben. Ein Fehlerwert wird dann durch Subtrahieren des Wertes des Punktes, welcher aktuell ausgegeben wird, von dem Eingabewert bestimmt. Dieser Fehler wird dann zwischen benachbarten, aber unverarbeiteten Pixeln "diffundiert" oder verteilt.
- Dieser "Diffusions"-Prozeß ist in Fig. 4A dargestellt, wo das gerade verarbeitete Pixel als Kasten 400 dargestellt ist. In der dargestellten Anordnung wird der Fehler, welcher aus dem Verarbeiten resultiert, auf das benachbarte Pixel unmittelbar rechts von dem verarbeiteten Pixel 400 (wie durch Pfeil 402 angezeigt) und auf drei benachbarte Pixel auf der nächsten Zeile von Binärmusterpixeln verteilt, wie durch Pfeile 404, 406 und 408 angezeigt ist. Bevor der Fehlerwert zu den benachbarten Pixeln addiert wird, wird er mit einer Proportionalitätskonstante multipliziert. Die Werte dieser Konstanten, q1, q2, q3 und q4, sind derart angeordnet, daß q1 + q2 + q3 + q4 = 1. Beispielsweise können die folgenden Gewichtungen verwendet werden: q1 = 5/16, q2 = 1/16, q3 = 7/16 und q4 = 3/16. Nachdem Pixel 400 verarbeitet worden ist, wird das benachbarte Pixel zur rechten des Pixels 400 verarbeitet durch Addieren des proportionalisierten Fehlerwertes zu dem Pixelwert und Verarbeiten des Pixels auf die gleiche Art und Weise wie Pixel 400. Nachdem jedes Pixel in einer Zeile auf diese Art und Weise verarbeitet worden ist, wird die nächste Zeile in dem Bild auf die gleiche Art und Weise verarbeitet.
- Der Diffusionsprozeß in dem Fall, in welchem das Pixelverarbeiten in der Richtung von rechts nach links stattfindet, ist in Fig. 4b dargestellt, wo das gerade verarbeitete Pixel als Kasten 410 dargestellt ist. In der dargestellten Anordnung wird der aus dem Verarbeiten resultierende Fehler auf das benachbarte Pixel unmittelbar links des verarbeiteten Pixels 410 (wie durch Pfeil 412 dargestellt) und auf drei benachbarte Pixel auf der nächsten Zeile von Binärmusterpixeln verteilt, wie durch Pfeile 414, 416 und 418 dargestellt ist. Bevor der Fehlerwert zu den benachbarten Pixeln addiert wird, wird er ebenso mit einer Proportionalitätskonstante multipliziert. Die Werte dieser Konstanten q1, q2, q3 und q4 sind derart angeordnet, daß q1 + q2 + q3 + q4 = 1. Beispielsweise können die folgenden Gewichtungen verwendet werden: q1 = 5/16, q2 = 1/16, q3 = 7/16 und q4 = 3/16. Nachdem Pixel 410 verarbeitet worden ist, wird das benachbarte Pixel zur Linken des Pixels 410 verarbeitet durch Addieren des proportionalisierten Fehlerwertes zu dem Pixelwert und durch Verarbeiten des Pixels auf die gleiche Art und Weise wie Pixel 410. Nachdem jedes Pixel in einer Zeile auf diese Art und Weise verarbeitet worden ist, wird die nächste Zeile in dem Bild auf dieselbe Art und Weise verarbeitet.
- Im allgemeinen erzeugt der Fehlerdiffusionsprozeß mit einer Links-nach rechts- Verarbeitungsreihenfolge eine exzellente Bildwiedergabe, erzeugt jedoch ebenso wohlbekannte Artefakte, die als "Würmer" und "Schneepflügen" bezeichnet werden und welche die Bildqualität herabsetzen. Die "Würmer" erscheinen als gekrümmte oder gerade diagonale Linien in Bereichen eines einheitlichen Graus und erzeugen ein gemustertes Erscheinungsbild in dem halbtonisierten Bild. Folglich wurden verschiedene Methoden verwendet, um diese Arten von Artefaktmustern zu reduzieren bzw. zu beseitigen.
- Einige dieser bekannten Methoden, beschrieben in dem U. S. Patent Nr. 4,955,065, der japanischen Patentoffenlegungsschrift HEI 4-37256/92 sowie der japanischen Patentoffenlegungsschrift HEI 4-51773/92 verändern die Verarbeitungsfolge von dem herkömmlichen Raster-Abtast-Muster (wo alle Pixel in jeder Zeile des Bildes von links nach rechts verarbeitet werden und die Zeilen in einer Reihenfolge von oben nach unten verarbeitet werden) zu einem Serpentinen-Abtast-Muster, in welchen die Pixelzeilen immer noch von oben nach unten verarbeitet werden, jedoch abwechselnde Pixelzeilen in entgegengesetzten Richtungen verarbeitet werden. Diese Methode versucht, Würmer derart zu reorientieren, daß sie als horizontale Zeilen in einheitlich grauen Flächen des Bildes erscheinen und somit weniger auffällig sind; jedoch sind sie immer noch in demselben Ausmaß vorhanden als wenn die herkömmliche Rasterabtastung verwendet wird.
- Ein weiteres bekanntes Verfahren, beschrieben in der japanischen Patentoffenlegungsschrift HEI 3-151762/91, zum Minimieren der Erscheinung von Würmern verändert ebenso die Verarbeitungsfolge von dem herkömmlichen Rastermuster. Gemäß einer Ausführungsform wird die Verarbeitungsrichtung für jede Bildzeile nach Maßgabe der Ausgabe eines Zufallszahlengenerators oder Rauschmustergenerators ausgewählt, welcher derart quantisiert ist, daß er einen Strom von "1en" und "0en" hervorbringt. Eine Pixelverarbeitung für jede Zeile wird deshalb von links nach rechts (als Antwort auf eine "1") oder von rechts nach links (in Antwort auf eine "0") in einem Zufallsmuster durchgeführt. Gemäß einer weiteren bekannten Ausführungsform werden Pixel in Bildzeilen von links nach rechts und rechts nach links in vorbestimmten periodischen Mustern verarbeitet, z. B. zwei Abtastungen von links nach rechts, gefolgt von zwei Abtastungen von rechts nach links usw. Obwohl diese früheren Verarbeitungsreihenfolgemethoden zwar die Größe der Würmer reduzieren, sind die Würmer in dem halbtonisierten Bild immer noch sichtbar.
- Eine gemeinsam übertragene, gleichzeitig anhängige Patentanmeldung mit der Seriennummer 08/269,708, eingereicht am 01. Juli 1994, beschreibt ein Verfahren und eine Vorrichtung, welche die Verarbeitungsrichtung von Zeile zu Zeile verändert, um das Vorhandensein von wurmartigen Artefakten in einem halbtonisierten Bild zu minimieren. Beim Verwenden dieser Methode wird eine adaptive Verarbeitungsrichtungsmethode verwendet, wobei die Verarbeitungsrichtung jeder Zeile in dem Bild von dem Inhalt des Bildes abhängt. Insbesondere hängt die Verarbeitungsrichtung jeder Zeile in dem Bild von dem Grauskalenwert und/oder dem Quantisierungsfehler ab, welcher einem oder mehreren Pixeln einer zuvor verarbeiteten Zeile in dem Bild zugeordnet ist.
- Bezugnehmend auf Fig. 11 ist die erste Ausführungsform der vorliegenden Erfindung dargestellt. Wie oben angemerkt, wird lediglich jedes zweite Pixel oder abwechselnde Pixel in jeder Reihe durch Fehlerdiffusion verarbeitet. Wie dort gezeigt ist, werden in den mit ungeraden Zahlen numerierten Reihen lediglich die Pixel in ungeraden Spalten und in den mit geraden Zahlen numerierten Reihen lediglich die Pixel in geraden Spalten verarbeitet. Auf diese Pixel wird als die ausgewählten Pixel Bezug genommen werden. Insbesondere wird in dieser Fehlerdiffusionsmethode jedes ausgewählte Pixel durch Vergleichen seines Wertes mit einem vorbestimmten Schwellenwert verarbeitet, wobei der Pixel-"Wert" der ursprüngliche Grauskalenwert ist plus Fehleranpassungen, die aus dem vorherigen Verarbeiten anderer Pixel resultieren. Wenn der Wert des Pixels den Schwellenwert überschreitet, wird eine "1" oder ein Punkt ausgegeben. Alternativ wird dann, wenn der Wert des Pixels geringer ist als der Schwellenwert, eine "0" oder kein Punkt ausgegeben. Ein Fehlerwert wird dann durch Subtrahieren des Wertes des Punktes, welcher aktuell ausgegeben wird, von dem Eingabewert bestimmt. Dieser Fehler wird dann unter benachbarten, aber unverarbeiteten Pixeln "diffundiert" oder verteilt.
- Wie oben diskutiert wurde, kann die Richtung der Fehlerdiffusion durch verschiedene Verfahren bestimmt werden. Fig. 4A und 4B sind veranschaulichende Beispiele der Fehlerdiffusion in den Richtungen von rechts nach links und von links nach rechts.
- Dieser "Diffusions"-Prozeß wird in Fig. 11 dargestellt, wo das gerade verarbeitete Pixel als Pixel 1501 dargestellt ist. Wie oben angemerkt, wird lediglich jedes zweite Pixel verarbeitet. Dementsprechend findet keine Fehlerdiffusionsverarbeitung der nicht ausgewählten Pixel statt. In der dargestellten Anordnung wird der vom Verarbeiten her resultierende Fehler verteilt auf ein benachbartes Pixel 1502 zur Rechten des verarbeiteten Pixels 1501 (wobei das unmittelbar daran angrenzende Pixel übersprungen wird), auf die zwei benachbarten Pixel 1503, 1506 auf der nächsten Zeile von Binärmusterpixeln (wobei das Pixel unmittelbar unter Pixel 1501 übersprungen wird) sowie auf die drei benachbarten Pixel in der folgenden Zeile 1504, 1505, 1507. Bevor der Fehlerwert zu den benachbarten Pixeln hinzuaddiert wird, wird er mit einer Proportionalitätskonstante multipliziert. Die Werte dieser Konstanten q1, q2, q3, q4, q5 und q6 sind derart angeordnet, daß q1 + q2 + q3 + q4 + q5 + q6 = 1. Beispielsweise können die folgenden Gewichtungen verwendet werden: q1 = 7/32, q2 = 8/32, q3 = 1/32, q4 = 5/32, q5 = 8/32 und q6 = 3/32. Obwohl diese Werte zwar bevorzugt sind, könnte ein Durchschnittsfachmann andere brauchbare Werte entwickeln. Nachdem Pixel 1501 verarbeitet worden ist, wird das benachbarte Pixel 1502 zur Rechten des Pixels 1501 verarbeitet durch Addieren des proportionalisierten Fehlerwertes zu dem Pixelwert sowie durch Verarbeiten des Pixels in der gleichen Art und Weise wie Pixel 1501. Nachdem jedes Pixel in einer Zeile auf diese Art und Weise verarbeitet worden ist, wird die nächste Zeile in dem Bild auf die gleiche Art und Weise verarbeitet. Selbstverständlich wird verstanden werden, daß der Fehler auf zusätzliche Zeilen diffundiert werden kann.
- Der Diffusionsprozeß in dem Fall, in dem das Pixelverarbeiten in der Richtung von rechts nach links stattfindet, ist in Fig. 11 dargestellt, wo das Pixel 1601 verarbeitet wird. In der dargestellten Anordnung wird der vom Verarbeiten her resultierende Fehler verteilt auf das benachbarte Pixel 1602 zur Linken des verarbeiteten Pixels 1601, auf die zwei benachbarten Pixel 1603, 1606 auf der nächsten Zeile sowie auf die drei benachbarten Pixel auf der folgenden Zeile 1604, 1605, 1606 von Binärmusterpixlen. Bevor der Fehlerwert zu den benachbarten Pixeln hinzuaddiert wird, wird er ebenso mit einer Proportionalitätskonstante multipliziert. Die Werte dieser Konstanten q1, q2, q3, q4, q5 und q6 sind derart angeordnet, daß q1 + q2 + q3 + q4 + q5 + q6 = 1. Beispielsweise können die folgenden Gewichtungen verwendet werden: q1 = 7/32, q2 = 8/32, q3 = 1/32, q4 = 5/32, q5 = 8/32 und q6 = 3/32. Obwohl diese Werte zwar bevorzugt sind, könnte ein Durchschnittsfachmann andere brauchbare Werte entwickeln. Nachdem Pixel 1601 verarbeitet worden ist, wird das benachbarte Pixel 1602 zur Linken des Pixels 1601 verarbeitet durch Addieren des proportionalisierten Fehlerwertes zu dem Pixelwert sowie durch Verarbeiten des Pixels in der gleichen Art und Weise wie Pixel 1601.
- Es wird nun Bezug genommen auf Fig. 5, welche ein veranschaulichendes schematisches Blockdiagramm ist, das einen Fehlerdiffusionsschaltkreis zeigt, welcher gemäß der Grundsätze der Erfindung modifiziert worden ist. Obwohl das Blockdiagramm in Fig. 5 zwar bevorzugt ist, werden Durchschnitts fachleute, welche diese Beschreibung gelesen haben, erkennen, daß verschiedene Modifikationen und Veränderungen darin ausgeführt werden können.
- Der Fehlerdiffusionsschaltkreis empfängt von einer abbildenden Vorrichtung (nicht dargestellt) auf herkömmliche Art und Weise einen Strom 500 von Grauskalen-Bildpixeln, welche durch digitale Worte repräsentiert sind. Der Strom von Bildpixeln wird seriell in einen herkömmlichen Eingabepuffer 502 eingegeben. Puffer 502 weist im allgemeinen eine ausreichende Größe auf, um eingehende Bildpixelworte für eine gesamte Zeile von Pixeln zu speichern.
- Puffer 502 wird wiederum durch einen Puffersteuer/regelschaltkreis 510 gesteuert/geregelt (wie schematisch durch Pfeil 512 angezeigt), um jeden zweiten gespeicherten Wert bzw. abwechselnd gespeicherte Werte in Zeilenreihenfolge an den Summierschaltkreis 506 sowie an den Arithmetik- bzw. Logikschaltkreis 514 auszugeben. Wie oben bemerkt, werden in der bevorzugten Ausführungsform in den mit ungeraden Zahlen numerierten Zeilen die Pixel in ungeraden Spalten ausgegeben sowie in den mit geraden Zahlen numerierten Zeilen die geraden Pixel in Antwort auf die Puffersteuerung/- regelung 510 ausgegeben. Der Summierschaltkreis 506 wird verwendet, um die "Fehler"-Werte, welche durch das Verarbeiten von vorherigen Pixeln erzeugt wurden zu subtrahieren, wie weiter unten beschrieben werden wird. Der Arithmetik- bzw. Logikschaltkreis 514 wird verwendet, um die Verarbeitungsrichtung zu steuern/regeln, entsprechend irgendeiner der oben beschriebenen Methoden. Insbesondere kann der Puffer 502 unter der Steuerung/Regelung des Puffersteuerungs/regelungsschaltkreises 510 (diese Steuerung/Regelung ist schematisch als Pfeif 512 dargestellt) die gespeicherten Pixeldaten entweder in einer "Links-nach rechts"-Reihenfolge (last-in, first- out) seriell ausgeben oder er kann die gespeicherten Pixeldaten in einer "Rechts-nach links"-Reihenfolge (first-in, first-out) ausgeben.
- Die gespeicherten Eingabedaten, welche an der Ausgabe 504 des Eingabepuffers erzeugt wurden, wird auf den Schwellenschaltkreis 528 über Summierschaltkreis 506 und Linie 508 appliziert. Die Ausgabe des Schwellenschaltkreises 528 ist ein quantisiertes Binärbild (gebildet aus "0en" und "1en"), welches erzeugt wird durch Vergleichen von Pixelwerten < jeder Pixel- "Wert" umfaßt den ursprünglichen Eingabebildwert und "Fehler"-Anpassungen, welche durch den Summierschaltkreis 506 eingeführt wurden) mit einem vorbestimmten, festgelegten Schwellenwert sowie durch Ausgeben einer "1", wenn der Pixelwert größer als die Schwelle ist sowie Ausgeben einer "0", wenn der Pixelwert kleiner als oder gleich dem Schwellenwert ist. Anschaulich kann der Schwellenschaltkreis 528 einen festgelegten Schwellenwert, wie z. B. 0,5 (für einen Grauskalenwertebereich zwischen 0 und 1), verwenden.
- Das durch den Schwellenschaltkreis 528 erzeugte quantisierte binäre Signal wird über Ausgabelinie 532 auf einen zweiten Summierschaltkreis 530 appliziert, welcher das nicht quantisierte Eingabesignal auf Linie 508 von der quantisierten Ausgabe von dem Schwellenschaltkreis 528 auf Linie 532 subtrahiert, um einen Quantisierungsfehlerwert zu erzeugen. Der Quantisierungsfehlerwert wird auf Filterschaltkreis 522 appliziert. Der Filterschaltkreis 522 multipliziert den Fehlerwert mit Proportionalitätskoeffizienten, um die diffundierten Fehlerwerte zu erzeugen, von denen einer zu dem nächsten zu verarbeitenden Pixel durch den Summierschaltkreis 506 addiert wird und von denen der Rest im Speicherpuffer 518 gespeichert wird, um während des Verarbeitens der nächsten und folgenden Zeilen von Pixeln zu Pixeln hinzuaddiert zu werden.
- Fehlerpuffer 518 wird ebenso durch den Puffersteuer/regelschaltkreis 510 gesteuert/geregelt (wie schematisch durch Pfeil 516 angezeigt), um ausgewählte gespeicherte Werte sowohl an den Summierschaltkreis 506 als auch an den Arithmetik- bzw. Logikschaltkreis 514 (über Ausgabelinie 524) auszugeben. Unter der Steuerung/Regelung des Puffersteuer/regelschaltkreises 510 kann der Fehlerpuffer 518 die gespeicherten Pixeldaten entweder in einer "Links-nach rechts"-Reihenfolge (last-in, first-out) seriell ausgeben oder kann die gespeicherten Pixeldaten in einer "Rechts-nach links"-Reihenfolge (first-in, first-out) ausgeben, um die Fehlerdaten mit den Eingabedaten abzugleichen, welche aus dem Eingabepuffer 502 heraus verschoben werden.
- Während des Verarbeitens einer Zeile von Pixeln, steuert/regelt der Puffersteuer/regelschaltkreis 510 sowohl den Eingabepuffer 502 als auch den Fehlerpuffer 518, um einen Eingabepixelwert von Puffer 502 an den Summierschaltkreis 506 sowie einen Fehlerwert vom Fehlerpuffer 518 an den Summierschaltkries 506 sequentiell bereitzustellen. Der Summierschaltkreis stellt dann sequentiell fehlerdiffundierte Werte dem Schwellenschaltkreis 528 bereit, welcher die quantisierte Ausgabe erzeugt. Die Ausgabe des Schwellenschaltkreises 528 wird ebenso dem Ausgabepuffer 534 bereitgestellt, welcher ebenso durch den Puffersteuer/regelschaltkreis 510 gesteuert/geregelt wird. Der Ausgabepuffer 534 kann einen seriellen Strom von binären Pixeln zum Bereitstellen an die Druckvorrichtung an Linie 536 ausgeben.
- Es wird zuerst Bezug genommen auf Fig. 13-A und 13-B, welche die Operation der zweiten Ausführungsform der Erfindung veranschaulichen. Anstatt jedes Pixel zu verarbeiten, wie dies bei herkömmlichen Methoden geschieht, wird lediglich jedes zweite Pixel verarbeitet. Die zu verarbeitenden Pixel werden auf eine wie oben beschriebenen Art und Weise ausgewählt. Zusätzlich benutze ich anstelle des Verarbeitens von Quelldaten gemäß einer Übertragungsfunktion f&supmin;¹(x), welche die in Fig. 12 gezeigte lineare Antwort erzeugt, eine unterschiedliche Art von Funktion g(x), von der eine repräsentative Version in Fig. 13-A erscheint. Diese Funktion modifiziert, wenn auf Quelldaten angewendet, diese derart, daß Halbtonverarbeitung ein Raster erzeugen wird, dessen endgültiges gedrucktes Erscheinungsbild die Variationen des normalisierten Wertes vorweist (100-Prozent- Punktabdeckung), welcher als h(x) = f(g(x)) in Fig. 13-B gezeigt ist (da die Druckerfunktion f(x) nicht mit Quelldaten x arbeitet, sondern mit Daten, welche durch g(x) vorverzerrt worden sind). Insbesondere die hellen und oberen Mitteltonbereiche werden bei einer helleren Dichte gerendert werden als die entsprechenden Bereiche des Quellbildes, während die Schatten- und unteren Mitteltonbereiche bei einer dunkleren Dichte gerendert werden.
- Prozent-Punktabdeckung = 1
- , wobei
- DT = Dichte des gerasterten Bereichs,
- DS = Dichte des durchgehenden Bereichs,
- n = Konstante für die Lichtstreuungseigenschaften von Papier, wobei
- DT und DS relativ zum Papier gemessen werden.
- Geeignete Transformationsfunktionen, um diesen Gesichtspunkt der Erfindung zu implementieren, basieren äußerst zweckmäßig auf der Druckerfunktion f(x), welche, es wird daran erinnert werden, die Grauskala von eingehenden Quelldaten auf die Grauskala bezieht, bei welcher diese aktuell auf dem Drucker gerendert werden. Eine bevorzugte Transformationsfunktion g(x) ist:
- g(x) = N - f(N-x)
- wobei x die Grauskala entsprechend der Helligkeit oder dem Reflexionsvermögen eines Quelldatenpunktes ist, ausgedrückt als ein numerischer Wert; N ist die höchste numerisch ausgedrückte Grauskalendichte, bei welcher die Quelldaten repräsentiert werden (z. B. in einer 8-Bit-Grauskala, N = 255), entsprechend einer Null-Druck-Grauskala; und f ist die Druckerfunktion.
- Es ist ebenso möglich, die Funktion g(x) zu parametrisieren, um eine Familie von Transformationskurven zu erhalten, welche dem Benutzer eine größere Kontrolle über die Ausgabe bieten (d. h. das Erscheinungsbild des endgültigen Bildes entsprechend h(x)). Eine derartige Kontrolle kann nötig sein, um eine visuell optimale Ausgabe über eine Vielfalt von Druckbedingungen, Halbtonverarbeitungsalgorithmen und Bildtypen zu erhalten, vorausgesetzt, man kennt die komplexe Beziehung zwischen tatsächlichen Dichtemustern und der visuellen Wahrnehmung derselben. Vorzugsweise wird die Funktion g(x) parametrisiert unter der Verwendung eines Gewichtungsfaktors w, so daß die Familie von erhältlichen Funktionen lautet:
- g(x) = 2w[N - f(N - x) - x] + x
- wobei 0 ≤ w ≤ 1. Wie in Fig. 13-B gezeigt, ist das Ergebnis eine Familie von Kurven. Kurve c stellt den Fall w = 0,5 dar, so daß h(x) = f (g(x)), wie zuvor diskutiert. Kurve a entspricht w = 1, welches eine Ausgabe h(x) erzeugt, welche der g(x)-Funktion gleichwertig ist; Kurve e entspricht dem entgegengesetzten Fall, in dem w = 0, was eine Ausgabe erzeugt, die einem unmodifizierten f(x) entspricht; und Kurven b und d repräsentieren Fälle dazwischen.
- Eine repräsentative Hardware-Implementation dieses Gesichtspunktes der Erfindung erscheint in Fig. 15. Wie in dieser Figur gezeigt, kommen Multi-Bit- Bilddaten (ankommend, beispielsweise von einem digitalen Scanner, welcher die Dichte eines Quelldokuments in diskreten Schritten und über einen festgelegten Bereich von Grauskalenwerten abtastet) als ein Strom von N-Bit- Werten an und akkumulieren in einem Datenpuffer 20. Jedes zweite Pixeldatum im Datenpuffer 20 wird davon durch den Pixelauswahlschaltkreis 21 ausgelesen. Die ausgewählten Daten werden dann zu einem Filter 22 übertragen, welcher jeden N-Bit-Dichtewert gemäß der oben beschriebenen Transformationsfunktion modifiziert. Eine benutzerbetätigte Anpassungsfunktion 24, welche als ein Schiebeschalter oder eine digital programmierbare Eingabevorrichtung ausgebildet sein kann, auferlegt der Transformationsfilterfunktion einen ausgewählten Wert des Gewichtungsfaktors w, wodurch seine Operation moduliert wird.
- Die modifizierten N-Bit-Bilddaten werden zu einer Halbtonmaschine 26 übertragen, welche die eingehenden Daten in ein Rastermuster von 1-Bit- Elementen gemäß einem geeigneten Halbtonverarbeitungsalgorithmus umwandelt. Die Erfindung wird auf geeignete Art und Weise im Zusammenhang mit einer Vielfalt derartiger Algorithmen, einschließlich globalem Feststufenthresholding (globally fixed-level thresholding), Zwangsdurchschnitts-thresholding (constrained-average thresholding), dynamisches Thresholding (dynamic thresholding), orthographische Tonskalenerzeugung (orthographic tone-scale creation), sogenannte elektronische Rasteralgorithmen, verschiedene Dither-Algorithmen (einschließlich geordneter Dithermethoden, wie z. B. Verteilter-Punkt-Dithern) sowie Fehlerdiffusionsmethoden eingesetzt.
- Die oben beschriebene Form der Filterfunktion, welche an der Druckerfunktion arbeitet, kann nicht mit Druckerfunktionen verwendet werden, welche bezüglich der Filterfunktion symmetrisch sind, da die Anwendung der Filterfunktion nicht die gewünschte S-förmige, asymmetrische Ausgabefunktion h(x) erzeugen würde. Beispielsweise kann die obige Formulierung von g(x) nicht in Verbindung mit Gehäufter-Punkt-Dither-Halbtonalgorithmen verwendet werden, welche zu Druckerfunktionen führen, die bezüglich h(x) symmetrisch sind. Es ist jedoch möglich, alternative mathematische Konstrukte zu verwenden, um die gewünschte Ausgabefunktion zu erzeugen.
- Die Rasterausgabe der Halbtonmaschine 26 wird an einen herkömmlichen elektronischen Drucker 28 geliefert, welcher entsprechend dem Rastermuster Tinte oder Toner auf ein Aufzeichnungsmedium aufträgt.
- Die dritte Ausführungsform der vorliegenden Erfindung, in welcher anstelle der Bilddaten der Halbtonalgorithmus gefiltert wird, kann gemäß der in Fig. 16 dargestellten Hardware-Implementierung ausgeführt werden. In diesem Fall modifiziert ein Halbtonfilter 30 die Halbtonmaschine 26 derart, daß die endgültige Halbtonausgabe gemäß der Funktion g(x) ausgerichtet ist.
- Dieser Gesichtspunkt der Erfindung wird äußerst vorteilhaft auf feldbasierte Halbtonisierungsmethoden angewendet, welche eine vorbestimmte (oder sich langsam verändernde) Reihe von Werten auf eingehende Quelldaten anwenden. Dieser Ansatz ist deshalb von besonderem Nutzen im Zusammenhang mit Dither-Anordnungen. Entsprechend diesem Gesichtspunkt der Erfindung wird jeder Feldwert als eine diskrete Intensitätsstufe behandelt, und eine Filterfunktion wird darauf angewendet, um modifizierte Werte zu erhalten. Da die Feldwerte eher Schwellen repräsentieren (oder in Schwellen übersetzen) als Intensitäten, wird auf die Feldwerte eher die inverse Funktion g&supmin;¹(x) als g(x) angewendet. Die Halbtonisierungsmaschine 26 wendet das gefilterte Ditherfeld wie oben beschrieben auf ausgewählte Pixeldaten an. Wie oben angemerkt, umfassen die ausgewählten Pixeldaten jedes zweite Pixel, welche das Quellbild repräsentieren. Dies kann durch den in Fig. 16 gezeigten Pixelauswahlschaltkreis 21 implementiert sein.
- Die Anwendung dieser Methode ist in den Fig. 14-A und 14-B gezeigt. Da die Dichten von gedruckten Ausgaben der Drucker dem typischen f(x)-Muster folgen, sind die Ditherfeldschwellenwerte, mit welchen die Quelldaten verglichen werden, im allgemeinen derart angeordnet, daß sie eine entgegengesetzte inhärente Ausrichtung f&supmin;¹(x) wiedergeben; auf diese Art und Weise wird die gesamte Ausgabedichte, wenn der Vergleich zwischen Eingabequelldaten und Ditherfeldschwellenwerten durchgeführt wird, ungefähr die gleiche sein wie die Eingabedichte. Um, auf das Dithern folgend, eine endgültige gedruckte Ausgabe zu erhalten welche an dem gewünschten f(g(x))-Muster anhaftet (d. h. Anwendung der zuvor beschriebenen Funktion g(x) auf Eingabequelldaten), sind die Werte in dem Ditherfeld gemäß der inversen Funktion g&supmin;¹(x) = N - f&supmin;¹(N - x) ausgerichtet, um Kurve c in Fig. 14-B zu erzeugen; diese Kurve ist zu der gewünschten Ausgabekurve invers, welcher das endgültige Bild als ein Ergebnis des Thresholdings gegen die invers ausgerichteten Feldwerte entspricht.
- Es ist erneut wünschenswert, eine Einstellung der Transformationsfunktion g&supmin;¹(x) vorzusehen, so daß der Benutzer das Ausmaß der Dichtemodifikation auswählen kann, um bestimmten Bedingungen zu entsprechen. Dies wird durch die Einstellfunktion 24 erreicht, welche erneut die Gewichtung w anwendet, um eine Familie von erhältlichen Transformationsfunktionen zu erhalten:
- g&supmin;¹(x) = x - 2w[x - N + f&supmin;¹(N - x)]
- wobei 0 ≤ w ≤ 1. Repräsentative Kurven gemäß dieser Funktion sind in Fig. 14 dargestellt. Erneut stellt Kurve c den Fall w = 0,5 dar, welcher eine endgültige Ausgabe f(g(x)) erzeugt. Kurve a entspricht w = 0, was keine Dither-Modifikation wiedergibt; Kurve e erzeugt eine endgültige Ausgabe, welche zu der g(x)-Funktion äquivalent ist, entsprechend w = 1; und Kurven b und d repräsentieren Fälle dazwischen.
- Wie oben angemerkt, können die Werte in dem modifizierten Ditherfeld direkt mit den Quelldatenwerten als Halbtonschwellen verglichen werden, welche bestimmen, ob entsprechende Rasterpunkte farbig oder nichtfarbig sein sollen; oder das Ditherfeld kann statt dessen auf einer iterativen Grundlage über diese Werte gekachelt sein, was den Dichtewert eines jeden Quellpixels um den Wert der verwendeten Ditherfeldzelle vor dem Vergleichen mit einer festen Schwelle erhöht.
- Wie oben angemerkt, wird gemäß der vorliegenden Ausführungsform lediglich jedes zweite Pixel verarbeitet. Wie in Fig. 17 gezeigt, werden lediglich die als Δ repräsentierten Pixel verarbeitet. Die anderen Pixel werden nicht verarbeitet noch gedruckt und auf einen Nichtdruckwert gesetzt, beispielsweise null. Wenn ein herkömmlicher Ditherfelderzeugungsprozeß durchgeführt wird, können die Pixel, welche nicht verarbeitet werden sollen, d. h. jene, die auf null gesetzt sind, einen Druckwert annehmen und ein Drucken kann bei diesem Pixel vorkommen. Dies würde die Vorteile umgehen, welche durch die vorliegende Erfindung erhalten werden. Dementsprechend wird vorgeschlagen, den Ditherfelderzeugungsprozeß durch Erhalten eines Ditherfeldes zu modifizieren, dessen Elemente lediglich den zu verarbeitenden Pixeln entsprechen. Wie unten ausführlich beschrieben werden wird, enthalten das Ditherfeld und Zwischenfelder, welche verwendet werden, um das Ditherfeld abzuleiten, lediglich genügend Elemente, um jedem zweiten verarbeiteten Pixel zu entsprechen. Mit anderen Worten werden für ein durch ein p · q Ditherfeld geditherten und von n · m Pixeln repräsentierten Bild lediglich jedes zweite oder n/2 · m Pixel verarbeitet. Dementsprechend enthalten das Ditherfeld und beliebige Zwischenfelder l · k Elemente, in welchem jedes der l · k Elemente in einer entsprechenden Beziehung mit lediglich den n/2 · m Elementen ist. Das Verfahren und die Vorrichtung zum Entwickeln des Ditherfeldes werden nun diskutiert werden.
- Die Ditherfelderzeugung kann in dem in Fig. 1 gezeigten Computersystem stattfinden und wird im allgemeinen "off-line" durchgeführt, bevor die Halbton- Operationen beginnen. Auf diese Art und Weise muß die Druckertreibersoftware 210 während des Verarbeitens des Bildes lediglich den Vergleich der Bilddaten mit den Ditherfeldschwellenwerten durchführen. Fig. 19A zeigt ein typisches Startmuster (als "Prototypenbinärmuster" bezeichnet), welches entsprechend dem Leerraum-und-Haufen-Ditherfeld-Erzeugungsverfahren des Standes der Technik verwendet werden kann. Ein Muster wie jenes in Fig. 19A gezeigte kann beispielsweise erzeugt sein durch Nehmen der Ausgabe eines Weißes-Rauschen-Generators und Quantisieren desselben zu einem Muster von binären "1en" und "0en" durch Vergleichen der Weißes-Rauschen- Werte mit einer festgelegten Schwelle sowie durch Einfügen einer "1", wo der Rauschwert die Schwelle überschreitet, sowie durch Einfügen einer "0", wo der Rauschwert geringer ist als die Schwelle. Das in Fig. 19A gezeigte Muster besteht aus vier identischen Kachelmustern, 300, 302, 304 und 306. Das Prototypenbinärmuster, welches als der Startpunkt des Ditherfeld-Erzeugungsverfahrens des Standes der Technik verwendet wird, würde aus einem dieser Muster bestehen, jedoch werden vier gezeigt, um darzustellen, wie die Muster verwendet werden können, um ein zweidimensionales Bild zu kacheln.
- Wenn das in Fig. 19A gezeigte Prototypenbinärmuster mit dem Leerraum- und-Haufen-Verfahren des Standes der Technik verwendet wird, wird das Muster durch Entfernen von Pixeln von den dichtesten Haufen und Plazieren dieser in den größten Leerräumen direkt homogenisiert. Jedoch wurde herausgefunden, daß die Qualität des ausgegebenen Bildes, welches unter Verwendung des generierten Ditherfeldes erzeugt wurde, auf kritische Art und Weise von dem Startmuster abhängt, welches verwendet wird, um den Prozeß zu beginnen. Ein Muster, wie z. B. das in Fig. 19A gezeigte Muster 300, ist aufgrund des groben Quantisierens nicht derart homogen, um damit zu starten.
- Folglich wird gemäß den Grundsätzen der Erfindung ein homogeneres Muster generiert, bevor eine weitere Homogenisierung durch Entfernen von Pixeln von den dichtesten Haufen und durch Plazieren dieser in den größten Leerräumen durchgeführt wird. Die Generierung dieses homogeneren Startmusters beginnt mit einem Feld, welches mit identischen Grauskalenwerten gefüllt ist. Jeder der Werte repräsentiert einen konstanten Grauton mit einem Wert, welcher geringer ist als eine Hälfte der gesamten Skala. Beispielsweise wäre in einem 8-Bitpro-Pixel-System (mit einem Maximalwert von 255 für jedes Pixel) jedes Element des Feldes mit der gleichen Zahl gefüllt, welche Zahl einen Wert von weniger als 127 aufweist.
- Wenn dann Fehlerdiffusion auf diese konstante Graueingabe (als "Prototypengraumuster" bezeichnet) angewendet wird, wird ein homogeneres erstes Binärmuster 308 erzeugt, wie in Fig. 19B gezeigt ist. Die erhöhte Homogenität führt zu einem noch homogeneren Anfangsbinärmuster, nachdem das Leerraum-und-Haufen-Verarbeiten vollendet worden ist, welches wiederum zu einem besseren Ausgabeergebnis führt. Es ist in Fig. 19B festzuhalten, daß das fehlerdiffundierte Muster immer noch aus vier getrennten Mustern 308, 310, 320 und 322 besteht.
- Der Fehlerdiffusionsprozeß, welcher verwendet wird, um das Prototypengraumuster zu verarbeiten, wird auf jedes zweite Pixel, wie oben beschrieben, angewendet, wie beispielsweise in Fig. 11 gezeigt ist. Dementsprechend wird eine Diskussion der Fehlerdiffusion weggelassen.
- Das Binärmuster (im folgenden als "Startbinärmuster" bezeichnet), welches aus der Anwendung des Fehlerdiffusionsprozesses auf das Prototypengraumuster her resultiert, kann direkt als das Startmuster für den Leerraum- und-Haufen-Verarbeitungs-Homogenisierungsschritt des Standes der Technik verwendet werden. Jedoch wurde herausgefunden, daß verbesserte Ditherfelder erzeugt werden, wenn zusätzliche Korrekturen an dem Startbinärmuster gemacht werden, bevor die Leerraum-und-Haufen-Verarbeitung durchgeführt wird. Gemäß der Grundsätze der Erfindung wird eine weitere Korrektur an dem Startbinärmuster durchgeführt, um "überdimensionierte" Punkte, welche durch Druckvorrichtungen, wie z. B. Tintenstrahl- oder Laserdrucker, erzeugt werden, zu berücksichtigen. Insbesondere geht das herkömmliche Leerraum-und-Haufen-Ditherfeld-Generierungsverfahren davon aus, daß die ausgegebenen Pixel viereckig sind, so daß benachbarte Pixel ohne Überlappung aneinander anstoßen. Diese Pixelgestalt ist in Fig. 6 dargestellt, wo das von dem Leerraum-und-Haufen-Verfahren des Standes der Technik angenommene Pixel als viereckiges Pixel 1003 gezeigt ist. Jedoch erzeugen viele Druckvorrichtungen tatsächlich einen kreisförmigen Punkt, wie z. B. Punkt 1002d, wie in Fig. 9-B gezeigt und oben diskutiert. Dieser Durchmesser des Punktes ist im allgemeinen größer als die Fläche des viereckigen Pixels, so daß Punkte, welche angrenzenden Pixeln entsprechen, einander überlappen werden, um alle weißen Punkte in einem "völlig schwarzen" Bereich zu eliminieren. Wie oben erwähnt, besteht eine ausreichende Überlappung der Punkte 1001d und 1002d, so daß es unnötig ist, das dazwischen angeordnete Pixel 1004d zu verarbeiten oder zu drucken. Dementsprechend ist Punkt 1001d größer als das Pixel, welches er repräsentiert, so daß der Überlappungsbereich in dem Leerraum-und-Haufen-Verfahren nicht berücksichtigt wird. Gemäß der Erfindung müssen, um diesen schattierten Bereich zu berücksichtigen, drei unterschiedliche Überlappungsbereiche betrachtet werden, welche gebildet werden, wenn der überdimensionierte Bereich in Fig. 18 andere Pixel überlappt. Zusätzlich muß das Leerraum-und-Haufen-Verfahren derart eingerichtet sein, daß das Prototypenbinärmuster, das Prototypengraumuster und das Startbinärmuster die gleiche Anzahl an Elementen enthalten wie die Anzahl an Pixeln, welche gedruckt werden. Wenn beispielsweise n · m Pixel existieren, werden lediglich jedes zweite Pixel oder n/2 · m Pixel gedruckt. Deshalb enthalten diese Muster lediglich jene Elemente, welche den n/2 · m Pixeln entsprechen. Dies wird tatsächlich erreicht durch Transponieren des Feldes für diese Muster um beispielsweise 45º, wie in Fig. 18 gezeigt. Zusätzlich ist dort die Gestalt und Position dieser drei unterschiedlichen Gebiete gezeigt.
- Insbesondere zeigt Fig. 18 drei "Ein"-Pixel 600, 602 und 604 sowie die begleitenden Druckerpunkte 606, 608 und 610, welche verwendet werden würden, um die drei Pixelbereiche 600, 602 und 604 zu repräsentieren. Die durch die überdimensionierten Druckerpunkte verursachte Überlappung führt zu drei unterschiedlichen Gebietstypen, welche entweder einzeln oder in Kombination verwendet werden können, um angrenzende Gebiete bezüglich Punktüberlappungen anzupassen. Diese Gebiete werden als die in Fig. 18 gezeigten schattierten Gebiete dargestellt. Beispielsweise wird der erste Flächentyp 612 als ein "α"-Gebiet bezeichnet. Der nächste Gebietstyp ist Gebiet 614, welches als ein "β"-Gebiet bezeichnet wird, und der dritte Gebietstyp (verursacht durch eine Überlappung von zwei Punkten) ist Gebiet 616, welches als "γ"-Gebiet bezeichnet wird. Die Größen der α-, β- und γ- Gebiete sind für jeden bestimmten Druckertyp festgelegt und hängen von dem Druckerpunktradius und der Druckerauflösung ab. Der Punktradius für jeden beliebigen Drucker kann durch Untersuchen der von dem Drucker erzeugten Punkte unter einem Mikroskop bestimmt werden. Wenn einmal der Punktradius bestimmt worden ist, kann ein normalisierter Radius (r&sub0;) unter Verwendung der Formel:
- berechnet werden, wobei "dpi" die "Punkte pro Zoll" (dots per inch)-Auflösung des Druckers ist. Wie oben bemerkt, liegt der Radius der Pixel, auf welche die vorliegende Erfindung gerichtet ist, im allgemeinen im Bereich von 1/dpi ≤ r ≤ 2/dpi. Wenn einmal r&sub0; berechnet worden ist, können die drei Gebiete α, β und γ bestimmt werden entsprechend den folgenden Formeln:
- α = 0,5 · r · sin&supmin;¹(1/r&sub0; 2) + 0,25 · (1-tan(sin&supmin;¹(1/r&sub0; 2))) · 2 - 1 - 0,2
- β = 0,125 · π · r - 0,25 - α
- γ = 0,5 · r · cos&supmin;¹(1/r&sub0;) - 0,5 · r - 1 - β
- Fig. 20A und 20B zeigen, wie Korrekturen an entweder dem Prototypenbinärmuster (dem Weißes-Rauschen-Muster, welches in dem Leerraum-und- Haufen-Verfahren des Standes der Technik verwendet wird) oder dem Startbinärmuster (dem Prototypengraumuster, nachdem die Fehlerdiffusion angewendet worden ist) durchgeführt werden, um überdimensionierte Punkte zu berücksichtigen. Zusätzlich zeigen diese Figuren, daß diese Muster um 45º transponiert worden sind. Fig. 20A zeigt einen Abschnitt des Musters, welcher beispielsweise ein Abschnitt des entweder in Fig. 19A oder 19B gezeigten Musters sein kann, welches unter der Annahme von viereckigen Pixeln erzeugt worden ist. Das Muster umfaßt ein rechteckiges Feld von "1en" und "0en" und der bestimmte in Fig. 20A gezeigte Abschnitt des Feldes besteht aus hauptsächlich "0en" mit drei "1en", welche in Feldelementen 700, 702 und 704 angeordnet sind.
- Fig. 20B zeigt den gleichen Feldabschnitt, welcher aufgrund von Wirkungen der überdimensionierten Punkte korrigiert worden ist. Beispielsweise wurde nun Feldelement 708 in Fig. 20B durch Addieren des Wertes von "β" zu dem ursprünglichen Wert ("0") angepaßt. Die Anpassung ergibt sich aus dem Überlappungsbereich, welcher durch den in Element 710 angeordneten Punkt erzeugt worden ist. Dementsprechend wird dieser Wert von dem ursprünglichen "0"-Wert in dem entsprechenden Element 706 in Fig. 20A geändert. Auf ähnliche Art und Weise werden die Werte in den Feldelementen angepaßt, welche die drei "1en" umgeben, gemäß den Überlappungsbereichen, welche durch die überdimensionierten Punkte, wie in Fig. 20B dargestellt, erzeugt werden. Diese Anpassungen verleihen den umgebenden Elementen "Grauskalen"-Werte und neigen dazu, die Punktmuster weiter zu verfeinern. Aufgrund der addierten Grauskalenwerte wird dieses Muster im folgenden als "Startgraumuster" bezeichnet.
- Gemäß den Grundsätzen der Erfindung werden sowohl das Startbinärmuster (wie in Fig. 19B gezeigt) als auch das Startgraumuster (wie in Fig. 20B gezeigt) dann einer Leerraum-und-Haufen-Verarbeitung unterzogen, um durch Bewegen von Pixeln von Haufen zu Leerräumen ein Anfangsbinärmuster bzw. ein Anfangsgraumuster zu erzeugen. Es wurde herausgefunden, daß die zusätzlichen Anpassungen, wie in Fig. 19B und 20B dargestellt, die Qualität des Ditherfeldes weiter verbessern, welches durch das erfindungsgemäße Leerraum-und-Haufen-Verfahren erzeugt wurde.
- Fig. 21 ist ein veranschaulichendes Flußdiagramm des erfindungsgemäßen Leerraum-und-Haufen-Verfahrens, welches die oben diskutierten Verbes serungen verkörpert. Obwohl die Verbesserungen in dem in Fig. 21 dargestellten Verfahren angewendet sind, sollte verstanden werden, daß jeder der Verbesserungsschritte unabhängig vom anderen angewendet werden kann, um ein verbessertes Ditherfeld zu erzeugen. Insbesondere beginnt das erfindungsgemäße Verfahren in Schritt 800 und fährt fort zu Schritt 801, wo die Elemente des Graumusters derart angeordnet werden, daß sie jedem zweiten Pixel (den ausgewählten Pixeln) entsprechen. Wie in Fig. 18 gezeigt ist, wird das Graumuster um etwa 45º transponiert, so daß jedes Element des Graumusterfeldes jedem der ausgewählten Pixel entspricht. In Schritt 802 wird das Prototypengraumuster erzeugt, wobei veranschaulichend ein konstanter Wert in jedem Feldelement verwendet wird. Als nächstes, in Schritt 804, wird ein Fehlerdiffusionsprozeß auf das Prototypengraumuster angewendet, um das Startbinärmuster zu erzeugen. Es wird angemerkt, daß das Startbinärmusterfeld die gleiche Anzahl von Elementen enthält wie die Anzahl von ausgewählten Pixeln.
- In Schritt 806 wird das Startbinärmuster aufgrund von überdimensionierten Punktmustern, wie oben diskutiert und in Fig. 20A und 20B gezeigt, angepaßt, um das Startgraumuster zu erzeugen. Als nächstes, in Schritt 808, werden das Anfangsbinärmuster und das Anfangsgraumuster aus dem Startbinärmuster bzw. dem Startgraumuster durch Bewegen von Pixeln von Haufen zu Leerräumen, in der oben diskutierten Art und Weise entsprechend dem Leerraum-und-Haufen-Verfahren des Standes der Technik, erzeugt.
- Schließlich werden in Schritt 810 Schwellenwerte dem Ditherfeld unter Verwendung des Anfangsbinärmusters und des Anfangsgraumusters zugeordnet, wobei das ausführlich in Verbindung mit Fig. 22A bis 22C diskutierte Verfahren verwendet wird. Die Routine endet dann in Schritt 812.
- Fig. 22A, 22B und 22C offenbaren, wenn zusammengenommen, ein veranschaulichendes Verfahren zum Zuweisen von Schwellenwerten zu dem Ditherfeld unter Verwendung des Anfangsgraumusters und des Anfangs binärmusters. Das offenbarte Verfahren ist jenem ähnlich, welches in dem herkömmlichen Leerraum-und-Haufen-Verfahren verwendet wird, jedoch wurde das Verfahren derart modifiziert, daß das Anfangsgraumuster verwendet wird, um die Leerräume und die Haufen zu lokalisieren, anstelle des Anfangsbinärmusters, welches in dem Verfahren des Standes der Technik verwendet wird. Da das Anfangsgraumuster aufgrund der Wirkungen von überdimensionierten Punkten angepaßt worden ist, erzeugt es eine genauere Lokalisierung für die dichtesten Haufen und die größten Leerräume. Insbesondere weist das dargestellte Verfahren drei Phasen auf. Während Phase I (in Fig. 22A gezeigt) werden die Ditherfeldelemente von den Elementzahlen ("Ones"-1) bis 0 eingegeben.
- Während Phase II (in Fig. 22B gezeigt) werden Ditherelemente von "Ones"
- bis [jk/2 - 1] addiert und in Phase III (in Fig. 22C gezeigt) werden Elemente [jk/2] bis jk eingegeben.
- Insbesondere startet die veranschaulichende Routine in Schritt 900 und fährt fort zu Schritt 902, wo ein Graumusterfeld mit dem Anfangsgraumuster geladen wird. Die Routine verwendet zwei Felder, welche als ein "Graumuster"-Feld sowie ein "Binärmuster"-Feld bezeichnet werden. Diese Felder besitzen die gleiche Anzahl an Elementen wie das Ditherfeld (sie werden willkürlich derart genommen, daß sie j Reihen und k Spalten aufweisen). In Schritt 902 wird das Graumusterfeld mit den Werten geladen, welche von dem Anfangsgraumusterfeld entnommen sind, welches wie oben beschrieben erzeugt worden ist.
- Als nächstes wird in Schritt 904 das Binärmusterfeld mit den wie oben diskutiert erzeugten Anfangsbinärmusterfeldwerten geladen. Fortfahrend zu Schritt 906 wird eine Variable "Ones" gleich der Anzahl von Einsen in dem Binärmuster gesetzt, und in Schritt 908 wird eine Variable "Rank" gleich dem Wert der Variable "Ones" minus "1" gesetzt.
- In Schritt 910 wird die Variable "Rank" überprüft, um zu sehen, ob sie kleiner als null ist. Diese Überprüfung bestimmt, ob Phase I der Schwellenzuweisungsroutine vollendet worden ist. Wenn der Wert von "Rank" nicht kleiner als null ist, fährt die Routine fort zu Schritt 912, in welchem die Position der dichtesten Haufen in dem Graumusterfeld bestimmt wird. Wie zuvor erwähnt, wird diese Bestimmung durch Verwenden eines zweidimensionalen Gaussfilters (oben beschrieben) durchgeführt. Dieses Filter berücksichtigt die angepaßten Grauskalenwerte in dem Graumuster, um die dichtesten Haufen zu lokalisieren.
- Dann wird in Schritt 914 eine binäre "1" von dem Binärmuster an der Position entfernt, welche in Schritt 912 bestimmt wurde, um ein neues Binärmuster zu bilden. Nachfolgend wird der Wert der "Rank"-Variable in die entsprechende Stelle in dem Ditherfeld in Schritt 916 eingegeben, um den neuen Schwellenwert zu bilden.
- In Schritt 914 erzwingt das Entfernen der "1" aus dem Binärmuster eine erneute Anpassung der Grauskalenwerte, da die α-, β- und γ-Werte erneut angepaßt werden müssen, um die Tatsache zu berücksichtigen, daß die "1" entfernt worden ist und eine "0" an ihrer Stelle eingefügt worden ist. Folglich wird in Schritt 918 das Graumuster erneut aus dem neuen Binärmuster berechnet, welches durch Entfernen der "1" in Schritt 914 erzeugt worden ist.
- In Schritt 920 wird der Wert der "Rank"-Variable dekrementiert und die Routine verfährt weiter zurück zu Schritt 910, wo eine weitere Überprüfung durchgeführt wird, um zu bestimmen, ob das Ende von Phase I erreicht worden ist. Wenn dem so ist, verfährt die Routine weiter, über Seiten- Verbinder 922 und 924, zu Phase II, wie in Fig. 22B gezeigt. Wenn in Schritt 910 alternativ der Wert der "Rank"-Variable nicht kleiner als null ist, dann werden Schritte 912 bis 920 wiederholt und die Routine fährt in dieser Angelegenheit fort, bis Phase I vollendet worden ist.
- Fig. 22B zeigt die in Phase II des erfindungsgemäßen Schwellenzuweisungsverfahrens durchgeführten Schritte. Insbesondere ausgehend vom Seiten- Verbinder 924 fährt die Routine fort zu Schritt 926, in welchem das Graumusterfeld durch Laden desselben mit den zuvor bestimmten Anfangsgraumusterwerten initialisiert wird. Auf ähnliche Art und Weise wird in Schritt 928 das Binärmusterfeld durch Laden des Feldes mit den zuvor bestimmten Anfangsbinärmusterwerten initialisiert. In Schritt 930 wird der Wert der "Rank"- Variable gleich dem Wert der "Ones"-Variable gesetzt.
- Als nächstes wird in Schritt 932 eine Überprüfung durchgeführt, um zu bestimmen, ob der Wert der "Rank"-Variable kleiner ist als die Anzahl von Reihen mal die Anzahl von Spalten dividiert durch zwei [jk/2]. Da der Wert der "Rank"-Variable mit jedem Durchlaufen der Routinenschleife zunehmen wird, wird der Wert der "Rank"-Variable schließlich den Wert [jk/2] übersteigen und die Routine wird, wie in Schritt 932 angezeigt, zu Phase III des Schwellenzuweisungsverfahrens fortschreiten.
- Wenn jedoch in Schritt 932 bestimmt wird, daß verbleibende "Leerräume" verarbeitet werden müssen, fährt die Routine fort zu Schritt 934, wo die Position des größten Leerraums in dem Graumusterfeld bestimmt wird, wiederum durch Verwenden des zweidimensionalen Gaussfilters, wie oben beschrieben.
- Als nächstes wird im Schritt 936 eine binäre "1" in die entsprechende Position in dem Binärmuster eingefügt, wodurch die ursprüngliche "0" ersetzt wird, um ein neues Binärmuster zu bilden und in Schritt 938 wird der Wert der "Rank"- Variable in die entsprechende Position des Ditherfeldes eingegeben.
- Das Graumuster wird dann erneut aus dem neuen Binärmuster berechnet, um das Ersetzen von "0" zu "1" in Schritt 936 anzupassen und der Wert der "Rank"-Variable wird in Schritt 942 um eins inkrementiert. Die Routine verfährt zurück zu Schritt 932, in welchem der Wert der "Rank"-Variable erneut überprüft wird, um zu erfassen, ob Phase II vollendet worden ist. Wenn Phase II nicht vollendet wurde, werden Schritte 934 bis 942 wiederholt. Bei der Vollendung der Phase II, wie durch den [jk/2] übersteigenden Wert der "Rank"- Variable angezeigt, fährt die Routine, über Seiten-Verbinder 944 und 946, zur Phase III der Schwellenzuweisungsroutine fort, wie ausführlich in Fig. 22C gezeigt.
- Bezugnehmend auf Fig. 22C schreitet die Routine vom Seiten-Verbinder 946 zu Schritt 948 voran, wo die Definition von "Minoritätspixeln" von "1" zu "0" geändert wird (wie zuvor erwähnt, werden während der Phase II die Felder mit binären "1en" gefüllt und somit sind die binären "1", welche ursprünglich die "Minoritäts"-Pixel waren, nun die "Majoritäts"-Pixel geworden). Die Routine schreitet dann weiter zu Schritt 950, wo der Wert der "Rank"-Variablen überprüft wird, um zu sehen, ob sie geringer ist als die Anzahl von Reihen mal die Anzahl von Spalten (jk). Während Phase III erhöht sich der Wert "Rank"- Variable und somit wird sie schließlich gleich jk sein, an welchem Punkt die Routine enden wird. Wie nun verstanden werden wird, entsprechen nun jedes der j · k Elemente des Ditherfeldes jedem der n/2 · m ausgewählten Pixeln.
- Dann jedoch, wenn in Schritt 950 eine Bestimmung durchgeführt wird, daß der Wert der "Rank"-Variable geringer ist als jk, schreitet die Routine voran zu Schritt 952, wo die Position des dichtesten Haufens in dem Graumusterfeld bestimmt wird, wiederum unter Verwendung des zuvor beschriebenen Gaussfilters. Als nächstes wird in Schritt 954 eine "1" in das Binärmuster an der Position eingeführt, welche in Schritt 952 bestimmt wurde, um ein neues Binärmuster zu bilden, und in Schritt 956 wird der Wert der "Rank"-Variable in die entsprechende Position in dem Ditherfeld eingegeben.
- Das Graumusterfeld wird erneut aus dem neuen Binärmuster in Schritt 958 berechnet und der Wert der "Rank"-Variable wird in Schritt 960 inkrementiert. Die Routine verfährt dann zurück zu Schritt 950, um eine Bestimmung durchzuführen, ob Phase III vollendet worden ist. Wenn dem so ist, endet die Routine in Schritt 962, wenn nicht, werden die Schritte 952 bis 960 wiederholt, bis allen Elementen des Ditherfeldes ein Schwellenwert zugewiesen worden ist.
- Während die oben diskutierten Beispiele lediglich auf eine Farbebene fokussierten, wird ein Durchschnittsfachmann verstehen, daß diese Methoden auf jede der Farbebenen angewendet werden können. Mit anderen Worten könnten deren Methoden zum Farbdrucken angewendet werden.
- Es wird somit verstanden werden, daß die oben dargestellten Aufgaben unter jenen, die aus der vorgehenden Beschreibung offensichtlich gemacht wurden, effizient erreicht werden sowie, da gewisse Veränderungen beim Ausführen des obigen Verfahrens sowie im dargelegten Aufbau gemacht werden können, ohne vom Rahmen der Erfindung abzuweichen, ist beabsichtigt, daß der gesamte Inhalt in der obigen Beschreibung, wie in der beiliegenden Zeichnung gezeigt, als veranschaulichend und nicht im einschränkenden Sinn interpretiert werden soll. Es soll weiterhin verstanden werden, daß die folgenden Ansprüche dazu gedacht sind, alle gattungsgemäßen und spezifischen Merkmale der hierin beschriebenen Erfindung abzudecken.
Claims (15)
1. Vorrichtung zum Erzeugen eines Ditherfeldes zur Halbtonbilderzeugung
eines jeden zweiten Pixels eines Feldes aus n · m Pixeldaten, welche
ein Bild repräsentieren, wobei n und m positive ganze Zahlen sind,
wobei die Menge aus jedem zweiten Pixel n/2 · m Pixel umfasst, durch
eine Ausgabevorrichtung, wobei die Ausgabevorrichtung zum Ausgeben
einer ein Bild repräsentierenden Punktematrix dient, wobei jeder der
Punkte in bezug auf die ausgegebene Matrix überdimensioniert ist,
wobei die Vorrichtung umfaßt:
Graumustererzeugungsmittel zum Erzeugen einer
Prototypengraumustermatrix umfassend j · k Elemente, wobei j und k
jeweils positive ganze Zahlen sind, wobei jedes der j · k Elemente
gleiche vorbestimmte Werte umfaßt und wobei jedes einzelne der j · k
Elemente in entsprechender Beziehung zu einem jeweiligen einzigen der
n/2 · m Pixel steht;
Fehlerdiffusions mittel zum Durchführen des Verfahrens der
Fehlerdiffusionsbearbeitung an der Prototypengraumustermatrix, um ein
Startbinärmuster zu bilden, umfassend j · k Elemente, wobei jedes der
j · k Elemente einen ersten Wert oder einen zweiten Wert umfaßt;
Anfangsbinärmustererzeugungsmittel zum Erzeugen eines
Anfangsbinärmusters als Antwort auf das Startbinärmuster;
Überdimensionierungsanpaßmittel, welche auf das Startbinärmuster
reagieren, zum Erzeugen eines Startgraumusters entsprechend den
überdimensionierten Punkten;
Anfangsgraumustererzeugungsmittel zum Erzeugen eines
Anfangsgraumusters als Antwort auf das Startgraumuster; und
Zuweisungsmittel zum Erzeugen des Ditherfeldes entsprechend dem
Anfangsbinärmuster und dem Anfangsgraumuster.
2. Vorrichtung zum Erzeugen eines Ditherfeldes nach Anspruch 1, wobei
das Anfangsbinärmustererzeugungsmittel das Anfangsbinärmuster
erzeugt und das Anfangsgraumustererzeugungsmittel das
Anfangsgraumuster erzeugt, unter Verwendung eines Leerraum- und
Haufen-Verfahrens (void and cluster process).
3. Vorrichtung zum Erzeugen eines Ditherfeldes nach Anspruch 1 oder
Anspruch 2, wobei das Überdimensionsierungsanpaßmittel
Korrekturwerte zu jedem der, den zweiten Wert enthaltenden, j · k
Elemente addiert, welches an einen der, den ersten Wert enthaltenden,
j · k Elemente angrenzt, um das Startgraumuster zu erzeugen.
4. Vorrichtung zum Erzeugen eines Ditherfeldes nach Anspruch 3, wobei
die Korrekturwerte umfassen:
einen ersten Korrekturwert zum Korrigieren einer Punktüberlappung in
einer horizontalen und einer vertikalen Richtung;
einen zweiten Korrekturwert zum Korrigieren einer Punktüberlappung in
einer diagonalen Richtung; und
einen dritten Korrekturwert zum Korrigieren einer Punktüberlappung,
welche durch eine Überlappung von zwei angrenzenden Punkten
verursacht wird.
5. Vorrichtung zum Erzeugen eines Ditherfeldes nach einem der
vorhergehenden Ansprüche, wobei das Fehlerdiffusionsmittel umfaßt:
ein auf die Prototypengraumustermatrix reagierendes Vergleichsmittel
zum Vergleichen der Zahl in jedem der Elemente in der
Prototypengraumustermatrix mit einer vorbestimmten Schwellenzahl,
um einen binären Ausgabewert zu erzeugen;
eine auf den binären Ausgabewert und auf den konstanten Wert
reagierende Fehlererzeugungsvorrichtung zum Erzeugen eines
Fehlerwertes;
eine auf den Fehlerwert reagierende Filtervorrichtung zum Erzeugen
einer Mehrzahl von Fehlerdiffusionswerten; sowie
einen Mechanismus zum Anwenden der Fehlerdiffusionswerte auf die
Zahl in ausgewählten Elementen der Prototypengraumustermatrix.
6. Vorrichtung zum Erzeugen eines Ditherfeldes nach einem der
vorhergehenden Ansprüche, wobei das Zuweisungsmittel auf das
Anfangsbinärmuster und auf das Anfangsgraumuster reagiert, um
nacheinander jeder der Binärzahlen im Anfangsbinärmuster
Schwellenzahlen zuzuweisen, um das verbesserte Ditherfeld zu
erzeugen.
7. Vorrichtung zum Erzeugen eines Ditherfeldes nach einem der
vorhergehenden Ansprüche, wobei die Zuweisungsvorrichtung umfaßt:
ein erstes auf das Anfangsgraumuster reagierendes Gauß-Filter zum
Ausfindigmachen eines mittleren Erster-Wert-Elements in einem Haufen
von Erster-Wert-Binärzahlen;
ein zweites auf das Anfangsgraumuster reagierendes Gauß-Filter zum
Ausfindigmachen eines mittleren Zweiter-Wert-Elements in einem
Leerraum zwischen Erster-Wert-Binärzahlen;
einen ersten Mechanismus zum Ersetzen der Zahl im
Anfangsbinärmuster an einer Stelle entsprechend dem mittleren Erster-Wert-Element
durch eine Zweiter-Wert-Zahl;
einen zweiten Mechanismus zum Ersetzen der Zahl im
Anfangsbinärmuster an einer Stelle entsprechend dem mittleren Zweiter-Wert-
Element durch eine Erster-Wert-Zahl, um ein neues Anfangsbinärmuster
zu erzeugen; sowie
Mittel zum Zuweisen einer Schwellenzahl im Ditherfeld an eine Stelle
entsprechend dem mittleren Erster-Wert-Element.
8. Vorrichtung zum Erzeugen eines Ditherfeldes nach einem der
vorhergehenden Ansprüche, wobei das
Anfangsbinärmustererzeugungsmittel und das Anfangsgraumustererzeugungsmittel ein auf
das Startbinärmuster bzw. das Startgraumuster reagierendes Gauß-Filter
zum Ausfindigmachen von Haufen von Erster-Wert-Binärzahlen und
Leerräumen zwischen Erster-Wert-Binärzahlen umfassen.
9. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei jedes
der Pixel einen entsprechenden Punkt mit einem Radius r im Bereich von
1/dpi ≤ r ≤ 2/dpi umfaßt, wobei dpi eine Auflösung der Pixel in
Punkte pro Zoll (Dots per Inch) ist.
10. Verfahren zum Erzeugen eines Ditherfeldes zur Halbtonbilderzeugung
eines jeden zweiten Pixels eines Feldes aus n · m Pixeldaten, welche
ein Bild repräsentieren, wobei n und m positive ganze Zahlen sind,
wobei die Menge aus jedem zweiten Pixel n/2 · m Pixel umfasst, durch
eine Ausgabevorrichtung, wobei das Verfahren folgende Schritte
umfaßt:
A. Erzeugen eines Prototypengraumusters umfassend ein
zweidimensionales Feld aus j · k Elementen, wobei jedes Element eine
Zahl mit einem gemeinsamen, konstanten Wert umfaßt, wobei j und k
positive ganze Zahlen sind und wobei jedes einzelne der j · k Elemente
in entsprechender Beziehung zu einem jeweiligen einzigen der n/2 · m
Pixel steht;
B. Anwenden des Verfahrens eines Fehlerdiffusionshalbtonprozesses
auf das Prototypengraumuster, um ein Startbinärmuster zu erzeugen,
umfassend ein zweidimensionales j · k-Feld aus binären Zahlen, wobei
jede einen ersten Wert oder einen zweiten Wert besitzt, wobei jedes
der j · k Elemente in entsprechender Beziehung mit einem jeweiligen
einzigen der n/2 · m Pixel steht;
C. Erzeugen eines Anfangsbinärmusters als Antwort auf das
Startbinärmuster;
D. Anpassen des Startbinärmusters, um überdimensionierte Punkte
auszugleichen, um ein Startgraumuster zu erzeugen;
E. Erzeugen eines Anfangsgraumusters als Antwort auf das
Startbinärmuster; sowie
F. Erzeugen des Ditherfeldes entsprechend dem Anfangsbinärmuster
und dem Anfangsgraumuster.
11. Verfahren zum Erzeugen eines Ditherfeldes nach Anspruch 10, wobei
Schritt D folgende Schritte umfaßt:
D1. Addieren von Korrekturwerten zum Startbinärmuster zu jeder
Zweiter-Wert-Binärzahl, welche an eine Erster-Wert-Binärzahl angrenzt,
um ein Startgraumuster zu erzeugen, welches das Überlappen von, von
der Druckvorrichtung verwendeten, Druckpunkten korrigiert.
12. Verfahren zum Erzeugen eines Ditherfeldes nach Anspruch 11, wobei
Schritt D1 folgende Schritte umfaßt:
D1a. Addieren eines ersten Korrekturwertes zum Korrigieren
einer Punktüberlappung in einer horizontalen und einer vertikalen
Richtung;
D1b. Addieren eines zweiten Korrekturwertes zum Korrigieren
einer Punktüberlappung in einer diagonalen Richtung; sowie
D1c. Addieren eines dritten Korrekturwertes zum Korrigieren
einer Punktüberlappung, welcher durch die Überlappung von zwei
angrenzenden Punkten verursacht wird.
13. Verfahren zum Erzeugen eines Ditherfeldes nach einem der Ansprüche
10 bis 12, wobei Schritt B folgende Schritte umfaßt:
B1. Vergleichen der Zahl in jedem der Elemente in dem
Prototypengraumuster mit einer vorbestimmten Schwellenzahl, um einen
binären Ausgabewert zu erzeugen;
B2. Erzeugen eines auf den binären Ausgabewert und den konstanten
Wert reagierenden Fehlers zum Erzeugen eines Fehlerwertes;
B3. Erzeugen einer Mehrzahl von Fehlerdiffusionswerten aus dem
Fehlerwert; sowie.
B4. Anwenden der Fehlerdiffusionswerte auf die Zahl in ausgewählten
Elementen des Prototypengraumusters.
14. Verfahren zum Erzeugen eines Ditherfeldes zur Halbtonbilderzeugung
eines jeden zweiten Pixels eines Feldes von n · m Pixeldaten, welche
ein Bild repräsentieren, wobei n und m positive ganze Zahlen sind,
wobei die Menge aus jedem zweiten Pixel n/2 · m Pixel umfasst, durch
eine Druckvorrichtung, wobei das Verfahren umfaßt:
A. Erzeugen eines Prototypengraumusters umfassend ein
zweidimensionales Feld von j · k Elementen, wobei jedes Element eine
Zahl mit einem gemeinsamen, konstanten Wert umfaßt, wobei j · k
positive ganze Zahlen sind und wobei jedes einzelne der j · k Elemente
in entsprechender Beziehung zu einem jeweiligen einzigen der n/2 · m
Pixel steht,
B. Anwenden eines Fehlerdiffusionshalbtonprozesses auf das
Prototypengraumuster, um ein Startbinärmuster zu erzeugen, umfassend
ein zweidimensionales Feld von Binärzahlen mit einem ersten Wert oder
einem zweiten Wert,
C. Ausfindigmachen von Haufen von Erster-Wert-Binärzahlen und
Leerräumen zwischen Erster-Wert-Binärzahlen im Startbinärmuster
sowie Homogenisieren des Startbinärmusters, um ein
Anfangsbinärmuster durch wiederholtes Bewegen von Erster-Wert-
Binärzahien von den Haufen zu den Leerräumen zu erzeugen, sowie
D. Anpassen des Startbinärmusters, um überdimensionierte Punkte
auszugleichen, um ein Startgraumuster zu erzeugen.
E. Homogenisieren des Startgraumusters, um ein
Anfangsgraumuster zu erzeugen.
F. Zuweisen von Schwellenzahlen an jede der Binärzahlen in dem
Anfangsbinärmuster und dem Anfangsgraumuster, um das Ditherfeld zu
erzeugen.
15. Verfahren zum Erzeugen eines Ditherfeldes nach einem der Ansprüche
10 bis 14, wobei jedes der Pixel einen entsprechenden Punkt mit einem
Radius r im Bereich von 1/dpi ≤ r ≤ 2/dpi umfaßt, und dpi eine
Auflösung der Pixel in Punkten pro Zoll (Dots per Inch) ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/320,534 US5684932A (en) | 1994-07-01 | 1994-10-11 | Method and apparatus for dither array generation to reduce artifacts in halftoned image data utilizing ink reduction processing |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69515782D1 DE69515782D1 (de) | 2000-04-27 |
DE69515782T2 true DE69515782T2 (de) | 2000-08-10 |
Family
ID=23246859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69515782T Expired - Lifetime DE69515782T2 (de) | 1994-10-11 | 1995-10-11 | Verbessertes Verfahren und Gerät zur Erzeugung von Zittermatrizen zur Herabsetzung von Artefakten in Halbtonbilddaten unter Verwendung von Tintenverminderungsverarbeitung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5684932A (de) |
EP (1) | EP0707411B1 (de) |
JP (1) | JPH08195883A (de) |
DE (1) | DE69515782T2 (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854882A (en) * | 1994-04-08 | 1998-12-29 | The University Of Rochester | Halftone correction systems |
US5841951A (en) * | 1996-02-09 | 1998-11-24 | Seiko Epson Corporation | Ink duty-cycle control |
US5953459A (en) * | 1996-02-23 | 1999-09-14 | Brother Kogyo Kabushiki Kaisha | Dither matrix producing method |
US5799136A (en) * | 1996-05-28 | 1998-08-25 | Seiko Epson Corporation | On-line ink-duty reduction |
US5848224A (en) * | 1996-09-26 | 1998-12-08 | Hewlett-Packard Company | Optimally pipelined error diffusion architecture for converting scanned image into four-color printed image |
US5796929A (en) * | 1996-10-24 | 1998-08-18 | Seiko Epson Corporation | Banding and ink-bleeding reduction in cluster dither by screen displacement |
JP3905650B2 (ja) * | 1998-08-31 | 2007-04-18 | 武藤工業株式会社 | 疑似階調表現方法 |
US6356362B1 (en) * | 1998-11-02 | 2002-03-12 | Canon Kabushiki Kaisha | Halftoning by enhanced error diffusion |
US6407825B1 (en) * | 1998-12-17 | 2002-06-18 | Eastman Kodak Company | Colorant reduction method for digital images |
KR100575975B1 (ko) * | 1999-10-06 | 2006-05-02 | 삼성전자주식회사 | 레이저 빔 프린터에서 그레이 성분을 가진 이미지의 다치화 처리회로 및 방법 |
US6731822B1 (en) * | 1999-10-28 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for filtering images having insufficient tonal precision |
WO2002071738A1 (fr) * | 2001-03-02 | 2002-09-12 | Dai Nippon Printing Co., Ltd. | Procede de creation d'un masque de tremblement et dispositif de creation |
US7319542B2 (en) * | 2002-10-29 | 2008-01-15 | Hewlett-Packard Development Company, L.P. | Document rehabilitation |
US7239429B2 (en) * | 2003-05-29 | 2007-07-03 | Seiko Epson Corporation | Method and apparatus for generating dispersed cluster screen |
US7265872B2 (en) * | 2003-10-15 | 2007-09-04 | International Business Machines Corporation | Error diffusion with averaged directional biases |
KR100611981B1 (ko) * | 2004-05-01 | 2006-08-11 | 삼성전자주식회사 | 이미지의 하프토닝 방법 및 장치 |
CN100393098C (zh) * | 2006-08-22 | 2008-06-04 | 北京大学 | 误差扩散图像挂网技术中的图像扫描处理方法及系统 |
US20080259079A1 (en) * | 2007-04-18 | 2008-10-23 | Boxman Benjamin D | Method and system for volume rendering |
TW201011699A (en) * | 2008-09-12 | 2010-03-16 | Univ Nat Taiwan Science Tech | Image compression method using block truncation coding |
GB2473475B (en) * | 2009-09-11 | 2014-12-17 | Andrew William Peter Cave | Computer program for generating 1-bit image data from multiple-bit image data |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4752822A (en) * | 1983-03-08 | 1988-06-21 | Canon Kabushiki Kaisha | Color halftone image processing apparatus producing various screen angles and having an adaptive color image data conversion look-up table and a small-capacity masking memory |
US4680645A (en) * | 1986-08-25 | 1987-07-14 | Hewlett-Packard Company | Method for rendering gray scale images with variable dot sizes |
US4955065A (en) * | 1987-03-17 | 1990-09-04 | Digital Equipment Corporation | System for producing dithered images from continuous-tone image data |
US4855752A (en) * | 1987-06-01 | 1989-08-08 | Hewlett-Packard Company | Method of improving dot-on-dot graphics area-fill using an ink-jet device |
US4943813A (en) * | 1987-06-01 | 1990-07-24 | Hewlett-Packard Company | Method of generating overhead transparency projecting using an ink-jet device |
US5201013A (en) * | 1989-04-24 | 1993-04-06 | Ezel, Inc. | Dither processing method |
US4967203A (en) * | 1989-09-29 | 1990-10-30 | Hewlett-Packard Company | Interlace printing process |
US4999646A (en) * | 1989-11-29 | 1991-03-12 | Hewlett-Packard Company | Method for enhancing the uniformity and consistency of dot formation produced by color ink jet printing |
US5031050A (en) * | 1990-02-26 | 1991-07-09 | Hewlett-Packard Company | Method and system for reproducing monochromatic and color images using ordered dither and error diffusion |
US5278671A (en) * | 1990-10-05 | 1994-01-11 | Nippon Steel Corporation | Image processing apparatus with correction of diffusion errors of overlapping dots |
US5270728A (en) * | 1991-04-17 | 1993-12-14 | Hewlett-Packard Company | Raster imaging device speed-resolution product multiplying method and resulting pixel image data structure |
US5535020A (en) * | 1992-10-15 | 1996-07-09 | Digital Equipment Corporation | Void and cluster apparatus and method for generating dither templates |
US5313287A (en) * | 1993-04-30 | 1994-05-17 | Hewlett-Packard Company | Imposed weight matrix error diffusion halftoning of image data |
US5317418A (en) * | 1993-05-11 | 1994-05-31 | Hewlett-Packard Company | Halftone images using special filters |
US5557709A (en) * | 1994-07-01 | 1996-09-17 | Seiko Epson Corporation | Method and apparatus for dither array generation to reduce artifacts in halftoned images |
-
1994
- 1994-10-11 US US08/320,534 patent/US5684932A/en not_active Expired - Fee Related
-
1995
- 1995-10-03 JP JP7256636A patent/JPH08195883A/ja active Pending
- 1995-10-11 DE DE69515782T patent/DE69515782T2/de not_active Expired - Lifetime
- 1995-10-11 EP EP95307164A patent/EP0707411B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0707411A2 (de) | 1996-04-17 |
US5684932A (en) | 1997-11-04 |
JPH08195883A (ja) | 1996-07-30 |
EP0707411B1 (de) | 2000-03-22 |
DE69515782D1 (de) | 2000-04-27 |
EP0707411A3 (de) | 1996-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69527587T2 (de) | Verfahren und Gerät zur Herabsetzung von Artefakten in mittels Halbtonfehlerdiffusion erzeugten Bildern unter Verwendung von Tintenverminderungsverarbeitung | |
DE69515782T2 (de) | Verbessertes Verfahren und Gerät zur Erzeugung von Zittermatrizen zur Herabsetzung von Artefakten in Halbtonbilddaten unter Verwendung von Tintenverminderungsverarbeitung | |
DE69522284T2 (de) | Vorrichtung zur adaptiven Filterung und Schwellenwertverarbeitung zur Verminderung der Bildkörnigkeit | |
DE69132353T2 (de) | Verfahren und gerät zur halbtonwiedergabe von grautonbildern unter verwendung einer maskierung mit blauem rauschen | |
DE69634040T2 (de) | Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern | |
DE69625300T2 (de) | Verfahren und Gerät zur Halbtonrasterung unter Verwendung von stochastischem Zittern mit minimaler Dichtevarianz | |
DE69220651T2 (de) | Halbtonrasterung mit erhöhtem dynamischen Bereich und bildkantenverstärkter Fehlerdiffusion | |
DE69228917T2 (de) | Halbtonrasterung mit Fehlerrückkopplung und bildabhängiger Verbesserung | |
DE69512290T2 (de) | Reproduktionsverfahren für Farbdokumente | |
DE69318876T2 (de) | System und Verfahren zur Umwandlung von Halbtonbildern in Bilder mit kontinuierlichen Tönen | |
DE69819608T2 (de) | Mehrpegelige Halbtonrasterung mit Rändern verringerter Textur und Deckungssteuerung | |
DE69127187T2 (de) | Verfahren und Gerät zur Verbesserung von Bit-Bildern | |
DE69901858T2 (de) | Bildverarbeitung | |
CN100405814C (zh) | 以一维多阶网点分配为基础的数字半色调方法 | |
DE69331476T2 (de) | Verfahren und Gerät zur Bildreproduktion mittels Grautondruck | |
DE69522277T2 (de) | Verfahren und Gerät zur Verringerung von Störungen in durch Fehlerdiffusion halbtongerasterten Bildern | |
DE69410530T2 (de) | Halbtongerasterte Bilder mittels Modellierung der gedruckten Symbole | |
DE10137164A1 (de) | Graustufen-Halbton-Bearbeitung | |
DE10136423A1 (de) | Kantenverbesserung von Graustufenbildern | |
DE69029169T2 (de) | Bildverarbeitung mit Rauschanreicherungsoperatoren für Moire-Verringerung und/oder Zufallspunkterzeugung | |
DE69712572T2 (de) | Fehlerdiffusionsverfahren mit symmetrischer Verbesserung | |
US5557709A (en) | Method and apparatus for dither array generation to reduce artifacts in halftoned images | |
DE69520020T2 (de) | Verbessertes Verfahren und Gerät zur Verringerung von Artefakten in Halbtonbildern mit Verwendung von Korrektur des Graugleichgewichts | |
DE69316504T2 (de) | Bildprozessor und Druckgerät | |
US5625755A (en) | Method and apparatus for tonal correction in binary printing devices by predistortion of image data utilizing ink reduction processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |