DE69529500T2 - Verwendung von abgetasteten Bildern in einem Bildzusammensetzungssystem - Google Patents

Verwendung von abgetasteten Bildern in einem Bildzusammensetzungssystem Download PDF

Info

Publication number
DE69529500T2
DE69529500T2 DE69529500T DE69529500T DE69529500T2 DE 69529500 T2 DE69529500 T2 DE 69529500T2 DE 69529500 T DE69529500 T DE 69529500T DE 69529500 T DE69529500 T DE 69529500T DE 69529500 T2 DE69529500 T2 DE 69529500T2
Authority
DE
Germany
Prior art keywords
data
objects
color
transparency
pixel
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
DE69529500T
Other languages
English (en)
Other versions
DE69529500D1 (de
Inventor
Vincenzo North Ryde Liguori
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of DE69529500D1 publication Critical patent/DE69529500D1/de
Publication of DE69529500T2 publication Critical patent/DE69529500T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/60Editing figures and text; Combining figures or text

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf die Zusammensetzung von Bildern, z. B. aus mehreren verschiedenen Objekten und aus abgetasteten Bilddaten.
  • Komplizierte von einem Computer erzeugte Bilder bestehen normalerweise aus vielen verschiedenen Teilen. Diese Teile umfassen im allgemeinen grafikbasierte Datenobjekte, die einen Teil des Bilds bilden, zusätzlich zu bildelementbasierten bzw. pixelbasierten abgetasteten Bilddaten, die für sich selbst ebenfalls als ein Objekt betrachtet werden können. Folglich kann ein endgültiges erzeugtes kompliziertes Bild aus Dutzenden, wenn nicht Hunderten von Objekten bestehen, die mit sich unterscheidenden Graden von Transparenz derart übereinandergeschichtet sind, daß die unterhalb von anderen transparenten Objekten erscheinenden Objekte durch die transparenten Objekte teilweise sichtbar sind.
  • Wenn eine Abtastvorrichtung mit Bildern verwendet wird, die von einem Computer aus Objekten erzeugt werden, wird die Behandlung der abgetasteten Daten ziemlich kompliziert. Unglücklicherweise führt dies normalerweise zu einem komplizierten Computersystem, das verursacht durch seine Raffinesse ein ausgedehntes Training für seine richtige Verwendung erfordert.
  • In jüngster Zeit ist der Preis von Farbkopiervorrichtungen und Farbdruckvorrichtungen wie verfügbar geworden.
  • Die EP 0497344 beschreibt ein System, das zur Beaufschlagung eines Bilds mit Farbdaten von einer Abtasteinrichtung in Kombination mit grafischen Objekten in der Lage ist. Die Farbdaten, bei denen es sich um Halbtondaten handeln kann, können innerhalb oder außerhalb eines durch ein grafisches Objekt begrenzten Bereichs plaziert werden.
  • Eine Ausgestaltung der vorliegenden Erfindung stellt ein Bildzusammensetzungssystem bereit, durch das abgetastete Bilddaten in einer einfachen und wirksamen Art und Weise in beliebige Objekte eines endgültigen Bilds integriert werden können.
  • Eine Ausgestaltung der Erfindung stellt ein Verfahren zur Zusammensetzung von Bilddaten in Pixeldarstellung aus einer Vielzahl von Objekten mit zugeordneten Farbdaten und aus aus Pixeldaten bestehenden abgetasteten Bilddaten bereit, mit den Schritten: Vorbereiten einer Bandschnittpunktliste, wobei die Liste Schnittpunkte von Objekten, aus denen die Bilddaten zu bestimmen sind, bezüglich Bändern eines Bildbereichs auflistet; Zuweisen von aus Pixeldaten der abgetasteten Bilddaten abgeleiteten Farbdaten zu zumindest einem der Objekte; und Bandrendern der Objekte unter Bezugnahme auf die Bandschnittpunktliste und die abgeleiteten Farbdaten zur Ableitung der Bilddaten.
  • Eine weitere Ausgestaltung der Erfindung stellt eine Vorrichtung zur Zusammensetzung von ein Bild in Pixeldarstellung definierenden Daten aus einer Vielzahl von Objekten mit zugeordneten Farbdaten und aus aus Pixeldaten bestehenden abgetasteten Bilddaten bereit, mit: einer Einrichtung zum Empfangen abgetasteter Daten; einer Speichereinrichtung zum Speichern von Umrissen von Objekten und zugeordneten Objektfarbdaten; einer Bandschnittpunktlistenerzeugungseinrichtung zum Vorbereiten einer Liste von Schnittpunkten von Objekten, aus denen die Bilddaten zu bestimmen sind, bezüglich Bändern eines Bildbereichs; einer Einrichtung zum Zuweisen von Objektfarbdaten mit einer Komponente der abgetasteten Daten zu einem der Objekte; und einer mit der Speichereinrichtung und der Abtasteinrichtung verbundenen Bandrendereinrichtung zum Rendern des zumindest einen Objekts mit den zugewiesenen Objektfarbdaten unter Bezugnahme auf die Bandschnittpunktliste.
  • Kurzbeschreibung der Zeichnungen
  • Nachstehend ist ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 ein schematisches Blockschaltbild der Integration des bevorzugten Ausführungsbeispiels in einem Drucksystem zeigt;
  • 2 ein Probebild veranschaulicht, das abzutasten und in einem von einem Computer erzeugten Bild zu integrieren ist;
  • 3 eine erste Neufärbfarbe veranschaulicht;
  • 4 eine zweite Neufärbfarbe veranschaulicht;
  • 5 zwei computergrafische Objekte veranschaulicht, die in einem endgültigen Bild zu integrieren sind;
  • 6 ein zusammengesetztes Bild veranschaulicht, das aus einer Anzahl von verschiedenen Objekten besteht;
  • 7 einen zweiten Abschnitt eines Bilds veranschaulicht, das zur Integration in einem von einem Computer erzeugten Bild abzutasten ist;
  • 8 ein zweites von einem Computer erzeugtes Bild veranschaulicht, das aus einer Anzahl von Objekten besteht;
  • 9 die bandorientierte Natur der bevorzugten Ausgabevorrichtung veranschaulicht;
  • 10 ein einzelnes Band gemäß 9 genauer veranschaulicht;
  • 11 ein Flußdiagramm zeigt, das den Prozeß des Erzeugens eines Ausgabebilds für eine Druckervorrichtung veranschaulicht;
  • 12 die Datenstruktur eines Objekts zur Anzeige veranschaulicht;
  • 13 mehrere überlappende Objekte veranschaulicht;
  • 14 den Renderprozeß der Objekte in 13 veranschaulicht;
  • 15 den Prozeß des "Aussortierens" von Objekten aus einem Bild veranschaulicht;
  • 16 ein Probebild veranschaulicht;
  • 17 die Bandobjektschnittpunktliste für das Bild gemäß 16 veranschaulicht;
  • 18 den Bandvorbereitungsprozeß des bevorzugten Ausführungsbeispiels veranschaulicht;
  • 19 den Prozeß des Aussortierens von Abschnitten eines Objekts aus einem speziellen Band, das zu drucken ist, veranschaulicht;
  • 20 den Prozeß des Vektorisierens eines Splines in entsprechende Liniensegmente veranschaulicht;
  • 21 eine Anzahl von Liniensegmenten in einem Band, das zu rendern ist, veranschaulicht;
  • 22 die Vektorzeilenschnittpunktliste für das Band gemäß 21 veranschaulicht;
  • 23 das Computersystem gemäß 1 genauer veranschaulicht;
  • 24 den Datenfluß durch das Bandrenderuntersystem gemäß 23 veranschaulicht;
  • 25 ein schematisches Blockschaltbild des Bandrenderuntersystems gemäß 23 zeigt;
  • 26 ein schematisches Blockschaltbild des Grafikeinheitsmoduls (GEM) gemäß 25 genauer zeigt;
  • 27 das Format des Speicherns von Liniensegmenten bei dem bevorzugten Ausführungsbeispiel veranschaulicht;
  • 28 die Z-Kanten-Zwischenspeicher-Struktur des bevorzugten Ausführungsbeispiels veranschaulicht;
  • 29 den Schatten-Z-Kanten-Zwischenspeicher des bevorzugten Ausführungsbeispiels veranschaulicht;
  • 30 die Rendereinheit gemäß 26 genauer veranschaulicht;
  • 31 ein schematisches Blockschaltbild der Sichtbarkeitsbestimmungseinheit (VDU) gemäß 26 zeigt;
  • 32 die bei dem bevorzugten Ausführungsbeispiel verwendete Transparenzmaskenregisterstruktur veranschaulicht;
  • 33 ein schematisches Blockschaltbild der Lauflängencodierungseinrichtung der Rendereinheit gemäß 23 zeigt;
  • 34 die bei dem bevorzugten Ausführungsbeispiel verwendete Lauflängencodierungseinrichtungsdatenstruktur veranschaulicht;
  • 35 ein schematisches Blockschaltbild des Tintenstrahlmoduls gemäß 25 zeigt;
  • 36 einen Eintrag einer opaken Ebene eines Objekts in der bei dem bevorzugten Ausführungsbeispiel verwendeten Eigenschaftstabelle veranschaulicht;
  • 37 einen Eintrag einer transparenten Ebene eines Objekts in der bei dem bevorzugten Ausführungsbeispiel verwendeten Eigenschaftstabelle veranschaulicht;
  • 38 ein schematisches Blockschaltbild der Lauflängenerweiterungseinrichtungseinheit gemäß 35 zeigt;
  • 39 ein schematisches Blockschaltbild der Mischungsberechnungseinrichtung gemäß 35 zeigt;
  • 40 ein schematisches Blockschaltbild der Mischungsverarbeitungseinrichtung gemäß 39 zeigt;
  • 41 ein schematisches Blockschaltbild der Zusammensetzungseinrichtung gemäß 35 zeigt;
  • 42 ein schematisches Blockschaltbild einer Mischungseinrichtungseinheit gemäß 41 zeigt;
  • 43 einen Querschnitt durch ein durch das bevorzugte Ausführungsbeispiel zu erzeugendes beispielhaftes "Pro-Forma"-Bild veranschaulicht; und
  • 44 ein für die Plazierung von Informationen auf der Abtasteinrichtung gemäß 1 erzeugtes "Pro-Forma"-Blatt veranschaulicht.
  • Ausführliche Beschreibung
  • Nachstehend auf 1 Bezug nehmend ist das bevorzugte Ausführungsbeispiel dazu entworfen, in einer Umgebung zu arbeiten, in der Bilder durch eine Abtasteinrichtung 1 auf einer Pixel-für-Pixel-Grundlage abgetastet werden, wobei die Pixel zu einem Computersystem 2 übertragen werden. Das Computersystem 2 ist dazu konfiguriert, auf verschiedenen internen und externen Trägern gespeicherte vordefinierte grafische Objekte 3 zu verwenden, die mit dem abgetasteten Bild von der Abtasteinrichtung 1 kombiniert werden, wobei das sich ergebende Bild auf einem Drucker 4 ausgedruckt wird. Bei dem Drucker 4 handelt es sich vorzugsweise um eine "bandorientierte" Tintenstrahldruckvorrichtung wie beispielsweise den Tintenstrahldrucker CJ10 von Canon. Bei dem CJ10 von Canon handelt es sich dahingehend um eine "bandorientierte" Druckvorrichtung, daß er ein Bild durch ein Drucken von einzelnen Bändern eines nach dem anderen druckt.
  • Unter Bezugnahme auf 2 bis 5 ist nachstehend eine beispielhafte Operation des Zusammensetzens von Bildern unter Verwendung von abgetasteten Bilddaten erläutert. In 2 ist ein beispielhaftes Bild 5 gezeigt, das auf der Abtasteinrichtung 1 zu plazieren ist und von dem ein Abschnitt in dem endgültigen Bild zu verwenden ist. Das Bild 5 besteht aus einem schwarzen Kleeblatt 6 auf einem weißen Hintergrund 11.
  • In dem ersten Fall ist es gewünscht, die Farbe des Kleeblatts 6 derart zu ändern, daß sie eine Farbe 13 gemäß 3 ist. Ähnlich ist es gewünscht, die Farbe des Hintergrunds 11 gemäß 2 derart zu ändern, daß sie eine Farbe 23 gemäß 4 ist. Bei dem bevorzugten Ausführungsbeispiel können beide Farben 13 und 23 eine beliebige Mischung von Farben in irgendeiner Richtung sein. Zusätzlich zu der Änderung des abgetasteten Bilds ist es gewünscht, bei verschiedenen Schichten verschiedene Objekte zum Bild hinzuzufügen. Nachstehend auf 5 Bezug nehmend sind zwei weitere Objekte einschließlich eines Hintergrundtafelobjekts 24 und eines Vordergrundemblemobjekts 25 gezeigt. Bei dem bevorzugten Ausführungsbeispiel können beide Objekte 24 und 25 zusätzlich dazu, einen beliebigen Transparenzgrad aufzuweisen, beliebige Farbmischungen aufweisen. Nachstehend auf 6 Bezug nehmend ist das endgültige Bild gezeigt, das zusätzlich zu dem neu gefärbten Kleeblatt 6 die Objekte 25, 24 und den neu gefärbten Hintergrund 11 kombiniert. Das Emblem 25 erscheint vor den abgetasteten Bilddaten, und das Hintergrundobjekt 24 erscheint hinter den abgetasteten Bilddaten.
  • 7 zeigt ein zweites Beispiel eines abgetasteten Bilds zur Kombination mit anderen Objekten bei der Erzeugung eines von einem Computer erzeugten Bilds. Das abgetastete Bild umfaßt einen ersten Bereich 26, der den dem in 2 gezeigten Kleeblattentwurf ähnlichen Kleeblattentwurf enthält, und einen zweiten Bereich 29, der verschiedene geschriebene Informationen enthält. In diesem speziellen Beispiel sind die Bereiche 26 und 29 derart entworfen, daß sie in zwei verschiedene Objekte zerlegt sind, und sind unterschiedlich zu behandeln. Nachstehend auf 8 Bezug nehmend ist die gewünschte endgültige Form eines Bilds gezeigt, das aus der Hintergrundtafel 24 und dem Vordergrundemblem 25, dem neu gefärbten Kleeblatt 6, dem neu gefärbten Hintergrund 11 und dem ursprünglichen Schreibbereich 29, der unverändert bleibt, zusammengesetzt ist. Dieses Beispiel veranschaulicht die Integration der abgetasteten Bilddaten aus verschiedenen Bereichen der Abtasteinrichtung 1 in verschiedene Objekte der endgültigen Bildzusammensetzung. Wieder können die von einem Computer definierten Objekte 24, 25 beliebige lineare Farbmischungen zusätzlich zu beliebigen Richtungstransparenzmischungen aufweisen.
  • Nachstehend auf 9 Bezug nehmend ist der Betrieb einer bandorientierten Druckvorrichtung mit dem bevorzugten Ausführungsbeispiel erläutert. Eine Seite 7 wird aus einer großen Anzahl von Bändern 8 erzeugt, wobei jedes Band eines nach dem anderen gedruckt wird. Jedes Band 8 besteht dann wieder aus einer großen Anzahl von Zeilen 9. Ohne einen Verlust an Allgemeinheit wird es angenommen, daß die Zeilen von dem oberen Ende zu dem unteren Ende jedes Bands gedruckt werden. Es sind jedoch selbstverständlich andere Formate möglich.
  • Nachstehend auf 10 Bezug nehmend ist ein einzelnes Band 8 gezeigt. Jedes Band 8 besteht aus einer großen Anzahl von Zeilen 9, 10. Jede Zeile 9, 10 besteht weiter aus einer Folge von Pixeln 12. Das Pixel 12 ist selbst aus einer Anzahl von Komponentenfarben gebildet, z. B. wird es angenommen, daß die Komponentenfarben jedes Pixels aus Zyan, Magenta, Gelb und Schwarz (CMYK) gebildet sind. Ferner umfassen wie in dem Fachgebiet üblich die zu dem Drucker 4 (1) gesendeten Pixeldaten Farbkomponenten Rot, Grün und Blau (RGB), wobei jede Komponente 8 Bits von Farbpegelinformationen aufweist. Der Drucker 4 verwendet bekannte Verfahren zur Wandlung der AGB-Farbdaten in entsprechende CMYK-Farbdaten, die anschließend ausgedruckt werden.
  • Wieder auf 9 Bezug nehmend ist ein einfaches Beispiel von zwei Objekten 14 und 15 gezeigt, die einen Teil des Gesamtbilds bilden, das auf die Seite 7 zu drucken ist. Da das Objekt 15 teilweise außerhalb der Seite 7 liegt, ist es für das Computersystem 2 (1) notwendig, das Objekt auf die Grenzen der Seite 7 "abzuschneiden". Idealerweise ist der Umriß jedes Objekts 14, 15 durch Spline-Umrißinformationen dargestellt. Die Verwendung von Splines ist dahingehend vorteilhaft, daß sie eine effiziente Drehung, Skalierung und Verschiebung von beliebigen Objekten ermöglicht.
  • Nachstehend auf 11 Bezug nehmend ist der bei dem Rendern von Bildern durch das Computersystem 2 (1) ausgeführte Prozeß beschrieben. Informationen über das Seitenlayout werden in das System 16 geladen.
  • Anschließend wird eine vereinfachte Form der die Seite beschreibenden Objekte erzeugt 17. Eine Bandvorbereitungsstufe 18 bestimmt es, welche Objekte in einem derzeitigen Band der gedruckten Seite aktiv sind. Eine Bandrenderstufe 19 wandelt die Objekte auf einer Zeile-für-Zeile-Grundlage in eine kompakte Beschreibung. Eine Objekt/Bild-Kombinationsstufe 21 kombiniert die computergestützte Beschreibung des Objekts mit eingehenden Abtasteinrichtungsdaten 20, um eine Ausgabe 22 für die Tintenstrahldruckvorrichtung zu bilden. Die Operation jeder der Stufen des Renderprozesses ist nachstehend weiter beschrieben.
  • Nachstehend näher auf die Seitenlayoutbeschreibungsstufe 16 Bezug nehmend werden Informationen über das Layout einer Seite in das Computersystem geladen. Diese Informationen bestehen normalerweise aus Objekten, die zu drucken sind. Die Objekte können dann wieder in kubische Splines zerlegt werden, die den Umriß eines Objekts bestimmen. Zusätzlich sind jedem Objekt eine Ebenennummer sowie Informationen bezüglich seiner Farbeigenschaften und Verschiebungs-, Drehungs- und Schrägstellungseigenschaften, die auf das Objekt angewendet werden sollen, bevor es gerendert wird, zugeordnet.
  • Nachstehend auf 12 Bezug nehmend ist ein Objektdatensatz 27 gezeigt. Dieser Datensatz umfaßt Felder für Ebenen-, Mischungs-, Transparenz- und Verschiebungsinformationen zusätzlich zu einem Zeiger 28 auf eine verknüpfte Liste, die alle Beschreibungen von Splines enthält, die den Umriß des Objekts umfassen.
  • Das Ebenenfeld des Objektdatensatzes 27 bestimmt es, zu welcher von vielen Schichten oder Ebenen das Objekt gehört, und es wird zur Bestimmung der Sichtbarkeit eines Objekts verwendet. Nachstehend auf 13 und 14 Bezug nehmend ist ein Beispiel für die Bedeutung der Ebene eines Objekts gezeigt. In 14 sind drei Objekte 30, 31, 32 gezeigt, wobei das Objekt 30 sich auf einer Ebene unterhalb des Objekts 32 befindet, das sich dann wieder auf einer Ebene unterhalb des Objekts 31 befindet. 14 zeigt einen Querschnitt durch die Objekte gemäß 13 entlang der Linie VII-VII gemäß 6. Es ist ersichtlich, daß das Objekt 30 sich auf einer Ebene 1 befindet, das Objekt 32 sich auf einer Ebene 2 befindet und das Objekt 31 sich auf einer Ebene 3 befindet. Daher hat bei einem Drucken der Zeile entlang VII-VII das Objekt 31 Vorrang vor den anderen Objekten und wird bevorzugt vor diesen Objekten gedruckt.
  • Falls das Objekt 31 aktiv und opak ist, ist die gedruckte Ausgabefarbe diejenige, die mit den Farbinformationen des Objekts 31 gespeichert ist. Wenn das Objekt 31 aktiv und derart definiert ist, daß es teilweise transparent ist, dann ist die Ausgabefarbe eine Kombination der Farbe des Objekts 31 und der Farbe des Objekts 32 unterhalb von ihm (unter der Annahme, daß das Objekt 32 opak ist). Folglich können Objekte teilweise oder vollständig transparent sein, wobei die Kombination von Objektfarben nachstehend weiter beschrieben ist.
  • Wieder auf 12 Bezug nehmend enthält das Mischungsfeld des Objektdatensatzes 27 neun Werte, die drei Ebenen in dem Farbraum des Objekts definieren. Wie es nachstehend weiter beschrieben ist, genügen diese Informationen, um eine lineare Mischung von irgendwelchen Farben in irgendeiner Richtung zu beschreiben.
  • Das Transparenzfeld des Objektdatensatzes 27 enthält drei Paare von Werten, die den Grad der Transparenz des Objekts definieren, wie es ebenfalls nachstehend weiter beschrieben ist. Ein Objekt ist transparent, wenn Abschnitte des Objekts unterhalb des transparenten Objekts in dem endgültigen Bild durch das transparente Objekt scheinen.
  • Das Verschiebungsfeld des Objektdatensatzes 27 definiert die bekannte Verschiebung, Drehung, Skalierung und Schrägstellung, die auf alle zu einem Objekt gehörenden Splines sowie auf die Farbmischungsinformationen eines Objekts anzuwenden sind.
  • Wieder auf 11 Bezug nehmend ist der nächste Schritt bei der Vorbereitung eines Bilds der Seitenvorbereitungsschritt 17. Der Seitenvorbereitungsschritt 17 umfaßt alle notwendigen Softwareoperationen, die ausgeführt werden müssen, bevor das Bild gerendert werden kann. Diese umfassen:
    • 1. Die geometrischen Transformationen, die zusätzlich zu der Mischungsbeschreibung des Objekts auf alle zu einem Objekt gehörenden Splines anzuwenden sind.
    • 2. Die Abschneideoperationen, die auf Objekte oder Teile davon anzuwenden sind.
    • 3. Für jedes Band in einem endgültigen Bild die Vorbereitung einer verknüpften Liste von Objekten, die dieses Band schneiden.
  • 1. Geometrische Transformation
  • Die Beschreibung jedes Objekts ist in Form von einer Folge von Ortswerten gespeichert, deren Werte bezüglich eines ersten Koordinatensystems gespeichert sind. Das Verschiebungsfeld der Beschreibung eines Objekts enthält die zur Transformation der Beschreibung des Objekts in Seitenkoordinaten (Seitenzeile und Pixelnummer) notwendigen Informationen. Diese Informationen werden auf das Objekt angewendet, um eine Beschreibung des Objekts unter Bezugnahme auf Seitenkoordinaten zu erzeugen.
  • 2. Seitenabschneiden
  • Nachdem die geometrischen Transformationen auf jedes Objekt angewendet worden sind, können zusätzlich zu Objekten, die teilweise innerhalb und teilweise außerhalb der Seitengrenzen liegen, Objekte vorhanden sein, die außerhalb der Seitengrenzen liegen.
  • Nachstehend auf 15 Bezug nehmend ist ein Beispiel für den Abschneideprozeß mit zwei Objekten 34 und 35 eines Bilds, das durch Bänder 37 auf eine Seite 36 zu drucken ist, gezeigt. Es ist zu sehen, daß das Objekt 35 vollständig außerhalb der Ausgabeseite 36 liegt und daher aus der Beschreibung der Seite 36 gelöscht oder aussortiert werden kann. Dies hat die Wirkung der deutlichen Beschleunigung nachfolgender Stufen des Druckprozesses. Das Objekt 34 liegt teilweise auf und teilweise außerhalb der gedruckten Seite, und ein Abschneideprozeß wird auf das Objekt 34 angewendet, um ebenfalls die nachfolgenden Stufen des Druckprozesses zu beschleunigen. Der erste anzuwendende Schritt besteht in der Vereinfachung des Abschnitts des Objekts 34, der außerhalb des oberen Endes der Seite 36 liegt. Die den außerhalb des oberen Endes der Seite liegenden Abschnitt des Objekts bildenden Splines zwischen den Punkten 39 und 40 werden entfernt und durch eine gerade Kante (die immer noch ein Spline-Format aufweist) zwischen den Punkten 39 und 40 ersetzt. Diejenigen Abschnitte 41, 42, 43 des Objekts, die außerhalb der Seiten und des unteren Endes der Seite liegen, werden ebenfalls durch gerade Kanten ersetzt, um die Beschreibung des Objekts 34 weiter zu vereinfachen.
  • 3. Vorbereitung der Objektbandschnittpunktliste
  • Die nächste Stufe des Vorbereitungsprozesses umfaßt eine Bildung einer Objektbandschnittpunktliste, die eine Struktur definiert, die für jedes Band diejenigen Objekte angibt, die das Band schneiden. Nachstehend auf 16 und 17 Bezug nehmend ist ein Beispiel für die Bandschnittpunktlistenbildung gezeigt. In 16 ist die Ausgabeseite gezeigt, die Objekte 45, 46 und 47 umfaßt. In 17 ist die entsprechende Objektbandschnittpunktliste 50 für das Bild gemäß 16 gezeigt. Die Objektbandschnittpunktliste 50 umfaßt eine regelmäßige Anordnung von Zeigern 51. Die Anzahl von Elementen in der regelmäßigen Anordnung 51 entspricht der Anzahl von Bändern in einer gedruckten Seite. Jedes Element der regelmäßigen Anordnung 51 enthält einen Zeiger 52, der auf eine verknüpfte Liste aller Objekte 53, die in diesem speziellen Band beginnen, zeigt. Jedes Element 53 der verknüpften Liste umfaßt einen Datensatz, der die Beschreibung des Objekts und das letzte Band oder Endband, mit dem sich das Objekt schneidet, zusätzlich zu einem Zeiger auf das nächste Element der verknüpften Liste enthält.
  • Die Bandobjektschnittpunktliste 51 kann während des Ladens der Objekte in das Computersystem 2 aufgebaut werden, nachdem die geometrischen Transformationen auf jedes Objekt angewendet worden sind. Dies wird getan, indem ein Begrenzungskasten für jedes Objekt berechnet wird, der es dann wieder angibt, in welchem Band das Objekt beginnt und in welchem Band das Objekt endet. Die Beschreibung des Objekts und der Begrenzungskasten können daraufhin zum Aufbau des Objektdatensatzes 53 verwendet werden, wobei der Datensatz daraufhin an den Listenzeiger 52 für das relevante Anfangsband des Objekts angehängt wird.
  • Die Objektbandschnittpunktliste umfaßt daher eine verknüpfte Liste der bei diesem Band beginnenden Objekte. Dies ist bei der Bestimmung derjenigen Objekte, die das Band schneiden, für jedes Band sehr nützlich und spart beträchtliche Mengen von Zeit, wann immer eine Bandvorbereitungs- oder Renderoperation bei den anzuzeigenden Objekten ausgeführt wird.
  • Bandorientierte Tintenstrahldruckvorrichtungen wie beispielsweise der CJ10 von Canon drucken ihr Bild mit einer beliebigen Zeit zwischen dem Ende des Druckens eines Bands und dem Beginn des Druckens des nächsten Bands Band für Band. Daher unterhält der Seitenvorbereitungsprozeß 17 (11) eine zusätzliche Liste aktiver Objekte, während jedes Band vorbereitet und gerendert wird. Diese Liste aktiver Objekte ist anfänglich leer, bevor das erste Band gedruckt wird. Jedesmal wenn ein neues Band zur Vorbereitung bereit ist, werden alle Objekte in der Objektbandschnittpunktliste, die bei diesem Band beginnen, an die Liste aktiver Objekte angehängt. Die Liste aktiver Objekte wird daraufhin an einen Bandvorbereitungsprozeß 18 (11) weitergeleitet. Folglich befaßt sich der Bandvorbereitungsprozeß 18 nur mit denjenigen Objekten, die das derzeitige Band schneiden. Falls das derzeitige Band das letzte schneidende Band eines Objekts 54 ( 17) ist, wird das Objekt aus der Liste aktiver Objekte gelöscht.
  • Nachstehend auf 18 Bezug nehmend ist der Bandvorbereitungsprozeß 18 gemäß 11 genauer gezeigt. Der Bandvorbereitungsprozeß umfaßt das Abschneiden von Splines 60 auf die Ränder eines Bands, die Vektorisierung jedes Splines 61 in Liniensegmente und die Vorbereitung einer Zeilenschnittpunktliste 62 für das derzeitige Band.
  • Bandabschneiden von Splines
  • Wie es vorher angeführt ist, wird dem Bandvorbereitungsprozeß 18 (11) eine Liste von Objekten zugeleitet, die in dem derzeitigen Band aktiv sind. Jedes Objekt umfaßt eine Anzahl von Splines, die seinen Umriß beschreiben, und der Bandabschneideprozeß ist für die Beseitigung derjenigen Splines, die außerhalb des derzeitigen Band auftreten, und für die Vereinfachung derjenigen Splines, die sich teilweise innerhalb und teilweise außerhalb des derzeitigen Bands befinden, verantwortlich. Nachstehend auf 19 Bezug nehmend ist ein Beispiel für den Bandabschneideprozeß gezeigt. Ein Objekt 67 ist auf einem derzeitigen Band 66 einer gedruckten Seite 65 zu rendern. Diejenigen Abschnitte des Objekts 67, die sich oberhalb des derzeitigen Bands befinden, können an der Kante des derzeitigen Bands zu geraden Linien vereinfacht werden. Beispielsweise kann der Abschnitt des Objekts 67 zwischen den Bandkanten 68 und 69 zu einer geraden Linie zwischen diesen zwei Punkten vereinfacht werden. Ähnlich können diejenigen Abschnitte des Objekts 67 unterhalb und auf den Seiten des derzeitigen Bands (z. B. 70) aus der Liste des derzeitigen Objekts gelöscht werden. Das Ergebnis des Bandabschneideprozesses besteht in einer Liste der Splines eines Objekts, die in dem derzeitigen Band 66 aktiv sind.
  • Spline-Vektorisierung
  • Wieder auf 18 Bezug nehmend ist die nächste Stufe in dem Bandvorbereitungsprozeß die Vektorisierung von Splines in Liniensegmente 61. Der Spline-Vektorisierungsprozeß 61 wandelt alle Splines eines Objekts in Vektoren oder Liniensegmente.
  • Die parametrische Gleichung für einen Spline auf einer Ebene x, y ist gegeben wie folgt:
    x(t) = at3 + bt2 + ct + d (GL 1)
    y(t) = et3 + ft2 + gt + h (GL 2)
  • Ein Verfahren zur Wandlung der vorstehenden Gleichung in Liniensegmente besteht. in der Abtastung der Gleichungen für den Spline entlang einer vorbestimmten Anzahl von in dem parametrischen Raum äquidistanten Punkten. Die Variable t befindet sich normalerweise in dem Bereich von 0 bis 1, und andere Bereiche können in einer bekannten Art und Weise geeignet skaliert werden, so daß t diesen Bereich von Werten annehmen kann. Auf 13 Bezug nehmend ist ein Beispiel für den Prozeß gezeigt, durch den ein sich von dem Punkt x(0), y(0) zu x(1), y(1) erstreckender Spline 72 in Liniensegmente 73 gewandelt wird, die in dem parametrischen Raum äquidistant sind.
  • Selbstverständlich kann dieses Verfahren dahingehend ungeeignet sein, daß die erhaltene Annäherung an den Spline potentiell zu grob sein kann. Da jedoch der Rechenaufwand der Aufteilung des Splines im Vergleich zu einer Überprüfung des mit der Aufteilung verbundenen Fehlers minimal ist, kann eine geeignete Leistung erhalten werden, indem lediglich der Spline viel öfter aufgeteilt wird, als es im Durchschnitt erforderlich wäre.
  • Die Aufteilung des Splines entlang äquidistanten Punkten in dem parametrischen Raum ist ein einfacher Prozeß, da die Gleichungen 1 und 2 Polynome in t sind. Daher können die folgenden Rekurrenzbeziehungen verwendet werden.
  • Xk+1 = xk + Δxk (GL 3)
    Δxk+1 = Δxk + ΔΔxk (GL 4)
    ΔΔxk+1 = ΔΔxk + ΔΔΔxk (GL 5)
    Yk+1 = yk + Δyk (GL 6)
    Δyk+1 = ΔYk + ΔΔyk (GL 7)
    ΔΔk+1 = ΔΔyk + ΔΔΔyk (GL 8)
  • Wenn Δt = 1/n, wobei n die Anzahl von Aufteilungen ist, dann sind die Anfangsbedingungen für die vorstehende Rekurrenzbeziehung
    X0 = d (GL 9)
    Δx0 = 3aΔt2 + 2bΔt + c (GL 10)
    ΔΔx0 = 6aΔt + 2b (GL 11)
    ΔΔΔx0 = 6a (GL 12)
    y0 = h (GL 13)
    Δy0 = 3eΔt2 + 2fΔt + g (GL 14)
    ΔΔy0 = 6eΔt + 2f (GL 15)
    ΔΔΔy0 = 6e (GL 16)
  • Die Verwendung der vorstehenden Rekurrenzbeziehungen ermöglicht eine einfache Berechnung nachfolgender Punkte x, y aus einem derzeitigen Punkt x, y, und falls die Anzahl von gewünschten Liniensegmenten eine Potenz von 2 ist, können die Punkte ohne den Bedarf an komplizierten Gleitpunktarithmetikoperationen berechnet werden.
  • Eine einfache Heuristik zur Bestimmung einer Anzahl von Liniensegmenten, in die ein Spline zu zerlegen ist, besteht darin, den Umkreis des Begrenzungskastens des Splines zu messen. Je größer der Umkreis ist, desto größer ist die Anzahl von Liniensegmenten, in die der Spline aufgeteilt werden sollte.
  • Das Ergebnis des Spline-Vektorisierungsprozesses besteht in einer Liste von Liniensegmenten für jeden Spline. Diese Liniensegmente werden in eine Vektor-Zeilen-Schnittpunktliste eingefügt, die nachstehend unter Bezugnahme auf 21 und 22 beschrieben ist. 21 zeigt ein beispielhaftes Band 75, das eine Vielzahl von Zeilen 76 umfaßt, die von 0 bis (MaxZeile-1) numeriert sind. Dieses spezielle Band 75 weist drei Liniensegmente 77, 78 und 79 auf, die als Ergebnis des Spline-Vektorisierungsprozesses gebildet worden sind und in dem derzeitigen Band zu rendern sind. 22 zeigt die Vektorzeilenschnittpunktliste 81, die alle aktiven Linien in dem derzeitigen Band 75 speichert und von einer ähnlichen Natur wie die Objektbandschnittpunktliste 51 gemäß 17 ist. Die Vektorzeilenschnittpunktliste 81 umfaßt eine regelmäßige Anordnung von Zeigern 82, wobei die Anzahl von Elementen in der regelmäßigen Anordnung 82 gleich der Anzahl von Zeilen in dem Band ist. Jedes Element in der regelmäßigen Anordnung 82 zeigt auf eine Liste der Liniensegmente 83, die auf dieser Zeile beginnen. Jedes Liniensegment 83 in der Verknüpfungsliste enthält eine Beschreibung des Liniensegments und einen Zeiger 84 auf das nächste Listenelement. Die über jedes Liniensegment gespeicherten Informationen umfassen:
    • 1. Ebeneninformationen, die die Ebene des Objekts angeben, zu dem das Liniensegment gehört;
    • 2. Endzeileninformationen, die die letzte Zeile beschreiben, auf der das Liniensegment aktiv ist;
    • 3. Pixelinformationen, die das Pixel auf einer Zeile beschreiben, die das Liniensegment derzeit schneidet; und
    • 4. Steigungsinformationen, die die Steigung des Liniensegments beschreiben und zur Aktualisierung des Pixelinformationswerts nach dem Drucken jeder Zeile verwendet werden können.
  • Nachstehend auf 18 Bezug nehmend wird die Vektorzeilenliste in dem Schritt erzeugt 62, nachdem jeder Spline vektorisiert worden ist 61. Wie es in 11 zu sehen ist, schließt die Erzeugung der Vektorzeilenschnittpunktliste die Bandvorbereitungsstufe 18 ab, wobei die nächste Stufe die Bandrenderstufe 19 ist. Die Seitenlayoutbeschreibungsstufe 16, die Seitenvorbereitungsstufe 17 und die Bandvorbereitungsstufe 18 werden alle in Software ausgeführt, wobei die Bandrenderstufe 19 sowie die Objekt- und Bildkombinationsstufe 21 in Hardware ausgeführt werden.
  • 23 betrachtend ist das Computersystem 2 gemäß 1 genauer gezeigt. Das Computersystem 2 umfaßt einen Speicher 86, eine Zentraleinheit (CPU) 87 und ein Bandrenderuntersystem 88. Die CPU 87 ist für die Vorbereitungsschritte 16, 17, 18 gemäß 11 verantwortlich, wobei die Ergebnisse in dem Speicher 86 gespeichert werden. Das Bandrenderuntersystem 88 ist für die Stufen 19 und 21 gemäß 11 verantwortlich.
  • Nachstehend auf 24 Bezug nehmend ist der Datenverarbeitungsfluß durch das Bandrenderuntersystem 88 gezeigt. Das Bandrenderuntersystem 88 umfaßt eine Kantenberechnungseinheit (ECU) 90, die die Vektorzeilenschnittpunktliste gemäß 22 als ihre Eingabe nimmt und den Schnittpunkt der verschiedenen Liniensegmente mit einer derzeitigen Abtastzeile berechnet. Dieser Prozeß wird ausgeführt, indem die Vektorzeilenschnittpunktliste durchlaufen wird und die Pixelwerte für eine derzeitige Abtastzeile aktualisiert werden. Sobald sie berechnet sind, werden die Kanten in einem "Z-Kanten"-Zwischenspeicher ("Zedge" Buffer) 91 gespeichert, bei dem es sich um eine spezialisierte Form von Zwischenspeicher handelt, die nachstehend weiter beschrieben ist. Eine Sichtbarkeitsbestimmungseinheit (VDU) 92 liest Werte aus dem Z-Kanten-Zwischenspeicher 91 und führt eine Entfernung verdeckter Flächen aus, um die Objekte der derzeitigen obersten transparenten Ebene und der derzeitigen obersten opaken Ebene zu bestimmen. Die Werte der Objekte der obersten Ebene werden zu einer Lauflängencodierungseinrichtung (RLE) 93 gesendet, die die Objektebeneninformationen für jedes Pixel in Lauflängeninformationen transformiert, bevor sie die Lauflängeninformationen in einem Bandzwischenspeicher 94 speichert. Die Verwendung der RLE 93 verringert die notwendige Größe des Bandzwischenspeichers 94 und auch die notwendige Bandbreite für den Speicher im Vergleich zu der einzelnen Speicherung der Pixelinformationen für jedes Pixel auf einer Zeile beträchtlich. Diese Bandbreitenverringerung ist sowohl während der Speicherung als auch dem nachfolgenden Drucken des Bilds wirksam.
  • Aus der in dem Speicher 96 (23) gespeicherten Beschreibung jedes Objekts werden die Ebenen-, Farb- und Transparenzinformationen jedes Objekts bestimmt und in einer Eigenschaftstabelle 95 gespeichert, die in einem weiteren Bereich des Speichers 86 gespeichert ist, der üblicherweise durch DRAM-Vorrichtungen realisiert ist.
  • Sobald ein ganzes Band in dem Bandzwischenspeicher 94 gespeichert worden ist und zum Drucken bereit ist, liest eine Lauflängenerweiterungseinrichtung (RLEX) 96 das Band aus dem Bandzwischenspeicher 94, erweitert alle lauflängencodierten Bandinformationen und leitet die Informationen zu einer Mischungsberechnungseinrichtung 97. Die Mischungsberechnungseinrichtung 97 berechnet die notwendigen Farb- und Transparenzmischungen und sendet sie zu einer Zusammensetzungseinrichtung 98.
  • Die Zusammensetzungseinrichtung 98, die entweder mit dem gleichen Taktzyklus wie die Ausgabevorrichtung wie beispielsweise der Tintenstrahldrucker CJ10 von Canon arbeitet oder bei der ihre Ausgangsdaten anschließend mit der Ausgabevorrichtung 4 synchronisiert werden, kombiniert die Informationen von der Mischungsberechnungseinrichtung 97 mit den Daten von der Kopierabtasteinrichtung 1 (1), um die endgültige Pixelausgabe für die Druckervorrichtung 4 (1) zu erzeugen.
  • Nachstehend auf 25 Bezug nehmend ist eine tatsächliche Realisierung des Bandrenderuntersystems 88 gemäß 23 gezeigt. Das Bandrenderuntersystem 88 umfaßt eine Prozeßbusschnittstelle (PBI) 101, die mit der CPU 87 (23) interagiert und den Gesamtbetrieb des Bandrenderuntersystems 88 steuert. Ein Grafikeinheitsmodul (GEM) 102 umfaßt die ECU 90, die VDU 92 und die RLE 93 gemäß 24. Ein Tintenstrahlmodul (IJM) 103 umfaßt die RLEX 96, die Mischungsberechnungseinrichtung 97 und die Zusammensetzungseinrichtung 98 gemäß 24. Der Z-Kanten-Zwischenspeicher 91, der Bandzwischenspeicher 94 und die Eigenschaftstabelle 95 sind alle in dem DRAM-Speicher 86 (23) gespeichert, und es wird durch das Bandrenderuntersystem 88 über eine DRAM-Steuereinheit (DCU) 104 auf sie zugegriffen. Die Prozessorbusschnittstelle 101 umfaßt ein internes Steuerregister mit 4 Bits, das die verschiedenen Module in dem Bandrendersystem 88 steuert. Die Inhalte dieses Registers stellen sich dar wie in der nachstehenden Tabelle aufgelistet.
  • Tabelle 1: Das Steuerregister
    Figure 00250001
  • Das GEMGO-Bit beginnt den Betrieb des GEM 102. Wenn das GEM 102 seine Operationen abgeschlossen hat, benachrichtigt es die PBI 101. Die PBI 101 stellt daraufhin das IJMGO-Bit ein, was den Betrieb des IJM 103 einleitet. Das ENECU-Bit und das ENRU-Bit werden zum Testen der ECU 90 (24) und einer Rendereinheit (RU) 108, die nachstehend unter Bezugnahme auf 30 beschrieben ist, bereitgestellt.
  • Nachstehend auf 26 Bezug nehmend ist das Grafikeinheitsmodul (GEM) 102 gemäß 25 genauer gezeigt. Das GEM 102 umfaßt die Kantenberechnungseinheit (ECU) 90 und eine Rendereinheit (RU) 108. Wie es nachstehend weiter beschrieben ist, umfaßt die RU 108 die VDU 92 und die RLE 93 gemäß 24. Die ECU 90 und die RU 108 lassen ihre Operationen abwechseln, um ein Band zum Drucken zu erzeugen. Das GEM 102 verwendet die Vektorzeilenschnittpunktliste, die vorher durch die CPU 87 (23) erzeugt worden ist, um eine lauflängencodierte Bitmaske zu dem Bandzwischenspeicher 94 (24) auszugeben, die in dem DRAM-Speicher 86 (23) gespeichert wird.
  • Das GEM 102 wird durch eine Renderablaufsteuereinheit (RFC) 110 gesteuert, die eine Anzahl von Registern umfaßt, die durch die PBI 101 gelesen und beschrieben werden können. Diese Register und ihre Breiten (in Bits) stellen sich dar wie in der nachstehenden Tabelle gezeigt.
  • Tabelle 2: GEM-Einheits-Register-Tabelle
    Figure 00260001
  • Figure 00270001
  • Die Register Basis0 und Basis1 definieren die Orte entscheidender Arbeitsbereiche des GEM 102 in dem DRAM 86. Diese Register sind in verschiedene Felder unterteilt, von denen jedes einen Anfangsort eines speziellen Speicherbereichs definiert. Die Organisation der Register Basis0 und Basis1 ist in den folgenden Tabellen gezeigt.
  • Tabelle 3: das Basis0-Register
    Figure 00270002
  • Tabelle 4: das Basis1-Register
    Figure 00270003
  • Wie es aus den vorstehenden Tabellen ersichtlich ist, ist die Auflösung von Basisadressen oder Speicherbereichen begrenzt. Beispielsweise ist die Adresse Z-Kanten Basis 10 Bits breit. Der DRAM-Speicher 86 kann aus maximal 1024 K Wörtern bestehen, wobei jedes Wort 32 Bits breit ist. Dies impliziert eine 20-Bit-Adresse. Daher kann die Position der Adresse Z-Kanten Basis nur mit einer Genauigkeit von 10 Bits (d. h., in Schritten von 1024 32-Bit-Wörtern) bestimmt werden.
  • Die Tabelle 5 listet nachstehend die verschiedenen E/A-Signale in das GEM 102 hinein und aus ihm heraus auf.
  • Tabelle 5
    Figure 00280001
  • Figure 00290001
  • Die Kantenberechnungseinheit (ECU) 90 berechnet den Schnittpunkt der derzeit aktiven Liniensegmente mit der derzeitigen Abtastzeile des derzeitigen Bands. Dies wird getan, indem eine Liste derzeit aktiver Kanten unterhalten wird, die anfänglich leer ist und aktualisiert wird, während die Abtastzeile vorrückt. Kurz zu 22 zurückkehrend hängt die ECU 90 für jede neue Zeile diejenigen Liniensegmente, die auf der derzeitigen Zeile beginnen, an das Ende der Liste derzeit aktiver Kanten an. Anschließend durchläuft die ECU 90 die Liste aktiver Kanten sequentiell, und für jedes Liniensegment in der Liste werden die Pixel- und Ebeneninformationen über die DRAM-Steuereinheit 104 (18) in dem Z-Kanten-Zwischenspeicher 91 gespeichert und wie nachstehend beschrieben zur späteren Sichtbarkeitsbestimmung verwendet. Mit einigen Ausgabevorrichtungen kann das Papier hinsichtlich seiner Position zwischen dem Drucken von Bändern leicht fehlplaziert sein. In dieser Situation kann dem Papierschlupf Rechnung getragen werden, indem das Pixelfeld oder Ursprünge der Pixelkoordinaten um das Ausmaß des Schlupfs versetzt werden. Falls die derzeit aktive Zeile mit dem Endzeilenfeld des Listenelements zusammenfällt, wird das Liniensegment aus der Liste aktiver Kanten gelöscht, da es auf der derzeitigen Zeile endet. Andernfalls wird das Pixelfeld gemäß der Gleichung
    Pixeln+1 = Pixeln + Steigung (GL 17)
    aktualisiert.
  • Nachdem alle Kanten einer gegebenen Zeile berechnet worden sind, benachrichtigt die ECU 90 die Rendereinheit 108 über eine Renderablaufsteuereinheit 110, daß sie fortfahren kann, und die ECU 90 hält an und wartet darauf, durch die Renderablaufsteuereinheit 110 wieder aktiviert zu werden.
  • Die Vektorzeilenschnittpunktliste gemäß 22 wird in dem DRAM-Speicher 86 gespeichert, und es wird durch das Feld LS Basis in dem Register Basis0 auf sie gezeigt. Dieser Bereich umfaßt die regelmäßige Anordnung von Zeigern 82 auf Listen von Listenelementen 83. Jeder Zeiger in der regelmäßigen Anordnung ist eine 16-Bit-Größe. 27 betrachtend ist das Format jedes Listenelements 83 gezeigt, das 13 die letzte Zeile von Pixeln in einem Band, in der das Liniensegment aktiv ist, bezeichnende Bits 112, das derzeit aktive Pixel auf einer Zeile 113, den Gradienten der Linie 115, einen Zeiger auf das nächste Listenelement 116 und 7 Bits (was 128 Ebenen ermöglicht) von Ebeneninformationen 117 umfaßt. Da der Endzeilenwert 112 13 Bits breit ist, kann ein Band höchstens 8192 Zeilen lang sein. Sowohl das Pixelfeld 113 als auch das Steigungsfeld 115 sind in einer Zweierkomplement-Festpunkt-Notation mit 5 Bits für den Bruchteil gespeichert. Dies ermöglicht Werte zwischen ±256, mit 5 Bits der Genauigkeit nach dem Dezimalpunkt. Daher ist der durch eine Addition der Steigung zu dem derzeitigen Wert des Pixels für jede Zeile angesammelte maximale Fehler immer kleiner als 1 Pixel, falls das Liniensegment kürzer als 32 Pixel lang ist. Falls das Liniensegment länger als 32 Pixel ist, kann der angesammelte Fehler 1 Pixel überschreiten. Selbstverständlich würde dies von dem tatsächlichen Wert des Steigungsfelds abhängen. Der angesammelte Fehler kann einfach verringert werden, indem ein Liniensegment in eine Anzahl von kleineren Liniensegmenten zerlegt wird. Das nächste Feld 116, das 16 Bits breit ist, kann bis zu 65535 verschiedenen Liniensegmenten pro Band Rechnung tragen.
  • Für jedes aktive Liniensegment auf einer derzeitigen Zeile werden die derzeitigen Pixelorte und Objektebeneninformationen in dem Z-Kanten-Zwischenspeicher 91 in dem DRAM-Speicher 86 gespeichert. Nachstehend auf 28 Bezug nehmend ist ein Beispiel für den Z-Kanten-Zwischenspeicher 91 gezeigt. Unter der Annahme, daß 132 Pixel in einer Zeile innerhalb eines Bands und bis zu 128 mögliche Ebenen, die bei jedem Durchlauf gerendert werden können, vorhanden sind, besteht der Z-Kanten-Zwischenspeicher 91 aus einer eindimensionalen regelmäßigen Anordnung von Pixeldatensätzen mit 132 Elementen, wobei jeder Pixeldatensatz dann wieder 128 Bits aufweist, 1 Bit für jede mögliche Ebene. Die ECU 90 speichert für die Pixelkoordinate ein einzelnes Bit in dem Speicher und Ebeneninformationen von jeder aktiven Kante in der Liste aktiver Kanten.
  • Das Erfordernis, den Z-Kanten-Zwischenspeicher 91 in dem DRRM-Speicher 86 zu speichern, stellt Gemeinkosten für das System ähnlich denen dar, denen sich Mikroprozessordesigner gegenübersehen, die Hilfsspeicherschemata realisieren müssen. Es ist häufig der Fall, daß der DRAM-Speicher 86 wesentlich langsamer als der Rest der das Bandrenderuntersystem 88 bildenden Logik ist. Die Ebeneninformationen jedes Pixels des Z-Kanten-Zwischenspeichers 91 umfassen einen 128-Bit-Datensatz. Daher kann jeder Pixeldatensatz als 4 aufeinanderfolgende 32-Bit-Wörter in dem DRAM-Speicher 86 gespeichert werden. Zur Erhöhung der Leistungsfähigkeit des Bandrenderuntersystems wird ein Schatten-Z-Kanten-Zwischenspeicher 109 (26) bereitgestellt, um eine Zusammenfassung des Status des DRAM-Speichers 86 anzugeben, ohne daß das Bandrenderuntersystem auf ihn zugreifen muß.
  • Nachstehend auf 29 Bezug nehmend ist nachstehend die Operation des Schatten-Z-Kanten-Zwischenspeichers 109 bzw. des Z-Kanten-Zwischenspeichers 91 erläutert. Jedes Pixel belegt in dem Z-Kanten-Zwischenspeicher 91 128 Bits. Der Schatten-Z-Kanten-Zwischenspeicher 109 speichert 4 Bits von Informationen pro Pixel, wobei 1 Bit für jedes externe Wort in dem Z-Kanten-Zwischenspeicher 91 gespeichert ist. Bei dem Beginn jeder Zeile wird der Schatten-Z-Kanten-Zwischenspeicher 109 zurückgesetzt, und wenn eine Kante in den Z-Kanten-Zwischenspeicher 91 geschrieben wird, wird ihr entsprechendes Ortsbit in dem Schatten-Z-Kanten-Zwischenspeicher 109 eingestellt. Daher ist während der Kantenspeicherungsphase dann, wenn ein Wort bereits modifiziert worden ist, ein voller Lese-Modifizier-Schreib-Zyklus für den DRAM-Speicher 86 notwendig. Falls der Ort für eine derzeitige Kante nicht in dem Schatten-Z-Kanten-Zwischenspeicher 109 eingestellt worden ist, dann ist jedoch nur ein Schreiben in den Speicher erforderlich. Wie es nachstehend weiter erörtert ist, sollten während der Renderphase die Inhalte jedes Orts des Z-Kanten-Zwischenspeichers 91 in der Theorie gelesen und zurückgesetzt werden. Falls der entsprechende Ort in dem Schatten-Z-Kanten-Zwischenspeicher 109 nicht eingestellt ist, dann sind jedoch keine Speicherlesevorgänge erforderlich. Da es wahrscheinlich ist, daß für einfache Bilder die meisten der Pixel keine Kanten umfassen, stellt ein Betrachten des Schatten-Z-Kanten-Zwischenspeichers 109 statt eines Lesens aus dem DRAM-Speicher 86 eine wesentliche Ersparnis hinsichtlich DRAM-Bandbreite und Zeit dar.
  • Wieder auf 26 Bezug nehmend benachrichtigt die Renderablaufsteuereinheit 110 die Rendereinheit (RU) 108 zum Beginnen des Betriebs, nachdem alle Kanten für die derzeitige Zeile durch die ECU 90 verarbeitet worden sind.
  • Nachstehend auf 30 Bezug nehmend ist die Rendereinheit (RU) 108 gemäß 26 genauer gezeigt. Die Rendereinheit 108 besteht aus der Sichtbarkeitsbestimmungseinheit (VDU) 92 und der Lauflängencodierungseinrichtung (RLE) 93. Die VDU 92 liest Kanten aus dem Z-Kanten-Zwischenspeicher 91 und/oder dem Schatten-Z-Kanten-Zwischenspeicher 109 und verwendet die Kanten zur Bestimmung der höchsten sichtbaren Ebene und davon, ob sich irgendein Objekt einer transparenten Ebene oberhalb der höchsten sichtbaren Ebene befindet. Dieser Prozeß wird für jedes Pixel wiederholt, und die Lauflängencodierungseinrichtung 93 speichert anschließend eine codierte Lauflänge in dem Bandzwischenspeicher 94.
  • Zur Verringerung des Speicherbandbreitenbedarfs stützt sich die VDU 92 umfassend auf den Schatten-Z-Kanten-Zwischenspeicher 109. Wie es vorher angeführt ist, wäre es in der Theorie notwendig, für jedes Pixel 4 32-Bit-Wörter aus dem Z-Kanten-Zwischenspeicher 91 in dem DRAM 86 abzurufen und derartigen Speicher zurückzusetzen, nachdem sie geladen worden sind, so daß die ECU 90 für die nächste Zeile richtig arbeitet. Der Speicherbandbreitenbedarf kann durch die Verwendung des Schatten-Z-Kanten-Zwischenspeichers 109 sehr verringert werden. Durch die Betrachtung der 4-Bit-Zusammenfassung jedes Pixels ist es notwendig, nur diejenigen Pixel zu laden, die das Ergebnis bewirken. Wenn ein Bit in dem Schatten-Z-Kanten-Zwischenspeicher 109 eingestellt ist, dann muß das entsprechende Wort aus dem Z-Kanten-Zwischenspeicher 91 geladen werden. Wo das Bit nicht eingestellt ist, ist kein Speicherlesevorgang notwendig. Ein weiterer wesentlicher Bandbreitenvorteil besteht darin, jedes Pixel zurückzusetzen, nachdem es gelesen worden ist. Durch die Verwendung des Schatten-Z-Kanten-Zwischenspeichers 109 ist es nur notwendig, das Pixel in dem Schatten-Z-Kanten-Zwischenspeicher 109 zurückzusetzen, wobei die Daten in dem DRAM-Speicher unangetastet bleiben. Wieder ist kein Speicherlesevorgang aus dem Speicher 86 erforderlich.
  • Nachstehend auf 31 Bezug nehmend ähnelt der Betrieb der Sichtbarkeitsbestimmungseinheit dem in der australischen Patentanmeldung Nr. 38242/93 beschriebenen, die am 28. April 1993 eingereicht wurde, den Titel "Method and Apparatus for Providing Transparency in an Object Based Rasterised Image" trägt, durch die gegenwärtige Anmelderin eingereicht wurde und dem US-Patent Nr. 5,428,724 entspricht, dessen Inhalte hiermit in diese Anmeldung aufgenommen werden. Die aktiven Pixelkantendaten für jedes Pixel werden aus dem Z-Kanten-Zwischenspeicher 91 gelesen, wo es notwendig ist, und in 128-Bit-Wörter für jedes Pixel geformt. Diese Wörter werden daraufhin zum Umschalten eines Satzes von Flipflop-Zwischenspeichern 118 verwendet. Die Ausgabe der Flipflop-Zwischenspeicher wird über ein UND-Gatter 119 einer Prioritätscodierungseinrichtung 120 zugeführt. Die Prioritätscodierungseinrichtung bestimmt die höchste derzeit aktive Ebene von ihren 128 Eingaben, wobei sie den Wert der höchsten aktiven Ebene ausgibt, die die oberste opake Ebene ist, die derzeit aktiv ist.
  • Wie es in der Tabelle 2 offenbart ist, umfaßt die GEM-Einheit 102 eine Folge von vier 32-Bit-Transparenzmaskenregistern 123. Diese Register werden während des Seitenvorbereitungsprozesses durch die CPU 87 geladen und umfassen ein Bit für jede Ebene, das es bedeutet, ob Objekte auf dieser Ebene transparent sind oder nicht. Die vier Transparenzmaskenregister 123 sind wie in 32 gezeigt miteinander verkettet, um eine Angabe dahingehend bereitzustellen, welche der 128 Ebenen transparent sind.
  • Wieder auf 31 Bezug nehmend werden die in den Transparenzmaskenregistern 123 gespeicherten 128 Werte zum gesteuerten Durchlassen der eingehenden opaken Ebenen über das Gatter 119 verwendet. Daher gehen aktive Ebenen nur durch das Gatter 119 hindurch und erreichen die Prioritätscodierungseinrichtung 120, wenn sowohl der Flipflop-Zwischenspeicher 118 für diese Ebene eine ungerade Anzahl von Malen umgeschaltet worden ist als auch der entsprechende Transparenzmaskenwert für diese Ebene nicht eingestellt worden ist.
  • Auf ähnliche Weise stellt es ein Gatter 124 sicher, daß die einzigen aktiven Ebenen, die eine Prioritätscodierungseinrichtung 121 erreichen, diejenigen sind, deren aktive Kanten zusätzlich dazu, daß die Ebenentransparenzwerte in dem Register 123 eingestellt sind, eine ungerade Anzahl von Malen umgeschaltet worden sind. Die Prioritätscodierungseinrichtung 121 bestimmt daher die maximale derzeit aktive Transparenz, wobei sie diesen Wert als die oberste Transparenzebene ausgibt. Nachdem sowohl die oberste opake Ebene als auch die oberste transparente Ebene bestimmt worden ist, vergleicht eine Vergleichseinrichtung 122 die oberste opake Ebene mit der obersten transparenten Ebene und gibt ein Signal Transparenz aktiv aus, wenn die transparente Ebene größer als die opake Ebene ist.
  • Wieder auf 30 Bezug nehmend wird die Ausgabe von der VDU 92, bei der es sich um die höchste opake und transparente Ebene handelt, zu der Lauflängencodierungseinrichtung (RLE) 93 weitergeleitet.
  • Nachstehend auf 33 Bezug nehmend ist die RLE 93 genauer gezeigt. Die RLE empfängt Daten Pixel für Pixel von der VDU und transformiert sie in Lauflängendaten. In der Praxis hat es sich herausgestellt, daß sich für die meisten Bilder das oberste Objekt ziemlich selten ändert, wobei die Änderungen in den meisten Fällen mehr als 10 Pixel auseinander auftreten. Daher wird die Lauflängencodierung zur Zusammendrängung der in dem Bandzwischenspeicher 94 zu speichernden Daten verwendet. Die VDU 92 leitet Pixeldaten für jedes Pixel auf einer Zeile zu der RLE 93. Eine Änderungserfassungseinrichtungseinheit 126 benachrichtigt eine Steuereinheit 127, wenn die Eingangswerte von der VDU 92 sich ändern. Wenn eine Änderung erfaßt wird, wird die alte Ebene mit dem neuen Wert aktualisiert 129, und die vorherigen Ebenen werden mit einem Lauflängenzählerwert 131, der es angibt, für wie viele Pixel das vorherige Objekt das Objekt der obersten Ebene war, in einen Schreibzwischenspeicher 128 geschrieben. Der Lauflängenzähler 131 wird daraufhin rückgesetzt und anschließend für jedes eingehende Pixel erhöht, für das keine Änderung erfaßt wird. Sobald der Schreibzwischenspeicher 128 mit einer vorbestimmten Anzahl von lauflängencodierten Einträgen gefüllt worden ist, werden sie über die DRAM-Steuereinheit (DCU) 104 in den Bandzwischenspeicher 94 in dem DRAM-Speicher 86 geschrieben. Wenn diese Entleerung des Schreibzwischenspeichers 128 auftritt, ist die VDU 92 zum Stillstand gebracht. Der Schreibzwischenspeicher 128 wird derart verwendet, daß ein Schreiben in DRAM in Blöcken auftritt und der Fast-Page-Mode des DRAM genutzt werden kann.
  • Nachstehend auf 34 Bezug nehmend sind die Struktur des Bandzwischenspeichers 94 und entsprechende Lauflängencodierungsdatenstrukturen gezeigt. Die Lauflängen werden ohne irgendwelche formalen Trennsymbole für neue Zeilen in dem Bandzwischenspeicher 94 sequentiell gespeichert. Daher müssen zum Extrahieren der zu einer speziellen Zeile gehörenden Lauflänge alle Lauflängen bis zu einschließlich dieser Zeile abgetastet werden. Selbstverständlich ist dies während des Druckens des Bands kein Problem, da dieses ohnehin ein inhärent sequentieller Prozeß ist. Die Lauflängen werden durch die Lauflängencodierungseinrichtung 93 nur für Pixelkoordinaten zwischen den in den Registern RMINPIXEL und RMAXPIXEL gespeicherten Werten erzeugt. Dies ermöglicht es, das Bild in Bänder einer Größe zu zerlegen, wie sie durch die Ausgabevorrichtung benötigt wird. Falls es notwendig ist, kann unter Verwendung der zwei Register auch eine bessere Leistung erhalten werden, da das nächste Band durch die GEM-Einheit 102 verarbeitet werden kann, während das derzeitige Band gedruckt wird. Zusätzlich kann die Bandgröße dort eingestellt werden, wo es notwendig ist, z. B. an dem Ende jeder Seite.
  • Wie es in 34 gezeigt ist, sind zwei Arten von Lauflängen verfügbar. Eine erste Art "A" 132 wird verwendet, wenn sowohl transparente als auch opake Ebenen aktiv sind. Diese Art A 132 umfaßt 24 Bits von Speicher, wobei das höchstwertige Bit es bedeutet, daß sie von einer Art A sind. Ähnlich sind Lauflängen einer Art B 133 diejenigen, die eine opake aktive oberste Ebene aufweisen. Die Verwendung von zwei Arten von Lauflängen ist derart entworfen, daß Speicheranforderungen weiter verringert werden.
  • Wieder auf 24 und 25 Bezug nehmend wird das Tintenstrahlmodul 103 zur Erzeugung des endgültigen Pixelbands für den Drucker aktiviert, sobald das GEM 102 den Prozeß der Erzeugung von Lauflängen für ein ganzes einzelnes Band abgeschlossen hat. Das Tintenstrahlmodul 103 ist für die Erweiterung der Lauflängen und die Erzeugung der erforderlichen Mischungen für jede Zeile vor der Zusammensetzung dieser Mischungen mit eingehenden abgetasteten Daten und dem Senden der endgültigen Pixel zu dem Drucker verantwortlich.
  • Nachstehend auf 35 Bezug nehmend ist das Tintenstrahlmodul (IJM) 103 genauer gezeigt. Das Tintenstrahlmodul umfaßt eine Lauflängenerweiterungseinrichtung 96, eine Mischungsberechnungseinrichtung 97, eine Zusammensetzungseinrichtung 98, eine Tintenstrahlmodulsteuereinheit 136 und eine Taktsynchronisationseinheit 137. Die nachstehende Tabelle 6 zeigt die verschiedenen Eingangs-/Ausgangssignale für das Tintenstrahlmodul 103.
  • Tabelle 6
    Figure 00380001
  • Figure 00390001
  • Die Lauflängenerweiterungseinrichtung 96 lädt Lauflängen aus dem in dem DRAM-Speicher 86 gespeicherten Lauflängenbandzwischenspeicher 94 zusätzlich zu zugeordneten Farbinformationen aus der ebenfalls in dem DRAM-Speicher 86 gespeicherten Eigenschaftstabelle 95 (24). Diese Informationen werden erweitert und zu der Mischungsberechnungseinrichtung 97 weitergeleitet, die auf einer Pixel-für-Pixel-Grundlage arbeitet. Die Eigenschaftstabelle 95 (24) enthält alle Informationen, die durch die Mischungsberechnungseinrichtung 97 und die Zusammensetzungseinrichtung 98 zur Erzeugung einer zu dem Drucker zu sendenden Bitmaske verwendet werden können, sobald sie durch die RLEX 96 extrahiert sind. Die Eigenschaftstabelle 95 wird als Teil des Seitenvorbereitungsprozesses erzeugt und weist 128 Einträge mit einem Eintrag für jede Ebene auf. Nachstehend auf 36 und 37 Bezug nehmend sind der Eintrag einer opaken Ebene 141 und der Eintrag einer transparenten Ebene 142 für ein Objekt in der Eigenschaftstabelle 95 gezeigt. Jeder Eintrag belegt 4 32-Bit-Wörter in dem DRAM-Speicher 86. Somit ist die Eigenschaftstabelle vollständig in einer DRAM-Seite enthalten, und Leseverfahren für Fast-Page-Mode-Speicher können zu ihrer schnellen Übertragung zu der Lauflängenerweiterungseinrichtung 96 verwendet werden. Die Position der Seitentabelle in dem DRAM-Speicher 86 wird durch ein Feld Ptabelle Basis in dem Basisregister bestimmt. Die Inhalte des Eintrags einer Ebene werden abhängig davon, ob die Ebene opak oder transparent ist, unterschiedlich interpretiert. Die Opazität oder Transparenz einer Ebene wird durch die Einstellung der Ebene in dem entsprechenden Transparenzmaskenregister gemäß 31 bestimmt. Die verschiedenen Felder des Eigenschaftstabelleneintrags sind nachstehend unter Bezugnahme auf die Erörterung der Mischungsberechnungseinrichtung 97 weiter erörtert.
  • Nachstehend auf 38 Bezug nehmend ist die Lauflängenerweiterungseinrichtung 96 genauer gezeigt. Die Lauflängen und Farbinformationen werden über die DRAM-Steuereinheit 104 aus dem DRAM-Speicher 86 in jeweilige Doppelzwischenspeicher 138 und 139 geladen. Die Verwendung von Doppelzwischenspeichern lockert die Speicherbandbreitenanforderungen durch eine Anhäufung von Zugriffen auf den DRAM-Speicher 86, was die Verwendung eines Fast-Page-Mode-Speicherzugriffs ermöglicht. Ferner ermöglicht es die Verwendung von Doppelzwischenspeichern, einen Satz von Daten zu laden, während ein anderer Satz verwendet wird.
  • Sobald das Grafikeinheitsmodul 102 seine Operationen abgeschlossen hat, benachrichtigt es die Prozessorbusschnittstelle 101, die das Bit IJMGO in dem Steuerregister (siehe Tabelle 1) einstellt, was den Betrieb der Lauflängenerweiterungseinrichtung 93 beginnt. Die Lauflängenerweiterungseinrichtung 93 beginnt, indem sie den Lauflängenzwischenspeicher 138 unter der Leitung der Steuereinrichtung 140 lädt. Die Länge, Transparenzund Opazitätsebenen werden durch die Steuereinrichtung 140 decodiert, die die relevanten Eigenschaftsinformationen für die Transparenz- und Opazitätsebenen von dem Doppelzwischenspeicher 139 zu der Mischungsberechnungseinrichtung 97 (35) weiterleitet. Pixeldaten in dem Bandrendersystem 88 werden in dem Format Rot, Grün, Blau (RGB) mit 8 Bits für jede Primärfarbkomponente und einer weiteren 8-Bit-Transparenz- oder Opazitätsmaske gespeichert. In einem speziellen Seitenlayout sind maximal 128 Ebenen vorhanden, die jeweils entweder transparent oder opak sein können. Eine transparente Ebene ist durch eine einzelne Basis-24-Bit-RGB-Farbe oder durch von der Abtasteinrichtung 1 (1) kommende Daten zusätzlich zu Transparenzdaten, die gemäß einer linearen Mischung in irgendeiner Richtung oder durch eine Modulation durch von der Abtasteinrichtung kommende Daten variieren können, definiert. Ein Eintrag einer opaken Ebene umfaßt eine Farbmischung in irgendeiner Richtung oder von der Abtasteinrichtung aufgenommene Daten. Wie vorher angeführt, werden nur die transparenten Daten der obersten Ebene und die opaken Daten der obersten Ebene für jedes Pixel durch das GEM 102 weitergeleitet, wobei die Transparenzebene nur dann berücksichtigt wird, falls sie größer als ihre entsprechende opake Ebene ist. Die vorstehenden Kombinationen von Transparenz- und Opazitätsebenen ermöglichen eine größere Vielseitigkeit bei der möglichen Ausgabe, wofür ein paar Beispiel in den folgenden numerierten Absätzen umrissen sind.
    • 1. Indem es der Opazitätsebene ermöglicht wird, die von der Abtasteinrichtung kommenden Farbdaten anzunehmen, können abgetastete Bilder der realen Welt zum "Textur-Mapping" von irgendeinem der das Seitenlayout bildenden Objekte verwendet werden.
    • 2. Die opake Ebene eines Objekts kann auch mit einem neu gefärbten schwarzweißen Bild wie z. B. Text, das durch den Benutzer an dem Kopierer/der Abtasteinrichtung 1 eingegeben worden ist, einem Textur-Mapping unterzogen werden. Wie es nachstehend weiter beschrieben ist, ermöglicht es die Mischungsberechnungseinrichtung 97, alle weißen Teile eines abgetasteten Bilds mit einer vordefinierten konstanten Farbe neu zu färben und alle schwarzen Teile ebenfalls mit einer als Teil der Opazitätsebene definierten Farbmischung neu zu färben.
    • Zusätzlich können die Rollen von weiß und schwarz vertauscht werden. Die Bestimmung dahingehend, ob eine spezielle Farbe weiß oder schwarz ist, wird durch einen Vergleich mit einem Schwellenwert definiert. Da derartige Wirkungen auf einer Ebene-für-Ebene-Grundlage definiert werden können, ist es möglich, einen Teil des Seitenlayouts einem Textur-Mapping mit Bildern zu unterziehen und einen zweiten Teil mit dem von der Abtasteinrichtung kommenden schwarzweißen Bild neu zu färben.
    • 3. Oben auf irgendeiner opaken Ebene kann eine Transparenzebene definiert werden, die eine Farbmischung zu irgendeiner RGB-Farbe hin umfaßt. Zusätzlich ist es möglich, die Basisfarbe der transparenten Ebene als Abtasteinrichtungsdaten zu definieren und gleichzeitig ihre Transparenz mit einer linearen Mischung zu variieren. Mit dieser Einrichtung werden die Daten von der Abtasteinrichtung allmählich über irgendwelche darunterliegenden grafischen Objekte überlagert. Dies schafft die Möglichkeit für abgetastete Bilder, sich glatt in grafische Objekte eines Seitenlayouts einzumischen und einzublenden.
    • 4. Die Steuerung der Transparenz einer Ebene mit abgetasteten Bilddaten ermöglicht viele nützliche Wirkungen. Beispielsweise ist es möglich, die Transparenz der Ebene gemäß der Helligkeitskomponente der abgetasteten Bilddaten allmählich zu modulieren, was eine Wirkung der Betrachtung eines abgetasteten Bilds durch Buntglas ergibt.
  • Wo eine transparente Ebene über einer opaken Ebene liegt, müssen die Pixelwerte für die zwei Ebenen auf bestimmten Wegen kombiniert oder zusammengesetzt werden. Die nachstehende Gleichung 18 zeigt es, wie eine endgültige Farbe, eine Farbe (x, y), aus einer Farbkomponente einer transparenten Ebene C2(x, y), einer Farbe einer opaken Ebene C1(x, y) und einer Transparenzfunktion k(x, y), die einen Wert zwischen 0 und 1 annimmt, abgeleitet wird, wobei 0 äquivalent zu völliger Transparenz und 1 äquivalent zu völliger Opazität ist. Die Zusammensetzungsgleichung, die für jede Primärfarbe RGB verwendet wird, stellt sich dar wie folgt:
    Farbe (x, y) = C2(x, y)k(x, y) + C1(x, y) (1 - k(x, y)) (GL 18)
    Die Farbkomponente einer Opazitätsebene (C1(x, y)) kann für jede Primärfarbkomponente eine Mischung umfassen, wobei die Mischung oder der Farbwert in der Gleichung 19 definiert ist:
    Mischungswert = Ax + By + C (GL 19)
    wobei A, B und C vorbestimmte Konstanten sind, die aus der erforderlichen Farbmischung abgeleitet werden.
  • Bei dem vorliegenden Ausführungsbeispiel sind A und B 15-Bit-Festpunktzahlen mit 5 Bits nach dem Dezimalpunkt zugewiesen, und C ist eine 8-Bit-Zahl, deren Wert immer positiv ist. Unter Verwendung getrennter Werte von A, B und C für jede Primärfarbkomponente kann eine beliebige lineare Mischung in irgendeiner Richtung definiert werden.
  • Mit Bezug auf die Transparenzebene steuert k(x, y) das Ausmaß der Transparenz in dem Bild, wobei der Wert C2(x,y) die Transparenzfarbebene definiert. Wie vorher angeführt kann die Transparenzkomponente k(x, y) aus Abtasteinrichtungsdaten abgeleitet werden oder kann eine lineare Funktion der derzeitigen Pixelposition (x, y) sein. In dem letzteren Fall ist das Transparenzausmaß durch die Gleichung:
    Transparenz = Dx + Ey + F (GL 20)
    definiert.
  • Bei dem vorliegenden Ausführungsbeispiel sind den Werten D und E 15-Bit-Festpunktzahlen mit 5 Bits nach der Dezimalstelle zugewiesen. F ist eine 8-Bit-Zahl, deren Wert immer positiv ist. Diese Werte reichen aus, um eine lineare Transparenzmischung in irgendeiner Richtung zu definieren.
  • Wie vorher ausgeführt weist die Mischungsberechnungseinrichtung 97 auch die Fähigkeit zur Neufärbung von Abtasteinrichtungsdaten auf, die sich sehr scharf unterscheidende Farbkomponenten umfassen, die derart zu ändern sind, daß sie andere Farben sind. Dies ermöglicht es, auf irgendwelcher speziell erzeugter Computergrafik neu gefärbten Text oder neu gefärbte Muster zu überlagern, die von der Abtastvorrichtung 1 abgeleitet werden.
  • Zu 36 und 37 zurückkehrend sind der Eintrag einer opaken Ebene 141 und der Eintrag einer transparenten Ebene 142 gezeigt, die die Eigenschaftstabelle 95 bilden. Unter Bezugnahme auf den Eintrag einer opaken Ebene 141 sind Mischungswerte für A, B und C für jede der Primärfarbkomponenten Rot, Grün und Blau definiert, wodurch eine beliebige Mischungsebene in drei Dimensionen definiert ist. Zusätzlich ist ein Art-Feld für die Realisierung verschiedener Textur-Mapping-Optionen für die opake Ebene wie vorher erörtert bereitgestellt. Der Wert des Art-Felds des Eintrags einer opaken Ebene 141 und entsprechende Wirkungen sind definiert wie folgt:
    • 00 – Der opake Mischungswert stellt sich dar wie durch die Koeffizienten A, B, C definiert.
    • 01 – Farbdaten für diese Ebene kommen von der Abtastvorrichtung 1.
    • 10 – Irgendwelcher schwarzer Text in dem abgetasteten Bild wird erfaßt und mit einer durch die Koeffizienten A, B, C definierten Mischung neu gefärbt. Nicht schwarze Abschnitte sind mit den Inhalten des Neufärbregisters neu zu färben.
    • 11 – Wie für die Erfassung von schwarzen Pixeln, aber auf weiße Pixel statt auf schwarze Pixel angewendet.
  • Unter Bezugnahme auf 38 umfaßt der Transparenzebeneneintrag 142 Werte D, E und F wie vorher definiert zusätzlich zu Basisfarbwertkomponenten für jede der RGB-Pixelkomponenten. Die Transparenzebene realisiert auch verschiedene Optionen wie durch die Bits KB und KT definiert. Wenn das Bit KB eingestellt ist, dann wird die Basisfarbe aus der Eigenschaftstabelle genommen, andernfalls wird der Farbwert von der Abtasteinrichtung genommen. Wenn das Bit KT eingestellt ist, dann wird das Ausmaß der Transparenz durch die Werte D, E und F definiert, andernfalls wird der Transparenzwert aus der Luminanzkomponente der eingehenden Abtasteinrichtungsdaten abgeleitet.
  • Nachstehend auf 39 Bezug nehmend ist die Mischungsberechnungseinrichtung 97 gezeigt. Die Mischungsberechnungseinrichtung 97 führt die Mischungsberechnungen gemäß der Gleichung 19 und der Gleichung 20 aus und umfaßt getrennte Mischungsverarbeitungseinrichtungseinheiten zur Verarbeitung von Rot 144, Grün 145, Blau 146 und Transparenzdaten 147, um RGB-Ausgangspixeldaten 149 und Transparenzmischungsdaten 150 zu erzeugen. Die derzeitigen Positionen x und y werden durch x-, y-Zähler 151 bereitgestellt. Die Eingabe in die Zähler 151 umfaßt Pixeltaktinformationen und Zeilentaktinformationen 153, die von der Druckvorrichtung 4 abgeleitet werden. Obwohl die tatsächlichen Pixeltaktdaten sich mit verschiedenen Marken von Tintenstrahldruckern unterscheiden können, wird es angenommen, daß ein Signal VTAKT IMPULS aktiviert wird, wenn der Drucker ein neues Pixel benötigt. Dieses Signal erhöht dann wieder den x-Zähler, um den nächsten Pixelort auszugeben. Auf ähnliche Weise wird jedesmal, wenn der Drucker die neue Zeile in einem derzeitigen Band beginnt, der Zeilenzähler durch ein Signal VE SYNC von der Druckvorrichtung erhöht, und der x-Zähler wird gleichzeitig zu seinem relevanten Versatzwert rückgesetzt. Zusätzlich werden sowohl der x-Zähler als auch der y-Zähler rückgesetzt, wenn eine neue Seite beginnt, was bei einem Signal BVE SYNC von dem Drucker auftritt.
  • Nachstehend auf 40 Bezug nehmend ist eine Mischungsverarbeitungseinrichtung 155 (144–146 gemäß 39) genauer gezeigt. Die Mischungsverarbeitungseinrichtung 155 führt die Gleichung 19 aus, wobei der x-Wert mit A multipliziert wird, der y-Wert mit B multipliziert wird, wobei die zwei Werte zueinander addiert werden und daraufhin zu C addiert werden. Die Transparenzmischungsverarbeitungseinrichtung 147 gemäß 39 arbeitet in einer äquivalenten Art und Weise, aber für die geänderten Eingaben D, E, F. Wie es in 35 zu sehen ist, wird die Ausgabe der Mischungsberechnungseinrichtung 149, 150 zu der Zusammensetzungseinrichtung 98 weitergeleitet. Ferner ist in 39 die RGB-Ausgabe 149 von der Mischungsverarbeitungseinrichtung 97 in ihren RGB-Komponenten sequentiell. Die spezielle Farbausgabe wird durch einen Multiplexer 148 gesteuert, dessen Eingaben die erforderlichen RGB-Mischungen sind.
  • Nachstehend auf 34 Bezug nehmend ist die Zusammensetzungseinrichtung 98 genauer gezeigt. Die Eingaben in die Zusammensetzungseinrichtung 98 umfassen die Basisfarbe 158 aus der Eigenschaftstabelle, die RGB-Werte 149 von der Mischungsberechnungseinrichtung 97, die Bits KB und KT 159, 160 aus der Eigenschaftstabelle 95, den Transparenzfaktor 150 von der Mischungsberechnungseinrichtung 97 zusätzlich zu Abtasteinrichtungsdaten 20 von der Abtasteinrichtung 1. Die Zusammensetzungseinrichtung 98 umfaßt eine volle Mischungseinrichtung 162 und eine einfache Mischungseinrichtung 163. Die volle Mischungseinrichtung 162 ist für die Ausführung der Gleichung 18 verantwortlich, wobei das Transparenzausmaß k(x, y) gemäß der Gleichung 18 durch den Multiplexer 164 unter der Steuerung des KT-Signals derart bestimmt wird, daß es entweder das durch die Mischungsberechnungseinrichtung berechnete Transparenzausmaß 150 oder die abgeleitete Luminanzkomponente aus den Abtasteinrichtungsdaten 20, die über eine Luminanzberechnungseinrichtung 161 abgeleitet wird, ist. Die Luminanzberechnungseinrichtung 161 leitet eine Näherung an den Luminanzwert der Abtasteinrichtungsdaten ab, wobei die Standardluminanzgleichung ist:
    Luminanz = 0,30 R + 0,59 G + 0,11 B (GL 21)
  • Da die grüne Komponente der Abtasteinrichtungsdaten 20 beinahe zwei Drittel der Helligkeit des Signals umfaßt, kann alternativ die Luminanzberechnungseinrichtung 161 beseitigt werden, falls es notwendig ist, wobei ihre Ausgabe durch die grüne Komponente der Abtasteinrichtungsdaten 20 ersetzt wird.
  • Die Basisfarbe C2(x,y) gemäß der Gleichung 18 wird durch einen Multiplexer 165 unter der Steuerung des KB-Signals 159 bestimmt und wird aus der Abtasteinrichtungsdateneingabe 20 oder der Basisfarbeingabe 158 ausgewählt.
  • Die opake Farbe C1(x, y) gemäß der Gleichung 18 wird durch einen Multiplexer 166 unter der Steuerung des Art-Felds der opaken Ebene des Eigenschaftstabelleneintrags des derzeitigen Objekts derart bestimmt, daß sie entweder der berechnete Mischungswert 149, die Abtasteinrichtungsdaten 20 oder ein Neufärbregisterdatenwert 168 ist.
  • Eine Neufärberfassungseinheit 170 führt einen Schwellenwertvergleich bei den Abtasteinrichtungseingangsdaten 20 aus, um es zu bestimmen, ob die Pixeleingangsdaten einen Wert bei einem der Extremwerte der Eingabe derart aufweisen, daß sie eine Ersetzung durch in dem Neufärbregister 171 gespeicherte Farbdaten erfordern. Das Ausgangssignal 173 von der Neufärberfassungseinheit 170 wird zur Steuerung von Multiplexern 175, 176 verwendet, um dadurch die Abtasteinrichtungseingangsdaten 20 durch die Neufärbregisterdaten 171 zu ersetzen, wenn ein Extremwert erfaßt wird.
  • Nachstehend auf 42 Bezug nehmend ist die volle Mischungseinrichtung 162 gemäß 43 genauer gezeigt. Die volle Mischungseinrichtung 162 führt die Gleichung 19 mit der Basisfarbeingabe C2(x,y) 180 und der Eingabe einer opaken Farbe C1(x, y) 181 aus. Die Transparenzausmaßeingabe k(x, y) 182 bestimmt das Ausmaß der Transparenz, wobei eine opake Erfassungseinrichtung 184 völlig opake Basisfarbdaten erfaßt (die für Daten mit einer Kapazität von 8 Bits auftreten, wenn der Opazitätswert gleich 255 ist) und ein Signal zu einem Multiplexer 185 ausgibt, wenn völlig opake Transparenzinformationen erfaßt werden. Der Multiplexer 185 wählt zwischen völlig opaken Daten und zusammengesetzten Daten und gibt die gewählten Farbdaten zu der einfachen Mischungseinrichtung 163 (41) aus.
  • Wieder auf 41 Bezug nehmend ist die einfache Mischungseinrichtung 163, deren Struktur die gleiche wie die der vollen Mischungseinrichtung 162 ist, bereitgestellt, um es einem Benutzer zu ermöglichen, neu gefärbte, sich sehr stark unterscheidende Artikel, die durch einen Benutzer auf die Abtastvorrichtung gelegt werden, auf dem Layout zu überlagern. Dies stellt eine endgültige Schicht bereit, die über einem ganzen Layout plaziert werden kann. Das Ausmaß der Transparenz in dieser endgültigen Schicht wird durch den Multiplexer 175 gesteuert, der zwischen einem völlig transparenten Eingangssignal 188 und einem durch das Neufärbregister 171 bestimmten Transparenzwert wählt.
  • Schließlich wird die Ausgabe 189 von der einfachen Mischungseinrichtung 163 zum Drucken zu dem Tintenstrahldrucker 4 weitergeleitet.
  • Wieder auf 35 Bezug nehmend muß die Zusammensetzungseinrichtung 98 mit der Ausgabegeschwindigkeit der Tintenstrahldruckvorrichtung arbeiten, und folglich ist eine Taktneusynchronisationseinheit 137 bereitgestellt, um die verschiedenen Steuersignale von der Tintenstrahldruckvorrichtung mit denjenigen des Bandrenderuntersystems zu synchronisieren. Das Bandrenderuntersystem 88 wird am besten als ein anwendungsspezifischer Schaltkreis (ASIC) in CMOS-Vorrichtungstechnologie unter Verwendung von Submikronentwurfsregeln realisiert. Bei einer derartigen Technologie ist es wahrscheinlich, daß ein Mißverhältnis zwischen der Taktgeschwindigkeit des Bandrenderuntersystems und der Tintenstrahldruckvorrichtung vorhanden ist, sofern sie nicht beide von dem gleichen Takt aus laufen (was das bevorzugte Betriebsverfahren ist). Wenn das Bandrenderuntersystem 88 mit einer höheren Taktgeschwindigkeit als die Tintenstrahldruckvorrichtung (die in dem Fall des Tintenstrahldruckers CJ10 von Canon eine Taktgeschwindigkeit von annähernd 5,376 MHz aufweist) läuft, ist eine Taktneusynchronisationseinheit 137 für die ordentliche Synchronisation von Signalen zwischen dem Tintenstrahldrucker 4 und dem Bandrenderuntersystem 88 bereitgestellt. Die Taktneusynchronisationseinheit 137 besteht aus einer Folge von Eingangs- und Ausgangs-Zuerst-ein-zuerst-aus-Warteschlangen (FIFO-Warteschlangen) zur Neusynchronisation von Eingangs- und Ausgangsdaten und Steuersignalen.
  • Es ist aus der vorstehenden Beschreibung ersichtlich, daß ein effizientes System für das Rendern von komplizierten computerbasierten Bildern und ihre Kombination mit abgetasteten Daten bereitgestellt wird, um vielseitige und attraktive Grafiken zu erzeugen, die speziell zum Ausdrucken auf bandbasierten Tintenstrahldruckern eingerichtet sind.
  • Nachstehend auf 43 und 44 Bezug nehmend ist ein Beispiel für die Erzeugung eines Bilds 215 gezeigt. Das Bild 215 besteht aus einer Anzahl von Objekten 216 bis 223, wobei jedes der Objekte seine eigenen vordefinierten Farbdaten (oder Farbmischungsdaten) und Transparenzdaten (oder Transparenzmischungsdaten) aufweist. Wenn das Objekt 217 derart definiert ist, daß es teilweise transparent ist, dann erscheint das Objekt 220 folglich derart, daß es aus der Betrachtungsrichtung durch das Objekt 217 sichtbar ist. Auf ähnliche Weise sollte dann, wenn das Objekt 220 derart definiert ist, daß es zumindest teilweise transparent ist, das Objekt 221 durch das Objekt 220 sichtbar sein.
  • Die Objekte 218, 219 und 220 können derart definiert sein, daß sie entweder ihre Farbe oder Transparenzdaten von einem auf der Abtasteinrichtung 1 (1) plazierten Bild annehmen. Gemäß der vorstehend mit Bezug auf 36 und 37 angeführten Erörterung bestimmen die Einstellung des Art-Felds des Eintrags einer opaken Ebene (36) und die Einstellung der Bits KB und KT des Transparenzebeneneintrags 142 (37) die Transparenzund Farbnatur der Objekte 218-220, wobei jedes Objekt unabhängige Transparenz- und Farbkomponenten aufweisen kann. Wenn die Objekte 218-220 als auf der gleichen Seite auftretend betrachtet werden, dann ist das bevorzugte Ausführungsbeispiel sehr für die Erzeugung von "schablonenhaften" oder vorformatierten Bildern mit variierenden Abschnitten, die leicht durch einen Anfängerbenutzer geändert werden können, geeignet.
  • Beispielsweise kann es sich bei dem Bild 215 um eine Form von Geburtstagsgruß handeln, wobei die Objekte 216, 217, 221, 222 und 223 statisch bleiben und die Objekte 218, 219 und 220 durch den Benutzer geändert werden können, wobei z. B. die Objekte 218 und 219 Fotografien umfassen und das Objekt 220 eine handgeschriebene Nachricht umfaßt.
  • Nachstehend auf 44 Bezug nehmend können die von der Abtasteinrichtung 1 aufzunehmende Datenkomponenten aufweisenden Objekte 218, 220 mittels eines "Pro-Forma"-Blatts vorbereitet werden, das einen Raum 218 für die Plazierung einer ersten Fotografie, einen Raum 219 für die Plazierung einer zweiten Fotografie und einen Raum 220 für die Einfügung einer handgeschriebenen Nachricht aufweist. Die der den Raum des Objekts 218 belegenden Fotografie entsprechenden Bilddaten können daraufhin z. B. direkt in dem endgültigen Bild verwendet werden. Die Bilddaten von der dem Objekt 219 entsprechenden Fotografie können z. B. zur Modulation der Transparenz des Objekts 219 verwendet werden, wobei die Transparenz zu einer vorbestimmten Farbe hin tendiert. Schließlich können die dem Objekt 220 entsprechenden Daten der handgeschriebenen Nachricht eine Erfassung von Text mittels einer Erfassung von schwarzen eingehenden Pixeln auf einem andernfalls weißen Hintergrund unterzogen werden. Der erfaßte Text kann durch eine beliebige Mischung von Farben ersetzt werden, was eine ansprechende Wirkung erzeugt.
  • Das gesamte endgültige Bild kann lediglich durch die Auswahl der Objekte 216-223 und die Plazierung eines Blatts mit den Informationen wie durch das Pro-Forma-Blatt 224 benötigt schnell erzeugt werden.
  • Das Vorstehende beschreibt nur ein Ausführungsbeispiel der Erfindung. Für den Fachmann offensichtliche Modifikationen können daran ausgebildet werden, ohne von dem Schutzbereich der beigefügten Patentansprüche abzuweichen.

Claims (14)

  1. Verfahren zur Zusammensetzung von Bilddaten in Pixeldarstellung aus einer Vielzahl von Objekten mit zugeordneten Farbdaten und aus aus Pixeldaten bestehenden abgetasteten Bilddaten, mit den Schritten: Vorbereiten einer Bandschnittpunktliste (50), wobei die Liste Schnittpunkte von Objekten (30, 31, 32; 45, 46, 47), aus denen die Bilddaten zu bestimmen sind, bezüglich Bändern eines Bildbereichs auflistet; Zuweisen von aus Pixeldaten der abgetasteten Bilddaten abgeleiteten Farbdaten zu zumindest einem der Objekte; und Bandrendern der Objekte (30, 31, 32; 45, 46, 47) unter Bezugnahme auf die Bandschnittpunktliste und die abgeleiteten Farbdaten zur Ableitung der Bilddaten.
  2. Verfahren nach Anspruch 1, wobei die Bandschnittpunktliste (50) eine verknüpfte Liste ist.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei jedem der Objekte (30, 31, 32) Ebenendaten zugeordnet sind, wobei die Ebenendaten eine numerische Komponente aufweisen, und wobei die Bilddaten aus den Objekten (30, 31, 32) abgeleitet werden, von denen zumindest zwei (30, 31, 32) in der Position überlappen, wobei das Objekt einer höheren Ebene (31, 32) von den überlappenden Objekten bevorzugt vor dem Objekt einer niedrigeren Ebene (31, 32) einen Teil des endgültigen Bilds bildet.
  4. Verfahren nach Anspruch 3, wobei jedem der Objekte Transparenzdaten zugeordnet sind und wobei das Objekt mit den Daten einer höheren Ebene von den überlappenden Objekten eine Transparenz eines von den zugeordneten Transparenzdaten abhängigen Grads zeigt.
  5. Verfahren nach Anspruch 4, wobei die Transparenzdaten eine Mischung des Grads der Transparenz aufweisen.
  6. Verfahren nach Anspruch 4 oder 5, mit dem Schritt des Ableitens der zugeordneten Transparenzdaten aus den abgetasteten Bilddaten.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei zumindest ein Objekt, bei dem aus den entsprechenden Pixeldaten abzuleitende Farbdaten zugewiesen werden, zumindest eine der Farben der abgetasteten Bilddaten derart neu färbt, daß sie eine zweite Farbe ist.
  8. Verfahren nach Anspruch 7, wobei die zweite Farbe eine Mischung aus Farben ist, deren tatsächlicher Farbwert von der Position des Pixels in den abgetasteten Bilddaten abhängt.
  9. Verfahren nach Anspruch 8, wobei die Farbdaten eine Farbmischung in einer beliebigen Richtung aufweisen.
  10. Vorrichtung zur Zusammensetzung von ein Bild in Pixeldarstellung definierenden Daten aus einer Vielzahl von Objekten mit zugeordneten Farbdaten und aus aus Pixeldaten bestehenden abgetasteten Bilddaten, mit: einer Einrichtung zum Empfangen abgetasteter Daten (98); einer Speichereinrichtung (86) zum Speichern von Umrissen von Objekten und zugeordneten Objektfarbdaten; einer Bandschnittpunktlistenerzeugungseinrichtung (88) zum Vorbereiten einer Liste von Schnittpunkten von Objekten, aus denen die Bilddaten zu bestimmen sind, bezüglich Bändern eines Bildbereichs; einer Einrichtung zum Zuweisen von Objektfarbdaten mit einer Komponente der abgetasteten Daten zu einem der Objekte; und einer mit der Speichereinrichtung und der Abtasteinrichtung verbundenen Bandrendereinrichtung (88) zum Rendern des zumindest einen Objekts mit den zugewiesenen Objektfarbdaten unter Bezugnahme auf die Bandschnittpunktliste.
  11. Vorrichtung nach Anspruch 10, wobei die Rendereinrichtung ferner eine Transparenzbestimmungseinrichtung (97, 98) zum Bestimmen der Transparenz des zumindest einen der Objekte aus den abgetasteten Daten umfaßt.
  12. Vorrichtung nach Anspruch 10 oder 11, wobei die Rendereinrichtung ferner eine Erfassungseinrichtung (98) zum Erfassen abgetasteter Daten einer ersten vorbestimmten Anzahl von Farben und Ersetzen der Farben durch eine zweite vorbestimmte Anzahl von Farben umfaßt.
  13. Computerprogramm, das zur Konfiguration einer Computervorrichtung zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 9 betreibbar ist.
  14. Speicherträger, der ein Computerprogramm nach Anspruch 13 speichert.
DE69529500T 1994-09-16 1995-09-05 Verwendung von abgetasteten Bildern in einem Bildzusammensetzungssystem Expired - Lifetime DE69529500T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPM822194 1994-09-16
AUPM8221A AUPM822194A0 (en) 1994-09-16 1994-09-16 Utilisation of scanned images in an image compositing system

Publications (2)

Publication Number Publication Date
DE69529500D1 DE69529500D1 (de) 2003-03-06
DE69529500T2 true DE69529500T2 (de) 2004-02-12

Family

ID=3782741

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69529500T Expired - Lifetime DE69529500T2 (de) 1994-09-16 1995-09-05 Verwendung von abgetasteten Bildern in einem Bildzusammensetzungssystem

Country Status (5)

Country Link
US (1) US5841898A (de)
EP (1) EP0703550B8 (de)
JP (1) JPH08287238A (de)
AU (1) AUPM822194A0 (de)
DE (1) DE69529500T2 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6046748A (en) * 1996-06-27 2000-04-04 Peerless Systems Corporation Cooperative filter and raster operation evaluation model
US6208351B1 (en) * 1997-12-22 2001-03-27 Adobe Systems Incorporated Conversion of alpha-multiplied color data
US6256108B1 (en) * 1998-09-10 2001-07-03 Electronics For Imaging, Inc. Method and apparatus for label composition
JP2000153647A (ja) * 1998-11-18 2000-06-06 Canon Inc 画像処理装置およびその方法
CA2256970A1 (en) * 1998-12-23 2000-06-23 John-Paul J. Gignac Method for accessing and rendering an image
US6895127B1 (en) * 1999-09-10 2005-05-17 Arcsoft, Inc. Photomontage using multiple layer placement and color variation
US6781600B2 (en) * 2000-04-14 2004-08-24 Picsel Technologies Limited Shape processor
US6628828B1 (en) * 2000-04-24 2003-09-30 Microsoft Corporation System and method for performing a recoloring operation sequence on color objects
KR20030007923A (ko) * 2001-04-09 2003-01-23 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 화상 융합 방법
US7142326B2 (en) * 2001-05-16 2006-11-28 Xerox Corporation Method and apparatus for variable data document printing
US8023145B2 (en) * 2004-02-27 2011-09-20 Seiko Epson Corporation Image processing system and image processing method
US7646517B2 (en) * 2004-02-27 2010-01-12 Seiko Epson Corporation Image processing system and image processing method
US20050213142A1 (en) * 2004-03-26 2005-09-29 Clark Raymond E Optimization techniques during processing of print jobs
US20050213119A1 (en) * 2004-03-26 2005-09-29 Lexmark International, Inc. Processing print jobs according to size of to-be-printed objects and bands containing same
US20050213117A1 (en) * 2004-03-26 2005-09-29 Lexmark International, Inc. Processing print jobs according to hard or easy processing zones
US7835030B2 (en) * 2004-03-26 2010-11-16 Lexmark International, Inc. Processing print jobs
US7385729B2 (en) * 2004-03-26 2008-06-10 Lexmark International, Inc. Optimization techniques during processing of print jobs
US7859716B2 (en) 2004-03-26 2010-12-28 Lexmark International, Inc. Optimizing to-be-printed objects during print job processing
US7817302B2 (en) * 2004-03-26 2010-10-19 Lexmark International, Inc. Optimizing raster operation functions during print job processing
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
JP4683628B2 (ja) * 2005-06-24 2011-05-18 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US8194277B2 (en) * 2005-06-20 2012-06-05 Canon Kabushiki Kaisha Image combining apparatus, and control method and program therefor
JP2007013235A (ja) * 2005-06-28 2007-01-18 Canon Inc 画像合成装置、画像処理装置の制御方法およびプログラム
US8031366B2 (en) 2007-07-31 2011-10-04 Canon Kabushiki Kaisha Control apparatus, controlling method, program and recording medium
US9384427B2 (en) * 2008-12-16 2016-07-05 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for optimizing pixel based raster trapping
JP4582247B2 (ja) * 2009-08-25 2010-11-17 セイコーエプソン株式会社 画像処理システム、画像処理方法及び画像処理プログラム
JP5803093B2 (ja) * 2010-12-02 2015-11-04 セイコーエプソン株式会社 印刷装置およびその制御方法
AU2011205085B2 (en) * 2011-07-29 2014-05-15 Canon Kabushiki Kaisha 2D region rendering
US8731289B2 (en) * 2012-10-02 2014-05-20 Oracle International Corporation Recoloring images of a web page according to a representative color

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2614252B2 (ja) * 1988-01-19 1997-05-28 キヤノン株式会社 画像合成装置
GB9002477D0 (en) * 1990-02-05 1990-04-04 Crosfield Electronics Ltd Improvements relating to control data arrays
JP2584105B2 (ja) * 1990-05-31 1997-02-19 松下電器産業株式会社 画像編集処理方法
JP2618101B2 (ja) * 1991-01-30 1997-06-11 大日本スクリーン製造株式会社 画像のレイアウト処理方法
GB9108389D0 (en) * 1991-04-19 1991-06-05 3 Space Software Ltd Treatment of video images
US5185666A (en) * 1991-08-05 1993-02-09 Sony Corporation Of America Digitized film image processing system with bordered split screen display
DE69321511T2 (de) * 1992-04-29 1999-04-08 Canon Information Systems Research Australia Pty. Ltd., North Ryde Farben Erzeug- und Mischvorrichtung
US5521710A (en) * 1994-04-12 1996-05-28 Xerox Corporation Method of applying electronically stored labels from a source job to a destination job in a printing system

Also Published As

Publication number Publication date
EP0703550B8 (de) 2003-05-02
EP0703550A3 (de) 1996-10-23
JPH08287238A (ja) 1996-11-01
EP0703550A2 (de) 1996-03-27
US5841898A (en) 1998-11-24
EP0703550B1 (de) 2003-01-29
DE69529500D1 (de) 2003-03-06
AUPM822194A0 (en) 1994-10-13

Similar Documents

Publication Publication Date Title
DE69529500T2 (de) Verwendung von abgetasteten Bildern in einem Bildzusammensetzungssystem
DE3650764T2 (de) Bildverarbeitungsgerät
DE69122557T2 (de) Bilderzeugung
DE3853393T2 (de) Verfahren und Vorrichtung zur zweidimensionalen Bilderstellung.
DE69130382T2 (de) Zeichenverarbeitungsverfahren
DE69131370T2 (de) Pipelinestrukturen für vollfarbfähigen Rechnergraphik
DE3121503C2 (de) Dokumenten-Verarbeitungssystem
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE69015235T2 (de) Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle.
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
DE60027835T2 (de) Farbbildverarbeitungsgerät und -verfahren
DE69401435T2 (de) Veränderliche Datenfelder in einer Seitenbeschreibungssprache
DE69431029T2 (de) System zum Bedrucken verschiedener Artikel nach Kundenangaben mit Bildern, die aus verschiedenen Quellen stammen
DE69225377T2 (de) Farbentrennung für grafischen Tintenstrahl-Druck
DE69427574T2 (de) NTSC-Anzeige der Animation bewegter Bilder
DE69320746T2 (de) Rasterbildverbesserung unter Verwendung eines reduzierten Schablonenspeichers
DE68915006T2 (de) System zum Generieren von Musterdaten.
US20030206316A1 (en) Creation and use of complex image templates
DE68928557T2 (de) Bildverarbeitungsgerät und -methode
DE69413035T2 (de) Antialiasing-verfahren und -vorrichtung mit automatischer justierung von horizontalen und vertikalen rändern an einem zielgitter
DE69938486T2 (de) Bildverarbeitungsverfahren, -system und -gerät, und Speichermedium
DE69227048T2 (de) Verfahren und Geräte zur Bildplanungsverarbeitung
DE3518416A1 (de) Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige
DE69226574T2 (de) Verfahren und Gerät zur Reduktion des benötgten Speicherumfangs in einem digitalen Halbltonrasterungssystem

Legal Events

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

Owner name: CANON K.K., TOKIO/TOKYO, JP

8364 No opposition during term of opposition