DE69423224T2 - System und verfahren zur halbtonrasterung unter verwendung einer überlappenden schwellenmatrix - Google Patents
System und verfahren zur halbtonrasterung unter verwendung einer überlappenden schwellenmatrixInfo
- Publication number
- DE69423224T2 DE69423224T2 DE69423224T DE69423224T DE69423224T2 DE 69423224 T2 DE69423224 T2 DE 69423224T2 DE 69423224 T DE69423224 T DE 69423224T DE 69423224 T DE69423224 T DE 69423224T DE 69423224 T2 DE69423224 T2 DE 69423224T2
- Authority
- DE
- Germany
- Prior art keywords
- threshold matrix
- pixel
- threshold
- matrix
- previous
- 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
- 239000011159 matrix material Substances 0.000 title claims description 198
- 238000000034 method Methods 0.000 title claims description 70
- 238000012216 screening Methods 0.000 title claims description 10
- 238000012545 processing Methods 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 25
- 230000003362 replicative effect Effects 0.000 claims description 4
- 230000000873 masking effect Effects 0.000 claims description 2
- 238000003384 imaging method Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012546 transfer Methods 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/4055—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
- H04N1/4058—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern with details for producing a halftone screen at an oblique angle
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Description
- Die Erfindung betrifft allgemein das Gebiet der Wiedergabe von Bildern mit einer begrenzten Ton- bzw. Farbtonwiedergabekapazität, wobei Zwischentöne durch Halbtöne dargestellt werden, im allgemeinen für Computergrafikanwendungen und dergleichen. Insbesondere betrifft die vorliegende Erfindung digitale Halbtonrasterung, wobei eine Schwellenmatrix verwendet wird, um einzelne Pixel in einer Halbtonzelle zu steuern, und ganz besonders eine Implementierung für eine Halbtonrasterung unter Verwendung einer solchen überlappenden Schwellenmatrix, daß die Größe der Schwellenmatrix reduziert ist.
- Bei der Wiedergabe von Bildern in Computergrafiken ist es selten möglich, die Werte der Originalszene zu replizieren. Um jedoch ein glaubhaftes Bild zu erzeugen, ist eine glaubhafte Tondarstellung alles, was erforderlich ist. Das menschliche Auge und Gehirn tragen dazu bei, indem sie Unterschiede in der Beleuchtung, im Tonbereich und in den Farbumgebungen ausgleichen. Es bestehen zwei allgemeine Kategorien von Bilderzeugungssystemen, nämlich solche, die einen akzeptablen Ton direkt wiedergeben, und solche, die dazu nicht in der Lage sind. Die erste Kategorie von Bilderzeugungssystemen sind unter anderem Systeme, die in der Lage sind, Bilder mit kontinuierlich verlaufenden Tönen wiederzugeben. Zu diesen gehören die Fotografie, das Fernsehen und bestimmte digitale Computeranzeigen mit einer ausreichenden Tonauflösung. Solche Systeme erfordern normalerweise Halbtöne, da die Wiedergabe von Tönen von der Linearität des Systems, von den Grenzen, mit denen es Schwarz und Weiß erzeugt, und vom Umgebungslicht während des Anschauens abhängt.
- Die zweite Kategorie von Bilderzeugungssystemen sind unter anderem Systeme mit begrenzter Tonwiedergabekapazität. Diese sind häufig binäre Bauelemente, die nur zwei Werte wiedergeben können, die "ein" und "aus" entsprechen. In solchen binären Systemen, zum Beispiel monochrome Computeranzeigen und handelsübliche Druckerpressen, müssen Zwischentöne durch Halbtöne dargestellt werden. Solche Halbtonsyteme beruhen darauf, daß das Auge und das Gehirn zahlreiche kleine Merkmale integrieren, um den Toneindruck hervorzurufen.
- Halbtonrasterung ist ein Verfahren, bei dem Farben mit kontinuierlich verlaufenden Tönen durch ein Muster von Pixeln angenähert werden, die nur eine begrenzte Anzahl von diskreten Farben erreichen können. Der bekannteste Fall dafür ist die Wiedergabe von Grautönen mit Schwarz/Weiß-Pixeln, wie in einem Zeitungsfoto. Wenn Halbtonrasterung erforderlich ist, erfolgt sie im allgemeinen, nachdem alle Farbkomponenten durch eine entsprechende Übertragungsfunktion transformiert worden sind.
- Ein Halbtonmuster besteht aus einem Bereich von Pixeln, der als die Halbtonzelle bezeichnet wird. Die Halbtonzelle enthält ein spezifisches, wiederholbares Muster. Die Tonauflösung eines Halbtonmusters hängt von der Anzahl der Pixel in der Halbtonzelle ab. Bei einer gegebenen Halbtonzelle in einem Bild kann ein bestimmter Prozentsatz der Pixel "eingeschaltet" sein, und die verbleibenden Pixel können "ausgeschaltet" sein. Der Prozentsatz der Pixel, die eingeschaltet sind, entspricht dem Tonwert, den die Zelle darstellt. Wenn beispielsweise sechzig Prozent der Pixel in einer gegebenen Zelle schwarz sind und der Rest weiß ist, dann emuliert diese Zelle einen idealen sechzigprozentigen Grauton.
- Bei irgendeiner gegebenen Adressierbarkeit (d. h. die Anzahl von Pixeln, die in einem Bild adressiert werden kann) besteht ein Wechselverhältnis zwischen Zellengröße und Tonauflösung: Je kleiner die Zelle ist, um so kleiner ist die Anzahl der Pixel, die sie enthält, und um so weniger Tonwerte kann sie darstellen. Für die beste Tonauflösung (d. h. die meisten Graustufen) sollte die Halbtonzelle also so groß sein, daß sie so viele Pixel wie möglich aufweist. Je größer dagegen die Zelle ist, um so sichtbarer wird sie für das menschliche Auge, wodurch mitunter das Bild verzerrt wird. Dieses Wechselverhältnis zwischen Graustufen und Zellengröße ist eines der klassischen Probleme der digitalen Halbtonrasterung.
- Bei der herkömmlichen digitalen Halbtonrasterung (unter Verwendung rationaler Tangens) wird eine Schwellenmatrix verwendet, um die einzelnen Pixel in einer Halbtonzelle direkt zu steuern. Eine Schwellenmatrix ist einem abgetasteten Bild sehr ähnlich, da es eine rechteckige Anordnung von Pixelwerten ist. Sie ist jedoch vollständig im Darstellungsraum definiert, und die abgetasteten Werte nehmen normalerweise jeweils 8 Bit ein. Jedem Pixel oder Element in der Zelle ist ein Schwellenwert zugeordnet, der den Tonwert darstellt, bei dem das Pixel eingeschaltet wird. Die Pixelwerte stellen normalerweise Graustufen dar, wobei der Wert 0 schwarz und der Wert 225 weiß sein kann. Bei der Entscheidung, ob das Pixel einzuschalten ist, prüft ein Bilderzeugungssystem die Position des Pixels im Halbtonbild, bestimmt den Tonwert des Bildes an dieser genauen Position und vergleicht diesen Tonwert mit dem Schwellenwert des Pixels in der Schwellenmatrix. Wenn der Tonwert den Schwellenwert überschreitet, wird das Pixel eingeschaltet, wenn das Bild vom Bilderzeugunssystem erzeugt wird.
- Die Schwellenmatrix wird dann repliziert und über den gesamten Darstellungsraum in Fliesenform verteilt bzw. verfliest (d. h. gefüllt). Jedes Pixel des Darstellungsraumes wird in ein bestimmtes Element der Schwellenmatrix umgesetzt.
- Die derartig definierte Schwellenmatrix kann Daten für eine und mehrere Halbtonzellen enthalten. Außerdem kann die Größe der Schwellenmatrix stark variieren. Der Grund dafür ist, daß ein spezifischer Rasterwinkel implementiert wird, indem mehrere Halbtonzellen in der Schwellenmatrix verfliest werden, so daß, wenn die Schwellenmatrix über einen großen Bereich verfliest wird, sie das gewünschte Muster der Halbtonzellen erzeugt. Das heißt, die Schwellenmatrix muß an ihrem rechten Rand Elemente bereitstellen, die mit Elementen an ihrem linken Rand ausgerichtet sind, so daß, wenn zwei Schwellenmatrizes verfliest werden, indem sie nebeneinander gesetzt werden, die Halbtonzellen zwischen den Matrizes (über einem Rand der Schwellenmatrix) mit den Zellen in der Matrix identisch sind. Entsprechend gilt das gleiche in der vertikalen Richtung. Beispielsweise wird ein 45-Grad-Raster implementiert, indem zwei Halbtonzellen in der Schwellenmatrix verfliest werden, wie mit 10 in Fig. 1A dargestellt. Durch Verfliesen der Schwellenmatrix über einen großen Bereich entsteht ein Muster von Halbtonzellen, wie mit 12 in Fig. 1B dargestellt.
- Die Größe der Schwellenmatrix wird direkt durch die rationalen Tangenskoeffizienten für das Raster bestimmt (nämlich durch die Anzahl von Schritten nach rechts und nach oben im Darstellungsraum zwischen einem Pixel in einer Halbtonzelle und dem gleichen Pixel in einer benachbarten Halbtonzelle). Beispielsweise sind die rationalen Tangenskoeffizienten eines 45-Grad-Rasters mit 600 dpi (Punkte pro Zoll) und 106 Zeilen, das durch Replizieren einer Halbtonzelle vier Stufen nach rechts und vier Stufen nach oben entsteht, gleich 4, 4. Die Größe der kleinsten Schwellenmatrix (d. h. die Größe der Schwellenmatrix in Pixel), die erforderlich ist, um ein Halbtonzellenmuster richtig zu erzeugen, wenn verfliest wird, wird durch die folgende Gleichung bestimmt:
- n · A + m · B,
- wobei A und B rationale Tangenskoeffizienten und n und m kleinste gemeinsame Nenner sind, so daß:
- n / m = A / B.
- Für das exemplarische 45-Grad-Raster mit 106 Zeilen gilt: A = B = 4 und n = m = 1. Die kleinste Schwellenmatrix, die erforderlich ist, um ein Halbtonraster zu erzeugen, hat 8 mal 8 Elemente (1 · 4 + 1 · 4 = 8). Wie in Fig. 1B gezeigt, muß die Schwellenmatrixgröße nur 8 Elemente mal 8 Elemente aufweisen, da bei 45 Grad der linke und der rechte Rand zusammenpassen, ebenso wie der obere und der untere Rand. Deshalb ist die Halbtonzelle 14 in der Schwellenmatrix mit der Halbtonzelle 16 identisch, die 4 Schwellmatrizes überdeckt.
- Ein Problem, das bei diesem Verfahren auftritt, liegt in der schnell zunehmenden Größe der Schwellenmatrix, wenn n und m größer werden. Dies tritt normalerweise in den Fällen auf, wo der Rasterwinkel klein ist (nämlich nahe 0 Grad) oder wo der Rasterwinkel groß ist (nämlich nahe 90 Grad) oder wo der Rasterwinkel eine starke Annäherung an eine irrationale Tangente aufweist. Dies ist besonders wichtig, wenn das Halbtonrasterverfahren in einer Hardware implementiert wird, bei der die Größe der Schwellenmatrix direkt auf die Siliziumfläche übertragen wird und die Kosten und die Herstellbarkeit direkt beeinflußt. Im Vergleich erfordert ein Raster mit rationaler Tangente von 4, 3 nur 7 mal 7 Elemente, um die Halbtonzelle zu erzeugen. Die Schwellenmatrix muß jedoch 25 mal 25 Elemente aufweisen, so daß die Schwellenmatrix in Ausrichtung mit dem rechten, linken und oberen, unteren Rand verfliest werden kann.
- Beispielsweise erfordert ein Halbtonraster mit rationalen Tangenskoeffizienten von 4, 5 eine Schwellenmatrix mit 41 mal 41 Elementen, im Vergleich zu einer Schwellenmatrix mit 8 mal 8 Elementen, die für das oben erwähnte 45-Grad-Halbtonraster benötigt wird. Als weiteres Beispiel kann das 15-Grad- Raster mit 600 dpi und 106 Zeilen mit einer 2 mal 2-Superzelle mit rationalen Tangenskoeffizienten von 11, 3 angenähert werden. Dabei entsteht ein 15,25-Grad-Raster mit 105,25 Zeilen. Die Schwellenmatrix, die erforderlich ist, um diese Superzelle zu verfliesen, hat 130 mal 130 Elemente (11 · 11 + 3 · 3 = 130), und zwar bei einer Gesamtspeichergröße von 16.900 Bytes.
- Da sich die Größe einer Schwellenmatrix bei klein- und großgradigen Rastern drastisch vergrößern kann, sind daher in Computergrafiksystem Speicherkapazitätsgrößen erforderlich, bei denen ein beliebiggradiges Raster spezifiziert werden kann. In kleinen Computersystemen kann eine große Speicherkapazität unpraktisch sein. Außerdem reduzieren große Speicheranforderungen, die für bestimmte Zwecke vorgesehen sind, den verfügbaren Speicher für andere Operationen. Ein zu großer Speicher führt ferner zu zusätzlichen Kosten- und Raumüberlegungen für Hardware, die für Halbtonrasterung bestimmt ist. Es besteht daher eine fortschreitende Notwendigkeit für eine verbesserte Implementation einer Halbtonrasterung, die billigere Alternativen bietet.
- Eine Technik, die auf die Reduzierung des erforderlichen Speicherplatzes abzielt, ist in EP-A- 0520774 ausgeführt. In diesem Bezugsdokument sind Fliesen um die Halbtonzelle aufgebaut, um ein Begrenzungskästchen zu erzeugen. Diese Felder werden verwendet, um eine nicht überlappende Schwellemnatrix zu erzeugen, die, wenn sie mit Schwellenwerten gespeichert wird, wesentlich weniger Speicher erfordert.
- Das vorliegende System betrifft eine Vorrichtung und ein Verfahren, das sich auf digitale Halbtonrastertechniken bezieht, bei denen eine überlappende Schwellenmatrix verwendet wird, um einzelne Pixelwerte für ein Bild zu erzeugen. Wenn die überlappende Schwellenmatrix mit Überlappung verfliest wird, wird die Größe der Gesamtschwellenmatrix reduziert. Die bevorzugte Ausführungsform eines Systems zur Halbtonrasterung unter Verwendung einer überlappenden Schwellenmatrix weist auf eine zentrale Verarbeitungseinheit (CPU), eine Ausgabevorrichtung, einen Direktzugriffsspeicher, einen Festwertspeicher und eine Eingangsschnittstelle. Diese Komponenten sind über einen CPU-Bus gekoppelt. Das System der vorliegenden Erfindung weist ferner auf eine Videoverarbeitungseinheit, einen FIFO- (Silo-)Puffer, eine CPU-Schnittstelleneinheit, eine Vielzahl von Registern, einen Direktzugriffsspeicher und eine Gerätesteuereinheit. Die CPU-Schnittstelle verkoppelt den FIFO-Puffer, die mehreren Register, den RAM mit der CPU zum Empfangen von Pixeldaten, Steuersignalen bzw. anderen Werten. Die Gerätesteuereinheit ist so gekoppelt, daß sie die Videoverarbeitungseinheit und die Ausgabevorrichtung zur Erzeugung von Halbtonbildern mit einer Schwellenmatrix reduzierter Größe steuern kann. Insbesondere steuert die Gerätesteuereinheit eine Schwellenlogik in der Videoverarbeitungseinheit, die die Schwellenmatrix auf die Pixeldaten anwendet, um den Datenstrom zu erzeugen, der an die Ausgabevorrichtung gesendet wird.
- Das Verfahren gemäß der vorliegenden Erfindung weist vorzugsweise die Schritte auf Definieren einer Halbtonzelle und einer minimalen Schwellenmatrix; Abbilden der Schwellenmatrix über einem Darstellungsraum; Bestimmen einer Zeile und einer Spalte in der Schwellenmatrix für das vorherige Pixel des Bildes, das an einen Darstellungsraum übergeben worden ist; Bestimmen, ob das nächste Pixel vertikal oder horizontal an das Pixel angrenzt, das an den Darstellungsraum übergeben worden ist; Bestimmen, ob das nächste Pixel in der Schwellenmatrix ist, die für das vorherige Pixel verwendet wird; und Anpassen der Abbildung, um ein Überlappen der Schwellenmatrix zu bewirken, wenn das nächste Pixel nicht in der Schwellenmatrix ist, die für das vorherige Pixel verwendet wird.
- Die Merkmale der vorliegenden Erfindung gehen aus der ausführlichen Beschreibung, die folgt, unter Berücksichtigung mit den beigefügten Zeichnungen hervor.
- Eine bevorzugte Ausführungsform des Systems und Verfahrens gemäß der vorliegenden Erfindung ist in den und durch die nachfolgenden Zeichnungen dargestellt, in denen gleiche Bezugszeichen gleich Teile bezeichnen und die folgendes zeigen:
- Fig. 1A eine grafische Darstellung eines 45-Grad-Rasters, das durch Verfliesen zweier Halbtonzellen in einer Schwellenmatrix implementiert wird;
- Fig. 1B eine grafische Darstellung eines Musters von Halbtonzellen, die durch Verfliesen der Schwellenmatrix gemäß Fig. 1A erzeugt werden;
- Fig. 2 ein Blockschaltbild einer bevorzugten Ausführungsform des System zur Halbtonrasterung unter Verwendung einer überlappenden Schwellenmatrix;
- Fig. 3 eine überlappende Schwellenmatrix, die aus einem Abbildungsraum ausgeschnitten ist, der ein verfliestes Halbtonmuster enthält;
- Fig. 4 eine Darstellung eines Halbtonmusters, das durch Verfliesen einer überlappenden Schwellenmatrix über dem Darstellungsraum mit einer Überlappung erzeugt wird;
- Fig. 5 eine Darstellung einer überlappenden Schwellenmatrix in bezug auf ein verfliestes Raster, das die entsprechenden Abmessungen anzeigt;
- Fig. 6 eine grafische Darstellung von exemplarischen Fliesen a, b und c während der Abbildung des nächsten horizontalen Darstellungsraumpixels in einer überlappenden Schwellenmatrix;
- Fig. 7 eine grafische Darstellung von exemplarischen Fliesen a, b und c während der Abbildung eines Anfangsdarstellungsraumpixels für die nächste Zeile in einer überlappenden Schwellenmatrix,
- Fig. 8A und 8B Flußdiagramme des bevorzugten Verfahrens zur Durchführung einer Halbtonrasterung unter Verwendung einer überlappenden Schwellenmatrix gemäß der vorliegenden Erfindung.
- Fig. 2 stellt ein typisches mikroprozessorgesteuertes System 20 zur Erzeugung von digitalen Darstellungen von Bildern oder dergleichen gemäß einer Ausführungsform der vorliegenden Erfindung dar. Das System 20 gemäß der vorliegenden Erfindung weist vorzugsweise eine zentrale Verarbeitungseinheit (CPU) 22, einen Bus 24, eine Ausgabevorrichtung 26, einen Direktzugriffsspeicher 28, einen Festwertspeicher 30, eine Eingangsschnittstelle 32 und eine Videoverarbeitungseinheit 34 auf. Der Mikroprozessor oder die CPU 22 ist mit dem CPU Bus 24 verbunden. Das System 20 weist normalerweise eine Ausgabevorrichtung 26, z. B. einen Drucker, auf. Die Ausgabevorrichtung 26 wird verwendet, um Bilder zu drucken, die vom System und Verfahren gemäß der vorliegenden Erfindung erzeugt werden. Eine solche Ausgabevorrichtung 26 kann die Form irgendeines aus der Vielzahl verschiedener Druckgeräte haben. Das System 20 gemäß der vorliegenden Erfindung empfängt Daten von einem anderen System über eine Eingangsschnittstelle 32 und setzt die Daten in ein Bild und in Steuersignale um, um die Ausgabevorrichtung 26 anzusteuern.
- Wie gezeigt, ist als Teil des Computersystem 20 ein Direktzugriffsspeicher (RAM) 28 und ein Festwertspeicher (ROM) 30 vorhanden. Der ROM 30 enthält normalerweise Programmanweisungen (Software) zur Ausführung durch die zentrale Verarbeitungseinheit 22 in allen allgemeinen sowie speziellen Computern. In der Tat sollen die Elemente, die im System 20 enthalten sind, Geräte darstellen, die von Apple-Computer Co., Cupertino, Kalifornien hergestellt sind. Andere Computer mit ähnlichen Fähigkeiten können außerdem angepaßt werden, um unten beschriebene Operationen durchzuführen.
- Außerdem in Fig. 2 dargestellt ist eine Eingangsschnittstelle 32, normalerweise eine Eingabe/Ausgabevorrichtung. Man beachte jedoch, daß der Eingangsanschluß 32 ein serieller Anschuß, ein paralleler Anschluß oder ein Ethernetanschluß sein kann.
- Die Eingabe in die Ausgabevorrichtung 26 erfolgt durch eine Videoverarbeitungeinheit 34. Die Videoverarbeitungseinheit 34 erzeugt eine Videozielbitrasterabbildung zur Anzeige auf der Videoausgabevorrichtung 26. Jedes Bit der Zielbitrasterabbildung entspricht einem Pixel auf der Videoausgabevorrichtung. Daher kann die Zielbitrasterabbildung als zweidimensionale Matrix aus Punkten mit bekannten Koordinaten beschrieben werden.
- Die bevorzugte Ausführungsform des Systems weist ferner einen FIFO-(Silo-)Puffer 36, eine CPU-Schnittstelleneinheit 38, eine Vielzahl von Registern 40, einen Direktzugriffsspeicher 42 und eine Gerätesteuereinheit 44 auf. Diese Komponenten 34, 36, 38, 40, 42 und 44 sind zwischen den CPU-Bus 24 und die Ausgabevorrichtung 26 gekoppelt. In einer bevorzugten Ausführungsform sind diese Komponenten auf einer anwendungsspezifischen integrierten Schaltung (ASIC) aufgebaut.
- Die CPU-Schnittstelleneinheit 38 ist mit den Bus 24 verbunden und wird von der CPU 22 zum Senden und Empfangen von Daten zu/von den Komponenten 36, 40, 42 und 44 verwendet, die zwischen den CPU-Bus 24 und die Ausgabevorrichtung 26 gekoppelt sind. Die CPU-Schnittstelleneinheit 38 dient zum Zugriff auf den CPU-Bus 24. Die CPU-Schnittstelleneinheit 38 leitet bei Bedarf auch Daten zum FIFO-Puffer 36, zu den Registern 40 und zum RAM 42.
- Der FIFO-Puffer 36 wird verwendet, um Pixeldaten zu speichern, die in den Datenstrom umgesetzt werden, der für jedes Pixel, das das Bild bildet, verwendet wird. Der Eingang des FIFO-Puffers 36 ist so gekoppelt, daß Daten vom Speicher 28 über die CPU-Schnittstelleneinheit 38 empfangen werden können. Der Ausgang des FIFO-Puffers 36 ist mit der Videoverarbeitungseinheit 34 gekoppelt.
- Die CPU-Schnittstelle 38 ist auch mit den Registern 40 und mit dem RAM 42 zum Speichern von Steuersignalen, Maskierwerten, Farbvarianzwerten, einer Schwellenmatrix und Videomodulationswerten gekoppelt. Diese Werte werden von der Videoverarbeitungseinheit 34 verwendet, um die Werte auf die Pixeldaten anzuwenden, die vom FIFO-Puffer 36 eingegeben werden, zur Beeinflussung verschiedener Eigenschaften des Druckens, wie es der Fachmann verstehen wird. Die Register 40 werden vorzugsweise zum Speichern von Steuersignalen verwendet. Die Register 40 haben Ausgänge, die mit der Videoverarbeitungseinheit 34 und der Gerätesteuereinheit 44 gekoppelt sind, zum Bereitstellen der Steuersignale, die dort von der CPU 22 gespeichert worden sind. Der RAM 42 speichert vorzugsweise eine Schwellenmatrix, die von der CPU 22 kommend empfangen wird. Wie nachstehend ausführlicher beschrieben, hat die Schwellenmatrix vorzugsweise eine minimale Größe, um eine volle Halbtonzelle abzubilden. Die Schwellenmatrix weist natürlich auch Abschnitte anderer angrenzender Halbtonzellen auf, um die Schwellenmatrix rechteckig zu machen, aber auf jedem Fall enthält die Schwellenmatrix mindestens eine volle Halbtonzelle.
- Die Gerätesteuereinheit 44 ist vorzugsweise mit den mehreren Registern 40 gekoppelt, um Steuersignale von der CPU 22 zu empfangen. Die Gerätesteuereinheit 44 ist auch mit der Videoverarbeitungseinheit 34 gekoppelt, um zusätzliche Steuersignale zur Anwendung der im RAM 42 gespeicherten Werte und insbesondere des Halbtonrasterverfahrens bereitzustellen. Die Gerätesteuereinheit 44 ist außerdem mit der Ausgabevorrichtung 26 gekoppelt, um während der Bereitstellung des Bildes durch das Druckgerät 26 Steuerung und Verständigung zu ermöglichen.
- Das letzte Element des Halbtonrastersystems gemäß der vorliegenden Erfindung ist die Videoverarbeitungseinheit 34. Die Videoverarbeitungseinheit 34 ist vorzugsweise mit dem FIFO-Puffer 36 gekoppelt, um Daten zu empfangen, die das zu druckende Bild bilden. Die Videoverarbeitungseinheit 34 ist mit den Registern 40 gekoppelt, um Steuersignale zum Steuern des Betriebs der Videoverarbeitungseinheit 34 zu empfangen. Die Videoverarbeitungseinheit 34 ist außerdem mit dem RAM 42 gekoppelt, um Werte zu empfangen, um diese auf die Pixel anzuwenden, die das Bild bilden. In diesen Werten sind Werte ihr die Schwellenmatrix enthalten, die bei der Halbtonrasterung verwendet wird. Die Videoverarbeitungseinheit 34 verständigt sich auch mit der Gerätesteuereinheit 44 und empfängt Befehle von dieser. Der Ausgang der Videoverarbeitungseinheit 34 ist mit dem Videoeingang der Ausgabevorrichtung 26 gekoppelt, zur Bereitstellung von Daten, die vom Druckergerät verwendet werden, um das Bild 26 aufzubauen. Insbesondere weist die Videoverarbeitungseinheit 34 eine Schwellenlogik auf, zur Verwendung der im RAM 42 gespeicherten Schwellenmatrix und zum Anwenden dieser auf den ankommenden Datenstrom, der vom FIFO-Puffer 36 bereitgestellt wird. In der Schwellenlogik ist Logik zum richtigen Überlappen der Schwellenmatrix enthalten, wie nachstehend ausführlicher beschrieben wird. Das Überlappen der Schwellenmatrix (Schwellenfeld) erfolgt effektiv dadurch, daß die Adressen, die verwendet werden, um auf die Schwellenmatrix zuzugreifen, mit einem nachstehend offenbarten komplizierterem Adreßschema angepaßt werden, um Übergänge an den Rändern der Schwellenmatrix zu bewirken, wenn ein nächstes Pixel übergeben wird.
- Nach dieser Beschreibung der allgemeinen Systemkonfiguration gemäß der vorliegenden Erfindung werden das spezifische Verfahren und Betriebsabläufe des Systems 20 ausführlicher beschrieben. Obwohl die vorliegende Erfindung mit Bezug auf Fig. 2 bis 8 beschrieben worden ist und weiter beschrieben wird, sollte man beachten, daß die Figuren lediglich zur Darstellung dienen und nicht als Einschränkung der Erfindung angesehen werden sollten.
- Die vorliegende Erfindung betrifft ein System und Verfahren, das überlappende Schwellenmatrizes verwendet, um das gleiche Ergebnis der Rasterdarstellung zu erzeugen, das von herkömmlicher Halbtonrasterung erreicht wird, aber unter Verwendung einer viel kleineren Schwellenmatrix. Das erfindungsgemäße Verfahren verwendet die kleinstmögliche Schwellenmatrix, die erforderlich ist, um eine Halbtonzelle zu definieren, und bildet dann diese Schwellenmatrix über dem gesamten Darstellungsraum ab, so daß sie das richtige Halbtonmuster erzeugt. Dies kann erreicht werden, indem die Schwellenmatrix mit Überlappung "verfliest" wird.
- Die Schwellenmatrix, die erforderlich ist, um durch Überlappung das richtige Halbtonmuster zu erzeugen, kann definiert werden, indem eine Schwellenmatrix aus einem Darstellungsraum ausgeschnitten wird, der mit dem gewünschten Halbtonmuster verfliest ist. Dies ist am besten im Fig. 3 dargestellt, wo eine Schwellenmatrix 50 aus einem Darstellungsraum ausgeschnitten ist, der ein verfliestes Halbtonmuster 52 enthält. Die derartig definierte Schwellenmatrix 50 weist eine Seite auf, die gleich der Summe der rationellen Tangenskoeffizienten für das Halbtonraster ist. Im Gegensatz zur normalen Schwellenmatrix, die per Definition eine ganzzahlige Anzahl von Halbtonzellen enthält, enthält dieser Typ von Schwellenmatrix bei einem Gesamtbereich von bis zu zwei Halbtonzellen ein komplette Halbtonzelle plus Teile von benachbarten Halbtonzellen. Der Schwellenmatrixbereich ist bei 45-Grad-Rastern am größten.
- Das Halbtonmuster wird erzeugt, indem die Schwellenmatrix 50 über dem Darstellungsraum mit Überlappung "verfliest" wird. Dies ist am besten in Fig. 4 dargestellt. Die Schwellenmatrix 50 wird über dem Darstellungsraum repliziert, aber mit einer Überlappung, die mit 54 in Fig. 4 bezeichnet ist.
- Die Reduzierung der Größe der Schwellenmatrix unter Verwendung dieser Technik ist mit Hilfe der oben beschriebenen exemplarischen Raster dargestellt. Die 45-Grad-Matrix in rationellen Tangenskoeffizienten von 4, 4 erfordert die gleiche Schwellenmatrix mit 8 mal 8 Elementen (4 + 4 = 8), wie sie von herkömmlichen digitalen Halbtontechniken gefordert wird. Jedoch erfordert ein Raster mit 4, 5 als Koeffizienten eine Schwellenmatrix von 9 mal 9 Elementen (4 + 5 = 9) im Vergleich zu 41 mal 41 Elementen, die bei einer nicht überlappenden, herkömmlichen Schwellenmatrix erforderlich sind. Schließlich benötigt das 11, 3-Raster eine Schwellenmatrix mit 14 mal 14 oder 196 Elementen im Vergleich zu 130 mal 130 oder 16 900 Elementen bei nicht überlappenden herkömmlichen Matrizes.
- Die Reduzierung der Schwellenmatrixgröße wird auf Kosten einer komplexeren Adreßbestimmung erreicht, die erforderlich ist, um jedes Pixel im Darstellungsraum in ein spezifisches Element in der Schwellenmatrix umzusetzen.
- Das System 20 bildet ein Darstellungsraumpixel entsprechend einer überlappenden Schwellenmatrix in der Hardware für den gesamten Darstellungsraum unter Verwendung eines einzelnen Halbtonrasters richtig ab. Ein Ausgabepixelwert des darstellenden Bauelements wird bestimmt, indem der entsprechende Schwellenmatrixpixelwert mit der gewünschten Helligkeitsstufe verglichen wird. Wenn die gewünschte Helligkeit kleiner als der Schwellenmatrixpixelwert ist, wird das Darstellungsraumpixel ausgeschaltet; anderenfalls wird das Pixel eingeschaltet.
- Das äußerste obere linke Pixel im Abbildungsraum wird an der äußersten oberen linken Position in der Schwellenmatrix abgebildet. Die Halbtonrasterung erfolgt nun zeilenweise, beginnend mit dem äußersten linken Darstellungsraumpixel in jeder Zeile. Die Abbildung zwischen Pixeln im Darstellungsraum und den entsprechenden Schwellenmatrixpixeln können allgemein in zwei Schritten kategorisiert werden:
- 1) Abbilden des Anfangsdarstellungsraumpixels für die nächste Zeile auf der Grundlage des Anfangsdarstellungsraumpixels für die gegenwärtige Zeile; und
- 2) Abbilden des nächsten horizontalen Darstellungsraumpixels auf der Grundlage der gegenwärtigen Darstellungsraumpixelposition.
- Die nachstehenden Abmessungen und Definitionen werden verwendet, um das erfindungsgemäße Verfahren darzustellen, und sind in Fig. 5 in bezug auf ein verfliestes Raster 60 (in schräger Ausrichtung dargestellt) und eine überlappende Schwellenmatrix 62 (in vertikaler Ausrichtung dargestellt) dargestellt:
- w ist die Breite der Schwellenmatrix;
- h ist die Höhe der Schwellenmatrix; und
- A und B sind rationale Tangenskoeffizienten für das Raster.
- Ein spezifisches Element in der Schwellenmatrix 62 kann als t (i, j) bezeichnet werden, wobei gilt:
- i ist die Schwellenspalte, 0 ≤ i ≤ (w - 1); und
- j ist die Schwellenzeile, 0 ≤ j ≤ (h - 1).
- Das äußerste linke obere Element wird als t (0, 0) bezeichnet.
- Die Verfliesungsüberlappung in der horizontalen bzw. vertikalen Richtung wird folgendermaßen ausgedrückt:
- Oh = w - A;
- Ov = B.
- Mit Bezug auf Fig. 6 wird nachstehend die Abbildung des nächsten horizontalen Raumpixels beschrieben. Solange Elemente der Schwellenmatrix in der gleichen Fliese der Schwellenmatrix im Darstellungsraum sind, kann ein angrenzendes Pixel im Darstellungsraum in ein angrenzenden Pixel in der Schwellenmatrix umgesetzt werden. Das gilt sowohl für überlappende als auch für nicht überlappende Schwellenmatrizes. Somit wird das nächste horizontale Raumpixel in das nächste horizontale Pixel in der Schwellenmatrix umgesetzt, solange die gegenwärtige Schwellenpixelposition, die abgebildet wird, nicht die letzte horizontale Position in der Schwellenmatrix ist. Falls die gegenwärtige Schwellenpixelposition die letzte horizontale Pixelposition in der Schwellenmatrix ist, wird die Schwellenmatrixposition in der angrenzenden Fliese der Schwellenmatrix im Darstellungsraum in die Überlegung mit einbezogen. Bei einer nicht überlappenden Konfiguration, wo die rechte Seite der Schwellenmatrix an die linke Seite angrenzt und die untere Seite an die obere Seite angrenzt (ein Toroid nach topologischer Terminologie), ist die letzte horizontale Pixelposition in der Schwellenmatrix einfach die erste Position in der gleichen Zeile der Schwellenmatrix. Wenn die Schwellenmatrizes mit Überlappung im Darstellungsraum "verfliest" werden, wird die Bestimmung der Schwellenmatrixposition komplizierter.
- Wie in Fig. 6 dargestellt, werden Fliesen a, b und c im Darstellungsraum verwendet, um überlappende Schwellenmatrizes 70 (in vertikaler Ausrichtung dargestellt) zu bestimmen. Wenn Elemente der Schwellenmatrix eine Fliese a verlassen (nämlich ~ia = w - 1), treten die Elemente in die Fliese b oder c in Abhängigkeit davon ein, in welcher Zeile in der Fliese a die Matrixelemente gegenwärtig sind (ja). Tatsächlich können bei bestimmten Zeilen die Matrixelemente entweder in die Fliese b oder die Fliese c eintreten. Ein bevorzugtes Verfahren bewirkt die Einführung der Elemente der Matrix, wenn möglich, in die Fliese b, ansonsten in die Fliese c. Dies wird in die folgenden Entscheidungen umgesetzt:
- wenn ja ≤ ((h - 1) - Ov), dann bei ib = Oh, jb = ja + Ov in Fliese b eintreten;
- wenn ja > ((h - 1) - Ov), dann bei ic = 0, jc = ja - (h - Ov) + Ov in Fliese c eintreten,
- wobei Oh und Ov die Fliesenüberlappung in horizontaler bzw. vertikaler Richtung darstellen.
- Bei einer Prüfung sollte man beachten, daß sich, wenn keine Überlappung besteht (Oh = Ov = 0), die vorherigen Entscheidungen auf das folgende Ergebnis reduzieren:
- wenn ja ≤ (h - 1) dann bei ib = 0, jb = ja in die Fliese b eintreten;
- Die Abbildung des nächsten horizontalen Pixels kann dann durch die folgenden Überlegungen bestimmt werden:
- wenn (i < (w - 1)): nächstes (i, j) = (i + 1, j)
- sonst, wenn (j (h - 1) - Ov): nächstes (i, j) = (Oh, j + Ov)
- sonst: nächstes (i, j) = (0, j - (h - Ov) + Ov).
- Mit Bezug auf Fig. 7 wird nachstehend die Abbildung des Anfangsdarstellungsraumpixels für die nächste Zeile beschrieben. Die Abbildung des Anfangsdarstellungsraumpixels für die nächste Zeile gleicht der Abbildung des nächsten horizontalen Darstellungsraumpixels. Wenn die Elemente der Schwellenmatrix in der gleichen Fliese der Schwellenmatrix sind (nämlich wenn das aktuelle Anfangsdarstellungsraumpixel der Zeile nicht in der letzten Zeile in der Schwellenmatrix abgebildet wird), wird die Schwellenmatrixzeile einfach inkrementiert, und die Spalte bleibt die gleiche. Wenn das Anfangsdarstellungsraumpixel der gegenwärtigen Zelle der Schwellenmatrix in der letzten vertikalen Pixelposition in der Schwellenmatrix abgebildet wird, kann die Schwellenmatrixposition in der angrenzenden Fliese der Schwellenmatrix im Darstellungsraum berücksichtigt werden. Bei der einfachen nicht überlappenden Konfiguration ist die Schwellenmatrixposition in der angrenzenden Fliese der Schwellenmatrix im Darstellungsraum einfach die erste Zeile in der gleichen Spalte der Schwellenmatrix. Wenn die Schwellenmatrizes mit Überlappung im Darstellungsraum "verfliest" werden, wird die Bestimmung der Schwellenmatrixposition komplizierter.
- Wie im Fig. 7 dargestellt, werden die Fliesen a, b und c im Darstellungsraum verwendet, um überlappende Schwellmatrizes 80 (dargestellt in vertikaler Ausrichtung) zu bestimmen. Wenn die Elemente der Schwellenmatrix die Fliese a verlassen (d. h. ja = h), treten die Elemente in die Fliese b oder in die Fliese c ein, und zwar in Abhängigkeit davon, in welcher Spalte in der Fliese a die Matrixelemente gegenwärtig sind (ia). Tatsächlich werden bei bestimmten Spalten die Matrixelemente entweder in die Fliese b oder in die Fliese c eingeführt. Dies kann erfolgen, indem eine einfache Regel befolgt wird, bei der die Elemente, wenn möglich, in die Fliese b, ansonsten in die Fliese c eingeführt werden. Dies wird in die folgenden Entscheidungen umgesetzt:
- wenn ia > (Oh - 1), dann bei ib = ia - Oh, jb = Ov in die Fliese b eintreten;
- wenn ia ≤ (Oh - 1), dann bei ic = ia + (w - Oh) - Oh, jc = 0 in die Fliese c eintreten,
- wobei Oh und Ov die Fliesenüberlappung in der horizontalen bzw. vertikalen Richtung darstellen.
- Bei einer Prüfung sollte man beachten, daß sich, wenn keine Überlappung besteht (Oh = Ov = 0), die oben gefällten Entscheidungen auf das folgende Ergebnis reduzieren:
- ia > 0 ≥ in die Fliese b eintreten bei ib = ia, jb = 0;
- Die Abbildung des nächsten vertikalen Pixels kann dann durch die folgenden Überlegungen bestimmt werden:
- wenn (j < h - 1): nächstes (i, j) = (i, j + 1)
- sonst, wenn (i > Oh - 1): nächstes (i, j) = (i - Oh, Ov)
- sonst: nächstes (i, j) = (i + (w - Oh) - Oh, 0).
- Mit Bezug auf Fig. 8A und 8B wird nachstehend ein Flußdiagramm eines bevorzugten Verfahrens zur Durchführung einer Halbtonrasterung mit einer überlappenden Schwellenmatrix dargestellt. Das Verfahren beginnt im Schritt 101, indem eine Halbtonzelle und die kleinste Schwellenmatrix gemäß der vorliegenden Erfindung definiert werden. Auf der Grundlage des gewünschten Rasterwinkels, der in das System gemäß der vorliegenden Erfindung eingegeben wird, erzeugt das Verfahren im Schritt 101 die Schwellenmatrix für mindestens eine Halbtonzelle und Abschnitte einer zweiten. Aus der Rasterwinkeleingabe sind die Werte A und B entweder bekannt oder können leicht berechnet werden. Unter Verwendung der Eingabewerte für A und B bestimmt das Verfahren auch die Werte h, w, Ov und Oh. Die Höhe (h) und die Breite (w) der Schwellenmatrix sind bekannte Werte, nachdem die Schwellenmatrix erzeugt worden ist. Ebenso sind die. Werte der Fliesenüberlappung in der vertikalen (Ov) und der horizontalen (Oh) Richtung bekannt, nachdem die Schwellenmatrix definiert worden ist. Als nächstes bildet das Verfahren gemäß der vorliegenden Erfindung im Schritt 102 den Darstellungsraum in der Schwellenmatrix ab. Beim erste Pixel erfolgt dies durch Abbildung des äußersten oberen linken Pixels des Darstellungsraums im den äußersten oberen linken Punkt t (0,0) in der Schwellenmatrix. Dann bestimmt im Schritt 103 das Verfahren eine Zeile und eine Spalte im Darstellungsraum für das nächste Pixel. Als nächstes bestimmt das Verfahren im Schritt 104, ob das vorherige Pixel, das letzte Pixel in der Zeile des Darstellungsraums war. Wenn nicht, geht das Verfahren im Schritt 110 weiter. Wenn ja, geht das Verfahren über zum Schritt 115 in Fig. 8B.
- Wenn im Schritt 104 bestimmt wurde, daß das vorherige Pixel nicht das letzte Pixel in der Zeile des Darstellungsraumes war, geht das Verfahren im Schritt 110 weiter. Im Schritt 110 bestimmt das Verfahren den entsprechenden Wert in der Schwellenmatrix, die verwendet werden sollte, um zu bestimmen, ob das letzte Pixel ein- oder ausgeschaltet ist. Das Verfahren gemäß der vorliegenden Erfindung bestimmt, ob die Schwellenmatrix des nächsten Pixels in der Schwellenmatrix ist (d. h. ob der nächste Spaltenwert < w - 1). Wenn ja, ist das Pixel in der gleichen Schwellenmatrix, und das Verfahren geht im Schritt 111 weiter. Im Schritt 111 verwendet das Verfahren einen Spaltenwert, der gleich dem Spaltenwert des vorherigen Pixels plus eins ist, und der Zeilenwert ist der gleiche wie der Zeilenwert des vorherigen Pixels. Dann geht das Verfahren zum Schritt 102 über, um das Pixel abzubilden.
- Wenn die Zeile des nächsten Pixels nicht in der Schwellenmatrix ist, wie im Schritt 110 bestimmt, geht das Verfahren im Schritt 112 weiter, um eine weitere Anpassung an das Übertreten aus der Fliese a in die Fliese b oder c durchzuführen. Im Schritt 112 prüft das Verfahren, ob der Zeilenwert für das nächste Pixel größer ist als h minus eins minus Ov. Wenn der Zeilenwert für das nächste Pixel größer als h minus eins minus Ov ist, dann ist das nächst Pixel in der Fliese c, und das Verfahren geht weiter im Schritt 113, indem der Schwellenspaltenwert so angepaßt wird, daß er gleich Oh ist, und der Schwellzeilenwert so angepaßt wird, daß er gleich dem vorherigen Zeilenwert plus Ov ist. Wenn jedoch bestimmt wird, daß der Schwellenzeilenwert für das nächste Pixel nicht größer als h minus eins minus Ov ist, dann geht die Abbildung in die Fliese b über, und das Verfahren paßt im Schritt 114 den Schwellenspaltenwert so an, daß er gleich null ist, und paßt den Schwellenzeilenwert so an, daß er gleich dem Zeilenwert des vorherigen Pixels minus h plus 2 · Ov ist. Entweder nach dem Schritt 113 oder 114 geht das Verfahren weiter mit 102, um das Pixel abzubilden.
- Wenn im Schritt 104 bestimmt wurde, daß das vorherige Pixel das letzte Pixel in der Zeile des Darstellungsraums war, geht das Verfahren im Schritt 115 in Fig. 8B weiter. Im Schritt 115 prüft das Verfahren, ob die vorherige Zeile die letzte abzubildende Zeile des Darstellungsraums war. Wenn ja, ist das Verfahren abgeschlossen und endet. Wenn nicht, geht das Verfahren im Schritt 105 weiter. Im Schritt 105 bestimmt das Verfahren den entsprechenden Wert in der Schwellenmatrix, der verwendet werden sollte, um zu bestimmen, ob das nächste Pixel ein- oder ausgeschaltet ist. Die Adresse in der Schwellenmatrix kann einfach an die Koordinaten des nächsten Pixels genau angepaßt werden, wie bei den bekannten Halbtonrasterverfahren, außer wenn das vorherige Pixel an der Grenze der Schwellenmatrix lag. Wenn das vorherige Pixel an der Grenze der Schwellenmatrix lag, muß die Position des nächsten Pixels wegen der Verwendung der überlappenden Schwellmatrizes weiter angepaßt werden, wie oben beschreiben. Um diese weitere Anpassung durchzuführen, bestimmt das Verfahren der vorliegenden Erfindung, ob die Schwellenzeile des nächsten Pixels in der Schwellenmatrix ist (d. h. ob der nächste Zeilenwert < h - 1). Wenn ja, ist das Pixel in der gleichen Schwellenmatrix, und das Verfahren geht weiter im Schritt 106. Im Schritt 106 verwendet das Verfahren den Zeilenwert, der gleich dem Zeilenwert des vorherigen Pixels plus eins ist, und einen Spaltenwert, der gleich dem Spaltenwert des vorherigen Pixels ist. Dann geht das Verfahren zum Schritt 102 über, um das Pixel abzubilden.
- Wenn die Schwellenzeile des nächsten Pixels nicht in der Schwellenmatrix ist, geht das Verfahren weiter im Schritt 107, um weitere Anpassungen an das Übertreten aus der Fliese a in die Fliese b oder c durchzuführen, wie oben erwähnt. Im Schritt 107 prüft das Verfahren, ob der Schwellenspaltenwert für das nächste Pixel größer als Oh minus eins ist. Wenn der Schwellenspaltenwert für das Pixel größer als Oh minus eins ist, dann ist das nächste Pixel in der Fliese b, und das Verfahren geht im Schritt 108 weiter, indem der Schwellenspaltenwert an den erhöhten Spaltenwert minus Oh und der Schwellenzeilenwert so angepaßt wird, daß er gleich Ov ist. Wenn jedoch bestimmt wird, daß der Schwellenspaltenwert für das nächst Pixel nicht größer als Oh minus eins ist, dann geht die Abbildung in Fliese c über, und das Verfahren paßt im Schritt 109 den Schwellenzeilenwert so an, daß er null ist, und paßt den Schwellenspaltenwert so an, daß er gleich dem Spaltenwert des vorherigen Pixels plus w minus 2 · Oh ist. Entweder nach dem Schritt 109 oder nach dem Schritt 108 geht das Verfahren weiter im Schritt 102, um das Pixel abzubilden.
- Obwohl die vorliegende Erfindung mit Bezug auf Fig. 2 bis 8 beschrieben ist, beachte man, daß die Figuren nur zur Darstellung dienen und nicht als Einschränkungen der Erfindung aufzufassen sind.
Claims (21)
1. Vorrichtung zur Halbtonrasterung unter Verwendung einer überlappenden Schwellenmatrix, wobei die
Vorrichtung aufweist:
eine Eingangsanschlußschnittstelle (32) zum Empfangen von mit Halbtönen zu druckenden Daten,
wobei die Eingangsanschlußschnittstelle einen Eingang und einen Ausgang hat, wobei der Ausgang der
Eingangsanschlußschnittstelle mit einem Bus (24) gekoppelt ist;
eine Speichereinrichtung zum Speichern von Anweisungen, einer Schwellenmatrix und von Daten,
wobei die Speichereinrichtung einen Eingang und einen Ausgang hat, wobei der Eingang und der Ausgang der
Speichereinrichtung mit dem Bus gekoppelt ist;
eine zentrale Verarbeitungseinheit (CPU) (22) zur Verarbeitung von Daten von der
Eingangsanschlußschnittstelle und der Speichereinrichtung unter Verwendung von Anweisungen von der
Speichereinrichtung, um einen Datenstrom zu bilden, der ein Bild darstellt, wobei die CPU (22) Eingänge und
Ausgänge aufweist, die mit dem Bus (24) gekoppelt sind;
eine Videoverarbeitungseinheit (34) mit einem Eingang und einem Ausgang zum Vergleichen des
Datenstroms von der CPU (22) mit einer Schwellenmatrix, um Pixelwerte zu erzeugen, wobei der Eingang der
Videoverarbeitungseinheit (34) mit dem Bus (24) gekoppelt ist, und einer Schwellenlogik zum Adressieren der
Schwellenmatrix und zum Anwenden der in der Schwellenmatrix befindlichen Werte auf den Datenstrom,
wobei die Schwellenlogik eine Einrichtung zum Überlappen der Schwellenmatrix aufweist, und
eine Ausgabevorrichtung (26) mit einem Eingang zum Aufnehmen von Pixelwerten von der
Videoverarbeitungseinheit (34) in ein Bild, wobei die Ausgangsvorrichtung (26) das Bild in sichtbarer Form
erzeugt, wobei der Eingang der Ausgabevorrichtung mit dem Ausgang der Videoverarbeitungseinheit gekoppelt
ist.
2. Vorrichtung nach Anspruch 1, wobei die Ausgabevorrichtung (26) eine Druckervorrichtung ist.
3. Vorrichtung nach Anspruch 1, wobei die Speichereinrichtung einen Direktzugriffsspeicher (42)
aufweist und Steuersignale, Maskierwerte, Farbvarianzwerte und Videomodulationswerte speichert.
4. Vorrichtung nach Anspruch 1, wobei die Speichereinrichtung eine Schwellenmatrix aufweist, wobei
die Schwellenmatrix die kleinstmögliche Matrix ist, die erforderlich ist, um eine einzelne Halbtonzelle zu
definieren.
5. Vorrichtung nach Anspruch 1, wobei die Speichereinrichtung eine Schwellenmatrix aufweist und die
Schwellenmatrixgröße kleiner oder gleich der Fläche ist, die erforderlich ist, um zwei Halbtonzellen zu
definieren.
6. Vorrichtung nach Anspruch 1, ferner mit:
einem FIFO-Puffer (36) mit einem Eingang und einem Ausgang zum Speichern des Datenstroms, der
zur Bildung des Bildes verwendet wird, wobei der Eingang des FIFO-Puffers mit dem Bus (24) gekoppelt ist,
um Daten von der CPU (22) zu empfangen, und der Ausgang des FIFO-Puffers mit dem Eingang der
Videoverarbeitungseinheit gekoppelt ist;
einer Vielzahl von Registern (40) mit einem Eingang, einem Druckervorrichtungsausgang und einem
Videoausgang zum Speichern von Druckervorrichtungs- und Videoveraibeitungseinheitssteuersignalen, wobei
der Eingang der Register mit dem Bus (24) gekoppelt ist und der Videoausgang mit dem Eingang der
Videoverarbeitungseinheit gekoppelt ist; und
einer Druckervorrichtungssteuereinheit (44) mit einem Eingang und einem Ausgang, zum Steuern der
Halbtonrasterung und des Druckens der Ausgabevorrichtung (26) und zum Steuern der
Videoverarbeitungseinheit (34), wobei der Eingang der Druckervorrichtungssteuereinheit mit dem
Druckervorrichtungsausgang der Register gekoppelt ist und der Ausgang der Druckervorrichtungssteuereinheit
mit der Ausgabevorrichtung und der Videoverarbeitungseinheit (34) gekoppelt ist.
7. Verfahren zur Darstellung eines Halbtonrasters, das im Darstellungsraum vorhanden ist und identische
replizierte Halbtonzellen aufweist, mit einer Schwellenmatrix (50), die nach Zeilen und Spalten adressierbar ist,
wobei das Verfahren die Schritte aufweist:
Wählen eines Abschnitts des Halbtonrasters zur Darstellung mittels der Schwellenmatrix (50), so daß
die Schwellenmatrix eine Seite hat, die gleich der Summe der rationalen Tangenskoeffizienten für das
Halbtonraster hat; und
Replizieren der Schwellenmatrix und Überlappen von Abschnitten (54) der Schwellenmatrix (50) mit
einem Darstellungsraum.
8. Verfahren nach Anspruch 7, außerdem mit den Schritten des Abbildens eines Pixels in dem
Darstellungsraum für eine Zeile der Schwellenmatrix auf der Grundlage eines Pixels in dem Darstellungsraum
entsprechend einer vorherigen Zeile der Schwellenmatrix.
9. Verfahren nach Anspruch 7, außerdem mit dem Schritt des Abbildens eines Pixels in dem
Darstellungsraum für eine Zeile der Schwellenmatrix auf der Grundlage eines unmittelbar vorhergehenden
Pixels in der Zeile der Schwellenmatrix.
10. Verfahren nach Anspruch 7, außerdem mit dem Schritt des Abbildens eines Pixels in dem
Darstellungsraum für eine Spalte der Schwellenmatrix auf der Grundlage eines Pixels in dem Darstellungsraum
entsprechend einer vorherigen Spalte der Schwellenmatrix.
11. Verfahren nach Anspruch 7, außerdem mit dem Schritt des Abbildens eines Pixels in dem
Darstellungsraum für eine Spalte der Schwellenmatrix auf der Grundlage eines unmittelbar vorhergehenden
Pixels in der Spalte der Schwellenmatrix.
12. Verfahren nach Anspruch 7, wobei der Schritt des Replizierens der Schwellenmatrix ferner den Schritt
aufweist:
Überlappen der Schwellenmatrix in der horizontalen Richtung um einen Betrag, der gleich der
Differenz zwischen der Breite der Schwellenmatrix und dem rationalen Tangenskoeffizienten in der
horizontalen Richtung ist.
13. Verfahren nach Anspruch 7, wobei der Schritt des Replizierens der Schwellenmatrix ferner den Schritt
aufweist:
Überlappen der Schwellenmatrix in der vertikalen Richtung um einen Betrag, der gleich dem
rationalen Koeffizienten in der vertikalen Richtung ist.
14. Verfahren zur Durchführung einer Halbtonrasterung für gedruckte Bilder unter Verwendung einer
überlappenden Schwellenmatrix, wobei das Verfahren die Schritte aufweist:
Definieren einer Halbtonzelle und einer minimalen Schwellenmatrix als die überlappende
Schwellenmatrix;
Abbilden der Schwellenmatrix über einem Darstellungsraum;
Bestimmen einer Zeile und einer Spalte in der Schwellenmatrix für ein vorheriges Pixel des Bildes,
das an einen Darstellungsraum übergeben worden ist;
Bestimmen, ob das nächste Pixel innerhalb der für das vorherige Pixel verwendeten Schwellenmatrix
liegt;
Anpassen der Abbildung, um ein Überlappen der Schwellenmatrizen zu bewirken, wenn das nächste
Pixel nicht innerhalb der für das vorherige Pixel verwendeten Schwellenmatrix liegt; und
Durchführen einer Halbtonrasterung unter Verwendung der angepaßten Abbildung.
15. Verfahren nach Anspruch 14, wobei der Schritt des Definierens einer Halbtonzelle und einer
minimalen Schwellenmatrix aufweist:
Ausbilden einer Schwellenmatrix mit Seiten, die gleich der Summe der rationalen
Tangenskoeffizienten für das Halbtonraster sind, wobei die Matrix eine vollständige Halbtonzelle aufweist.
16. Verfahren nach Anspruch 14, wobei der Schritt des Abbildens der Schwellenmatrix über dem
Darstellungsraum mit einem Abbilden des oberen äußersten linken Pixels im Darstellungsraum bis zum oberen
äußersten linken Platz in der Schwellenmatrix beginnt.
17. Verfahren nach Anspruch 14, wobei der Schritt des Durchführens einer Halbtonrasterung unter
Verwendung der angepaßten Abbildung zeilenweise von einer ersten Zeile und beginnend mit dem äußersten
linken Darstellungspixel in jeder Zeile erfolgt.
18. Verfahren nach Anspruch 14, wobei der Schritt des Bestimmens, ob das nächste Pixel innerhalb der
Schwellenmatrix liegt, ferner die Schritte aufweist:
Bestimmen, ob das nächste Pixel vertikal mit dem Pixel benachbart ist, das vorher in einem
Darstellungsraum abgebildet worden ist; und
Bestimmen, ob die Zeile des nächsten Pixels innerhalb der Schwellenmatrix liegt.
19. Verfahren nach Anspruch 18, wobei der Schritt des Anpassens der Abbildung, um ein Überlappen der
Schwellenmatrizen zu ermöglichen, ferner die Schritte aufweist:
Verwenden des gleichen Spaltenwertes wie das vorherige Pixel und eines Zeilenwertes aus dem
vorherigen Zeilenwert plus eins für eine Schwellenabbildung, wenn das Pixel innerhalb der Schwellenmatrix für
das vorherige Pixel liegt;
Verwenden eines Zeilenwertes einer vertikalen Überlappung der Schwellenmatrizen und eines
Spaltenwertes aus dem vorherigen Spaltenwert minus einer horizontalen Überlappung der Schwellenmatrizen
für eine Schwellenabbildung, wenn das Pixel nicht innerhalb der Schwellenmatrix für das vorherige Pixel liegt
und der Spaltenwert für das nächste Pixel vor einer Anpassung größer ist als die horizontale Überlappung der
Schwellenmatrizen; und
Verwenden eines Wertes null und eines Spaltenwertes aus dem vorherigen Spaltenwert plus der
Breiten der Schwellenmatrix minus dem Zweifachen der horizontalen Überlappung der Schwellenmatrizen für
eine Schwellenabbildung, wenn das Pixel nicht innerhalb der Schwellenmatrix für das vorherige Pixel liegt und
der Spaltenwert für das nächste Pixel vor einer Anpassung nicht größer ist als die horizontale Überlappung der
Schwellenmatrizen.
20. Verfahren nach Anspruch 14, wobei der Schritt des Bestimmens, ob das nächste Pixel innerhalb der
Schwellenmatrix liegt, ferner die Schritte aufweist:
Bestimmen, ob das nächste Pixel horizontal mit dem Pixel benachbart ist, das vorher im
Darstellungsraum abgebildet wurde; und
Bestimmen, ob die Spalte des nächsten Pixels innerhalb der Schwellenmatrix liegt.
21. Verfahren nach Anspruch 20, wobei der Schritt der Anpassens der Abbildung, um eine Überlappung
von Schwellenmatrizen zu ermöglichen, ferner die Schritte aufweist:
Verwenden des gleichen Zeilenwertes wie das vorherige Pixel und eines Spaltenwertes aus dem
vorherigen Spaltenwert plus eins für eine Schwellenabbildung, wenn das Pixel innerhalb der Schwellenmatrix
für das vorherige Pixel liegt;
Verwenden eines Zeilenwertes aus dem vorherigen Zeilenwert plus einer vertikalen Überlappung der
Schwellenmatrizen und eines Spaltenwertes der horizontalen Überlappung der Schwellenmatrizen für eine
Schwellenabbildung, wenn das Pixel nicht innerhalb der Schwellenmatrix für das vorherige Pixel liegt und der
Zeilenwert für das nächste Pixel vor einer Anpassung größer ist als die Höhe der Schwellenmatrix minus der
vertikalen Überlappung der Schwellenmatrizen; und
Verwenden eines Zeilenwertes aus dem vorherigen Zeilenwert minus der Höhe der Schwellenmatrix
plus dem Zweifachen der vertikalen Überlappung der Schwellenmatrizen und eines Spaltenwertes null für eine
Schwellenabbildung, wenn das Pixel nicht innerhalb der Schwellenmatrix für das vorherige Pixel und der
Zeilenwert für das nächste Pixel vor einer Anpassung nicht größer ist als die Höhe der Schwellenmatrix minus
der vertikalen Überlappung der Schwellenmatrizen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/129,998 US5542029A (en) | 1993-09-30 | 1993-09-30 | System and method for halftoning using an overlapping threshold array |
PCT/US1994/010918 WO1995009508A1 (en) | 1993-09-30 | 1994-09-27 | System and method for halftoning using an overlapping threshold array |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69423224D1 DE69423224D1 (de) | 2000-04-06 |
DE69423224T2 true DE69423224T2 (de) | 2000-09-28 |
Family
ID=22442562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69423224T Expired - Lifetime DE69423224T2 (de) | 1993-09-30 | 1994-09-27 | System und verfahren zur halbtonrasterung unter verwendung einer überlappenden schwellenmatrix |
Country Status (5)
Country | Link |
---|---|
US (1) | US5542029A (de) |
EP (1) | EP0721724B1 (de) |
AU (1) | AU7920494A (de) |
DE (1) | DE69423224T2 (de) |
WO (1) | WO1995009508A1 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729663A (en) * | 1995-12-07 | 1998-03-17 | Xerox Corporation | Method and apparatus for gray screening |
JPH10173923A (ja) * | 1996-12-16 | 1998-06-26 | Oki Data:Kk | 網点型ディザパタ−ンの生成装置並びにその方法 |
US5809217A (en) * | 1997-01-10 | 1998-09-15 | Hewlett-Packard Company | Method and apparatus for deriving additional gray levels in a multi-gray level halftone image |
US6014226A (en) * | 1997-07-01 | 2000-01-11 | Xerox Corporation | Multilevel halftoning with reduced texture contours and coverage control |
US6512597B1 (en) | 1999-11-17 | 2003-01-28 | Lexmark International, Inc. | Method and apparatus for correcting unadjusted threshold arrays for halftoning by use of parameterized transfer functions that generate adjusted threshold arrays at run time |
US7009736B2 (en) * | 2000-12-22 | 2006-03-07 | Texas Instruments Incorporated | Tile map based multi-level supercell screening |
US7477421B2 (en) * | 2005-02-04 | 2009-01-13 | Kabushiki Kaisha Toshiba | Halftoning system |
JP4412248B2 (ja) * | 2005-07-05 | 2010-02-10 | セイコーエプソン株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4185304A (en) * | 1977-07-07 | 1980-01-22 | Xerox Corporation | Electronic halftone screening |
AU605298B2 (en) * | 1987-05-29 | 1991-01-10 | Digital Equipment Corporation | System for producing dithered images on asymmetric grids |
US5122883A (en) * | 1990-03-02 | 1992-06-16 | Xerographic Laser Images Corporation | Raster scanning engine driver which independently locates engine drive signal transitions within each pixel |
GB9008318D0 (en) * | 1990-04-12 | 1990-06-13 | Crosfield Electronics Ltd | Methods and apparatus for half-tone imaging |
JP2598723B2 (ja) * | 1990-06-28 | 1997-04-09 | 大日本スクリーン製造株式会社 | 網点画像作成装置 |
EP0499738B1 (de) * | 1991-02-08 | 1996-12-27 | Adobe Systems Inc. | Punktgrössesteuerverfahren bei digitaler Halbtonrasterung mit mehrzelliger Schwellenmatrix |
US5285291A (en) * | 1991-02-08 | 1994-02-08 | Adobe Systems Incorporated | Methods of assigning pixels to cells of a halftone grid |
US5124803A (en) * | 1991-02-25 | 1992-06-23 | Ecrm | Method and apparatus for generating digital, angled halftone screens using pixel candidate lists and screen angle correction to prevent moire patterns |
US5150428A (en) * | 1991-04-01 | 1992-09-22 | Eastman Kodak Company | Method for generating halftone image data with randomly selected threshold array |
US5267054A (en) * | 1991-06-26 | 1993-11-30 | Sun Microsystems, Inc. | Method and apparatus for the reduction of memory space required for a digital halftone system |
-
1993
- 1993-09-30 US US08/129,998 patent/US5542029A/en not_active Expired - Lifetime
-
1994
- 1994-09-27 EP EP94929899A patent/EP0721724B1/de not_active Expired - Lifetime
- 1994-09-27 DE DE69423224T patent/DE69423224T2/de not_active Expired - Lifetime
- 1994-09-27 AU AU79204/94A patent/AU7920494A/en not_active Abandoned
- 1994-09-27 WO PCT/US1994/010918 patent/WO1995009508A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
AU7920494A (en) | 1995-04-18 |
EP0721724B1 (de) | 2000-03-01 |
EP0721724A1 (de) | 1996-07-17 |
WO1995009508A1 (en) | 1995-04-06 |
DE69423224D1 (de) | 2000-04-06 |
US5542029A (en) | 1996-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69634040T2 (de) | Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern | |
DE69225574T2 (de) | Farbbildverarbeitung | |
DE69133044T2 (de) | Punktgrössensteuerverfahren bei digitaler Halbtonrasterung mit mehrzelligen Schwellenmatrix | |
DE69611573T2 (de) | Auflösungserhöhung mit Standardvergleichsmustern | |
DE68922312T2 (de) | Elektronische vorrichtung zur halbtonrasterung graphischer vorlagen, die moiremuster unterdrückt, mit verwendung von pseudo-zufälliger zeichensatzauswahl. | |
DE69413934T2 (de) | Verfahren und Einrichtung zur Steuerung der Verarbeitung von digitalen Bildsignalen | |
DE69323237T2 (de) | Bildgenerator hoher Adressierbarkeit unter Benutzung einer Pseudo-Interpolation von Video- und Bildschirmdaten | |
DE68928744T2 (de) | Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen | |
DE69935120T2 (de) | Automatische Verbesserung der Druckqualität basiert auf Grösse, Form, Orientierung und Farbe von Strukturen | |
DE69622961T2 (de) | Verfahren und Vorrichtung zur Darstellung von Zeichen | |
DE69521166T2 (de) | Untersystem und Verfahren zur Korrektur von Daten für die Bildverarbeitung | |
DE69819608T2 (de) | Mehrpegelige Halbtonrasterung mit Rändern verringerter Textur und Deckungssteuerung | |
DE69428061T2 (de) | Paralleles Fehlerdiffusionsverfahren und -gerät | |
DE68928557T2 (de) | Bildverarbeitungsgerät und -methode | |
DE69618901T2 (de) | Verfahren und Vorrichtung zum Drehen von Bitmapbildern mit hoher Adressierbarkeit | |
DE10137164A1 (de) | Graustufen-Halbton-Bearbeitung | |
DE69706763T2 (de) | Verfahren und Vorrichtung zum selektiven Bearbeiten von abgetasteten Bildvorlagen | |
DE10136423A1 (de) | Kantenverbesserung von Graustufenbildern | |
DE3875467T2 (de) | Geraet zur erzeugung eines zweidimensional farbanzeige. | |
DE10137211A1 (de) | Kantenverbesserungsprozessor und Verfahren mit einstellbarer Graustufenausgabe | |
DE68922674T2 (de) | Bildverarbeitungsverfahren und -anordnung. | |
EP1222810B1 (de) | Verfahren zur druckprozessanpassung mit erhaltung des schwarzaufbaus | |
DE69416202T2 (de) | Bildelementfehlerdiffusionsverfahren | |
DE69710234T2 (de) | Verfahren zum Verbessern der Druckqualität von Druckern mit wenigstens einer höheren Auflösung in einer Richtung | |
DE68904356T2 (de) | Bildverarbeitung. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: APPLE INC., CUPERTINO, CALIF., US |