-
Hintergrund
der Erfindung
-
Die
Erfindung bezieht sich auf ein Modifizieren einer Farbseite, die
in einer Seitenbeschreibungssprache beschrieben ist, so daß die Seite
korrekt eingefangen werden kann.
-
In
der Druckindustrie ist eine Druckregistrierung das genaue bzw. akkurate
Positionieren von zwei oder mehreren Farben von Tinte auf einem
gedruckten Blatt. Wenn die Farben auf einem Blatt im Register bzw.
ausgerichtet sind, erscheinen alle Farben genau bzw. präzise, wo
beabsichtigt, ohne Lücken
zwischen den Farben oder Überlappen
der Farben. Eine Fehlregistrierung bzw. -ausrichtung kann durch
eine Vielzahl von Faktoren verursacht werden, die Fehler in der
Platten- bzw. Druckstockherstellung und Filmhandhabung vor einer
Plattenherstellung, schlecht gewartete Druckerpressen oder unzureichend
trainierte bzw. ausgebildete Bedienungspersonen, Papierungenauigkeit
oder -instabilität
und einen Mangel an Umweltkontrolle beinhalten. Ein Ergebnis einer
Fehlregistrierung ist ungedrucktes Papier, das zwischen den Farben
durchscheint, wo keine unbedruckte Fläche beabsichtigt war. Auch
ein kleiner Registrierungsfehler kann in einer dünnen weißen Linie zwischen Farben auf
einem Blatt resultieren.
-
Ein
Fangen bzw. Einfangen ist der Prozeß eines Ausgleichens bzw. Kompensierens
einer fehlgeschlagenen bzw. Fehlregistrierung für den Druck durch ein beabsichtigtes Überlappen
von Farben vor einem Drucken. Beispielsweise vergrößert ein
Ausfließen
bzw. Aufweiten der Farbe eines Vordergrundbilds, um mit der Hintergrundfarbe
zu überlappen. Umgekehrt
ver größert eine
Drossel die Hintergrundfarbe, um mit der Vordergrundfarbe zu überlappen. Die
Fläche
bzw. der Bereich der Farbe, die bzw. der hinzugefügt wird,
um ein Überlappen
zu erzeugen, genannt eine Falle, bietet einen Grad eines Schutzes gegen
Lücken,
die durch eine Fehlregistrierung verursacht werden. Obwohl gleich
die Fangfarbe die gleiche wie die Hintergrund- oder Vordergrundfarbe sein
kann, muß dies
nicht sein. Ein Einfangen bedingt ein Entscheiden, wo Fangstellen
bzw. Fallen zu plazieren sind, und ein Festsetzen bzw. Einstellen
der Größe und Farbe
von Fangstellen, so daß eine
mögliche
Fehlregistrierung korrigiert wird, während sie gleichzeitig minimal
für das
menschliche Auge bemerkbar ist.
-
Es
ist in der elektronischen Druckindustrie üblich, Seiten zu entwerfen,
indem eine Seitenbeschreibungssprache (PDL), wie die Adobe® PostScript® Sprache
verwendet wird, um eine Seite unter Verwendung von Auflösungs-unabhängigen Elementen
zu beschreiben. In PostScript ist ein Pfad eine Sammlung von geordneten,
gerichteten, verbundenen, geraden Liniensegmenten, die als Kanten
bzw. Ränder
bezeichnet werden. Ein Pfad, der als eine Form bzw. Gestalt auf
der Seite erscheint, muß geschlossen
sein. Jede Kante in einem Pfad hat einen Ausgangs- bzw. Startpunkt
und einen End- bzw. Zielpunkt, die die Position und Richtung der
Kante definieren. Der Zielpunkt (to point) einer Kante in einem Pfad
ist derselbe Punkt wie der Startpunkt (from point) der darauffolgenden
Kante in dem Pfad, und der Zielpunkt der letzten Kante in dem Pfad
ist derselbe Punkt wie der Startpunkt der ersten Kante in dem Pfad.
Kanten in einem Pfad können
sich überschneiden
bzw. einander kreuzen.
-
Ein
Objekt bzw. Gegenstand kann aus einem oder mehreren Pfad(en) bestehen,
der bzw. die alle in einer einzelnen Farbe gefüllt oder strichliert sind. Ein
Objekt hat eine einzigartige Sequenznummer, die auch z-Ordnung oder
Farb-Ordnung bezeichnet
ist, die von jedem der Pfade in dem Objekt geteilt wird. Die Sequenznummer
eines Objekts spezifiziert, wann das Objekt auf der Seite im Verhältnis zu
den anderen Objekten gezeichnet werden wird. Das Objekt mit der
niedrigsten Sequenznummer wird zuerst gezeichnet, gefolgt von dem
Objekt mit der nächst kleineren
Sequenznummer. Dieses sequentielle Zeichnen von Objekten kann darin
resultieren, daß ein
Objekt teilweise oder vollständig
durch andere Objekte mit höheren
Sequenznummern überdeckt wird.
-
Um
eine PostScript Seite (wodurch eine PostScript Sprachen-Beschreibung gemeint
ist) auf einem Ausgabegerät,
wie einem Drucker, zu rendern bzw. wiederzugeben, muß die Seite
zuerst gerastert werden, d.h. die Vektordarstellung der Seite muß in ein
zweidimensionales Feld bzw. Array von Punkten konvertiert werden.
Die Auflösung
einer Ausgabevorrichtung ist durch die Anzahl von Bildpunkten bzw.
Pixeln auf dem Ausgabemedium der Ausgabevorrichtung pro Einheitsabstand
oder pro Einheitsfläche
definiert.
-
Eine
PostScript Seitenbeschreibung kann analysiert werden, um eine neue
PostScript Seitenbeschreibung zu erzeugen, die Fangstellen enthält. Die
neue PostScript Seitenbeschreibung kann dann verwendet werden, um
die Seite mit Fangstellen entsprechend konventionellen Methoden
zu rendern. Alternativ kann die PostScript Seite zuerst gerastert werden,
wonach Fangstellen in gerasteter Form durch ein Analysieren der
gerasterten Seite erzeugt werden.
-
WO
95/20796 offenbart einen Prozeß für ein Anwenden
von Traps bzw. Fangstellen auf eine Seite durch ein Verwenden eines
Einfang-Analysators, der Fangvektoren in Übereinstimmung mit einem Satz von
gewünschten
Einfangregeln generiert bzw. erzeugt, die existierende Fangstellen
in der Nähe
anderer Seitenobjekte berücksichtigen.
Der Einfangprozeß,
der in diesem Dokument beschrieben wird, enthält auf Raster basierende und
Vektor basierende Lösungen.
In einer auf einem Raster basierenden Lösung werden vorgeschlagene
Fangstellenpixel bezüglich
Konflikten mit existierenden Objekten oder anderen Fangstellen geprüft bzw.
evaluiert, um zu bestimmen, ob ein gegebenes Pixel in eine gegenwärtige Fangstelle
aufzunehmen ist.
-
EP 0 618 718 A1 offenbart
ein Verfahren und eine Vorrichtung zur Kompensierung einer fehlerhaften
bzw. Fehlregistrierung von Druckplatten beim Drucken von Seiten
eines mehrfarbigen Dokuments oder von Bildern, in welchen ein Fangkartenbild
auf ein strukturiertes Graphikbild überlagert wird, das das Layout
einer Dokumentseite oder eines Bilds repräsentiert, von dem es abgeleitet
wird, um so helle Stellen und andere Fehler an den Grenzen zwischen Farbregionen
bzw. -bereichen innerhalb des Bilds zu vermeiden.
-
Es
ist das Ziel bzw. der Gegenstand der Erfindung, ein Verfahren zum
Herstellen bzw. Ausbilden einer Auflösungs-unabhängigen Darstellung eines Bereichs
zum Einfangen zur Verfügung
zu stellen, das eine Basis für
eine genauere Positionierung von Fangstellen zur Verfügung stellt.
-
Dieses
Ziel wird gemäß der Erfindung
durch ein Verfahren erfüllt,
das die Eigenschaften enthält, die
in Anspruch 1 geoffenbart sind. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen geoffenbart.
-
Zusammenfassung
der Erfindung
-
Eine
Farblücke
ist eine Lücke
bzw. ein Spalt zwischen zwei Kanten bzw. Rändern in Vektordarstellung,
die bzw. der enger ist als ein Vorrichtungspixel bzw. -bildpunkt
bei der Auflösung
der Ausgabevorrichtung auf dem die Vektoren zu rendern bzw. wiederzugeben
sind. Die Erfindung modifiziert ein Vektorbild, um in einer gerasterten
Form gerendert zu werden, so daß Fangstellen
korrekt generiert werden können,
wo Farblücken
existieren. Insbesondere korrigiert die Erfindung Vektorraumfarbübergänge, so daß sie mit
Farbübergängen in
gerasterter Form übereinstimmen.
-
In
einem Aspekt stellt die Erfindung eine Auflösungsunabhängige Darstellung einer Region
zum Trapping bzw. Einfangen bereit. Spezifisch wird eine Farblücke zwischen
einer ersten Kante in der Region und einer zweiten Kante in der
Region gefunden, und eine angrenzende Farbe, die an eine Seite der
ersten Kante zwischen der ersten Kante und der zweiten Kante angrenzen
wird, wenn die erste Kante in gerasterter Form gerendert wird. Die
Farbe der ersten Kante auf der Seite der ersten Kante zwischen der ersten
Kante und der zweiten Kante wird dann zu der angrenzenden Farbe
geändert.
Die Region wird dann auf einer Ausgabevorrichtung, wie einem Drucker eingefangen
und gerendert.
-
In
einem anderen Aspekt identifiziert die Erfindung eine äußere Farbe
einer Auflösungs-unabhängigen Kante
in einem Pfad basierend auf Information, die von den inneren Farben
von anderen Kanten und anderen Pfaden abgeleitet wird. Die derart
identifizierte äußere Farbe
kann dann vorteilhaft bei einer Detektion von Farblücken und
zur Farbkorrektur und zur Farbannahme bzw. zum Trapping bzw. Einfangen gebraucht
werden.
-
Unter
den technischen Vorteilen der Erfindung befinden sich ein oder mehrere
der Folgenden.
-
Ein
Vorteil der Erfindung ist, daß sie
Farblückenfarbkorrektur
von Objekten bzw. Gegenständen vor
dem Rasterprozeß ausführt, während diese
in Vektorform vorliegen. Dies stellt eine Basis für eine genauere
Positionierung von Fangstellen bzw. Traps als ein Überfüllen bzw.
Einfangen zur Verfügung,
das auf der gerasterten Seite selbst basiert. Ebenso können, weil
die Erfindung eine Basis für
ein Auflösungs-unabhängiges Einfangen
zur Verfügung
stellt, Seiten, die gemäß der Erfindung
eingefangen sind, bei einer Vielzahl von Auflösungen ohne die Notwendigkeit
für ein
erneutes Trapping gerendert werden.
-
Ein
weiterer Vorteil der Erfindung ist, daß eine Verwendung der Vektordarstellung
Information über
Objekte erhält,
die während
eines Rasterprozesses verloren wird, was eine vollständigere
und unterschiedlichere Be- bzw. Verarbeitung der Kantentabelle ermöglicht.
-
Darüber hinaus
ist ein Vektorraum eine effizientere Darstellung der gerenderten
Erscheinungsform einer Fläche
als ein gerasterter Raum; ein Farbübergang, der mehrere Hundert
Pixel bzw. Bildpunkte lang ist, kann in einer kleinen Datenstruktur
in Vektorform beschrieben werden. Diese Speichereffizienz ist kritisch
für ein
Erhalten eines hohen Durchsatzes und einer effizienteren Leistung
beim Einfangen bzw. Trapping.
-
Andere
Eigenschaften und Vorteile der Erfindung werden aus der folgenden
Beschreibung und aus den Patentansprüchen ersichtlich werden.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Flußdiagramm
eines Verfahrens der Erfindung.
-
2a–2b sind
Diagramme von PostScript Pfaden.
-
2c ist
ein Diagramm eines PostScript Pfads, der teilweise bzw, partiell
einen anderen PostScript Pfad überdeckt.
-
2d ist
ein Diagramm der sichtbaren und unsichtbaren Kanten bzw. Ränder, die
aus der Anwendung eines Algorithmus zum Entfernen einer verborgenen
Linie resultieren, auf zwei PostScript Pfaden innerhalb einer Kachel.
-
2e ist
ein Diagramm eines PostScript Pfads innerhalb einer Kachel bzw.
eines Tiles und eines Vektors, der verwendet wird, um die äußere Farbe
des PostScript Pfads zu identifizieren.
-
3a–3c sind
Flußdiagramme
von Verfahren, die verwendet werden, um die äußeren Farben und die äußeren Sequenzzahlen
von Kanten innerhalb einer Kachel zu identifizieren.
-
4a ist
ein Diagramm von zwei PostScript Pfaden, zwischen denen eine Farblücke existiert.
-
4b ist
ein Diagramm eines Rasterprozesses von Teilen der beiden Objekte
in 4a am Ort der Farblücke.
-
5 ist
ein Flußdiagramm
von Phase Eins einer Farblückendetektion
und -korrektur.
-
6a ist
ein Diagramm eines ersten Farblückenrechtecks,
das um eine erste Kante gemäß dem Verfahren
von 4 gezeichnet ist.
-
6b zeigt
zusätzlich
eine zweite Kante, die von dem ersten Farblückenrechteck ausgeht, und einen
resultierenden Verzweigungspunkt, der auf der ersten Kante generiert
bzw. erzeugt wird.
-
7a–f sind
Flußdiagramme
von Phase Zwei einer Farblückendetektion
und -korrektur.
-
8a ist
ein Diagramm von zwei Farblückenquadraten,
die um die Endpunkte einer Kante gezeichnet sind, die länger als
das Doppelte des Farblückenabstands
ist.
-
8b zeigt
zusätzlich
zwei zusätzliche Kanten,
von denen eine jede einen Endpunkt in jedem Farblückenquadrat
hat.
-
8c ist
ein Diagramm eines Farblückenrechtecks,
das um eine Kante gezeichnet ist, deren Länge weniger als das oder gleich
dem Doppelten des Farblückenabstands
ist.
-
8d zeigt
zusätzlich
eine zusätzliche Kante,
die beide Endpunkte innerhalb des Farblückenrechtecks hat.
-
9 illustriert
einen Computer und Computerelemente, die für ein Implementieren der Erfindung
geeignet sind.
-
Detaillierte
Beschreibung
-
Unter
Bezugnahme auf 1, erzielt ein Verfahren zum
Einfangen bzw. Trapping einer PDL Seite und Korrigieren von Farblückenfarben
der Erfindung zuerst eine Auflösungsunabhängige Beschreibung
einer Seite (z.B. im PostScript Format) (Schritt 2), und
transformiert dann die Seitenbeschreibung in eine Liste von Objekten
bzw. Gegenständen
(Schritt 4). Die Methode bzw. das Verfahren identifiziert
und entfernt dann verborgene Kanten bzw. Ränder von der Seite (Schritt 6),
und identifiziert dann die äußere Farbe und äußere Sequenzzahl
einer jeden Kante auf der Seite (Schritt 8). Als nächstes identifiziert
das Verfahren Farblücken
unter Verwendung der Vektordarstellung der Objekte auf der Seite und
Information über
die Auflösung,
in der die Seite in gerasterter Form auf einem Ausgabegerät gerendert
wird (Schritt 10).
-
Dann ändert das
Verfahren die äußere Farbe jeder
Kante, an welcher eine Farblücke
existiert, zu der Farbe, die an die äußere Seite der Kante angrenzen
wird, wenn sie auf dem Ausgabegerät gerendert wird (Schritt 12).
Dies ändert
die Farbübergänge zwischen
Kanten im Vektorraum, so daß sie
die Farbübergänge zwischen
Kanten in der gerasterten Form abstimmen.
-
Schließlich wird
ein Einfangen bzw. Trapping auf der Seite unter Verwendung der korrigierten
Farbinformation unter Verwendung einer Vielzahl von Einfang- bzw.
Trappingverfahren ausgeführt
(Schritt 14).
-
Das
Verfahren von 1 wird nun in größerem Detail
beschrieben.
-
Bezugnehmend
auf 2a hat ein PostScript Pfad 16 geordnete
Kanten E1, E2, E3, E4, E5, E6 und E7. Die erste Kante E1 hat einen
Startpunkt (from point) P1 und einen Zielpunkt (to point) P2. Die übrigen Pfade
haben in ähnlicher
Weise Startpunkte und Zielpunkte, die die Form bzw. Gestalt des
Pfads 16 in einer Richtung entgegen dem Uhrzeigersinn definieren,
die bei dem Punkt P1 endet. Da jede Kante des Pfads 16 von
ihrem Startpunkt bis zu ihrem Endpunkt verfolgt wird, ist das Innere
von Pfad 16 definiert, auf der linken Seite der Kante zu
sein; der Außenbereich des
Pfads 16 ist definiert, auf der rechten Seite der Kante
zu sein. Jede Kante im Pfad 16 hat eine innere Farbe, die
die Farbe auf der inneren (linken) Seite der Kante definiert. Die
Innenfarbe einer jeden Kante des Pfads 16 ist gelb, was
dazu führt, daß das Innere
des Pfads 16 gelb erscheint, wenn er auf einer Ausgabevorrichtung
gerendert wird.
-
Bezugnehmend
auf 2b besitzt ein PostScript Pfad 18 geordnete
Kanten E8, E9, E10, E11 und E12. Die erste Kante E8 hat einen Startpunkt
P3 und einen Zielpunkt P4. Die übrigen
Kanten haben in ähnlicher
Weise Zielpunkte und Startpunkte, die den Pfad 18 entgegen
dem Uhrzeigersinn verfolgen, welche am Punkt P3 endet. Die innere
Farbe einer jeden Kante ist Magenta, was bewirkt, daß das Innere
des Pfads 18 als Magenta erscheint, wenn es auf einem Ausgabegerät gerendert
wird.
-
Objekte
auf einer PostScript Seite können überlappen.
Deshalb können
einige Objektkanten durch andere Objekte überdeckt werden und können deshalb
nicht sichtbar sein, wenn die Seite auf einer Ausgabevorrichtung
gerendert wird. Wenn der Pfad 18 eine höhere Sequenzzahl besitzt als
Pfad 16, dann werden die Pfade erscheinen, wie dies in 2c gezeigt
ist, wenn sie durch eine Ausgabevorrichtung gerendert werden. Wie
in 2c gezeigt, ist bzw. wird ein Teil des Innenbereichs
von Pfad 16 durch ein Teil des Innenbereichs von Pfad 18 überdeckt.
Die Kanten E3, E4, E5 und E6 von Pfad 16 sind bzw. werden
vollständig
durch Pfad 18 überdeckt
und Teile der Kanten E2 und E7 von Pfad 16 sind durch Pfad 18 überdeckt.
-
Eine
PostScript Seite wird an eine PostScript fähige Vorrichtung übermittelt,
wie einen PostScript Drucker oder Belichter. Eine Trappingmaschine transformiert
die PostScript Seite in einen Satz von Objekten, die auf der Seite
erscheinen, indem konventionelle Verfahren bzw. Methoden verwendet
werden. Ein jedes Objekt besteht aus einem oder mehreren Pfad(en),
der bzw. die eine gemeinsame eindeutige Sequenzzahl teilen.
-
Jede
Kante in einem Pfad hat eine Anzahl von Attributen bzw. Eigenschaften.
Jede Kante hat einen Startpunkt und Zielpunkt, die die Position
und Richtung der Kante definieren. Die originale bzw. ursprüngliche
Innenfarbe und die effektive Innenfarbe einer Kante werden auf den
Wert der Innenfarbe der Kante initialisiert. Die innegehabte oder
innere Sequenzzahl einer Kante ist die Sequenzzahl des Pfads, zu
dem die Kante gehört.
Die ursprüngliche Außenfarbe,
effektive Außenfarbe
und äußere Sequenzzahl
einer Kante werden unten beschrieben. Eine Sub- bzw. Neben- bzw.
Kindkante (unten beschrieben) enthält auch eine Bezugnahme zur
Mutter- bzw. Haupt- bzw. Elternkante der Sub- bzw. Nebenkante.
-
Nachdem
die Trapping- bzw. Einfangmaschine die PostScript Seite in einen
Satz von Objekten transformiert hat, ist bzw. wird die Seite in
kleine rechteckige bzw. rechtwinkelige Kacheln bzw. Tiles aufgeteilt.
Obwohl die Erfindung beschrieben wird, daß sie auf solchen Kacheln arbeitet,
kann sie auch auf einer Seite arbeiten bzw. tätig sein, die nicht in Kacheln
aufgeteilt wurde. Jede Kachelgrenze hat einen Startpunkt, einen
Zielpunkt und eine Innenfarbe.
-
Die
Kanten in einer Kachel, die sichtbar sein werden, wenn die Seite
gerendert wird, sind bzw. werden in der Kantentabelle aufgenommen.
Bezugnehmend auf 3a erzeugt die Einfangmaschine eine
leere Kantentabelle für
eine Kachel und fügt
die Kachelgrenzen der Kachel zur Kantentabelle hinzu (Schritt 20).
Als nächstes
wird das Objekt o mit der kleinsten bzw. niedrigsten Sequenzzahl
in der Kachel ausgewählt
(Schritt 21), und die ursprünglichen bzw. originalen Außenfarben
der Kanten des Objekts o werden auf einen unbekannten Wert initialisiert.
Die Kanten des Objekts o werden dann der Kantentabelle hinzugefügt (Schritt 23).
-
Ein
Verfahren zum Entfernen einer verborgenen Linie wird dann auf die
Kantentabelle angewendet. Das Verfahren zum Entfernen verborgener
Linien teilt jede Kante in der Kantentabelle in zwei kleinere Kanten
an jedem Punkt auf, an dem die Kante eine andere Kante eines anderen
Objekts schneidet bzw. kreuzt. Jede Kante, die aus einer solchen
Aufteilung hervorgeht, behält
die ursprüngliche
Innenfarbe und innere Sequenznummer der Kante bei, von der sie abgeleitet
wurde.
-
Beispielsweise
unter Bezugnahme auf 2d wird die Kante E2 des Objekts 16 aufgeteilt
in Kante E13 (mit Endpunkten P2 und P7) und Kante E14 (mit Endpunkten
P7 und P5), weil die Kante E2 eine Grenze des Objekts 18 am
Punkt P7 schneidet. Ähnlich
wird die Kante E7 des Objekts 16 in Kante E15 (mit Endpunkten
P6 und P8) und Kante E16 (mit Endpunkten P8 und P1) aufgeteilt,
weil die Kante E7 die Grenze des Objekts 18 am Punkt P8
schneidet.
-
Ein
komplexer Punkt ist ein Punkt, an dem mehr als zwei sichtbare Kanten
einander schneiden. Bezugnehmend auf 2d ist
beispielsweise der Punkt P7 ein komplexer Punkt. Ein Keil bzw. Spline ist
eine zusammenhängende
Serie von verbundenen Kanten, die nicht eine Objektgrenze schneiden.
Ein Keil beginnt entweder und endet an einem komplexen Punkt oder
beginnt und endet an einem einfachen Punkt. Das Verfahren zur Entfernung
verborgener Linien teilt jedes Objekt in Keile, und identifiziert jede
der Kanten eines jeden Objekts, entweder sichtbar oder unsichtbar
zu sein. Die Kanten jedes unsichtbaren Keils werden dann von der
Kantentabelle entfernt.
-
Beispielsweise
wird als ein Ergebnis eines Anwendens des Verfahrens zur Entfernung
einer verborgenen Linie auf die Kachel, die Objekt 16 und
Objekt 18 enthält,
Objekt 16 in zwei Keile geteilt: ein Keil (S1), der aus
den Kanten E13, E1 und E16 besteht, und Keil (S2), der aus Kanten
E14, E3, E4, E5, E6 und E15 besteht. Ähnlich wird Objekt 18 in
zwei Keile aufgeteilt: ein Keil (S3), bestehend aus den Kanten E21
und E17 und einem Keil (S4) bestehend aus Kanten E18, E19 und E20.
Keile S1, S3 und S4 sind sichtbar, wie dies in 2c gezeigt
ist. Keil S2 ist nicht sichtbar.
-
Nachdem
das Verfahren zur Entfernung verborgener Linien die sichtbaren und
unsichtbaren Kanten in einer Kachel identifiziert hat, wird die
erste sichtbare Kante e im Objekt o ausgewählt (Schritt 26).
Wenn die originale Außenfarbe
der Kante e unbekannt ist (Schritt 30), dann wird bestimmt,
ob irgendein Endpunkt der Kante e an einem komplexen Punkt ist (Schritt 32).
Wenn irgendein Endpunkt der Kante e an einem komplexen Punkt ist,
dann sind die Außenfarbe
und die Außensequenznummer
der Kante e zugeschriebene Werte, gemäß dem Verfahren von 3b (Schritt 50).
Schritte 26–50 wer den
dann für
jede übrige
sichtbare Kante in der Kachel wiederholt.
-
Bezugnehmend
auf 3b sind die originale Außenfarbe und Außensequenzzahl
einer Kante e, die mit einem komplexen Punkt p schneidet, zugeschriebene
bzw. zugewiesene Werte wie folgt. Während einer Entfernung einer
verborgenen Kante wird eine Liste von allen sichtbaren Kanten, die
mit dem Punkt p verbunden sind, erhalten bzw. beibehalten. Zuerst
werden die sichtbaren Kanten, die mit dem Punkt p verbunden sind,
sortiert (Schritt 52). Kanten werden in einer Reihenfolge
einer zunehmenden Winkelrichtung (im Uhrzeigersinn) im Hinblick
auf den Punkt p sortiert. Für
Sortierzwecke wird die Richtung einer jeden Kante so behandelt,
als ob die Kante vom Punkt p wegzeigen würde. Beispielsweise werden
die Kanten am Punkt P8 (2d) wie
folgt sortiert: E20, E21, E16. Man beachte, daß Kante E15 nicht in die Liste
mitaufgenommen ist, da sie vorher als unsichtbar durch das Verfahren
zur Entfernung verborgener Linien identifiziert wurde. Im nächsten Schritt,
wenn e in den Punkt p zeigt, wird dann ee ausgewählt als die Kante e in der
sortierten Liste, mit einem Umlauf bzw. Umbruch (Schritt 53).
Wenn e weg vom Punkt p zeigt, dann wird ee als die Kante ausgewählt, welche
e in der sortierten Liste folgt, mit einem Umlauf bzw. Umbruch (Schritt 54).
Mit anderen Worten, die Kante, die der ersten Kante in der Liste
vorangeht, ist die letzte Kante in der Liste, und die Kante nach
der letzten Kante in der Liste ist die erste Kante in der Liste.
Beispielsweise die Kante vor E21 ist E20 und die Kante nach E16
ist E20 in der Sortierordnung.
-
Als
nächstes
wird die originale Außenfarbe von
e gleich der Originalfarbe von ee auf der Seite von ee gesetzt bzw. festgelegt,
die dem Äußeren von e
zugewandt ist, und die Außensequenznummer bzw.
-zahl von e wird gleich der Sequenznummer von ee auf der Seite von
ee festgelegt, die der Außenseite
bzw. dem Äußeren von
e zugewandt ist (Schritt 55). Beispielsweise unter Bezugnahme
auf 2d, wenn p der Punkt P8 ist und e die Kante E21
ist, dann ist ee die Kante E7. Das Innere von Kante E7 ist zum Äußeren von
Kante E21 gerichtet. Deshalb wird die originale Außenfarbe
von Kante E21 gleich der originalen Innenfarbe von Kante E7 (gelb)
gesetzt, und die Innensequenzzahl von Kante E7 wird in die Außensequenzzahl
von Kante E21 kopiert.
-
Die
originale Außenfarbe
und Außensequenznummer
von Kante e werden dann auf die anderen Kanten in dem Keil der Kante
e übertragen (Schritt 57).
Das Verfahren schreitet dann zu Schritt 34 in 3a fort
(Schritt 60).
-
Nachdem
das Verfahren von 3a eine Betätigung ausgeführt hat,
wird das Verfahren von 3c auf alle Kanten angewandt,
deren Außenfarbe
noch unbekannt ist. Bezugnehmend auf 2e, ist
Objekt 16 das einzige Objekt innerhalb von Kachel 19,
mit Kachelgrenzen TBE1, TBE2, TBE3 und TBE4. Weil keine der Kanten
des Objekts 16 mit den Kanten irgendwelcher anderer Objekte
oder mit irgendwelchen Kachelgrenzen schneidet, wird die Außenfarbe
von allen Objekten der Kanten von Objekt 16"unbekannt" verbleiben, nachdem das Verfahren von 3a angewandt
wurde.
-
Bezugnehmend
auf 3c wird für
jede Kante mit einer unbekannten Außenfarbe (Schritt 100)
ein Vektor v senkrecht zu e konstruiert, der von dem Mittelpunkt
von e ausgeht und auf das Äußere von
e hinweist (Schritt 105). Beispielsweise unter Bezugnahme
auf 2e wird der Vektor v senkrecht zur Kante E1 des
Pfads 16 konstruiert. Das Verfahren folgt als nächstes v,
bis er entweder eine Kante oder eine Kachelgrenze schneidet (als
die geschnittene Kante ie bezeichnet) (Schritt 110), die
nicht das gleiche Objekt wie e ist (Schritt 115). Beispielsweise
unter Bezugnahme auf 2e schneidet Vektor v die Kachelgrenze
TBE2. Wenn v das Äußere von
ie schneidet, dann wird die originale Außenfarbe von e der Wert der
originalen Außenfarbe
von ie zugewiesen bzw. zugeschrieben, und der Außensequenznummer von e wird
der Wert der Außensequenznummer
von ie zugewiesen (Schritt 125). Ansonsten wird der originalen
Außenfarbe
von e der Wert der originalen Innenfarbe von ie zugewiesen, und
der Außensequenznummer
von e wird der Wert der Innensequenznummer von ie zugewiesen (Schritt 120).
Die originale Außenfarbe
und Außensequenznummer von
e wird dann auf die anderen Kanten im Keil von e weitergegeben bzw. übertragen
(Schritt 130). Beispielsweise unter Bezugnahme auf 2e,
schneidet der Vektor v das Innere von TBE2. Der originalen Außenfarbe
der Kante E1 wird deshalb der Wert der originalen Innenfarbe und
die Innensequenznummer der Kachelgrenze TBE2 zugeschrieben, von
denen beide dann auf die Kanten E2, E3, E4, E5, E6 und E7 übertragen
werden.
-
Bezugnehmend
auf 4a nähern
sich in ihrer Auflösungsunabhängigen Vektordarstellung
Objekt 200 und Objekt 300 einander an, aber berühren einander
nicht oder überlappen
nicht, nahe der Kante 240 von Objekt 200. Die
Innenfarbe des Objekts 200 ist cyan, die Innenfarbe des
Objekts 300 ist magenta, und die Hintergrundfarbe ist grün. Obwohl
nicht gezeigt, ist die Kurve von Objekt 300 in Vektorform durch
eine Anzahl von geraden verbundenen Kanten dargestellt.
-
4b zeigt
eine mögliche
Rasterung der Abschnitte von Objekt 200 und 300 innerhalb
der Box 310, wenn sie auf einer Vorrichtung mit einer Auflösung kleiner
als der Abstand zwischen der oberen Kante 240 des Objekts 200 und
dem Boden des Objekts 300 gerastert wird.
-
Wie
in 4b gezeigt, berühren die Pixel, die das Objekt 300 repräsentieren,
die Pixel, die das Objekt 200 repräsentieren, obwohl in ihrer
Vektordarstellung die Objekte einander nicht berühren oder überlappen. Deshalb ist, obwohl
in der Vektordarstellung in 4a die
Farbe auf dem Äußeren von
Kante 240 grün
(die Hintergrundfarbe) ist, in gerasteter Form das Farbteil des Äußeren von
Kante 240 magenta. Ein Trapping von Kante 240 basierend
einzig auf einer Außenfarbe
grün wird
deshalb zu fehlerhaften Ergebnissen führen. Das Verfahren und die
Vorrichtung bzw. das Gerät
der vorliegenden Erfindung stellen ein zuverlässiges bzw. ordnungsgemäßes Trapping
in diesem Fall zur Verfügung,
d.h., in dem Fall, wo die Rasterdarstellungen von zwei Objekten einander
berühren,
obwohl ihre Vektordarstellungen einander nicht berühren.
-
Eine
Farblücke
ist ein Spalt zwischen zwei Kanten in Vektordarstellung, der enger
als ein Vorrichtungspixel bei der Auflösung der Ausgabevorrichtung
ist, auf dem die Vektoren zu rendern sind. Wenn eine Farblücke zwischen
zwei Kanten existiert, wird die Farbe innerhalb der Lücke bzw.
des Spalts zwischen den zwei Kanten nicht sichtbar sein, wenn die Seite
in gerasteter Form gerendert wird. Wenn eine Farblücke existiert,
muß die
Farbe zwischen den zwei Kanten auf eine angemessene Farbe eingestellt werden,
so daß Traps
bzw. Fangstellen korrekt erzeugt werden können.
-
Der
Farblückenabstand
PD ist als die maximale Distanz zwischen zwei Kanten definiert,
für die vermutet
wird, daß eine
Farblücke
existiert. Eine Fangstellenweite ist der Abstand, den eine Fangstelle
in das dunklere von zwei Objekten hineinragt, zwischen denen eine
Fangstelle notwendig ist. Für
eine Fangstellenweite bzw. -breite von 0,25 Punkten wird PD vorteilhaft
gewählt,
um das Doppelte der Länge der
kürzesten
Achse (höchste
dpi) eines Pixels auf der Ausgabevorrichtung sein, auf der die Seite
gerendert wird. PD kann auch fixiert werden als (max (h, v)/1200)·l, worin
h die horizontale Auflösung
der Ausgabevorrichtung in Punkten pro Inch ist, v die vertikale
Auflösung
der Ausgabevorrichtung in Punkten pro Inch ist, und 1 die Länge der
kürzesten
Achse eines Pixels auf dem Ausgabegerät ist. Es können auch andere Verfahren
zum Berechnen von PD verwendet werden. Beispielsweise kann PD gleich
1 für Auflösungen von
0 bis 900 dpi, 1,5·l
für Auflösungen von 900
bis 1800 dpi und (max (h, v)/1200)·l für Auflösungen größer als 1800 dpi sein. Für engere
Fangstellenbreiten sollte PD entsprechend verkleinert werden.
-
Bezugnehmend
auf 5 bearbeitet Phase Eins 600 einer Farblückendetektierung
und -korrektur jede der Kanten in einer Kachel wie folgt. Zuerst wird
eine Kante e von der Kantentabelle der Kachel ausgewählt (Schritt 605).
Kanten können
in beliebiger Ordnung gewählt
werden. Wenn eine Kante e weniger als zwei Farblückenabstände lang ist, dann muß die Kante
e nicht durch Phase Eins bearbeitet werden (Schritt 610).
Andernfalls wird ein Rechteck r rund um die Kante e konstruiert,
wie in 6a gezeigt (5,
Schritt 620). Kante e hat einen Startpunkt 800 und
einen Zielpunkt 805. Das Rechteck r hat Ecken 820, 825, 835 und 840.
Das Rechteck r ist so konstruiert, daß PD der Abstand zwischen zwei Punkten
in einem jeden der folgenden Punktpaare ist: (810, 820),
(810, 825), (815, 835), (815, 840), (810, 800)
und (815, 805).
-
Als
nächstes
werden alle Kantenendpunkte, die innerhalb des Rechtecks r liegen,
mit Ausnahme jeglicher Endpunkte, die in Schritt 680 erzeugt
wurden, zu einer Punktliste hinzugefügt (Schritt 630).
Als nächstes
wird für
jeden Endpunkt ep in der Punktliste ein Teilungspunkt 870 auf
e identifiziert, indem eine Linie 860 von ep nach e in
einer Richtung senkrecht zu e gezeichnet wird (Schritt 660),
wie dies in 6b gezeigt ist.
-
Nachdem
Teilungspunkte für
e identifiziert wurden, werden ausgewählte Teilungspunkte eliminiert,
so daß keine
zwei Teilungspunkte durch eine Distanz geringer als PD getrennt
werden (Schritt 670). Dann wird die Kante e in Child- bzw.
Nebenkanten an jedem Unterteilungspunkt geteilt (Schritt 680). Eine
Referenz bzw. Bezugnahme auf Kante e ist in jeder Nebenkante der
Kante e gespeichert. Innen- und Außenfarben der Kante e werden
bzw. sind in jeder der Nebenkanten von Kante e als die originalen Innenfarben
bzw. Außenfarben
der Nebenkante e gespeichert (Schritt 690). Nachdem sie
in Nebenkanten aufgeteilt wurde, wird Kante e von der Kantentabelle entfernt
und auf sie als eine Hauptkante Bezug genommen. Beispielsweise wird
unter Bezugnahme auf 6b die Kante e in zwei Nebenkanten
aufgeteilt. Eine Nebenkante hat einen Startpunkt am Punkt 800 und
einen Zielpunkt am Punkt 870. Die andere Nebenkante hat
einen Startpunkt am Punkt 870 und einen Zielpunkt am Punkt 805.
-
Wenn
die Kante e nicht die letzte Kante in der Kachel ist (Schritt 700),
dann wird das Verfahren von Phase Eins 600 für alle verbleibenden
Kanten in der Kachel wiederholt. Nachdem Phase Eins 600 abgeschlossen
wurde, fährt
das Verfahren mit Phase Zwei fort (Schritt 1000).
-
Phase
Zwei be- bzw. verarbeitet jede der Kanten in der Kantentabelle einer
Kachel wie folgt. Bezugnehmend auf 7a wird
zuerst eine sichtbare Kante, die als eine Testkante bezeichnet wird,
aus der Kantentabelle ausgewählt
(Schritt 1010). Sichtbare Kanten können als Testkanten in beliebiger
Ordnung ausgewählt
werden. Wenn die Länge
der Testkante größer als
das Doppelte des Farblückenabstands
ist (Schritt 1015), dann wird ein Kantenobjektzeiger te1
gesetzt, um auf die Testkante zu zeigen (Schritt 1025).
Bezugnehmend auf 8a besitzt te1 einen Startpunkt 1330 und
einen Zielpunkt 1340. Ein Quadrat, das als ein Startfarblückenquadrat 1310 bezeichnet
wird, mit einer Breite bzw. Weite 2·PD, wird mit seinem Zentrum
auf dem Startpunkt 1330 der Kante te1 gezeichnet (Schritt 1030).
Zwei parallele Kanten des Startfarblückenquadrats 1310 sind
parallel zur Kante te1; die anderen zwei parallelen Kanten des Startfarblückenquadrats 1310 sind
senkrecht zur Kante te1.
-
Als
nächstes
wird eine Startpunktliste erzeugt, indem die Endpunkte einer jeden
der Kanten in der Kantentabelle untersucht werden (die nicht die Endpunkte
von te1 enthält),
und die Startpunktliste mit jedem derartigen Endpunkt gefüllt wird,
der innerhalb des Startfarblückenquadrats 1310 ist
bzw. liegt (Schritt 1040). Anschließend werden alle der Kanten, zu
denen die Punkte in der Startpunktliste gehören, in einer Startkantenliste
gespeichert (Schritt 1050). Die Schritte 1030–1050 werden
dann für
die Zielpunkte 1340 der Kante te1 unter Verwendung eines
Zielfarblückenquadrats 1320 wiederholt
(Schritte 1060–1080).
-
Nachdem
die Startkantenliste und die Zielkantenliste erzeugt wurden, wird
eine Liste von Kandidatenfarblückenkanten
(die Kandidatenliste) erzeugt (Schritte 1090–1092).
Zuerst werden Kanten, die Glieder in der Zielkantenliste und der
Startkantenliste sind, zu der Kandidatenliste hinzugefügt (Schritt 1090).
Als nächstes
werden Hauptkanten mit einer Nebenkante in der Startkantenliste
und einer anderen Nebenkante in der Zielkantenliste zu der Kandidatenliste
hinzugefügt
(Schritt 1092). Zum Beispiel unter Bezugnahme auf 8b besitzt
die Kante 1360 einen Startpunkt 1362 in dem Zielfarblückenquadrat 1320 der
Kante te1 und einen Zielpunkt 1364 in dem Startfarblückenquadrat 1310 der
Kante te1. Die Kante 1360 wird deshalb zu der Kandidatenliste der
Kante te1 bei Schritt 1150 hinzugefügt. Die Kante 1366 ist
eine Haupt- bzw. Elternkante. Ein Kind der Kante 1366 hat
einen Startpunkt 1368 in dem Startfarblückenquadrat der Kante te1 und
einen Zielpunkt 1370. Das andere Kind der Kante 1366 hat
einen Startpunkt 1370 und einen Zielpunkt 1372 in
dem Zielfarblückenquadrat
der Kante te1. Die Hauptkante 1366 wird deshalb zu der
Kandidatenliste der Kante te1 bei Schritt 1160 hinzugefügt. Als
nächstes
werden die Kandidaten entsprechend dem Verfahren von 7c verarbeitet
(Schritt 1094).
-
Bezugnehmend
auf 7b wird, wenn die Länge einer Testkante geringer
als oder gleich 2·PD ist
(Schritt 1020), dann ein Kantenobjektzeiger te2 gesetzt,
um auf die Testkante zu zeigen (Schritt 1100). Ein einziges
Farblückenrechteck 1350 wird um
te2 gezeichnet, wie dies in 8c gezeigt
ist, (Schritt 1102). Die Weite des Farblückenrechtecks 1350 ist
gleich der Länge
von te2, und te2 teilt das Farblückenrechteck 1350 in
zwei gleiche rechteckige Hälften,
jede mit der Höhe
PD. Eine Einzelpunktliste aller Endpunkte in dem Farblückenrechteck 1350, das
die Endpunkte von te2 enthält,
wird erzeugt (Schritt 1104), und eine Einzelkantenliste,
die alle Kanten mit einem oder beiden Endpunkten) in der Punktliste
enthält,
wird erzeugt (Schritt 1106). Die Kandidatenliste wird dann
mit allen der Kanten in der Kantenliste gefüllt (Schritt 1108).
Beispielsweise unter Bezugnahme auf 8d besitzt
die Kante 1380 einen Startpunkt 1382 und einen
Zielpunkt 1384 in dem Farblückenquadrat 1350 der
Kante te2. Die Kante 1380 wird deshalb zu der Kandidatenliste
von Kante te2 hinzugefügt
in Schritt 1108. Als nächstes werden
die Kandidaten entsprechend dem Verfahren von 7c verarbeitet
(Schritt 1094).
-
Wenn
eine Kante in der Kandidatenliste plaziert wird, wird die folgende
Information über
die Kante in einer Datenstruktur gespeichert: (1) ein Zeiger zu
der Kandidatenkante in der Kantentabelle; (2) die Position des Startpunkts
der Kandidatenkante in Relation zu der Testkante (links, rechts
oder kollinear); (3) die Position des Zielpunkts der Kandidatenkante in
Relation zu der Testkante (links, rechts oder kollinear); und (4)
den Unterschied in der Richtung zwischen der Kandidatenkante und
der Testkante, gemessen in Radian.
-
Bezugnehmend
auf 7c wird, nachdem die Farblückenkandidatenliste erzeugt
wurde, jede Kandidatenkante in der Kandidatenliste be- bzw. verarbeitet.
Zuerst werden Kandidatenkanten mit mindestens einem Endpunkt auf
der linken Seite der Testkante und keinem Endpunkt auf der rechten
Seite der Testkante verarbeitet (Schritt 1120). Spezifisch wird,
bezugnehmend auf 7d, die effektive Innenfarbe
der Testkante auf die Innenfarbe der Kandidatenkante mit der höchsten innewohnenden
Sequenznummer von allen Kandidatenkanten gesetzt, die verarbeitet
werden (Schritt 1140).
-
Als
nächstes
werden Kandidatenkanten mit mindestens einem Endpunkt auf der rechten
Seite der Testkante und keinem Endpunkt auf der linken Seite der
Testkante verarbeitet (Schritt 1125; 7e).
Zuerst werden Kandidatenkanten von dem selben Objekt wie die Testkante
von einer Überlegung
bzw. Betrachtung ausgeschlossen, wenn sie nicht in eine Richtung
nahezu entgegengesetzt zu der Testkante zeigen; spezifisch werden
sie ausgeschlossen, wenn die Differenz in der Richtung weniger als
3π/4 Radian
oder größer als
5π/4 Radian
ist (Schritt 1150). Von den verbleibenden Kandidatenkanten
wird die Kandidatenkante mit der höchsten Innensequenznummer identifiziert
(Schritt 1155). Wenn der Richtungsunterschied zwischen
der Testkante und der identifizierten Kandidatenkante größer oder
gleich π/2
Radian ist, dann wird die effektive äußere bzw. Außenfarbe
der Testkante gleich der originalen Innenfarbe der identifizierten
Kandidatenkante eingestellt bzw. festgelegt (Schritt 1160).
Wenn die Richtungsdifferenz zwischen der Testkante und der identifizierten
Kandidatenkante weniger als π/2
Radian ist, wird die effektive Außenfarbe der Testkante gleich
der ursprünglichen
Außenfarbe
der identifizierten Kandidatenkante gesetzt (Schritt 1170).
-
Als
nächstes
werden, bezugnehmend auf 7f, Kandidatenkanten,
die mit beiden Endpunkten an der Testkante enden, verarbeitet (Schritt 1130).
Zuerst werden Variablen MLSN (die die höchste bisher angetroffene linke
Kandidatensequenznummer enthält)
und MRSN (die die höchste bisher
angetroffene rechte Kandidatensequenznnummer enthält) auf
-1 initialisiert (Schritt 1200). Variable TLSN ist ein
Zeiger auf die linke Sequenznummer der Testkante und TRSN ist ein
Zeiger zu der rechten Sequenznummer der Testkante (Schritt 1200).
-
Ein
Kandidat c wird gewählt
(Schritt 1202). Einer Variable CLSN wird c's linke Sequenznummer zugewiesen
und Variable CRSN wird c's
rechte Sequenznummer zugewiesen (Schritt 1204). Wenn c
in die gleiche Richtung wie die Testkante zeigt (Schritt 1206),
CLSN > TLSN und CLSN > MLSN, dann wird der
effektiven linken Farbe der Testkante die linke Originalfarbe von
c zugewiesen, und MLSN wird der Wert von CLSN zugewiesen (Schritte 1220–1224). Wenn
c in die gleiche Richtung wie die Testkante zeigt (Schritt 1206),
CRSN > TRSN und CRSN > MRSN, dann wird der
effektiven rechten Farbe der Testkante die ursprüngliche rechte Farbe von c
zugewiesen und MRSN wird der Wert von CRSN zugewiesen (Schritte 1226–1230).
-
Wenn
c in die entgegengesetzte Richtung wie die Testkante zeigt (Schritt 1206),
CLSN > TRSN und CLSN > MLSN, dann wird der
effektiven rechten Farbe der Testkante c's originale linke Farbe zugewiesen,
und MLSN wird der Wert von CLSN zugewiesen (Schritte 1208–1212).
Wenn c in die entgegengesetzte Richtung wie die Testkante zeigt
(Schritt 1206), CRSN > TLSN
und CRSN > MRSN, dann
wird der effektiven linken Farbe der Testkante die originale rechte
Farbe von c zugewiesen und MLSN wird der Wert von CLSN zugewiesen
(Schritte 1214–1218).
-
Nachdem
eine Detektion und Korrektur der Farblücke ausgeführt wurde, kann ein Trapping
ausgeführt
werden, indem die effektive innere und effektive äußere Farbe
der Kanten auf der Seite verwendet werden. Ein Trapping wird ein
Entschei den enthalten, ob und wo Fangstellen planiert werden, und wenn
eine Fangstelle planiert wird, ein Entscheiden, von welcher Farbe
die Fangstelle sein soll. Typischerweise wird eine Trappingmaschine
die effektiven Farben auf beiden Seiten einer jeden Kante in einer
Kantentabelle untersuchen, um zu bestimmen, ob eine Fangstelle benötigt wird.
Wenn eine Fangstelle bzw. ein Trap gebraucht wird, dann wird die Trappingmaschine
zeigen, von welcher Farbe die Fangstelle sein soll. Ein Trapping
kann ausgeführt werden,
wenn die Kanten in Vektorform sind, oder sie kann auf der gerasterten
Seite ausgeführt
werden.
-
Bezugnehmend
auf 9 kann die Erfindung in einer digitalen elektronischen
Schaltung oder in Computer-Hardware, Firmware, Software oder in Kombinationen
aus ihnen, implementiert werden. Ein Gerät der Erfindung kann in einem
Computerprogramm implementiert werden, das greifbar in einem maschinenlesbaren
Speichergerät
für eine
Ausführung
durch einen Computerprozessor verkörpert ist; und Verfahrensschritte
der Erfindung können
durch einen Computerprozessor ausgeführt werden, der ein Programm
ausführt,
um Funktionen der Erfindung durch ein Arbeiten an Eingabedaten auszuführen und
eine Ausgabe zu erzeugen.
-
Geeignete
Prozessoren 1480 beinhalten beispielhaft Mikroprozessoren
sowohl für
allgemeine als auch spezielle Zwecke. Im allgemeinen wird ein Prozessor
Instruktion und Daten von einem Nur-Lese-Speicher (ROM) 1520 und/oder
von einem Direktzugriffsspeicher (RAM) 1510 durch einen
CPU-Bus 1500 erhalten. Ein Computer kann im allgemeinen auch
Programme und Daten von einem Speichermedium, wie einer internen
Disk 1430, die durch eine Massenspeicher-Schnittstelle 1440 arbeitet,
oder eine austauschbare Disk 1410, die durch eine I/O-Schnittstelle 1420 arbeitet.
Der Datenfluß über einen
I/O-Bus 1450 zu und von I/O-Vorrichtungen 1410, 1430, 1460, 1470 und
der Prozessor 1480 und Speicher 1510, 1520 werden
durch einen I/O-Controller geregelt bzw. gesteuert. Eine Benutzereingabe wird
durch eine Tastatur 1470, Maus, Fühler bzw. Taster, Mikrophon,
Trackball, berührungssensitiven Schirm
oder eine andere Eingabevorrichtung erhalten. Diese Elemente werden
in einem konventionellen Desktop oder Arbeitstation- bzw. Workstation-Computer
gefunden, ebenso wie anderen Computern die für ein Ausführen von Computerprogrammen
geeignet sind, die die Verfahren, die hier beschrieben wurden, implementieren,
welche in Verbindung mit einer digitalen Druckmaschine 1475 oder Markiermaschine,
einem Anzeige-Monitor 1460 oder einer anderen Rasterausgabevorrichtung
verwendet werden, die geeignet ist, um Farben- oder Graustufenpixel
auf Papier, Film, einem Anzeigeschirm oder einem anderen Ausgabemedien
zu produzieren.
-
Beispielsweise
enthält
eine Druckvorrichtung 1475, die einen Interpreter für eine Seitenbeschreibungssprache,
wie die PostScript® Sprache, implementiert,
einen Mikroprozessor 1550 für ein Ausführen von Programmanweisungen
bzw. -instruktionen (enthaltend Font-Schriftzeicheninstruktionen),
die auf einem Drucker-Direktzugriffsspeicher (RAM) 1560 und
einem Drucker-Nur-Lese-Speicher (ROM) 1570 gespeichert
sind, und zum Regeln bzw. Steuern einer Drucker-Markiermaschine 1580. Der RAM 1560 wird optional
durch eine Massenspeichervorrichtung, wie eine Festplatte (nicht
gezeigt) ergänzt.
-
Speichergeräte, die
für ein
greifbares Verkörpern
von Computerprogrammanweisungen geeignet sind, enthalten alle For men
von nicht flüchtigen
Speichern, enthaltend beispielsweise Halbleiterspeicher, wie EPROM,
EEPROM und Flash-Speicher-Vorrichtungen; magnetische Disks bzw.
Scheiben, wie interne Festplatten 1030 und austauschbare
Platten 1410; magneto-optische Scheiben bzw. Disks; und CD-ROM-Disks.
Jede der Vorgenannten kann ersetzt werden durch oder integriert
in speziell ausgebildete ASICs (application specific integrated
circuits; anmeldungs-spezifizierte integrierte Schaltkreise).
-
Obwohl
Elemente der Erfindung in Ausdrücken
einer Softwareimplementierung beschrieben wurden, kann die Erfindung
in Software oder Hardware oder Firmware oder in einer Kombination
von irgendwelchen der drei implementiert werden.
-
Die
vorliegende Erfindung wurde in Termen einer Ausführung beschrieben. Jedoch ist
die Erfindung nicht auf die dargestellte und beschriebene Ausführung begrenzt.
Vielmehr wird der Rahmen der Erfindung durch die Patentansprüche definiert.