-
Technisches
Gebiet
-
Die
Erfindung betrifft Datenverarbeitungssysteme und insbesondere Verfahren
und Systeme zum Verarbeiten von „digitalen Dokumenten" (wie hier definiert)
und solche Verfahren und Systeme umfassende Einrichtungen. Allgemein
ausgedrückt,
betrifft die Erfindung das Erzeugen einer Ausgabedarstellung eines
Quellendokuments; z. B. als visuelle Anzeige oder als Papierkopie.
-
Allgemeiner
Stand der Technik
-
Mit
dem Ausdruck „digitales
Dokument" ist im
vorliegenden Kontext eine digitale Darstellung einer beliebigen
Art von durch ein Datenverarbeitungssystem verarbeiteten Daten gemeint,
die letztendlich in bestimmter Form gänzlich oder teilweise an einen menschlichen
Benutzer ausgegeben werden sollen, und zwar typischerweise indem
sie visuell angezeigt oder wiedergegeben werden (z. B. mittels einer
Einheit der visuellen Anzeige oder eines Druckers), oder durch Text-zu-Sprache-Konvertierung usw.
Ein digitales Dokument kann beliebige zur Darstellung fähige Merkmale
enthalten, darunter, aber ohne Einschränkung, die folgenden: Text;
grafische Bilder; animierte grafische Bilder; Vollbewegungs-Videobilder;
interaktive Symbole, Schaltflächen,
Menüs oder Hyperlinks.
Ein digitales Dokument kann außerdem nichtvisuelle
Elemente wie etwa Audio-Elemente (Ton) enthalten.
-
Datenverarbeitungssysteme,
wie zum Beispiel Personal-Computer- Systeme müssen typischerweise „digitale
Dokumente" verarbeiten,
die von einem beliebigen einer Anzahl lokaler oder abgesetzter Ursprünge stammen
können
und die in einem beliebigen von vielfältigen Datenformaten („Dateiformaten") existieren können. Um
eine Ausgabeversion des Dokuments zu erzeugen (ob als visuelle Anzeige oder
gedruckte Kopie) ist es zum Beispiel notwendig, dass das Computersystem
die ursprüngliche
Daten-Datei interpretiert und eine mit der relevanten Ausgabevorrichtung
(z. B. einem Monitor oder einer anderen Einrichtung zur visuellen
Anzeige oder einem Drucker) kompatible Ausgabe erzeugt. Im Allgemeinen
umfasst dieser Prozess ein Anwendungsprogramm, das zum Interpretieren
der Daten-Datei angepasst ist, das Betriebssystem des Computers,
einen für
die gewünschte
Ausgabevorrichtung spezifischen Software-„Treiber" und in bestimmten Fällen (insbesondere für Monitore
oder andere Einheiten der visuellen Anzeige) zusätzliche Hardware in Form einer
Erweiterungskarte.
-
Dieser
herkömmliche
Ansatz zur Verarbeitung digitaler Dokumente, um eine Ausgabe zu
erzeugen, ist im Hinblick auf Hardwarebetriebsmittel, Software-Overheads
und Verarbeitungszeit ineffizient und völlig ungeeignet für tragbare
Datenverarbeitungssysteme mit niedrigem Stromverbrauch, darunter
drahtlose Telekommunikationssysteme, oder für kostengünstige Datenverarbeitungssysteme
wie etwa Netzwerk-Terminals
usw. In herkömmlichen
digitalen Dokumentverarbeitungssystemen treten andere Probleme auf,
darunter die Notwendigkeit, mehrere Systemkomponenten (darunter
sowohl Hardware- als auch Softwarekomponenten) für die Interaktion auf die gewünschte Weise
zu konfigurieren, und Unstimmigkeiten bei der Verarbeitung von identischem
Quellenmaterial durch verschiedene Systeme (z. B. Unterschiede bei
der Formatierung, Farbwiedergabe usw.). Zusätzlich kann der herkömmliche Ansatz
zur digitalen Dokumentverarbeitung die Gemeinsamkeit und/oder Wiederverwendbarkeit
von Dateiformatkomponenten nicht ausnutzen.
-
WO-A-97/34240
lehrt das Konvertieren eines „strukturierten
Hypermedia-Dokuments" (z. B. eines SGML-Dokuments)
in ein kompakteres Datenformat („kompakter Baum" oder „CT") zur Verwendung während der
elektronischen Speicherung, Übertragung
und Darstellung des Dokuments in einem vernetzten Computer, um Netzwerkverkehr
in einer Client-Server-Umgebung zu verringern. Das dort offen gelegte
CT-Datenformat beschreibt
die Struktur des Quellendokuments über generische Objekte, die mehrere
Datentypen definieren, und Parameter, die Eigenschaften spezifischer
Instanzen generischer Objekte getrennt von dem Dokumentinhalt definieren.
Die CT-Daten werden durch einen CT-Prozessor in einem Client-Computer
in ein formatiertes Dokument konvertiert, das durch den Client-Computer
verarbeitet werden kann, um eine Ausgabeanzeige oder dergleichen
zu erzeugen.
-
Obwohl
WO-A-97/34240 ein Beispiel entwickelt, bei dem die SGML-Syntax verwendet
wird, erwähnt
diese Schrift, dass andere strukturierte Dokumentsyntaxen als SGML
unterstützt
werden können, entweder
durch direkte Handhabung von nicht-SGML-Dokumenten oder indem nicht-SGML-Dokumente zuerst
in die SGML-Syntax übersetzt
werden.
-
Kurzfassung
der Erfindung
-
Eine
Aufgabe der vorliegenden Erfindung ist die Bereitstellung von Digitaldokumentverarbeitungsverfahren
und -systemen und solche Verfahren und Systeme umfassenden Einrichtungen,
wodurch die erwähnten
Nachteile herkömmlicher
Verfahren und Systeme überwunden
oder gelindert werden.
-
Die
Erfindung wird in ihren verschiedenen Aspekten in den angefügten Ansprüchen definiert.
-
Die
hier beschriebenen Systeme und Verfahren umfassen Systeme, die ein
anpassbares Frontend für
die Bestimmung eines Dateityps, der mit der Ausgabe aus einer Quellenanwendung
assoziiert werden soll, und zum Verarbeiten der Ausgabe als Funktion
des Dateityps, verwenden, um eine Anzeigeliste zu erzeugen, die
Objekte und Formen repräsentiert,
die Komponenten der visuellen Darstellung der Daten darstellen.
Die Anzeigeliste wird dann durch eine Aufbereitungs-Engine verarbeitet,
die sich wahlweise auf einer eingebetteten Vorrichtung befinden
kann. Die Aufbereitungs-Engine verarbeitet die in der Anzeigeliste
enthaltenen Komponenten, um ein Bild der Ausgabe der Quellenanwendung,
das auf der Anzeige der Vorrichtung dargestellt werden kann, aufzubereiten.
Wie nachfolgend beschrieben werden wird, bestimmt das anpassbare
Frontend die Dateistruktur der verarbeiteten Quelle, wodurch eine Vorrichtung
bereitgestellt wird, die mit mehreren verschiedenen Dateitypen und
Quellenanwendungen operieren kann.
-
Zusätzlich und
wahlweise ermöglichen
die hier beschriebenen Aufbereitungs-Engines eine progressive Aufbereitung
von Bildern auf der Anzeige der Vorrichtung. Dadurch wird eine visuelle
Anzeigeschnittstelle bereitgestellt, die Bilder schneller aufbereitet,
indem feinere Merkmale in der Darstellung nach den leichter aufzubereitenden
Merkmalen in der Darstellung erscheinen. Zusätzlich kann das hier beschriebene
System ein Dokument in Komponentenobjekte zerlegen, wobei jedes
der Objekte getrennt verarbeitet werden kann, einschließlich der
Verarbeitung von Objekten mit Spezialeffekten wie zum Beispiel Schattierung,
Färbung
und Transparenz, wodurch den durch das hier beschriebene System
präsentierten
Bildern ein geschichtetes Aussehen verliehen wird.
-
In
einem ersten Aspekt betreffen die hier beschriebenen Systeme und Verfahren
ein Digitaldokumentverarbeitungssystem nach Anspruch 1.
-
In
einem zweiten Aspekt betrifft die Erfindung eine grafische Benutzeroberfläche für ein Datenverarbeitungssystem,
in dem durch die Benutzeroberfläche
verwendete interaktive visuelle Anzeigen mittels eines Digitaldokumentverarbeitungssystems
gemäß dem ersten
Aspekt der Erfindung erzeugt werden, und eine solche grafische Benutzeroberfläche umfassende
Datenverarbeitungssysteme.
-
In
weiteren Aspekten betrifft die Erfindung verschiedene Arten von
Vorrichtungen mit einem Digitaldokumentverarbeitungssystem gemäß dem ersten
Aspekt der Erfindung, einschließlich
Hardwarevorrichtungen, Datenverarbeitungssysteme und Peripheriegeräte.
-
In
einem weiteren Aspekt betrifft die Erfindung Systeme und Vorrichtungen
gemäß den ersten und
weiteren Aspekten mit einer grafischen Benutzeroberfläche mit
einem oder mehreren einer Anzahl von Merkmalen nach Anspruch 34
und 35.
-
Es
werden nun Ausführungsformen
der Erfindung lediglich als Beispiel mit Bezug auf die beigefügte Zeichnung
beschrieben.
-
Kurze Beschreibung
der Zeichnung
-
Die
obigen und andere Aufgaben und Vorteile der Erfindung werden aus
der folgenden weiteren Beschreibung derselben mit Bezug auf die
beigefügten
Zeichnungen besser deutlich. Es zeigen:
-
1 ein
Funktionsblockschaltbild einer Ausführungsform eines Digitaldokumentverarbeitungssystems
gemäß der vorliegenden
Erfindung;
-
2 ein
Funktionsblockschaltbild, das das System der Erfindung ausführlicher
zeigt; und
-
3 ein
Funktionsblockschaltbild, das eine Ausführungsform eines Digitaldokumentverarbeitungssystems
gemäß der vorliegenden
Erfindung weiter veranschaulicht.
-
Ausführliche
Beschreibung der bevorzugten Ausführungsformen
-
Die
hier beschriebenen Systeme und Verfahren werden nun mit Bezug auf
mehrere beispielhafte Anwendungen und Ausführungsformen beschrieben, darunter
Ausführungsformen,
die sich gut für
das Identifizieren eines Dateityps eignen, der mit der Ausgabe einer
Quellenanwendung assoziiert ist, wie zum Beispiel mit einem durch
eine Textverarbeitungsanwendung produzierten Dokument, um eine Darstellung
der visuellen Anzeige dieser Ausgabe zu erzeugen, wobei die Darstellung
in einer abstrakten Form präsentiert
wird, die durch eine Aufbereitungs-Engine aufbereitet werden kann,
die für
eine bestimmte Plattform angepasst ist, wie zum Beispiel eine in
der Hand gehaltene Vorrichtung. Die hier beschriebenen Systeme und
Verfahren veranschaulichen jedoch lediglich bestimmte Ausführungsformen
der Erfindung und sollen auf keinerlei Weise als einschränkend aufgefasst
werden.
-
Nunmehr
mit Bezug auf 1 ist ein System 8 gemäß der Erfindung
abgebildet. Genauer gesagt zeigt 1 das System 8,
einen Datenprozessor 13 mit mehreren ausgeführten Prozessen,
mehrere Ausgabequellenströme 10 und
eine Ausgabeanzeige 26. Der Datenprozessor 13 kann
eine beliebige geeignete Datenverarbeitungsplattform sein, darunter eine
herkömmliche
Datenverarbeitungsplattform, wie etwa eine PC-Workstation oder ein Server.
Die auf dem Datenprozessor ausgeführten Prozesse können eine
beliebige Anwendung sein, die eine Ausgabequelle produziert, die
auf einer Anzeige aufbereitet werden soll oder werden kann. Zum
Beispiel können die
abgebildeten Prozesse Textverarbeitungsprogramme zum Erzeugen von
.doc-Dateien umfassen, die als Seiten auf einer visuellen Anzeige
präsentiert werden
können. Ähnlich können die
Prozesse 13 einen Webserver umfassen, der zur Anzeige durch
einen Browser HTML-, XML-, Streaming-Multimedia- oder PDF-Dateien
liefert. Die abgebildete Ausgabezielvorrichtung 26 kann
eine beliebige geeignete Vorrichtung sein, die als eine Anzeige
für die
durch die Prozesse gelieferte Quelle wirken kann.
-
Folglich
zeigt 1, dass das System 8 der Erfindung an
Ausgabeursprünge
mehrerer verschiedener Anwendungen sowie Ausgabeursprünge mit unterschiedlichem
Format koppeln kann. Das System 8 kann das Format jeder
Quelle identifizieren und die Quelle als Funktion seines Formats
verarbeiten. Die verarbeitete Quelle kann in einem für Präsentation
auf der Anzeige der Zielvorrichtung 26 geeigneten Format
präsentiert
werden.
-
2 zeigt
das System 8 von 1 ausführlicher.
Genauer gesagt zeigt 2 mehrere Anwendungsursprünge 10,
das System 8, das ein Eingabemodul 11 oder Frontend
enthält,
mehrere Dokument-Agent-Prozesse 12,
eine Anzeigeliste 14, die eine interne Darstellung des
visuellen Bildes darstellt, das mit der verarbeiteten Anwendungsquelle 10 assoziiert
ist, ein Aufbereitungsmodul 18 und eine Bibliothek generischer
Objekttypen 16.
-
Das
adaptive Frontend 11 enthält mehrere Dokument-Agenten 12.
Jeder Dokument-Agent 12 kann ein Software- oder Hardwaremodul
sein, das einen Strom empfangen kann, wie zum Beispiel einen Unix-Strom
oder einen Java-Strom, der mit einer Anwendungsquelle 10 assoziiert
ist. Der Dokument-Agent 12 kann den Strom durchsortieren,
um zu bestimmen, ob der Agent 12 das Format dieses Stroms
erkennt. Wenn das Format als zu dem Agenten 12 gehörend erkannt
wird, kann der Agent 12 mit der vollen Verarbeitung des
Eingabestroms beginnen. Die Verarbeitung einer Ausgabequelle kann
das Analysieren der Quelle umfassen, um Token in der Quelle zu identifizieren,
die das Bild darstellen, das angezeigt werden soll. Diese Token
können
zum Beispiel Test-, Font-, Bitmap- und andere solche Kennungen sein.
-
Bei
der abgebildeten Ausführungsform
enthält
das Frontend 11 mehrere verschiedene Dokument-Agenten,
die jeweils mit einer verschiedenen Formatausgabequelle assoziiert
sind. Durch Bereitstellen mehrerer Dokument-Agenten und indem es jedem
Dokument-Agenten 12 erlaubt wird, die Ausgabequelle, die
verarbeitet werden soll, zu untersuchen, ist das System von 2 eine
pluripotente Verarbeitungs-Engine, die die Ausgabequelle mehrerer Dateien
anzeigen kann.
-
Während der
Dokument-Agent 12 den Ausgabestrom verarbeitet, konstruiert
der Agent 12 eine neue Daten-Datei, die Anzeigeliste 14,
die das durch die Ausgabequelle dargestellte visuelle Bild codiert. Die
Anzeigeliste 14 beinhaltet eine interne Darstellung des
visuellen Bildes. Die Anzeigeliste 14 kann zu der Aufbereitungs-Engine 18 geleitet
werden, die dann die Informationen in der Anzeigeliste verarbeitet,
um das visuelle Bild auf der Zielausgabevorrichtung 26 zu
erzeugen. Zu diesem Zweck konstruiert der Dokument-Agent 12 die
interne Darstellung des visuellen Bildes durch Erzeugen einer Datei,
die eine Menge von Zeigern in eine Bibliothek bekannter Objekttypen
enthält.
Wenn die Aufbereitungs-Engine 18 operiert, wird die Bibliothek 16 bekannter
Objekttypen referenziert und werden die Objekte aus der Bibliothek 16 zur
Anzeige auf der Zielausgabeeinrichtung 26 abgerufen.
-
Obwohl 1 und 2 grafisch
das System 8 als Funktionsblockelemente beinhaltend abbilden,
versteht sich für
Durchschnittsfachleute, dass diese Elemente als Computerprogramme
oder Teile von Computerprogrammen realisiert werden können, die
auf einer Datenprozessorplattform, wie zum Beispiel der Zielvorrichtung 26 ausgeführt werden
können,
um dadurch den Datenprozessor als ein System gemäß der Erfindung zu konfigurieren.
Diese Programme lassen sich als Softwarekomponenten realisieren,
die auf einem herkömmlichen
Datenverarbeitungssystem, wie zum Beispiel einer Unix-Workstation,
operieren, oder können
als ein Computerprogramm in der Sprache C implementiert werden,
oder als ein Computerprogramm, das in einer beliebigen höheren Sprache
geschrieben ist, darunter C++, Fortran, Java oder Basic. Bei einer
Ausführungsform, bei
der Mikrocontroller oder DSPs verwendet werden, können die
hier beschriebenen Systeme zusätzlich
als ein Computerprogramm realisiert werden, das in Mikrocode geschrieben
ist, oder das in einer höheren
Sprache geschrieben und zu Mikrocode, der auf der verwendeten Plattform
ausgeführt
werden kann, herabkompiliert wird.
-
Nunmehr
mit Bezug auf 3 der Zeichnungen ist ein Digitaldokumentverarbeitungssystem 8, das
die Erfindung und ihr Betriebsverfahren realisiert, ausführlicher
dargestellt.
-
Allgemein
ausgedrückt
verarbeitet das System 8 ein Ursprungsdokument 10,
das eine Daten-Datei in einem bekannten Format beinhaltet. Die Eingabe
in das System 8 ist ein den Inhalt des Ursprungsdokuments
beinhaltender Bytestrom. Ein Eingabemodul 11 identifiziert
das Dateiformat des Ursprungsdokuments auf der Basis eines beliebigen von
vielfältigen
Kriterien, wie zum Beispiel einer expliziten Dateitypidentifikation
in dem Dokument, aus dem Dateinamen (insbesondere der Dateinamenerweiterung)
oder aus bekannten Eigenschaften des Inhalts bestimmter Dateitypen.
Der Bytestrom wird in einen für
das Dateiformat des Ursprungsdokuments spezifischen „Dokument-Agenten" 12 eingegeben. Der
Dokument-Agent 12 ist zum Interpretieren des ankommenden
Bytestroms und zum Konvertieren des Stroms in ein von dem System 8 verwendetes Standardformat
angepasst, was zu einer internen Darstellung 14 der Ursprungsdaten
in einem zur Verarbeitung durch das System 8 geeigneten „nativen" Format führt. Das
System 8 enthält
im Allgemeinen mehrere verschiedene Dokument-Agenten 12, die jeweils zum
Verarbeiten eines einer entsprechenden Vielzahl vorbestimmter Dateiformate
angepasst ist.
-
Das
System 8 kann auch auf Eingaben angewandt werden, die von
einer Eingabevorrichtung wie etwa einer Digitalkamera oder einem
Scanner empfangen werden. In diesem Fall kann der Eingabebytestrom
direkt aus der Eingabevorrichtung stammen, statt aus einem „Ursprungsdokument" an sich. Der Eingabebytestrom
liegt jedoch immer noch in einem vorhersehbaren Datenformat vor,
das für
eine Verarbeitung durch das System geeignet ist, und für die Zwecke
der Erfindung können
von einer solchen Eingabevorrichtung empfangene Eingaben als ein „Ursprungdokument" betrachtet werden.
-
Der
Dokument-Agent 12 verwendet eine Bibliothek 16 von
Standardobjekten, um die interne Darstellung 14 zu erzeugen,
die den Inhalt des Ursprungsdokuments über eine Ansammlung generischer
Objekte beschreibt, deren Typen in der Bibliothek 16 zusammen
mit Parametern, die die Eigenschaften spezifischer Instanzen der
verschiedenen generischen Objekte in dem Dokument festlegen, definiert
werden. Es versteht sich, dass die interne Darstellung in einem
für das
System nativen Dateiformat gesichert/gespeichert werden kann und
dass der Umfang möglicher
Ursprungsdokumente 10, die in das System 8 eingegeben
werden, Dokumente in dem nativen Dateiformat des Systems enthalten kann.
Auch ist es möglich,
dass die interne Darstellung 14 in ein beliebiges eines
Umfangs von anderen Dateiformaten konvertiert werden kann, wenn
es erforderlich ist, wobei (nicht gezeigte) geeignete Konvertierungs-Agenten
verwendet werden.
-
Die
in der internen Darstellung 14 verwendeten generischen
Objekte umfassen typischerweise die folgenden: Text, Bitmap-Grafiken
und Vektorgrafiken (die gegebenenfalls animiert sein können und die
zwei- oder dreidimensional
sein können),
Video, Audio und vielfältige
Arten von interaktiven Objekten wie etwa Schaltflächen und
Symbole. Die Parameter, die spezifische Instanzen generischer Objekte
festlegen, umfassen im Allgemeinen dimensionale Koordinaten, die
die physikalische Form, Größe und Position
des Objekts und etwaige relevante zeitliche Daten zum Festlegen
von Objekten festlegen, deren Eigenschaften mit der Zeit variieren
(wodurch das System mit dynamischen Dokumentstrukturen und/oder
Anzeigeformaten arbeiten kann). Bei Textobjekten umfassen die Parameter
normalerweise auch einen Font und eine Größe, die für eine Zeichenkette gelten sollen.
Objektparameter legen außerdem
andere Eigenschaften fest, wie zum Beispiel Transparenz.
-
Das
Format der internen Darstellung 14 trennt die „Struktur" (oder das „Layout") der Dokumente,
die durch die Objekttypen und ihre Parameter beschrieben werden
von dem „Inhalt" der verschiedenen
Objekte; z. B. wird die Zeichenkette (Inhalt) eines Textobjekts
von den dimensionalen Parametern des Objekts getrennt; die Bilddaten
(Inhalt) eines Grafikobjekts werden von seinen dimensionalen Parametern
getrennt. Dadurch können
Dokumentstrukturen auf sehr kompakte Weise definiert werden und es
entsteht die Möglichkeit,
Inhaltsdaten abgesetzt zu speichern und nur bei Bedarf durch das
System abzurufen.
-
Die
interne Darstellung 14 beschreibt das Dokument und seine konstituierenden
Objekte über Beschreibungen
auf „hoher
Ebene".
-
Die
internen Darstellungsdaten 14 werden in ein Analyse- und
Aufbereitungsmodul 18 eingegeben, das eine kontextspezifische
Darstellung 20 oder „Ansicht" des Dokuments erzeugt,
das durch die interne Darstellung 14 repräsentiert
wird. Die benötigte Ansicht
kann von dem ganzen Dokument oder von einem Teil oder Teilen (einer
Teilmenge oder Teilmengen) desselben sein. Der Analysierer/Aufbereiter 18 empfängt Ansichtssteuereingaben 40,
die den Ansichtskontext festlegen, und etwaige betreffende zeitliche
Parameter der zu erzeugenden spezifischen Dokumentansicht. Zum Beispiel
kann von dem System verlangt werden, dass es eine gezoomte Ansicht eines
Teils eines Dokuments erzeugt und dann die gezoomte Ansicht schwenkt
oder verschiebt, um angrenzende Teile des Dokuments zu zeigen. Die
Ansichtssteuereingaben 40 werden von dem Analysierer/Aufbereiter 18 interpretiert,
um zu bestimmen, welche Teile der internen Darstellung für eine bestimmte
Ansicht benötigt
werden und wie, wann und wie lange die Ansicht angezeigt werden
soll.
-
Die
kontextspezifische Darstellung/Ansicht 20 wird über primitive
Formen und Parameter ausgedrückt.
-
Der
Analysierer/Aufbereiter 18 kann außerdem zusätzliche Vorverarbeitungsfunktionen
an den relevanten Teilen der internen Darstellung 14 beim Erzeugen
der erforderlichen Ansicht 20 des Ursprungsdokuments 10 durchführen. Die
Ansichtsdarstellung 20 wird zur Endverarbeitung und zur
Erzeugung einer Endausgabe 24 in einem zur Ansteuerung einer
Ausgabevorrichtung 26 (oder mehrerer Ausgabevorrichtungen),
wie zum Beispiel eine Anzeigevorrichtung oder einen Drucker, geeigneten
Format in ein Formprozessormodul 22 eingegeben.
-
Die
Vorverarbeitungsfunktionen des Analysierers/Aufbereiters 18 können Farbkorrektur,
Auflösungseinstellung/-vergrößerung und
Anti-Alias-Bearbeitung
umfassen. Auflösungsverbesserung
kann Skalierungsfunktionen beinhalten, die die Lesbarkeit des Inhalts
der Objekte erhalten, wenn er durch die Zielausgabevorrichtung angezeigt
oder wiedergegeben wird. Die Auflösungseinstellung kann kontextabhängig sein;
z. B. kann die Anzeigeauflösung
bestimmter Objekte verringert werden, während die angezeigte Dokumentansicht
geschwenkt oder verschoben wird, und vergrößert, wenn die Dokumentansicht
statisch ist.
-
Es
kann einen Rückkopplungsweg 42 zwischen
dem Analysierer/Aufbereiter 18 und der internen Darstellung 14 geben;
z. B. zum Zwecke des Auslösens
einer Aktualisierung des Inhalts der internen Darstellung 14,
wie zum Beispiel falls das durch die interne Darstellung repräsentierte
Dokument 10 Mehrfacheinzelbild-Animation beinhaltet.
-
Die
Ausgabedarstellung 20 aus dem Analysierer/Aufbereiter 18 drückt das
Dokument über „primitive" Objekte aus. Für jedes
Dokumentobjekt legt die Darstellung 20 vorzugsweise das
Objekt mindestens über
eine physikalische rechteckige Grenzbox, die tatsächliche
Form des durch die Grenzbox eingegrenzten Objekts, den Dateninhalt
des Objekts und seine Transparenz fest.
-
Der
Formprozessor 22 interpretiert die Darstellung 20 und
konvertiert sie in ein für
die Zielausgabevorrichtung 26 geeignetes Ausgaberahmenformat 24;
z. B. in eine Punkt-Map für
einen Drucker, einen Vektoranweisungssatz für einen Plotter oder eine Bitmap
für eine
Anzeigevorrichtung. Eine Ausgabesteuereingabe 44 in den
Formprozessor 22 legt die notwendigen Parameter für den Formprozessor 22 zur
Erzeugung einer für
eine bestimmte Ausgabevorrichtung 26 geeigneten Ausgabe 24 fest.
-
Der
Formprozessor 22 verarbeitet vorzugsweise die durch die
Ansichtsdarstellung 20 definierten Objekte über „Form" (d. h. die Umrissform
des Objekts), „Füllung" (Dateninhalt des
Objekts) und „Alpha" (Transparenz des
Objekts), führt
gegebenenfalls Skalierung und Clipping an der erforderlichen Ansicht
und Ausgabevorrichtung aus und drückt das Objekt in für die Ausgabevorrichtung
geeigneter Weise aus (typischerweise über Pixel durch Scan-Konvertierung
oder dergleichen für
die meisten Arten von Anzeigevorrichtung oder Drucker).
-
Der
Formprozessor 22 enthält
vorzugsweise einen Kantenpuffer, der die Form eines Objekts über Scan-konvertierte
Pixel festlegt und wendet vorzugsweise Anti-Alias-Bearbeitung auf
die Umrissform an. Anti-Alias-Bearbeitung
wird vorzugsweise auf eine Weise durchgeführt, die durch die Eigenschaften
der Ausgabevorrichtung 26 bestimmt wird (d. h. auf der Basis
der Steuereingabe 44), indem eine Graustufenrampe über die
Objektgrenze hinweg angewandt wird. Dieser Ansatz ermöglicht speichereffiziente Prozesse
des Form-Clippens und der Form-Schneidung.
-
Es
kann eine Nachschlagetabelle verwendet werden, um Mehrton-Ansprechkurven zu
definieren, wodurch nichtlineare Aufbereitungssteuerung (Gammakorrektur)
möglich
wird.
-
Die
individuellen, durch den Formprozessor 22 verarbeiteten
Objekte werden in dem Verbundausgaberahmen 24 kombiniert.
Die Qualität
der Endausgabe kann auch vom Benutzer über die Ausgabesteuereingabe 44 gesteuert
werden.
-
Der
Formprozessor 22 besitzt eine mehrstufige Fließbandarchitektur,
die sich für
parallele Verarbeitung mehrerer Objekte oder mehrerer Dokumente oder
mehrerer Teilmengen eines oder mehrerer Dokumente durch Verwendung
mehrerer Instanzen des Formprozessor-Fließbandes eignen. Die Fließbandarchitektur
kann auch leicht modifiziert werden, um zusätzliche Verarbeitungsfunktionen
(z. B. Filterfunktionen) aufzunehmen, wenn sie benötigt werden. Ausgaben
aus mehreren Formprozessoren 22 können mehrere Ausgaberahmen 24 erzeugen
oder können
zu einem einzigen Ausgaberahmen 24 kombiniert werden.
-
Die
Beschaffenheit der Systemarchitektur ist modular. Dadurch wird es
zum Beispiel möglich,
gegebenenfalls weitere Dokument-Agenten hinzuzufügen, um mit zusätzlichen
Ursprungsdateiformaten arbeiten zu können. Die modulare Architektur
ermöglicht
außerdem
ein Modifizieren oder Aufrüsten
individueller Module, wie zum Beispiel der Bibliothek 16, des
Analysierers/Aufbereiters 18 oder des Formprozessors 22,
ohne Änderungen
an anderen Modulen zu erfordern.
-
Die
Systemarchitektur als Ganzes eignet sich außerdem für Parallelismus gänzlich oder
teilweise zur Simultanverarbeitung mehrerer Eingabedokumente 10a, 10b usw.
oder Teilmengen von Dokumenten in einem oder mehreren Dateiformaten über einen
oder mehrere Dokument-Agenten 12, 12a.
Die integrierte modulare Beschaffenheit des Systems ermöglicht ein
Spawnen mehrerer Instanzen von Systemmodulen innerhalb eines Datenverarbeitungssystems
oder einer Vorrichtung je nach Bedarf, das nur durch verfügbare Verarbeitungs-
und Speicherbetriebsmittel begrenzt ist.
-
Das
Potential für
flexiblen Parallelismus, das durch das System als Ganzes und den
Formprozessor 22 insbesondere bereitgestellt wird, ermöglicht eine
Optimierung des Anzeigeweges für
eine gegebene Vorrichtung in Bezug auf verfügbare Bandbreite und verfügbaren Speicher.
Anzeigeaktualisierungen und Animationen können verbessert werden, da
sie schneller sind und weniger Speicher erfordern. Das verwendete
Objekt-/Parameterdokumentmodell ist deterministisch und konsistent.
Das System ist voll skalierbar und ermöglicht mehrere Instanzen des Systems über mehrere
CPUs hinweg.
-
Der
Analysierer/Aufbereiter 18 und der Formprozessor 22 interagieren
als Reaktion auf Ansichtssteuereingaben 40 auf eine Weise,
die die Verwendung verfügbaren
Speichers und verfügbarer Bandbreite
optimiert, dynamisch. Dies gilt insbesondere für die Neuzeichnungsfunktion
bei der Ansteuerung einer visuellen Anzeige, z. B. wenn die Anzeige von
einem Benutzer verschoben oder geschwenkt wird.
-
Erstens
implementiert das System vorzugsweise ein skalierbares zurückgestelltes
Neuzeichnungsmodell, dergestalt, dass die Anzeigeauflösung einer
Dokumentansicht oder eines oder mehrerer Objekte in einer Ansicht,
abhängig
von der Art und Weise, wie die Anzeige modifiziert werden soll,
dynamisch variiert. Wie bereits erwähnt, könnte dies typischerweise umfassen,
dass ein Objekt mit einer verringerten Auflösung angezeigt wird, während es
auf dem Bildschirm bewegt wird, und es im Ruhezustand mit voller
Auflösung
angezeigt wird. Das System kann mehrere Ebenen der Anzeigequalität für diesen Zweck
verwenden. Typischerweise umfasst dies im Voraus konstruierte, wenig
auflösende
Bitmap-Darstellungen von Dokumentobjekten und/oder dynamisch konstruierte
und skalierte Bitmaps mit oder ohne Interpolation. Dieser Ansatz
ergibt eine sehr gut ansprechende Anzeige, die verfügbaren Speicher und
verfügbare
Bandbreite am besten ausnutzt.
-
Die
Interaktion des Analysierers/Aufbereiters 18 und des Formprozessors 22 umfasst
vorzugsweise außerdem
das Unterteilen der zu betrachtenden Seite in Gebiete. Mit jedem
Gebiet ist eine Liste aller Objekte assoziiert, die in diesem Gebiet
enthalten sind oder dieses überlappen.
Neuzeichnungen können
dann auf der Basis der Gebiete verarbeitet werden, so dass das System
nur Objekte verarbeiten muss, die mit den durch das Neuzeichnen
beeinflussten relevanten Gebieten assoziiert sind. Dieser Ansatz
erleichtert parallele Verarbeitung und verbessert Effizienz und
verringert Redundanz. Die Verwendung von Gebieten erleichtert außerdem die
Verwendung des Systems zur Erzeugung verschiedener Ausgaben für verschiedene
Anzeigevorrichtungen (z. B. zum Erzeugen einer Verbund-/Mosaikausgabe
zur Anzeige durch eine Gruppe getrennter Anzeigeschirme).
-
Die
Möglichkeit,
transparente Objekte zu verarbeiten, ist ein signifikantes Merkmal
des Systems. Dadurch wird jedoch die Verwendung von Off-Screen-Pufferung
in den Formprozessor 22 notwendig, um einen Endausgaberahmen
zusammenzustellen. Ein Off-Screen-Puffer deckt typischerweise einen
größeren Bereich
als den unmittelbaren Anzeigebereich ab, wodurch ein begrenzter
Grad an Schwenkung/Verschiebung innerhalb des Pufferbereichs möglich wird,
aber der gesamte Puffer muss neu zentriert und neu konstruiert werden,
wenn sich die erforderliche Anzeige außerhalb dieser Grenzen bewegt.
Vorzugsweise verbessert das System die Effizienz solcher Pufferungsprozesse
durch Definieren des Pufferinhalts als eine Gruppe von Fliesen,
die in einer geordneten Liste indiziert werden. Wenn sich die erforderliche
Anzeigeansicht außerhalb
des Pufferbereichs bewegt, ist es dann nur notwendig, die Fliesen
zu verwerfen, die nicht mehr benötigt
werden, neue Fliesen zu konstruieren, um den neuen Bereich der Anzeige
abzudecken, und die Fliesenliste zu aktualisieren. Dies ist schneller
und effizienter als herkömmliche
Pufferungsprozesse und ermöglicht
die Verwendung von Mehrfachpufferung und Off-Screen-Cache-Speicherung.
Außerdem
ermöglicht
es unterbrechbare Neuzeichnungsfunktionen (z. B. damit als Reaktion
auf Benutzereingaben ein aktuelles Neuzeichen unterbrochen und ein
neues Neuzeichen eingeleitet werden kann).
-
Die
oben beschriebenen Gebiets- und Fliesenverfahren sind im Prinzip
unabhängig,
können aber
auf vorteilhafte Weise kombiniert werden; d. h. Gebiete können mit
einer oder mehreren Fliesen korrelieren. Wiederum erleichtert dies
Parallelismus und optimiert die Benutzung von Systembetriebsmitteln.
-
Das
System verwendet vorzugsweise ein vorrichtungsunabhängiges Farbmodell,
geeigneter Weise ein Luminanz-/Chrominanzmodell wie zum Beispiel
das Modell CIE L*a*b* 1976. Dies verringert Redundanz in Grafikobjekten,
verbessert die Datenkomprimierbarkeit und verbessert die Beständigkeit der
Farbausgabe zwischen verschiedenen Ausgabevorrichtungen. Die vorrichtungsabhängige Farbkorrektur
kann auf der Basis der vorrichtungsabhängigen Steuereingaben 44 in
den Formprozessor 22 angewandt werden.
-
3 zeigt
das System mit einem Eingabeende, an dem der Ursprungsbytestrom
empfangen wird, und einem Ausgabeende, an dem der Endausgaberahmen 24 von
dem System ausgegeben wird. Es versteht sich jedoch, dass das System
an anderen Zwischenstufen Zwischeneingänge und -ausgänge enthalten
kann, wie zum Beispiel zum Abrufen von Dateninhalt und zum Sichern/Konvertieren
von im Verlauf des Prozesses erzeugten Daten.
-
Das
System 8 kann in vielfältige
Arten von Datenverarbeitungssystemen und -vorrichtungen und in Peripheriegeräte auf mehrere
verschiedene Weisen integriert werden.
-
In
einem Vielzweck-Datenverarbeitungssystem (dem „Hostsystem") kann das System
der vorliegenden Erfindung neben dem Betriebssystem und Anwendungen
des Hostsystems integriert werden oder kann vollständig oder
teilweise in das Host-Betriebssystem integriert werden.
-
Zum
Beispiel ermöglicht
das System der vorliegenden Erfindung eine schnelle Anzeige vielfältiger Arten
von Daten-Dateien auf tragbaren Datenverarbeitungsgeräten mit
LCD-Anzeigen, ohne die Benutzung von Browsern oder Anwendungsprogrammen
zu erfordern. Diese Klasse von Datenverarbeitungsgeräten benötigt für Tragbarkeit
kleine Prozessoren mit niedriger Stromaufnahme. Dies erfordert typischerweise
die Verwendung fortschrittlicher Kernprozessoren des RISC-Typs,
die in ASICs (anwendungsspezifische integrierte Schaltungen) hinein
entworfen werden, damit die Elektronikkapselung so klein und so
hoch integriert wie möglich
ist. Diese Art von Gerät
besitzt außerdem
begrenzten Direktzugriffsspeicher und besitzt typischerweise keinen nichtflüchtigen
Datenspeicher (z. B. Festplatte). Herkömmliche Betriebssystemmodelle,
so wie sie zum Beispiel in Standard-Desktop-Datenverarbeitungssystemen (PCs) verwendet
werden, benötigen
hochleistungsfähige
Zentralprozessoren und sehr viel Speicher, um digitale Dokumente
zu verarbeiten und nützliche
Ausgaben zu erzeugen und sind für
diese Art von Datenverarbeitungsgerät völlig ungeeignet. Insbesondere
ermöglichen
herkömmliche
Systeme nicht die Verarbeitung mehrerer Dateiformate auf integrierte
Weise. Im Gegensatz dazu benutzt die vorliegende Erfindung übliche Prozesse
und Fließbänder für alle Dateiformate,
wodurch ein hoch integriertes Dokumentverarbeitungssystem bereitgestellt wird,
das im Hinblick auf Stromverbrauch und Benutzung von Systembetriebsmitteln
extrem effizient ist.
-
Das
System der vorliegenden Erfindung kann auf der Bios-Ebene tragbarer
Datenverarbeitungsgeräte
integriert werden, um Dokumentverarbeitung und Ausgabe mit wesentlich
geringeren Overheads als bei herkömmlichen Systemmodellen zu
ermöglichen.
Als Alternative kann die Erfindung auf der niedrigsten Systemebene
unmittelbar oberhalb des Transportprotokollstapels implementiert werden.
Zum Beispiel kann das System in eine Netzwerkvorrichtung (Karte)
oder in ein System integriert werden, um Inline-Verarbeitung vom
Netzwerkverkehr bereitzustellen (z. B. Arbeit auf der Paketebene in
einem TCP/IP-System).
-
Bei
einer konkreten Vorrichtung ist das System der Erfindung für einen
Betrieb mit einem vorbestimmten Satz von Daten-Dateiformaten und
bestimmten Ausgabevorrichtungen konfiguriert; z. B. die visuelle
Anzeigeeinheit der Vorrichtung und/oder mindestens einer Art von
Drucker.
-
Beispiele
für tragbare
Datenverarbeitungsgeräte,
die das vorliegende System verwenden können, wären etwa „Palmtop"-Computer, tragbare digitale Assistenten
(PDAs, einschließlich
PDAs des Tabletttyps, bei denen die primäre Benutzeroberfläche eine
grafische Anzeige beinhaltet, mit der der Benutzer direkt mittels
einer Stiftvorrichtung interagiert), Internet-freigegebene Mobiltelefone
und andere Kommunikationsgeräte
usw.
-
Das
System kann außerdem
in kostengünstige
Datenverarbeitungsendgeräte
integriert werden, wie zum Beispiel erweiterte Telefone und Client-Endgeräte des „Thin"-Netzwerks (z. B.
Netzwerk-Terminals mit begrenzten lokalen Verarbeitungs- und Speicherbetriebsmitteln)
und „Set-Top-Boxes" zur Verwendung in
interaktiven bzw. Internet-freigegebenen Kabelfernsehsystemen.
-
Bei
Integration mit dem Betriebssystem eines Datenverarbeitungssystems
kann das System der vorliegenden Erfindung auch die Grundlage für eine neuartige
grafische Benutzeroberfläche
(GUI) für
das Betriebssystem (OS) bilden. Durch das System verarbeitete und
angezeigte Dokumente wären zum
Beispiel interaktive Merkmale wie etwa Menüs, Schaltflächen, Symbole usw. die die
Benutzeroberfläche
für darunter
liegende Funktionen des Betriebssystems bereitstellen. Durch Erweiterung
kann ein vollständiges
OS bzw. eine vollständige
GUI über System-„Dokumente" ausgedrückt, verarbeitet und angezeigt
werden. OS/GUI könnten
ein einziges Dokument mit mehreren „Kapiteln" beinhalten.
-
Das
System ermöglicht
und/oder erleichtert vielfältige
neuartige und/oder erweiterte GUI-Merkmale, darunter, aber ohne
Einschränkung,
die Folgenden:
- – Verwendung von Layout-Struktur-Bildern
von Dokumenten für
Navigationszwecke und zum Aufzeichnen von Benutzeraktivitäten (Verlauf);
z. B. beim Browsen durch Netzwerkinhalt
- – Dokumentinteraktionsfunktionen
und auf Gestik basierende Befehle unter Verwendung von Zeigervorrichtungen
und/oder Berührungsbildschirmtechnologie;
z. B.
Ermöglichung
von Dokumentinteraktion mittels Gestik analog zu mit physikalischen
Dokumenten oder Büchern
verwendeten Aktionen, wie zum Beispiel Ziehen eines Zeigers über eine
Seite, um die Seite umzublättern
(„Page-Flipping"), Ziehen eines Zeigers,
um die Ecke einer Seite hochzuheben, um darunter liegende Teile
nachfolgender Seiten zu sehen („Page Curl");
Ermöglichung von Werkzeugauswahl
durch Ziehwerkzeuge aus Werkzeugbalken und rückgängig machen der Auswahl durch
Ziehen von Werkzeugen zu zuvor bestimmten Teilen der Anzeige;
symbolische
Cursorbewegungen, um bestimmte OS-Befehle anzuzeigen, wie zum Beispiel
Bewegungen des Typs „Abhaken", „Durchkreuzen" und „Einkreisen" für „OK", „Löschen" und „Auswählen"; Editierbefehle
auf der Basis herkömmlicher Notation
von „Korrekturlesern";
- – Umformatieren
von Dokumentansichten durch Drehen oder Umschalten zwischen Quer-
oder Hochformat;
- – Hilfseinrichtungen
und Werkzeuge wie zum Beispiel
ein gleitendes virtuelles „Vergrößerungsglas", das einen darunter
liegenden Dokumentbereich vergrößert, wobei
die vergrößerte Ansicht
auf der internen Darstellung 14 des Ursprungsdokuments anstelle
einer Bitmap-Darstellung des Dokuments basiert, und das Dokumentparameter
wie etwa Hintergrund- und/oder Vordergrundfarben, modifizieren kann;
eine
gleitende virtuelle transluzente Tastatur für Texteingabe unter Verwendung
einer Zeigervorrichtung bzw. eines Berührungsbildschirms;
ein
gleitendes virtuelles transluzentes Lineal, das unter Verwendung
vielfältiger
benutzerwählbarer Einheiten
umskalierbar ist
- – alternative
Menü- oder „Seiten-Tab"-Herauszieh-/-Herunterziehfunktionen
- – Simulation
von physikalischer Trägheit/physikalischem
Moment, angewandt auf Seitenverschiebe/-schwenkfunktionen (z. B.
wenn eine gezoomte Anzeige einer Seite gezogen wird, um die Anzeige
zu verschieben, und dann freigegeben wird, wird die sich bewegende
Anzeige nach der Freigabe allmählich
langsamer).
-
GUI-Merkmale
dieses Typs geben neue oder erweiterte Funktionalität und/oder
verbessern die subjektive Qualität
der Benutzeroberfläche.
-
Das
System der vorliegenden Erfindung kann auch in Peripheriegeräte integriert
werden, wie etwa Papierkopievorrichtungen (Drucker und Plotter),
Anzeigevorrichtungen (wie etwa digitale Projektoren), Vernetzungsvorrichtungen,
Eingabevorrichtungen (Kameras, Scanner usw.) und auch in Mehrfunktions-Peripheriegeräte (MFPs).
-
Bei
Integration in einem Drucker ermöglicht das
System dem Drucker, unverarbeitete Daten-Dateien von dem Host-Datenverarbeitungssystem
zu empfangen und den Inhalt der Ursprungsdaten-Datei korrekt wiederzugeben,
ohne dass bestimmte Anwendungen oder durch das Hostsystem bereitgestellte
Treiber erforderlich sind. Dadurch wird es unnötig, ein Computersystem für die Ansteuerung
eines bestimmten Typs von Drucker zu konfigurieren. Das vorliegende
System erzeugt direkt ein Punkt-Map-Bild des Ursprungsdokuments,
das sich für
die Ausgabe durch den Drucker eignet (dies ist der Fall, ob das
System in dem Drucker selbst oder in das Hostsystem integriert ist). Ähnliche
Betrachtungen gelten für
andere Papierkopievorrichtungen wie etwa Plotter.
-
Bei
Integration in eine Anzeigevorrichtung wie etwa in einen Projektor
ermöglicht
das System wieder der Vorrichtung, den Inhalt der Ursprungsdaten-Datei
korrekt ohne Verwendung von Anwendungen oder Treibern auf dem Hostsystem
anzuzeigen, und ohne Notwendigkeit einer spezifischen Konfiguration
des Hostsystems und/oder der Anzeigevorrichtung. Peripheriegeräte dieser
Arten können,
wenn sie mit dem vorliegenden System ausgestattet werden, Ausgabedaten-Dateien
von beliebigen Quellen über eine
beliebige Art von Datenkommunikationsnetzwerk empfangen.
-
Aus
dem Obigen geht hervor dass das System der vorliegenden Erfindung „fest verdrahtet" werden kann; z.
B. in ROM implementiert und/oder in ASICs oder andere Einchipsysteme
integriert oder als Firmware (programmierbarer ROM wie etwa flash-barer
ePROM) implementiert werden kann, oder als Software, die lokal oder
abgesetzt gespeichert und je nach Bedarf durch eine konkrete Vorrichtung
abgerufen und ausgeführt
wird.
-
Verbesserungen
und Modifikationen können integriert
werden, ohne von dem Schutzumfang der Erfindung abzuweichen, der
in den beigefügten
Ansprüchen
festgelegt wird.