-
Diese
Erfindung betrifft einen Bildprozessor/-generator zum Darstellen
eines Komplexfarbrasterbilds als eine Sammlung von Objekten in einem
hierarchischen und vorrichtungsunabhängigen Format, und insbesondere
einem Format eines strukturiertem Bilds (SI), das nicht nur Quelldaten,
sondern auch die Bildverarbeitungsabläufe enthält, die zu ihrer Wiedergabe
erforderlich sind, und erneute Bearbeitbarkeit, kundenspezifische
Anpassung und Verbesserung, automatische Bildzusammensetzung und
Hochleistungs-Bildaufbereitung
unter Verwendung einer entsprechenden Benutzerschnittstelle unterstützt.
-
Im
Handel erhältliche,
heute verwendete Pakete erfordern zum Einsatz beträchtlichen
Speicher. Beispielsweise speichert Adobe Photoshop® drei
Kopien des Rasters in natürlicher
Größe (full
size rastet) beim interaktiven Bearbeiten. Somit kann ein typisches
24-Bit-Farbbild (216 × 279
mm bei 12 Punkten pro mm (81/2 × 11
Zoll bei 300 dpi)) 24 Megabyte Speicher für jede Bildkopie erfordern.
-
Des
Weiteren weist handelsübliche
Software beim Bearbeiten von umfangreichem Bildmaterial eine träge bis schlechte
Leistung auf. Auch hier muss Photoshop®, wie oben erläutert, drei
Kopien des Bilds speichern (unabhängig davon, wie groß es ist).
Da jeder interaktive Vorgang das volle Bild verarbeitet, ist die
Leistung extrem langsam.
-
Des
Weiteren speichert die typische handelsübliche Software ausgegebenes
Bildmaterial als vollständige
Raster. Daher muss für
jede neue Version eines Bilds ein vollständiges Raster ausgeschrieben
werden, und die in diesen Versionen enthaltenen Vorgänge können nicht
rückgängig gemacht
werden. Bei 24 Megabyte pro Bild, wie oben erläutert, können die Plattenanforderungen
sehr hoch sein. Das Archivieren von solchem Bildmaterial kann ebenfalls
sehr großen
Speicherplatz erfordern.
-
Des
Weiteren besteht ein kritischer Bedarf an einem Bildprozessor im
gewerblichen Druckbereich, der in der Lage ist, eine Auftragsvorlage
zum Erstellen mehrerer kundenspezifischer Bilder zu erstellen. Falls überhaupt
gibt es nur wenige Bildverarbeitungspa kete, mit denen die Erstellung
von solchen Auftrags-Anwendungsvorlagen möglich ist. Des Weiteren verfügen handelsübliche Bildverarbeitungs-Softwarepakete,
wie beispielsweise Photoshop®, über eine begrenzte Fähigkeit,
das für
die Ausgabevorrichtung optimierte Ausgabebild aufzubereiten. Normalerweise
sind Farbkorrektur und einfache Auflösungsumwandlung alles, was
angewendet werden kann.
-
Außerdem ist
bei typischer handelsüblicher
Bildverarbeitungs-Software die Fähigkeit,
die Liste von Bildverarbeitungsvorgängen, die durch den Benutzer
ausgeführt
werden, zu bearbeiten, ebenfalls sehr eingeschränkt. Beispielsweise gestattet
Photoshop® nur
einen Rücksetzvorgang.
Des Weiteren ermöglicht
typische handelsübliche
Software keine Optimierung der Bildverarbeitung. Das heißt, sobald
ein Bild erstellt ist, geht die Fähigkeit zum Kombinieren von
Vorgängen
und Erhöhen
der Leistung bei hochauflösendem
Bildmaterial verloren.
-
Schließlich ist
ein starkes Interesse der Industrie an der Theorie für strukturierte
Dokumente und daran vorhanden, wie sich diese Technologie auf Produkte
und Dienstleistungen auswirken kann. Die gegenwärtige Theorie für strukturierte
Dokumente betrachtet ein Rasterbild als einen einfachen Inhaltsblock
ohne hierarchische Natur oder damit verbundene Bildverarbeitungsvorgänge. In
Bezug auf eine seitenorientierte Beschreibung siehe Zeitschrift
IEEE Computer Graphics & Applications,
März 1991,
Seite 71-78, "Constructive Page Description" von J. Schonhut,
H. Wiedling und V. Samara. In Bezug auf eine allgemeine Beschreibung
von strukturierten Dokumenten siehe "Structured Documents" von J. Andre, R. Furuta und V. Quint,
Cambridge Series in Electronic Publishing, 1989.
-
Ein
benachbartes Gebiet, in dem eine Form von strukturierter Bildaufbereitung
erstellt worden ist, sind grafische Benutzeroberflächen (GUI).
Drei Beispiele für
etablierte GUI-Dienstprogrammsammlungen
sind Motif (siehe Heller und andere, "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 und andere, "Composing User Interfaces
with Interviews",
IEEE Computer, Band 22, Nr. 2, Seite 8 – 22, IEEE Press, 1989).
-
Es
ist daher eine Aufgabe der Erfindung, die vorher genannten Nachteile
zu verhindern, indem ein strukturiertes Bildformat bereitgestellt
wird, das an Bildauflösungs-Bildmaterial
mit minimalen Speicheranforderungen arbeiten kann und dennoch in
der Lage ist, hochauflösende,
hochwertige gedruckte Bilder zu erzeugen. Die strukturierte Bildaufbereitung
ist eine grundlegende Technologie, die in der Lage ist, die gesamte
Skala von Erfassen Speichern, Bearbeiten/Vorbereiten und Zuführen/Übertragen
von Objekten, zur Ausgabe-Aufbereitung zu behandeln.
-
Gemäß einem
ersten Gesichtspunkt der vorliegenden Erfindung wird eine elektronischer
Bildgenerator bereitgestellt, umfassend:
ein Erstellungsmodul,
das in der Lage ist, eine strukturierte Bilddarstellung zu erstellen,
wobei die Darstellung wenigstens ein Bildobjekt umfasst, das als
wenigstens ein Raster aufbereitet werden kann, und wenigstens ein Pasteboard
mit wenigstens einem Bildattribut, wobei jedes Pasteboard einen
Bildrahmen aufweist, auf dem wenigstens eines von dem wenigstens
einen Bildobjekt aufbereitet werden kann; und
ein Aufbereitungsmodul
in Verbindung mit dem Erstellungsmodul, wobei das Aufbereitungsmodul
die Darstellung in ein sichtbares Bild aufbereiten kann; wobei das
Aufbereitungsmodul das wenigstens eine Bildobjekt auf dem wenigstens
einen Pasteboard mischen kann, um das sichtbare Bild in Übereinstimmung
mit dem wenigstens einen Bildattribut des wenigstens einen Pasteboards
zu bilden, und für
jedes von den wenigstens einen Bildattributen wird das wenigstens
eine Bildattribut mit einem von den wenigstens einen Pasteboards
verknüpft statt
mit irgendeinem von den wenigstens einen Bildobjekten;
wobei
wenigstens eines des wenigstens einen Bildobjekts und des wenigstens
einen Bildattributs undefiniert bleibt, wenn die Darstellung durch
das Erstellungsmodul erstellt wird, und das wenigstens eine des
wenigstens einen Bildobjekts und des wenigstens einen Bildattributs
während
der Aufbereitung durch das Aufbereitungsmodul definiert wird.
-
Gemäß einem
zweiten Gesichtspunkt der vorliegenden Erfindung wird ein Prozess
zum elektronischen Generieren einer Darstellung eines strukturierten
Bilds bereitgestellt, wobei der Prozess umfasst:
Auswählen eines
Bildobjekts, das als ein Raster aufbereitet werden kann, aus einem
Speicher;
Definieren eines Pasteboards, einschließlich wenigstens
eines Bildattributs, wobei das Pasteboard einen Bildrahmen aufweist,
auf den die Daten aufbereitet werden;
Erstellen der Darstellung,
die das Bildobjekt und das Pasteboard in Übereinstimmung mit dem wenigstens
einen Bildattribut des Pasteboards umfasst, und
Aufbereiten
der Darstellung in ein Format, das angezeigt oder gedruckt werden
kann, wobei das wenigstens eine Bildattribut mit dem Pasteboard
und nicht mit dem Bildobjekt verknüpft ist;
wobei das wenigstens
eine des Bildobjekts und das wenigstens eine Bildattribut undefiniert
bleiben, wenn die Darstellung erstellt wird, und das wenigstens
eine des Bildobjekts und das wenigstens eine Bildattribut während der
Aufbereitung definiert werden.
-
Die
Erfindung stellt ein strukturiertes Bildformat bereit, das in der
Lage ist, an Bildauflösungs-Bildmaterial
interaktiv zu arbeiten und daher eine gute interaktive Leistung
aufweist. Des Weiteren kann eine hochauflösende Ausgabe generiert werden,
indem einfach angefordert wird, dass ein strukturiertes Bild mit
hoher Auflösung
aufbereitet oder gerastert wird. Der Aufbereitungsprozess verwendet
automatisch geeignetes Quellenbildmaterial und vorrichtungsabhängige Informationen,
um eine Aufbereitung für
bestimmte Vorrichtungen vorzunehmen. Obwohl andere Bildeditoren
Bildauflösungs-Bildmaterial
verwenden können,
wählt die
strukturierte Bildaufbereitung die Auflösung des Bilds der Aufgabe
entsprechend.
-
Es
ist ein Merkmal der strukturierten Bildaufbereitung, Bildmaterial
als eine Textdatei zu speichern, die Adressenverweise auf Komponentenobjekte
enthält.
Ausgaberaster werden erst generiert, wenn sie zum Anzeigen oder
Drucken erforderlich sind. Daher können Hunderte von Versionen
eines strukturierten Bilds in derjenigen Menge von Plattenspeicherplatz
existieren, die normalerweise für
ein Rasterbild erforderlich ist. Da eine strukturierte Bildaufbereitung
die Raster der Komponentenobjekte in dem strukturierten Bild nicht
speichert, wird die Verwendung von archiviertem Bildmaterial, wie
beispielsweise Clip-Art, viel effizienter, da nur eine Kopie der
Quelle erforderlich ist.
-
Die
Erfindung stellt strukturierte Bilder bereit, die so erstellt werden
können,
dass sie nicht definierte Verweise auf Komponentenobjekte und Bildverarbeitungs-Parameter
enthalten. Ein solches strukturiertes Bild kann aufbereitet werden,
indem die nicht definierten Informationen beispielsweise als Befehlszeilen-Argumente
bereitgestellt werden. Das strukturierte Bild kann viele Male mit
verschiedenen Eingabedaten aufbereitet werden, um kundenspezifische
Ausgaberaster zu generieren. Die Fähigkeit, über gültige strukturierte Bilder
zu verfügen,
die nicht definierte Verweise enthalten, ermöglicht kundenspezifische Anpassung
und automatische Bildzusammensetzung.
-
Es
ist ein weiteres Merkmal der Erfindung, strukturierte Bilder alle
Komponentendaten in "nativer" Form speichern zu
lassen (d.h. Text wird als ASCII gespeichert, Grafik wird im CGM-Format
oder einem anderen geeigneten Format gespeichert usw.). Entsprechende
Aufbereitungsprozeduren wandeln die native Form in Raster um, indem
vorrichtungsabhängige
Merkmale verwendet werden, um die Aufbereitung zu optimieren. Die
richtige Skalierung ist der Aufbereitung von strukturierten Bildern
inhärent.
-
Schließlich stellt
die Erfindung strukturierte Bilder bereit, die Adressenverweise
auf ursprüngliche Komponentendaten
und eine Beschreibung aller Bildverarbeitungsvorgänge enthalten,
die auf das Bild angewendet wurden. Das Bearbeiten von früheren Vorgängen kann
genau so einfach sein wie das Bearbeiten einer Textdatei. Interaktive
Editoren, die auf einem strukturierten Bild basieren, können das
Bearbeiten der Vorgänge interaktiv
entweder durch Textbearbeitung oder durch einen Editor für strukturierte
Bilder gestatten. Bildverarbeitungsvorgänge können mit entsprechenden Benutzerbefehlen
hinzugefügt,
gelöscht
oder modifiziert werden.
-
Um
das Ziel der Erfindung zu erreichen und die oben erläuterten
Nachteile zu überwinden,
wird ein strukturiertes Bild definiert, das in seiner einfachsten
Form durch eine Gruppe von Darstellungen und ein Pasteboard beschrieben
wird, wobei das Pasteboard den "Bildrahmen" des strukturierten
Bilds spezifiziert. Das Konzept von mehreren Rasterdarstellung wird
in der Fachwelt verstanden und wird derzeit in einigen verfügbaren Anwendungen
eingesetzt. Mit dem strukturierten Bild wird das Konzept von mehreren Darstellungen jedoch
so erweitert, dass Nicht-Rasterdaten enthalten sind, wie beispielsweise
Text, Grafik und Bildzusammensetzungen, welche die Bildverarbeitung
und das Mischen von mehrere Komponentenobjekten umfassen. Komponentenobjekte,
wie beispielsweise Text und Grafik, sind zur Bearbeitbarkeit in
ihrem nativen Format gespeichert. Die Anforderungen an eine gültige Darstellung
sind, dass sie in Rasterform aufbereitbar sein muss, und dass alle
Darstellungen eines einzelnen strukturierten Bilds das gleiche "Aussehen" haben müssen, wenn sie
aufbereitet wurden, d.h. alle Darstellungen müssen ein im Wesentlichen ähnliches
Aufsehen aufweisen. Sie können
unterschiedliche Maße
oder Verschlüsselungen
aufweisen, müssen
aber deutliche Aufbereitungen des gleichen Bilds sein.
-
Andere
Aufgaben, Vorteile und herausragende Merkmale der Erfindung werden
aus der detaillierten Beschreibung offenkundig, die in Verbindung
mit den Zeichnungen im Anhang die bevorzugten Ausführungsformen
der Erfindung offenbart.
-
Im
Folgenden wird auf die Zeichnungen Bezug genommen, die Bestandteil
dieser ursprünglichen
Offenbarung sind:
-
1 ist
ein Blockschaltbild, das allgemeine Komponenten zeigt, die mit dieser
Erfindung verwendet werden können;
-
2 ist
eine grafische Darstellung, welche die Vielfalt von Datentypen zeigt,
die ein strukturiertes Bildobjekt ergeben;
-
3 ist
eine grafische Darstellung, die ein Beispiel der Mehrfachdarstellungen
(MR) (Multiple Representations) zeigt, die ein strukturiertes Bildobjekt
ausmachen;
-
4 ist
eine grafische Darstellung, die eine Aufbereitung zum Aufrechterhalten
des Seitenverhältnisses
(AspectRatio) zeigt;
-
5 stellt
die verfügbaren
Passungsmodus- (FitMode) Modelle grafisch dar, die definieren, wie
Raster in den Maßen,
die durch das Pasteboard definiert werden, in Übereinstimmung mit der Erfindung
aufbereitet werden;
-
6 und 7 stellen
das Ausrichtungs- (Justification) Attribut der Erfindung grafisch
dar, wobei 6 zeigt, wie das Ausrichtungsattribut
verwendet wird, um anzugeben, dass das aufbereitete Raster innerhalb
des Pasteboards an einer von neuen möglichen Stellen positioniert
wird, und 7 drei Beispiele des Ausrichtungsattribut
zeigt;
-
8 stellt
das Winkel- (Angle) Attribut der Erfindung grafisch dar, wobei die (a)-Seite von 8 das nicht
gedrehte Pasteboard zeigt, und die (b)-Seite
das gedrehte Pasteboard zeigt (Anmerkung: das Objekt wird um den
Kontrollpunkt (Control-Point)
gedreht);
-
9 ist
eine grafische Darstellung, die eine Aufbereitungskorrektur des
Kontrollpunkts in Übereinstimmung
mit der Erfindung zeigt;
-
10 ist
eine grafische Darstellung einer Bildverarbeitungsdefinition (IPD)
(Image Processing Definition), wie sie sich auf das ausgegebene
strukturierte Bild bezieht, die eine strukturierte Beschreibung
von Verweisen auf Komponentenobjekte und Bildverarbeitungsvorgänge (IPOs)
(Image Processing Operations) darstellt, die auf diese Komponentenobjekte
angewendet werden;
-
11 stellt
den Fluss von Rasterdaten während
der Aufbereitung eines strukturierten Bilds dar;
-
12 ist
eine grafische Darstellung, die zeigt, dass alle untergeordneten
Objekte in dem übergeordneten
Pasteboard an der Stelle gemischt werden, die vom Mischpunkt (MergePoint)
(in Bezug auf das Objekt-Pasteboard) und vom Kontrollpunkt (in Bezug
auf das untergeordnete Pasteboard) angegeben wird;
-
13 ist
eine grafische Darstellung, welche die Initialisierungsfunktion
des Pasteboards zeigt, in diesem Falls das Initialisieren eines
Pasteboards mit einem abgetasteten Textbild;
-
14 ist
eine grafische Darstellung, die ein (in Bezug auf Eingabe-Objekte)
ungebundenes strukturiertes Bild in Übereinstimmung mit der Erfindung
zeigt;
-
15 ist
eine grafische Darstellung, die ein (in Bezug auf die Bildverarbeitungsvorgänge und/oder Attribute)
unvollständiges
strukturiertes Bild in Übereinstimmung
mit der Erfindung zeigt;
-
16 ist
eine grafische Darstellung, die eine objektorientierte Aufbereitung
in Übereinstimmung
mit der Erfindung zeigt;
-
17 ist
eine grafische Darstellung, die eine Verarbeitungsbaum-Aufbereitung
(Processing-tree rendering) in Übereinstimmung
mit der Erfindung zeigt;
-
18 stellt
ein beispielhaftes strukturiertes Bild mit dazugehöriger SID-Datei
bereit, die in Übereinstimmung
mit der Erfindung grafisch dargestellt ist;
-
19a–c stellen
die SID-Dateien bereit, die mit dem in 18 gezeigten
strukturierten Bild der obersten Ebene verknüpft sind;
-
20a–b stellt
eine beispielhafte Mehrfachdarstellungs- (MR) Datei und eine grafische
Darstellung davon dar;
-
21 stellt
die Interaktion zwischen Festpunkt (FixedPoint) und Kontrollpunkt
in Übereinstimmung mit
der Erfindung grafisch dar.
-
A. Systemübersicht
-
Die
strukturierte Bildaufbereitung (SI) ist eine hierarchische Beschreibung
eines zusammengesetzten Rasterbilds, das sich aus Komponentenbildern
(d.h. untergeordneten Objekten) und den Bildverarbeitungsvorgängen (IPOs)
zusammensetzt, die erforderlich sind, um das ausgegebene Rasterbild
aufzubereiten. Jeder Datentyp, der als ein Raster aufbereitet werden
kann, ist eine potenzielle Komponente einer strukturierten Bildaufbereitung.
Die strukturierte Bildaufbereitung ist eine Voraussetzung für die einfache
und schnelle Erstellung und Manipulation von komplexen Bildern,
die in gedruckte Dokumente aufgenommen werden sollen.
-
Die
strukturierte Bildaufbereitung kann in ein herkömmliches Hardware-System 100 (siehe 1)
implementiert werden, das einen Mikroprozessor 110 zum
Empfangen von Signalen von verschiedenen anderen Komponenten des
Systems 100 und zum Ausgeben von Signalen an dieses gemäß einem
oder mehreren Software-Programmen umfasst, die auf einem Mikroprozessor 110 gefahren
werden. Eine Benutzer-Eingabevorrichtung 120, wie beispielsweise
eine Maus, eine Tastatur, ein Berührungsbildschirm und/oder Kombinationen
davon, wird bereitgestellt, um es einem Benutzer zu gestatten, mit
der strukturierten Bildaufbereitung eine Schnittstelle herzustellen,
beispielsweise durch Zuführen
von Steuersignalen zu dieser. Eine Bild-Ausgabevorrichtung 130,
wie beispielsweise ein Video-Anzeigebildschirm oder ein Drucker,
kann zum Ausgeben von strukturierten Bilddaten vorgesehen sein.
Eine Eingabevorrichtung 140 für strukturierte Bilder, wie
beispielsweise eine Abtastvorrichtung, kann zum Abtasten von Bildern
bereitgestellt werden, die dann im Speicher als Bildquellen gespeichert
werden. Bildquellen können
beispielsweise auch von Platten zugeführt werden.
-
Der
Mikroprozessor 110 umfasst einen Festspeicher (ROM) 150 zum
Speichern von Betriebsprogrammen und Bilddaten, die von der strukturierten
Bildaufbereitung zum Konstruieren und Bearbeiten von Bildern verwendet
werden. Ein Arbeitsspeicher (RAM) 160 wird zum Fahren der
verschiedenen Betriebsprogramme bereitgestellt, und zusätzliche
Dateien 170 können
für RAM-Überlauf
bereitgestellt werden.
-
Es
ist jedoch wichtig, dass die strukturierte Bildaufbereitung auch
in (nicht gezeigte) eingebettete Systeme sowie vernetzte Systeme
implementiert werden kann, wo die verschiedenen Hardware-Komponenten vernetzt
sind und sich am gleichen Ort befinden können oder nicht (ebenfalls
nicht dargestellt). Es ist nicht erforderlich, dass das Hardware-System
festverdrahtet ist. Das oben beschriebene herkömmliche Hardware-System ist
nur als Beispiel angegeben und wird nicht mehr bevorzugt als die
eingebetteten oder vernetzten Systeme.
-
A1. Definition der strukturierten
Bildaufbereitung
-
Ein
strukturiertes Bild wird definiert durch ein "Objekt", das eine Darstellung von Daten ist,
die in ein Rasterbild aufbereitet werden können, und ein "Pasteboard", das einen "Bildrahmen" für das darauf
aufzubereitende Objekt darstellt. Ein strukturiertes Bild hat keine
absolute Größe, die
in der Beschreibung des strukturierten Bilds spezifiziert ist. Die
Größe jedes
untergeordneten Objekts wird in dem Pasteboard als eine Größe bezüglich des
dem untergeordneten Objekt übergeordneten
Objekts (parent) gespeichert.
-
Zum
Umwandeln eines strukturierten Bildobjekts in ein Rasterbild wird
die ReadObject()-Aufbereitungsprozedur,
siehe unten, über
entsprechende Befehlsanweisungen aufgerufen, wobei beispielsweise
die Benutzer-Eingabevorrichtung 120 mit dem Objekt, dem
Pasteboard und den absoluten Maßen
des übergeordneten
Objekts als Parameter verwendet wird. Das strukturierte Bildobjekt
und alle untergeordneten Objekte werden automatisch auf die richtige
Ausgabegröße aufbereitet.
Ein strukturiertes Bild wird durch eine strukturierte Bilddefinitions-
(SID) (Structured Image Definition) Datei beschrieben.
-
Es
sollte klar sein, dass ein strukturiertes Bildobjekt automatisch
in die strukturierte Bilddefinition abgetastet werden kann, indem
die entsprechende Abtast-Software für strukturierte Bildaufbereitung
verwendet wird. Daher ist die interaktive Bearbeitung keinesfalls
das einzige Verfahren zum Erstellen oder Vorbereiten einer strukturierten
Bilddefinition für
den Druck.
-
A2. Strukturiertes Bildobjekt
-
Ein
strukturiertes Bildobjekt ist eine Darstellung von Daten (siehe 2),
die in ein Rasterbild aufbereitet werden können. Diese Daten können einfache
Rasterbilder darstellen, wie beispielsweise TiFF-Dateien, oder kompliziertere
Daten, wie beispielsweise eine hierarchische Sammlung von untergeordneten
Objekten und damit verknüpften
Raster-Verarbeitungsvorgängen. Zu
möglichen
Objekt-Datentypen gehören:
- 1) Rasterbild – TiFF, RES oder andere digitale
Anzeige,
- 2) Toy-Text - einfache Textanmerkung,
- 3) CGM-Grafik - einfacher grafischer Vermerk,
- 4) IPD – Bildverarbeitungsdefinition
von strukturierten Bildern,
- 5) MR-Datei - Datei mit einer Beschreibung von Mehrfach-Bilddarstellungen.
-
Ein
wichtiges Merkmal der strukturierten Bildaufbereitungs-Technologie
ist die Fähigkeit,
Bildverarbeitungsvorgänge
(IPOs) in der strukturierten Bilddefinition zu speichern. Der Objektdatentyp
Bildverarbeitungsdefinition (IPD) stellt den Mechanismus zum Speichern
von Bildverarbeitungsvorgängen
bereit, wie im Folgenden ausführlicher
erläutert
wird.
-
Ein
einzelnes strukturiertes Bildobjekt kann mehr als einen Datentyp
und/oder eine Datendatei aufweisen. Beispielsweise (siehe 3)
kann ein einzelnes strukturiertes Bildobjekt auf ein Verzeichnis
verweisen, das mehrere TiFF-Dateien enthält, die mit unterschiedlichen
Auflösungen
gespeichert sind. Jede TiFF-Datei stellt das gleiche Bild dar, weist
aber unterschiedliche absolute Pixelmaße und Fotometrie auf. Dieses
Konzept ist als Mehrfachdarstellungen (MR) bekannt. Die strukturierte
Bildaufbereitung spezifiziert mehrere Darstellungen, die dynamisch
festzulegen sind, doch das MR-Dateiformat wird für diejenigen Anwendungen definiert,
die explizite Spezifikationen von Mehrfachdarstellungen erfordern
(wie im Folgenden beschrieben wird).
-
Das
Objekt der obersten Ebene in einem strukturierten Bild, d.h. das
Objekt, das kein übergeordnetes Objekt
aufweist, wird als das Wurzelobjekt (root object) bezeichnet. Dieses
wird in der Erläuterung
des Objekt-Aufbereitungsprozesses im Folgenden ausführlicherbeschrieben.
-
A3. Pasteboard
-
Das
Pasteboard ist der Bildrahmen, in den strukturierte Bildobjekte
aufbereitet werden. Im Pasteboard können mehrere Attribute spezifiziert
werden (3):
- 1)
Relative Größe (RelativeSize);
- 2) Winkel (Angle);
- 3) Passungsmodus (FitMode);
- 4) Ausrichtung (Justification); und
- 5) Kontrollpunkt (ControlPoint).
-
Das
Pasteboard gibt die Größe des aufbereiteten
Bilds relativ zu seinem übergeordneten
Objekt an. Beispielsweise kann das auf ein untergeordnetes Objekt
angewendete Pasteboard eine Größe wie (1,0,
0,5) in Bezug auf das übergeordnete
Objekt angeben, wobei (1,0, 0,5) Breiten- und Höhenverhältnisse sind. Zum Aufbereitungszeitpunkt,
wenn das übergeordnete
Objekt so angegeben ist, dass es mit (1000 × 2000) Pixeln aufbereitet
wird, würde
das untergeordnete Objekt mit (1000 × 1000) Pixeln aufbereitet,
weil durch das Pasteboard-Maß spezifiziert
ist, dass das untergeordnete Objekt mit der vollen Breite, aber
der halben Höhe
aufzubereiten ist. Die standardmäßige relative
Größe ist (1,0,
1,0).
-
Beim
Aufbereiten eines strukturierten Bilds wird die relative Größe verwendet,
um die absolute Größe des Pasteboards
basierend auf der absoluten Größe des übergeordneten
Objekts zu ermitteln (siehe 4). Aus
Gründen
einer Aufbereitung mit optimaler Qualität ist es jedoch unter Umständen vorzuziehen,
das untergeordnete Objekt auf andere absolute Maße aufbereiten zu lassen als
die Maße,
die durch das Pasteboard und die Größe des übergeordneten Objekts festgelegt
sind. Beispielsweise angenommen, das untergeordnete Objekt ist eine
TiFF-Datei mit abgetastetem Text mit einem Seitenverhältnis von
10 zu 1 (Breite zu Höhe).
Angenommen, das zugehörige
Pasteboard weist eine relative Größe von (0,67, 0,33) auf. Das übergeordnete
Objekt soll auf eine absolute Größe von (450 × 300) Pixel
aufbereitet werden. Deshalb weist das untergeordnete Pasteboard
eine absolute Größe von (300 × 100) auf.
Würde die
TiFF-Datei so skaliert, dass sie in dieses Fenster passt, würde sie
in der y-Richtung um den Faktor 3 gestreckt, was den Text in hohem
Maße verzerren würde. In
diesem Fall könnte
es vorzuziehen sein, den Text in dem ursprünglichen Seitenverhältnis aufzubereiten,
um ihn in das gewünschte
Pasteboard einzupassen, die TiFF-Datei könnte auf die Maße (300 × 30) skaliert
werden, um das Seitenverhältnis
von 10 zu 1 (Breite zu Höhe)
beizubehalten.
-
Zum
Unterstützen
dieser Aufbereitungsart definiert die strukturierte Bildaufbereitung
Passungsmodus- (FitMode) Attribute (siehe 5), um zu
definieren, wie Raster in den Maßen aufbereitet werden, die
durch das Pasteboard definiert sind. Diese Passungsmodi sind in 5 definiert.
Alle Modi, ausgenommen Gesamtpassung (FitAII), behalten das Seitenverhältnis des
Objekts bei. Allerdings wird das tatsächlich aufbereitete Rasterbild
immer durch die Pasteboard-Größe begrenzt.
Daher wird die eigentliche Größe des aufbereiteten Rasters
durch die Überschneidung
der Pasteboard-Größe und der
Größe des aufbereiteten
Objekts gemäß dem spezfizierten
Passungsmodus definiert. In 5 ist das
für den
Außenpassungs-
(FitOutside) Modus aufbereitete Objekt beträchtlich größer als das Pasteboard, aber
das eigentliche aufbereitete Raster wird durch das Pasteboard begrenzt.
Für den
Innenpassungs- (FitInside) Modus) wird das Objekt so aufbereitet,
dass es in das Pasteboard passt, wobei das Seitenverhältnis beibehalten
wird. Deswegen kann das eigentliche aufbereitete Raster kleiner
sein als das Pasteboard-Maß,
wenn das Seitenverhältnis
des Objekts nicht mit dem des Pasteboards übereinstimmt. Der standardmäßige Passungsmodus
ist FitInside.
-
Strukturierte
Bildobjekte können
unter Verwendung der oben definierten Passungsmodi aufbereitet werden,
doch kann es für
einige Anwendungen wünschenswert
sein, eine Kontrolle hinsichtlich der Stelle des aufbereiteten Rasters
in Bezug auf die Größe des Pasteboards
bereitzustellen. Das Ausrichtungs- (Justification) Attribut wird
verwendet, um anzugeben, wo das aufbereitete Raster innerhalb des
Pasteboards an einer von neun möglichen
Stellen zu positionieren ist, wie in 6 gezeigt,
wobei Beispiel in 7 dargestellt sind. Die standardmäßige Ausrichtung
ist Mitte (Center). Das Ausrichtungs-Attribut wird ignoriert, wenn
der Passungsmodus Gesamtpassung (FitAII) ist.
-
Jedes
Attribut kann ein Winkel- (Angle) Attribut aufweisen, das zum Drehen
des aufbereiteten Objekts verwendet wird. Das Ergebnis ist, dass
das Objekt in das spezifizierte Pasteboard aufbereitet wird, und
anschließend
das Pasteboard um den Kontrollpunkt (ControlPoint) (siehe unten)
um den in Grad angegebenen Winkel gedreht wird (siehe 8).
Danach ist das verwendete Objekt-Aufbereitungsprogramm für die korrekte Ausführung der
Aufbereitung des Objekts mit dem spezifizierten Winkel zuständig. Einige
Aufbereitungsprogramme sind in der Lage, Objekte mit dem entsprechenden
Winkel optimal aufzubereiten; andere Renderer können ein Rasterdrehungsprogramm
nach der ersten Objektaufbereitung aufrufen. Diese Wahlmöglichkeit hängt von
der Implementierung ab. Die tatsächliche
Größe des aufbereiteten
Rasters ist eine grafische Begrenzungslinie des gedrehten aufbereiteten
Rasters, wie in 8b gezeigt. Der standardmäßige Drehwinkel ist
0,0 Grad.
-
Im
Fall eines übergeordneten
Objekts, das sich aus einer Gruppe von untergeordneten Objekten
zusammensetzt, wird jedes untergeordnete Objekt aufbereitet und
auf dem übergeordneten
Pasteboard an einer Stelle gemischt, die als Mischpunkt (MergePoint)
bekannt ist. Der Mischpunkt wird in Bezug auf das Pasteboard des übergeordneten
Objekts spezifiziert. Der Kontrollpunkt ist der entsprechende Punkt
in Bezug auf das Pasteboard des untergeordneten Objekts. Der Kontrollpunkt
des untergeordneten Objekts muss mit dem Mischpunkt des übergeordneten
Objekts in Deckung gebracht werden.
-
Beispielsweise
führt ein
Kontrollpunkt von (0,5; 0,5) dazu, dass das untergeordnete Objekt
auf dem Mischpunkt zentriert wird. Der standardmäßige Kontrollpunkt-Wert ist
(0,5; 0,5).
-
Der
Kontrollpunkt (zusammen mit dem Mischpunkt) kontrolliert, wo ein
aufbereitetes untergeordnetes Objekt auf dem Pasteboard eines übergeordneten
Objekts gemischt wird. Innerhalb der strukturierten Bilddefinition
werden der Kontrollpunkt und das mit dem untergeordneten Objekt
verknüpfte
Pasteboard in Koordinaten in Bezug auf das Pasteboard des untergeordneten
Objekts angegeben. Allerdings füllt
ein aufbereitetes untergeordnetes Objekt das angegebene Pasteboard
nicht notwendigerweise, was von den Passungsmodus- und den Winkel-Attributen
abhängt.
Daher müssen
die Aufbereitungsprogramme für
jedes Objekt den Kontrollpunkt automatisch justieren, um die gleiche
relative Position in Bezug auf das aufbereitete untergeordnete Objekt
beizubehalten.
-
Als
nächstes
wird auf das Beispiel in 9 Bezug genommen. Der Kontrollpunkt
befindet sich anfänglich
in der Mitte des untergeordneten Objekts (0,5, 0,5) Nach der Aufbereitung
mit dem Passungsmodus Passung wie vorgegeben (FitAsls), wobei das
untergeordnete Objekt nach Oben rechts (TopRight) ausgerichtet wird,
wird der Kontrollpunkt automatisch auf den absoluten Wert (–15, 30)
ausgerichtet. Dadurch wird veranlasst, dass der Mischvorgang das
aufbereitete Raster an der erwarteten Position positioniert. Um
das Beispiel verständlich
zu machen, ist für
das untergeordnete Objekt in der strukturierten Bilddefinition die
Größe (0,3, 0,6)
angegeben. Die Aufbereitung gibt an, dass die Größe des übergeordneten Objekts (200 × 100) ist,
somit ist die geforderte untergeordnete Größe 60 × 60. Der Passungsmodus gibt
jedoch FitAsls an. Das eigentliche untergeordnete Objekt wird mit
15 × 45
gespeichert, somit ist das aufbereitete Raster 15 × 45. Die
Ausrichtung gibt TopRight an, damit wird das 15 × 45-Raster oben rechts der
geforderten 60 × 60-Größe positioniert,
so dass der Anfang des aufbereiteten Rasters bei (45, 0) in Bezug
auf das geforderte Raster legt. Da die Rastergröße, die sich den Pfad nach
oben bewegt, die Größe des aufbereiteten
untergeordneten Objekts aufweist und nicht die 60 × 60-Größe des geforderten
untergeordneten Objekts, muss der Kontrollpunkt justiert werden, um
die Verschiebung in Bezug auf das eigentliche aufbereitete untergeordnete
Objekt widerzuspiegeln. Der Kontrollpunkt wird in Bezug auf die
geforderte Größe des untergeordneten
Objekts zu (30, 30) zugewiesen. Da der Anfang des aufbereiteten
untergeordneten Objekts in Bezug auf den Anfang der geforder ten
Größe bei (45,
0) liegt, ist leicht zu erkennen, dass der Kontrollpunkt bei (30 – 45, 30 – 0) = (–15, 30)
in Bezug auf das aufbereitete untergeordnete Objekt liegt (siehe 9).
-
Kontrollpunkt-Informationen
werden in den Kopfdaten des aufbereiteten Rasterbilds gespeichert.
Auf diese Weise stehen Kontrollpunkt-Informationen für alle Bildverarbeitungsvorgänge zur
Verfügung,
die davon Kenntnis haben müssen.
Insbesondere der Bildverarbeitungsvorgang Räumliche Transformation (SpatialTransform)
muss den Kontrollpunkt gemäß der spezifizierten
Transformation richtig justieren, wie in den folgenden Beispielen
gezeigt wird.
-
A4. ReadObject
-
ReadObject()
ist eine Prozedur (Objektleseprozedur), die ein strukturiertes Bildobjekt
in ein Rasterbild umwandelt, das zur weiteren Verarbeitung geeignet
ist. ReadObject() verwendet ein Pasteboard, ein strukturiertes Bildobjekt,
(gleichgültig,
ob erstellt oder abgetastet), und die absolute Größe des übergeordneten
Objekts als Parameter. In dem Fall des Wurzelobjekts (RootObject)
ist die angegebene Größe das gewünschte Ausgabebildmaß und das
Feld für
relative Größe des Pasteboards
ist normalerweise leer, was den Standardwert von (1,0, 1,0) impliziert.
Andere Informationen können
an ReadObject() übergeben
werden, wenn solche Informationen verwendet werden können, um
die Qualität
der Objektaufbereitung zu verbessern.
-
ReadObject()
führt mehrere
Vorgänge
aus, um das entsprechende Rasterbild aufzubereiten:
- 1) Festlegen der absoluten Pasteboard-Größe;
- 2) Festlegen aller Darstellungen, auf die durch das Objekt verwiesen
wird;
- 3) auf der Basis verfügbarer
Informationen Auswählen
einer entsprechenden Darstellung zum Aufbereiten;
- 4) Aufbereiten von Daten in Raster gemäß Passungsmodus, Ausrichtung
und (möglicherweise)
Winkel, indem eine entsprechende Aufbereitungsprozedur aufgerufen
wird;
- 5) Drehen des aufbereiteten Rasters in dem durch das Winkel-Attribut
angegebenen Winkel, (falls nicht in Schritt 4 durchgeführt); und
- 6) Justieren der Kontrollpunkt-Position. Die Ausgabe der ReadObject()-Prozedur
ist ein Rasterbild des aufbereiteten Objekts.
-
Der
Kontrollpunkt wird in den Kopfdaten des Rasterbilds in dem Koordinatensystem
des Rasterbilds angegeben.
-
ReadObject()
ermittelt die absolute Pasteboard-Größe, indem die Maße des übergeordneten
Objekts mit der im Pasteboard angegebenen relativen Größe multipliziert
werden. Wenn keine Pasteboard-Größe 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) war, ist die absolute Größe des Pasteboards
(1000 × 1000).
Es kann sein, dass das eigentliche aufbereitete Objekt, abhängig von
den oben erläuterten
Attributen von Passungsmodus und Winkel, diese Größe nicht
aufweist.
-
Ein
strukturiertes Bildobjekt arbeitet als ein Verweis auf eine Datendatei
oder Darstellung, die in ein Rasterbild aufbereitet werden können. Die
Darstellung kann eine von mehreren Arten aufweisen, wie beispielsweise
Raster, Text und/oder Vektorgrafik. Ein Objekt kann des Weiteren
auf mehrere Darstellungen verweisen, von denen jede das gleiche
Bild darstellt, das sich aber in dem Speicherformat, der Größe und/oder
Auflösung unterscheidet.
Wenn ReadObject() aufgerufen wird, muss ermittelt werden, welche
Darstellung die "beste" Darstellung zum
Aufbereiten ist, indem die Finder()-Prozedur (Suchprozedur) aufgerufen
wird. Finder() sucht alle Darstellungen, auf die durch das Objekt
verwiesen wird und wählt
aus, welche Darstellung zum Aufbereiten am geeignetsten ist.
-
Sobald
eine Darstellung ausgewählt
worden ist, muss sie in ein Rasterbild aufbereitet werden. Jeder unterstützte Datentyp
muss eine damit verknüpfte
Aufbereitungsprozedur aufweisen, um die Darstellung in ein Rasterbild
umzuwandeln. Diese Aufbereitungsprozeduren müssen die Attribute von Passungsmodus
und Winkel unterstützen.
Vorzugsweise werden die folgenden Datentypen unterstützt:
-
-
-
Die
Render()-Prozedur (Aufbereitungsprozedur) kann die Drehwinkel direkt
in die Objekt-Aufbereitung aufnehmen oder einen Rasterdrehungsvorgang
auf das gerasterte Objekt anwenden. Beispielsweise weisen verfügbare Textaufbereitungsprogramme
die Fähigkeit
auf, Text direkt in einem angegebenen Winkel aufzubereiten, was
zu einer besseren Qualität
führt als
eine horizontale Aufbereitung mit anschließender Rasterdrehung.
-
Wie
vorher erläutert,
muss der Kontrollpunkt justiert werden, um die gleiche relative
Position des aufbereiteten Objekts und des Mischpunkts abhängig von
Passungsmodus, Ausrichtung und Winkel beizubehalten. Für diese
Justierung und das Einfügen
des justierten Kontrollpunkts in die Rasterbild-Kopfdaten ist ReadObject()
zuständig,
um ihn damit allen Bildverarbeitungsvorgängen zur Verfügung zu
stellen, die ihn ebenfalls justieren können (wie beispielsweise SpatialTransform).
-
A5. Finder
-
Die
ReadObject()-Prozedur ruft die Finder()-Funktion auf, um Objektdaten
zum Aufbereiten in ein Ausgaberasterbild zu suchen und zurückzugeben.
Die Finder()-Prozedur führt
sechs Aktionen in Übereinstimmung mit
der Aufbereitung eines strukturierten Bilds aus:
- 1)
Suchen aller Darstellungen des Objekts;
- 2) Identifizieren der Art jeder Darstellung (TiFF, Text, Grafik);
- 3) Festlegen von Attributen für jede Darstellung, die zum
Auswählen
der besten Darstellung notwendig sind;
- 4) Anwenden einer Vorzugsfunktion (merit function) auf jede
verfügbare
Darstellung und Auswählen
der Darstellung mit dem höchsten
Vorzugswert;
- 5) Zurückgeben
eines Adressenverweises auf die Darstellungsdaten; und
- 6) Zurückgeben
des Darstellungs-Datentyps.
-
Der
Finder()-Mechanismus ist notwendigerweise abhängig von der speziellen Implementierung.
Einige Feststellungen hinsichtlich der Funktionalität lassen
sich jedoch treffen.
-
In
der aktuellen Syntax der strukturierten Bilddefinitionssprache (Structured
Image Definition Language) (SIDL) kann ein strukturiertes Bildobjekt
in einer von drei Arten beschrieben werden (der folgende Quellcode
unterliegt dem Copyright-Schutz und kann auf dem vorher beschriebenen
Hardware-System ausgeführt werden):
-
-
Ein
als Extern (External) definiertes Objekt ist derart, dass Daten,
auf die durch das Objekt verweisen wird, nicht in der aktuellen
strukturierten Bilddefinition gespeichert werden. Normalerweise
werden die eigentlichen Daten in einer getrennten Datei gespeichert.
Das Feld System ist eine Beschreibung, das der Finder() verwendet,
um zu ver stehen, wie die Daten zu finden sind. Die Eingabe für Name ist
eine Gruppe von Schlüsselbegriffen,
die der Finder() verwendet, um die gewünschten Daten tatsächlich zu
suchen. In dem obigen Beispiel wird der Finder() implementiert,
um vorauszusetzen, dass eine Eingabe für System von "UNIX®" angibt, dass die
eigentlichen Daten gefunden werden, indem ein entsprechender UNIX®-Datei-Systempfad
nach einer Datei mit der Eingabe "bird.TiF" durchsucht wird. Hätte die Eingabe für System "SYBASE®" gelautet, würde der Finder()
die Schlüsselbegriffe
im Feld Name als Schlüsselbegriffe
zum Durchsuchen einer SYBASE®-Datenbank nach den Daten
verwenden.
-
Ein
als Intern (Internal) definiertes Objekt enthält die Daten, die direkt in
der strukturierten Bilddefinition gespeichert sind. Dies ist nützlich,
um kleine Objekte, wie beispielsweise Rastersymbole oder einfache
Textdateien direkt in der strukturierten Bilddefinition zu speichern,
wodurch kein externen Speicher erforderlich wird.
-
Die
Bildverarbeitungsdefinition ist ein Objektdatentyp für strukturierte
Bilder, der es ermöglicht,
dass ein strukturiertes Bild aus anderen strukturierten Bildobjekten
und Bildverarbeitungsvorgängen
zusammengesetzt werden kann. Basierend auf den Informationen, die
in dem strukturierten Bildobjekt gespeichert sind, muss der Finder()
alle verfügbaren
Darstellungen suchen und den Datentyp und alle Attribute festlegen,
die zum Auswählen
der "besten" Darstellung" für die Aufbereitung
erforderlich sind. Die zum Implementieren dieser Funktionen verwendeten
Mechanismen/Protokolle sind in der strukturierten Bildaufbereitung
nicht definiert, aber es ist klar, dass solche Mechanismen vorhanden
sind und zum Einsatz hierin zur Verfügung stehen.
-
Sobald
alle Darstellungen ermittelt sind, muss der Finder() die geeignetste
Darstellung zum Aufbereiten in das Ausgabe-Rasterbild auswählen. Der
Mechanismus wird durch Anwenden einer Vorzugsfunktionsberechnung
auf jede Darstellung implementiert. Die genaue Vorzugsfunktion ist
implementierungsabhängig und
ist in der strukturierten Bildaufbereitung nicht definiert; sie
sollte jedoch auf Attributen der Darstellungen, den gewünschten
Ausgabebild-Attributen, der Ziel-Ausgabevorrichtung (z.B. Schwarz/Weiß-Drucker, Farbanzeige)
und der Verarbeitungskomplexität
beruhen. Sobald eine Darstellung ausgewählt worden ist, gibt der Finder()
einen Adressenverweis auf die eigentlichen Daten und den Datentyp
an ReadObject() zurück,
damit die Verarbeitung beginnen kann.
-
A6. Bildverarbeitungsdefinition
(IPD)
-
Wie
oben erläutert
ist die Bildverarbeitungsdefinition eine strukturierte Bildobjektart,
die es ermöglicht, dass
ein strukturiertes Bild aus anderen strukturierten Bildobjekten
und Bildverarbeitungsvorgängen
zusammengesetzt werden kann. Die Bildverarbeitungsdefinition stellt
eine strukturierte Beschreibung von Verweisen auf Komponentenobjekte
und Bildverarbeitungsvorgänge
dar, die auf diese Komponentenobjekte angewendet werden. 10 ist
eine grafische Darstellung einer Bildverarbeitungsdefinition.
-
Eine
Bildverarbeitungsdefinition besteht aus Verweisen auf die folgenden
Deskriptoren:
- 1) Standardgröße;
- 2) ReadObject;
- 3) Pfad;
- 4) Bildverarbeitungsvorgang;
- 5) Mischen;
- 6) Pasteboard;
- 7) Initialisierungsprogramm; und
- 8) Komponenten-Pasteboard.
-
In 10 ist
jede vertikale Linie, die als Pfad bezeichnet wird, eine Sammlung
von Bildverarbeitungsvorgängen.
ReadObject stellt eine Prozedur dar, die ein strukturiertes Bildobjekt
in eine Rasterbild umwandelt, das zum Verarbeiten durch den Bildverarbeitungsvorgang
in dem Pfad geeignet ist. Das aufbereitete Objekt fließt durch
den Pfad und wird nacheinander von jedem Bildverarbeitungsvorgang
verarbeitet. In jedem Pfad wird ein Pasteboard gespeichert, das
von ReadObject zum Definieren eines "Bildrahmens" verwendet wird, in den das strukturierte
Bildobjekt aufbereitet wird. Dieses Pasteboard wird als Komponenten-Pasteboard
bezeichnet. Die horizontale Linie ist das Pasteboard des Bildverarbeitungsdefinitions-Objekts
und stellt ein "leeres" Rasterbild dar,
auf das die Komponenten-Pasteboards gemischt werden. Die schwarzen
Dreiecke stellen Misch- (Merge) Vorgänge dar, in denen Komponenten-Pasteboards
auf das Pasteboard des Objekts kombiniert werden. Die Mischreihenfolge
von Komponenten-Pasteboards
ist explizit, wodurch eine Richtung von "oberen" und "unteren" Bildern un terstützt wird. 11 stellt
den Fluss von Rasterdaten während
der Aufbereitung eines strukturierten Bildes dar (d.h. den Kontrollfluss
von ReadObject zu Merge).
-
Jede
Bildverarbeitungsdefinition muss Informationen enthalten, die eine
Standardgröße für die Bildverarbeitungsdefinition
angeben. Diese Informationen werden für die Aufbereitungsprogramme
als ein Hinweis in der aktuellen Sprache der Bildverarbeitungsdefinition
in Bezug auf die Größe verwendet,
in die das Bild aufbereitet werden sollte, wobei diese Informationen
vorzugsweise als eine Seitenverhältnis-
und Standardbreite-Zeichenfolge gespeichert werden. Zum Beispiel:
-
-
Das
Feld Seitenverhältnis
(AspectRatio) wird durch das Verhältnis von Höhe zu Breite definiert. Das Feld
Standardbreite (DefaultWidth) ist eine Zeichenkette, die eine Breite
und eine Maßeinheit
definiert. Mögliche
Maßeinheiten
sind: Zoll, cm, mm, m, Punkt und Pixel.
-
Bildverarbeitungsvorgänge sind
vorrichtungsunabhängige
Beschreibungen von Bildverarbeitungsbefehlen. Nur ein Bildverarbeitungsvorgang
wird gegenwärtig
in der strukturierten Bildaufbereitung spezifiziert: der Bildverarbeitungsvorgang
Räumliche
Transformation (SpatialTransform), der in den folgenden Beispielen ausführlicher
erläutert
wird. Es ist jedoch klar, dass zusätzliche Bildverarbeitungsvorgänge implementierungsabhängig sind.
Von diesen werden gewisse grundlegende Funktionen als wesentlich
betrachtet und sind bevorzugte Bildverarbeitungsvorgänge, wie
folgt:
- 1) Übertrager: übertragt
räumlich
die Größe oder
Form eines Bilds (z.B. affin, verzogen);
- 2) Formatierer: wandelt Pixel von einem Format in ein anderes
um (z.B. Convert, Interleave, Cspace);
- 3) Filter: wendet verschiedene Filtervorgänge an (z. B. Convolve, Median,
morphologisch);
- 4) Colorizer: stimmt den Farbwert von Bildern ab (z.B. relativ,
absolut, Kontrast, Weißpunkt);
- 5) Maske: wendet Maskenvorgänge
an (z.B. hinzufügen,
extrahieren, umwandeln, anwenden); und
- 6) Sonstige: wenden andere sonstige Vorgänge an.
-
Ein
Bildverarbeitungsvorgang kann den Auswahlbereich seines Vorgangs
spezifizieren. Eine Auswahl ist eine Beschreibung dessen, welche
Pixel in einem Bild in einem speziellen Vorgang verarbeitet werden
sollen. Beispielsweise kann die Auswahl Bitmaps oder eine mathematische
Beschreibung von Bereichen umfassen. Normalerweise sind die Auswahlwerte
binärer
Natur, d.h. ein Pixel wird entweder verarbeitet oder nicht verarbeitet.
Ein "grauer" Auswahlwert verursacht,
dass der Ausgabepixelwert zwischen dem ursprünglichen Pixelwert und dem
verarbeiteten Pixelwert skaliert wird.
-
Wie
in 12 gezeigt wird, werden alle untergeordneten Objekte
in einer Bildverarbeitungsdefinition in das übergeordnete Pasteboard an
der Stelle gemischt, die vom Mischpunkt (in Bezug auf das übergeordnete Pasteboard)
und vom Kontrollpunkt (in Bezug auf das untergeordnete Pasteboard)
angegeben wird. Die Mischreihenfolge ist in der Bildverarbeitungsdefinition
explizit.
-
Normalerweise
weist das Pasteboard eines Bildverarbeitungsdefinitions-Objekts
ein "leeres" Raster auf, auf
das Komponenten-Pasteboards gemischt werden. Es ist möglich, ein
Pasteboard mit einer Farbe, einem Muster oder sogar einem Rasterbild
unter Verwendung des Initialisierungsprogramms (siehe 13)
zu initialisieren. Ein Initialisierungsprogramm ist eigentlich ein
Pfad, der ein ReadObject() und Bildverarbeitungsvorgänge enthält. Die
Einschränkung
ist, dass die relative Größe (1,0,
1,0) betragen muss, und dass keine Bildverarbeitungsvorgänge für räumliche
Transformation in dem Pfad vorhanden sind. Das Pasteboard hat die Größe des aufbereiteten
Initialisierungsprogramms. Normalerweise wird das Initialisierungsprogramm
zum Verändern
der Farbschemata (colorize) des Pasteboards oder zum Initialisieren
des Pasteboards mit einem Hintergrund-Rasterbild verwenden.
-
B. Ungebundene/unvollständige strukturierte
Bilder
-
Die
Erfindung ermöglicht
es des Weiteren, dass strukturierte Bilder definiert werden können, die
Felder in der strukturieren Bilddefinition aufweisen, die als undefiniert
gekennzeichnet sind. Solche Felder sind Platzhalter für Daten,
die dynamisch an das strukturierte Bild gebunden werden und laufzeit-
(aufbereitungszeit-) spezfisch sind. Es gibt zwei Klassifizierungen
für undefinierte
Felder:
- 1) ungebundene (Unbound) strukturierte
Bilder; und
- 2) unvollständige
(Incomplete) strukturierte Bilder.
-
B1. Ungebundenes
strukturiertes Bild
-
Im
Allgemeinen sind Komponentenobjekte eines strukturierten Bilds nicht
in der strukturierten Bilddefinition selbst enthalten, sondern es
wird auf sie durch Felder von strukturierten Bildobjekten verwiesen
(wie beispielsweise die Felder System und Name eines externen Objekts).
In der gegenwärtigen
Syntax der strukturierten Bilddefinitionssprache können dieses
Felder als undefiniert gekennzeichnet werden. Dies ermöglicht die
dynamische Bindung von Daten an das strukturierte Bild.
-
Angenommen
eine interaktive Bearbeitungssitzung, in der ein Benutzer ein strukturiertes
Bild zum Drucken erstellt. Das strukturierte Bild soll nur einmal
verwendet und dann verworfen werden. Der Benutzer erstellt das strukturierte
Bild unter Verwendung eines interaktiven Editors für strukturierte
Bilder, (wobei dies wiederum nur eine beispielhafte Möglichkeit
zum Erstellen eines strukturierten Bilds ist, und sie ist nicht
notwendigerweise bevorzugter als die Erstellung mit einer Vortage
oder automatische Erstellung unter Verwendung einer geeigneten Abtast-Software).
Alle Komponenten des strukturierten Bilds sind bekannt und definiert. Nach
der Beendigung druckt der Benutzer das strukturierte Bild und der
Auftrag ist abgeschlossen. Die strukturierte Bilddefinition, die
zum Beschreiben dieses strukturierten Bilds generiert wurde, ist
als vollständig
gebunden bekannt, was bedeutet, dass alle Komponenten vor der Aufbereitung
definiert wurden. Das heißt,
dass vollständig
gebunden bedeutet, dass alle Objekte in der Bildverarbeitungsdefinition
auf definierte Dateneinheiten verweisen, bevor die Ausgabe des strukturierten
Bildrasters aufbereitet wird.
-
In
vielen Anwendungen sind vollständig
gebundene Bilder für
den Auftrag jedoch nicht angemessen. Angenommen, beispielsweise
ein Werbefachmann generiert eine Broschüre, in der eine Komponente
des Bilds abhängig
vom geografischen Verkaufsort verändert werden muss. Alle möglichen
Bilder dieser Komponente sind in einer Datenbank gespeichert. Der
Werbefachmann kann die Eingabe für
System in einem externen Objekt definieren, um das Datenbanksystem
zu identifizieren, z.B. SYBASE®, aber das Feld Name wird als
undefiniert gekennzeichnet. Zur Laufzeit kann der korrekte Schlüsselbegriff
dynamisch an das Objekt gebunden werden, um für jeden ein gefordertes Ausgabebild
zu generieren. Unter Verwendung dieses Verfahrens kann ein einzelnes
strukturiertes Bild verwendet werden, um viele verschiedene Ausgabebilder
zu generieren. Ungebundene Bilder sind gültige strukturierte Bilder,
aber sie erfordern zusätzliche
Informationen zur Laufzeit, die aufbereitet werden müssen.
-
Insbesondere
weist das strukturierte Bild keine Präferenz von Gebundenen oder
Ungebundenen Bildern auf, die Auswahl hängt von der Anwendung ab (siehe 15 hinsichtlich
einer repräsentativen
Benutzer-Anzeigevorrichtung, wobei ungebundene strukturierte Bildaufbereitung
verwendet wird.
-
B2. Das unvollständige strukturierte
Bild
-
Ähnlich wie
beim Konzept der ungebundenen Bilder ermöglicht es die Erfindung, dass
Parameter von Bildverarbeitungsvorgängen undefiniert sind. Auch
ein Bildverarbeitungsvorgang selbst kann undefiniert sein. Beispielsweise
angenommen, ein Werbefachmann erstellt eine Broschüre, die
Bilder von Fahrzeugen enthält, wobei
die Farbe eines Fahrzeugs zwischen den Druckvorgängen geändert werden muss. Der Werbefachmann kann
separate Bilder des Fahrzeugs mit allen möglichen Farben haben und eine
dynamische Bindung der strukturierten Bilddefinition verwenden.
Der Werbefachmann kann sich aber auch dafür entscheiden, ein einzelnes
Fahrzeugbild zu verwenden und die gewünschte Farbe als ein Argument
an die Aufbereitungsprozeduren zur dynamischen Bindung an den Bildverarbeitungsvorgang
zu übergeben.
Wenn der Farbwert zur Laufzeit nicht bereitgestellt wird, kann die
Aufbereitung des Ausgaberasters nicht erfolgen. Dies ist als "unvollständiges" strukturiertes Bild
bekannt (siehe 15). Ein unvollständiges strukturiertes
Bild ist eines, in dem irgendein Teil der strukturierten Bilddefinition nicht
definiert ist und zur Laufzeit gebunden werden muss. Unvollständige strukturierte
Bilder sind gültige
strukturierte Bilder, aber sie können
ohne zusätzliche
Informationen nicht aufbereitet werden.
-
B3. Aufbereiten von ungebundenen/unvollständigen strukturierten
Bildern
-
Beim
Aufbereiten eines ungebundenen strukturierten Bilds sind zwei wichtige
Gesichtspunkte offenkundig:
- 1) Bindungsmechanismus;
und
- 2) Aufbereitungsmodell.
-
Der
Mechanismus, mit dem ungebundene strukturierte Bilder dynamisch
gebunden werden, hängt
von der Implementierung ab. Vier mögliche Mechanismen werden hier
identifiziert, doch können
andere möglich sein:
- 1) Anforderung, dass das strukturierte Bild
immer ein "vollständiges Bild" darstellt; wenn
das strukturierte Bild ungebunden/unvollständig ist, Durchführen eines
Vorfiltervorgangs zum Modifizieren der strukturierten Bilddefinition.
- 2) Verwenden des aktuellen Verweis-Bindungsmechanismus. Die
strukturierte Bilddefinitions-Datei kann urdefinierte Verweise und
Bindungsinformationen wie beschrieben in einer anderen Datei als "Tag"-Definitionen enthalten,
die undefinierten Verweisen in der strukturierten Bilddefinitionssprache
entsprechen. Die Bindung wird ausgeführt, indem die strukturierte
Bilddefinitions-Datei und die Bindungsinformationen verkettet werden,
um eine vollständige
strukturierte Bilddefinition zu erstellen;
- 3) Spezifizieren der Bindungsinformationen als Parameter für den Renderer
des strukturierten Bilds; oder
- 4) Aufnehmen eines dynamischen Bindungsverfahrens, das automatisch
aufgerufen wird, in die Finder()-Prozedur, um für jedes ungebundene/unvollständige Feld
in der strukturierten Bilddefinition eine Entsprechung zu erstellen.
-
Zu
Erfindungszwecken werden alle der oben beschriebenen Bindungsmechanismen
bevorzugt, doch ist klar, dass die Wahl zwischen den verschiedenen
Mechanismen von der Implementierung abhängt.
-
Für bestimmte
Anwendungen kann ein strukturiertes Bild Felder aufweisen, die zur
Aufbereitungszeit nicht vollständig
gebunden werden können.
Beispielsweise angenommen ein Dokument, in dem jede Seite ein strukturiertes
Bild ist, das sechs identische untergeordnete Objekte enthält, die
zur Aufbereitungszeit gebunden werden müssen, z.B. eine Immobilienauflistung,
in der jedes untergeordnete Objekt einem zum Verkauf stehenden Haus
entspricht. Angenommen, das Dokument soll insgesamt neun Häuser anzeigen.
Dies würde zwei
Dokumentseiten erfordern, doch sind nur drei der untergeordneten
Objekte auf der zweiten Seite erforderlich. Der Renderer des strukturierten
Bilds kann in drei Modellen arbeiten, obwohl andere möglich sein
können:
- 1) Fehlschlag mit einem ungebundenen Fehler;
- 2) ungebundene Objekte ignorieren, unvollständige Bildverarbeitungsvorgänge als
Nicht-Vorgänge
behandeln; und
- 3) nur das Pasteboard von ungebundenen Objekten aufbereiten,
unvollständige
Bildverarbeitungsvorgänge als
Nicht-Vorgänge
behandeln.
-
Alle
drei Modelle werden für
den Einsatz mit der Erfindung bevorzugt, doch wird anerkannt, dass
die Wahl von der Anwendung abhängt.
-
C. Aufbereitung
-
Obwohl
das Aufbereiten in der strukturierten Bilddefinitionssprache nicht
speziell definiert wird, wird hierin aus Klarheitsgründen eine
kurze Erläuterung
bereitgestellt. In echten Aufbereitungsprozessen können einige
Aufbereitungsverfahren ausgewählt
werden entsprechend den Umständen,
wie beispielsweise Zweck, Priorität, Ressourcen und so weiter.
Die Aufbereitung ist ein implementierungsspezifischer Vorgang, doch
ist klar, dass alle Implementierungen von Aufbereitungsprogrammen
von strukturierten Bildern eine gleichwertige Ausgabe eines vorgegebenen
strukturierten Bilds und eine vorgegebene Ausgabevorrichtung erzeugen
müssen.
Es wird nicht erwartet, dass die Ergebnisse genau identisch sind,
weil leichte Unterschiede bei den Bildverarbeitungsprogram men unterschiedliche
Ergebnisse erzeugen; die Ausgaben müssen jedoch angemessen sein.
Diese Feststellung ist ungefähr
so, als sagte man, das verschiedene C-Compiler zwar keinen identischen Maschinencode
generieren müssen,
dass aber alle Compiler einen funktionierenden Maschinencode generieren
müssen
Zum Aufbereiten von strukturierten Bildern wurden zwei Vorgehensweisen
untersucht:
- 1) objektoientiertes Aufbereiten;
und
- 2) Verarbeitungsbaum-Aufbereitung.
-
C1. Objektorientierte
Aufbereitung
-
Objektorientierte
Aufbereitung (siehe 16) ist ein Verfahren zum direkten
Analysieren eines Objektbaums von oben nach unten (top-down parsing)
und entsprechendem fortlaufendem Aufbereiten jedes Objekts (strukturierten
Bilds). Wenn ein strukturiertes Bild eine Nachricht "Aufbereiten" empfängt, wird
es mit vorgegebenen Größen- und
Auflösungsattributen
oder Maßattributen
aufbereitet. Wenn andere Komponenten zur Erstellung des strukturierten
Bilds benötigt
werden, sendet das Objekt die Nachricht "Aufbereiten" an die Komponentenobjekte und ruft
die Ausgabebilder ab. Objektorientierte Aufbereitung ist die direkte
Ausführung
eines Objektbaums, den man sich am besten als "Interpretation" eines Objektbaums vorstellt. Objektorientierte
Aufbereitung ist am besten für
Aufbereitung in interaktiven Bearbeitungssituationen geeignet.
-
C2. Verarbeitungsbaum-Aufbereitung
-
Ein
Verarbeitungsbaum ist eine gezielte azyklische grafische Darstellung
von Bildverarbeitungsbefehlen, die vorrichtungsabhängig und
auflösungsabhängig sind
(siehe 17). Ein Verarbeitungsbaum entwickelt sich
durch Erweitern der strukturierten Bilddefinition, die mit allen
verschachtelten strukturierten Bildern verknüpft ist, zu einem einzigen
strukturierten Bild und wendet dann vorrichtungsabhängige Informationen
an, um alle Koordinaten und Maße
in absolute, vorrichtungsabhängige
Werte umzuwandeln. Dateninhalte, auf die durch Darstellungseingaben
verwiesen wird, werden in Raster aufbereitet. Da der Verarbeitungsbaum
vorrichtungsabhängig
und auflösungsabhängig ist,
lassen sich die Bildverarbeitungsvorgänge in Bezug auf die Verarbeitungsgeschwindigkeit durch
eine Reihe von Optimierungstechniken verbessern, die von Fachleuten
verstanden werden. Beispielsweise kann der Benutzer zwei Skalierungs-
und einen Drehungsvorgang in einen affinen Vorgang kombinieren,
wodurch übereinstimmende
kaskadierte Vorgänge
in affine kombiniert werden. Im Wesentlichen heißt das, warum drei getrennte
Vorgänge
ausführen,
wenn sie zum Verbessern der Arbeitsgeschwindigkeit in einen kombiniert
werden können.
-
Das
Ausgabebild wird dann durch ein einfaches Abarbeiten des sich daraus
ergebenden Verarbeitungsbaums aufbereitet. Diesen kann man sich
als eine "Kompilierung" eines Objektbaums
vorstellen. Die Verarbeitungsbaum-Aufbereitung ist besonders geeignet
zum Aufbereiten von sehr großen
Bildern, die typisch für den
Dokumentdruck sind. Durch die Bildverarbeitungs-Optimierung lässt sich
die zum Aufbereiten erforderliche Zeit beträchtlich reduzieren.
-
D. Beispiel für strukturierte
Bildaufbereitung
-
Das
in 18 gezeigte strukturierte Bild wird im Folgenden
kurz beschrieben. Dieses Beschreibungsbeispiel wird unter Verwendung
der oben beschriebenen strukturierten Bilddefinitionssprache beschrieben.
-
Das
strukturierte Bild der obersten Ebene in dieser Zusammensetzung
umfasst vier Komponenten:
- 1) Bergbild - Rasterbildobjekt
(Berg1);
- 2) "Beispiel..." - Textobjekt (Text1);
- 3) Baum und Haus - Bildverarbeitungsdefinition (Haus1); und
- 4) Vogelbild – Bitmapraster
(Vogel1)
-
Das
strukturierte Bild der zweiten Ebene umfasst zwei Komponenten:
- 1) Baumgrafik - Grafikobjekt (Baum2); und
- 2) Hausbild - Rasterobjekt (Haus2)
-
Die
strukturierte Bilddefinitionsdatei, die mit dem strukturierten Bild
der obersten Ebene verknüpft
ist, ist in den 19a–c dargestellt.
Strukturierte Bilder, (wiederum unterliegt der folgende Quellcode
dem Copyright-Schutz und kann auf dem vorher beschriebenen Hardware-System
ausgeführt
werden), werden als eine Gruppe von "Tags" in
der strukturierten Bilddefinitionssprache beschrieben, die durch
den Namen des Tag-Typs und Tag-Hauptteils, der von "{" und "}" umschlossen
ist, angegeben werden. Tags müssen
einen Namen unter Verwendung der ":name"-Syntax erhalten. Der Tage-Name kann
als Verweis auf andere Tags verwendet werden durch Voranstellen
von "Dollarzeichen". Das Objekt-Tag
ist die oberste Tag-Ebene des strukturierten Bilds. In diesem Beispiel
stellt das Objekt-Tag ein Bildverarbeitungsdefinitions-Objekt dar,
und seine Beschreibung befindet sich in dem als Verweis angegebenen
Tag "ipdl". Das Bildverarbeitungsdefinitions-Tag "ipol" definiert die Tags
Seitenverhältnis
(AspectRatio) und Standardbreite (DefaultWidth), die Pasteboard-Attribute
Anpassungsmodus (FitMode), Ausrichtung (Justification) und Winkel
(Angle) und vier Misch- (Merge) Tags, deren Abfolge die Mischreihenfolge
von "merge1" bis "merge4" angibt. Jedes Misch-Tag
gibt einen Mischpunkt in Bezug auf das Pasteboard mit dem Mischpunkt-
(MergePoint) Tag und eine Bildverarbeitungsabfolge mit einem Pfad-
(Path) Tag an. Das Pfad-Tag bezeichnet das untergeordnete Objekt
mit einem anderen Objekt-Tag, die relative Größe mit einem Größe- (Size)
Tag, die Position des Kontrollpunkts (in Bezug auf das untergeordnete
Objekt) mit dem Kontrollpunkt- (ControlPoint) Tag und die Bildverarbeitungsvorgänge mit
einer Liste von Bildverarbeitungsvorgangs- (IPO) Tags. Dabei ist
zu beachten, dass path1, path2 und path4 alle auf Raster-, Text-
oder Grafikdateien verweisen. Path3 verweist auf eine andere strukturierte
Bilddefinitions-Datei, die ein Rasterbild aus der Kombination eines
Grafikbaums mit einem Rasterbild eine Hauses erstellt.
-
D1. Mehrtachdarstellungs-
(MR) Dateiformat
-
Bei
einigen Anwendungen werden explizite Beschreibungen von verfügbaren Darstellungen
bevorzugt. Aus diesem Grund wird das MR-Dateiformat definiert. Dieses
Dateiformat verwendet derzeit eine Syntax, die derjenigen der strukturieren
Bilddefinitionssprache ähnlich
ist. Die 20a–c sind
Beispiele des MR-Dateiformats. Jede Darstellung wird mit einem Feld
Format (Format), das den Dateityp kennzeichnet, und einem Feld Daten
(Data) aufgeleistet, um die Daten explizit zu definieren. Bei dateibasierten
Daten, wie beispielsweise einer TiFF-Datei, enthält das Feld Daten einen UNIX®- Pfad zu der Datei.
Bei einfachem Text enthält
das Feld Daten die Text-Zeichenfolge.
-
Das
MR-Format ermöglicht
es, dass für
jede Darstellung explizit eine Gruppe von Attributen definiert werden
kann, welche die Daten beschreiben. Bei Rasterdaten können die
Attribute Maß-,
Fotometrie- oder andere Attribute enthalten. Bei Text-Objekten können die
Attribute Schriftart, Formatierung usw. enthalten. Die Verwendung
des MR-Formats wird
bei dieser Erfindung jedoch nicht bevorzugt.
-
D2. Bildverarbeitungsvorgang
(IPO) Räumliche
Transformation (SpatialTransform)
-
Der
einzige Bildverarbeitungsvorgang, der im Format des strukturierten
Bilds angegeben ist, ist der Bildverarbeitungsvorgang Räumliche
Transformation (SpatialTransform), der dazu dient, eine lineare
räumliche
Transformation an Rasterbildinhalten durchzuführen.
-
Beispiele
umfassen Drehung, Skalierung und Scheiden (Shearing). Im Allgemeinen
führt der
Bildverarbeitungsvorgang Räumliche
Transformation alle affinen Transformationen durch, ausgenommen
die Umsetzung (die durch die Mischpunkt- und Kontrollpunkt-Attribute
kontrolliert wird).
-
Die
Parameter für
SpatialTransform sind wie folgt:
Parameter | Wert |
Skalierung
(Scale) | 1
Wert für
XY-Skalierung (Seitenverhältnis
beibehalten) oder 2 Werte für
frei wählbare
Skalierung (Interpolation ist von der Anwendung abhängig – zu beachten:
sollte wahrscheinlich ein Argument sein) |
Drehung
(Rotate) | Winkel
(in Grad) |
Schneiden
(Shear) | Schneidewinkel
(in Grad) |
Spiegel
(Mirror) | "X" oder "Y" |
Transformationspunkte
(TransformPoints) | 3
Paare von Eckpunkten |
Affin
(Affine) | Affine
Koeffizienten |
Festpunkt
(FixedPoint) | (x,
y) in Bezug auf transformiertes untergeordnetes Objekt -Standardwert
ist die Kontrollpunkt-Position |
-
Der
Festpunkt-Parameter gestattet die Anwendung von räumlichen
Transformationen um einen Verweispunkt. Beispielsweise ermöglicht es
die Angabe eines Festpunkts dem Benutzer, das Objekt um den Festpunkt
anstatt um die Mitte des Objekts zu drehen. Im Allgemeinen kann
jede unterstützte
räumliche
Transformation so definiert werden, dass sie um den Festpunkt wirkt.
Da der Festpunkt ein Parameter für
die räumliche Transformation
und kein Bestandteil des Pasteboards ist, justiert der Bildverarbeitungsvorgang
den Kontrollpunkt automatisch, um sicherzustellen, dass das untergeordnete
Objekt in das übergeordnete
Pasteboard an der richtigen Stelle gemischt wird. Ein Beispiel,
wie der Kontrollpunkt justiert wird, wird im Folgenden beschrieben.
-
Beispielsweise
(siehe 21a–b)
weist das Objekt einen Kontrollpunkt C von (0,5, 0,5) und einen Festpunkt
von (2,0, 0,0) in Bezug auf die obere linke Ecke P des untergeordneten
Objekts auf. Angenommen, die Aufbereitung gibt an, dass das untergeordnete
Objekt die Größe 50 × 50 besitzt.
Der Festpunkt in Bezug auf das untergeordnete Objekt beträgt (–100, 0).
Der Kontrollpunkt ist anfänglich
(25, 25) in Bezug auf P und (125, 25) in Bezug auf den Festpunkt.
Das Drehen des untergeordneten Objekts um 45 Grad um den Festpunkt generiert
ein untergeordnetes Objekt mit einer neuen Größe von 71 × 71 (grafische Begrenzungslinie)
mit einem Ursprung von (71, 107) in Bezug auf den Festpunkt. Es
sei daran erinnert, dass der ursprüngliche Kontrollpunkt (125,
25) in Bezug auf den Festpunkt war. Daher wird der Kontrollpunkt
so justiert, dass er (125, 25) – (71, –107) =
(54, 132) in Pixelgröße beträgt, d.h.
(0,76, 1,86) in Bezug auf den Ursprung Q des gedrehten untergeordneten
Objekts. Daher wird der Kontrollpunkt so justiert, das sichergestellt
ist, dass die Drehung um einen Festpunkt dazu führt, dass ein untergeordneter
Punkt an der richtigen Position in das Pasteboard gemischt wird.
-
Alternativ
kann ein interaktiver Editor die Mitte der Drehung usw. während der
Erstellung des strukturierten Bilds bearbeiten und den Mischpunkt
richtig justieren, wenn das strukturierte Bild geschrieben wird.
Das heißt,
der Benutzer kann die Drehungsmitte beispielsweise an einer gewünschten
Position einstellen, und die strukturierte Bilddefinition muss sich
damit nicht mehr befassen.
-
E. Ein zweites Beispiel
einer Erstellung eines strukturierten Bilds
-
Die
strukturierte Bildaufbereitung ist wesentlich mehr als nur ein interaktiver
Editor. Beispielsweise muss ein Drucker für Schulabschluss-Jahrbücher viele
einzelne Bilder elektronisch für
den Druck des fertigen Jahrbuchs vorbereiten. Insbesondere müssen Fotos
in die Datenbank eingescannt werden, entweder einzeln, (was äußerst zeitaufwändig ist),
oder es ist eine Technologie vorhanden, mit der bis zu zwölf Fotos
gleichzeitig eingescannt werden können. Leider, ungeachtet der
bemühten
Versuche des Benutzers, die einzelnen Bilder zum Scannen exakt aufzureihen,
sind immer geringfügige
Abweichungen auf Grund des Scannens vorhanden. Normalerweise weist
jedes Bild einen Strichcode oder ein anderes Identifizierungsmerkmal
auf, um das Bild dem Namen zuzuordnen, der darunter gedruckt wird.
-
Es
gibt Software, die in der Lage ist, ein strukturiertes Bild in der
oben beschriebenen Scan-Situation automatisch zu erstellen. Das
heißt,
es wird ein strukturiertes Bild erstellt, das jedes einzelne untergeordnete Objekt
identifiziert, (d.h. die einzelnen Bilder), und Bildverarbeitungsvorgänge umfasst,
um jede Fehlausrichtung zu korrigieren und jedes Bild auf der Seite
mit dem richtigen Text darunter (Strichcode-Verweis) exakt zu konfigurieren.
Eine solche Software kann viele Objekte gleichzeitig scannen, und
jedes untergeordnete Objekt wird beim Drucken zur korrekten Aufbereitung
gedreht oder die Drehung rückgängig gemacht.
Daher kann der Jahrbuch-Drucker nach Belieben nur die untergeordneten
Objekte aussuchen, die zur Positionierung auf der bestimmten Seite
gewünscht
werden, sie wie gewünscht
aufreihen, entsprechenden Text hinzufügen und drucken. Wie oben erläutert, wird
auf die untergeordneten Objekte durch einen Strichcode zum Aufrufen
verwiesen.
-
Zusätzlich möchte der
Jahrbuch-Drucker eventuell ein weiteres strukturiertes Bild erstellen,
indem er eine Vorlage mit "ungebundenen" Lücken für die Bilder
und den gewünschten
Text erstellt. Der Jahrbuch-Drucker bindet die entsprechende Anzahl
von untergeordneten Objekten zum Drucken an diese Vorlage. Wesentlich
ist, dass die Vorlage aber auch eine integrierte intelligente Verarbeitung
aufweisen kann, (d.h. Hintergrund usw.), die automatisch Farbe,
Abschneiden, Spezialeffekte usw. ändert.
-
F. Schlussfolgerung
-
Das
oben genannte erfinderische Konzept gestattet die Darstellung von
komplexen Farbrasterbildern als eine Sammlung von Objekten in einem
hierarchischen und vorrichtungsunabhängigen Format. Objekte, die zu
dem Ausgaberaster beitragen, können
aus Text, Grafik, anderen Rastern oder anderen strukturierten Bildern
stammen und ihre übernommenen
Werte zur Aaswählbarkeit
und Modifizierung beibehalten. Ein strukturiertes Bild enthält nicht
nur die Quellendaten, sondern auch Bildverarbeitungsvorgänge, die
zu ihrer Aufbereitung erforderlich sind. Die Technologie für strukturierte
Bilder unterstützt
nicht nur erneute Bearbeitbarkeit, kundenspezifische Anpassung und
Verbesserung, automatische Bildzusammensetzung und Hochleistungs-Bildaufbereitung
(d.h. parallel, verteilt, mit Cache usw.). Sie stellt einen sehr
leistungsfähigen
Rahmen zum Beschreiben von Bildern zur späteren Bearbeitung und erneuten
Bearbeitung bereit. Die strukturierte Bildaufbereitung ist also
eine grundlegende Technologie, die in der Lage ist, die gesamte
Skala von Erfassen Speichern, Bearbeiten/Vorbereiten und Zuführen/Übertragen
von Objekten zur Ausgabe-Aufbereitung zu behandeln.