DE69825680T2 - Drucker mit prozedur zur muster-feldeinteilung und -skalierung - Google Patents

Drucker mit prozedur zur muster-feldeinteilung und -skalierung Download PDF

Info

Publication number
DE69825680T2
DE69825680T2 DE69825680T DE69825680T DE69825680T2 DE 69825680 T2 DE69825680 T2 DE 69825680T2 DE 69825680 T DE69825680 T DE 69825680T DE 69825680 T DE69825680 T DE 69825680T DE 69825680 T2 DE69825680 T2 DE 69825680T2
Authority
DE
Germany
Prior art keywords
pixel
bitmap
pattern
region
reference pattern
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 - Fee Related
Application number
DE69825680T
Other languages
English (en)
Other versions
DE69825680D1 (de
Inventor
Marcus A. Smith
Christopher T. Creel
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE69825680D1 publication Critical patent/DE69825680D1/de
Application granted granted Critical
Publication of DE69825680T2 publication Critical patent/DE69825680T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf eine Umwandlung von Bildern aus einem Zwischencodeformat in eine rasterisierte Bittabelle, die zum Drucken geeignet ist, und insbesondere für eine Rasterisierungsprozedur, die eine „Gerade-Rechtzeitig"-Feldeinteilung und -Skalierung eines Musterbildes für das rasterisierte Bild liefert.
  • Hintergrund der Erfindung
  • Moderne Laser- und Tintenstrahldrucker empfangen im allgemeinen Bilddaten von einem Host-Prozessor, wobei die Bilddaten entweder in einem Steuersprachenformat oder einem Bittabellenformat auf Pixelbasis formatiert sind. Wenn der Host-Prozessor Bilddaten in einem Steuersprachenformat (z. B. Printer Control Language (PCL; Druckersteuerungssprache), PostScript, usw.) liefert, parst bzw. analysiert der empfangende Drucker zu Beginn die Steuersprache syntaktisch in ein „Seitenzwischen"-Format. Das Seitenzwischenformat trennt eine Seite von Daten in Seitenstreifen auf, die als einstückige Einheiten gehandhabt werden und eine Erhaltung eines Rasterpufferspeicher ermöglichen. Ein Drucker kann z. B. einen ausreichenden Pufferspeicher zur Handhabung von nur drei Seitenstreifen zuweisen, wohingegen eine gesamte Seite 8 bis 10 Seitenstreifen aufweisen kann. Durch ein serielles Handhaben der Seitenstreifen können Seitenstreifenpufferspeicherregionen für nachfolgende Seitenstreifen wiederverwendet werden, wodurch Speicherraum für andere Druckerfunktionen erhalten wird.
  • Jeder Seitenzwischenseitenstreifen wird durch einen Rasterisierer in ein Bittabellenformat umgewandelt, das geeignet zur Wiedergabe durch eine angeschlossene Druckermaschine (d. h. entweder eine Laser-, Tintenstrahl- oder ähnliche Druckmaschine) ist. Die Rasterisiererfunktion wird in Hochleistungsdruckern oft durch einen Bildprozessorchip durchgeführt, dessen Operationen durch ein Steuerprogramm gesteuert werden.
  • Es gibt zwei allgemeine Befehlskategorien, die der Bildprozessor versteht: (I) einen Seitenzwischenbeschreiber eines geometrischen Objekts oder eines vorrasterisierten Bildes und (II) Graphikzustandsinformationen. Geometrieobjektinformationen ermöglichen es dem Bildprozessor, geeignete Pixel in einem gegenwärtigen Seitenstreifen einzustellen, um die bestimmten Parameter eines geometrischen Objekts widerzuspiegeln. In einem Sinn zieht der Bildprozessor das Objekt in den gegenwärtigen Seitenstreifen. Derartige Geometrieobjekte umfassen: Regeloperationen; Trapezoperationen; kurze, dünne Vektoroperationen; kurze Dreiecksoperationen; usw. Vorrasterisierte Bilder werden „wie sie sind" gehandhabt, da sie bereits in einer rasterisierten Form vorliegen und deshalb direkt der Druckmaschine zugeführt werden können. Ein weiterer Satz von Objekten, die dem Bildprozessor zugeführt werden, sind „Graphikzustands"-Objekte, die Muster, Abschneidefenster, verschiedene Logikoperationen, usw. umfassen.
  • Wenn der Bildprozessor mit Seitenzwischendaten beliefert wird, einschließlich sowohl Geometrieobjektbeschreibungen als auch Graphikzustandsinformationen, werden derartige Informationen in der Form einer Anzeigeliste vorgelegt. Anzeigelisten sind statische Strukturen, die entweder Markierungs- oder Nichtmarkierungsobjekte enthalten. Innerhalb einer bestimmten Anzeigeliste ist die Reihenfolge von Nichtmarkierungs- zu Markierungsobjekten wichtig. Da die Anzeigeliste in einer Zuerst-Hinein/Zuerst-Hinaus-Weise durchlaufen wird, müssen die Graphikzustandsobjekte allen Markierungsobjekten voraus gehen, da das Markierungsobjekt von dem Zustand abhängen kann, der aus vorherigen Objekten aufgebaut ist. Es ist z. B. die Aufgabe des Programmierers, die Anzeigeliste aufzubauen, um zu gewährleisten, dass roten Vektorobjekten alle Graphikzustandsobjekte voraus gehen, die nötig sind, um einen roten ausgefüllten Vektor zu beschreiben (oder in jeder weiteren spezifizierten Farbe).
  • Musterbeschreibungen werden durch ein Musteranzeigelistenobjekt angezeigt. Ein Muster ist eine Anordnung von Pixeln für einen Bildbereich, der mit dem Muster gefüllt werden soll, was ein sich wiederholendes Hintergrundbild liefert. Im Gegensatz zu der Farbe zeigen Muster keine Farbe an, vielmehr maskieren (oder verstecken) sie eine Farbe. Farb- und Musterobjekte werden an den Bildprozessor gesandt, der die jeweiligen Operatoren kombiniert, um die erwünschte Farbraumdarstellung der empfangenen Musteranordnung bereitzustellen.
  • Oft muss ein empfangenes Muster skaliert und/oder einer Feldeinteilung unterzogen werden, um in gegenwärtige Abmessungen eines Markierungsobjekts (z. B. eines Quadrats, Dreiecks, Rechtecks, usw.) zu passen. Eine Musterskalierung muss jedes Mal auftreten, wenn das Muster nicht in das vom Benutzer definierte oder Vorgabe-Eingangsfenster passt. Skala-Inkonsistenzen müssen vor der Durchführung einer Feldeinteilung angegangen werden. Es wird z. B. ein sehr kleines Muster betrachtet, das von dem Host-Prozessor heruntergeladen wird. Der Host-Prozessor, der Übertragungszeit und Verarbeitungsziele erhalten möchte, sendet eine „Thumbnail"-Darstellung bzw. eine verkleinerte Darstellung des Musters an den Drucker. Gemeinsam mit der verkleinerten Darstellung sendet der Host-Prozessor Skalierungsverhältnisse durch ein Einrichten von Zielfensterparametern, die größer sind als das Quellenfenster. Bevor das Muster durch den Drucker verbraucht wird, muss es auf das Zielfenster skaliert werden. Die Musterskalierung ähnelt einer allgemeinen Rasterskalierung sehr stark und verwendet tatsächlich die gleichen Algorithmen.
  • Wenn eine Drucker ein Musterbild rasterisiert, wird auf einzelne Abtastlinien des Musters wie erforderlich zugegriffen. Wenn der Bildprozessor einen Abschnitt einer Abtastlinie füllen möchte, der größer als die Musterbreite ist, wird das Muster einer „Feldeinteilung" (Tiling) unterzogen, d. h. wiederholt, um die Abtastlinie zu füllen. Eine Musterfeldeinteilung tritt auf, wenn ein Skalamuster nicht ausreichend groß ist, um den Oberflächenbereich des Markierungsobjekts von der Anzeigeliste zu bedecken. Dies erfordert den Bedarf einer erneuten Indexierung durch die Feldeinteilungsdarstellung des Musters und einer erneuten Verwendung zuvor verwendeter Abschnitte.
  • Da der Bildprozessor die Feldeinteilungsaktion unterstützt, kann der Programmierer die erforderliche Menge an Speicher reduzieren, indem Speicher zur ausschließlichen Speicherung der eindeutigen Abschnitte eines Muster zugewiesen wird, die dann wie erforderlich wiederverwendet werden.
  • Die Bildverarbeitungsfunktion in einem Drucker muss während einer Feldeinteilungsoperation in der Lage sein, ein Feld eines Musters an jeder Stelle auf einem Seitenstreifen zu verankern und dennoch das Muster einer Feldeinteilung zu unterziehen, obwohl dies an dem Ursprungspunkt X = 0, Y = 0 des Seitenstreifens verankert ist (oder sich nahe an demselben befindet) – d. h. im allgemeinen der oberen linken Ecke des Seitenstreifens. Ferner muss, da Seitenstreifen gedruckt werden, einer nach dem anderen, die Länge einer Seite hinunter, die Periodizität eines Musters von Seitenstreifen zu Seitenstreifen beibehalten werden, wobei es andernfalls Diskontinuitäten in dem Musterbild an den Seitenstreifengrenzen gibt. So muss, wenn ein Muster in einem Seitenstreifen auftaucht, die „Phase" des Musters konsistent von Seitenstreifen zu Seitenstreifen in der Feldein teilungsaktion gehandhabt werden, um derartige Diskontinuitäten zu vermeiden. Als ein Ergebnis gibt die Notwendigkeit, ein Muster an jeder Stelle innerhalb eines Seitenstreifens verankern zu können, vor, dass die geeigneten Pixelpositionen, auf die in dem Muster zugegriffen wird, angesichts der Position des Ursprungsmusterankers und des Ankers des Objekts, das durch das Muster gefüllt werden soll, gefunden werden können müssen.
  • Drucker des Stands der Technik haben allgemein die Skalierung, Feldeinteilung und Verankerung von Musteranordnungen während der Seitenzwischenverarbeitung, vor einer Präsentation an den Bildprozessor, gehandhabt. Eine derartige Verarbeitungstechnik kann sehr kostspielig und redundant sein, insbesondere in dem Fall von Hochfrequenzmustern (z. B. solchen, die Wiederholungen alle fünf oder weniger Pixel zeigen).
  • Das Dokument EP-A-0 249 285 beschreibt ein Verfahren und eine Vorrichtung zum Füllen von Oberflächenteilen eines Bilds mit einem Oberflächenmuster, wobei eine Oberfläche in eine Mehrzahl von Blöcken unterteilt wird, die ihren Abmessungen zu einem Basismusterblock entsprechen und das Muster zum Füllen jeweiliger Elemente einer Seite aufweisen. Dieses Basismuster wird gespeichert, wobei, um eine kontinuierliche Musterung der jeweiligen Elemente bereitzustellen, zuerst die gesamte Oberfläche einer Seite mit dem Oberflächenmuster gefüllt wird und dann diejenigen Bereiche, die nicht zu dem Oberflächenteil gehören, mittels einer Maske bedeckt werden.
  • Das Dokument US-A-5 299 299 beschreibt eine figurfüllende Vorrichtung, bei der ein Feldeinteilungsmuster, das Feldeinteilungsmusterkoordinaten und eine spezifizierte Höhe und Breite aufweist, zum Füllen einer spezifizierten Bereichsabtastlinie verwendet wird, wobei die Musterungsdaten von einer spezifizierten Region innerhalb des Referenzmusters gelesen und an die Abtastlinie geschrieben werden.
  • Folglich besteht eine Aufgabe dieser Erfindung darin, eine verbesserte Prozedur für die Handhabung von Graphikzustandsinformationen während einer Rasterisierungsaktion in einem Drucker bereitzustellen.
  • Eine weitere Aufgabe dieser Erfindung besteht darin, ein Verfahren und eine Vorrichtung zum Handhaben von Graphikzustandsinformationen bereitzustellen, die es einem Rasterisierer auf einer Echtzeitbasis ermöglichen, Graphikzustandsinformationen in eine Bittabellendarstellung umzuwandeln.
  • Zusammenfassung der Erfindung
  • Ein Verfahren und eine Vorrichtung, wie in den unabhängigen Ansprüchen 1 bzw. 6 dargelegt, ermöglichen eine Herleitung einer Bittabellendarstellung eines Bildes, wobei das Bild eine mit einem Muster gefüllte Region umfasst. Das Verfahren umfasst folgende Schritte: Zugreifen auf ein Ursprungsmusterbittabellensegment aus dem Bild; Umsetzen einer Kopie des Ursprungsmusterbittabellensegments an den Ursprung der Bittabellendarstellung des Bildes als eine Referenzmusterbittabelle und Anordnen desselben als eine Referenzmusterbittabelle mit einem Muster, das eine konsistente Phasenregularität zu dem Ursprungsmusterbittabellensegment zeigt; Füllen der zu füllenden Region mit dem Muster durch Bestimmen einer Entsprechung bzw. Korrespondenz eines Ankerpixels der Region zu einem Pixel in der Referenzmusterbittabelle; Zuschreiben eines Attributs des entsprechenden Pixels in der Referenzmusterbittabelle zu dem Ankerpixel der Region; und wiederholtes Bestimmen einer Entsprechung jedes weiteren Pixels in der Region zu einem weiteren Pixel in der Referenzmusterbittabelle und Zuschreiben eines Attributs jedes weiteren Pixels der Referenzmusterbittabelle zu jedem weiteren Pixel in der Region, bis alle Pixel in der Region verarbeitet wurden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines Druckersystems, das insbesondere zur Durchführung bei der Erfindung angepasst ist.
  • 2 ist eine schematische Darstellung einer Rückausbreitung eines Ankerpunktes eines mxn-skalierten Musters zu der Ursprungsregion eines Seitenstreifens.
  • 3 ist eine schematische Darstellung einer Region innerhalb eines Seitenstreifens, die durch ein Muster und ein spezifisches Pixel aus der Referenzmusterbildbittabelle gefüllt werden soll, deren Attribut als einem Pixel innerhalb der Füllregion zugeschrieben ausgewählt ist.
  • 4 und 5 weisen ein Flussdiagramm auf, das den Vorgang der Erfindung darstellt;
  • 6 bis 8 zeigen ein Beispiel einer Musteranordnung.
  • Detaillierte Beschreibung der Erfindung
  • Um eine schnelle gerade rechtzeitige Wiedergabe eines Musters in ein rasterisiertes Bittabellenbild zu ermöglichen, wird eine Rückausbreitungsprozedur verwendet, um einen Ankerpunkt einer Ursprungsmusterbittabelle zurück in die Umgebung des Ursprungs des Seitenstreifens umzuwandeln. Die Rückausbreitung stoppt, wenn der Ursprungsmusterankerpunkt erstmals zu einer Koordinate bewegt wird, die einen Wert ≤ X = 0, Y = 0 in dem Seitenstreifen aufweist. Sobald die Ursprungsmusterbittabelle derart ausgerichtet ist, wird diese als die Referenzmusterbittabelle bezeichnet. Danach wird jedem Pixel der Region, die mit dem Referenzmuster gefüllt werden soll, ein Attribut aus einem Referenzmusterpixel zugewiesen. Um die Attributzuweisung durchzuführen, wird eine Berechnung verwendet, die auf einer Strombasis während der Rasterisierungsprozedur ausgeführt werden kann.
  • Bezug nehmend auf 1 empfängt ein Drucker 10 Bilddaten von einem Host-Prozessor 12, wobei die Bilddaten in einer Steuersprache (d. h. PCL, PostScript, usw.) formatiert sind. Die Bilddaten werden durch eine Eingangs-/Ausgangs(I/O-) Schnittstelle 14 empfangen und in einem Bereich 18 eines Speichers 16 zwischengespeichert. Eine zentrale Verarbeitungseinheit (CPU) 20 steuert die Gesamtoperationen des Druckers 10 gemäß in dem Speicher 16 gespeicherten Prozeduren. Der Drucker 10 umfasst ferner eine Druckmaschine 22 und ein Bildprozessormodul 24, das während des Rasterisierungsprozesses verwendet wird.
  • Innerhalb des Speichers 16 befindet sich ein Steuersprachezu-Seitenzwischenprodukt-Parser 26, ein Seitenzwischencodespeicherbereich 28, eine Rasterisiererprozedur 30, die eine Musterungsprozedur 32 umfasst, und ein Rasterisierseitenstreifenbittabellen-Speicherbereich 34. Die Rasterisiererprozedur 30 ermöglicht es der CPU 20, einen Bildprozessor 24 zu steuern, um Seitenzwischendaten 28 in ein rasterisiertes Bittabellenbild 34 eines Seitenstreifens umzuwandeln. Die Rasterisiererprozedur 30 umfasst ferner eine Musterungsprozedur 32, die der Hauptalgorithmus ist, der eine gerade rechtzeitige Musterung der Seitenstreifenrasterbittabelle 34 ermöglicht.
  • Während jede der oben beschriebenen Prozeduren als sich in dem Speicher 16 befindlich dargestellt ist, können derartige Prozeduren auf einer oder mehreren Disketten 35 aufgezeichnet sein, die über ein Diskettenlaufwerk in der CPU 20 in den Speicher 16 geladen werden.
  • 2 stellt eine obere linke Ecke eines repräsentativen Seitenstreifens 39 dar und zeigt ferner eine Ursprungsmusterbittabelle 40, die 5 Pixel breit mal 5 Pixel hoch ist (Pw = 5, Ph = 5). Der Ankerpunkt der Ursprungsmusterbittabelle 40 ist an dem Schnittpunkt von X = 13 und Y = 15 (Xo = 15; Yo = 13) positioniert. Wie im folgenden ersichtlich sein wird, führt die Prozedur zuerst eine Rückausbreitung der Ursprungsmusterbittabelle 40 zu dem Bereich des Seitenstreifenursprungs 0,0 aus, um die Ursprungsmusterbittabelle 40 in eine Referenzmusterbittabelle 42 umzuwandeln. Die Rückausbreitung weist (per Definition) ein Inkrementieren der Ursprungsmusterbittabelle 40 zurück entlang der X-Achse, bis dieselbe an die Y-Achse grenzt oder dieselbe umfasst, und ein darauffolgendes weiteres vertikales Inkrementieren der Ursprungsmusterbittabelle 40, bis dieselbe die Umgebung des Seitenstreifenursprungs 0,0 erreicht, auf.
  • Es wird angemerkt, dass der Anker X', Y' der Referenzmusterbittabelle 42 bei (X', Y') = (–1, –2) positioniert ist. So ist, wenn das Muster der Referenzmusterbittabelle 42 nun entlang des Seitenstreifens 39 oder denselben nach unten ausgebreitet wird, ihr Muster exakt phasengleich mit dem Muster der Ursprungsmusterbittabelle 40. Die Rückausbreitungsaktion ermöglicht es, dass nachfolgende Prozeduren die Abschnitte der Referenzmusterbittabelle 42 ignorieren können, die sich außerhalb des Seitenstreifens 39 befinden, und stellt eine Kohärenz des durch die Referenzmusterbittabelle 42 dargestellten Bildes mit dem Bild der Ursprungsmusterbittabelle 40 sicher.
  • Um eine Bittabellen-Rückausbreitung zu erzielen, verwendet der Algorithmus die folgenden Ausdrücke: X' = (Xo mod Pw) – Pw (1) Y' = (Yo mod Ph) – Ph (2)
  • Nach einer Rückausbreitung wird die Rasterisierungsprozedur 30 aufgerufen, um einen Abtastlinienabschnitt mit dem Mus ter zu füllen, das durch die Referenzmusterbittabelle 42 dargestellt wird. Die Rasterisierungsprozedur 30 leitet dann eine leere Abtastlinie an die Musterungsprozedur 32. Die Musterungsprozedur 32 indexiert dann auf ein Musterpixel in der Referenzmusterbittabelle 42, das dem Ankerpunkt (Ox, Oy) eines Markierungsobjekts (z. B. eines Rechtecks, Quadrats, usw.) entspricht. Danach wird das Attribut (z. B. eine Farbe), das dem Referenzmusterpixel zugewiesen ist, dem Pixel an dem Ankerpunkt des Markierungsobjekts zugewiesen. Die Musterungsprozedur fährt fort, bis allen Pixeln in dem Markierungsobjekt Attribute aus entsprechenden Pixeln der Referenzmusterbittabelle 42 zugewiesen wurden. Während dieses Vorgangs wird, wenn das Muster erschöpft ist, bevor der Abtastlinienabschnitt erreicht ist, das Muster automatisch auf den Beginn der gleichen Musterzeile indexiert, was das Auftreten einer Feldbildung als ein Ergebnis des Abtastlinienfüllvorgangs bewirkt.
  • Bezug nehmend auf 3 ist die Füllprozedur unter Verwendung der Referenzmusterbittabelle 42 dargestellt, die gemäß der für 2 beschriebenen Prozedur hergeleitet wurde. Es wird angenommen, dass die Region 44 mit dem Muster gefüllt werden soll, das sich in der Referenzmusterbittabelle 42 befindet. Sollte die Prozedur einfach das Muster 42 auf eine Feldeinteilungsweise inkrementieren, so dass die korrekten Pixel der Referenzmusterbittabelle 42 über der Region 44 liegen, würde die durch die Punkt-Strich-Linien 46, 48 und 50 gezeigte Inkrementierung durchgeführt werden. Das Ergebnis wäre, dass den sechs Pixeln innerhalb der Region 44 Attribute aus den Referenzmusterbittabellenpixeln zugewiesen werden würden, die über denselben liegen. So würden den oberen vier Pixeln der Region 44 die jeweiligen Attribute von den unteren rechten vier Pixeln der Referenzmusterbittabelle 42 zugewiesen werden und den untersten beiden Pixeln der Region 44 würden die beiden Pixel oben rechts aus der Referenzmusterbittabelle 42 zugewiesen werden.
  • Anstelle eines Inkrementierens der Referenzmusterbittabelle 42, wie oben beschrieben ist, was sehr intensive Verarbeitungsoperationen erfordern würde, wird jedes Pixel der Region 44 gemäß den Parametern seiner X-, Y-Koordinate, der X'-, Y'-Koordinate des Ankerpunkts der Referenzmusterbittabelle 42 und der Musterbreite (Pw) und der Musterhöhe (Ph) verarbeitet. Danach werden die Koordinaten X'', Y'' der Pixel in der Referenzmusterbittabelle 42, die den Pixeln in der Region 44 entsprechen, bestimmt. Die Verarbeitung tritt gemäß den folgenden Ausdrücken auf: falls: (Ox > (Pw + X')) (3) dann: X'' _ ((Ox mod Pw) – X') mod Pw (4) sonst: X'' = Ox – X' (5) falls: (Oy > (Ph + Y')) (6) dann: Y'' _ ((Oy mod Ph) – Y') mod Ph (7) sonst: Y'' = Oy – Y' (8)
  • Insbesondere ist, wenn die Region 44 bei Ox = 7, Oy = 6 verankert ist und eine Breite (Pw) von 3 bzw. eine Höhe (Ph) von 4 aufweist, dieselbe so positioniert, wie in 3 gezeigt ist. Unter Annahme einer derartigen Positionierung werden X'' und Y'' wie folgt bestimmt: X'' =((7 mod 5) – (–1)) mod 5 = 3 Y'' =((6 mod 5) – (–2)) mod 5 = 3
  • Folglich ist das Pixel (7,6) in der Region 44 mit dem Attribut koloriert, das dem Pixel (3,3) auf dem Referenzmuster 42 zugeordnet ist.
  • Bezug nehmend auf die 4 und 5 folgt eine detaillierte Beschreibung der Prozedur der Erfindung, gefolgt durch ein weiteres Beispiel, unter Verwendung der Musteranordnung der 6, 7 und 8. Zuerst Bezug nehmend auf 4 empfängt die Musterungsprozedur 32 (1) von der Seitenzwischenauflistung folgende Elemente: eine benutzerdefinierte Mus terbittabelle, die eine Höhe Ph und eine Breite Pw aufweist, und einen Seitenstreifenursprungspunkt (Xo, Yo). Sie empfängt ferner ein Geometrieobjekt, das gefüllt werden soll, einen Höhenwert, einen Breitenwert und Verankerungspunktkoordinaten Ox, Oy (Feld 100).
  • Die Musterungsprozedur 32 führt dann eine Rückausbreitung der Musterbittabelle zu dem Seitenstreifenursprung aus, derart, dass das Ankerpixel (im allgemeinen das obere linke Pixel) der benutzerdefinierten Musterbittabelle an der Bildbittabellenkoordinate X', Y' positioniert ist, wobei X' und Y' gemäß den Gleichungen (1) und (2) oben hergeleitet werden (Feld 102).
  • Als nächstes beginnt eine Seitenstreifenrasterisierung (Feld 104) und die Musterungsprozedur 32 wird für jedes Bildpixel ausgeführt (z. B. innerhalb der Region 44, 3), dem ein Musterattribut aus der Referenzmusterbittabelle 42 zugewiesen werden soll. Die Prozedur beginnt bei dem Ursprungspixel (Ox, Oy) der zu füllenden Region und bestimmt das entsprechende Referenzmusterbittabellenpixel, dessen Attribut zugewiesen werden soll (Feld 106). Die Pixelidentität wird gemäß den Ausdrücken (3) bis (8), wie oben gezeigt ist, bestimmt.
  • Sobald das entsprechende Referenzmusterbittabellenpixel identifiziert ist, wird sein Attribut dem Ursprungspixel der Region 42 zugewiesen (Feld 108). Danach wird bestimmt, ob weitere Pixel in der Region 42 vorhanden sind, die entlang der X-Abmessung derselben verarbeitet werden sollen (Entscheidungsfeld 110), wobei, falls dies der Fall ist, der X-Pixelwert inkrementiert wird (Feld 112) und die Prozedur zurück zu Feld 106 gelangt. Falls dies nicht der Fall ist, bewegt sich die Prozedur zu einem Entscheidungsfeld 114, an dem bestimmt wird, ob weitere Pixel in der Y-Abmessung der Region 42 verarbeitet werden sollen. Falls dies der Fall ist, wird der Y-Pixelwert inkrementiert und die Prozedur gelangt zurück zu Feld 106 und fährt fort (Feld 116). Falls dies nicht der Fall ist, fährt die Rasterisierungsprozedur fort, bis der Seitenstreifen vollständig rasterisiert wurde, wobei zu diesem Zeitpunkt sich die Prozedur entweder zu einem nächsten Seitenstreifen bewegt oder die Operation beendet ist.
  • Bezug nehmend auf die 6 bis 8 sind ein Seitenstreifen 130 und eine benutzerdefinierte Musterbittabelle 132 für die Musterungsprozedur 36 vorgesehen. Die Musterbittabelle 132 weist eine Pixelhöhe Ph = 4 und eine Pixelbreite Pw = 9 auf. Es wird angenommen, dass ein Rechteck 136, bei 13,7 verankert, mit einer Breite von 11 und einer Höhe von 9, durch das Muster 132 in dem Seitenstreifen 130 gefüllt werden soll. Die einer Rasterisiererprozedur 30 zugeführte Anzeigeliste umfasst sowohl das Muster 132 als auch das Rechteck 136.
  • In 7 gezeigt ist ein Seitenstreifen 130, wobei die Ursprungsmusterbittabelle 132 bei X = 25, Y = 6 verankert ist. In gestrichelten Linien gezeigt sind die Logikstufen, die zur Umwandlung der Ursprungsmusterbittabelle 132 zurück zu der Region des Ursprungs des Streifens unternommen werden. Diese Prozedur erhält eine Phasenkohärenz zwischen den Pixeln der Referenzmusterbittabelle 134 und denjenigen der Ursprungsmusterbittabelle bei. Sie beseitigt ferner jeglichen Bedarf, „Delta"-Pixel berücksichtigen zu müssen, wobei „Delta"-Pixel diejenigen Pixel der Referenzmusterbittabelle 138 sind, die außerhalb die Grenzen des Seitenstreifens 130 fallen, und ermöglicht es, dass eine Kohärenz zwischen der nachfolgenden Musterung und der Ursprungsmusterbittabelle 132 beibehalten werden kann.
  • In diesem Fall ist der Ankerpunkt der Referenzmusterbittabelle 134 bei X' = –2 und Y' = –2 positioniert. Wie oben angezeigt wurde, wird die zuvor beschriebene Rückausbreitung durch eine Verwendung der Ausdrücke 1 und 2, wie oben gezeigt ist, erzielt.
  • Nach einer Rückausbreitung wird eine Definition des Rechtecks 136 aus der Anzeigeliste geparst bzw. syntaktisch analysiert und die Musterungsprozedur 32 nimmt die Rechteckdefinition und fragt nach Pixeln aus der Referenzmusterbittabelle 134, um das Rechteck 136 zu kolorieren. Unter Annahme eines Punktes X, Y in dem Rechteck 136 gibt es immer ein Referenzmusterbittabellenpixel, mit dem das Rechteckpixel koloriert werden kann. Die Kolorierungsprozedur tritt gemäß den in dem Flussdiagramm der 4 und 5 beschriebenen Schritten auf, wobei Ergebnisse in dem Feld 136 gefüllt werden, wie in 8 gezeigt ist.
  • Es wird angemerkt, dass die vorangegangene Beschreibung lediglich darstellend für die Erfindung ist. Verschiedene Alternativen und Modifizierungen können durch Fachleute auf diesem Gebiet entwickelt werden, ohne von der Erfindung abzuweichen. Folglich soll die vorliegende Erfindung alle derartigen Alternativen, Modifizierungen und Variationen, die innerhalb des Schutzbereichs der beigefügten Ansprüche fallen, einschließen.

Claims (10)

  1. Ein Verfahren zum Verarbeiten eines Bilds, um eine Bittabellendarstellung (39) des Bilds herzuleiten, wobei die Bittabellendarstellung (39) eine Region (44) umfaßt, die ein Muster aufweist, wobei das Verfahren die folgenden Schritte aufweist: a) Zugreifen auf eine Ursprungsmusterbittabelle (40), die einen Ankerpunkt innerhalb der Bittabellendarstellung (39) aufweist; b) logisches Umsetzen der Ursprungsmusterbittabelle (40) in eine Position einer Referenzmusterbittabelle (42) an einem Ursprung der Bittabellendarstellung (39), derart, daß ein durch die Referenzmusterbittabelle (42) manifestiertes Muster eine konsistente gleichphasige Beziehung zu einem durch die Ursprungsmusterbittabelle (40) manifestierten Muster zeigt; c) Füllen der Region (44) mit dem Muster durch Bestimmen einer Entsprechung eines Ankerpixels (Ox, Oy) in der Region (44) zu einem Pixel in der Referenzmusterbittabelle (42), und Zuschreiben eines Attributs des Pixels in der Referenzmusterbittabelle (42) zu dem Ankerpixel (Ox, Oy) in der Region (44); und d) wiederholtes Bestimmen einer Entsprechung jedes weiteren Pixels in der Region (44) zu einem entsprechenden weiteren Pixel in der Referenzmusterbittabelle (42), und Zuschreiben eines Attributs jedes weiteren Pixels in der Referenzmusterbitta belle (42) jeweils zu jedem entsprechenden weiteren Pixel in der Region (44).
  2. Das Verfahren gemäß Anspruch 1, bei dem die Ursprungsmusterbittabelle (40) eine Höhe von Ph Pixeln, eine Breite von Pw Pixeln und ein Ursprungspixel (Xo, Yo), das innerhalb der Bittabellendarstellung (39) bei dem Pixel Xo, Yo positioniert ist, aufweist und Schritt b) bewirkt, daß das Ursprungspixel (Xo, Yo) logisch um den Ursprung der Bittabellendarstellung (39) positioniert wird, indem die Ursprungsmusterbittabelle (40) durch ganzzahlige Vielfache von Ph und Pw logisch umgesetzt wird.
  3. Das Verfahren gemäß Anspruch 2, bei dem Schritt b) bewirkt, daß das Ursprungspixel (Xo, Yo) bei X', Y' positioniert wird, wobei folgendes gilt: X' = (Xo mod Pw) – Pw Y' = (Yo mod Ph) – Ph.
  4. Das Verfahren gemäß Anspruch 2, bei dem die zu füllende Region ein Ankerpixel (Ox, Oy) umfaßt, das bei Ox, Oy positioniert ist, und Schritt c) logisch die Referenzmusterbittabelle (42) durch ganzzahlige Vielfache von Ph und Pw umsetzt, bis ein Pixel bei X'' , Y'' der Referenzmusterbittabelle (42) logisch über dem Ankerpixel Ox, Oy liegt.
  5. Das Verfahren gemäß Anspruch 4, bei dem Schritt c) bewirkt, daß das Ursprungspixel bei X', Y' wie folgt bestimmt wird: falls: Ox > (Pw + X') dann: X'' = ((Ox mod Pw) – X')mod Pw sonst: X'' = Ox – X'; und falls: Oy > (Ph + Y') dann: Y'' = ((Oy mod Ph) – Y')mod Ph sonst: Y'' = Oy – Y'.
  6. Ein Speichermedium (35) zum Steuern eines Prozessors (20), um ein Bild zu verarbeiten, um eine Bittabellendarstellung (39) des Bilds herzuleiten, wobei die Bittabellendarstellung (39) eine Region umfaßt, die ein Muster aufweist, wobei das Speichermedium (35) folgende Merkmale aufweist: a) eine Einrichtung (32, 35, 20) zum Steuern des Prozessors (20), um auf eine Ursprungsmusterbittabelle (40) zuzugreifen, die einen Ankerpunkt innerhalb der Bittabellendarstellung (39) aufweist; b) eine Einrichtung (32, 35, 20) zum Steuern des Prozessors (20), um die Ursprungsmusterbittabelle (40) logisch in eine Referenzmusterbittabelle (42) an einer Position an einem Ursprung der Bittabellendarstellung (39) umzusetzen, derart, daß ein durch die Referenzmusterbittabelle (42) manifestiertes Muster eine konsistente gleichphasige Beziehung zu einem durch die Ursprungsmusterbittabelle manifestierten Muster zeigt; c) eine Einrichtung (32, 35, 20) zum Steuern des Prozessors (20), um die Region mit dem Muster zu füllen, indem eine Entsprechung eines Ankerpixels (Ox, Oy) in der Region (44) zu einem Pixel in der Referenzmusterbittabelle (42) bestimmt wird, und um ein Attribut des Pixels in der Referenzmusterbittabelle (42) dem Ankerpixel (Ox, Oy) in der Region (44) zuzuschreiben; und d) eine Einrichtung (32, 35, 20) zum Steuern des Prozessors (20), um wiederholt eine Entsprechung jedes weiteren Pixels in der Region (44) zu einem entsprechenden weiteren Pixel in der Referenzmusterbittabelle (42) zu bestimmen, und um ein Attribut jedes weiteren Pixels in der Referenzmusterbittabelle (42) jeweils jedem entsprechenden weiteren Pixel in der Region (44) zuzuschreiben.
  7. Das Speichermedium (35) gemäß Anspruch 6, bei dem die Ursprungsmusterbittabelle (40) eine Höhe von Ph Pixeln, eine Breite von Pw Pixeln und ein Ursprungspixel, das innerhalb der Bittabellendarstellung bei dem Pixel Xo, Yo positioniert ist, aufweist und die Einrichtung b) (32, 35, 20) bewirkt, daß das Ursprungspixel logisch um den Ursprung der Bittabellendarstellung (39) positioniert wird, indem die Ursprungsmusterbittabelle (40) logisch durch ganzzahlige Vielfache von Ph und Pw umgesetzt wird.
  8. Das Speichermedium (35) gemäß Anspruch 7, bei dem die Einrichtung b) (32, 35, 20) bewirkt, daß das Ursprungspixel bei X', Y' positioniert ist, wobei folgendes gilt: X' = (Xo mod Pw) – Pw Y' = (Yo mod Ph) – Ph.
  9. Das Speichermedium (35) gemäß Anspruch 7, bei dem die zu füllende Region ein Ankerpixel umfaßt, das bei Ox, Oy positioniert ist, und die Einrichtung c) (32, 35, 20) eine logische Umsetzung der Referenzmusterbittabelle (42) durch ganzzahlige Vielfache von Ph und Pw bewirkt, bis ein Pixel bei X'', Y'' der Referenzmusterbittabelle (42) logisch über dem Ankerpixel liegt.
  10. Das Speichermedium (35) gemäß Anspruch 9, bei dem die Einrichtung c) (32, 35, 20) bewirkt, daß das Ursprungspixel bei X', Y' wie folgt bestimmt wird: falls: Ox > (Pw + X') dann: X'' = ((Ox mod Pw) – X')mod Pw sonst: X'' = Ox – X'; und falls: Oy > (Ph + Y') dann: Y'' = ((Oy mod Ph) – Y')mod Ph sonst: Y'' = Oy – Y'.
DE69825680T 1997-06-18 1998-05-28 Drucker mit prozedur zur muster-feldeinteilung und -skalierung Expired - Fee Related DE69825680T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/878,931 US6091418A (en) 1997-06-18 1997-06-18 Printer with procedure for pattern tiling and scaling
US878931 1997-06-18

Publications (2)

Publication Number Publication Date
DE69825680D1 DE69825680D1 (de) 2004-09-23
DE69825680T2 true DE69825680T2 (de) 2005-08-25

Family

ID=25373111

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69825680T Expired - Fee Related DE69825680T2 (de) 1997-06-18 1998-05-28 Drucker mit prozedur zur muster-feldeinteilung und -skalierung

Country Status (4)

Country Link
US (1) US6091418A (de)
EP (1) EP0886243B1 (de)
JP (1) JP4070304B2 (de)
DE (1) DE69825680T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6483515B1 (en) * 1999-04-09 2002-11-19 Sun Microsystems, Inc. Method and apparatus for displaying data patterns in information systems
US7345782B2 (en) * 2002-05-13 2008-03-18 Texas Instruments Incorporated Efficient implementation of raster operations flow
JP4049136B2 (ja) * 2004-08-10 2008-02-20 ブラザー工業株式会社 画像処理装置及びプログラム
KR100594782B1 (ko) * 2005-01-21 2006-06-30 삼성전자주식회사 프린터의 패턴 비트맵 처리시스템 및 그 처리방법
CN101197044B (zh) * 2006-12-06 2011-02-02 鸿富锦精密工业(深圳)有限公司 图像合成系统及方法
US8069031B2 (en) * 2007-06-04 2011-11-29 Lawrence Stephen Gelbman Multi-lingual output device
US11106410B2 (en) 2019-12-07 2021-08-31 Kyocera Document Solutions Inc. Automated template generation for tiling
US11106404B2 (en) 2019-12-07 2021-08-31 Kyocera Document Solutions Inc. Template generation for tiling for appearance of overlap

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5262767A (en) * 1985-06-21 1993-11-16 Hitachi, Ltd. Display control device
NL8601488A (nl) * 1986-06-09 1988-01-04 Oce Nederland Bv Werkwijze voor het opvullen van oppervlaktedelen van een afbeelding met een oppervlaktepatroon.
JP2757614B2 (ja) * 1991-09-06 1998-05-25 日本電気株式会社 図形塗りつぶし装置
US6147688A (en) * 1993-06-28 2000-11-14 Athena Design Systems, Inc. Method and apparatus for defining and selectively repeating unit image cells
US5717845A (en) * 1994-12-13 1998-02-10 Microsoft Corporation Method and apparatus for transferring a brush pattern to a destination bitmap

Also Published As

Publication number Publication date
EP0886243A2 (de) 1998-12-23
EP0886243B1 (de) 2004-08-18
DE69825680D1 (de) 2004-09-23
EP0886243A3 (de) 2000-01-12
US6091418A (en) 2000-07-18
JPH1130979A (ja) 1999-02-02
JP4070304B2 (ja) 2008-04-02

Similar Documents

Publication Publication Date Title
DE69826044T2 (de) Vektorkartenplanarisierung und -einfang
DE69831385T2 (de) Verfahren und Anordnung zum Mischen von graphischen Objekten mit Planarkarten
DE4106458C2 (de) Graphische Datenverarbeitungseinrichtung zum Erzeugen eines Tones eines Randbildelements aus Vektordaten
DE60305573T2 (de) Verfahren zur Darstellung von gemischten Bildrasterinhaltsebenen
DE19944504B4 (de) Selbst-Umdimensionierungs-Demonstrationsseite für eine Druckvorrichtung, Bilderzeugungsvorrichtung, Bilderzeugungsverfahren und computerlesbares Medium
DE69534558T2 (de) Effizientes Verfahren, Gerät und Rechnerprogramm zur Auswertung graphischer Programmiersprache
DE69133362T2 (de) Dokumentenverarbeitungs-verfahren und -gerät, entsprechende Program und Speichereinheit
US7978196B2 (en) Efficient rendering of page descriptions
DE69730892T2 (de) Verarbeitung von Rückzugspunkten zur Blatterstellung mit Techniken zur Speicherreduktion
DE19953608B4 (de) Vorrichtung und Verfahren zum Erkennen eines Fonts eines Textes in einem Dokumentenverarbeitungssystem
DE102008034519A1 (de) Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw.
DE4430369A1 (de) Verfahren und Einrichtung zum Erzeugen eines Dokumenten-Layouts
DE19610759C2 (de) Verfahren zum Codieren eines Dokumentes und Verfahren zum Senden eines Dokumentes von einem Sendecomputersystem zu einem Empfangscomputersystem
DE69924548T2 (de) Druckdatenerzeugung und Drucksteuerungsverfahren und -gerät
DE3346816A1 (de) Sichtanzeigeanordnung fuer verschiedenartige zeicheninformationen
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE19513105A1 (de) Verfahren zur Generierung einer Contone-Map
DE3633454A1 (de) Einrichtung zur erzeugung eines gerasterten musters
EP0654778A1 (de) Verfahren zur Textdarstellung auf Bildschirmgeräten
DE69825680T2 (de) Drucker mit prozedur zur muster-feldeinteilung und -skalierung
DE69709695T3 (de) Verfahren zur seitenzusammensetzung
DE69632644T2 (de) Bilderzeugung für seitendrucker
DE3914905C2 (de)
DE69728918T2 (de) Verfahren und Gerät zur wirkungsvollen Bildinterpolation
EP2092465B1 (de) Verfahren und system zum automatischen aufbereiten von druckdaten für einen druckvorgang

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee