DE69423224T2 - System und verfahren zur halbtonrasterung unter verwendung einer überlappenden schwellenmatrix - Google Patents

System und verfahren zur halbtonrasterung unter verwendung einer überlappenden schwellenmatrix

Info

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
Application number
DE69423224T
Other languages
English (en)
Other versions
DE69423224D1 (de
Inventor
L. Karlsson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Application granted granted Critical
Publication of DE69423224D1 publication Critical patent/DE69423224D1/de
Publication of DE69423224T2 publication Critical patent/DE69423224T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4055Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
    • H04N1/4058Halftoning, 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

    HINTERGRUND DER ERFINDUNG 1. GEBIET DER ERFINDUNG
  • 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.
  • 2. BESCHREIBUNG DES STANDES DER TECHNIK
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 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 &le; (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 &ge; 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.
DE69423224T 1993-09-30 1994-09-27 System und verfahren zur halbtonrasterung unter verwendung einer überlappenden schwellenmatrix Expired - Lifetime DE69423224T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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