PatentDe  


Dokumentenidentifikation DE69834227T2 18.01.2007
EP-Veröffentlichungsnummer 0000901096
Titel Erkennung und Korrektion von Farblücken
Anmelder Adobe Systems, Inc., San Jose, Calif., US
Erfinder Dermer, Richard A., Issaquan, Washington 98029, US;
Becker, Douglas R., Ayer, Massachusetts 01432, US;
Mercer, Dennis, Auburn, New Hampshire 03032, US
Vertreter Müller - Hoffmann & Partner Patentanwälte, 81667 München
DE-Aktenzeichen 69834227
Vertragsstaaten DE, GB
Sprache des Dokument EN
EP-Anmeldetag 03.09.1998
EP-Aktenzeichen 983070913
EP-Offenlegungsdatum 10.03.1999
EP date of grant 19.04.2006
Veröffentlichungstag im Patentblatt 18.01.2007
IPC-Hauptklasse G06K 15/00(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H04N 1/58(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
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 vergröß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.

2a2b 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.

3a3c 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 2650 werden 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 600fü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 10301050 werden dann für die Zielpunkte 1340 der Kante te1 unter Verwendung eines Zielfarblückenquadrats 1320 wiederholt (Schritte 10601080).

Nachdem die Startkantenliste und die Zielkantenliste erzeugt wurden, wird eine Liste von Kandidatenfarblückenkanten (die Kandidatenliste) erzeugt (Schritte 10901092). 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&pgr;/4 Radian oder größer als 5&pgr;/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 &pgr;/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 &pgr;/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 12201224). 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 12261230).

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 12081212). 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 12141218).

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 Entscheiden 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 Formen 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.


Anspruch[de]
Verfahren zum Ausbilden einer Auflösungs-unabhängigen Vektordarstellung eines Bereichs zum Einfangen bzw. Trapping, umfassend:

Finden einer Farblücke bzw. eines Peekers zwischen einer ersten Kante bzw. Rand in dem Bereich und einer zweiten Kante bzw. Rand in dem Bereich, wobei die Farblücke bzw. der Peeker einen Spalt zwischen zwei Kanten bzw. Rändern in einer Vektordarstellung ist, welcher schmäler als ein Vorrichtungs-Bildpunkt bzw. Pixsel bei der Auflösung der Ausgabevorrichtung ist, wenn sie in einer gerasterten Form gerendert bzw. wiedergegeben wird;

Identifizieren einer angrenzenden Farbe, wo die Farblücke existiert, welche an einer Seite der ersten Kante zwischen der ersten Kante und der zweiten Kante angrenzen wird, wenn die erste Kante in gerasterter Form gerendert wird; und

Ändern der Farbe der ersten Kante auf der Seite der ersten Kante zwischen der ersten Kante und der zweiten Kante auf die angrenzende Farbe vor einem Einfangen, wo die Farblücke besteht.
Verfahren nach Anspruch 1, wobei:

der Bereich eine Seite ist.
Verfahren nach Anspruch 1, weiters umfassend:

ein Rendern eines ersten Pfads und eines zweiten Pfads, mit der geänderten Farbe.
Verfahren nach Anspruch 3, wobei:

ein Rendern ein Einfangen bzw. Trapping beinhaltet.
Verfahren nach Anspruch 1, wobei ein Finden einer Farblücke bzw. eines Peekers umfaßt:

Ableiten aus der Auflösungs-unabhängigen Darstellung einer Mehrzahl von Gegenständen bzw. Objekten, von welchen jeder von diesen durch einen oder mehreren geschlossenen gerichteten Pfaden) definiert wird, welcher) aus geordneten, verbundenen, gerichteten, geraden Pfadkanten bzw. -rändern besteht (bestehen), wobei jeder Gegenstand bzw. Objekt eine innere Sequenznummer aufweist, die durch jede der Gegenstands- bzw. Objektkanten geteilt wird; und

Finden einer Farblücke bzw. eines Peekers zwischen einer ersten Kante bzw. Rand und einer zweiten Kante, wenn ein Absfand zwischen der ersten Kante und der zweiten Kante kleiner als ein Peeker- bzw. Farblückenabstand wird.
Verfahren nach Anspruch 5, wobei:

der Farblückenabstand proportional zu der Höhe eines Bildpunkts des Bereichs ist,

der in gerasterter Form dargestellt wird.
Verfahren nach Anspruch 6, wobei:

der Farblückenabstand etwa zwei Mal der Höhe eines Bildpunkts des Bereichs ist,

der in gerasterter Form dargestellt wird.
Verfahren nach Anspruch 5, wobei:

der Farblückenabstand proportional der Breite eines Bildpunkts des Bereichs ist, der in gerasterter Form dargestellt wird.
Verfahren nach Anspruch 5, wobei:

der Farblückenabstand etwa zwei Mal der Breite eines Bildpunkts des Bereichs ist,

der in gerasteter Form dargestellt wird.
Verfahren nach Anspruch 1, weiters umfassend einen Schritt eines Identifizierens einer äußeren Farbe einer ersten Kante bzw. Randes eines ersten Pfads, umfassend:

wenn die erste Kante eine zweite Kante bzw. Rand eines zweiten Pfads schneidet, und wenn die Farbe der Seite der zweiten Kante, die zu dem Äußeren der ersten Kante schaut bzw. gerichtet wird bzw. gegenüberliegt, bekannt ist, Verändern der äußeren Farbe der ersten Kante auf die Farbe der Seite der zweiten Kante, die zu dem Äußeren der ersten Kante schaut.
Verfahren nach Anspruch 10, weiters umfassend:

Verändern der Farbe von Kanten, die mit der ersten Kante verbunden sind, auf die Farbe der Seite der zweiten Kante, die zu dem Äußeren der zweiten Kante schaut.
Verfahren nach Anspruch 11, weiters umfassend:

Anwenden eines anderen Verfahrens zum Identifizieren von äußeren Farben eines dritten Sub-Satzes aus der Mehrzahl von sichtbaren Kanten bzw. Rändern, wobei das andere Verfahren umfaßt:

Generieren bzw. Erzeugen eines Vektors von jeder Kante des ersten Pfads, für welchen die äußere Farbe unbekannt ist; und

Identifizieren einer zweiten Kante bzw. Randes eines zweiten Pfads, mit welchem der Vektor an einer Seite der zweiten Kante schneidet; und

Verändern der äußeren Farbe der ersten Kante auf die Farbe der zweiten Kante auf der Seite, an welcher der Vektor die zweite Kante schneidet.
Verfahren nach Anspruch 12, weiters umfassend:

Verändern der äußeren Farbe von Kanten, die mit der ersten Kante verbunden sind, auf die Farbe der zweiten Kante auf der Seite, an welcher der Vektor die zweite Kante schneidet.
Computerprogrammprodukt, das greifbar bzw. körperlich in einer durch eine Maschine lesbaren Speichervorrichtung verkörpert ist, wobei das Computerprogramm Produktprogrammteile zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 13 aufweist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com