-
Hintergrund
-
Die
Erfindung bezieht sich im allgemeinen auf Mischvorgänge an Objekten
bzw. Gegenständen,
welche in einer Seitenbeschreibungssprache beschrieben sind, und
genauer auf Mischvorgänge
unter Verwendung planarer bzw. Planarkarten-Repräsentationen bzw. -Darstellungen
dieser Objekte.
-
Eine
Seitenbeschreibungssprache (PDL) ist eine von einer Ausgabevorrichtung
unabhängige
Sprache auf hoher Ebene bzw. hohem Niveau, um auf einer Ausgabevorrichtung
anzuzeigende Objekte zu beschreiben. Die POSTSCRIPT und PORTABLE
DOCUMENT FORMAT (PDF) Sprachen sind gut bekannte Seitenbeschreibungssprachen
auf hoher Ebene. Sowohl POSTSCRIPT als auch PORTABLE DOCUMENT FORMAT sind
Schutzmarken von Adobe Systems Incorporated of San Jose, California.
-
Eine
PDL-Repräsentation
eines Dokuments (gespeichert als ein File bzw. eine Datei) besteht
aus einer Serie von Instruktionen bzw. Befehlen und möglicherweise
Bildern. Instruktionen sind die Befehle, die in der ausgewählten PDL
definiert sind. Beispielsweise kann eine Serie von Instruktionen
eine Linie von Punkt x zu Punkt y auf einer Seite ziehen. Bilder
sind Rasterrepräsentationen
von Daten. Beispielsweise kann ein Bild eine gesampelte bzw. abgetastete
Photographie sein.
-
Ein
PDL-Interpreter bzw. -Übersetzer
wandelt eine PDL-Datei von einer Serie von Befehlen bzw. Anweisungen
und Bildern in eine Anzeigeliste um. Eine Anzeigeliste ist eine
Serie von Pfaden. Ein Pfad definiert eine Gestalt, eine Trajektorie
bzw. Kurve, und Bereiche aller Arten. Pfade können aus geraden und gekrümmten Liniensegmenten
zusammengesetzt sein, welche miteinander verbunden sein können oder
auch nicht. Eine Topologie eines Pfads ist uneingeschränkt: sie
kann konkav oder konvex sein; sie kann mehrfache geschlossene Unterpfade
beinhalten, welche mehrere getrennte Flächen bzw. Bereiche bilden;
und sie kann sich mit sich selbst auf zufällige bzw. willkürliche Art
schneiden. Pfade weisen drei fundamentale Attribute auf: Farbe;
Strich; und Füllung.
Wenn ein Pfad gestrichen wird, wird eine Linie einer bestimmten
Dicke und Farbe entlang seiner Grenze gezogen. Wenn ein Pfad gefüllt ist
bzw. wird, wird die gegenwärtige
Farbe oder das Muster verwendet, um die gesamte Fläche auszumalen,
welche durch den Pfad umschlossen wird. Bilder werden als eine rechtwinkelige
Anordnung von Abtastwerten beschrieben.
-
Pfade
in einer Anzeigeliste können
in jeder zufälligen
Position auf einer Seite liegen und können einander überlappen.
Wie dies in 1 gezeigt wird, kann die physikalische
Repräsentation 100 von
zwei überlappenden
kreisförmigen
Pfaden (105 und 110) drei Bereiche (115, 120 und 125)
erzeugen. Die Anzeigenlistenrepräsentation
bzw. -darstellung 130, entsprechend der physikalischen
Repräsentation 100 kann
durch eine Liste, Pfad 1 105 und Pfad 2 110 repräsentiert
werden, wo die Beschreibung von Pfad 1 105 und Pfad 2 110 Information
beinhaltet, welche mit ihrer physikalischen Anordnung auf einer
Seite assoziiert ist.
-
Wenn
mehr als zwei Objekte (Pfade) vorhanden sind, muß das graphische Verarbeitungssystem
imstande sein zu bestimmen, welche Teile von welchen Pfaden überlappen.
Eine Technik zum Repräsentieren bzw.
Darstellen einer Serie von überlappenden
Pfaden ist als planares Mapping bzw. ebene Abbildung bekannt. Eine
ebene bzw. planare Karte ist eine Liste von nicht-überlappenden
Bereichen bzw. Regionen, die die ursprünglichen überlappenden Pfade repräsentieren.
Beispielsweise ist die Planarkarten-Repräsentation 135 von überlappenden
Pfaden 1 und 2 (siehe 100) eine Liste von drei nicht-überlappenden
Pfaden; ein Pfad für jeden
Bereich 115, 120 und 125. Ein Vorteil
der Planarkarten-Repräsentation
ist, daß,
sobald die Anzeigeliste 130 in eine planare bzw. Planarkarte 135 umgewandelt
wurde, keine weiteren Berechnungen durchgeführt werden müssen, um
zu bestimmen, welche Pfade überlappen.
In einer planaren Karte überlappen
keine zwei Pfade. Zur Information über Planarkarten-Repräsentationen
siehe Gangnet et al., "Incremental
Computation of Planar Maps," ACM
SIGGRAPH '89 Conference
Proceedings, Band 23, Nr. 3, 1989, und Preparata und Shamos, "Computational Geometry:
An Introduction," Springer-Verlag,
New York, 1985.
-
US 5 600 768 offenbart eine
Bilderzeugungsvorrichtung eines graphischen Objekts, wobei eine
Seitenbeschreibungssprachen-Repräsentation
des graphischen Objekts zur Verfügung
gestellt ist und wobei die Seitenbeschreibungssprachen-Repräsentation
beispielsweise einen Drucker mit einer Befehlsliste zum Drucken
des Objekts bzw. Gegenstands zur Verfügung stellt.
-
Die
Veröffentlichung "Planar maps: An Interaction
Paradigm for Graphic Design" von
Baudelaire P. et al., SIGCHI BULLETIN, US, NEW YORK, NY, Mai 1989,
offenbart eine Verwendung von planaren Karten, um graphische Objekte
auf einem Computer anzuzeigen bzw. darzustellen.
-
Es
ist das Ziel der Erfindung, ein verbessertes Mischen von graphischen
Objekten zur Verfügung
zu stellen.
-
Dieses
Ziel wird durch das Verfahren gemäß Anspruch 1 und das graphische
Verarbeitungssystem gemäß Anspruch
38 erfüllt.
Bevorzugte Ausführungsformen
sind in den abhängigen
Unteransprüchen
definiert.
-
Zusammenfassung
-
Im
allgemeinen stellt die Erfindung Vorrichtungen und Verfahren zum
Mischen graphischer Objekte unter Verwendung von Planarkarten-Repräsentationen
dieser graphischen Objekte zur Verfügung. In einem Aspekt wird
wenigstens ein Abschnitt einer Seitenbeschreibungssprachen-Darstellung
von graphischen Objekten (welche Transparenzcharakteristika aufweisen)
in eine Planarkarten-Darstellung umgewandelt. Einem Planarkartenbereich
ist bzw. wird eine Farbe als eine Funktion der Transparenzcharakteristika
bzw. -merkmale der graphischen Objekte zugeordnet, die mit dem Planarkartenbereich
assoziiert sind.
-
In
einer anderen Ausführungsform
werden die graphischen Objekte zu einer Planarkartendarstellung jeweils
zwei zu einer Zeit umgewandelt. In einer anderen Ausführungsform
wird ein Abschnitt der graphischen Objekte als planare bzw. Planarkarten
verarbeitet, während
ein anderer Abschnitt in einem Rasterformat verarbeitet wird. In
noch einer anderen Ausführungsform
können
die erzeugten Planarkarten in umge kehrter Reihenfolge in bezug auf
die Reihenfolge erzeugt werden, in welcher die graphischen Objekte
eingegeben werden. In noch anderen Ausführungsformen können die
erzeugten Planarkartenbereiche sortiert und gerastert werden.
-
Vorteile
der Erfindung beinhalten, sind jedoch nicht darauf begrenzt, eine
oder mehrere der Folgenden: (1) Planarkarten erlauben es, ein Mischen
in einer von einer Vorrichtung unabhängigen Weise sowohl für Farbraum
und Auflösung
durchzuführen;
(2) ein Planarkartenmischen kann entweder durch eine Ausgabevorrichtung
(z.B. einen Rasterbildprozessor) oder ein Anwendungsprogramm oder
eine Vorrichtung getrennt von der Ausgabevorrichtung vorgenommen
werden; (3) wenn ein Planarkartenmischen außerhalb eines Rasterbildprozessors
durchgeführt
wird, sind keine Modifikationen an dem Rasterbildprozessor nötig, um
Mischvorgänge
zu unterstützen;
(4) eine Verwendung eines Planarkartenmischens kann beträchtlich
die Geschwindigkeit einer Ausgabeerzeugung reduzieren, indem der
Betrag bzw. das Ausmaß eines Überdruckens
in einem abschließenden
Ausgaberahmenpuffer reduziert wird; und (5) eine vollständige und
teilweise Umkehrung kann es einer speichergebundenen Vorrichtung
erlauben, Planarkarten-Mischtechniken zu verwenden.
-
Andere
Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung
und aus den Ansprüchen
erkennbar.
-
Kurze Beschreibung
der Zeichnungen
-
1 illustriert
die physikalische Anzeigelisten- und Planarkarten-Darstellung von
zwei überlappenden
Pfaden.
-
2 illustriert
einen Prozeßablauf
eines Graphikbildprozessors zum Mischen graphischer Objekte unter
Verwendung planarer Karten.
-
3 zeigt,
daß gemischte
Planarkarten zu einer Anzahl von unterschiedlichen Ausgabevorrichtungen
befördert
bzw. versandt werden können.
-
4 zeigt
zwei mögliche
Planarkarten entsprechend zwei überlappenden
Pfaden.
-
5 illustriert
die Farbzuordnungsaufgabe, wenn Planarkarten gerastert werden.
-
6 zeigt
einen anderen Prozeßablauf
zum Mischen graphischer Objekte unter Verwendung planarer Karten.
-
7A und 7B zeigen
noch einen anderen Prozeßablauf
zum Mischen graphischer Objekte unter Verwendung planarer Karten.
-
8A und 8B zeigen
einen anderen Prozeßablauf
bzw. -fluß zum
Mischen graphischer Objekte unter Verwendung planarer Karten.
-
9A und 9B zeigen
einen Prozeßablauf
unter Verwendung planarer Karten zum Mischen graphischer Objekte
in umgekehrter Reihenfolge.
-
Ein
Dokument kann eine digital gespeicherte Datei sein, deren Inhalt
ein oder mehrere graphische Objekte beinhaltet, die in Form von
Befehlen bzw. Anweisungen einer Seitenbeschreibungssprache (PDL)
und Bildern beschrieben sind. Eine oder mehrere PDL-Instruktionen
können
kombiniert werden, um einen Pfad zu bilden. Einige der Pfade (auch
als Objekte bezeichnet) können
andere Pfaden überlagern
und einige der Pfade können
unterschiedlich von anderen Pfaden gefärbt sein. In einer auf einem
Pfad basierenden Repräsentation bzw.
Darstellung werden Bilder durch einen Pfad bezeichnet, welcher mit
der Grenze der Bildanordnung bzw. dem Bildarray übereinstimmt bzw. zusammenfällt.
-
In
einigen graphischen Be- bzw. Verarbeitungssystemen kann jeder Pfad
eine unterschiedliche Transparenzcharakteristik aufweisen. In einem
Bild weist jedes Sample bzw. jede Probe (Pixel bzw. Bildpunkt) innerhalb
der Grenze des Bilds (d.h. seines Pfads) eine assoziierte Farb-
und Transparenzcharakteristik auf, welche während dem Mischvorgang berücksichtigt
wird. Die Transparenz eines Pfads zeigt das Ausmaß an, in
welchem ein darunter liegender Pfad durch diesen gesehen werden
kann. In einer graphischen Verarbeitung wird eine Transparenz eines
Pfads durch eine Technik implementiert, welche als Mischen bekannt
ist. Ein Mischen schließt
das Kombinieren einer Vordergrundfarbe, assoziiert mit einem Pfad,
und einer Hintergrundfarbe, assoziiert mit einem darunter liegenden
Pfad ein, um eine dritte Farbe zu erzeugen. Ein Mischen kann einem
Pfad die Erscheinung geben, durchsichtig zu sein. Die vorliegende
Erfindung kann in jedem System (Hardware und/oder Software) verwendet
werden, welches ein Mischen unterstützt und eine Anzeigenlistendarstellung
von Seitenbeschreibungsdaten erzeugt.
-
In
einer Ausführungsform
eines graphischen Verarbeitungssystems, siehe 2,
geht ein Mischen graphischer Objekte unter Verwendung planarer Karten
wie folgt vor sich. Eine eingegebene PDL-Datei 200 wird
durch einen PDL-Interpreter 205 in eine auf einem Pfad
basierende Darstellung 210 umgeformt. Die auf einem Pfad
basierende Darstellung 210 wird durch einen Planarkartengenerator 215 in
eine oder mehrere Planarkarten 220 umgeformt. Ein Mischen
von Planarkartenbereichen (Bereiche bzw. Flächen innerhalb von Pfadüberlappungen)
kann während
einer Planarkartenerzeugung durch geführt werden. Einem Erzeugen
und Mischen folgend werden die Planarkartenbereiche in eine ordnungsgemäße Druckreihenfolge
sortiert 225. Das Resultat von Vorgängen bzw. Operationen 205, 215 und 225 ist
eine gemischte Planarkartenausgabe 230.
-
Wie
dies in 3 illustriert wird, können gemischte
Planarkarten 230 zu einem Renderer bzw. einer Render- bzw.
Wiedergabeeinrichtung 300 gesandt werden. Die Arbeit bzw.
Aufgabe des Renderers 300 ist, eine auf einem Raster basierende
Darstellung (z.B. einen Bit-Strom) seiner Eingabe zu erzeugen. Eine
Rendererausgabe kann zu einem Standarddrucker 305 (Farbe
oder Graustufen), einem Imagesetter bzw. Bildeinsteller 310,
einem Anzeigemonitor 315, einer Speichervorrichtung 320,
oder jeder anderen geeigneten Ausgabevorrichtung 325 gesandt
werden. Übliche
Speichervorrichtungen 320 beinhalten, sind jedoch nicht
darauf begrenzt bzw. beschränkt,
magnetische Scheiben (festgelegte, Floppy, und abnehmbare), andere
magnetische Medien, wie beispielsweise ein Band, optische Medien,
wie beispielsweise CD-ROM-Scheiben, und magnetoptische Vorrichtungen.
-
Irgendein
Verfahren zum Umwandeln einer auf einem Pfad basierenden Darstellung
in eine Planarkartendarstellung kann in Schritt 215 von 2 verwendet
werden. Für
den Rest dieser Beschreibung ist eine Planarkarte eine Sammlung
von nicht-überlappenden
Bereichen, welche zusammen einem oder mehreren Pfad (Pfaden) entsprechen.
-
Ein
Mischen wird auf einer bereichsweisen Basis durchgeführt und
ist eine Funktion der Transparenzcharakteristik eines jeden Pfads
(z.B. durchsichtig oder Opak), Farbe, und dem bestimmten Mischmodus. Wenn
erzeugt, wird jeder Planar kartenbereich mit Information markiert,
welche die damit assoziierten Pfade kennzeichnet. Jeder Pfad weist
wiederum eine assoziierte bzw. zugeordnete Farb- und Transparenzcharakteristik
auf. Regionen bzw. Bereiche werden unter Verwendung der Pfadfarben-
und Transparenzcharakteristika für
all jene Pfade gemischt, welche mit den Bereichen assoziiert sind,
die gemischt werden. (Tags bzw. Markierungen werden auch verwendet,
um die gemischten Planarkartenbereiche zu sortieren, wie dies unten
beschrieben wird).
-
Bezugnehmend
auf 4 sind Pfad 1 400 und Pfad 2 405 zwei überlappende
kreisförmige
Pfade (es soll Pfad 1 400 unterhalb von Pfad 2 405 liegen),
deren Planarkartendarstellung drei Bereiche beinhaltet. Wenn Pfad
2 405 opak ist, ist der Bereich 1 410 (assoziiert
nur mit Pfad 1 400) von derselben Farbe wie Pfad 1 400, und
sowohl der Bereich 2 415 (Pfadüberlappungsbereich) als auch
der Bereich 3 420 (nur mit Pfad 2 405 assoziiert),
sind von derselben Farbe wie der Pfad 2 405. Wenn der Pfad
2 405 nicht opak ist, bleibt der Bereich 1 410 dieselbe
Farbe wie der Pfad 1 400, die Farbe des Bereichs 2 415 wird
durch die Farbe des Pfads 1 400, der Farbe des Pfads 2 405,
und dem bestimmten Mischmodus bestimmt. Der Bereich 3 420 bleibt
dieselbe Farbe wie der Pfad 2 405.
-
Wenn
Planarkarten gerastert (in ein Rasterformat umgewandelt) werden,
muß jedem
Pixel bzw. Bildpunkt in dem Rasterpuffer (dem Speicher, in welchen
die Planarkarten gerastert werden) ein Farbwert zugeordnet sein
bzw. werden, so daß die
resultierende Ausgabe mit der physikalischen Darstellung der Eingabe übereinstimmt
bzw. dieser entspricht. In der Standard-Überscan bzw. -Überabtasttechnik,
die in vielen Rasterungsprozessen verwendet wird, wird jedem Pixel
innerhalb eines Pfads und jedem Pixel, das durch den Pfad berührt wird,
die Farbe dieses Pfads zugeordnet. Pixel, in welchen zwei oder mehrere
Bereiche angrenzen, haben das Potential, mehr als einer Farbe zugeordnet
zu werden. Diese Bedingung ist in 5 gezeigt,
wo das Gitter ein Teil eines Rahmenpuffers 500 darstellt
bzw. repräsentiert,
und jedes Quadrat ein Pixel (z.B. 505) darstellt. Die Zahl
innerhalb jedes Pixels stellt den Bereich dar, dessen Farbe diesem
Pixel zugeordnet werden könnte
(nicht alle Pixel sind gekennzeichnet).
-
Da
jedes Pixel in einem Rahmenpuffer nur einen Wert aufweisen kann,
muß ein
Verfahren zum Sicherstellen, daß die
ordnungsgemäße Farbzuordnung
vorgenommen wird, durchgeführt
werden. (Jene mit normaler Erfahrung in der Technik werden erkennen,
daß der
Wert eines Pixels in mehrfache Komponenten aufgeteilt sein kann.
Beispielsweise beinhaltet, wenn der Farbraum des Rasterpuffers RGB
ist, jeder Pixelwert drei Komponenten; einen für rot, grün und blau). Die ordnungsgemäße Zuordnung
ist jene Zuordnung, welche in einem ausgegebenen bzw. Ausgabebild
resultiert, das am nächsten
die physikalische Darstellung der graphischen Eingabe annähert. Diese
Zuordnung resultiert in einer Anordnung der Planarkartenbereiche,
welche nachfolgend als die Druckreihenfolge bezeichnet wird.
-
Da
der Wert eines Pixels in einem Rasterpuffer im allgemeinen mit dem
letzten Bereich übereinstimmt, der
in dieses Pixel gerastert wurde, bestimmt die Reihenfolge, in welcher
Planarkartenbereiche gerastert sind, welche Farbe eines Bereichs
einen gegebenen Pixel zugeordnet ist. Somit müssen Planarkartenbereiche sortiert
werden, um sicherzustellen, daß jene
Planarkartenbereiche oben bzw. an der Oberseite (wie in der Eingabe
PDL-Datei 200 definiert ist) nach jenen auf dem Boden bzw.
Grund gerastert werden, d.h. um die Planarkartenbereiche in die
Druckreihenfolge zu ordnen. Information, die anzeigt, ob ein Pfad
oberhalb oder unterhalb eines anderen Pfads ist, ist in einer PDL-Dateidarstellung
eines graphischen Objekts bzw. Gegenstands inhärent. In allgemeinen sind jene
Pfade, welche früher
in der PDL-Darstellung sind (tiefer als unterhalb) jene(n) Pfade(n),
die in der PDL-Darstellung später
sind.
-
Ein
Verfahren, um zu verfolgen, welche Farbe wessen Bereichs einem Pixel
zugeordnet werden sollte, ist, ein Kennzeichen mit jedem Planarkartenbereich
zu assoziieren, wo das Kennzeichen jenen Pfad identifiziert, der
zu dem Bereich beiträgt.
In diesem Verfahren müssen
Pfade, die in einem Tag bzw. Kennzeichen identifiziert sind, von
unten nach oben oder von oben nach unten organisiert sein. (Hier
beziehen sich die Ausdrücke
unten bzw. Boden und oben bzw. Oberseite auf die Reihenfolge der
PDL Darstellung der graphischen Objekte). D.h., wenn ein Bereich 'X' durch die Überlappung zwischen Pfad 1
und Pfad 2 definiert ist, und Pfad 2 über Pfad 1 ist, könnte sein
Tag durch die Liste <2,
1> dargestellt sein.
Wenn ein Bereich 'Y' durch das Überlappen
zwischen Pfad 2 und Pfad 3 definiert ist, und Pfad 3 oberhalb von
Pfad 2 ist, könnte
sein Tag durch die Liste <3,
2> repräsentiert
bzw. dargestellt sein. Alle planaren Kartenbereiche können in Übereinstimmung
mit ihren Kennzeichen- bzw. Markierungs- bzw. Tagwerten sortiert
werden. Jene Tags, die höhere
erste Werte aufweisen, sind "oberhalb" von jenen, die niedrigere
erste Werte aufweisen. Wenn der erste Wert in Tags von zwei Bereichen
gleich sind, wird der nächste
Tagwert auf dieselbe Weise untersucht. Wenn zwei Tags bis zu einem Endpunkt
die gleichen sind, ist der Bereich, welcher den längeren Tag
aufweist, oben bzw. an der Oberseite. Sobald Tags erzeugt und mit
Planarkartenbereichen assoziiert sind bzw. werden, kann jeder geeignete
Sortierablauf verwendet werden, um die Bereiche physikalisch anzuordnen.
Beispielsweise, soll der Tag des Bereichs X <8, 5, 2> sein, der Tag des Bereichs Y <7, 2> sein, und der Tag
des Bereichs Z <8,
5> sein. In diesem Beispiel
entspricht der Bereich X dem obersten Bereich, der Bereich Z entspricht
dem nächst
tieferen oder mittleren Bereich, und der Bereich Y entspricht dem
untersten oder Bodenbereich.
-
Ein
anderes Verfahren zum Erzeugen und Markieren planarer Kartenbereiche
ist in Tabelle 1 beschrieben. In diesem Verfahren werden die ersten
zwei Pfade der PDL-Darstellung kombiniert, um eine erste Planarkarte
zu erzeugen, und einem Größenwert
zugeordnet. Der Größenwert
kann beispielsweise auf der Speichergröße der Planarkarte (z.B. Anzahl
von Bytes des Speichers), der Anzahl von Bereichen, welche die Karte
umfassen, oder der Anzahl von Liniensegmenten basieren, die in der
Karte enthalten sind. Nach einer Größenzuordnung werden die Bereiche
der Planarkarte sortiert. Die Bereiche werden, basierend auf den
Identifikatoren der Pfade sortiert, die zu dem Bereich führten. Beispielsweise
würde,
wenn Bereiche aus dem Überlappen zweier
Pfade resultierten, jeder Bereich einen Tag aufweisen, der den Identifikator
eines jeden Pfads beinhaltet. Sobald sie sortiert sind, wird jeder
Bereich in der Planarkarte einem Ordnungsidentifikator zugeordnet
(z.B. die Nummer 1 durch N für
jeden der N Bereiche der Planarkarte), welcher jeden vorhergehenden
Tag des Bereichs ersetzt. Die Planarkarte wird dann auf einen Stapel
(einen vorübergehenden
Speicher) gedrückt.
Solange Eingabepfade verbleiben, um verarbeitet zu werden, werden
die nächsten
zwei Pfade von der PDL-Darstellung
kombiniert, um eine Planarkarte PM-NEW zu erzeugen, und einem Größenwert
zugeordnet. Jeder Bereich in PM-NEW ist bzw. wird sortiert und einem
Ordnungsidentifikator zugeordnet. Solange die Größe von PM-NEW größer oder
gleich der Größe der Planarkarte
oben auf dem Stapel ist (PM-TOS), wird etwas in den Stapel gesteckt
und PM-TOS wird mit PM-NEW kombiniert, um eine neue PM-NEW Planarkarte
zu erzeugen, welcher dann ein Größenwert
zugeordnet wird. Erneut werden die Bereiche in PM-NEW sortiert und
einem Identifikator zugeordnet. (Da eine Planarkarte eine Sammlung
von einem oder mehreren Bereichen ist, und jeder Bereich ein Pfad
ist, ist ein Kombinieren zweier Planarkarten derselbe Vorgang wie
ein Erzeugen einer Planarkarte von einem oder mehreren Pfaden).
Wenn die Größe von PM-NEW
nicht länger
größer als
oder gleich der Größe der Planarkarte
ist, die oben auf dem Stapel gespeichert ist, wird PM-NEW auf den
Stapel gedrückt
und die nächsten
zwei Pfade von der PDL-Darstellung werden verarbeitet. Diese Schritte
werden wiederholt, bis alle Pfade in der eingegebenen bzw. Eingabe-PDL-Darstellung
verarbeitet worden sind. Wenn zu irgendeinem Zeitpunkt die PDL-Darstellung
nur einen einzelnen Pfad beinhaltet, wird dieser Pfad in eine Planarkarte
umgewandelt und eine Verarbeitung setzt wie oben beschrieben fort.
Wenn zu irgendeinem Zeitpunkt eine neue Planarkarte erzeugt wird
und der Stapel ist leer, wird die neue Planarkarte auf den Stapel
gedrückt bzw.
geschoben und die Verarbeitung setzt fort. Wenn es nicht länger zu
verarbeitende Eingabepfade gibt, die Planarkarten von dem Stapel
abgenommen und kombiniert.
-
Tabelle
1. Paarweise Erzeugung und Tagging bzw. Markieren von Planarkartenbereichen
-
In
der in 6 gezeigten alternativen Ausführungsform wird eine Eingabe
PDL-Datei 600 in eine auf einer Liste basierende Darstellung
bei Schritt 605 umgeformt. Wenn das graphische Verarbeitungssystem
einen ausreichenden Speicher aufweist, um eine Verarbeitung von
Pfaden im Planarkartenformat fortzusetzen (der 'Ja'-Zweig
von Schritt 610), wird bzw. werden ein oder mehrere Pfade
in eine Planarkarte um geformt bzw. transformiert (Schritt 615)
und die erzeugten Planarkarten werden markiert, wie dies oben beschrieben
wurde (Schritt 620). Wenn keine zu verarbeitenden Eingabepfade
verbleiben (der 'Ja'-Zweig von Schritt 625),
werden die verarbeiteten Planarkartenbereiche in eine Druckreihenfolge
sortiert (Schritt 630) und gerastert (Schritt 635).
(Die Schritte 605, 615, 620 und 630 implementieren
den Arbeitsablauf von 2). Wenn zusätzliche Eingabepfade verarbeitet
werden müssen
(der 'Nein'-Zweig von Schritt 625),
wird bei Schritt 610 eine Speicherüberprüfung durchgeführt. Wenn
das graphische Verarbeitungssystem unzureichenden Speicher aufweist,
um eine Verarbeitung von Pfaden im Planarkartenformat fortzusetzen
(der 'Nein'-Zweig von Schritt 610),
werden jegliche bestehenden Planarkartenbereiche sortiert, wie dies
oben beschrieben wurde (Schritt 640), und gerastert (Schritt 645).
Dem Schritt 645 folgend werden jegliche verbleibenden Pfade
direkt in Rasterform verarbeitet (Schritt 650). Eine Rasterausgabe
ist im allgemeinen äquivalent
zu einer Rendererausgabe und kann als solche behandelt werden (siehe 3).
In dieser Ausführungsform
können
eine Planarkartenerzeugung, ein Tagging bzw. Markieren, und beliebige
Mischvorgänge
ausgeführt
werden, wie dies oben beschrieben wurde.
-
In
der in 7A und 7B gezeigten
Ausführungsform
wird die PDL-Eingabedatei 700 in eine auf einem Pfad basierende
Darstellung (Schritt 705) umgeformt und der mit einer Ausgabeseite
assoziierte Bereich wird in Bereiche oder Tiles bzw. Kacheln unterteilt
(Schritt 710). Jedes Tile kann eine bestimmte Größe (z.B.
ein Viertel Zoll im Quadrat) oder ein bestimmtes Bruchstück bzw.
einen bestimmten Anteil der Höhe
und Breite der Seite sein (z.B. 10%). Jedes Tile hat mit sich einen
Komplexitätswert
assoziiert, welcher die Spei cheranforderungen jener Planarkartenbereiche
reflektiert, welche innerhalb des Bereichs des Tiles liegen. Beispielsweise
könnte
ein Komplexitätswert
eines Tiles bzw. Elements bzw. Segments die Anzahl von Pfadschnittpunkten
reflektieren, welche innerhalb seiner Grenze auftreten, plus der
Anzahl lokaler Minima und Maxima, welche innerhalb seiner Grenze
auftreten. Jeder Komplexitätswert
eines Tiles wird in Schritt 710 auf Null initialisiert.
Folgend einem Seiten-Tiling (Schritt 710) wird eine leere
Planarkarte für
die zu verarbeitende Seite zur späteren Verwendung erzeugt (Schritt 712).
Da jeder Pfad (oder jedes Paar von Pfaden, wie oben beschrieben)
bei Schritt 715 verarbeitet wird, wird der Komplexitätswert all
jener Tiles, die durch den Pfad geschnitten werden, aktualisiert
(Schritt 720). Wenn kein Komplexitätswert eines Tiles seinen bestimmten
Schwellwert überschreitet,
z.B. 10,000 (der 'Nein'-Zweig von Schritt 725),
wird der Eingabepfad in eine Planarkarte (Schritt 726)
umgeformt und die Bereiche dieser Planarkarte werden kombiniert
(Schritt 727) mit den Bereichen in der Planarkarte der
Seite (ursprünglich
in Schritt 712 erzeugt). Wenn es keine Eingabepfade mehr
zu verarbeiten gibt (der 'Nein'-Zweig von Schritt 730),
werden alle Planarkartenbereiche der Seite in eine Druckreihenfolge sortiert
und gerastert, um eine endgültige
Rasterausgabe zu erzeugen (Schritt 735). Wenn es zusätzliche
Eingabepfade gibt, welche zu verarbeiten bleiben (der 'Ja'-Zweig von Schritt 730),
setzt die Verarbeitung bei Schritt 715 fort.
-
Wenn
der Komplexitätsschwellwert
eines Tiles überschritten
wird (der 'Ja'-Zweig von Schritt 725),
wird das Tile überprüft, um zu
bestimmen, ob es zuvor gerastert wurde (Schritt 740). Wenn
nicht (der 'Nein'-Zweig von Schritt 740),
werden jene Bereiche in der Planarkarte der Seite, welche das Tile
schneiden, gerastert (Schritt 745), und das Tile wird als
gerastert geflaggt bzw. bezeichnet (Schritt 750). Einer
Rasterung folgend kann der mit den soeben gerasterten Planarkartenbereichen
assoziierte Speicher durch das graphische Verarbeitungssystem wieder
beansprucht bzw. aufgerufen werden (Schritt 755). Wenn
Planarkartenbereiche derart erzeugt werden, daß kein Bereich eine Tile-Grenze
kreuzt bzw. quert, ist ein Speicheraufruf einfach (Schritt 755);
hebe die mit dem Tile assoziierte Speicherzuordnung auf und gib
sie zum Arbeitsspeicher zurück.
Wenn Planarkartenbereiche erzeugt werden, welche sich über eine
Tile-Grenze erstrecken,
muß der
Speicheraufrufvorgang bestimmen, welche Teile von welchen Bereichen
innerhalb des zu rasterisierenden Tiles liegen, und diese in zusätzliche
Bereiche unterteilen; einige derer, welche innerhalb des Tiles liegen,
das gerastert wird und einige derer, welche außerhalb des Tiles liegen, das
gerastert wird. Als nächstes
wird jenes Teil des Eingabepfads, der das Tile schneidet, dessen
Komplexitätswert überschritten
wurde, gerastert (Schritt 760). Jenes Teil des Eingabepfads,
welches nicht in diesem oder einem beliebigen anderen gerasterten
Tile liegt, wird in einen oder mehrere Planarkartenbereich(e) umgewandelt
und mit der Planarkarte der Seite kombiniert (Schritt 765).
Die Verarbeitung schreitet bei Schritt 730 fort, wo eine Überprüfung vorgenommen
wird, um zu bestimmen, ob zusätzliche
Eingabepfade verbleiben, um verarbeitet zu werden.
-
Wenn
bei Schritt 740 bestimmt wird, daß der gegenwärtige Eingabepfad
ein Tile schneidet, welches zuvor gerastert wurde (der 'Ja'-Zweig von Schritt 740),
setzt die Verarbeitung bei Schritt 760 fort.
-
In
noch einer anderen Ausführungsform
können
PDL-Eingabepfade zu Planarkarten in umgekehrter Reihenfolge umgewandelt
werden, um die Arbeits-Planarkarte (d.h. die gegenwärtige Sammlung
von Planarkartenbereichen, die alle verarbeiteten Pfade darstellen)
relativ klein zu halten. In diesem Verfahren werden jene Pfade oder
Teile von Pfaden, die durch einen vorhergehenden opaken Planarkartenbereich
abgedeckt werden, ignoriert. Die Planarkartenstruktur des graphischen
Verarbeitungssystems nimmt in der Größe nur etwa zu wie die Anzahl
von transparenten Eingabepfaden. Wenn es wenige transparente Pfade
in der Eingabe-PDL-Datei gibt, kann unabhängig davon, wie komplex eine
Sammlung von Pfaden die PDL-Datei darstellt, dieses Verfahren sehr
speichereffizient sein.
-
In
noch einer anderen Ausführungsform
(siehe 8A und 8B) wird
eine PDL-Eingabedatei 800 in eine auf einem Pfad basierende
Darstellung (Schritt 805) umgeformt und der mit einer Seite
einer Ausgabe assoziierte Bereich wird in Bereiche bzw. Regionen
oder Tiles bzw. Kacheln bzw. Elemente (Schritt 810) unterteilt.
Wie in der früheren
Ausführungsform
kann jedes Tile eine bestimmte Größe oder Bruchstück der Höhe und Breite
der Seite sein. In dieser Ausführungsform
hat jedes Tile mit sich einen Komplexitätswert und ein TRANSPARENT-Flag
assoziiert. Sobald jedes Tile erzeugt ist, wird sein Komplexitätswert auf
null initialisiert bzw. gesetzt, und sein TRANSPARENT-Flag wird
auf falsch initialisiert bzw. gesetzt (Schritt 810).
-
Für jeden
Eingabepfad, der einen transparenten Abschnitt aufweist (z.B. ein
transparentes Vektorobjekt oder ein Bild, welches wenigstens einen
Bereich aufweist, der nicht opak ist), wird eine Boundingbox bzw. ein
Begrenzungskasten für
den Pfad berechnet und das TRANSPARENT-Flag für jedes Tile, das den Begrenzungskasten
schneidet, wird auf wahr gesetzt (Schritt 811). Als nächstes werden
alle opaken Eingabepfade in der Reihenfolge gerastert, in welcher
sie von der PDL-Eingabedatei 800 empfangen werden (Schritt 812).
Jedes Tile, dessen TRANSPARENT-Flag falsch ist, wird von einer weiteren
Betrachtung entfernt (Schritt 813). Jene entfernten Tiles
werden nicht in irgendeinem verbleibenden Schritt dieses Vorgangs
verarbeitet. Als nächstes
wird eine leere Planarkarte zur späteren Verwendung erzeugt (Schritt 814).
-
Von
diesem Punkt werden Pfade in ihrer empfangenen Reihenfolge (beinhaltend
opake Pfade) verarbeitet, wie dies oben beschrieben wurde (7A und 7B),
ausgenommen, daß keine
Verarbeitung für jene
Tiles durchgeführt
wird, die zuvor entfernt wurden. Dieses Verfahren kann die Menge
an Berechnung und Geschwindigkeitsverarbeitung reduzieren, wenn
eine Transparenz auf einen relativ kleinen Bereich bzw. kleine Bereiche
in der Eingabeseite begrenzt ist.
-
Bezugnehmend
auf die 9A und 9B wird
jeder Pfad in der PDL-Eingabedatei 900 auf einen Stapel
gedrückt
(Schritt 905), so daß diese
in umgekehrter Reihenfolge entnommen und verarbeitet werden können; d.h.,
der oberste Pfad wird zuerst verarbeitet. Eine Planarkarte, welche
nachfolgend als eine Transparenzfilterkarte (TFM) bezeichnet wird,
die Größe der Seite
wird bei Schritt 910 erzeugt. Wenn der Stapel leer ist
(d.h. alle Eingabepfade verarbeitet wurden), wird dem 'Ja'-Zweig von Schritt 915 gefolgt
und alle nicht-opaken Bereiche in der TFM werden gerastert (Schritt 920).
Wenn der Stapel nicht leer ist, wird dem 'Nein'-Zweig von
Schritt 915 gefolgt und der oberste Pfad des Stapels (TOS)
wird entnommen und der TEMP-PATH Variablen zugeordnet (Schritt 925).
Der TEMP-PATH Pfad wird in eine Planarkartendarstellung umgewandelt
und der Variablen TEMP-PM zugeordnet (Schritt 930). Die
TFM und TEMP-PM Planarkarten werden dann kombiniert (Schritt 935).
Wenn der TEMP-PATH Pfad opak ist (der 'Ja'-Zweig
von Schritt 940), werden jene Bereiche in der TFM, die
von dem TEMP-PATH kamen und nicht mit irgendeinem TFM opaken Bereich überlappen,
gerastert (Schritt 945); all jene Bereiche in der TFM,
welche von TEMP-PATH kamen, sind ebenfalls opak. Als nächstes werden
benachbarte opake Bereiche in der TFM (d.h. jene Bereiche, die eine
gemeinsame Grenze teilen) in einen einzelnen Bereich bei Schritt 950 kombiniert,
und die Verarbeitung setzt bei Schritt 915 fort. Wenn TEMP-PATH
nicht opak ist (der 'Nein'-Zweig von Schritt 940),
setzt die Verarbeitung bei Schritt 950 fort.
-
Die
vorliegende Erfindung wurde im Hinblick auf bestimmte Ausführungsformen
beschrieben, welche für
die Erfindung illustrativ sind und nicht als begrenzend betrachtet
werden sollen. Die Erfindung kann in Hardware, Firmware, Software
oder einer Kombination davon implementiert werden. Andere Ausführungsformen sind
innerhalb des Gültigkeitsbereichs
der folgenden Ansprüche.