-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese
Erfindung bezieht sich auf ein Planarisieren eines Satzes von überlappenden
Gegenständen bzw.
Objekten und genauer auf ein Farbeinfangen in elektronischen Drucksystemen.
-
2. Beschreibung des Standes
der Technik
-
Vor
zahlreichen Jahren war das bevorzugte Verfahren zum Farbdrucken
auf Papier, die Seite in mehreren Belichtungen oder Trennungen zu
bearbeiten. Jede Trennung setzte gewählte Bereiche des Papiers an eine
Tinte unterschiedlicher Farbe aus. Die üblichen Verfahrenstintenfarben
sind Cyan, Magenta, Gelb und "Schlüssel" (CMYK), wobei Schlüssel üblicherweise
Schwarz ist. Zusätzlich
Farbtinten werden häufig
verwendet als Punktfarben in zusätzlichen
Auftrennungen bzw. Trennungen.
-
Ein
Hochqualitätsdrucken,
wie es durch die publizierende Industrie erforderlich, stellt zahlreiche
unterschiedliche Probleme beim Steuern bzw. Regeln der Trennungen.
Beispielsweise ist ein Farbdrucken beeinträchtigt, wenn das Papier nicht
ordnungsgemäß ausgerichtet
ist, da das Papier zahlreiche Durchläufe durch die Platten eines
Druckers macht. Als ein Ergebnis sind die zahlreichen Tinten niemals
perfekt miteinander ausgerichtet und ein kleiner Spalt zwischen
Bereichen unterschiedlicher Farben kann auftreten, was häufig ziemlich
sichtbar für
das Auge als eine farb freie Linie bzw. Fehl-Farb-Linie ist. Dieses
Problem wird typischerweise als Fehlintegration bezeichnet.
-
Eine übliche Lösung für dieses
Registrierungsproblem ist es, eine Technik auszuführen, die
als "Trapping bzw.
ein Einfangen bzw. Fangen" bezeichnet
wird. Wenn bzw. da Farbtrennungen generiert bzw. erzeugt werden,
können
Bereiche bzw. Regionen hellerer Farbe über ihre nominellen bzw. Nominalgrenzen
expandiert oder "ausgebreitet" werden, während Bereiche
dunklerer Farbe innerhalb derartiger Grenzen konzentriert oder "gedrosselt" werden können, um
eine Überlappung
von Farben bei dem zweiten und nachfolgenden Tintendurchläufen zu
erzeugen. Das Überlappen
lindert die Effekte einer Fehlintegration bzw. -ausrichtung. Fangtechniken
werden traditionell händisch
ausgeführt.
Obwohl ermüdend
bzw. aufwendig, wurden in der Vergangenheit händische Einfangtechniken in
Anwendungen, wie Magazinpublikation, verwendet, wo die Zeit und
Arbeit zum Erzeugen eines individuellen Einfangens für jede gedruckte
Seite ökonomisch
bzw. wirtschaftlich gerechtfertigt sind, oder bei der Verpackung,
wo die Qualität
des Drucks wichtig ist.
-
In
den letzten Jahren hat sich eine neue Klasse von billigen Anwendungen
in der Verlags- bzw. Publizierindustrie entwickelt, nämlich das "Desktop"-Publizieren. Ein
Desktop-Publizier-Systembenutzer
verwendet typischerweise einen Standard Personal Computer, um eine
Ausgabeseite als ein Computerfile in einer Seitenbeschreibungssprache
(PDL), wie "Postscript" zu verwenden, (Postscript
ist eine Marke von Adobe Systems, Incorporated in Mountain View,
California). Das PDL-File wird typischerweise an eine PDL-kompatible automatische
Seitenfestlegungs- bzw. -einstelleinrichtung übermittelt, welche das File
interpretiert und die zahlrei chen Farbtrennungen auf einem Film
für eine
spätere
photographische Verarbeitung von Offset-Druckplatten zurückzugeben
bzw. ergibt.
-
In
den letzten Jahren kamen Computersysteme, welche ein Empfangen bzw.
Einfangen elektronisch durchführen,
in weit verbreitete Verwendung. Ein Zugang zu einem elektronischen
Einfangen ist, daß das
ursprüngliche
Programm auch Fallen bzw. Traps für die Graphiken erzeugt. Als
ein Beispiel ist es in Zeichnungsprogrammen, wie Aldus Freehand®,
einem Benutzer ermöglicht,
Grenzlinien bzw. Außenlinien
um Gegenstände
hinzuzufügen,
um ein Einfangen aufzunehmen. Einfangzugänge auf dem Niveau des ursprünglichen
Programms sind günstig,
da zusätzliche
Einfangkosten eliminiert werden können, d.h. es ist nicht notwendig,
ein Nachbearbeitungsprogramm oder traditionelle Einfangtechniken
zu verwenden. Jedoch waren Einfangsfähigkeiten in ursprünglichen
Programmen typischerweise sehr limitiert bzw. beschränkt. Ein
Nachteil ist in Situationen offensichtlich, wo der Hintergrund und/oder
der Vordergrund durch eine Anzahl von unterschiedlich gefärbten Gegenständen ausgebildet
ist. Diese Situation tritt beispielsweise auf, wo individuelle Textbuchstaben bzw.
-zeichen mehr als einen Gegenstand überlappen. Typische ursprüngliche
Programme mit Einfangfähigkeiten
tendieren dazu, Gegenstände
wie Text oder Boxen bzw. Kästchen
in einer relativ groben Weise handzuhaben, so daß Fallen nur fähig sind,
auf einen gesamten Textblock angewandt zu werden oder am besten auf
einen vollständigen
Buchstaben bzw. ein ganzes Zeichen. So sind die Einfang- bzw. Fallenergebnisse
in diesen Fällen
weniger als wünschenswert.
Weiters sind, da die Einfangparameter (z.B. die Überlappungsbreite) für die Charakteristika
bzw. Merkmale von jeder Druckerpresse spezifiziert sind, diese Werte
ty pischerweise nicht zum Zeitpunkt verfügbar, wo ein Dokument erzeugt
wird, und ein Erfordernis, daß Inhalts-
bzw. Content-Erzeuger bzw. -Hersteller eine innige bzw. genaue Kenntnis
von Druckcharakteristika besitzen, bringt eine zusätzliche
Last bzw. Belastung für
die Benutzer dieser Programme.
-
Ein
automatisierter Zugang, der als "Raster
Einfangen bzw. Trapping" bekannt
ist, war: (1) Starten mit einem PDL-File, das eine Seite definiert;
(2) Umwandeln der Vektorgraphiken und/oder des Textes innerhalb des
PDL-Files in einem Rasterbild (bit mapped) bei einer gewünschten
Ausgabeauflösung
mittels eines Rasterbildprozessor (RIP); und (3) Einfangen des Rasterbilds
unter Verwendung von Pixel- bzw. Bildpunktdaten, umfassend das Bild.
Der dritte Schritt erfordert üblicherweise
eine Erzeugung bzw. Ausbildung einer gesonderten Ebene in einem
Rahmenpuffer für
jede Trennung. Die Ebenen des Rahmenpuffers werden dann auf einer
Bildpunkt-pro-Bildpunkt-Basis eingefangen und das Ergebnis zum Steuern
bzw. Regeln des Drucks von jeder Farbe einer entsprechenden Ebene
verwendet wird. Wie dies geschätzt
werden wird, ist dieser Zugang bzw. diese Näherung sehr speicherintensiv
und ist Eingabe/Ausgabe-gebunden (ein Problem selbst bei Computern,
die einen unbegrenzten Speicher besitzen).
-
Vorteile
eines Raster-Einfangens sind: (1) der RIP-Interpreter hat bereits
die Interaktion bzw. Wechselwirkung und Farbe von Kanten bzw. Rändern in
dem Rahmenpuffer ausfindig gemacht; und (2) die Tätigkeiten
bzw. Vorgänge,
die verwendet werden, um die Farbübergänge zu finden, sind sehr einfach
und die Komplexität
der Tätigkeit
zum Bearbeiten eines einzigen Rahmenpufferbildpunkts ist konstant
(d.h. es ist lokalisierter Vorgang). Nachteile des auf Raster basierenden
Einfangens sind: (1) der gesamte Rahmenpuffer muß gerendert und in bezug auf
Farbänderungen überprüft werden;
und (2) die Rahmenpuffergröße steigt
mit dem Quadrat der Seitengröße und der
Auflösung
und linear mit der Anzahl von Tinten an. Diese Faktoren stellen ein
hohes Datendurchsatzerfordernis dar.
-
Ein
neuerer automatisierter Zugang ist in U.S. Patent Nr. US-A-5,295,236
mit dem Titel "Applying Traps
to a Printed Page Specified in a Page Description Language Format" geoffenbart und
an die Zessionarin der vorliegenden Erfindung übertragen. Das Patent '236 offenbart ein
Verfahren und eine Vorrichtung zum elektronischen Einfangen einer
gedruckten Farbseite in einem Desktop Publishing, Layout, Graphik
oder einem ähnlichen
Anwendungsprogramm. Das Verfahren übersetzt PDL-Instruktionen,
umfassend eine gedruckte Seite in ein auf Vektor basierendes Format,
das für
eine Detektion und Analyse von Kanten zwischen Farbbereichen in
der gedruckten Seite geeignet ist; bildet gemäß einem Satz von Einfangregeln
einen Satz von Fallen bzw. Traps an den Farbkanten aus; und bildet
ein Trap-Ausgabefile, welches die Fallen beinhaltet, die im PDL-Format
ausgedrückt
sind. Wenn das PDL-File zum Drucken interpretiert wird, werden die
Traps bzw. Fallen auf dieselbe Weise wie die ursprünglichen
Daten bearbeitet.
-
Vorteile
eines auf Vektor basierenden Einfangens bzw. Trapping sind: (1)
virtuell jede gedruckte Seite, welche in einem PDL-Format ausgedrückt ist,
kann unabhängig
von der Anwendung eingefangen werden, die ursprünglich die Graphik erzeugt
hat, d.h. dem ursprünglichen
Programm; (2) allgemein ist die Anzahl von Kanten relativ klein
verglichen mit der Anzahl von Bildpunkten in dem Rahmenpuffer; und
(3) ist die Anzahl von Kanten bzw. Rändern etwa linear in bezug
auf die Auflösung
und Daten sind relativ unabhängig
von der Anzahl von Trennungsfarben bzw. -tinten. Nachteile des auf
Vektor basierenden Einfangens sind: (1) die Wechselwirkung von Kanten
und Gegenständen
muß durch
die Trap- bzw. Fallenmaschine bestimmt werden; und (2) die Arbeitsweisen,
die verwendet werden, um die Vektoren zu verarbeiten, sind relativ
komplex verglichen mit Rastertätigkeiten
bzw. -vorgänge
bzw. -Operationen und die Komplexität, die bei einer Bearbeitung
einer einzigen Kante involviert ist, steigt mit der Anzahl von Kanten.
-
Aus
dem Obigen ist klar, daß die
Vorteile und Nachteile der zwei automatisierten Näherungen
bzw. Zugänge
nahezu wechselweise ausschließlich
sind. Tatsächlich
schwingt, indem von einem einfachen Kunstwerk mit spärlichen
Kantenverteilungen zu einem komplexen Kunstwerk gegangen wird, in
welchem die Kantendichte hoch ist, der Leistungsvorteil von einem
auf Vektor basierenden Einfangen zu einem auf Raster basierenden
Einfangen bzw. Trapping.
-
Was
erforderlich ist, ist ein Verfahren und ein System zum automatischen
Einfangen bzw. Trappen von Seiten, welches relativ einfach in der
Implementierung ist, jegliche Seite ver- bzw. bearbeiten kann und
nicht große
Speicher- oder Prozessorressourcen verglichen mit früheren Verfahren
erfordert. Die vorliegende Erfindung stellt ein derartiges Verfahren
und System zur Verfügung.
Die allgemeinste Implementierung der Erfindung stellt auch ein Verfahren
zum Planarisieren eines Satzes von Gegenständen bzw. Objekten zur Verfügung (d.h.
reduziert einen Satz von überlappenden
Ge genständen
auf einen nicht-überlappenden
Satz von Gegenständen).
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung verwendet eine Vektorkartendarstellung einer Seiteninformation,
um ein Einfangen insbesondere durchzuführen, und in dem allgemeineren
Fall, um einen Satz von Gegenständen
zu planarisieren (d.h. einen Satz von überlappenden Gegenständen auf
einen Satz von nicht überlappenden
Gegenständen
zu reduzieren). Die Vektorkartendarstellung kombiniert die positiven
Attribute von sowohl auf Raster als auch Vektor basierenden Darstellungen,
um ein Einfangen durch ein Kombinieren der Seltenheit bzw. Spärlichkeit
der Vektordarstellung und der Komplexität einer konstanten Einheit
der Rasterdarstellung effizienter zu machen.
-
In
der bevorzugten Ausbildung der Erfindung ist eine Seite durch Gruppen
bzw. Blöcke
definiert und jede Gruppe ist zu einem 2-D Feld von Kantenanzeigern
aufgezeichnet, die als die Vektorkarte bezeichnet werden, (um eine
Analogie zu einer Bitmap zu zeichnen). Jede Zelle in der Vektorkarte
enthält
eine Liste von all den Kanten des Bilds, welche hindurchlaufen.
Ein Paar von Kanten bzw. Rändern
kann nur dann zusammen- bzw. Wechselwirken, wenn sie in derselben
Vektormappen-Zelliste sind. So sind Kantenüberschneidungs- bzw. -verschneidungs-
und Farbherausfindungstests lokalisiert, wie einem auf Raster basierenden
Einfangen, während
die Datendürftigkeit
bzw. -spärlichkeit
eines auf Vektor basierenden Einfangens beibehalten wird. Für eine geeignete
gewählte
Vektorkartengröße schneidet
eine einzige allgemeine Kante nicht zahlreiche Zellen. Alternativ
kann eine Vierbaumdarstellung verwendet werden, welche adaptiv Zellen unterteilt.
Ein Anwenden von Kantenverschneidungs- und Farbherausfindungstests
planarisiert effektiv die Gegenstände auf der Seite. Wenn Farbe
eingefangen wird, wird eine Einfangfunktion auf Kanten angewandt,
wie sie aus der Vektorkarte bestimmt werden.
-
Einige
Vorteile des Vektorkartendarstellungsaspekts der Erfindung sind:
- (1) Reduktion in der Komplexität, die bei
einem Bestimmen von Kantenüberschneidung
in komplexen PDL-Seiten und PDL-Seiten mit zahlreichen kleinen Kantensegmenten
involviert sind (z.B. PDL-Seiten mit zahlreichen Fonts, Vignetten,
Mustern, usw.).
- (2) Einfangen und Retention der relativen räumlichen Beziehungen zwischen
Kanten; diese Information wird durch die verschiedenen Schritte
weitergeben, die in dem Einfangen bzw. Trapping involviert sind, (vom
Bestimmen einer Gegenstandsüberschneidung,
versteckten Vektorentfernung durch Einfangfarbauswahl, Einfanganordnung
und Einfangformung). Die Vektorkartendarstellung ist ein einfacher
und effektiver Weg, um die räumlichen
Beziehungen zwischen Kanten in einem spärlichen Format aufzunehmen
bzw. zu fangen und zu speichern. Die Alternative in einer reinen,
auf Vektor basierenden Näherung
ist üblicherweise,
die räumlichen
Beziehungen zwischen Kanten zu bestimmen.
- (3) Reduktion in der Komplexität des Trapping- bzw. Einfangalgorithmus,
da andere grundsätzliche
Datenstrukturen durch das gesamte Einfangverfahren mit kleiner Veränderung
propagiert bzw. weitergeleitet werden und die Datenspärlichkeit
beibehalten wird. Typischerweise erfordern pure auf Vektor basierende Näherungen,
daß die
Daten (Kantenpunkte) in sortierten Listen beibehalten werden.
- (4) Leichte Adaptierung an die Eingabedaten: eine kleine Anzahl
von Kanten pro Gruppe generiert bzw. erzeugt ein gröberes Gitter
und eine größere Anzahl
von Kanten pro Gruppe erzeugt ein feineres Gitter bzw. eine feinere
Struktur.
- (5) Fähigkeit,
auf eine hierarchische Vektorkartendarstellung auszudehnen, wo Zellen
in einem Gitter in eine Vierbaumdatenstruktur unterteilt sind, in
welchen die Blätterknoten
des Vierbaums zu den Kantenlisten zeigen. In einer derartigen Darstellung
sind Zellen derart unterteilt, daß Flächen bzw. Bereiche mit hohen Kantendichten
feiner unterteilt sind als jene mit weniger Kanten.
- (6) Modifizierbar, um mit einer Rasterbitmap bzw. einer gerasterten
Bitkarte verwendet zu werden: wenn die Vektorkarte der Rasterkarte überlagert
ist bzw. wird, kann die Rasterkarte verwendet werden, um Kantenwechselwirkungen
bzw. -interaktionen aufzulösen.
In einem derartigen Schema sind bzw. werden Kanten von der Vektorkarte
gelöscht,
wenn keine entsprechende Kante in der Rasterkarte vorhanden ist
und die Kantenfarben aus der Rasterkarte bestimmt werden. Kanten
können
in der Vektorkarte eingefangen werden und die Fallen bzw. Traps
werden direkt in der Karte vor einer Ausgabe der gerasterten bzw.
Rasterseite gefärbt.
-
Die
Erfindung ist in den unabhängigen
Ansprüchen
1 und 5 dargestellt.
-
Die
Details der bevorzugten Ausbildung der vorliegenden Erfindung sind
in den beiliegenden Zeichnungen und in der unten folgenden Beschreibung
ausgeführt.
Sobald die Details der Erfindung bekannt sind, werden zahlreiche
zusätzliche
Innovationen und Änderungen
dem Fachmann offensichtlich werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Diagramm einer Gruppe bzw. Blocks mit einem Teil von zwei Polygongegenständen auf einem
gefärbten
Hintergrund.
-
2 ist
ein Diagramm von Polygonkontursegmenten, umfassend ein Teil der
zwei Gegenstände,
die in 1 gezeigt sind, die auf einem Vektorkartengitter
gezeichnet sind, das einer Gruppe auf einem Bild überlagert
ist.
-
3 ist
ein Diagramm einer Vektorkartendarstellung einer Gruppe von 2.
-
4 ist
ein Diagramm einer Vektorkartendarstellung einer Gruppe einer Seite,
die eine Bestimmung und Entfernung einer versteckten Linie zeigt.
-
5 ist
ein Diagramm einer Vektorkartendarstellung einer Gruppe auf einer
Seite, die angewandte Fallen bzw. Traps zeigt.
-
Gleiche
Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen
bezeichnen gleiche Elemente.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Innerhalb
dieser Beschreibung sollten die bevorzugte Ausbildung und gezeigten
Beispiele als Beispiele betrachtet werden, statt als Beschränkungen
der vorliegenden Erfindung.
-
Überblick
-
In
der bevorzugten Ausbildung der Erfindung ist eine Seite durch Gruppen
bzw. Blöcke
definiert und jede Gruppe ist auf einem 2-D Feld von Kantenanzeigern
aufgezeichnet, die als die Vektorkarte bezeichnet sind (um eine
Analogie zu einer Bitmap zu zeichnen). Jede Zelle in der Vektorkarte
enthält
eine Liste von all den Kanten des Bilds, welche hindurchgehen. Ein
Paar von Kanten bzw. Rändern
kann nur wechselwirken, wenn sie sich in derselben Vektorkartenzellenliste
befinden. So funktioniert bzw. fungiert ein derartiges Planarisieren
als eine Kantenüberschneidung,
Kantenfarbherausfindung, Entfernung einer versteckten Kante, Fallenformen
und Kantenfiltertests werden während
aller Schritte lokalisiert, ebenso wie bei einem auf Raster basierenden
Einfangen, während
die Datenspärlichkeit
eines auf Vektor basierenden Einfangens beibehalten ist. Für eine geeignet
gewählte
Vektorkartengröße schneidet
allgemein eine einzige Kante nicht zahlreiche Zellen. Wenn Farben
eingefangen werden, wird eine Einfangfunktion auf sichtbare Kanten
angewandt, wie sie aus der Vektorkarte bestimmt sind, und Trap- bzw. Einfangpolygone
werden auf der Vektorkarte generiert bzw. erzeugt.
-
Spezifischer
wird, um ein Vektorkarten-Darstellungskonzept beim Planarisieren
einer Seite anzuwenden, die Seite in quadratische Gruppen bzw. Ziegel
(z.B. ungefähr
0,5 Zoll oder weniger) gleicher Flächen unterteilt. Jeder Block
bzw. jede Gruppe wird unabhängig
durch ein Konstruieren einer Vektorkarte für den Block planarisiert, in
welchem alle Po lygone, die den Block schneiden, eingegeben sind.
Polygonkonturen können
in der Vektorkarte, beispielsweise mit einem Schnellinien-Zeichnungsalgorithmus
(z.B. Bresenham's
Algorithmus) oder einer Nachschautabelle gezeichnet werden (praktisch,
wenn die Anzahl von Zellen in der Vektorkarte nicht groß ist).
Polygon-Block-Schnitte können
mit einem einfachen Randkastentest bestimmt werden.
-
In
der bevorzugten Trap- bzw. Einfangausbildung ist die anfängliche
Zellengröße für die Vektorkarte für einen
Block proportional der abgeschätzten
mittleren Polygonkante gemacht und ist beschränkt, um größer als die maximale eingefangene
Polygonbreite (ein eingegebener bzw. Eingabeparameter für die Einfanganwendung)
zu sein. Die mittlere Polygonkantenlänge E kann abgeschätzt werden
als:
-
Beispiel
-
Ein
Beispiel eines Vektorkarteneinfangens für ein Teil einer Seite, umfassend
zwei Gegenstände
auf einem Hintergrundgegenstand ist in 1 bis 5 gezeigt.
Spezifischer ist 1 ein Diagramm eines Teils von
zwei Polygongegenständen
A, B auf einem Block mit einem Hintergrundgegenstand C (ein Hintergrundgegenstand
kann entweder die Seite oder ein Gegenstand sein, der den Block
vollständig überdeckt). 1 zeigt,
wie die Gegenstände
drucken würden,
wobei Gegenstand B über
Gegenstand A gedruckt wird und beide Gegenstände A, B über Gegenstand C gedruckt sind
bzw. werden.
-
2 ist
ein Diagramm von Polygonkontursegmenten CA,
CB, umfassend Kanten der zwei Gegenstände A, B,
die auf einem beliebigen 7 × 7
Vektorkartengitter gezeichnet sind, das dem Block von 1 überlagert ist.
Der Hintergrundgegenstand C ist durch die Vektorkartengrenze CC dargestellt bzw. repräsentiert.
-
3 ist
ein Diagramm einer Vektorkartendarstellung des Blocks von 2.
Die Polygonkontursegmente CA, CB sind
visuell in der Vektorkarte als schraffierte Zellen repräsentiert.
In der bevorzugten Ausbildung ist ein Zeiger an jedem Kantensegment
von jedem Kontursegment CA, CB,
welches eine Zelle berührt,
in eine Kantenliste eingegeben, welche für diese Zelle beibehalten ist.
(Es ist festzuhalten, daß,
während
eine graphische Darstellung einer Vektorkarte dargestellt ist, jede
gewünschte
Datenstruktur verwendet werden kann, um dieselbe Information einzufangen
bzw. aufzunehmen. Beispielsweise könnte eine Nachschau-Tabellen-Datenstruktur
verwendet werden, welche einfach Zellennummern für Zellen, die wenigstens ein
Kantensegment aufweisen, und die Anzahl von Kantensegmenten in der
Zelle verfolgt. Andere Datenstrukturen, wie Felder, verbundene Listen
usw. können
ebenfalls verwendet werden). Auch kann jede Zelle unterteilt werden,
wenn ihre Kantenzählung
zu hoch ist, in welchem Fall ein Vierbaum mit Blattknoten verwendet
werden kann, die zu den Kanten zeigen. Jedoch ist dies nicht erforderlich.
-
In
dem gezeigten Beispiel sind die zwei kreuzweise schraffierten Zellen
(3,4) und (4,4) in 3 die einzigen
Zellen, wobei mehr als zwei Kanten in die Zellenkantenliste eingegeben
sind und in welchen in Überschneidungstest
erforderlich ist. Von Kanten in den verbleibenden Zellen wird leicht
gesehen, daß sie
keine Überschneidungen
besitzen, da sie nicht ihre Zellen teilen, wie dies aus der Anzahl
von Kanten in der Kantenliste jeder Zelle bestimmt ist (d.h. wenn
die Anzahl von Kanten kleiner als 2 ist, kann eine Zelle keine überschneidenden
Polygonlinien besitzen). Wie dies aus 3 leicht
verstanden werden kann, wird durch ein Darstellen von Blöcken bzw.
Gruppen als Vektorkarten eine Bestimmung von aneinander schneidenden
bzw. überschneidenden
Kontursegmenten ohne komplexe Datenverarbeitung oder große Speichererfordernisse
bzw. -anforderungen ausgeführt.
-
Überschneidungen
von Kontursegmenten, die die Konturen von Gegenständen definieren,
zeigen, daß ein
Gegenstand "über" einem anderen Gegenstand
liegt, und erfordern ein Be- bzw. Verarbeiten, um zu bestimmen,
welche Kantensegmente versteckt sein und somit nicht gedruckt würden. Ein
Einfangen wird nur auf nicht versteckte Kanten angewandt. Um Überschneidungen
handzuhaben, ist eine Liste von allen Start- und Endpunkten für die Polygonkontursegmente
aufrecht erhalten. Neue Kontursegmente werden generiert bzw. erzeugt,
wenn sich überschneidende
Kanten spalten. In der bevorzugten Ausbildung werden, wenn bzw. da
Polygonkanten in den Vektorkartenzellen gezeichnet werden, Überschneidungen
mit irgendwelchen Kanten bereits in den Zellen aus einer Überprüfung von
jeder Zellenkantenliste bestimmt. Zwei überschneidende Kanten werden
geteilt, um vier neue Kanten auszubilden, und die resultierenden
Kontursegmente werden durch ein Einfügen von zwei neuen Konturstart-
und -endpunkten in die Start- und Endpunktliste verfolgt.
-
Beispielsweise
ist 4 ein Diagramm einer Vektorkartendarstellung eines
Blocks einer Seite, die eine Bestimmung und Entfernung einer versteckten
Linie zeigt. Es soll angenommen werden, daß Kontursegment CA zuerst
gezeichnet wird. Es hat es Start- und End-Punkt <1, 2>.
Kontursegment CB wird dann gezeichnet mit
dem Startpunkt <3>. Jedoch wird, wenn
das Zeichnen von Kontursegment CB eine Überschneidung
mit Kontursegment CA erreicht, das Kontursegment
CB in Segmente <3, 4> und <6, 8> aufgeteilt, während Kontursegment
CA in Segmente <1, 7> und <5, 2> geteilt wird. Die
neuen Startpunkte <5>, <6> und
die neuen Endpunkte <4>, <7> werden
in die Start-End-Punktliste eingegeben.
-
In
dem gezeigten Beispiel werden Kontursegmente, die durch Kantenteilen
erzeugt werden, und Segmente, die mit ihren verbunden sind bzw.
werden, welche "links" von den gezeichneten
Kontursegmenten sind, als verstreckt betrachtet, wenn der Gegenstand
des gegenwärtigen
Kontursegments nicht überdruckend
ist (dies nimmt an, daß das
Polygoninnere links von der gegenwärtigen Kante liegt). Wenn ein
Polygon einen Abschnitt der Vektorkarte in 2 überdeckt,
dann werden zuvor eingegebene Kontursegmente in jener Vektorkarte
als versteckt bzw. verborgen markiert und die Vektorkarte kann bereinigt
werden. Beispielsweise ist das strichlierte Kontursegment <1, 7> in 4 unter
dem zweiten Polygongegenstand B versteckt (siehe 1). Es
ist nicht sichtbar und ist als solches abgedeckt und die Start-
und Endpunkte sind von der Start- und End-Liste gelöscht.
-
Die
Vektorkarte in 4 wird dann durch ein Verfahren
von jedem sichtbaren Kontursegment und Generieren einer Falle entlang
davon eingefangen. Ein Kontursegment wird von seinem Start in der
Kontursegment-Start- und -Endpunktliste bis zu ihrem Ende verfolgt
(dies ist eine Alternative zum Scannen bzw. Abtasten von Vektorkarten
für Zellen
mit Kan ten). In der bevorzugten Ausbildung umfaßt die Einfang- bzw. Fallenfunktion
eine Sequenz von Trap- bzw. Fallenpolygonen CT,
die so dargestellt sind, daß die
Fallenpolygone CT eine gemeinsame Kante
mit den Gegenstandskonturen in bekannter Weise und eine Farbe teilen,
die aus Tinten auf den linken und rechten Seiten der Objektkonturen
besteht. Außenliegende
bzw. Außenfarben
werden durch ein Abtasten entlang einer Reihe oder Spalte der Blockkarte
bestimmt, bis eine Zelle mit Kanten angetroffen wird. Die Farbe
der nächstliegenden
Kante wird verwendet. 5 ist ein Diagramm einer Vektorkartendarstellung
eines Blocks auf einer Seite, die angewandte Fallenpolygone CT zeigt. Andere Fallenfunktionen können verwendet
werden, falls dies gewünscht
ist.
-
In
der bevorzugten Ausbildung sind die Fallenpolygone auch in der Vektorkarte
gezeichnet und die Zellen, enthaltend das Polygon und benachbarte
Zellen (falls notwendig) werden in bezug auf Kanten in der Weise überprüft, die
oben für
die ursprünglichen
Gegenstände
ausgeführt
ist, um zu bestimmen, ob das Fallenpolygon Kanten oder Fallenpolygone
von anderen Kontursegmenten schneiden wird. Es wird angenommen,
daß die
Zellengröße größer als
die maximale Fallenbreite (die Breite der Fallenpolygone) ist. Einander
schneidende bzw. überschneidende
Polygone werden neu geformt, um die Überschneidung in bekannter
Weise zu eliminieren.
-
Es
ist festzuhalten, daß eine
Fallenpolygonbildung und ein Kantenzeichnen in der Vektorkarte in
einem einzigen Schritt kombiniert werden können, so daß die Fallenpolygone mit den
Kanten generiert bzw. erzeugt und in die Vektorkarte eingegeben
werden. In diesem Fall werden Fallenpolygone für ver steckte Kanten verworfen
und Fallenpolygone werden neu geformt, wo Fallenpolygon-Kantenüberschneidungen
detektiert werden.
-
Während eine
Vektorkartendarstellung einen zusätzlichen Speicher für die Vektorkarte
und einen gewissen Overhead erfordert, der mit einem Ausbilden der
Vektorkarte assoziiert ist, kann die Auflösung der Vektorkarten dynamisch
auf einer gruppen- bzw. blockweisen Basis gewählt werden, um die Effekte
diesen von beiden Problemen bzw. Gegenständen zu minimieren. Beispielsweise
kann eine sehr niedrige Auflösung
(wenige Zellen) für
eine Vektorkarte verwendet werden, wenn ein Block wenige Gegenstände besitzt,
und eine höhere
Auflösung
kann für
eine Vektorkarte verwendet werden, wenn ein Block zahlreiche Gegenstände oder Buchstaben
bzw. Zeilen aufweist.
-
Implementierung
-
Die
Erfindung kann in Hardware oder Software oder einer Kombination
von beiden implementiert werden. Jedoch wird vorzugsweise die Erfindung
in Computerprogramme implementiert, die auf programmierbaren Computern
laufen, die jeweils wenigstens einen Prozessor, ein Datenspeichersystem
(beinhaltend flüchtige
und nicht flüchtige
Speicher und/oder Speicherelemente), wenigstens eine Eingabevorrichtung
und wenigstens eine Ausgabevorrichtung umfassen. Ein Programmcode
wird auf Eingabedaten angewandt, um die Funktionen, die hier beschrieben
sind, auszuführen
und eine Ausgabeinformation zu generieren. Die Ausgabeinformation
wird auf eine oder mehrere Ausgabevorrichtungen in bekannter Weise
angewandt.
-
Jedes
Programm ist vorzugsweise in einer verfahrensmäßigen oder objektorientierten
Programmiersprache auf hohem Niveau implementiert, um mit einem
Computersystem zu kommunizieren. Jedoch können die Programme in Assembler
oder in Maschinensprache, falls dies gewünscht wird, implementiert werden.
In jedem Fall kann die Sprache eine komplizierte oder interpretierte
Sprache sein.
-
Jedes
derartige Computerprogramm ist vorzugsweise auf einem Speichermedium
oder einer Vorrichtung gespeichert (z.B. ROM oder Magnetdiskette),
die durch einen allgemeinen oder einen Computer für spezielle
Programmzwecke lesbar ist, um den Computer zu konfigurieren und
zu betätigen
bzw. zu betreiben, wenn die Speichermedien oder Vorrichtungen durch
den Computer gelesen werden, um die hier beschriebenen Prozeduren
bzw. Verfahren auszuführen.
Das erfinderische System kann auch betrachtet werden, daß es als
ein Computer lesbares Speichermedium implementiert wird, das mit
einem Computerprogramm konfiguriert ist, wo das Speichermedium,
das so konfiguriert ist, einen Computer veranlaßt, in einer spezifischen und vordefinierten
Weise zu arbeiten, um die hier beschriebenen Funktionen auszuführen.
-
Eine
Anzahl von Ausbildungen der vorliegenden Erfindung wurden beschrieben.
Nichts desto trotz wird es verstanden werden, daß verschiedene Modifikationen
gemacht werden können,
ohne den Rahmen der Erfindung zu verlassen. Dementsprechend ist
es zu verstehen, daß die
Erfindung nicht durch die spezifisch dargestellte bzw. illustrierte
Ausbildung beschränkt
ist, sondern lediglich durch den Rahmen der beiliegenden Ansprüche.