-
Die
vorliegende Erfindung betrifft einen Bildprozessor/-generator zum
Darstellen eines komplexen Farbrasterbildes als eine Sammlung von
Objekten in einem hierarchie- und geräteunabhängigen Format und konkret ein
strukturiertes Bildformat, das nicht nur Quellendaten, sondern auch
die zu deren Wiedergabe erforderlichen Bildverarbeitungsoperationen
umfasst und eine erneute Bearbeitungsmöglichkeit, die Berücksichtigung
von Kundenwünschen
und Verbesserungsmöglichkeiten,
eine automatische Bildzusammensetzung und eine leistungsstarke Bilderzeugung
mit Hilfe einer geeigneten Benutzeroberfläche unterstützt.
-
Heute
gebräuchliche
handelsübliche
Programmpakete erfordern erheblichen Speicherplatz. So speichert
beispielsweise Adobe Photoshop® während des interaktiven Bearbeitens
drei Kopien des Rasterbildes voller Größe. Folglich kann für ein typisches
24-Bit-Farbbild
(216 × 279
mm bei 12 Punkten/mm (8 1/2 × 11
Zoll bei 300 dpi)) möglicherweise
24 Megabit Speicher für
jede Bildkopie erforderlich werden.
-
Weiterhin
ist kommerzielle Software oft durch eine langsame oder mangelhafte
Verarbeitungsleistung bei der Bearbeitung von großen Bildern
gekennzeichnet. Wiederum muss Photoshop®, wie
oben erörtert,
drei Kopien des Bildes speichern (ungeachtet dessen, wie groß es ist).
Da jede interaktive Operation das gesamte Bild verarbeitet, ist
dieser Vorgang extrem langsam.
-
Darüber hinaus
speichert typische kommerzielle Software die Ausgabebilder als komplette
Rasterbilder. Daher muss für
jede neue Version eines Bildes ein komplettes Raster ausgeschrieben
werden, und man kann die Operationen, die in jenen Versionen enthalten
sind, nicht rückgängig machen.
Bei 24 Megabit pro Bild, wie oben besprochen, kann der Speicherbedarf
im Laufwerk sehr groß sein.
Ebenso ist für
die Archivierung derartiger Bilder umfassender Speicherplatz notwendig.
-
Zudem
wird beim kommerziellen Drucken dringend ein Bildprozessor benötigt, der
in der Lage ist, eine Druckvorlage für die Herstellung mehrerer
kundenspezifischer Bilder zu erzeugen. Falls überhaupt, gibt es nur wenige
kommerzielle Bildverarbeitungspakete, die die Erzeugung einer derartigen
Druckauftrags-Anwendungsvorlage ermöglichen. Darüber hinaus
haben kommerzielle Bildverarbeitungs-Softwarepakete, wie beispielsweise
Photoshop®,
nur eine begrenzte Möglichkeit
zur Wiedergabe (zum Rendern) des Ausgabebildes in einer für die Ausgabevorrichtung
optimierten Art und Weise. Meist kann lediglich eine Farbkorrektur
und eine einfache Änderung
der Auflösung
ausgeführt
weiden.
-
Weiterhin
ist bei einer typischen kommerziellen Bildverarbeitungssoftware
die Möglichkeit
sehr begrenzt, die Liste von Bildverarbeitungsoperationen, die von
dem Bediener ausgeführt
werden, zu bearbeiten. So ermöglicht
beispielsweise Photoshop® lediglich das Rückgängigmachen
eines einzigen Vorgangs. Ebenso wird bei der typischen kommerziellen
Software auch keine Optimierung der Bildverarbeitung unterstützt. Das heißt, wenn
einmal ein Bild erzeugt ist, können
bei Bildern mit hoher Auflösung
keine Operationen mehr kombiniert und die Leistungsparameter erhöht werden.
-
Schließlich gibt
es ein starkes Interesse seitens der Industrie an der Theorie des
strukturierten Dokuments und daran, wie sich diese Technologie auf
Erzeugnisse und Dienstleistungen auswirken kann. Die aktuelle Theorie
der strukturierten Dokumente betrachtet ein Rasterbild als einen
Block mit einfachem Inhalt ohne jegliche hierarchische Struktur
bzw. damit verbundene Bildverarbeitungsoperationen. Im Hinblick
auf eine seitenorientierte Beschreibung, siehe IEEE Computer Graphics & Applications
Journal, März
1991, Seiten 71-78, „Constructive
Page Description" von
J. Schonhut, H. Wiedling und V. Samara. In Bezug auf eine allgemeine Beschreibung
strukturierter Dokumente siehe „Structured Documents" von J. Andre, R.
Furuta and V. Quint, Cambridge Series on Electronic Publishing,
1989.
-
EP-A-0528631
beschreibt einen Grafikeditor, der einen Appearance Construction
Graph (ACG) erzeugt, der einen Bilderzeugungsprozess als einen gerichteten
azyklischen Graphen (DAG – directed
acyclic graph) darstellt. Der ACG enthält Knoten, die Bildfragmente
(Quellen), Bildtransformationsoperationen (Transformierte) und Ausgaben
(sichtbare Bilder – Senken)
darstellen, die beispielsweise in einem Fenster eines Anzeigebildschirms
angezeigt und zur Erstellung und Bearbeitung komplexer Bilder manipuliert
weiden können. Die
Knoten im ACG sind selektiv durch Verknüpfungen (Kanten) zwischen ihnen
verbunden. Das von dem ACG repräsentierte
komplexe Bild kann in einem Betrachtungsfenster auf dem Anzeigeschirm
durch „Fahren" des ACG angezeigt
werden. Der Grafikeditor „fährt" den ACG, indem Operationen
an den Bildfragmenten gemäß den miteinander
verbundenen Knoten des ACG ausgeführt werden.
-
Ein
benachbartes Feld, in dem eine Form der strukturierten Abbildung
geschaffen wurde, sind die grafischen Benutzeroberflächen (GUI).
Drei Beispiele für
etablierte GUI-Toolkits sind Motif (siehe Heller u.a., „Motif
Programming Manual",
Band 6, O'Reilly & Associates, 1992),
Tcl/Tk (siehe Ousterhout, „Tcl
and the Tk Toolkit",
Addison-Wesley, 1994) und Interviews (siehe Linton u.a. „Composing
User Interfaces with Interviews", IEEE
Computer, Band 22, Nr. 2, Seiten 8-22, IEEE Press, 1989).
-
Daher
besteht eine Aufgabe der Erfindung darin, die vorgenannten Nachteile
zu überwinden,
indem ein strukturiertes Bildformat (structured image format – SI-Format)
geschaffen wird, das bei Bildern mit Anzeigeauflösung angewandt werden kann
und dabei einen minimalen Speicherbedarf hat, gleichzeitig aber
in der Lage ist, gedruckte Bilder mit hoher Auflösung und hoher Qualität zu erzeugen.
SI ist eine grundlegende Technologie, die sich der gesamten Palette
von Operationen – von
der Erfassung von Objekten, der Speicherung, Bearbeitung/Vorbereitung
und Ausgabe/Übertragung
bis zur Wiedergabe des Ausgabebildes – widmet.
-
Nach
einem ersten Aspekt der Erfindung wird ein elektronischer Bildgenerator
geschaffen mit:
einer Einrichtung zum Erstellen von wenigstens
einem strukturierten Bild, wobei das wenigstens eine strukturierte
Bild umfasst:
wenigstens ein Bildobjekt und
wenigstens
ein Pasteboard, welches einen Frame bildet, auf dem jeweils wenigstens
ein Bildobjekt wiedergegeben wird, wobei das wenigstens eine Pasteboard
wenigstens ein räumliches
Bildattribut aufweist, das festlegt, wie jedes wenigstens eine Bildobjekt
in Bezug auf das wenigstens eine Pasteboard wiederzugeben ist; und
eine
Einrichtung zum Steuern der Erstellungseinrichtung zum Ausbilden
und Verändern
des wenigstens einen strukturierten Bildes; und
eine Einrichtung
zum Erzeugen von wenigstens einem Ausgabebild als Reaktion auf das
wenigstens eine strukturierte Bild, das von der Erstellungseinrichtung
für das
strukturierte Bild erzeugt wird, wobei das Ausgabebild in einem
Ausgabeformat erzeugt wird und angezeigt und gedruckt werden kann,
wobei die Einrichtung zum Erzeugen des wenigstens einen Ausgabebildes
von der Einrichtung zum Steuern so gesteuert wird, dass das wenigstens
eine Ausgabebild automatisch als Reaktion auf das wenigstens eine
strukturierte Bild erzeugt wird, das von der Erstellungseinrichtung
für das
strukturierte Bild erzeugt wird, und wobei das wenigstens eine Bildobjekt
in einer Speichereinrichtung in mehreren Darstellungen gespeichert
wird, die sich wenigstens entweder im Hinblick auf das Format, die
Auflösung
oder die Abmessungen voneinander unterscheiden, so dass die Wiedergabeeinrichtung
eine Ausgabedarstellung ausgehend von der ausgewählten Ausgabevorrichtung und
den Abmessungsparametern als Reaktion auf Befehle des Computerprogramms
und auf vom Bediener eingebende Befehle auswählt.
-
Nach
einem zweiten Aspekt der Erfindung wird ein Prozess zum elektronischen
Erzeugen eines Ausgabebildes in einem Ausgabeformat geschaffen,
das mit Hilfe strukturierter Bäder
angezeigt werden kann, wobei ein strukturiertes Bild wenigstens
ein Bildobjekt und wenigstens ein Pasteboard umfasst, welches einen Frame
definiert, auf dem jedes von dem wenigstens einen Bildobjekt wiedergegeben
wird, wobei das wenigstens eine Pasteboard wenigstens ein räumliches
Bildattribut aufweist, welches festlegt, wie jedes der Bildobjekte
in Bezug das wenigstens eine Pasteboard wiederzugeben ist, wobei
der Prozess die folgenden Schritte umfasst:
Erstellen von wenigstens
einem strukturierten Bild durch Auswahl wenigstens eines Bild-Objektes, das in
einem Speicher gespeichert ist, um es auf einem Pasteboard wiederzugeben,
wobei das Pasteboard einen Frame definiert, auf dem das wenigstens
eine Bildobjekt wiedergegeben wird, und das wenigstens ein räumliches Attribut
aufweist, das festlegt, wie jedes der Bildobjekte in Bezug auf das
wenigstens eine Pasteboard wiederzugeben ist, wobei das wenigstens
eine Bildobjekt und das Pasteboard wenigstens ein Ausgabebild definieren, das
von einer Erzeugungsvorrichtung auszugeben ist;
Auswählen von
wenigstens einer Bildverarbeitungsoperation, die an dem wenigstens
einen Bildobjekt auszuführen
ist, um wenigstens einen Teil des strukturierten Bildes zu erstellen,
das zum Erzeugen des wenigstens einen Ausgabebildes verwendet wird;
Erzeugen eines grafischen Ablaufdiagramms mit Anzeigesymbolen, die ausgewählte Bildobjekte
und wenigstens eine Bildverarbeitungsoperation darstellen, die das
strukturierte Bild und das wenigstens eine Ausgabebild bilden;
Erzeugen
des wenigstens einen Ausgabebildes entsprechend dem wenigstens einen
Bildattribut des Pasteboards und
Anzeigen und/oder Drucken
des wenigstens einen Ausgabebildes, wobei das wenigstens eine Bildobjekt
in dem Speicher in mehreren Darstellungen gespeichert ist, die sich
wenigstens entweder im Hinblick auf das Format, die Auflösung oder
die Abmessungen derart voneinander unterscheiden, dass die Wiedergabevorrichtung
auf der Grundlage der ausgewählten
Ausgabevorrichtung und der Abmessungsparameter als Reaktion auf
Anweisungen des Computerprogramms und der von dem Bediener eingegebenen
Befehle eine Ausgabedarstellung auswählt.
-
Vorzugsweise
umfasst der Prozess weiterhin das Definieren des wenigstens einen
Bildattributs des Pasteboards, wobei das strukturierte Bild wenigstens
eine verbundene Bildverarbeitungsoperation aufweist, die an dem
wenigstens einen strukturierten Bild ausgeführt wird, das auf dem Pasteboard
fixiert wird, um das wenigstens eine strukturierte Ausgabebild zu
schaffen.
-
Die
Erfindung schafft ein SI-Format, das imstande ist, interaktiv bei
Bildern mit Anzeigeauflösung
funktioniert und folglich eine gute interaktive Leistung aufweist.
Weiterhin kann ein Ausgabebild mit hoher Auflösung erzeugt werden, indem
lediglich die Anforderung erteilt wird, das strukturierte Bild (SI)
mit hoher Auflösung
wiederzugeben (zu rendern) bzw. zu rastern. Der Wiedergabeprozess
bzw. das Rendering verwendet automatisch die geeigneten Quellenbilder
und die geräteabhängigen Informationen
für die
Wiedergabe an den speziellen Vorrichtungen. Zwar können auch
andere Bildeditoren Bilder mit Anzeigeauflösung verwenden, doch SI wählt die
Auflösung
des Bildes entsprechend der gestellten Aufgabe.
-
Ein
Merkmal des SI besteht darin, Bilder als Textdatei zu speichern,
die Zeiger zu Komponenten-Objekten enthalten. Ausgaberaster werden
erst dann erzeugt, wenn sie zur Anzeige oder zum Drucken benötigt werden.
Deshalb können
Hunderte von SI-Versionen
in demselben Speicherplatz im Laufwerk vorhanden sein, der typischerweise
von einem einzigen Rasterbild benötigt wird. Da ein SI nicht
die Raster der Komponenten-Objekte innerhalb der SI-Datei speichert,
wird die Verwendung von Archivbildern, zum Beispiel ClipArt, viel effizienter,
denn es wird nur eine einzige Kopie der Quelle benötigt.
-
Die
Erfindung schafft Sls, die erzeugt werden können, um über undefinierte Referenzen
sowohl zu Komponenten-Objekten als auch zu Bildverarbeitungsparametern
zu verfügen.
Ein solches SI kann wiedergegeben werden, indem die undefinierten
Informationen, zum Beispiel Befehlszeigeargumente, geschaffen werden.
Das SI kann viele Male mit unterschiedlichen Eingabedaten wiedergegeben
werden, so dass kundenspezifische Ausgaberaster erstellt werden.
Durch die Fähigkeit,
gültige
Sls zu besitzen, die undefinierte Referenzen enthalten, werden eine
Kundenausrichtung und eine automatische Bildzusammensetzung möglich.
-
Ein
weiteres Merkmal der Erfindung besteht darin, dass Sls alle Komponenten-Daten
in der Ursprungsform (native form) speichern (das heißt, Text
wird als ASCII gespeichert, Grafiken werden in CGM-Format oder einem
anderen geeigneten Format gespeichert, usw.). Mit geeigneten Rendering-Prozeduren
wird die Ursprungsform mit Hilfe von geräteabhängigen Eigenschaften in Raster
umgewandelt, wodurch die Wiedergabe optimiert wird. Die richtige
Skalierung der Komponenten-Daten ist der SI-Wiedergabe wesenseigen.
-
Schließlich schafft
die Erfindung Sls, die Zeiger zu den ursprünglichen Komponenten-Daten und eine Beschreibung
sämtlicher
Bildverarbeitungsoperationen enthalten, die an dem Bild ausgeführt wurden.
Das Bearbeiten vorheriger Operationen kann so einfach sein wie das
Bearbeiten einer Textdatei. Interaktive Editoren auf der Basis von
Sls können
das Bearbeiten der Operationen interaktiv entweder durch die Texteditierung oder über einen
strukturierten Bildeditor ermöglichen.
Mit geeigneten Nutzerbefehlen können
Bildverarbeitungsoperationen hinzugefügt, gelöscht oder modifiziert werden.
-
Um
die erfindungsgemäße Aufgabe
zu lösen
und die oben angeführten
Nachteile zu überwinden,
wird ein SI definiert, das in seiner einfachsten Form durch eine
Gruppe von Darstellungen (representations) und einem Pasteboard
beschrieben wird. Die Darstellungen geben den Inhalt des SI an;
das Pasteboard gibt den „Frame" des SI an. Das Konzept
von mehreren Rasterdarstellungen ist auf dem Fachgebiet bekannt
und gegenwärtig
in verschiedenen verfügbaren
Anwendungen im Einsatz. Mit SI wird jedoch die Idee von mehreren Darstellungen
dahingehend erweitert, dass auch Daten enthalten sind, die keine
Raster sind, zum Beispiel Text, Grafiken, und Bildzusammensetzungen,
die die Bildverarbeitung und das Zusammenfügen von mehreren Komponenten-Objekten
angeben. Komponenten-Objekte wie zum Beispiel Text und Grafiken
werden zwecks Editierbarkeit in ihrem ursprünglichen Format gespeichert.
Die Anforderung an eine gültige
Darstellung besteht darin, dass sie in Rasterform wiedergegeben
werden kann und dass alle Darstellungen eines einzigen SIs bei der
Wiedergabe gleich „aussehen", das heißt, alle
Darstellungen müssen
im Wesentlichen das gleiche Erscheinungsbild haben. Sie können unterschiedliche
Abmessungen und Codierungen aufweisen, müssen aber ganz deutlich Wiedergaben
desselben Bildes sein.
-
Weitere
Aufgaben, Vorteile und wesentliche Merkmale der Erfindung werden
aus der detaillierten Beschreibung deutlich, die zusammen mit den
beigefügten
Zeichnungen die bevorzugten Ausführungsformen
der Erfindung offen legt.
-
Zu
den Zeichnungen, die einen Teil dieser Original-Offenlegung bilden:
-
1 ist
ein Blockdiagramm, das die allgemeinen Bauteile darstellt, die bei
der Erfindung genutzt werden können;
-
2 ist
eine grafische Darstellung, die die Vielzahl verschiedener Datentypen
zeigt, die ein SI-Objekt bilden;
-
3 ist
eine grafische Darstellung, die ein Beispiel für die Mehrfachdarstellungen
(multiple representations – MR)
zeigt, die ein SI-Objekt bilden;
-
4 ist
eine grafische Darstellung, die das Rendering zur Aufrechterhaltung
des Streckenverhältnisses
zeigt;
-
5 veranschaulicht
grafisch die vorhandenen Passmodus-Modelle, die festlegen, wie Raster
in den Abmessungen wiedergegeben werden, die erfindungsgemäß von dem
Pasteboard definiert werden;
-
6 und 7 zeigen
grafisch das Ausrichtattribut der Erfindung, wobei 6 zeigt,
wie das Ausrichtattribut dazu verwendet wird, das gerenderte Raster
anzugeben, das innerhalb des Pasteboards an eine von neun möglichen
Stellen positioniert wird, und 7 drei Beispiele
des Ausrichtattributs zeigt;
-
8 verdeutlich
grafisch das erfindungsgemäße Winkelattribut,
wobei die Seite (a) aus
-
8 das
nicht gedrehte Pasteboard und die Seite (b) das gedrehte Pasteboard
zeigt (Anmerkung: das Objekt wird um den Steuerungspunkt (Control
Point) gedreht);
-
9 ist
eine grafische Darstellung, die die erfindungsgemäße Wiedergabeeinstellung
des ControlPoints zeigt;
-
10 ist
eine grafische Darstellung einer Bildverarbeitungsdefinition (IPD – image
processing definition) im Zusammenhang mit dem Ausgabe-SI, das eine
strukturierte Beschreibung von Referenzen zu Komponenten-Objekten
und Bildverarbeitungsoperationen (IPOs- image processing operations)
darstellt, die auf jene Komponenten-Objekte angewandt werden;
-
11 zeigt
den Rasterdatenfluss während
der Wiedergabe eines SI;
-
12 ist
eine grafische Darstellung, die sämtliche Kind-Objekte in dem
Eltern-Pasteboard
an der Stelle zusammengefügt
zeigt, die von dem MergePoint (in Bezug auf das Objekt-Pasteboard)
und von dem ControlPoint (in Bezug auf das Kind-Pasteboard) zusammengefügt sind;
-
13 ist
eine grafische Darstellung, die die Pasteboard-Initialisierungsfunktion
zeigt, die im vorliegenden Fall ein Pasteboard mit eingescanntem
Textbild initialisiert;
-
14 ist
eine grafische Darstellung, die ein erfindungsgemäßes Ungebundenes
SI (in Bezug auf Eingabeobjekte) darstellt;
-
15 ist
eine grafische Darstellung, die ein erfindungsgemäßes Unvollständiges SI
(in Bezug auf Bildverarbeitungsoperationen und/oder Attribute) zeigt;
-
16 ist
eine grafische Darstellung, die eine erfindungsgemäße objektorientierte
Wiedergabe zeigt;
-
17 ist
eine grafische Darstellung, die die erfindungsgemäße Wiedergabe
mittels Verarbeitungsbaum zeigt;
-
18 stellt
ein Muster-SI mit dazugehöriger
SID-Datei bereit, das erfindungsgemäß grafisch dargestellt ist;
-
19a-c zeigen die SID-Dateien, die zu dem SI auf
oberster Ebene aus 18 gehören;
-
die 20a-b zeigen eine exemplarische Datei mit mehreren
Darstellungen (MR) und eine grafische Veranschaulichung von ihr;
-
21 zeigt
grafisch die erfindungsgemäße Interaktion
zwischen dem FixedPoint und dem ControlPoint.
-
A Systemüberblick
-
Die
strukturierte Bilderzeugung (structured imaging – SI) ist eine hierarchische
Beschreibung eines zusammengesetzten Rasterbildes, das aus Komponentenbildern
(das heißt
Kind-Objekten) und den zur Wiedergabe des Ausgaberasterbildes notwendigen
Bildverarbeitungsoperationen (IPOs) zusammengesetzt ist. Jeder Datentyp,
der als Raster wiedergegeben werden kann, ist eine potentielle Komponente
eines SI. SI ermöglicht die
mühelose
und schnelle Erzeugung und Handhabung komplexer Bilder für die Einbeziehung
in gedruckte Dokumente.
-
SI
kann an einem konventionellen Hardwaresystem 100 implementiert
werden (siehe 1), das einen Mikroprozessor 110 zum
Empfangen von Signalen von verschiedenen anderen Komponenten des
Systems 100 entsprechend einem oder mehreren Softwareprogrammläufen auf
dem Mikroprozessor 110 und zum Ausgeben von Signalen an
selbige umfasst. Es ist eine Benutzereingabevorrichtung 120 vorhanden,
beispielsweise eine Maus, eine Tastatur, ein Berührungsbildschirm und/oder eine
Kombinationen aus diesen, die dem Bediener eine Schnittstelle zu
dem SI bieten, durch die beispielsweise Steuersignale bereitgestellt
werden. Zur Ausgabe von SI-Daten kann eine Bildausgabevorrichtung 130,
zum Beispiel ein Videoanzeigemonitor oder ein Drucker, vorgesehen
sein. Als SI-Eingabevorrichtung 140 kann beispielsweise
ein Scanner zum Einscannen von Bildern vorhanden sein, die anschließend als
Bildquellen im Speicher gespeichert werden. Zudem können Bildquellen
beispielsweise von Plattenspeichern zugeführt werden.
-
Der
Mikroprozessor 110 enthält
einen Read Only Memory (ROM) 150 zum Speichern von Betriebsprogrammen
und Bilddaten, die von dem SI zum Erstellen und Bearbeiten von Bildern
verwendet werden. Mit einem Random Access Memory (RAM) 160 werden
verschiedene Betriebsprogramme gefahren, und es können zusätzliche
Dateien 170 für
den Fall des Überlaufens
des RAM vorgesehen sein.
-
Wichtig
ist es jedoch zu erwähnen,
dass SI in eingebetteten Systemen (nicht abgebildet) sowie in vernetzten
Systemen implementiert werden kann, bei denen verschiedene Hardwarekomponenten
miteinander vernetzt sind und sich an demselben Ort befinden oder
auch nicht (ebenfalls nicht abgebildet). Dabei ist es nicht erforderlich,
dass das Hardwaresystem fest verdrahtet ist. Das oben beschriebene
konventionelle Hardware system ist lediglich ein Beispiel und wird
nicht stärker
bevorzugt als eingebettete oder vernetzte Systeme.
-
A1. Definiertes strukturiertes
Abbilden
-
Ein
SI wird von einem „Objekt", das eine Darstellung
von Daten ist, die in einem Rasterbild wiedergegeben werden können, und
von einem „Pasteboard" definiert, das einen „Frame" für das darauf
wiederzugebende Objekt darstellt. Ein SI hat keine absolute Größe, die
innerhalb der SI-Beschreibung festgelegt ist. Die Größe jedes
Teilobjektes wird innerhalb des Pasteboards als Größe relativ
zu dem Eltern-Objekt des Teilobjektes gespeichert.
-
Zum
Umwandeln eines SI-Objektes in ein Rasterbild wird die ReadObject()-Rendering-Prozedur, siehe nachstehend,
mit dem Objekt, dem Pasteboard und den absoluten Abmessungen des
Eltern-Objektes als Parameter durch entsprechende Befehlsanweisungen,
beispielsweise über
die Nutzereingabevorrichtung 120, aufgerufen. Das SI-Objekt
und alle Kind-Objekte werden automatisch in der richtigen Ausgabegröße wiedergegeben.
Ein SI wird durch eine strukturierte Bilddefinitionsdatei (SID – structured
Image definition) beschrieben.
-
Natürlich kann
ein SI-Objekt auch automatisch mit Hilfe einer geeigneten SI-Scan-Software in die SID eingescannt
werden. Somit ist das interaktive Bearbeiten keinesfalls das einzige
Verfahren zur Erzeugung oder Vorbereitung einer SID zum Drucken.
-
A2. Strukturiertes Bildobjekt
-
Ein
SI-Objekt ist eine Darstellung von Daten (siehe 2),
die in einem Rasterbild wiedergegeben werden kann. Diese Daten können einfache
Rasterbilder darstellen, wie beispielsweise TiFF-Dateien, oder kompliziertere
Daten, wie beispielsweise eine hierarchische Sammlung von Teilobjekten
und dazugehörigen Rasterverarbeitungsoperationen.
Zu möglichen
Objektdatentypen gehören:
- 1. Rasterbild – TiFF, RES oder eine andere
digitale Anzeige,
- 2. Toy Text – einfache
Textannotation,
- 3. CGM-Grafiken – einfache
grafische Annotation,
- 4. IPD – SI-Bildverarbeitungsbeschreibung,
- 5. MR-Datei – Datei,
die eine Beschreibung mehrerer Bilddarstellungen enthält.
-
Ein
wesentliches Merkmal der SI-Technologie ist die Fähigkeit,
Bildverarbeitungsoperationen (IPOs) innerhalb der SID zu speichern.
Der Objektdatentyp IPD schafft einen Mechanismus zum Speichern von
IPOs, wie nachstehend genauer erörtert
wird.
-
Ein
einzelnes SI-Objekt kann mehr als einen Datentyp und/oder eine Datendatei
darstellen. So kann sich beispielsweise ein einzelnes SI-Objekt
(siehe 3) auf ein Verzeichnis beziehen, das mehrere TiFF-Dateien
enthält,
die mit verschiedener Auflösung
gespeichert sind. Jede TiFF-Datei stellt das gleiche Bild dar, hat aber
unterschiedliche absolute Pixelgrößen und eine unterschiedliche
Fotometrie. Dieses Konzept ist unter dem Namen Mehrfachdarstellungen
(MR – multiple
representations) bekannt. SI gibt mehrere Darstellungen an, die
dynamisch ermittelt werden, das MR-Dateiformat ist jedoch für jene Anwendungen
definiert, die explizite Spezifikationen von mehreren Darstellungen
erforderlich machen (wie nachstehend beschrieben wird).
-
Das
oberste Objekt in einem SI, d.h. das Objekt ohne Eltern-Objekt,
wird als Wurzelobjekt bezeichnet. Dies wird bei der Erörterung
der Objektwiedergabe (object rendering process) nachstehend näher beschrieben.
-
A3. Pasteboard
-
Das
Pasteboard ist der „Frame", in dem die SI-Objekte
wiedergegeben werden. Mehrere Attribute können innerhalb des Pasteboards
angegeben werden (siehe 3):
- 1.
Relative Größe (Relative
size);
- 2. Winket (Angle);
- 3. Passmodus (FitMode);
- 4. Ausrichtung (Justification); und
- 5. Steuerungspunkt (ControlPoint).
-
Das
Pasteboard gibt die Größe des wiedergegebenen
Objektes in Bezug auf dessen Eltern-Objekt an. So kann beispielsweise
das auf ein Teilobjekt angewandte Pasteboard eine Größe, wie
beispielsweise (1,0, 0,5), relativ zu dem Eltern-Objekt angegeben,
wobei (1,0, 0,5) das Verhältnis
zwischen Breite und Höhe
angibt. Wenn das Eltern-Objekt zur Wiedergabezeit mit (1000 × 2000)
Pixel wiedergegeben werden soll, würde das Teilobjekt mit (1000 × 1000)
Pixel wiedergegeben werden, da die Pasteboard-Abmessungen festlegten,
dass das Teilobjekt mit voller Breite, jedoch nur mit halber Höhe wiederzugeben
ist. Die relative Standard-Größe beträgt (1,0,
1,0).
-
Beim
Wiedergeben eines SI wird die relative Größe des Pasteboards dazu verwendet,
die absolute Größe des Pasteboards
ausgehend von der absoluten Größe des Eltern-Objektes zu bestimmen
(siehe 4). Allerdings kann es zum Zwecke einer optimalen
Qualitätswiedergabe
günstiger
sein, wenn das Kind-Objekt mit anderer absoluter Größe wiedergegeben
wird als mit der Größe, die
von dem Pasteboard und der Größe des Eltern-Objektes
festgelegt ist. Beispielsweise wird angenommen, dass das Kind-Objekt eine TiFF-Datei
eines gescannten Textes mit einem Streckenverhältnis von 10:1 (Breite zur
Höhe) ist
und das dazugehörige
Pasteboard eine relative Größe von (0,67,
0,33) hat. Nun soll das Eltern-Objekt mit einer absoluten Größe von (450 × 300) Pixel
wiedergegeben werden. Somit hat das Pasteboard des Kind-Objektes
eine absolute Größe von (300 × 100).
Wenn die TiFF-Datei passend für
dieses Fenster skaliert worden wäre,
würde sie in
Y-Richtung um den Faktor 3 gestreckt werden, wodurch der Text sehr
stark verzerrt werden würde.
In diesem Fall wäre
es günstiger,
den Text im ursprünglichen
Streckenverhältnis
wiederzugeben, damit er in das gewünschte Pasteboard passt, und
die TiFF-Datei könnte auf
die Abmessungen (300 × 30)
skaliert werden, um das Streckenverhältnis (Breite zur Höhe) von
10:1 einzuhalten.
-
Um
diese Art der Wiedergabe zu unterstützen, definiert SI sechs Passmodus-Attribute
(siehe 5), die angeben, wie Raster in den von dem Pasteboard
definierten Abmessungen wiedergegeben werden. Diese Passmodi sind
in 5 definiert. Alle Modi, mit Ausnahme von FitAll,
behalten das Streckenverhältnis
des Objektes bei. Allerdings ist das tatsächlich wiedergegebene Rasterbild
stets durch die Größe des Pasteboards begrenzt.
Somit ist die tatsächliche
Größe des wiedergegebenen
Rasters durch die Überlappung
zwischen der Pasteboard-Größe und der
Größe des wiedergegebenen
Objektes gemäß des angegebenen
Passmodus definiert. In 5 ist das wiedergegebene Objekt
für den
Modus FitOutside wesentlich größer als
das Pasteboard, doch das tatsächlich
wiedergegebene Raster wird durch das Pasteboard begrenzt. Bei dem
Modus Fitlnside wird das Objekt so wiedergegeben, dass es in das
Pasteboard hineinpasst, während
das Streckenverhältnis
eingehalten wird. Folglich kann das tatsächlich wiedergegebene Rasterbild
kleiner sein als die Pasteboard-Abmessungen, wenn das Streckenverhältnis des
Objektes nicht mit dem des Pasteboards übereinstimmt. Der Standard-Passmodus
ist Fitlnside.
-
SI-Objekte
können
mit Hilfe der oben definierten Passmodi wiedergegeben werden, bei
einigen Anwendungen ist es jedoch wünschenswert, die Position des
wiedergegebenen Rasters in Bezug auf die Größe des Pasteboards zu steuern.
Mit dem Ausrichtungsattribut wird angegeben, wo das wiedergegebene
Raster innerhalb des Pasteboards an einer von neun möglichen
Stellen angeordnet wird, wie in 6 mit den
Beispielen aus 7 dargestellt. Die vorgegebene
Einstellung ist hier die Mitte. Das Ausrichtattribut wird ignoriert, wenn
der Passmodus FitAll ist.
-
Jedes
Objekt kann ein Winkelattribut aufweisen, das zum Drehen des wiedergegebenen
Objektes verwendet wird. Dadurch wird das Objekt in dem vorgegebenen
Pasteboard wiedergegeben, anschließend wird das Pasteboard um
den ControlPoint (siehe nach stehend) um den vorgegebenen Winkel
in Grad gedreht (siehe 8). Das Objekt-Rendering-Programm
ist dafür
verantwortlich, die Wiedergabe des Objektes im vorgegebenen Winkel
ordnungsgemäß auszuführen. Einige
Rendering-Programme sind imstande, Objekte im geeigneten Winkel
optimal wiederzugeben; andere Wiedergabeprogramme rufen nach der
anfänglichen
Objektwiedergabe ein Rasterdrehprogramm auf. Diese Wahlmöglichkeit
ist abhängig
von der Implementierung. Die tatsächliche Größe des wiedergegebenen Rasters
ist eine Begrenzung für
das gedrehte, wiedergegebene Objekt, wie in 8b abgebildet.
Der Standarddrehwinkel beträgt
0,0 Grad.
-
Bei
einem Eltern-Objekt, das aus einer Gruppe von Kind-Objekten besteht,
wird jedes Kind-Objekt auf dem Pasteboard des Eltern-Objektes wiedergegeben
und mit den anderen zusammengefügt,
und zwar an einer Stelle, die als MergePoint bezeichnet wird. Der
MergePoint wird in Bezug auf das Pasteboard des Eltern-Objektes
angegeben. Der ControlPoint ist der entsprechende Punkt in Bezug
auf das Pasteboard des Kind-Objektes.
Der ControlPoint des Kind-Objektes dient dazu, einen Abgleich mit
dem MergePoint des Eltern-Objektes herzustellen. So führt beispielsweise
ein ControlPoint von (0,5, 0,5) dazu, dass das Kind-Objekt auf dem
MergePoint zentriert ist. Der vorgegebene Wert des ControlPoints
liegt bei (0,5, 0,5).
-
Der
ControlPoint (zusammen mit dem MergePoint) steuert den Punkt, an
dem ein wiedergegebenes Kind-Objekt in das Pasteboard des Eltern-Objektes
eingefügt
wird. Innerhalb der SID ist der ControlPoint festgelegt und das
zu dem Kind-Objekt gehörende
Pasteboard in Koordinaten in Bezug auf das Pasteboard des Kind-Objektes
angegeben. Allerdings füllt
ein wiedergegebenes Kind-Objekt nicht unbedingt das vorgegebene Pasteboard
aus, was von dem Passmodus und den Winkelattributen abhängig ist.
Somit müssen
die Rendering-Programme für
jedes Objekt automatisch den ControlPoint einstellen, so dass dieselbe
relative Position zu dem wiedergegebenen Kind-Objekt beibehalten
wird.
-
Nun
wird das Beispiel aus 9 betrachtet. Der ControlPoint
befindet sich anfangs in der Mitte des Kind-Objektes (0,5, 0,5).
Nach der Wiedergabe mit dem FitAsls-Modus, bei dem das Kind-Objekt
oben rechts platziert wird, wird der ControlPoint automatisch auf
den absoluten Wert (–15,
30) eingestellt. Dadurch erfolgt das Zusammenlegen so, dass das
wiedergegebene Raster an der erwarteten Position angeordnet ist.
Um dieses Beispiel zu verstehen: das Kind-Objekt ist in der SID
mit einer Größe von (0,3,
0,6) angegeben. Das Rendering gibt an, dass das Eltern-Objekt (200 × 100) ist
und somit die gewünschte
Größe des Kind-Objektes
bei 60 × 60
liegt. Allerdings gibt der Passmodus FitAsls an. Das tatsächliche
Kind-Objekt wird mit 15 × 45
gespeichert, so dass das wie dergegebene Raster 15 × 45 beträgt. Die
Funktion Ausrichtung gibt oben rechts an, weshalb das Raster 15 × 45 oben
rechts in der gewünschten
Größe von 60 × 60 positioniert
wird und folglich das Original des wiedergegebenen Rasters bei (45,
0) in Bezug auf das angeforderte Raster liegt. Da die Rastergröße, die
den Pfad nach oben nimmt, die Größe des wiedergegebenen
Kind-Objektes und nicht die Größe 60 × 60 des
angeforderten Kind-Objektes ist, muss der ControlPoint so eingestellt
werden, dass er die Verschiebung gegenüber dem tatsächlich wiedergegebenen
Kind-Objekt widerspiegelt. Der ControlPoint wird im Hinblick auf
die gewünschte
Größe des Kind-Objektes
mit (30, 30) abgebildet. Da das Original des wiedergegebenen Kind-Objektes
bei (45, 0) in Bezug auf den Ursprung der angeforderten Größe ist,
wird sehr schnell deutlich, dass der ControlPoint bei (30 – 45, 30 – 0) = (–15, 30)
relativ zu dem wiedergegebenen Kind-Objekt liegt (siehe 9).
-
Die
ControlPoint-Informationen sind in dem Header des wiedergegebenen
Rasterbildes gespeichert. Auf diese Art und Weise sind die ControlPoint-Informationen
für alle
IPOs verfügbar,
die diese kennen. Konkret muss die räumliche Transformations-IPO
(spacial transform) den ControlPoint entsprechend der angegebenen Transformation
richtig einstellen, wie aus den nachstehenden Beispielen deutlich
wird.
-
A4. ReadObject
-
ReadObject()
stellt eine Prozedur dar, die ein SI-Objekt in ein Rasterbild umwandelt,
das sich für
eine weitere Verarbeitung eignet. ReadObject() nimmt ein Pasteboard,
ein SI-Objekt (erzeugt
oder eingescannt) und die absolute Größe des Eltern-Objektes als
Parameter. Bei dem RootObject ist die angegebene Größe die Abmessung
des gewünschten
Ausgabebildes und das relative Größenfeld des Pasteboard ist
im typischen Fall leer, was den Standardwert von (1,0, 1,0) impliziert.
Es können
noch weitere Informationen zu dem ReadObject() geleitet werden,
wenn diese Informationen zur Verbesserung der Wiedergabequalität des Objektes
verwendet werden können.
-
ReadObject()
führt verschiedene
Operationen aus, um das angemessene Rasterbild wiederzugeben:
- (1) Ermitteln der absoluten Größe des Pasteboards;
- (2) Ermitteln aller Darstellungen, auf die von dem Objekt verwiesen
wird;
- (3) Auswahl einer geeigneten Darstellung für die Wiedergabe ausgehend
von der verfügbaren
Information;
- (4) Wiedergabe von Daten im Raster entsprechend dem Passmodus,
der Ausrichtung und (möglicherweise)
dem Winkel durch Aufrufen einer geeigneten Rendering-Prozedur;
- (5) Drehen des wiedergegebenen Rasters auf den Winkel, der von
dem Winkelattribut angegeben wird (falls nicht in Schritt 4 ausgeführt); und
- (6) Einstellen der Position des ControlPoints.
- Das Ergebnis der ReadObject()-Prozedur ist ein Rasterbild des
wiedergegebenen Objektes.
-
Der
ControlPoint wird im Header des Rasterbildes in dem Koordinatensystem
des Rasterbildes angegeben.
-
ReadObject()
bestimmt die absolute Größe des Pasteboards
durch Multiplizieren der Abmessungen des Eltern-Objektes mit der
relativen Größe, die
im Pasteboard angegeben ist. Wenn kein Pasteboard angegeben ist,
wird eine relative Größe von (1,
1) angenommen. Wenn beispielsweise die angegebene Größe (1000 × 2000)
und die relative Größe (1,0,
0,5) betragen, so wird die absolute Größe des Pasteboards (1000 × 1000)
sein. Wie oben erörtert,
hat das tatsächlich
wiedergegebene Objekt je nach den Attributen des Passmodus und des
Winkels möglicherweise
nicht diese Größe.
-
Ein
SI-Objekt fungiert als Referenz für eine Datendatei oder eine
Darstellung, die in einem Rasterbild wiedergegeben werden kann.
Bei dieser Darstellung kann es sich um eine von mehreren Typen handeln,
zum Beispiel Raster, Text und/oder Vektorgrafiken. Ebenso kann sich
ein Objekt auf mehrere Darstellungen beziehen, von denen jede dasselbe
Bild darstellt, aber ein anderes Speicherformat, eine andere Größe und/oder Auflösung hat.
Wenn ReadObject() aufgerufen wird, muss ermittelt werden, welche
Darstellung die „beste" Darstellung zur
Wiedergabe ist, indem die Finder()-Prozedur aufgerufen wird. Finder()
lokalisiert sämtliche
Repräsentationen,
auf die von dem Objekt Bezug genommen wird, und wählt jene
Darstellung aus, die für
die Wiedergabe am geeignetsten ist.
-
Nachdem
eine Darstellung ausgewählt
worden ist, muss sie zu einem Rasterbild gerendert werden. Jeder
unterstützte
Datentyp muss eine ihm zugeordnete Rendering-Prozedur aufweisen, um die Darstellung in
ein Rasterbild umwandeln zu können.
Diese Rendering-Prozeduren müssen
die Attribute Passmodus und Winke! unterstützen. Vorzugsweise werden die
folgenden Datentypen unterstützt:
-
Die
Render()-Prozedur kann den Drehwinkel direkt in die Objektwiedergabe
einbeziehen oder aber eine Rasterdrehungsoperation an dem gerasterten
Objekt anwenden. Zum Beispiel haben verfügbare Text-Rendering-Programme
die Fähigkeit,
Text in einen bestimmten Winkel direkt wiederzugeben, was zu einer
besseren Qualität
als bei einer horizontalen Wiedergabe mit anschließender Rasterdrehung
führt.
-
Wie
bereits erörtert,
muss der ControlPoint so eingestellt werden, dass dieselbe relative
Position des wiedergegebenen Objektes und des MergePoints in Abhängigkeit
von dem Passmodus, der Ausrichtung und dem Winkel beibehalten wird.
Es ist die Aufgabe von ReadObject(), diese Einstellung vorzunehmen
und den eingestellten ControlPoint in den Header des Rasterbildes
einzufügen,
um ihn für
alle IPOs verfügbar
zu machen, die ihn möglicherwreise
ebenfalls einstellen (zum Beispiel die räumliche Transformation).
-
A5. Finder
-
Die
ReadObject()-Prozedur ruft die Finder()-Funktion auf, um Objektdaten
zur Wiedergabe in einem Ausgaberasterbild zu lokalisieren und zurückzugeben.
Die Finder()-Prozedur
führt sechs
Aktionen gemäß dem Rendering
eines SI aus:
- 1. Lokalisieren sämtlicher
Darstellungen des Objektes;
- 2. Identifizieren des Typs jeder Darstellung (TiFF, Text, Grafik);
- 3. Ermitteln von Attributen jeder Darstellung, die für die Auswahl
der besten Darstellung notwendig sind;
- 4. Anwenden einer Merit-Funktion auf jede verfügbare Darstellung
und Auswahl der Darstellung mit dem höchsten Merit-Wert;
- 5. Eingabe eines Zeigers zu den Darstellungsdaten und
- 6. Eingabe des Darstellungsdatentyps.
-
Der
Finder()-Mechanismus ist notwendigerweise abhängig von der speziellen Implementierung.
Allerdings lassen sich einige Aussagen zur Funktionalität treffen.
-
Bei
der gegenwärtigen
Syntax der Structured Image Definition Language (SIDL) kann ein
SI-Objekt mit einer der drei folgenden Möglichkeiten beschrieben werden
(der folgende Quellencode unterliegt dem Urheberrechtsschutz und
kann an dem zuvor beschriebenen Hardwaresystem ausgeführt werden):
-
Ein
Objekt, das als extern definiert ist, ist eines, bei dem Daten,
auf die von dem Objekt verwiesen wird, nicht innerhalb der aktuellen
SID gespeichert sind. Meist sind die tatsächlichen Daten in einer separaten
Datei gespeichert. Das Systemfeld ist eine Beschreibung, die der
Finder() verwendet, um zu verstehen, wie die Daten anzuordnen sind.
Der Namenseintrag ist eine Gruppe von Schlüsselwörtern, die der Finder() zum
tatsächlichen
Lokalisieren der gewünschten
Daten verwendet. Bei dem obigen Beispiel ist der Finder() so implementiert,
dass er versteht, dass ein Systemeintrag von „UNIX®" angibt, dass die
aktuellen Daten gefunden werden, indem ein geeigneter UNIX-Dateisystempfad für eine Datei
mit dem Namenseintrag von „bird.TiF" gesucht wird. Wenn
der Systemeintrag „SYBASE®" gewesen wäre, hätte Finder()
die Schlüsselworte
im Namensfeld als Schlüsselwort
zum Suchen einer SYBASE®-Datenbank für die Daten
behandelt.
-
Ein
als intern definiertes Objekt enthält die Daten, die direkt innerhalb
der SID gespeichert sind. Nützlich
ist dies für
die Speicherung von kleinen Objekten, wie beispielsweise Rastersymbolen
oder einfachen Textdateien, direkt innerhalb der SID, so dass kein
externer Speicherplatz benötigt
wird.
-
IPD
ist ein SI-Objekt-Datentyp, der es ermöglicht, dass ein strukturiertes
Bild aus anderen SI-Objekten und IPOs zusammengesetzt ist. Ausgehend
von den Informationen, die in dem SI-Objekt gespeichert sind, muss
der Finder() alle verfügbaren
Darstellungen lokalisieren und den Datentyp und alle Attribute feststellen, die
zur Auswahl der „besten" Wiedergabedarstellung
erforderlich sind. Die Mechanismen/Protokolle, die zum Implementieren
dieser Funktionen verwendet werden, sind nicht in SI definiert,
doch natürlich
sind solche Mechanismen vorhanden und stehen auch für die vorliegende
Anwendung zur Verfügung.
-
Nachdem
alle Darstellungen ermittelt sind, muss der Finder() die geeignetste
Darstellung auswählen, damit
diese in dem Rasterausgabebild wiedergegeben werden kann. Der Mechanismus
wird implementiert, indem eine Merit-Funktionsberechnung an jeder
Darstellung durchgeführt
wird. Die exakte Merit-Funktion ist implementierungsabhängig und
nicht in dem SI definiert; allerdings sollte sie auf Attributen
der Darstellungen, auf den gewünschten
Ausgabebildattributen, der Zielausgabevorrichtung (zum Beispiel
Schwarzweißdrucker, Farbanzeige)
und auf der Verarbeitungskomplexität basieren. Nachdem eine Darstellung
ausgewählt
worden ist, stellt der Finder() einen Zeiger auf die tatsächlichen
Daten und den Datentyp auf den ReadObject() ein, damit die Verarbeitung
beginnt.
-
A6. Bildverarbeitungsdefinition
(IPD – Image
Processing Definition)
-
Wie
oben erörtert,
ist die IPD ein SI-Objekttyp, der es ermöglicht, dass ein SI aus anderen
SI-Objekten und IPOs zusammengesetzt ist. IPD stellt eine strukturierte
Beschreibung von Referenzen auf Komponenten-Objekte und IPOs dar,
die auf jene Komponenten-Objekte angewandt werden. 10 ist
eine grafische Darstellung einer IPD. Eine IPD besteht aus Referenzen
auf die folgenden Deskriptoren:
- (4) Standardgröße;
- (5) ReadObject;
- (6) Pfad,
- (7) IPOs;
- (8) Zusammenfügen
(Merge)
- (9) Pasteboard;
- (10) Initialisator; und
- (11) Komponenten-Pasteboard.
-
In 10 ist
jede vertikale Linie, Pfad genannt, eine Sammlung von IPOs. ReadObject
stellt eine Prozedur dar, die ein SI-Objekt in ein Rasterbild umwandelt,
das sich zur Verarbeitung auf dem Pfad mittels IPO eignet. Das gerenderte
Objekt legt den Pfad zurück
und wird nacheinander von jeder IPO verarbeitet. Auf jedem Pfad
ist ein Pasteboard gespeichert, das von dem ReadObject zum Definieren
eines „Frame" verwendet wird,
in dem das SI-Objekt wiedergegeben wird. Dieses Pasteboard wird
als Komponenten-Pasteboard
bezeichnet. Die horizontale Linie ist das Pasteboard des IPD-Objektes
und stellt ein „leeres" Rasterbild dar,
in dem die Komponenten-Pasteboards zusammengefügt werden. Die schwarzen Dreiecke
stellen Zusammenfügungs-
bzw. Merge-Operationen dar, in denen Komponenten-Pasteboards auf
dem Objekt-Pasteboard kombiniert werden. Die Reihenfolge des Zusammenfügens der
Komponenten-Pasteboards ist explizit, so dass eine Anordnung von „oberen" und „unteren" Bildern unterstützt wird. 11 stellt
den Rasterdatenfluss während der
Wiedergabe eines SI dar (das heißt, der Steuerungsfluss von
ReadObject zu Merge).
-
Jede
IPD muss Informationen enthalten, die eine Standardgröße für die IPD
angibt. Diese Informationen werden als Hinweis für die Rendering-Programme in
Bezug auf die Größe des Bildes
benutzt, die in der aktuellen SIDL-Syntax wiedergegeben werden sollte,
wobei diese Informationen vorzugsweise als Streckenverhältnis und
als Kette (String) mit Standardbreite gespeichert werden. Zum Beispiel
-
Das
Feld Streckenverhältnis
ist durch das Verhältnis
der Höhe
zur Breite definiert. Das Feld Standardbreite ist eine Kette, die
eine Breite und eine Maßeinheit
definiert. Mögliche
Maßeinheiten
sind: ", cm, mm,
m, pt und pix.
-
IPOs
sind geräteunabhängige Beschreibungen
von Bildverarbeitungsbefehlen. Lediglich eine IPO ist gegenwärtig in
SI spezifiziert: Die räumliche
Transformations-IPO (Spacial Transform), die bei den nachfolgenden
Beispielen genauer erörtert
wird. Natürlich
sind zusätzliche
IPOs implementierungsabhängig.
Dazu gehören
bestimmte Grundfunktionen, die als wesentlich erachtetet werden
und bei denen es sich um die folgenden bevorzugten IPOs handelt:
- 1. Transformer: wandelt die Größe bzw.
Form eines Bildes (zum Beispiel affin, warp (Formänderung))
räumlich
um;
- 2. Formatierer: wandelt Pixel von einem Format in ein anderes
um (zum Beispiel Konvertieren, Verschachteln, Konfigurieren im Raum);
- 3. Filter: wendet verschiedene Filteroperationen an (zum Beispiel
convolve, median, morphologisch);
- 4. Farbgeber: stellt den Farbwert von Bildern ein (zum Beispiel
relativ, absolut, Kontrast, WhitePoint);
- 5. Maske: wendet Maskenoperationen an (zum Beispiel Hinzufügen, Extrahieren,
Konvertieren, Auftragen); und
- 6. Verschiedenes: wendet verschiedene andere Operationen an.
-
Eine
IPO kann die Auswahlregion für
ihre Operation angeben. Eine Auswahl ist eine Beschreibung der Pixel
in einem Bild, die in einer speziellen Operation zu verarbeiten
sind. So kann eine Auswahl beispielsweise Bitmaps oder mathematische
Beschreibungen von Regionen enthalten. Normalerweise erfolgt eine
Auswahl binär,
das heißt,
ein Pixel wird entweder verarbeitet oder nicht verarbeitet. Allerdings
führt ein „grauer" Auswahlwert dazu,
dass der ausgegebene Pixelwert zwischen dem originalen Pixelwert
und dem verarbeiteten Pixelwert zu skalieren ist.
-
Wie
aus 12 hervorgeht, werden alle Kind-Objekte in einer
IPD in dem Eltern-Pasteboard
an der Stelle zusammengefasst, die vom MergePoint (in Bezug auf
das Objekt-Pasteboard) und vom ControlPoint (in Bezug auf das Kind-Pasteboard)
angegeben ist. Die Anweisung zum Zusammenfügen (Merge) ist in der IPD explizit
enthalten.
-
Normalerweise
stellt das Pasteboard eines IPD-Objektes ein „leeres" Raster dar, auf dem die Komponenten-Pasteboards
zusammengefügt
werden. Es ist möglich,
ein Pasteboard mit einer Farbe, einem Muster oder sogar ein Rasterbild
mit Hilfe einer Initialisierungsroutine zu initialisieren (siehe 13).
Im Grunde ist eine Initialisierungsroutine ein Pfad, der ein ReadObject()
und IPOs enthält.
Die Einschränkung
besteht darin, dass die relative Größe (1,0, 1,0) ist und dass
keine IPOs für
die räumliche
Transformation in dem Pfad vorhanden sind. Das Pasteboard hat die
Größe der wiedergegebenen
Initialisierungsroutine. Im typischen Fall wird die Initialisierungsroutine
zur Farbgebung des Pasteboards oder zum Initialisieren des Pasteboards
mit einem Hintergrundrasterbild verwendet.
-
B. Ungebundene/unvollständige strukturierte
Bilder
-
Weiterhin
ermöglicht
es die Erfindung, dass strukturierte Bilder definiert werden, die
Felder innerhalb der SID haben, die als undefiniert identifiziert
sind. Derartige Felder sind Platzhalter für Daten, die dynamisch an das
SI gebunden sind und die laufzeitspezifisch sind (wiedergabezeitspezifisch).
Es gibt zwei Kategorien für
undefinierte Felder:
- 1) ungebundenes SI; und
- 2) unvollständiges
SI.
-
B1. Ungebundenes strukturiertes
Bild
-
Allgemein
sind Komponenten-Objekte eines SI nicht in der SID selbst enthalten,
sondern Felder von SI-Objekten (zum Beispiel System- und Namensfelder
eines externen Objektes) verweisen auf sie. Bei der gegenwärtigen SIDL-Syntax
können
diese Felder als undefiniert gekennzeichnet werden. Dadurch wird
es möglich,
dass Daten dynamisch an das strukturierte Bild gebunden werden.
-
Man
betrachte beispielsweise eine interaktive Verarbeitungssitzung,
bei der ein Nutzer ein SI zum Drucken erzeugt. Das SI soll lediglich
einmal verwendet und dann vernichtet werden. Der Nutzer erzeugt
das SI mit Hilfe eines interaktiven SI-Editors (hierbei handelt
es sich wiederum lediglich um ein Beispiel für die Erzeugung des SI, die
nicht unbedingt stärker
bevorzugt ist als die Erzeugung mittels Vorlage oder als die automatische
Erzeugung mit Hilfe einer geeigneten Scan-Software). Alle Komponenten
des SI sind bekannt und definiert. Nach Fertigstellung druckt der
Nutzer das SI und der Druckauftrag ist abgeschlossen. Die zum Beschreiben
dieses SI erzeugte SID ist bekanntlich vollständig gebunden, das heißt, alle
Komponenten waren vor der Wiedergabe definiert. Vollständig gebunden
bedeutet also, dass sämtliche
Objekte in der IPD vor der Wiedergabe des Ausgabe-SI-Rasters auf
definierte Einheiten zeigen.
-
In
vielen Applikationen werden vollständig gebundene Bilder jedoch
dem Druckauftrag nicht gerecht. Dies ist beispielsweise bei einem
Werbefachmann der Fall, der eine Broschüre erzeugt, in der eine Komponente
des Bildes mit dem geografischen Vertriebsstandort verändert werden
muss. Alle möglichen
Bilder dieser Komponente werden in einer Datenbank gespeichert.
Der Werbefachmann kann den Systemeintrag eines externen Objektes
definieren, um das Datenbanksystem zu identifizieren, zum Beispiel
Sybase®,
doch das Namensfeld wird als undefiniert gekennzeichnet. Bei der
Laufzeit kann das korrekte Schlüsselwort
zum Erzeugen jedes angeforderten Ausgabebildes dynamisch an das
Objekt gebunden werden. Mit diesem Verfahren kann ein einziges SI
zum Erzeugen vieler verschiedener Ausgabebilder verwendet werden.
Ungebundene Bilder sind gültige
Sls, allerdings benötigen
sie für
die Wiedergabe zusätzliche
Informationen während
der Laufzeit.
-
Es
sei angeführt,
dass das SI keine Präferenz
gegenüber
gebundenen oder ungebundenen Bildern hat, die Auswahl erfolgt je
nach Anwendung (siehe 14 hinsichtlich einer repräsentativen
Nutzeranzeige mit Hilfe der ungebundenen strukturierten Bilderzeugung)
-
B2. Das unvollständige strukturierte
Bild
-
Ähnlich wie
beim Konzept der ungebundenen Bilder ermöglicht es die Erfindung, dass
Parameter von IPOs undefiniert sind. Auch eine IPO an sich kann
undefiniert sein. Man betrachte beispielsweise einen Werbefachmann,
der eine Broschüre
erzeugt, die Bilder von Autos enthält, bei denen die Farbe eines
Autos zwischen den einzelnen Ausdrucken verändert wird. Der Werbefachmann
kann unterschiedliche Bilder des Autos mit allen möglichen
Farben haben und dann das dynamische Binden der SID zur Anwendung
bringen. Er kann aber genauso gut ein einziges Bild eines Autos
auswählen
und die gewünschte
Farbe als Argument an die Rendering-Prozeduren weiterleiten, damit
sie dynamisch an die IPO gebunden werden. Ohne Bereitstellung des
Farbwertes zur Laufzeit könnte
die Wiedergabe des Ausgaberasters nicht erfolgen. Dies ist als „unvollständiges" SI bekannt (siehe 15).
Ein unvollständiges
SI ist eines, bei dem ein Teil der SID nicht definiert ist und während der
Laufzeit eingebunden werden muss. Unvollständige Sls sind gültige Sls,
sie können
jedoch ohne zusätzliche
Information nicht wiedergegeben werden.
-
B3. Wiedergabe von ungebundenen/unvollständigen strukturierten
Bildern
-
Bei
der Wiedergabe eines ungebundenen SI sind zwei wesentliche Dinge
zu berücksichtigen:
- 1) der Bindemechanismus und
- 2) das Rendering- bzw. Wiedergabemodell.
-
Der
Mechanismus, mit dem ungebundene Sls dynamisch gebunden werden,
ist implementierungsabhängig.
Hier werden vier mögliche
Mechanismen identifiziert, wobei auch andere möglich sind:
- 1)
Es ist erforderlich, dass ein SI stets ein „vollständiges Bild" darstellt; wenn das SI ungebunden/unvollständig ist,
ist eine Vorfilteroperation zum Modifizieren der SID auszuführen;
- 2) Anwendung des Bindemechanismus für die aktuelle Referenz. Die
SID-Datei kann undefinierte Referenzen und Bindeinformationen enthalten,
die in einer anderen Datei als „tag"-Definitionen beschrieben sind, die
undefinierte Refe renzen in SIDL entsprechen. Das Binden erfolgt
beispielsweise durch Verketten der SID-Datei und der Bindeinformationen
zwecks Erzeugung einer vollständigen
SID;
- 3) Angabe der Bindeinformationen als Parameter an den SI-Renderer;
bzw.
- 4) Einbeziehung eines dynamischen Bindeverfahrens in die Finder()-Prozedur,
die automatisch aufgerufen wird, um jedes ungebundene/unvollständige Feld
in der SID auszufüllen.
-
Erfindungsgemäß werden
die oben beschriebenen Bindemechanismen gleichermaßen bevorzugt, doch
natürlich
ist die Wahl zwischen den einzelnen Mechanismen implementierungsabhängig.
-
Bei
bestimmten Anwendungen kann ein SI Felder aufweisen, die zur Wiedergabezeit
nicht vollständig gebunden
werden können.
Man denke beispielsweise an ein Dokument, bei dem jede Seite ein
SI mit sechs identischen Kind-Objekten ist, die zur Wiedergabezeit
nicht gebunden sind, z. B. eine Liste von Immobilien, auf der jedes
Kind-Objekt einem zum Verkauf stehenden Haus entspricht. Man stelle
sich vor, das Dokument soll insgesamt neun Häuser anzeigen. Dazu wären zwei
Dokumentseiten erforderlich, auf der zweiten Seite bräuchten jedoch
nur drei Kind-Objekte zu stehen. Das SI-Renderprogramm kann mit
drei Modellen operieren, wenngleich auch andere möglich sind:
- 1) Scheitern an einem ungebundenen Fehler (fail
with an unbound error);
- 2) Ignorieren von ungebundenen Objekten, Behandeln unvollständiger IPOs
als Nicht-Operationen;
- 3) Rendern von lediglich dem Pasteboard ungebundener Objekte,
Behandeln unvollständiger
IPOs als Nicht-Operationen.
-
Alle
drei Modelle können
erfindungsgemäß genutzt
werden, allerdings erfolgt die Auswahl applikationsabhängig.
-
C. Rendering (Wiedergabe)
-
Wenngleich
das Rendering nicht speziell in der SIDL definiert ist, soll hier
doch zur Klarheit eine kurze Erläuterung
gegeben werden. Bei realen Rendering-Prozessen können einige Rendering-Verfahren
entsprechend bestimmten Bedingungen, wie beispielsweise Zweck, Priorität, Ressourcen
usw., ausgewählt
werden. Das Rendering ist implementierungsspezifisch, allerdings
müssen
natürlich
alle Implementierungen von SI-Rendering-Programmen äquivalente Ausgaben für ein bestimmtes
SI und eine Ausgabevorrichtung erzeugen. Es wird nicht erwartet,
dass die Ergebnisse haargenau identisch sind, da kleinere Unterschiede
in den Bildverarbeitungsprogrammen zu unterschiedlichen Ergebnis sen
führen;
allerdings müssen
die Ausgabebilder angemessen sein. Diese Aussage ist ähnlich jener,
wonach unterschiedliche C-Compiler nicht den gleichen Maschinencode
erzeugen müssen,
jedoch alle Compiler einen funktionierenden Maschinencode erzeugen müssen.
-
Es
sind zwei Herangehensweisen für
das Rendern von Sls untersucht worden:
- 7. objektorientiertes
Rendering und
- 8. verarbeitungsbaumabhängiges
Rendering.
-
C1. Objektorientiertes
Rendering
-
Das
objektorientierte Rendering (siehe 16) ist
ein Verfahren zum syntaktischen Parsen eines Objektbaumes direkt
von oben nach unten und zum Rendern jedes Objektes (SI) nacheinander.
Wenn ein SI eine Meldung „Render" erhält, wird
es mit einem bestimmten Größen- und
Auflösungsattribut
oder Abmessungsattributen gerendert. Wenn andere Komponenten für die Erstellung
des SI benötigt
werden, sendet das Objekt die „Render"-Meldung an die Komponenten-Objekte
und bekommt die Ausgabebilder. Das objektorientierte Rendering ist
die direkte Ausführung
eines Objektbaumes, die man sich am besten als „Interpretation" eines Objektbaumes
vorstellen kann. Das objektorientierte Rendering eignet sich besonders
für das
Rendern in interaktiven Bearbeitungssituationen.
-
C2. Rendering von Verarbeitungsbäumen
-
Ein
Verarbeitungsbaum ist ein gerichteter azyklischer Graph von Bildverarbeitungsbefehlen,
der geräteabhängig und
auflösungsabhängig ist
(siehe 17). Ein Verarbeitungsbaum entsteht
durch Erweiterung der SID, die zu allen verschachtelten Sls gehört, zu einem
einzigen SI, woraufhin geräteabhängige Informationen
angewandt werden, um sämtliche
Koordinaten und Abmessungen in absolute, geräteabhängige Werte umzurechnen. Die
Dateninhalte, auf die von den Darstellungseinträgen verwiesen wird, werden
zu Rastern gerendert. Da der Verarbeitungsbaum geräteabhängig und
auflösungsabhängig ist,
können
die IPOs durch eine Vielzahl von Optimierungsverfahren, die Fachleuten
bekannt sind, im Hinblick auf die Bearbeitungsgeschwindigkeit optimiert
werden. Zum Beispiel kann der Nutzer zwei Skalierungs- und eine
Rotationsoperation zu einer einzigen affinen Operation kombinieren,
wodurch konforme kaskadierte Operationen zu affinen Operationen kombiniert
werden. Denn warum sollten drei separate Operationen ausgeführt werden,
wenn sie zu einer kombiniert werden können und so die Bearbeitungsgeschwindigkeit
verbessert werden kann? Anschließend wird das Ausgabebild durch
einfaches Durchlaufen des entstandenen Verarbeitungsbaums wiedergegeben.
Man kann sich dies als „Compilation" eines Objektbaumes
vorstellen. Das Verarbeitungsbaum-Rendering eignet sich besonders
für die
Wiedergabe sehr großer
Ausgabebilder, die typisch für
das Drucken von Dokumenten sind. Durch die Bildverarbeitungsoptimierung
kann die zur Wiedergabe erforderliche Zeit wesentlich gesenkt werden.
-
D. Beispiel für strukturierte
Bilderzeugung
-
Nachstehend
wird das in 18 gezeigte SI kurz beschrieben.
Das vorliegende Beispiel wird mit Hilfe der oben beschriebenen SIDL
beschrieben.
-
Das
SI auf oberster Ebene in diesem zusammengesetzten Bild umfasst vier
Komponenten:
- 1) Bergbild – Rasterbildobjekt (Mount1);
- 2) „Sample
..." – Textobjekt
(Text1);
- 3) Baum und Haus – IPD
(Home1); und
- 4) Vogelbild – Bitmap-Rasterobjekt
(Bird1).
-
Das
SI auf der zweiten Ebene umfasst zwei Komponenten:
- 1) Baumgrafik – Grafikobjekt
(Tree2) und
- 2) Hausbild – Rasterobjekt
(Home2).
-
Die
zu dem SI auf oberster Ebene gehörende
SID-Datei ist in den 19a-c dargestellt. Die Sls werden
(wiederum ist der nachfolgende Quellcode urheberrechtlich geschützt und
kann auf dem zuvor beschriebenen Hardwaresystem ausgeführt werden)
in SIDL als ein Satz von „tags" beschrieben, die
von dem Namen des Tag-Typs und des Tag-Bodys angegeben werden, eingeschlossen
durch "{" und "}". Die Tags können mit Hilfe der „:name"-Syntax bezeichnet
werden. Der Tag-Name kann als Referenz zu anderen Tags verwendet werden,
indem „DOLLAR" davor gesetzt wird.
Das Objekt-Tag ist das Tag des SI auf oberster Ebene. Bei dem vorliegenden
Beispiel stellt das Objekt-Tag ein IPD-Objekt dar, dessen Beschreibung
mit dem Tag „ipd1" referenziert wird.
Das IPD-Tag „ipd1" definiert die Tags
Streckenverhältnis
und Standardbreite, die Pasteboard-Attribute Passmodus, Ausrichtung und
Winkel und vier Merge-Tags, deren Reihenfolge die Reihenfolge des
Zusammenfügens
(Merging) von „merge1" bis „merge4" angibt. Jedes Merge-Tag
gibt einen Merging-Punkt in Bezug auf das Pasteboard mit dem Merge-Point-Tag und eine
Bildverarbeitungsfolge mit einem Pfad-Tag an. Das Pfad-Tag kennzeichnet
das Kind-Objekt mit einem anderen Objekt-Tag, die relative Größe mit einem
Größen-Tag,
die Position des ControlPoints (in Bezug auf das Kind-Objekt) mit
dem ControlPoint-Tag und die Bildverarbeitungsoperationen mit einer
Liste von IPO-Tags. Es sei angemerkt, dass sich Pfad 1, Pfad 2 und
Pfad 4 sämtlich
auf Raster-, Text- oder Grafik-Dateien beziehen. Pfad 3 bezieht
sich auf eine andere SID-Datei, die ein Rasterbild erzeugt, indem
ein grafischer Baum mit einem Rasterbild eines Hauses kombiniert
wird.
-
D1. Mehrfahchdarstellungs-Dateiformat
(MR)
-
Bei
einigen Anwendungen werden explizite Beschreibungen vorhandener
Darstellungen bevorzugt. Aus diesem Grund ist das MR-Dateiformat
definiert. Dieses Dateiformat verwendet gegenwärtig eine Syntax ähnlich der
SIDL. Die 20a-b sind Beispiele für das MR-Dateiformat.
Jede Darstellung ist mit einem Formatfeld aufgelistet, das den Dateityp
identifiziert, und mit einem Datenfeld, welches explizit die Daten
definiert. Für
dateibasierte Daten, zum Beispiel eine TIFF-Datei, enthält das Datenfeld
einen Unix-Pfad zur Datei. Für einfachen
Text enthält
das Datenfeld die Textkette. Das MR-Format macht es möglich, dass
bei jeder Darstellung ein Satz von Attributen explizit definiert
ist, der die Daten beschreibt. Bei Rasterdaten können die Attribute Abmessungen,
die Fotometrie oder andere Attribute enthalten. Bei Textobjekten
können
die Attribute die Schriftart, den Schriftstil, usw. aufweisen. Die
Anwendung des MR-Dateiformats wird jedoch bei der vorliegenden Erfindung
nicht bevorzugt.
-
D2. Bildverarbeitungsoperation
mit räumlicher
Transformation (IPO)
-
Die
einzige IPO, die in dem SI-Format angegeben ist, ist die Spacial
Transform-IPO, die zur Durchführung
einer linearen, räumlichen
Transformation an den Rasterbildinhalten dient. Zu Beispielen gehören die
Rotation, das Skalieren und Scheren. Im Allgemeinen führt die
Special Transform-IPO sämtliche
affinen Transformationen bis auf die Translation aus (die durch
die Attribute des MergePoints und des ControlPoints gesteuert wird).
-
Die
Parameter der räumlichen
Transformation sind Folgende:
Parameter | Wert |
Skalieren | 1
Wert für
die XY-Skalierung (a.r. bewahren) oder 2 Werte für willkürliche Skalierung (Interpolation
ist applikationsabhängig,
Anmerkung: sollte wahrscheinlich ein Argument sein) |
Rotieren | Winkel
(in Grad) |
Scheren | Scherwinkel(in
Grad) |
Spiegeln | „X" oder „Y" |
Transformationspunkte | 3
Paar Eckpunkte |
Affin | Affine
Koeffizienten |
FixedPoint | (x,
y) relativ zu dem transformierten Kind – Standardwert ist der Ort
des ControlPoints |
-
Der
Parameter FixedPoint (feststehender Punkt) ermöglicht die Anwendung von räumlichen
Transformationen um einen Referenzpunkt herum. Zum Beispiel ermöglicht es
das Festlegen eines FixedPoints dem Benutzer, das Objekt um den
FixedPoint und nicht um den Mittelpunkt des Objektes zu drehen.
Allgemein kann jede unterstützte
räumliche
Transformation so definiert werden, dass sie um einen FixedPoint
herum ausgeführt
wird. Da der FixedPoint ein Parameter für die räumliche Transformation und
nicht Teil des Pasteboards ist, stellt die IPO den ControlPoint
automatisch ein, um sicherzustellen, dass das Kind-Objekt an der
richtigen Position in das Eltern-Pasteboard eingefügt wird.
Nachstehend wird ein Beispiel der Einstellung des ControlPoints
beschrieben.
-
Das
Objekt hat beispielsweise einen ControlPoint C (0,5, 0,5) und einen
FixedPoint (2,0, 0,0) in Bezug auf die linke obere Ecke P des Kind-Objektes
(siehe 21a-b). Es sei angenommen, dass
das Rendern angibt, das Kind-Objekt hätte eine Größe von 50 × 50. Der FixedPoint F liegt
bei (–100,
0) in Bezug auf das Kind-Objekt. Am Anfang befindet sich der ControlPoint
(25, 25) in Bezug P und (125, 25) in Bezug auf den FixedPoint. Wenn
man das Kind-Objekt 45 Grad um den FixedPoint dreht, entsteht ein
Kind-Objekt mit einer neuen Größe von 71 × 71 (Begrenzung – bounding
box) mit einem Ausgangspunkt bei (71, 107) in Bezug auf den FixedPoint.
Daher wird der ControlPoint auf (125, 25) – (71, –107) = (54, 132) Pixelgröße eingestellt,
das heißt
(0,75, 1,86) in Bezug auf den Ursprungspunkt Q des gedrehten Kind-Objektes.
Folglich wird der ControlPoint so eingestellt, dass sichergestellt
wird, dass eine Drehung um einen FixedPoint dazu führt, dass
das Kind-Objekt an der richtigen Stelle in das Pasteboard eingefügt wird.
-
Als
Alternative dazu kann ein interaktiver Editor den Rotationsmittelpunkt
usw. während
der Erstellung des SI handhaben und einfach den MergePoint richtig
einstellen, wenn die SID geschrieben wird. Das heißt, der
Nutzer kann diese Rotationsmittel beispielsweise an einer gewünschten
Position festlegen, und die SID ist nicht länger damit befasst.
-
E. Ein zweites Beispiel
der Erzeugung eines strukturierten Bildes
-
Es
ist wichtig anzumerken, dass SI viel mehr ist als ein interaktiver
Editor. Zum Beispiel müssen
in einem Drucker für
ein Jahrbuch einer High School viele einzelne Bilder elektronisch
zum Drucken eines fertigen Jahrbuches aufbereitet werden. Konkret
müssen
Fotos in die Datenbank eingescannt werden, entweder einzeln (was
extrem zeitaufwändig
ist) oder es ist eine Technologie vorhanden, mit der zwölf Fotos
gleichzeitig einges cannt werden können. Ganz egal, wie sehr der
Benutzer versucht, die einzelnen Bilder zum Scannen auszurichten,
wird es leider doch immer kleine Abweichungen durch das Scannen
geben. Gewöhnlich
hat jedes Bild einen Strichcode oder ein anderes Identifizierungsmerkmal,
mit dem das Bild dem Namen zugeordnet wird, der unter dem Bild gedruckt
wird.
-
Es
gibt eine Software, die imstande ist, in der oben beschriebenen
Scan-Situation automatisch ein SI zu erzeugen. Das heißt, es wird
ein SI erzeugt, das jedes individuelle Kind-Objekt (die einzelnen
Bilder) identifiziert und Bildverarbeitungsoperationen enthält, die
jegliche Fehlausrichtung korrigieren, und jedes Bild auf der Seite
mit dem richtigen Text darunter (Strichcodereferenz) konfiguriert.
Eine solche Software ist in der Lage, viele Objekte gleichzeitig
einzuscannen, wobei jedes Kind-Objekt zur richtigen Wiedergabe beim
Drucken gedreht/zurückgedreht
wird. Daher kann der Jahrbuchdrucker bei dieser Option lediglich
die Kind-Objekte auswählen,
die für
die Anordnung auf jener speziellen Seite gewünscht werden, kann sie nach
Wunsch anordnen, den entsprechenden Text hinzufügen und drucken. Wie oben erörtert, werden
die Kind-Objekts durch den Strichcode referenziert und dann aufgerufen.
-
Darüber hinaus
kann es erwünscht
sein, dass der Jahrbuchdrucker ein anderes SI erzeugt, indem eine Vorlage
mit „ungebundenen" Löchern für die Bilder
und den Text je nach Wunsch hergestellt wird. Der Jahrbuchdrucker
kann dann zum Ausdrucken die entsprechende Anzahl von Kind-Objekten
in jene Vorlage einbinden. Wichtig ist dabei jedoch auch, dass in
diese Vorlage eine intelligente Verarbeitung eingebaut ist (das
heißt Hintergrund,
usw.), mit der automatisch die Farbe, das Schneiden, Spezialeffekte
usw. geändert
werden können.
-
F. Schlussfolgerung
-
Das
vorgenannte erfindungsgemäße Konzept
ermöglicht
die Darstellung von komplexen Farbrasterbildern als Sammlung von
Objekten in hierarchie- und geräteunabhängigem Format.
Objekte, die in das Ausgaberaster eingehen, können aus Text, Grafiken, anderen
Rasterbildern oder anderen Sls stammen und ihre Eigenheiten zwecks
Auswählbarkeit
und Modifizierung beibehalten. Ein SI enthält nicht nur die Quelldaten, sondern
auch die Bildverarbeitungsoperationen, die zu deren Wiedergabe erforderlich
sind. Die SI-Technologie
unterstützt
die Überarbeitungsmöglichkeit,
die Anpassung an Kundenwünsche,
die Verbesserung, automatische Bildmontage und leistungsstarke Bilderzeugung
(parallel, verteilt, Caching, usw.). Dadurch wird ein sehr leistungsstarker
Rahmen zur Beschreibung von Bildern für eine spätere Bearbeitung und Überarbeitung
geschaffen.
-
SI
ist folglich eine Basistechnologie, die sich der gesamten Palette
von Prozessen – von
der Objekterfassung, Speicherung, Bearbeitung/Aufbereitung bis hin
zur Bereitstellung/Übertragung
für die
Wiedergabe von Ausgabeobjekten – zuwendet.