DE69732447T2 - Verfahren und Vorrichtung zur Wiedergabe von schriftartfreien, strukturierten Dokumenten - Google Patents

Verfahren und Vorrichtung zur Wiedergabe von schriftartfreien, strukturierten Dokumenten Download PDF

Info

Publication number
DE69732447T2
DE69732447T2 DE69732447T DE69732447T DE69732447T2 DE 69732447 T2 DE69732447 T2 DE 69732447T2 DE 69732447 T DE69732447 T DE 69732447T DE 69732447 T DE69732447 T DE 69732447T DE 69732447 T2 DE69732447 T2 DE 69732447T2
Authority
DE
Germany
Prior art keywords
image
representation
document
digital information
collection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69732447T
Other languages
English (en)
Other versions
DE69732447D1 (de
Inventor
Daniel P. Huttenlocher
William J. Mountain View Rucklidge
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Application granted granted Critical
Publication of DE69732447D1 publication Critical patent/DE69732447D1/de
Publication of DE69732447T2 publication Critical patent/DE69732447T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0011Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Facsimiles In General (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf strukturierte Dokumentendarstellungen und insbesondere auf strukturierte Dokumentendarstellungen, die sich für die Wiedergabe als druckfähige oder darstellbare Dokumentrasterbilder eignen, wie z. B. binäre Bitmap-Bilder oder andere binäre Bildpunkt- oder Rasterbilder. Die Erfindung bezieht sich weiter auf geeignete Datenkompressionstechniken für die Wiedergabe und Übertragung von Dokumentenbildern.
  • STRUKTURIERTE DOKUMENTENDARSTELLUNGEN
  • Strukturierte Dokumentendarstellungen stellen digitale Darstellungen für Dokumente zur Verfügung, die auf einer höheren, abstrakteren Ebene organisiert sind als nur ein Datenfeld von Bildpunkten. Wenn, als ein einfaches Beispiel, diese Textseite in dem Speicher eines Computers oder in einem nicht flüchtigen Speichermedium, wie z. B. eine Festplatte, CD-ROM oder ähnliches, als ein Bitmap dargestellt ist, d. h. als ein Datenfeld von Einsen und Nullen, die schwarze und weiße Bildpunkte anzeigen, dann wird solch eine Darstellung als unstrukturierte Darstellung der Seite betrachtet. Im Gegensatz dazu wird eine Darstellung als im Besitz eines geringfügigen Grades von Struktur betrachtet, wenn die Textseite durch eine geordnete Zusammenstellung numerischer Codes dargestellt ist, wobei jeder Code ein Textzeichen darstellt. Wenn die Textseite durch eine Zusammenstellung von Ausdrücken dargestellt ist, die in einer Seitenbeschreibungssprache ausgedrückt sind, so dass sie Information über die geeignete Schriftart für die Textzeichen umfasst, sowie die Positionen der Zeichen auf der Seite, die Größen und die Seitenränder usw., dann ist eine solche Darstellung eine strukturierte Darstellung mit einem hohen Grad von Struktur.
  • Bekannte Techniken für strukturierte Dokumentendarstellung schließen einen Kompromiss zwischen der Geschwindigkeit, mit der ein Dokument wiedergegeben werden kann und der Aussagekraft oder Feinheit mit der es dargestellt werden kann. Das ist schematisch in 1 (Stand der Technik) dargestellt. Wenn man das in 1 dargestellte Kontinuum 1 von links nach rechts betrachtet, nimmt die Aussagekraft der Darstellung zu, die Geschwindigkeit der Wiedergabe jedoch ab. Das heißt, ASCII (American Standard Code for Information Interchange), eine reine Textdarstellung ohne Formatierungsinformation, kann schnell dargestellt werden, aber besitzt keine Formatierungsinformation oder andere Information über die Dokumentenstruktur, und ist auf der linken Seite der 1 gezeigt. Seitenbeschreibungssprachen (PDLs), wie z. B. PostScript® (Adobe Systems, Inc., Mountain View, CA; Internet: http://www.adobe.com) und Interpress (Xerox Corporation, Stamford, CT; Internet: http://www.xerox.com), schließen einen hohen Grad von Information über die Dokumentenstruktur ein, brauchen jedoch wesentlich mehr Zeit für die Wiedergabe als reine Textdarstellungen, und sind auf der rechten Seite des Kontinuums 1 gezeigt.
  • Kontinuum 1 kann als ein solches betrachtet werden, bei dem Dokumentendarstellungen einen steigenden Grad von Dokumentenstruktur besitzen:
    • – Am linken Ende von Kontinuum 1 sind reine Textdarstellungen, wie z. B. ASCII. Diese vermitteln nur die Zeichen eines Textdokuments, ohne Information über Zeichensatz, Umbruch (Layout) oder andere Seitenbeschreibungsinformation, ganz zu schweigen von grafischer, bildlicher (z. B. fotografischer) oder anderer Information über den Text hinaus.
    • – Ebenfalls nahe dem linken Ende des Kontinuums 1 ist HTML (Hyper Text Markup Language), die benutzt wird, um Dokumente für das World Wide Web des Internets darzustellen. HTML stellt etwas mehr Flexibilität zur Verfügung als ASCII, indem es eingebundene Grafiken, Bilder, Ton- und Filmaufzeichnungen und Hypertext-Verweismöglichkeiten unterstützt. HTML besitzt jedoch ebenfalls keine Information über Zeichensatz und Umbruch (d. h. tatsächliches Aussehen des Dokuments). Das heißt, ein HTML-Dokument kann in verschiedenen und doch gleich "richtigen" Weisen von verschiedenen Web-Anwendungsprogrammen ("Browser") oder verschiedenen Rechnern wiedergegeben werden (in eine anzeigbare oder druckbare Ausgabe umgewandelt werden), oder sogar durch dasselbe Web-Anwendungsprogramm, das auf demselben Rechner zu verschiedenen Zeiten läuft. Zum Beispiel verändert sich die Zeilenbreite des wiedergegebenen HTML-Dokuments bei vielen Web-Anwendungsprogrammen mit den Abmessungen des Anzeigefensters, das der Benutzer ausgewählt hat. Wenn das Fenster vergrößert wird, nimmt die Zeilenbreite entsprechend zu. Das HTML-Dokument spezifiziert nicht die Zeilenbreite und kann sie nicht spezifizieren. HTML erlaubt also eine Beschreibung (markup) der Struktur des Dokuments, aber nicht eine Beschreibung des Umbruchs (Layout) des Dokuments. Man kann z. B. angeben, dass ein Textblock eine Überschrift auf der ersten Ebene sein soll, aber man kann nicht exakt die Schriftart, Ausrichtung oder andere Eigenschaften angeben, mit denen diese Überschrift der ersten Ebene wiedergegeben werden wird. (Information über HTML ist im Internet verfügbar vom World Wide Web Konsortium unter http://www.w3.org/pub/WWW/MarkUp/.)
    • – Am rechten Ende des Kontinuums 1 sind die Seitenbeschreibungssprachen, wie z. B. PostScript und Interpress. Diese PDLs sind voll ausgestattete Programmiersprachen, die beliebig komplexe Konstrukte für Seitenumbruch, Grafiken und andere Dokumenteneigenschaften erlauben, die in symbolischer Form ausgedrückt werden sollen.
    • – In der Mitte des Kontinuums 1 sind Druckersteuersprachen, wie z. B. PCLS (Hewlett-Packard, Palo Alto, CA; Internet: http://www.hp.com/), die Anweisungen (primitives) für das Zeichnen von Kurve und Zeichen einschließen.
    • – Ebenfalls in der Mitte des Kontinuums 1, aber etwas näher bei den PDLs, sind plattformübergreifende Dokumentenaustauschformate. Diese schließen Portable Document Format (Adobe Systems, Inc.) und Common Ground (Common Ground Software, Belmont, CA; Internet: http://www.commonground.com/) ein. Portable Document Format oder PDF, kann in Verbindung mit einem Adobe AcrobatTM genannten Rechnerprogramm verwendet werden. PDF schließt eine reichhaltige Zusammenstellung von Zeichen- und Wiedergabeoperationen ein, die durch jede beliebige angegebene Anweisung aufgerufen werden können (verfügbare Anweisungen schließen "draw", "fill", "clip", "text" usw. ein), aber PDF schließt keine Programmiersprachenkonstrukte ein, die z. B. die Spezifizierung von Zusammensetzungen von Anweisungen erlauben würden.
  • Bekannte Techniken für die Darstellung strukturierter Dokumente gehen davon aus, dass die Wiedergabemaschine (z. B. Anzeige-Treiberprogramm, PDL-Zerlegungsprogramm für Drucker oder andere Programme oder Schaltungen zur Erzeugung eines Punktrasterbildes aus einer strukturierten Dokumentendarstellung) Zugriff auf eine Zu sammenstellung von Zeichensätzen haben. So kann z. B. ein Dokument, das in einer PDL dargestellt ist, einen Text haben, der in einem 12-Punkt Times New Roman Zeichensatz mit 18-Punkt Arial Bold Überschriften und Fußnoten in 10-Punkt Courier gedruckt werden soll. Es wird davon ausgegangen, dass die Wiedergabemaschine die benötigten Zeichensätze bereits gespeichert hat und für den Gebrauch bereithält. Das heißt, das Dokument selbst stellt üblicherweise nicht die Zeichensatzinformation zur Verfügung. Daher wird die Wiedergabemaschine nicht in der Lage sein, eine authentische Wiedergabe des Dokuments zu erzeugen, wenn sie aufgerufen wird, um ein Dokument wiederzugeben, für das es nicht über den benötigten Zeichensatz oder die benötigten Zeichensätze verfügt. Zum Beispiel könnte die Wiedergabemaschine die in der strukturierten Dokumentendarstellung spezifizierten Zeichensätze durch andere ersetzen oder, noch schlimmer, überhaupt nicht in der Lage sein, diejenigen Passagen des Dokuments wiederzugeben, für die keine Zeichensätze zur Verfügung stehen.
  • Die grundlegende Bedeutung von Zeichensätzen für PDLs wird z. B. durch die ausführliche Diskussion von Zeichensätzen in dem Adobe Systems, Inc. PostScript Language Reference Manual (2. Auflage 1990) (im Folgenden PostScript-Handbuch genannt) veranschaulicht. Auf Seite 266 im PostScript-Handbuch steht, dass ein benötigter Eintrag in allen Grund-Zeichensätzen, encoding, ein "Datenfeld von Namen, das Zeichen-Codes (ganze Zahlen) auf Zeichennamen abbildet – die Werte in dem Datenfeld" ist. Später, im Anhang E (Seiten 591–606), gibt das Post-Script-Handbuch verschiedene Beispiele von Zeichensätzen und Codierungsvektoren.
  • Ein grundlegender Begriff für einen Zeichensatz ist der des Etikettierens, oder die semantische Bedeutung, die einem bestimmten Zeichen oder Symbol gegeben ist. Jedes Zeichen oder Symbol eines Zeichensatzes hat ein eindeutig zugeordnetes semantisches Etikett. Etikettierung ermöglicht das Ersetzen von Zeichensätzen durch andere: Zeichen aus verschiedenen Zeichensätzen, die dasselbe Etikett besitzen, können gegenseitig ausgetauscht werden. Zum Beispiel hat jedes Zeichen 21, 22, 23, 24, 25, 26 in 2 (Stand der Technik) dieselbe semantische Bedeutung: Jedes stellt die großgeschriebene Form von "E" dar, den fünften Buchstaben des allgemein im Englischen verwendeten Alphabets. Jedes erscheint jedoch in einem anderen Zeichensatz. Aus dem Beispiel von 2 ist ersichtlich, dass das Ersetzen von Zeichensätzen, selbst wenn es nur für einen einzigen Buchstaben ausgeführt wird, das Erscheinungsbild des wiedergegebenen Bildes eines Dokuments dramatisch verändern kann.
  • Ein bekannter Drucker, der als Eingabe eine PDL-Dokumentenbeschreibung akzeptiert, ist schematisch in 3 (Stand der Technik) gezeigt. Drucker 30 nimmt eine PDL-Beschreibung 35 entgegen, die von der Wiedergabeeinheit 31 interpretiert oder zerlegt wird, um Rasterbilder 32 von Seiten des Dokuments zu erzeugen. Rasterbilder 32 werden dann an ein Bildausgabe-Endgerät (IOT) 33 gegeben, das die Bilder 32 in sichtbare Zeichen auf Papierbögen verwandelt, die als gedruckte Ausgabe 36 zum Gebrauch durch einen menschlichen Nutzer ausgegeben werden. Unglücklicherweise kann die Geschwindigkeit, mit der die Wiedergabeeinheit 31 die eingegebene PDL-Beschreibung zerlegt, im Allgemeinen nicht mit der Geschwindigkeit Schritt halten, mit der das IOT 33 die Papierbögen bedrucken und als Ausgabe 36 ausgeben kann. Dies ist zum Teil deshalb der Fall, weil das Ergebnis der Zerlegung der PDL-Beschreibung unbestimmt ist. Wie oben bemerkt, entspricht eine PDL-Beschreibung, wie z. B. PDL-Beschreibung 35, nicht einem bestimmten Bild oder einer bestimmten Zusammenstellung von Bildern, sondern ist abweichenden Interpretationen unterworfen, und kann auf verschiedene Arten wiedergegeben werden. Daher wird Wiedergabeeinheit 31 zu einem Flaschenhals, der den Gesamtdurchsatz des Druckers 30 begrenzt.
  • Daher wird eine Technologie für eine besser strukturierte Dokumentendarstellung benötigt. Insbesondere wird eine Lösung benötigt, um den Kompromiss zwischen Aussagegehalt und Wiedergabegeschwindigkeit zu beseitigen und darüber hinaus eine Lösung um der Tyrannei der Zeichensatzabhängigkeit zu entrinnen.
  • In US 5,504,843 wird ein Verfahren beschrieben zur Verarbeitung von Information, die in einer strukturierten, auflösungsunabhängigen Darstellung (PDL) eines Dokuments gegeben ist (Schritt (a) von Anspruch 1) und zum zur Verfügung Stellen des Ergebnisses für den weiteren Gebrauch. Insbesondere werden die Daten in eine Vielzahl von bildbezogenen Bestandteilen getrennt, um den Durchsatz eines Drucksystems, wie z. B. eines Netzwerkdrucksystems, zu maximieren.
  • DATENKOMPRESSION FÜR DOKUMENTENBILDER
  • Datenkompressionstechniken wandeln große Datenmengen, wie z. B. Datensätze für Punktrasterbilder von Dokumenten, in kompaktere Darstellungen, aus denen die ursprünglichen großen Datenmengen entweder vollkommen oder unvollkommen wiedergewonnen werden können. Wenn die Wiederherstellung vollkommen ist, wird die Kompressionstechnik verlustlos genannt; wenn die Wiederherstellung unvollkommen ist, wird die Kompressionstechnik verlustbehaftet genannt. Das heißt, verlustlose Kompression bedeutet, dass keine Information über das ursprüngliche Dokumentenbild in dem Kompressions-/Dekompressionszyklus unwiederbringlich verloren geht. Bei verlustbehafteter Kompression geht Information während der Kompression unwiederbringlich verloren.
  • Eine Datenkompressionstechnik leistet bevorzugt schnelle, unaufwändige Dekompression und stellt eine originalgetreue Wiedergabe zusammen mit einem hohen Kompressionsverhältnis zur Verfügung, so dass komprimierte Daten in einem kleinen Speicherbereich gespeichert werden können und in vernünftiger Zeit übertragen werden können, selbst wenn die Übertragungsbandbreite begrenzt ist.
  • Verlustlose Kompressionstechniken sind oft vorzuziehen bei der Kompression von digitalen Bildern, die als von Rechnerprogrammen erzeugte strukturierte Dokumentendarstellungen entstehen. Beispiele schließen die gedruckten oder angezeigten Ausgaben von Textverarbeitungsprogrammen, Seitengestaltungsprogrammen, Zeichen- und Malprogrammen, Folienrepräsentationsprogrammen, Tabellenkalkulationsprogrammen, Internetanwendungsprogrammen und jede Zahl von anderen Arten allgemein benutzter Rechnerprogramme ein. Solche Ausgaben können z. B. von PDL-Darstellungen (z. B. PostScript) oder Dokumentaustauschformat-Darstellungen (z. B. PDF oder Common Ground) wiedergegebene Dokumentenbilder sein. Kurz gefasst sind diese Ausgaben Bilder, die zunächst einmal aus symbolischen Darstellungen erzeugt werden, anstatt als optisch gescannte Versionen physikalischer Dokumente zu entstehen.
  • Verlustbehaftete Kompressionstechniken können für Bilder, die als optisch gescannte Versionen physikalischer Dokumente entstehen, angebracht sein. Solche Bilder sind von Natur aus unvollkommene Wiedergaben des Originaldokuments, das sie darstellen.
  • Das ist wegen der Begrenzungen des optischen Abtastprozesses (Scanning process) der Fall (z. B. Rauschen, begrenzte Auflösung, schlechte Ausrichtung, Schräglage, Verzerrung usw.). In dem Umfang, in dem die Bilder selbst eine begrenzte Originaltreue besitzen, kann ein zusätzlicher Verlust an Originaltreue durch ein verlustbehaftetes Kompressionsschema in vielen Fällen akzeptabel sein.
  • Bekannte für verlustlose Bildkompression geeignete Kompressionstechniken schließen z. B. ITU (CCITT)-Gruppe-4-Codierung ein, die für Fernkopier-Übertragungen (Telefax) allgemein verwendet wird, und Joint Bilevel Image Experts Group (JBIG)-Codierung, ein binärer Bildkompressionsstandard, der gemeinsam von der ITU und der International Standards Organization (ISO) festgelegt wurde. Bekannte Codierungstechniken, die für verlustbehaftete Bildkompression geeignet sind, schließen z. B. JPEG (Joint Photographic Experts Group)-Codierung ein, die häufig für die Kompression von Graustufen- und farbigen fotografischen Bildern verwendet wird, und Symbol-basierte Kompressionstechniken, wie z. B. die in US-A-5,303,313 veröffentlichte, die für Bilder von Dokumenten benutzt werden kann, die Textzeichen und andere Symbole enthalten.
  • Im Vergleich zu verlustbehafteten Techniken ermöglichen verlustlose Kompressionstechniken natürlich eine größere Originaltreue, haben aber auch bestimmte Nachteile. Insbesondere stellen sie geringere Kompressionsverhältnisse zur Verfügung, besitzen langsamere Dekompressionsgeschwindigkeit und andere Leistungsmerkmale, die für bestimmte Anwendungen unangebracht sein können, wie z. B., wenn die Menge unkomprimierter Daten groß ist und die Übertragungsbandbreite vom Dienstrechner (Server) oder einer anderen Datenquelle zum Endnutzer gering ist. Es wäre wünschenswert, eine Kompressionstechnik mit den Geschwindigkeits- und Kompressionsverhältnis-Vorteilen der verlustbehafteten Kompression zu besitzen, die aber dennoch die Originaltreue und Authentizität hat, die lediglich von einer verlustlosen Kompression geleistet werden.
  • Im Folgenden wird eine strukturierte Dokumentendarstellung beschrieben werden, die gleichzeitig höchst aussagekräftig und schnell und unaufwändig wiederzugeben ist. Erfindungsgemäß wird Symbol-basierte Kurzzeichenanpassung (symbol-based token matching), ein Kompressionsschema, das bisher nur für verlustbehaftete Bildkompression verwendet worden ist, benutzt, um verlustfreie Kompression originaler Dokumentenbil der zu erreichen, die aus PDL-Darstellungen oder anderen strukturierten Dokumentendarstellungen erzeugt sind. Ein Dokument, das Text und Grafik enthält, wird aus seiner ursprünglichen strukturierten Darstellung in eine Kurzzeichen-basierte Darstellung übersetzt (welche selbst eine strukturierte Dokumentendarstellung ist), und die Kurzzeichen-basierte Darstellung wird wiederum benutzt, um ein wiedergegebenes Rasterbild zu erzeugen. Die Kurzzeichen-basierte Darstellung kann hohe Kompressionsverhältnisse erreichen und schnell und originalgetreu ohne Bezugnahme auf einen Zeichensatz wiedergegeben werden.
  • Die vorliegende Erfindung stellt ein Verfahren zur Verfügung, ausgeführt in einem Datenverarbeitungssystem, mit den Schritten: (a) Bereitstellen einer ersten Zusammenstellung digitaler Information, die eine erste strukturierte Darstellung des Dokuments umfasst, wobei die erste strukturierte Darstellung eine auflösungsunabhängige Darstellung ist, wobei eine Vielzahl von Ansammlungen von Bildern aus der ersten strukturierten Darstellung erhalten werden kann, wobei jede Ansammlung von Bildern, die so erhalten werden kann, mindestens ein Bild umfasst, wobei jedes Bild in jeder solchen Ansammlung ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in einer solchen Ansammlung eine kennzeichnende Auflösung aufweist; (b) Erzeugen einer zweiten Zusammenstellung von digitaler Information aus der ersten Zusammenstellung von digitaler Information, wobei die zweite Zusammenstellung von digitaler Information eine zweite strukturierte Darstellung des Dokuments umfasst, wobei die zweite strukturierte Darstellung eine verlustlose Darstellung einer bestimmten Ansammlung von Bildern darstellt, wobei die bestimmte Ansammlung von Bildern eine aus der Vielzahl von Ansammlungen von Bildern ist, die aus der ersten strukturieren Darstellung erhalten werden können, wobei die zweite strukturierte Darstellung eine Vielzahl von Kurzzeichen und eine Vielzahl von Positionen umfasst, wobei die zweite Zusammenstellung digitaler Information erzeugt wird, durch (c) Extrahieren der Vielzahl von Kurzzeichen aus der ersten strukturierten Darstellung, wobei jedes Kurzzeichen eine Zusammenstellung von Bildpunktdaten umfasst, die ein Teilbild der bestimmten Bildansammlung darstellt, und (d) Bestimmen der Vielzahl von Positionen aus der ersten strukturierten Darstellung, wobei jede Position eine Position eines Kurzzeichen-Teilbildes in der bestimmten Bildansammlung darstellt, wobei ein Kurzzeichen-Teilbild eines der Teilbilder aus einem der Kurzzeichen darstellt, wobei zumindest ein Kurzzeichen-Teilbild über eine Vielzahl von Bildpunkten verfügt, und an mehr als einer Position innerhalb der besonderen Bildansamm lung auftritt; und (e) zur Verfügung stellen der so erzeugten Zusammenstellung digitaler Information für einen weiteren Gebrauch.
  • Schritt (b) kann das Erzeugen einer Zwischendarstellung aus der ersten strukturierten Darstellung des Dokuments umfassen, wobei die Zwischendarstellung eine Bildansammlung umfasst, die zumindest ein Bild einschließt, wobei jedes Bild in der Bildansammlung, die von der Zwischendarstellung umfasst ist, ein Bild von zumindest einem Teil des Dokuments ist, und das Ableiten der Kurzzeichen und Positionen der zweiten strukturierten Darstellung des Dokuments aus der Zwischendarstellung des Dokuments.
  • Schritt (b) kann die Ausführung einer Übersetzung umfassen, um die erste strukturierte Darstellung dese Dokuments direkt in die zweiten strukturierte Darstellung des Dokuments zu übersetzen, ohne während der Übersetzung eine Zwischendarstellung zu erzeugen, die ein Bild von zumindest einem Teil des Dokuments umfasst.
  • Schritt (e) kann das zur Verfügung stellen der zweiten Zusammenstellung digitaler Information an ein Informationsspeichergerät umfassen, das Übertragen der zweiten Zusammenstellung über ein Netzwerk und/oder das Erzeugen einer menschenlesbaren darstellung von zumindest einem Teil des Dokumentes aus der zweiten Zusammenstellung digitaler Information.
  • Schritt (e) kann das zur Verfügung stellen der zweiten Zusammenstellung digitaler Information umfassen, wobei das Verfahren weiter die folgenden Schritte umfasst: (e1) Erzeugen einer dritten Zusammenstellung digitaler Information aus der zweiten Zusammenstellung digitaler Information im Decodierprozessor, wobei die dritte Zusammenstellung digitaler Information eine Bildansammlung umfasst, welche zumindest ein Bild einschließt, wobei jedes Bild in der Bildansammlung, die von der dritten Zusammenstellung digitaler Information umfasst ist, ein Bild von zumindest einem Teil des Dokuments ist, wobei die dritte Zusammenstellung digitaler Information erzeugt wird durch (e1i) Bilden eines jeden Bildes in der erwähnten Bildansammlung, die in der dritten Zusammenstellung digitaler Information enthalten ist, aus den Kurzzeichen-Teilbildern, wobei jedes gebildete Bild ein Kurzzeichen-Teilbild in zumindest einer der Positionen einschließt; und (e1ii) Zurverfügungstellung der so erzeugten dritten Zusammenstellung digitaler Information für einen weiteren Gebrauch. Vorzugsweise umfasst Schritt (e) das Bilden ei nes Bildes aus den Kurzzeichen-Teilbildern, wobei das Bild aus einer Gruppe ausgewählt wird, die aus einem unkomprimierten Bild, einem binären Bild, einem Bildpunkt-Bild, einem Rasterbild, einem Bitmap-Bild, einem komprimierten Bild, einem nach CCITT Gruppe-4 komprimierten Bild und einem nach JBIG komprimierten Bild besteht.
  • Schritt (e1ii) kann das Zurverfügungstellen von zumindest einer Teilmenge der dritten Zusammenstellung digitaler Informationen an ein Dokumentenausgabegerät umfassen, wobei die Teilmenge zumindest einen Teil von zumindest einem Bild der Bildansammlung, welche von der dritten Zusammenstellung digitaler Information umfasst wird, einschließt, wobei das Verfahren weiter folgenden Schritt einschließt: Wiedergabe der so zur Verfügung gestellten Teilmenge im Dokumentenausgabegerät, wodurch eine Menschen-lesbare Darstellung von zumindest einem Teil des Dokuments erzeugt wird.
  • Die Erfindung stellt weiterhin ein Verfahren gemäß Anspruch 6 der angehängten Patentansprüche zur Verfügung.
  • Das Verfahren kann weiter folgenden Schritt umfassen: Zur Verfügung stellen eines Programms an den Decodierprozessor, das Anweisungen umfasst, welche von dem Decodierprozessor ausgeführt werden können, wobei die Anweisungen des Programms dazu dienen, den Decodierprozessor anzuweisen, aus der zweiten Zusammenstellung digitaler Information eine dritte Zusammenstellung digitaler Information zu erzeugen, wobei die dritte Zusammenstellung digitaler Information eine Bildansammlung umfasst, welche zumindest ein Bild einschließt, wobei jedes Bild in der Bildansammlung, welche von der dritten Zusammenstellung digitaler Information umfasst wird, ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in der Bildansammlung, welche von der dritten Zusammenstellung digitaler Information umfasst wird, aus den Kurzzeichen-Teilbildern gebildet wird und ein Kurzzeichen-Teilbild in zumindest einer der Positionen einschließt.
  • Die Erfindung stellt weiter ein Informationsspeichermedium gemäß Anspruch 8 der angehängten Patentansprüche zur Verfügung.
  • Die in dem Informationsspeichermedium gespeicherte Information kann weiterhin ein Rechnerprogramm einschließen, das die Erzeugung einer dritten Zusammenstellung di gitaler Information aus der so in dem Rechner-lesbaren Informationsspeichermedium gespeicherten zweiten Zusammenstellung digitaler Information durch einen Prozessor ermöglicht, wobei die dritte Zusammenstellung digitaler Information eine Bildansammlung umfasst, welche zumindest ein Bild einschließt, wobei jedes Bild in der Bildansammlung, welche von der dritten Zusammenstellung digitaler Information umfasst wird, ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in der Bildansammlung, welche von der dritten Zusammenstellung digitaler Information umfasst wird, aus den Kurzzeichen-Teilbildern gebildet wird und ein Kurzzeichen-Teilbild in zumindest einer der Positionen einschließt.
  • Die zweite strukturierte Darstellung des Dokuments kann eine auflösungsunabhängige Darstellung sein, welche in einer reduzierten Teilmenge einer Seitenbeschreibungssprache ausgedrückt ist.
  • Jedes Kurzzeichen der zweiten strukturierten Darstellung des Dokuments kann ein ausdrückliches Kurzzeichen-Identifizierungszeichen einschließen.
  • Die Kurzzeichen der zweiten strukturierten Darstellung des Dokuments können in einer Reihenfolge angeordnet sein, und jedes Kurzzeichen kann ein Identifizierungszeichen haben, das implizit durch die Position des Kurzzeichens in der Reihenfolge dargestellt ist.
  • Die zweite strukturierte Darstellung des Dokuments kann weiterhin eine Vielzahl von Anmerkungen einschließen, wobei jede Anmerkung einen Hypertext-Verweis (hypertext link) umfasst.
  • Alternativ kann die zweite strukturierte Darstellung des Dokuments weiterhin eine Vielzahl von Anmerkungen einschließen, wobei jede Anmerkung einen Verweis auf ein Rechenobjekt umfasst.
  • Die Erfindung stellt weiterhin eine Vorrichtung zur Verfügung mit: einem Prozessor, einem Befehlsspeicher, mit dem Prozessor verbunden, der ein Informationsspeichermedium umfasst, indem Information gespeichert ist, die ein Rechnerprogramm umfasst, um die Erzeugung einer zweiten Zusammenstellung digitaler Information aus einer ersten Zusammenstellung digitaler Information durch eine Prozessor zu ermöglichen, wobei die erste Zusammenstellung digitaler Information eine erste strukturierte Darstellung eines Dokuments umfasst, wobei die erste strukturierte Darstellung eine auflösungsunabhängige Darstellung ist, wobei eine Vielzahl von Bildansammlungen aus der ersten strukturierten Darstellung erhalten werden kann, wobei jede Ansammlung von Bildern, die so erhalten werden kann, zumindest ein Bild umfasst, wobei jedes Bild in einer solchen Ansammlung ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in jeder solchen Ansammlung eine kennzeichnende Auflösung besitzt, wobei die zweite Zusammenstellung digitaler Information eine zweite strukturierte Darstellung des Dokuments umfasst, wobei die zweite strukturierte Darstellung eine verlustlose Darstellung einer bestimmten Bildansammlung darstellt, wobei die bestimmte Bildansammlung eine aus der Vielzahl der Bildansammlungen ist, die aus der ersten strukturierten Darstellung erhalten werden können, wobei die zweite strukturierte Darstellung eine Vielzahl von Kurzzeichen und eine Vielzahl von Positionen einschließt, wobei jedes Kurzzeichen eine Zusammenstellung von Bildpunktdaten umfasst, die ein Teilbild der bestimmten Bildansammlung darstellen, wobei jede Position eine Position eines Kurzzeichen-Teilbildes in der bestimmten Bildansammlung ist, und ein Kurzzeichen-Teilbild eines der Teilbilder von einem der Kurzzeichen ist, wobei zumindest ein Kurzzeichen-Teilbild eine Vielzahl von Bildpunkten besitzt und an mehr als einer Position in der bestimmten Bildansammlung auftritt; und einem Datenspeicher, verbunden mit dem Prozessor, in welchem die erste und zweite Zusammenstellung digitaler Information gespeichert werden können.
  • Der Datenspeicher kann zumindest eine Komponente ausgewählt aus einer Gruppe umfassen, die aus einem Speicher, einem nicht flüchtigen Speichergerät, einem Dienstrechner (server computer), einem Rechnernetz und einem Teil eines Rechnernetzes besteht.
  • Die Vorrichtung kann weiter ein Ausgabegerät umfassen, verbunden mit dem Prozessor, zur Ausgabe der zweiten Zusammenstellung digitaler Information.
  • Die Erfindung stellt weiterhin eine Vorrichtung nach Anspruch 10 der angehängten Patentansprüche zur Verfügung.
  • Das Eingabegerät kann zumindest eine Komponente einschließen, die aus der Gruppe ausgewählt wird, die aus einem Speicher, einem nicht-flüchtigen Speichergerät, einem Dienstrechner, einem Rechnernetz, einem Teil eines Rechnernetzes, einem Telefon zum Empfang einer Fernkopier-Übertragung, einem Datenempfangsgerät und einem Netzwerkschnittstellengerät besteht; und das Ausgabegerät kann zumindest eine Komponente einschließen, die aus einer Gruppe ausgewählt wird, welche aus einem Drucker, einer sichtbaren Anzeige, einem IOT, einem Speicher, einem nicht flüchtigen Speichergerät, einem Dienstrechner, einem Computernetz, einem Teil eines Computernetzes, einem Telefon, um eine Fernkopierübertragung zu machen, einem Datenübertragungsgerät und einem Netzwerkschnittstellengerät besteht.
  • In einer Ausgestaltung der Erfindung wird einem Prozessor eine erste Zusammenstellung digitaler Information zur Verfügung gestellt, die eine erste, auflösungsunabhängige strukturierte Darstellung eines Dokuments einschließt. Diese erste Darstellung ist eine, aus der verschiedene Bildansammlungen (z. B. Zusammenstellungen von Seitenbildern) erhalten werden können, wobei jedes solches Bild in jeder solchen Ansammlung eine kennzeichnende Auflösung besitzt. Aus der ersten Zusammenstellung digitaler Information erzeugt der Prozessor eine zweite Zusammenstellung digitaler Information, die eine zweite, auflösungsabhängige strukturierte Darstellung des Dokuments einschließt. Die zweite strukturierte Darstellung ist eine verlustlose Darstellung einer bestimmten Bildansammlung aus den Bildansammlungen, welche aus der ersten strukturierten Darstellung erhalten werden können, und sie schließt eine Zusammenstellung von Kurzzeichen und eine Zusammenstellung von Positionen ein. Die zweite Zusammenstellung digitaler Information wird durch Extrahieren der Kurzzeichen aus der ersten strukturierten Darstellung erzeugt, und durch Bestimmen der Positionen aus der ersten strukturierten Darstellung. Jedes extrahierte Kurzzeichen schließt Bildpunktdaten ein, welche ein Teilbild der bestimmten Bildansammlung darstellen. Jede Position ist eine Position eines Kurzzeichen-Teilbildes in der bestimmten Bildansammlung. Zumindest eines der Kurzzeichen-Teilbilder enthält mehrere Bildpunkte und tritt an mehr als einer Position in der Bildansammlung auf. Die so erzeugte zweite Zusammenstellung digitaler Information kann für einen weiteren Gebrauch zur Verfügung gestellt werden (z. B. Verteilung, Übertragung, Speicherung, nachfolgende Zurückwandlung in Seitenbilder). Anwendungen der Erfindung schließen Hochgeschwindigkeitsdruck und die Anzeige von Internet- (World Wide Web)-Dokumenten ein.
  • Die Erfindung wird mit Bezug auf die Zeichnungen und die folgende ausführliche Beschreibung besser verstanden werden. In den Zeichnungen weisen ähnliche Bezugszeichen auf ähnliche Komponenten hin.
  • 1 veranschaulicht schematisch den Kompromiss zwischen Aussagekraft und Wiedergabegeschwindigkeit in strukturierten Dokumentendarstellungen nach dem Stand der Technik;
  • 2 zeigt Beispiele des Buchstabens "E" in verschiedenen Schriftarten gemäß dem Stand der Technik;
  • 3 veranschaulicht schematisch einen Drucker zum Druck eines Dokuments aus einer eingegebenen Seitenbeschreibungssprachen-Datei nach dem Stand der Technik;
  • 4 zeigt die Gesamtabfolge der Umformungen, die auf eine strukturierte Dokumentendarstellung in einem vollständigen Kompressions-Dekompressionszyklus gemäß der vorliegenden Erfindung angewandt wird;
  • 5 veranschaulicht schematisch einen Kompressor zur Umwandlung einer eingegebenen Datei gemäß einer Seitenbeschreibungssprache in eine in Kurzzeichen zerlegte Darstellung, die detaillierter die Umformungen zeigt, die auf eine strukturierte Dokumentendarstellung in der Kompressionsphase von 4 angewandt werden;
  • 6 ist eine Reihe von Ansichten, die zeigen, wie die Kompressions- und Dekompressionsphasen voneinander entkoppelt werden können;
  • 7 veranschaulicht schematisch einen Drucker zum Drucken eines Dokuments aus einer in Kurzzeichen zerlegten Darstellung;
  • 8 veranschaulicht schematisch ein Anzeigesichtgerät zur Anzeige eines Dokuments aus einer in Kurzzeichen zerlegten Darstellung;
  • 9 zeigt schaltungtechnische Komponenten und Programmkomponenten eines Systems, das zur Umwandlung einer strukturierten Darstellung eines Dokuments in eine in Kurzzeichen zerlegte Darstellung eines Dokuments geeignet ist;
  • 10 zeigt ein System, das Komponenten einschließt, welche für die Umwandlung einer in Kurzzeichen zerlegten Darstellung eines Dokuments in wiedergegebene Bilder geeignet sind, wie z. B. druckfähige oder anzeigbare Seitenbilder;
  • 11 veranschaulicht die Kurzzeichen und Positionen in einem beispielhaften stark vereinfachten in Kurzzeichen zerlegten Dateiformat;
  • 12 ist ein Schaubild der Verpackung (encapsulation) von Verzeichnisblöcken und Seiten (einschließlich Positionsblöcken und Restblöcken) für ein Dokument, dargestellt in einem beispielhaften, vereinfachten, verschachtelten in Kurzzeichen zerlegten Dateiformat;
  • 13 ist ein Schaubild der Einkapselung (encapsulation) von Verzeichnisblöcken und Seiten (einschließlich Positionsblöcken und Restblöcken) für ein Dokument, dargestellt in einem beispielhaften, vereinfachten, nicht verschachtelten, in Kurzzeichen zerlegten Dateiformat;
  • 14 ist ein Flussdiagramm der Schritte in der Dokumentenkompression;
  • 15 ist ein Flussdiagramm der Schritte in der Dokumentendekompression;
  • 1623 zeigen das in Kurzzeichen zerlegte Dateiformat in einer bevorzugten Ausführungsform, wobei
  • 16 das Format eines Verzeichnisblocks zeigt, einschließlich Verzeichniserweiterungen,
  • 17 das Format einer Höhenklasse zeigt,
  • 18 das Format eines Verzeichnis-Löschungsabschnitts zeigt,
  • 19 das Format eines Positionsblocks zeigt, einschließlich Positionserweiterungen,
  • 20 das Format eines Streifens zeigt,
  • 21 das Format eines Restblocks zeigt,
  • 22 die Einkapselung von Verzeichnisblöcken und Seiten für ein Dokument zeigt, welches im in Kurzzeichen zerlegten Dateiformat gemäß der bevorzugten Ausführungsform dargestellt ist, und
  • 23 die Positionsblöcke, Restblöcke und anderen Elemente einer Seite eines Dokuments in dem in Kurzzeichen zerlegten Dateiformat gemäß der bevorzugten Ausgestaltungsform zeigt; und
  • 24 ein Flussdiagramm ist, welches den Betrieb eines World Wide Web-Betrachters zeigt, der Web-Seiten, die als in Kurzzeichen zerlegte Dateien komprimiert worden sind, aufnimmt.
  • ÜBERBLICK
  • Gemäß der Erfindung in einer besonderen Ausführungsform wird eine stark aussagekräftige strukturierte Dokumentendarstellung, wie z. B. eine PostScript®-Darstellung oder andere PDL-Darstellung, oder PDF- oder andere Dokumentenaustauschsprachen-Darstellung in ein in Kurzzeichen zerlegtes Dateiformat übersetzt oder anderweitig gewandelt, wie z. B. in das DigiPaper-Format, das im Folgenden ausführlicher beschrieben werden wird. Die in Kurzzeichen zerlegte Darstellung kann wiederum schnell in eine unstrukturierte Darstellung des Dokumentenbildes wiedergegeben werden, wie z. B. ein Bitmap oder ein nach CCITT Gruppe-4 komprimiertes Bitmap, welches gedruckt, angezeigt, gespeichert, übertragen usw. werden kann.
  • Die PDL-Darstellung oder andere ursprüngliche Darstellung des Dokuments kann auf verschiedene Arten als Seitenbilder wiedergegeben werden, wie z. B. mit verschiedenen Anzeige- oder Druckauflösungen oder mit verschiedenen Zeichensatz-Ersetzungen. Zum Beispiel kann eine vorgegebene PostScript®-Datei auf zwei verschiedenen Druckern verschiedener Auflösungen wiedergegeben werden, z. B. einem Drucker mit 300 Bildpunkten pro Zoll (dpi) (12 Bildpunkte/mm) und einem Drucker mit 600 Bildpunkten pro Zoll (24 Bildpunkte/mm), und das PostScript®-Übersetzungsprogramm für jeden Drucker wird die Größe automatisch anpassen, um die verschiedenen Auflösungen auszugleichen. Als weiteres Beispiel kann eine vorgegebene PostScript®-Datei durch zwei verschiedene Drucker verschieden wiedergegeben werden, wenn die zwei Drucker verschiedene Zeichensatz-Ersetzungen ausführen. Trotz aller reichhaltiger Aussagekraft legt eine PDL-Darstellung eines Dokuments ein Bild des Dokuments, das auf dem Drucker oder dem Anzeigeschirm ausgegeben werden soll, nicht eindeutig fest.
  • Im Gegensatz dazu ist die in Kurzzeichen zerlegte Darstellung in einer bevorzugten Ausgestaltungsform auf eine bestimmte Wiedergabe des Dokuments bezogen, d. h., auf ein bestimmtes Seitenbild oder eine bestimmte Zusammenstellung von Seitenbildern mit einer bestimmten Auflösung. Die in Kurzzeichen zerlegte Darstellung kennt auch keine Zeichensätze und ist nicht von Zeichensätzen abhängig, um in eine druckfähige oder anzeigbare Form umgewandelt zu werden.
  • Somit betrachtet die erfindungsgemäße Methode in einer bevorzugten Ausführungsform die automatische Umwandlung einer ursprünglichen, auflösungsunabhängigen, strukturierten Dokumentenbeschreibung, einer, die kein eindeutiges Erscheinungsbild des Dokuments festlegt, durch einen Rechner oder einen anderen Prozessor in eine auflösungsabhängige, strukturierte Dokumentenbeschreibung, die das Erscheinungsbild des Dokuments eindeutig festlegt. Diese bildbasierte, auflösungsabhängige Beschreibung garantiert Originaltreue: mit der DigiPaper-Darstellung wird in Übereinstimmung mit einem Aspekt der Erfindung am Anfang einmalig eine Zusammenstellung von Seitenbildern erzeugt und dann effizient und verlustlos in einem strukturiertem Format dargestellt, das gespeichert, verteilt usw. werden kann, wohingegen bei jeder Wiedergabe eines PDL-Dokuments für Anzeige, Druck oder andere Menschen-lesbare Medien eine Zusammenstellung von Seitenbildern neu erzeugt werden muss. DigiPaper erhält die Aussagekraft der ursprünglichen PDL-Darstellung aufrecht, ohne der Unvorhersehbarkeit der Wiedergabe unterworfen zu sein, die einer nicht bildbasierten Darstellung innewohnt. Darüber hinaus kann eine DigiPaper-Darstellung eines Dokuments schneller und mit weniger Rechenaufwand in eine endgültige Ausgabeform umgewandelt werden als ihr PDL-Gegenstück.
  • Obwohl die in Kurzzeichen zerlegte DigiPaper-Darstellung bildbasiert ist, ist sie dennoch eine strukturierte Dokumentendarsteilung; sie ist nicht einfach eine Abfolge von Bits, Bytes oder Lauflängen. In dieser Hinsicht unterscheidet sich DigiPaper von einem gerasterten Bild (z. B. Bitmap), einem nach CCITT Gruppe-4 komprimierten Bild oder Ähnlichem. Darüber hinaus erreicht DigiPaper im Gegensatz zu unstrukturierten Darstellungen bessere Bildkompressionsverhältnisse. Zum Beispiel erreicht DigiPaper typisch eine 2- bis 20-fach höhere Kompression als die mit dem Tagged Image File Format (TIFF®)-Dateiformat von Adobe Systems Inc. mit nach CCITT Gruppe-4 komprimierten Bilddaten, und bietet im Vergleich zu den rohen unkomprimierten Bilddaten ein Kompressionsverhältnis von etwa 100 zu 1. Tatsächlich kann eine DigiPaper-Datei in etwa dieselbe Größe besitzen als die PDL-Datei, von der sie erzeugt ist.
  • Weil DigiPaper eineschnelle, vorhersehbare Wiedergabe, garantierte Originaltreue und gute Datenkompression bietet, ist sie für einen großen Bereich von Druck- und Anzeigeanwendungen gut geeignet. Somit ist die Methode, ein Dokument aus einer PDL- oder anderen strukturierten Dokumentendarstellung in eine erfindungsgemäße in Kurzzeichen zerlegte DigiPaper-Darstellung umzuwandeln, ein Verfahren von großem Nutzen.
  • Die Erfindung kann als ein Beispiel benutzt werden, um den Durchsatz eines Druckers, wie z. B. eines Laserdruckers, Tintenstrahldruckers oder ähnlichen Druckers durch die Beseitigung des Flaschenhalses für die Wiedergabegeschwindigkeit, der PDL-Druckern nach dem Stand der Technik innewohnt (sie Erläuterung von Drucker 30 im Zusammenhang mit 3 weiter oben) zu verbessern. Der Flaschenhals kann beseitigt werden, weil DigiPaper-Dateien schnell und mit vorhersehbarer Geschwindigkeit decodiert werden können. Auf einer Sun SPARC-20-Workstation wurden mit Bildern von 600 Bildpunkten pro Zoll (24 Bildpunkte/mm) Geschwindigkeiten von ungefähr 5 Seiten pro Sekunde erzielt.
  • Andere Anwendungsbeispiele für die Erfindung werden weiter unten beschrieben werden.
  • KOMPRESSIONS-DEKOMPRESSIONSZYKLUS
  • 4 veranschaulicht die Gesamtabfolge von Umformungen, die auf eine strukturierte Darstellung eines Dokuments in einem vollständigen erfindungsgemäßen Kompressions-Dekompressionszyklus in einer besonderen Ausgestaltungsform angewandt werden. Es wird angenommen, dass das Dokument, das umgewandelt werden soll, als eine Zusammenstellung von einem oder mehreren binären Bildern wiedergegeben werden kann, wie z. B. ein Dokument, das Schwarzweiß-Text und Grafik enthält. Eine PDL-Darstellung 40 des Dokuments, wie z. B. eine PostScript®-Datei, wird in den Kurzzeichen-Zerlegungs-Übersetzer 41 eingegeben, der eine in Kurzzeichen zerlegte Darstellung 42 des Dokuments erzeugt. Die in Kurzzeichen zerlegte Darstellung 42 wiederum wird in eine Wiedergabemaschine 43 eingegeben, die ein binäres Ausgabebild 44 erzeugt.
  • Kurzzeichen-Zerlegungs-Übersetzer 41 wird auch ein Kompressor genannt, und die in Kurzzeichen zerlegte Darstellung 42 wird auch komprimierte Darstellung genannt. Die in Kurzzeichen zerlegte Darstellung 42 ist in dem Sinn komprimiert, dass sie kleiner ist als das Ausgabe-Bitmap 44. (Die in Kurzzeichen zerlegte Darstellung 42 kann der Größe nach mit der PDL-Darstellung 40 vergleichbar sein.) Das Erzeugen einer in Kurzzeichen zerlegten Dokumentendarstellung aus einer eingegebenen PDL-Dokumentendarstellung (z. B. die Erzeugung der in Kurzzeichen zerlegten Darstellung 42 aus der eingegebenen PDL-Darstellung 40) wird somit die Kompressionsphase der Umwandlungsabfolge genannt, und die Erzeugung des Ausgabebildes aus der in Kurzzeichen zerlegten Darstellung (z. B. die Erzeugung des binären Ausgabenbildes 44 aus der in Kurzzeichen zerlegten Darstellung 42) wird die Dekompressionsphase der Abfolge genannt.
  • 5 zeigt wieder, wie die PDL-Darstellung 40 in den Kurzzeichen-Zerlegungs-Übersetzer 41 eingegeben wird und dadurch die in Kurzzeichen zerlegte Darstellung 42 erzeugt wird. Hier wird der Kurzzeichen-Zerlegungs-Übersetzer 41 detaillierter veranschaulicht. In dieser Ausführungsform beginnt Kurzzeichen-Zerlegungs-Übersetzer 41 damit, die eingegebene PDL-Darstellung 40 durch einen PDL-Zerleger 45 zu verarbeiten, um ein oder mehrere Seitenbilder 46 zu erzeugen. PDL-Zerleger 45 ist von der Art, die gemeinhin benutzt wird, um PDL-Dateien in bekannten Druckern und Anzeigen in Ausgabebilder zu verwandeln; z. B. kann PDL-Zerleger 45 für eine PostScript-Eingabedatei 40 als ein PostScript-Befehlsinterpretierer-Programm verwirklicht werden, das durch einen Prozessor ausgeführt wird. Die Seitenbilder 46 sind Bitmaps oder komprimierte Bitmaps, die die Seiten des Dokuments darstellen. In einem herkömmlichen Drucker oder Sichtgerät würden die Bitmaps 46 ausgegeben werden, um das Bildausgabegerät (IOT) oder den Anzeigebildschirm anzusteuern. Hier werden die Seitenbilder 46 jedoch erfindungsgemäß durch einen Kurzzeichen-Zerleger oder Kompressor 47 komprimiert. Kompressor 47 nimmt die Seitenbilder auf und bildet einen DigiPaper- oder einen anderen in Kurzzeichen zerlegten Datenstrom oder Datei, die Kompressor 47 dann speichern, übertragen oder anderweitig für eine Weiterverarbeitung zur Verfügung stellen kann. Somit ist die in Kurzzeichen zerlegte Darstellung 42 die Ausgabe des Kompressors 47.
  • Kompressor 47 kann als Software-Programm verwirklicht werden, das von einem Prozessor ausgeführt wird.
  • Die Schritte, mit denen Kompressor 47 die Zerlegung in Kurzzeichen (Kompression) in dieser Ausführungsform durchführt, werden weiter unten unter Bezug auf 14 und den begleitenden Text beschrieben. Das DigiPaper-Dateiformat, das die bevorzugte Form der in Kurzzeichen zerlegten Darstellung 42 in dieser Ausführungsform ist, und somit die bevorzugte Form für die Ausgabe von Kompressor 47, wird weiter unten detailliert mit Bezug auf die 1623 und den begleitenden Text in den mit 1 bis 8 nummerierten Abschnitten beschrieben.
  • In 5 wird auch eine alternative Art der Erzeugung der in Kurzzeichen zerlegten Darstellung 42 gezeigt. Gemäß dieser Alternative ist der Kurzzeichen-Zerlegungs-Übersetzer 41 so ausgestaltet, dass der PDL-Zerleger 45 nicht ein Standard-PDL-Zerleger ist, sondern statt dessen eng mit Kompressor 47 verbunden ist, so dass keine Seitenbilder 46 als Zwischenergebnisse erzeugt werden. Diese Alternative kann direkte Übersetzung der eingegebenen PDL-Beschreibung 40 in die in Kurzzeichen zerlegte Darstellung 42 genannt werden. Sie ist durch Pfeil 49 veranschaulicht.
  • Die Abfolge von zwei Ansichten in 6 zeigt, dass die Kompressions- und Dekompressionsphasen der Abfolge der Umformungen aus 4 voneinander entkoppelt werden können. In Ansicht (a) findet die Kompressionsphase statt. Eine PDL-Dokumentenbeschreibung 60 wird in einen Kurzzeichen-Zerlegungs-Übersetzer 61 eingegeben, um eine in Kurzzeichen zerlegte Darstellung 62 zu erzeugen. Die in Kurzzeichen zerlegte Darstellung 62 wird dann für einen späteren Gebrauch bei 63 gespeichert. Die in Kurzzeichen zerlegte Darstellung 62 kann z. B. in einer Datei auf einer Festplatte oder in einem anderen nicht flüchtigen Speichermedium gespeichert werden, entweder lokal in dem Prozessor, der die Kurzzeichen-Zerlegung vornimmt oder außerhalb von ihm. In einem anderen Beispiel kann die in Kurzzeichen zerlegte Darstellung 62 von wo immer sie erzeugt worden ist zu einem anderen Ort übertragen werden. Insbesondere kann die in Kurzzeichen zerlegte Darstellung 62 durch einen Rechner erzeugt werden und über ein örtliches oder Weitbereichsrechnernetz an einen anderen Rechner übertragen werden, wie z. B. einen Drucker-Dienstrechner (print server) oder einen Datei-Dienstrechner (file server) oder zu einem Ausgabegerät für einen Ausdruck, wie z. B. einem Drucker oder einem Multifunktionsgerät. In einem weiteren Beispiel kann die in Kurzzeichen zerlegte Darstellung 62 vervielfältigt und verteilt werden. Zum Beispiel kann die in Kurzzeichen zerlegte Darstellung 62 über ein Rechnernetz, wie z. B. das Internet, an einen Dienstrechner übertragen werden und dort zwischengespeichert werden; danach können Kopien der in Kurzzeichen zerlegten Darstellung 62 durch abgesetzte Arbeitsplatzrechner (remote clients) vom Dienstrechner aufgerufen werden.
  • In Ansicht (b) von 6 findet die Dekompressionsphase statt. In 64 wird die in Kurzzeichen zerlegte Darstellung 65 von einem Gerät erhalten, das die Dekompression und Ausgabe vornehmen wird. Beispielsweise kann die in Kurzzeichen zerlegte Darstellung 65 aus einem Speicher wiedergewonnen werden, durch ein Rechnernetz oder über ein Telefon (Modem) empfangen werden oder von einer anderen in Kurzzeichen zerlegten Darstellung kopiert werden. Die in Kurzzeichen zerlegte Darstellung 65 wird in eine Wiedergabemaschine 66 eingegeben, die das Dokument als ein Seitenbild oder eine Zusammenstellung von Seitenbildern ausgibt, die angezeigt, gedruckt, fernkopiert, durch ein Computernetz übertragen usw. werden oder werden können.
  • Obwohl die in Kurzzeichen zerlegte Darstellung 65 der Dekompressionsphase (b) in diesem Beispiel identisch mit der in Kurzzeichen zerlegten Darstellung 62 der Kompressionsphase (a) sein kann, muss das nicht unbedingt der Fall sein. Die in Kurzzeichen zerlegte Darstellung 65 kann z. B. auch eine aus einer beliebigen Anzahl von Kopien der in Kurzzeichen zerlegten Darstellung 62 sein, die zuvor gemacht und verteilt worden sind. Als ein anderes Beispiel kann die in Kurzzeichen zerlegte Darstellung 65 auch eine Darstellung irgendeines anderen Dokuments als dem für die Herstellung der in Kurzzeichen zerlegten Darstellung 62 verwendeten sein. Jedenfalls ist die in Kurzzeichen zerlegte Darstellung 65 vorzugsweise eine Darstellung, die aus einem Bild oder einer Zusammenstellung von Bildern erzeugt (d. h. komprimiert) worden ist, deren Auflösung mit der Ausgabeauflösung der Wiedergabemaschine 66 übereinstimmt.
  • Weitere Beispiele, wie eine in Kurzzeichen zerlegte Darstellung für einen späteren Gebrauch (wie in 63) gespeichert und dann (wie in 64) für den Gebrauch erhalten werden kann, sind weiter unten unter Bezug auf die 910 und den begleitenden Text beschrieben.
  • Durch die in 6 veranschaulichte Entkopplung der Kompressions- und Dekompressionsphasen ergeben sich bestimmte Vorteile. Insbesondere kann für Druckanwendungen die rechenintensive und unvorhersehbar lange Aufgabe der PDL-Zerlegung im Voraus erledigt werden (d. h. unabhängig davon durch einen dafür bestimmten Dienstrechner). Der Drucker braucht dann nur das Kurzzeichen zerlegte DigiPaper-Format zu dekomprimieren, was schnell und effizient und mit vorhersehbarer Geschwindigkeit erledigt werden kann. Der Drucker kann entsprechend schneller und gleichzeitig weniger kostspielig gemacht werden, da seine Rechenschaltung weniger leitungsfähig sein kann, als es für einen herkömmlichen PDL-Drucker erforderlich ist.
  • Einige Beispiele von Wiedergabemaschinen, die sich zur Verwendung als Wiedergabemaschine 66 eignen, sind in den 78 gezeigt. 7 veranschaulicht schematisch einen Drucker 76, der ein Dokument aus einer in Kurzzeichen zerlegten Darstellung, wie z. B. eine DigiPaper-Datei, drucken kann. Drucker 76 ist ein Beispiel für den bereits erwähnten flaschenhalsfreien Drucker. Er ist so ausgestaltet, dass er eine eingegebene in Kurzzeichen zerlegte Darstellung entgegen nimmt, wie z. B. in Kurzzeichen zerlegte Darstellung 75, und diese Darstellung in eine gedruckte Ausgabe umwandelt.
  • Er braucht keinen eingebauten PDL-Zerleger und seine interne Rechenleistung kann dementsprechend relativ bescheiden sein. Drucker 76 funktioniert durch die Dekompression der eingegebenen in Kurzzeichen zerlegten Darstellung 75 mit einem Dekompressor 71. Dekompressor 71 kann z. B. ein eingebauter Prozessor sein, der ein Dekompressionsprogramm ausführt. Alternativ kann er in einer anwendungsspezifischen Schaltung ausgeführt sein. Dekompressor 71 erzeugt eine Zusammenstellung von einem oder mehreren Rasterbildern 72, eines für jede Seite des gedruckten Dokuments. Die Rasterbilder werden an ein herkömmliches Bildausgabegerät (IOT) 73 geliefert, das die gedruckte Ausgabe 77 erzeugt.
  • 8 veranschaulicht schematisch ein Sichtgerät 86, das ein in einer in Kurzzeichen zerlegten Darstellung, wie z. B. eine DigiPaper-Datei, eingegebenes Dokument anzeigen kann. Es ist ähnlich konzipiert wie Drucker 76. Anzeigegerät 86 nimmt eine eingegebene in Kurzzeichen verlegte Darstellung entgegen, wie z. B. in Kurzzeichen zerlegte Darstellung 85, und dekomprimiert sie mit einem Dekompressor 81. Dekompressor 81 erzeugt eine Zusammenstellung von einem oder mehreren Rasterbildern 82, eines für jede Seite des gedruckten Dokuments. Die Rasterbilder können alle auf einmal erzeugt werden, oder je nach Bedarf, entsprechend dem zur Verfügung stehenden Bildspeicher und anderen Beschränkungen der Umgebung, in der Anzeige 86 arbeitet. Die Rasterbilder werden an ein Anzeige-Endgerät 83, wie z. B. eine Kathodenstrahlröhre (CRT) oder einen Flachbildschirm, ausgegeben, der eine Ausgabe erzeugt, die von einem menschlichen Wesen gelesen werden kann.
  • Wie Drucker 76 benötigt Anzeige 86 keinen eingebauten PDL-Zerleger. Somit braucht beispielsweise der Prozessor (CPU) des Rechners, wenn Anzeige 86 als Teil eines Arbeitsplatzrechners oder anderen Rechners für allgemeine Aufgaben eingebaut ist, nicht viel Rechenleistung aufwenden, um Anzeige 86 mit Bildpunkten zu versorgen. Dies kann z. B. dann von Vorteil sein, wenn Anzeige 86 von weit her erhaltene Dokumente wiedergibt, wie z. B. Seiten aus dem World Wide Web.
  • Obwohl die in den 78 gezeigten Beispiele 76, 86 für Wiedergabemaschinen Ausgabebilder erzeugen, die unmittelbar als gedruckte oder angezeigte Seiten sichtbar werden, können andere Wiedergabemaschinen andere Arten von Bildausgabe erzeugen. Insbesondere kann die Ausgabe einer Wiedergabemaschine sein, die zum Gebrauch als Wiedergabemaschine 66 geeignet ist, ein codiertes Bitmap (z. B. eine Übertragung nach CCITT Gruppe-4 zum Empfang durch einen entfernten Fernkopierer oder ein entferntes Multifunktionsgerät) oder ein anderes unstrukturiertes Dokumentenformat.
  • Die Schritte, mit denen die Dekompressoren, wie z. B. Dekompressor 71 und Dekompressor 81, die Dekompression in dieser Ausführungsform durchführen können, sind weiter unten unter Bezug auf 15 und den begleitenden Text beschrieben.
  • SYSTEMKOMPONENTEN
  • 9 zeigt Schaltungskomponenten und Programmkomponenten eines beispielhaften Systems, das für die Ausführung der Kompressionsphase der Umformungsabfolge von 4 geeignet ist. Das System von 9 schließt einen Rechner 100 für allgemeine Aufgaben ein, der durch einen oder mehrere Kommunikationspfade, wie z. B. Verbindung 129, mit einem örtlichen Rechnernetz (LAN) 140 und auch mit einem Weitbereichs-Rechnernetz, hier als das Internet 180 veranschaulicht, verbunden ist. Durch das LAN 140 kann der Rechner 100 mit anderen örtlichen Rechnern, wie z. B. einem Datei-Dienstrechner 141, kommunizieren. Durch das Internet 180 kann Rechner 100 mit anderen örtlichen und fernen Rechnern, wie z. B. World Wide Web-Dienstrechner 181, kommunizieren. Wie leicht zu erkennen ist, kann die Verbindung von Rechner 100 zum Internet 180 auf verschiedene Arten hergestellt werden, z. B. direkt durch Verbindung 129 oder durch das örtliche Rechnernetz 140 oder durch ein Modem (nicht gezeigt).
  • Rechner 100 ist ein Arbeitsplatzrechner oder Bürorechner, der z. B. eine Workstation, ein Personal Computer oder ein anderes Rechnersystem für einen oder mehrere Benutzer sein kann; eine beispielhafte Ausführungsform benutzt eine Sun SPARC-20-Workstation (Sun Microsystems, Inc., Mountain View, CA). Zum Zweck der Erläuterung kann der Rechner 100 zweckmäßigerweise in schaltungstechnische Komponenten 101 und Programmkomponenten 102 aufgeteilt werden; dem Fachmann ist jedoch leicht ersichtlich, das diese Aufteilung begrifflich und etwas willkürlich ist, und dass die Grenze zwischen Schaltung und Programm keine harte und feste ist. Weiter ist offensichtlich, dass die Grenzlinie zwischen einem zentralen Rechner und seinen angeschlossenen Peripheriegeräten keine harte und feste ist, und dass insbesondere Komponenten, die bei man chen Computern als Peripheriegeräte betrachtet werden, bei anderen Rechnern als eingebaute Teile angesehen werden. Somit kann z. B. Benutzer E/A 120 eine Tastatur, eine Maus und einen Anzeigeschirm einschließen, von denen jedes entweder als Peripheriegerät oder als Teil des Rechners selbst angesehen werden kann, und es kann weiter einen örtlichen Drucker einschließen, der typischerweise als Peripheriegerät angesehen wird. Als ein anderes Beispiel kann nicht flüchtiger Speicher 108 ein CD-ROM (compact disc read-only memory)-Laufwerk einschließen, das sowohl ein Peripheriegerät als auch in den Rechner eingebaut sein kann.
  • Die Schaltungskomponenten 101 schließen Prozessor (CPU) 105, Speicher 106, nicht flüchtigen Speicher 108, Benutzer E/A 120 und Netzwerkschnittstelle 125 ein. Diese Komponenten sind dem Fachmann wohlbekannt und brauchen dementsprechend nur kurz erklärt zu werden.
  • Prozessor 105 kann z. B. ein Mikroprozessor oder eine Ansammlung von Mikroprozessoren sein, die für Parallelverarbeitung ausgelegt sind. Es ist offensichtlich, dass die Rolle des Rechners 100 in manchen Ausführungsformen durch mehrere Rechner übernommen werden kann, die zusammenarbeiten (verteilte Datenverarbeitung, distributed computation); in solchen Ausführungsformen übernimmt die Kombination dieser Rechner die Funktion des Rechners 100 in dem System von 9, und die Datenverarbeitungsfähigkeit von Prozessor 105 wird von den kombinierten Prozessoren der vielen Rechner zur Verfügung gestellt.
  • Speicher 106 kann Festwertspeicher (ROM), Speicher mit wahlfreiem Zugriff (RAM), virtuellen Speicher oder andere Speichertechnologien allein oder in Kombination einschließen. Nicht flüchtiger Speicher 108 kann z. B. eine magnetische Festplatte, eine magnetische Computerdiskette oder andere nicht flüchtige wiederbeschreibbare Datenspeichertechnologien einschließen, allein oder in Kombination. Es kann weiter Massenspeicher oder Archivierungsspeicher einschließen, wie er z. B. von CD-ROM oder einer anderen Speichertechnologie hoher Kapazität zur Verfügung gestellt wird. (Man beachte, dass auch Datei-Dienstrechner 141 zusätzlichen Speicherplatz zur Verfügung stellt, den Prozessor 105 benutzen kann.) Benutzer E/A (Eingabe/Ausgabe)-Hardware 120 schließt typischerweise einen Anzeigeschirm, wie z. B. eine Kathodenstrahlröhre oder einen Flachbildschirm, eine alphanumerische Tastatur und eine Maus oder ein anderes Zeigegerät ein, und kann weiter optional einen Drucker, einen optischen Scanner oder andere Geräte für Benutzereingabe und -ausgabe einschließen.
  • Netzwerk E/A-Hardware 125 stellt eine Schnittstelle zwischen Rechner 100 und der Außenwelt zur Verfügung. Genauer gesagt erlaubt Netzwerk E/A 125 dem Prozessor 105 die Kommunikation über Verbindung 129 mit anderen Prozessoren und Geräten durch LAN 140 und durch das Internet 180.
  • Programmkomponenten 102 schließen ein Betriebssystem 150 und eine Zusammenstellung von Anwendungen unter Kontrolle des Betriebssystems 150 ein, wie z. B. ein Anwendungsprogramm 160 und, wichtig, Programm 165 zur Kurzzeichen-Zerlegungs-Übersetzung. Betriebssystem 150 erlaubt dem Prozessor 105 auch, verschiedene Geräte, wie z. B. nicht flüchtigen Speicher 108, Benutzer E/A 120 und Netzwerkschnittstelle 125 zu steuern. Prozessor 105 führt das Programm des Betriebssystems 150 und seine Anwendungen 160, 165 in Zusammenarbeit mit Speicher 106 und anderen Komponenten des Rechnersystems 100 aus.
  • Programmkomponenten 102 ermöglichen es dem Rechner 100 als Kurzzeichen-Zerlegungs-Übersetzer gemäß der vorliegenden Erfindung zu dienen. Diese Fähigkeit kann zwischen Betriebssystem 150 und seinen Anwendungen aufgeteilt sein, wie es für die besonderen Umstände angemessen sein mag.
  • In 9 wird die Fähigkeit zur Zerlegung in Kurzzeichen vorwiegend von Anwendung 165 zur Verfügung gestellt, die eine Übersetzung eines eingegebenen PDL-Dokuments zur Zerlegung in Kurzzeichen gemäß den weiter unten mit Bezug auf 14 und den begleitenden Text beschriebenen Schritten ausführt. Das eingegebene PDL-Dokument kann von einer beliebigen Anzahl von Quellen zur Verfügung gestellt werden. Insbesondere kann es als Ausgabe von einem Anwendungsprogramm 160 erzeugt werden, aus einem nicht flüchtigen Speicher 108 oder Datei-Dienstrechner 141 geladen werden oder aus dem Internet 180, z. B. von Web-Dienstrechner 181, heruntergeladen werden.
  • 10 zeigt ein System, in dem die Dekompressionsphase der Abfolge von Umformungen aus 4 auf eine Vielzahl von Arten durchgeführt werden kann. Das beispielhafte System von 10 ist als Obermenge des Systems von 9 veranschaulicht; es schließt insbesondere Rechner 100, Datei-Dienstrechner 141, Web-Dienstrechner 181, LAN 140 und das Internet 180 ein. Das System von 10 fügt weiter verschiedene Systemkomponenten 200 hinzu, die benutzt werden können, um in Kurzzeichen zerlegte Darstellungen von Dokumenten wiederzugeben. Komponenten 200 schließen einen zweiten Rechner für allgemeine Aufgaben 210, einen Netzwerkdrucker 220, einen Drucker-Dienstrechner 230 und ein "intelligentes" Multifunktionsgerät 240 ein.
  • Im Betrieb des Systems von 10 wird ein Dokument, das zuvor aus einer PDL-Darstellung in eine in Kurzzeichen zerlegte Darstellung (z. B. ein Dokument, das von Kurzzeichen-Zerlegungs-Übersetzer 165 in Rechner 100 erzeugt worden ist; ein Dokument von Datei-Dienstrechner 141 oder Web-Dienstrechner 181) über eine Netzwerkverbindung 229 an eine oder mehrere der Komponenten 210, 220, 230, 240 zur Verfügung gestellt. Jede dieser Komponenten kann als Wiedergabemaschine dienen und insbesondere als Dekompressor. Von jeder wird angenommen, dass sie ein Kommunikationsprogramm einschließt, welches es dem Prozessor ermöglicht, eine in Kurzzeichen zerlegte Darstellung eines Dokuments zu erhalten, und ein Dekompressionsprogramm, das es dem Prozessor ermöglicht, diese in Kurzzeichen zerlegte Darstellung in Bilddaten umzuwandeln, die für eine bestimmte Form der Ausgabe geeignet sind. Das Dekompressionsprogramm kann in der Komponente gespeichert sein oder zusammen mit der in Kurzzeichen zerlegten Darstellung aus LAN 140 oder dem Internet 180 über Verbindung 229 heruntergeladen werden.
  • Rechner 210 kann ein Rechner für allgemeine Aufgaben mit ähnlichen Merkmalen und Hardware-Komponenten wie Rechner 100 sein; eine beispielhafte Ausführungsform benutzt eine Sun SPARC-20-Workstation. Wie auch Rechner 100 besitzt Rechner 210 Programme, die ein Betriebssystem einschließen, das eine oder mehrere Anwendungen steuert. Während jedoch Rechner 100 über ein Kompressionsprogramm verfügt, hat Rechner 210 ein Dekompressionsprogramm. Das heißt, die Programme des Rechners 210 schließen ein Programm ein, welches den Prozessor von Rechner 210 direkt in die Lager versetzt, die in Kurzzeichen zerlegte Darstellung zu dekomprimieren, oder aber sie schließt ein Netzwerkanwendungsprogramm ein, das der Prozessor ausführen kann, um das Dekompressionsprogramm herunter zu laden, welches wiederum ausgeführt werden kann, um die in Kurzzeichen zerlegte Darstellung zu dekomprimieren. (Man beachte, dass ein Rechner natürlich sowohl das Kompressionsprogramm als auch das Dekompressionsprogramm in seinen Speicher geladen haben kann, und in manchen Fällen kann ein und derselbe Rechner sowohl als Kompressionsrechner 100 als auch als Dekompressionsrechner 210 dienen.)
  • Rechner 210 wird an einen Anzeigeschirm 211, einen örtlichen Drucker 212, ein Modem 213, ein nicht flüchtiges Speichergerät 214 und an Netzwerkausgabe-Hardware 215 angeschlossen gezeigt. Rechner 210 kann diese Geräte steuern und insbesondere für jedes dieser Geräte ein passendes Dekompressionsprogramm ausführen.
  • Zum Beispiel kann der Prozessor von Rechner 210 durch das Ausführen eines für den Anzeigeschirm 211 geeigneten Dekompressionsprogramms die Dekompression einer in Kurzzeichen zerlegten Darstellung in eine Form, die Anzeigeschirm 211 anzeigen kann, veranlassen. Somit dienen Rechner 210 und Anzeigeschirm 211 zusammen als Wiedergabemaschine zur sichtbaren Anzeige. In ähnlicher Weise können Rechner 210 und örtlicher Drucker 212 die in Kurzzeichen zerlegte Darstellung des Dokuments als Druckausgabe wiedergeben. Der örtliche Drucker 212 kann ein "dummer" Drucker sein, mit wenig oder keiner eingebauten Rechnerschaltung, da Rechner 210 die Dekompressionsarbeit leistet.
  • Weiterhin kann Rechner 210 die Dokumentenbilder in Formen ausgeben, welche nicht unmittelbar für ein menschliches Wesen lesbar, aber trotzdem von Nutzen sind. Rechner 210 kann ein Dekompressionsprogramm ausführen, das Bilddaten in unstrukturiertem (z. B. CCITT Gruppe-4) komprimiertem Format ausgibt, welches durch ein Modem 313 über Telefonleitungen übertragen werden kann. Rechner 210 kann auch unkomprimierte oder komprimierte Bilddaten an den nicht flüchtigen Speicher 214 zum späteren Auslesen ausgeben, und er kann unkomprimierte oder komprimiere Bilddaten an das Netzwerk-Ausgabegerät 215 für die Übertragung an einen anderen Ort (z. B. an einen anderen Rechner in LAN 140 oder im Internet 180) ausgeben. Wenn das dekomprimierte Dokument, wie weiter unten beschrieben, Hypertext-Links oder andere Anmerkungen enthält, kann Rechner 210 die von einem Nutzer angezeigte Auswahl solcher Anmer kungen interpretieren und diese Auswahl über das Netzwerk zusammen mit den Bilddaten übertragen.
  • Netzwerkdrucker 220 ist ein Drucker mit eigener eingebauter Rechenschaltung, einschließlich zentraler Recheneinheit und Speicher. Daher kann Netzwerkdrucker 220 im Gegensatz zum örtlichen Drucker 212 selbst die Dekompression ohne die Hilfe eines Wirtsrechners oder Dienstrechners durchführen. Netzwerkdrucker 220 ist somit eine vollständig eigenständige Wiedergabemaschine, die in der Lage ist, in Kurzzeichen zerlegte Eingabedateien in gedruckte Ausgabe umzuwandeln. In dieser Beziehung ist er dem in 7 gezeigten Drucker 76 gleichzusetzen.
  • Weiterhin in 10 ist Drucker-Dienstrechner 230 ein Rechner, der "dumme" Drucker steuern kann, und der für die vorübergehende Speicherung von Dateien benutzt werden kann, die von solchen Druckern gedruckt werden sollen. Während Rechner 210 für allgemeine Aufgaben als ein Rechner angesehen wird, der interaktiv von einem menschlichen Benutzer genutzt wird, ist Drucker-Dienstrechner 230 ein Rechner, der vorwiegend zur Steuerung von Druckern und Druckaufträgen benutzt wird. Sein Prozessor führt ein Dekompressionsprogramm aus, um Bilder zu erzeugen, die zu IOT 231 zum unmittelbaren Ausdruck oder zum Druckvorstufen-Betrachter 232 für eine vorläufige Kontrolle vor dem Ausdruck geschickt werden können, oder in einem nicht flüchtigen Speicher von Drucker-Dienstrechner 230 zum späteren Ausdruck oder zur späteren Druckvorschau in eine Druckerwarteschlange eingereiht (vorübergehend gespeichert) werden können.
  • Multifunktionsgeräte sind eine Klasse von eigenständigen Geräten, die eine Kombination von Druck-, Kopier-, Scannen- und Fernkopierfunktionen bieten. Multifunktionsgerät 240 wird als "intelligentes" Gerät mit eigenem Prozessor und eigenem Speicher angenommen, mit ausreichender Rechenleistung, um selbst in Kurzzeichen zerlegte Dateien ohne die Hilfe von einem Wirts-Rechner oder Drucker-Dienstrechner zu dekomprimieren. Hier ist es gezeigt, wie es über das Netzwerk-Ausgabegerät 242 eine Ausgabe an das Netzwerk abgibt; wenn ein Multifunktionsgerät 240 über Programme verfügt, um eine Benutzerschnittstelle auf Papier zu unterstützen, können die Ausgabedaten ausgewählte Hypertext-Verweise oder andere Information zusätzlich zu den Bilddaten einschließen. Multifunktionsgerät 240 wird auch gezeigt, wie es komprimierte Bilddaten an eine Fernkopier-Maschine 241 weitergibt. Zum Beispiel kann Multifunktionsgerät 240 mit Fernkopierer 241 über ein gewöhnliches Telefon Verbindung aufnehmen und ihm nach CCITT-Gruppe-4-Format komprimierte Bilddaten zusenden. Fernkopierer 241 empfängt die Telefaxübertragung von Multifunktionsgerät 240, so wie es jede andere Telefax-Übertragung empfangen würde, und druckt eine Kopie des Dokuments aus.
  • Der Fachmann wird verstehen, dass die Systeme aus den 910 zur Veranschaulichung gedacht sind und nicht zur Einschränkung, und dass eine breite Vielfalt von Rechen-, Kommunikations-, Informations- und Dokumentenverarbeitungsgeräten anstatt der oder zusätzlich zu den in den 910 gezeigten benutzt werden kann. Zum Beispiel ist an Verbindungen durch das Internet 180 allgemein Paketverteilung durch zwischengeschaltete Verteilrechner (nicht gezeigt) beteiligt, und Rechner 210 hat während einer typischen Web-Anwendungssitzung eines Web-Dienstprogramms sehr wahrscheinlich Zugriff auf eine beliebige Anzahl von Web-Dienstrechnern, einschließlich Rechner 100 und Web-Dienstrechner 181, aber durchaus nicht auf sie beschränkt.
  • IN KURZZEICHEN ZERLEGTE DARSTELLUNGEN
  • In einer bevorzugten Ausführungsform ist die von dem Kurzzeichen-Zerlegungs-Übersetzer erzeugte in Kurzzeichen zerlegte Dokumentendarstellung im DigiPaper-Format organisiert, das weiter unten unter Bezug auf die 1623 beschrieben werden wird. Zum einfacheren Verständnis der Einzelheiten des DigiPaper-Formats werden zunächst unter Bezug auf die 1113 einige vereinfachte in Kurzzeichen zerlegte Formate betrachtet. Diese vereinfachten Formate werden zur Veranschaulichung bestimmter Ideen vorgebracht, die grundlegend für die in der Erfindung benutzten in Kurzzeichen zerlegten Darstellungen sind, einschließlich aber nicht beschränkt auf DigiPaper.
  • 11 veranschaulicht die Konzepte von Kurzzeichen und Positionen durch ein stark vereinfachtes Beispiel. Ein aus einer Seite bestehendes Eingabedokument, dessen Bild 1100 gezeigt wird, schließt Text 1101 ein. Das Dokument kann in eine in Kurzzeichen zerlegte Darstellung 1110 umgewandelt werden. In Kurzzeichen zerlegte Darstellung 1110 schließt eine Zusammenstellung (oder Verzeichnis) von Kurzzeichen 1111 und eine Zusammenstellung von Positionen 1112 ein.
  • Jedes der Kurzzeichen 1111 stellt eine Gestalt dar, die irgendwo in dem Dokument auftritt. Die Gestalt eines jeden Kurzzeichens wird als Bitmap gespeichert. Jede der Positionen 1112 sagt aus, wo eines der Kurzzeichen platziert werden soll, d. h. wo die Gestalt des Kurzzeichens in dem Dokument auftritt. Zum Beispiel erscheint die Gestalt "t", die dem ersten Kurzzeichen zugeordnet ist, an einer Position, deren (X, Y)-Koordinaten durch das geordnete Paar (10, 20) angegeben ist. Die Gestalt "h", die dem zweiten Kurzzeichen zugeordnet ist, tritt an einer Position auf, deren (X, Y)-Koordinaten durch das geordnete Paar (20, 30) angegeben sind. Im Allgemeinen schließt jede der Positionen 1112 einen Kurzzeichen-Index ein, d. h. einen Index, der ein bestimmtes aus den Kurzzeichen 1111 anzeigt, zusammen mit einem (X, Y)-Koordinatenpaar, das angibt, wo die Gestalt des angezeigten Kurzzeichens in dem Dokument auftritt.
  • Um die im Kurzzeichen zerlegte Darstellung 1110 aus dem Dokumentenbild 1100 zu erzeugen, kann ein Rechner die verschiedenen Gestalten ausfindig machen, die in dem Dokumentenbild auftreten und festhalten, wo sie auftreten. Wenn der Rechner z. B. Text 1101 beginnend mit der ersten Zeile von links nach rechts absucht, findet er zuerst die Gestalt "t", dann die Gestalt "h", dann die Gestalt "i", dann die Gestalt "s". Der Rechner hält jede dieser Gestalten als Kurzzeichen 1111 fest, und hält dann ihre jeweiligen Positionen als Positionen 1112 fest. Wenn der Rechner von links nach rechts fortfährt, findet er als nächstes ein weiteres "i"; da diese Gestalt bereits in dem Verzeichnis ist, braucht der Rechner nur seine Position festzuhalten. Der Rechner setzt sein Verfahren fort, bis das ganze Dokumentenbild abgesucht ist. Kurz gefasst, kann der Rechner das Bild in Kurzzeichen zerlegen, indem er nach und nach jede Gestalt findet, bestimmt, ob die Gestalt bereits in dem Kurzzeichen-Verzeichnis ist, falls nicht, sie zu dem Verzeichnis hinzufügt und in jedem Fall seine Position in der Zusammenstellung der Positionen speichert.
  • Um das Bild 1100 aus der in Kurzzeichen zerlegten Darstellung 1110 wiederherzustellen, kann ein Rechner die Positionen 1112 nacheinander auslesen und für jede Position die Gestalt des Kurzzeichens, dessen Index mit der aufgeführten (X, Y)-Koordinate aufgelistet ist, übertragen. Somit wird ein Rechner, wenn er das Bild 1100 wiederherstellt, das erste Kurzzeichen (die Gestalt "t") zweimal benutzen, das zweite Kurzzeichen (Gestalt "h") zweimal, das dritte Kurzzeichen (Gestalt "i") viermal, usw. Im Allgemeinen wird das Kompressionsverhältnis, das durch die in Kurzzeichen zerlegte Darstellung erreicht werden kann, um so größer, je öfter die Gestalt eines Kurzzeichens in einem Dokument auftritt.
  • Man beachte, dass die Zusammenstellung von Kurzzeichen 1111 kein Zeichensatz ist. Eine erfindungsgemäße in Kurzzeichen zerlegte Darstellung eines Dokuments beinhaltet keine semantische Kennzeichnung und keine Zeichensätze, keine Codierung oder Abbildung von Zusammenstellungen von Zeichen-Codes auf Zusammenstellungen von Zeichennamen. Die Gestalten "t", "h", "i" usw. werden als einfache Gestalten behandelt, d. h. bestimmte Bitmaps, und nicht als Buchstaben eines Alphabets oder als Angehörige einer größeren Zusammenstellung von Zeichen-Codes. Die Gestalten scheinen in dem Verzeichnis in der Reihenfolge, in welcher sie zuerst in dem Dokumentenbild 1101 auftreten, und nicht in einer bestimmten festgelegten Reihenfolge. Die Gestalten, die in dem Dokument auftreten, legen fest, was sich in dem Verzeichnis befindet, und nicht anders herum.
  • Alle Gestalten, welche wiederholt in dem Dokument auftreten, können als Kurzzeichen-Gestalten benutzt werden, einschließlich Gestalten, die überhaupt keine symbolische Bedeutung haben. Die Gestalten, die in Dokumentenbild 1100 den Text 1101 zusammensetzen, können zufällig von englisch sprechenden Menschen als alphabetische Buchstaben erkannt werden, aber sie könnten genauso gut Keilschriftzeichen oder bedeutungslose Schnörkel sein, und der Kurzzeichen-Zerleger würde sie genauso verarbeiten. Auf der anderen Seite wird ein gegebener Buchstabe des Alphabets, der in zwei unterschiedlichen Gestalten wiedergegeben werden soll (z. B. in zwei verschiedenen Größen oder in zwei verschiedenen Schriften), zwei verschiedenen Kurzzeichen zugeordnet werden, jeweils eine für jede unterschiedliche Gestalt, in der der Buchstabe auftritt.
  • Für ein einseitiges Dokument wie Bild 1100 ist es nicht notwendig, Seiteninformation in der in Kurzzeichen zerlegten Darstellung zu codieren. Für mehrseitige Bilder längerer Dokumente sollte die in Kurzzeichen zerlegte Darstellung Information darüber enthalten, welche Kurzzeichen-Gestalten auf welchen Seiten auftreten. Für diesen Zweck kann für jede Seite das Dokuments eine getrennte Zusammenstellung von Positionen aufgestellt werden. Typischerweise werden bei in Kurzzeichen zerlegten Darstellungen für mehrsei tige Dokumente höhere Kompressionsverhältnisse erreicht, weil jedes Kurzzeichen um so öfter wiederverwendet werden kann, je länger das Dokument ist.
  • 12 und 13 veranschaulichen, wiederum auf vereinfachte Weise, einige verschiedene Möglichkeiten für mehrseitige Kurzzeichen-Zerlegungs-Formate. 12 zeigt eine in Kurzzeichen zerlegte Darstellung (auch eine Einkapselung, encapsulation genannt) 1200 eines Dokuments, dessen wiedergegebenes Bild n-Seiten lang ist. Die in Kurzeichen zerlegte Darstellung 1200 beginnt mit einem Dateivorspann 1205 und Verzeichnisblock 1206, der die Kurzzeichen und ihre Gestalten enthält. Danach kommen Reihen von Blöcken für die Seiten des mehrseitigen Dokumentenbildes. Blöcke 1211, 1212 und 1215 gehören zu Seite 1; 1221, 1222 und 1225 gehören zu Seite 2; usw. für alle übrigen Seiten (wie durch die Punkte 1250 angedeutet) einschließlich Block 1291, 1292 und 1295, die zu Seite n gehören.
  • Für jede Seite der Darstellung 1200 gibt es einen Seiten-Vorspannblock, einen Positionsblock und einen Restblock. Zum Beispiel ist Block 1211 der Vorspannblock für Seite 1; 1212 ist der Positionsblock für Seite 1 und Block 1215 ist der Restblock für Seite 1. Der Seiten-Vorspannblock zeigt den Beginn einer neuen Seite an und kann zusätzliche seitenspezifische Information enthalten. Der Positionsblock hält fest, welche Kurzzeichen an welche Positionen der aktuellen Seite gesetzt werden sollen. Der Restblock speichert die Gestalten, falls vorhanden, die auf dieser Seite auftreten und nicht in dem Kurzzeichen-Verzeichnis sind, wie z. B. Gestalten, die nur einmal in dem Dokument auftreten.
  • 13 zeigt eine in Kurzzeichen zerlegte Darstellung 1300 eines mehrseitigen Dokuments. Nur die ersten zwei Seiten sind gezeigt, der Rest des Dokuments wird durch Punkte 1350 angedeutet. Das Format ist ähnlich dem der in Kurzzeichen zerlegten Darstellung 1200 in 12, außer, dass Verzeichnisblöcke über die ganze Datei verteilt auftreten können. Die in Kurzzeichen zerlegte Darstellung 1300 beginnt mit Dateivorspann 1305, gefolgt von einem Verzeichnisblock 1310, Seitenvorspann 1311, Positionsblock 1312 und Restblock 1315 für Seite 1. Verzeichnisblock 1310 schließt alle Gestalten ein, die auf Seite 1 des Dokumentenbildes auftreten. Danach fährt die in Kurzzeichen zerlegte Darstellung 1300 auf Seite 2 mit einem zusätzlichen Verzeichnisblock 1320 fort, gefolgt von Seitenvorspann 1321, Positionsblock 1322 und Restblock 1325 für Seite 2. Verzeichnisblock 1320 schließt alle Gestalten ein, die auf Seite 2 des Dokumentenbildes zum ersten Mal auftreten, d. h., die Gestalten, die für die Wiedergabe von Seite 1 nicht gebraucht wurden, aber für die Wiedergabe von Seite 2 nötig sind. Diese neuen Gestalten werden entsprechend dem Verzeichnis hinzugefügt, das für die Wiedergabe von Seite 2 benutzt wird. Das Format fährt auf diese Weise fort (Punkte 1350) bis alle Seiten berücksichtigt sind. Zusätzliche Verzeichnisblöcke können in dem Format immer dann eingefügt werden, wenn eine neue Zusammenstellung von sich wiederholenden Gestalten benötigt wird, um darauffolgende Seiten des Dokumentenbildes wiederzugeben.
  • ERWEITERUNGEN DER IN KURZZEICHEN ZERLEGTEN DARSTELLUNG
  • Das Format einer in Kurzzeichen zerlegten Darstellung kann erweitert werden, um Information unterzubringen, die sich nicht leicht in Kurzzeichen zerlegen lässt. Wenn z. B. die strukturierte Quelldarstellung eines Dokuments Schwarzweiß-Text zusammen mit einer Farbfotografie enthält, kann das Bild der Farbfotografie mit Hilfe von JPEG oder anderen Kompressionstechniken komprimiert werden, und das Bild des Schwarzweiß-Textes kann unter Benutzung von DigiPaper oder einer anderen erfindungsgemäßen Kurzzeichen-Zerlegungskompression komprimiert werden. Das JPEG-komprimierte Foto oder ein Zeiger darauf, kann in einem Erweiterungsabschnitt des Positionsblocks für diese Seite gespeichert werden, wenn das Kurzzeichen-Zerlegungsformat solche Erweiterungen unterstützt. Insbesondere können Erweiterungen des Positionsblocks positionsabhängige Information beinhalten, und Erweiterungen des Verzeichnisblocks können Information beinhalten, die an mehr als einer Stelle im Dokument wiederverwendet wird.
  • Erweiterungen können z. B. benutzt werden, um in Kurzzeichen zerlegte Kompression von Hypertext-Dokumenten, wie z. B. World Wide Web-Seiten, zu unterstützen. Eine Web-Seite kann, wie allgemein bekannt, Hypertext-Verweise auf andere Web-Seiten enthalten. Wenn ein HTML-Dokument, das als Web-Seite gedacht ist, in eine erfindungsgemäße in Kurzzeichen zerlegte Darstellung komprimiert wird, können sein anzeigbarer Text und seine Bitmap-Grafiken in Kurzzeichen zerlegt werden und seine Verweisinformation (d. h. universal resource locator oder URL-Information) können in Erweiterungen gespeichert werden. Wenn derselbe Verweis mehr als einmal in dem Dokument benutzt wird, kann sein URL in einer Verzeichniserweiterung gespeichert werden, und die Seitenpositionen, die als aktiv angesehen werden und diesen Verweis festlegen, können in Positionserweiterungen gespeichert werden. Wenn der Verweis nur einmal auftritt, können sowohl die URL als auch die Seitenposition als eine Positionserweiterung gespeichert werden.
  • Erweiterungen können auch benutzt werden, um in Kurzzeichen zerlegte Kompression von Objekten zu unterstützen, die eingebettete Objekte enthalten, wie z. B. Microsoft® OLE-Objekte (Microsoft Corp., Redmond, WA). Ein eingebettetes Objekt, wie z. B. eine aktive Tabellenkalkulationsseite, eingebettet in ein ansonsten textorientiertes Dokument, erzeugt mit einem Textverarbeitungs-Anwendungsprogramm, kann durch den Einschluss von geeigneter Information (z. B. einem Zeiger auf das Objekt) in die Erweiterung des Positionsblocks der Seite des wiedergegebenen Dokuments, an welchem das Objekt erscheinen soll. Wenn das Objekt an mehreren Stellen in dem Dokument eingebettet ist, kann die zu ihm gehörende Information in eine Verzeichniserweiterung gegeben werden.
  • VERFAHRENSSCHRITTE VON KOMPRESSION UND DEKOMPRESSION
  • Die Flussdiagramme der 14 und 15 veranschaulichen jeweils, wie die Kompressions- und Dekompressionsprogramme in der besonderen Ausführungsform arbeiten.
  • 14 zeigt eine Abfolge von Schritten für die Übersetzung einer strukturierten Dokumentendarstellung in eine in Kurzzeichen zerlegte Darstellung. Eine strukturierte Dokumentendarstellung, wie z. B. eine PDL-Datei, wird in den Arbeitsspeicher gelesen (Schritt A) und wird durch einen herkömmlichen PDL-Zerleger in eine Zusammenstellung von Bitmap-Bildern wiedergegeben, eine pro Seite (Schritt B). Danach wird die Kompression durch Zerlegung in Kurzzeichen von dem Kompressor ausgeführt (Schritte C, D und E). Zuerst werden die Bitmap-Bilder analysiert, um die darin enthaltenen Gestalten zu identifizieren (Schritt C). Als nächstes werden diese Gestalten klassifiziert, so dass ein mehrfaches Auftreten derselben Gestalt demselben Kurzzeichen zugeordnet werden kann (Schritt D). Danach werden das Kurzzeichen-Verzeichnis, die Positionsinformation und Restinformation codiert (Schritt E), zusammen mit allen Erweiterungen, z. B. Hypertext-Verweise oder eingebettete nicht-binäre Bildkomponenten. Dies vervollständigt die Bil dung der durch Zerlegung in Kurzzeichen komprimierten Darstellung, die dann ausgegeben wird (Schritt F).
  • Der Schritt der Identifizierung von Gestalten (Schritt C) wird in der besonderen Ausführungsform durch die Verwendung der Analyse zusammenhängender Komponenten (connected components analysis) ausgeführt, obwohl auch jede andere geeignete Technik benutzt werden kann. Der Schritt der Klassifizierung von Gestalten (Schritt D) wird in der besonderen Ausführungsform unter Benutzung eines sehr einfachen verlustlosen Klassifizierers ausgeführt: zwei Gestalten werden dann und nur dann als übereinstimmend betrachtet, wenn sie bitweise identisch sind. Dieser einfache Klassifizierer hebt sich vorteilhaft von den umständlichen Klassifizierern ab, die bei der Zerlegung von eingescannten Dokumenten in Kurzzeichen nach dem Stand der Technik verwendet werden, und weist auf einen Vorteil der Erfindung hin: erfindungsgemäß ist das Dokument, das in Kurzzeichen zerlegt wird, ein Bild, das direkt aus einer PDL- oder anderen strukturierten Dokumentenbeschreibung erzeugt wird. Solche Bilder sind ihrer Natur nach frei von Rauschen, Verlusten, Verzerrungen, Abtasteffekten usw. Somit besteht keine Notwendigkeit, Näherungsklassifizierer oder heuristische Klassifizierer zu verwenden, wie das in den bekannten Methoden für die Zerlegung von gescannten Dokumenten in Kurzzeichen der Fall ist. Statt dessen kann exakte Klassifizierung benutzt werden, und zeitraubende und fehlerbehaftete heuristische Vergleiche können vermieden werden. Insbesondere verwechselt der exakte Klassifizierer nicht fälschlicherweise zwei Zeichen, wie z. B. die Zahl "1" und den Buchstaben "I", deren Gestalten einander sehr ähnlich sind.
  • Der in Schritt B benutzte PDL-Zerleger kann z. B. Zerleger 45 aus 5 sein. Der in den Schritten C bis E benutzte Kompressor kann z. B. Kompressor 47 aus 5 sein. (Ein direkter Übersetzer geht mit Pfeil 49 von 5 direkt von Schritt A zu Schritt E.)
  • 15 zeigt die Schritte zur Wiedergabe einer in Kurzzeichen zerlegten Darstellung als ein ausgegebenes Bild. Eine in Kurzzeichen zerlegte Darstellung, wie z. B. eine DigiPaper-Datei, wird in den Arbeitsspeicher gelesen (Schritt G). Danach beginnt eine Schleife (Schritt H), wenn der Dekompressor die Blöcke der Datei durchliest. Wenn der nächste Block ein Verzeichnisblock ist (Schritt I), wird der Verzeichnisblock gelesen (Schritt J), und seine Kurzzeichen werden zu den Kurzzeichen hinzugefügt, die sich bereits in den im Arbeitsspeicher gespeicherten Verzeichnis befinden (Schritt K). Wenn der nächste Block ein Seitenvorspann ist (Schritt L), wird alternativ diese Seite dekomprimiert und wiedergegeben (Schritte M bis Q): der Positionsblock für die Seite wird gelesen (Schritt M); er wird in Hinsicht auf die Zusammenstellung von Kurzzeichen des gegenwärtig im Arbeitsspeicher gespeicherten Verzeichnisses interpretiert werden. Der Restblock wird ebenfalls gelesen (Schritt N). Die in Kurzzeichen zerlegten Symbole werden dann unter Benutzung der Information aus dem Positionsblock für die Seite und der Kurzzeichen in dem gegenwärtig gespeicherten Verzeichnis in ein Bitmap-Bild der Seite umgewandelt (Schritt O). Die einzelnen Bitmaps für die Kurzzeichen werden (z. B. unter Benutzung einer Bit-Bit-Operation) in das größere Bitmap übertragen, das für die Seite zusammengesetzt wird. Alle Erweiterungen werden ebenfalls zu dieser Zeit verarbeitet. Als nächstes werden die Restinformationen wiedergegeben, indem ihre Bitmaps ebenfalls in das größere Bitmap übertragen werden (Schritt P). Das fertiggestellte Seitenbild wird an einen Anzeigeschirm, IOT, nicht flüchtigen Speicher, an ein Netzwerk, einen Fernkopierer oder an einen anderen Ausgabemechanismus ausgegeben (Schritt Q). Die Schleife wird fortgesetzt (Schritt H) bis die gesamte in Kurzzeichen zerlegte Darstellung (oder ein beliebiger gewünschter Anteil davon) verarbeitet ist (Schritt R).
  • EINZELHEITEN DER IN KURZZEICHEN ZERLEGTEN DIGIPAPER-DARSTELLUNG
  • In den nächsten, zweckmäßigerweise mit 1 bis 8 nummerierten Abschnitten werden Einzelheiten eines Formats für die in Kurzzeichen zerlegte Darstellung von Dokumenten vorgestellt, das in einer bevorzugten Ausführungsform der Erfindung benutzt wird. Das Format, das unter Bezug auf die 1623 beschrieben wird, wird das DigiPaper-Format genannt und es wird (selbstverständlich) den oben unter Bezug auf die 1113 beschriebenen vereinfachten in Kurzzeichen zerlegten Darstellungen vorgezogen.
  • Abschnitt 1 erörtert Entwurfskriterien, die den Entwurf des DigiPaper-Formats beeinflusst haben. Abschnitt 2 gibt einen Überblick über die Komponenten eines komprimierten Datenstroms in diesem Format, ohne auf die darüberliegenden Strukturen des Datenstroms Bezug zu nehmen. Abschnitte 3 bis 5 geben eine detailliertere Beschreibung von jeder dieser Komponenten. Abschnitt 6 beschreibt den Algorithmus, der zum Aufbau eines Huffman-Baumes benutzt wird. Abschnitt 7 gibt eine Beschreibung eines Daten stroms auf höherer Ebene, der die Komponenten einkapselt. Abschnitt 8 erörtert einige zusätzliche Aspekte dieses Datenstrom-Formats.
  • Der Text der Abschnitte 1 bis 8 schließt Bezüge auf die Tabellen 1 bis 12 ein. Diese Tabellen können am Ende der detaillierten Beschreibung gefunden werden.
  • 1. Einleitung
  • Zu den Kriterien, die den Entwurf dieses Codierungsformats beeinflusst haben, gehören:
    • – Es sollte möglich sein, mehrere Seiten in einem einzelnen Strom zu codieren, da die für mehrseitige Dokumente erreichte Kompression wesentlich besser ist als die für einseitige Dokumente erreichte Kompression.
    • – Wenn ein in diesem Format codiertes Dokument in einer Datei gespeichert wird, dann sollte es möglich sein, jede beliebige Seite ohne vorherige vollständige Analyse aller vorhergehenden Seiten wiederzugeben.
    • – In Übereinstimmung mit dem Ziel einer guten Kompression sollte die Codierung einzelner Werte in dem Format so einfach wie möglich sein; das erlaubt die Verwirklichung in kostengünstigen Geräten.
  • 2. Komponenten des Datenstroms
  • Ein Datenstrom codiert ein Dokument, das aus einer Anzahl von Seiten besteht. Der Datenstrom umfasst eine gewisse Anzahl von Verzeichnisblöcken, Positionsblöcken und Restblöcken.
  • Alte Bytes werden vom höchstwertigen Bit hin zum niedrigstwertigen Bit gefüllt. Wenn nicht anders angegeben, sind alle 32 Bit-Werte ohne Vorzeichen und unter Verwendung von Tabelle 1 codiert.
  • 2.1 Verzeichnisblöcke
  • Ein Verzeichnisblock enthält Information über eine Anzahl von Kurzzeichen. Von jedem Kurzzeichen wird das Bitmap (und die damit verbundene Größe und Breite) im Ver zeichnisblock gespeichert. Auch einige andere Informationen über jedes Kurzzeichen sind im Verzeichnisblock gespeichert. Insbesondere wird die Anzahl der Verwendungen dieses Kurzzeichens (seine Verwendungs-Anzahl) zusammen mit dem Kurzzeichen codiert. Das ermöglicht den Decoder, einen Huffman-Baum aufzubauen, der die Codierung von jeder Kurzzeichen-Nummer angibt.
  • Verzeichnisblöcke können beliebig zwischen die Seiten eingestreut werden, außer dass zumindest ein Verzeichnisblock vor dem ersten Positionsblock sein muss.
  • 2.2. Positionsblöcke
  • Ein Positionsblock enthält eine Anzahl von Tripeln, von denen jedes eine X-Koordinate, eine Y-Koordinate und eine Kurzzeichen-Nummer umfasst. Die Kurzzeichen, auf die in einem beliebigen vorgegebenen Positionsblock Bezug genommen wird, müssen in einem (im Datenstrom) dem Positionsblock vorangehenden Verzeichnisblock definiert sein.
  • Jeder Positionsblock wird relativ zu der Vereinigung aller vorangehenden Verzeichnisblöcke interpretiert: er kann jedes beliebige Kurzzeichen aus jedem beliebigen dieser Blöcke enthalten (siehe jedoch Unterabschnitt 3.3). Daher muss der Decoder alle in diesen Verzeichnisblöcken enthaltenen Kurzzeichen berücksichtigen, und einen Huffman-Baum auf der Basis der jedem Kurzzeichen zugeordneten Benutzungsanzahl aufbauen, um die im Positionsblock codierten Kurzzeichen-Nummern zu decodieren. Einzelheiten zum Aufbau dieses Huffman-Baumes werden in Abschnitt 6 angegeben.
  • Pro Seite kann es höchstens einen Positionsblock geben.
  • 2.3. Restblöcke
  • Ein Restblock codiert ein Bitmap, das alle nicht in Kurzzeichen zerlegten Bereiche einer Seite enthält. Er kann ohne Bezug auf jedweden Block jedweder Art decodiert werden.
  • Pro Seite kann es höchstens einen Restblock geben.
  • 3. Codierung der Verzeichnisblöcke
  • Ein Verzeichnisblock enthält eine Zusammenstellung von Kurzzeichen, die (zusammen mit den Kurzzeichen von vorangehenden Verzeichnisblöcken) benutzt werden sollen, um nachfolgende Positionsblöcke zu decodieren.
  • Das Format eines Verzeichnisblocks ist in 16 gezeigt. Verzeichnisblock 1600 enthält einen ersten Wert 1610, der, kurz beschrieben, entweder eine Anzahl der Kurzzeichen ist, oder ein Verzeichnis-Löschcode. Auf diesen Wert folgt ein Kennzeichen (flag) 1620, das anzeigt, welche Benutzungsanzahl-Codierungstabelle für diesen Verzeichnisblock verwendet werden soll. Zusätzlich enthält Verzeichnisblock 1600 Höhenklassen (siehe Abschnitt 3.1), wie z. B. Höhenklasse 1 1630, Höhenklasse 2 1640 und weitere Höhenklassen (wie durch Punkte 1650 angedeutet). Auf die Höhenklassen folgt ein ENDE-Code 1660 und ein Abschnitt mit Verzeichniserweiterungen 1670.
  • Der erste Wert 1610 in einem Verzeichnisblock ist ein (vorzeichenloser) 32 Bit-Wert, der die Anzahl der in diesem Block gespeicherten Kurzzeichen anzeigt. Dieser Wert, die Kurzzeichen-Anzahl, wird wiederum unter Benutzung der Codierung aus Tabelle 1 gespeichert. Wenn die Anzahl der Kurzzeichen als Null angegeben ist, dann ist der erste Wert 1610 ein Verzeichnis-Löschungs-Code (da ein Null-Kurzzeichen enthaltener Verzeichnisblock nicht brauchbar ist); siehe Unterabschnitt 3.3 zu Einzelheiten über Verzeichnis-Löschungs-Codes.
  • Auf die Kurzzeichen-Anzahl 1610 folgt ein 1-Bit-Kennzeichen 1620, das anzeigt, welche Benutzungsanzahl-Codierungstabelle für diesen Verzeichnisblock benutzt wird: wenn das Bit 1 ist, wird Tabelle 3 benutzt, um die Benutzungszahl der Kurzzeichen zu codieren; wenn das Bit 1 ist, wird Tabelle 4 benutzt.
  • 3.1 Höhenklassen
  • Alle im Verzeichnisblock gespeicherten Kurzeichen werden nach ihrer Höhe und Breite sortiert und in Höhenklassen zusammengefasst: Gruppen von Kurzzeichen, die dieselbe Höhe besitzen. Alle Kurzzeichen mit einer bestimmten Höhe sind in derselben Höhenklasse. Innerhalb der Höhenklasse werden sie nach ansteigender Breite sortiert.
  • Das Format einer Höhenklasse ist in 17 gezeigt. Höhenklasse 1700 enthält einen ersten Code 1710, eine Breite eines ersten Kurzzeichens 1720, eine Benutzungsanzahl 1730 von Kurzzeichen 1, eine Breitendifferenz 1740 von Kurzzeichen 2, eine Benutzungsanzahl 1750 von Kurzzeichen 2, zusätzliche Breitendifferenzen und Benutzungsanzahlen für zusätzliche Kurzzeichen (wie durch Punkte 1760 angezeigt) und ENDE-Code 1770, eine Größe 1780 (in Bytes) des komprimierten Kurzzeichen-Bildes und die komprimierten Kurzzeichen-Bilder 1790 selbst.
  • 3.1.1. Codierung der Kurzzeichen-Höhen
  • Der erste Code 1710 in der Höhenklasse ist die Höhendifferenz von der vorangehenden Höhenklasse. Klassen erscheinen von der kleinsten (kürzesten) an aufwärts, daher sind diese Differenzen immer positiv. Die Differenzen werden gemäß Tabelle 2 codiert, mit der Ausnahme, dass die Höhendifferenz um Eins verringert wird, bevor sie codiert wird, da sich die Höhe jeder Höhenklasse um mindestens Eins von der Höhe der vorangehenden Höhenklasse unterscheidet. Eine imaginäre Höhenklasse der Höhe Null geht der ersten wirklichen Höhenklasse voran, daher ist die Höhe der ersten Höhenklasse direkt codiert. Die letzte Höhenklasse wird von einem ENDE-Code aus Tabelle 2 anstatt eines gültigen Höhen-Differenz-Codes gefolgt.
  • 3.1.2. Codierung der Kurzzeichen-Breiten
  • Innerhalb jeder Höhenklasse werden die Kurzzeichen nach ansteigender Breite sortiert. Die Breite eines jeden Kurzzeichens wird als Differenz zur Breite des vorangehenden Kurzzeichens dargestellt; diese ist immer nicht-negativ. Die Breite 1720 des ersten Kurzzeichens ist direkt codiert (d. h. als Differenz von einem imaginären Kurzzeichen der Breite Null). Die Breiten werden unter Benutzung von Tabelle 2 codiert. Beachte, dass die Codierung für eine Breitendifferenz w exakt die gleiche ist wie die Codierung von w + 1 als eine Höhendifferenz. Das letzte Kurzzeichen in jeder Höhenklasse wird von einem ENDE-Code aus Tabelle 2 gefolgt.
  • 3.1.3. Codierung der Benutzungsanzahlen
  • Jedes Kurzzeichen hat eine zugeordnete Benutzungsanzahl. Das ist im Prinzip die Anzahl mit der dieses Kurzzeichen in allen Positionsblöcken zwischen diesem Verzeichnisblock und dem nächsten Verzeichnisblock auftritt. In einigen Fällen kann es auch nicht genau dieser Wert sein (d. h. der Decoder sollte sich nicht darauf verlassen, dass das Kurzzeichen exakt genauso oft in diesen Positionsblöcken auftritt). Diese Benutzungsanzahlen sollten nur benutzt werden, um die Huffman-Codierung der Kurzzeichen-Nummern aufzubauen (siehe Abschnitt 4).
  • Einige Kurzzeichen sind einmal verwendete Kurzzeichen. Das bedeutet, dass der Kompressor garantiert, dass dieses Kurzzeichen genau einmal benutzt wird, und daher kann der Dekompressor in die Lage versetzt werden, Speicherplatz freizumachen, sobald das Kurzzeichen benutzt ist. Typischerweise sind solche Kurzzeichen groß, so dass der Dekompressor damit eine bedeutende Einsparung von Speicherplatz erzielen kann. Für einmal verwendete Kurzzeichen ist die Benutzungsanzahl tatsächlich Eins, aber sie wird als Null codiert, um es von anderen Kurzzeichen zu unterscheiden, die zwischen diesem Verzeichnisblock und dem nächsten zufällig nur einmal benutzt werden (Singles), die aber theoretisch später wieder benutzt werden könnten. Einmal verwendete Kurzzeichen sollten nicht vollständig vergessen werden, sobald sie einmal benutzt sind (sie müssen beim Aufbau des Huffman-Baumes berücksichtigt werden, auch wenn sie nicht weiter auftreten können), aber die einzige Information, die erhalten bleiben muss, ist die Größe des Kurzzeichens und seine Position in seinem Verzeichnisblock (benötigt, um bei der Berechnung des Huffman-Codes des Kurzzeichens Gleichstände aufzulösen); seine Bildinformation kann verworfen werden.
  • Dies mag als Verschwendung erscheinen – sobald das einmal verwendete Zeichen in einem Positionsblock aufgetreten ist, kann es nicht wieder auftreten, und daher ist sein Bereich in dem Code-Raum der Kurzzeichen-Nummern verschwendet. Es soll jedoch der Fall angenommen werden, dass der Dekompressor den Positionsblock, in dem der Gebrauch des Kurzzeichens auftritt, überspringt. Das kann z. B. der Fall sein, weil jemand interaktiv eine in diesem Format gespeicherte Datei überflogen hat, und die Seite, in der dieses einmal verwendete Kurzzeichen verwendet wurde, überschlagen hat. Da der Dekompressor den Positionsblock der übersprungenen Seite nicht komplett analy siert hat, hätte er dann keine Möglichkeit zu wissen, dass das einmal gebrauchte Kurzzeichen bereits benutzt war; diese zusätzliche Analyse (von möglicherweise vielen übersprungenen Seiten) ist für eine interaktive Benutzung schädlich; sie führt eine unnötige Abhängigkeit zwischen den Teilen der Datei ein.
  • In einigen Anwendungen werden Singles und einmal verwendete Kurzzeichen möglicherweise nicht im Kurzzeichen-Verzeichnis gespeichert; sie könnten in dem Restblock der Seite, auf der sie auftreten, codiert werden (dies führt im Allgemeinen zu einer besseren Kompression und zu verringerten Anforderungen an den Arbeitsspeicher des Decoders). Wenn sie in diesem Verzeichnisblock vorhanden sind, sollte Tabelle 3 benutzt werden, um die Benutzungsanzahlen zu codieren; wenn sie nicht vorhanden sind, sollte Tabelle 4 benutzt werden. Das Kennzeichen für die Codierung der Benutzungsanzahl (im Vorspann des Verzeichnisblocks) zeigt an, welche Tabelle benutzt wurde. Beachte, dass Tabelle 4 keine Benutzungsanzahl von 0 oder 1 codieren kann.
  • 3.1.4. Codierung der Kurzzeichen-Bilder
  • Alle Kurzzeichen-Bilder innerhalb einer Höhenklasse werden von links nach rechts in der gleichen Reihenfolge aneinandergereiht (d. h. nach ansteigender Breite sortiert), wobei das erste (kleinste) am weitesten links angeordnet wird. Dieses einzige Bild wird dann nach CCITT Gruppe-4 komprimiert. Die Kompression nach Gruppe-4 benutzt keine EOL-Codes und füllt Bytes vom höchstwertigen Bit zum niedrigstwertigen Bit.
  • Die Länge (in ganzen Bytes) der Codierung wird unter Benutzung von Tabelle 1 als 32-Bit-Wert ausgeschrieben. Beginnend an der nächsten Byte-Grenze in der Datei wird dann das komprimierte Bild ausgeschrieben. Die nächste Höhenklasse beginnt an der Byte-Grenze, die dem komprimierten Bild folgt; damit beginnt und endet das nach Gruppe 4 komprimierte Bild der Höhenklasse jeweils an einer Byte-Grenze.
  • In einigen Fällen vergrößert die Komprimierung des Bildes der Höhenklasse nach Gruppe-4 seine Größe. Wenn dies auftritt, kann der Codierer das Bitmap-Bild unkomprimiert speichern. Er zeigt dies dadurch, dass er angibt, dass die Länge des gespeicherten Bitmaps Null Bytes ist. Diese Byte-Anzahl ist für die Ergebnisse der Kompression unmöglich, da keine Höhenklasse leer ist, so dass der Decoder diese Situation erkennen kann.
  • Dem Decoder ist an diesem Punkt die Größe des Bitmaps der Höhenklasse bekannt, so dass er die Anzahl der Bytes kennt, die es tatsächlich belegt. Jede Zeile des Bitmaps wird aufgefüllt, so dass sie an einer Byte-Grenze endet.
  • 3.2. Verzeichnisblock-Erweiterungen
  • Nach der letzten Höhenklasse kann der Verzeichnisblock Erweiterungen enthalten. Im Augenblick ist dieser Abschnitt des Verzeichnisblocks weitgehend undefiniert. Es wird erwartet, dass er benutzt werden wird, um zusätzliche Information über die Kurzzeichen in dem Verzeichnisblock zu speichern; z. B., welche ASCII-Zeichen sie darstellen, falls dies bestimmt worden ist.
  • Der einzige definierte Teil des Erweiterungsabschnittes in dieser Ausgestaltungsform ist das Längenfeld. Unmittelbar auf die letzte Höhenklasse folgt ein 32-Bit-Wert (gespeichert unter Benutzung der Codierung in Tabelle 1), der die Größe in Bytes des Erweiterungsabschnittes des Verzeichnisblocks angibt. Der Erweiterungsabschnitt selbst, falls vorhanden, beginnt an der nächsten Byte-Grenze. Falls es keine Erweiterungen gibt sollte eine Länge von 0 angegeben werden.
  • 3.3. Verzeichnis-Löschungs-Codes
  • Wenn der Wert des Kurzzeichen-Anzahlfeldes in einem Verzeichnisblock Null ist, so zeigt dies an, dass dem Verzeichnisblock ein Verzeichnis-Lösungscode vorangeht. Solche Löschungscodes verringern die Anforderungen an den Speicherplatz im Dekompressor und verbessern die Ausnutzung des Speicherplatzes durch Verringerung der Anzahl von Kurzzeichen im Huffman-Baum, und somit die Anzahl der benötigten Bits, um Kurzzeichen-Nummern in nachfolgenden Positionsblöcken zu codieren. Sie zeigen an, dass das im Dekompressor gespeicherte Kurzzeichen-Verzeichnis gelöscht werden sollte. Es können jedoch einige Kurzzeichen aus vorangehenden Verzeichnisblöcken beibehalten werden (diejenigen, die der Kompressor für am wahrscheinlichsten in der Zukunft nützlich hält).
  • Das Format dieses Löschungsabschnitts ist in 18 gezeigt. Verzeichnis-Löschungsabschnitt 1800 enthält einen Wert 1810, der die Anzahl von Kurzzeichen 1810 angibt, die beibehalten werden sollen, gefolgt von den Huffman-Codes für die beibehaltenen Kurzzeichen (z. B. Code 1820 für das erste beibehaltene Kurzzeichen, Code 1830 für das zweite, usw., wobei zusätzliche Codes hier durch die Punkte 1840 angedeutet sind). Auf die Huffman-Codes folgt ein Wert 1850, der die Anzahl von neuen Kurzzeichen in diesem Verzeichnisblock angibt.
  • Dieser Löschungsabschnitt tritt unmittelbar nach dem "Null-Kurzzeichen in diesem Verzeichnisblock"-Kennzeichen auf, das seine Anwesenheit anzeigt. Die Anzahl der beizubehaltenden Kurzzeichen 1810 wird unter Benutzung von Tabelle 1 codiert. Der letzte Wert im Abschnitt ist die Anzahl neuer Kurzzeichen in diesem Verzeichnisblock; der Verzeichnisblock fährt dann wie gewohnt fort. Beachte, dass der Huffman-Baum aufgebaut werden muss, wie es für einen Positionsblock an dieser Stelle in der Datei der Fall gewesen wäre.
  • 4. Positionsblöcke
  • Positionsblöcke codieren binäre Bilder, indem sie eine Abfolge von (Kurzzeichen-Position, Kurzzeichen-Nummer)-Paaren speichern. Ein Positionsblock enthält nicht die Größe des Bildrechteckes, das er darstellt; das wird einer anderen Ebene des Dateiformats überlassen.
  • Die in einem beliebigen Positionsblock benutzten Kurzzeichen können aus einem beliebigen Verzeichnisblock, der in der Datei vorangeht, entnommen werden (sofern nicht ein vorangehender Verzeichnisblock einen Verzeichnis-Löschungscode enthielt; siehe Unterabschnitt 3.3). Auf die Kurzzeichen wird durch ihre Huffman-Codes Bezug genommen. Diese werden berechnet, indem (logisch) alle vorangehenden Verzeichnisblöcke aneinandergehängt werden, und dann ein Huffman-Baum der Benutzungsanzahlen der Kurzzeichen in diesen Blöcken aufgebaut wird. Beachte, dass dieser Baum jedes Mal neu aufgebaut werden muss, wenn ein neuer Verzeichnisblock in der Datei auftritt. Der exakte Algorithmus für den Aufbau des Huffman-Baumes wird in Abschnitt 6 angegeben.
  • Für diese Erörterung wird angenommen, dass die Koordinaten der oberen linken Ecke des durch diesen Positionsblock codierten Bildrechteckes (0, 0) sind. Da alle Koordina ten innerhalb des Blocks relativ sind, können die tatsächlichen Koordinaten beliebig sein; alles wird relativ zu dieser oberen linken Position codiert. Koordinaten steigen im Bild von oben nach unten an und horizontal von links nach rechts. Gewöhnlich stellt die Y-Koordinate die vertikale Position einer Instanz des Kurzzeichens dar, und die X-Koordinate stellt ihr horizontale Position dar. Es gibt jedoch einen transponierten Codierungs-Modus, der für Dokumente gedacht ist, in denen die vornehmliche Richtung des Textflusses vertikal ist (wie es z. B. im chinesischen Text der Fall ist). In diesem Fall stellt die X-Koordinate eine Kurzzeichenposition die vertikale Position im Bild dar, und die Y-Koordinate stellt ihre horizontale Position dar.
  • Die für ein Kurzzeichen codierte Position ist im normalen Codierungsmodus die Position des Bildpunktes in seinem unteren linken Eck und im transponierten Codierungsmodus die Position des Bildpunktes in seinem oberen linken Eck.
  • Das Format eines Positionsblocks 1900 ist in 19 gezeigt. Der erste Wert 1910 ist die unter Verwendung von Tabelle 1 codierte Anzahl der in diesem Positionsblock vorhandenen Kurzzeichen. Darauf folgt einige Information über die in diesem Block verwendete Codierung. Die Felder sind hier:
  • Modaler-delta-X-Wert
  • Dieses verzeichenlose 4-Bit-Feld (Feld 1920) gibt den modalen delta-X-Wert an. Dieser Wert wird von allen delta-X-Werten abgezogen, bevor sie codiert werden, und muss bei der Decodierung hinzugezählt werden.
  • Streifengröße
  • Dieses 2-Bit-Feld (Feld 1930) gibt die Höhe der Streifen an, in die das Bild zerlegt ist. Im Augenblick sind drei Werte definiert: 0, 1 und 3, die jeweils Streifenhöhen von 1, 2 und 4 Bildpunkten anzeigen.
  • Kennzeichen für erste X-Codierungstabelle
  • Dieses 2-Bit-Feld (Feld 1940) zeigt an, welche Codierungstabelle benutzt wurde, um die erste X-Position in jedem Streifen zu codieren; siehe Tabellen 5 und 6. Die Werte 2 und 3 sind im Augenblick undefiniert.
  • Kennzeichen für delta-X-Codierungstabelle
  • Dieses 2-Bit-Feld (Feld 1950) zeigt an, welche Codierungstabelle benutzt wurde, um die delta-X-Werte innerhalb eines jeden Streifens zu codieren; siehe Tabellen 7, 8 und 9. Der Wert 3 ist im Augenblick undefiniert.
  • Kennzeichen für delta Y-Codierungstabelle
  • Dieses 2-Bit-Feld (Feld 1960) zeigt an, welche Codierungstabelle benutzt wurde, um die delta-Y-Werte zwischen den Streifen zu codieren; siehe Tabellen 10, 11 und 12. Der Wert 3 ist im Augenblick undefiniert.
  • Transpositions-Kennzeichen
  • Dieses 1-Bit-Feld (Feld 1965) enthält 0, wenn der Positionsblock normal codiert ist, und 1, wenn er transponiert codiert ist.
  • Nach dieser anfänglichen Codierungsinformation werden die Orte und Identifizierungen der in diesem Bild erscheinenden Kurzzeichen codiert. Das Bild wird in Streifen der im Streifengröße-Feld codierten Größe (1, 2 oder 4 Bildpunkte) zerlegt. Im normalen Koordinaten-Codierungsmodus zerlegen die Streifen das Bild in horizontale Scheiben; im transponierten Codierungsmodus zerlegen die Streifen das Bild in vertikale Scheiben. Der Klarheit halber werden die Streifen im Zusammenhang des normalen Codierungsmodus (als Zeiten) beschrieben werden.
  • Die Streifen in Positionsblock 1900 schließen Streifen 1 1970, Streifen 2 1980 und zusätzliche Streifen (wie durch die Punkte 1985 angedeutet) ein. Auf die Streifen folgt ein Positions-Erweiterungsabschnitt 1990.
  • Die erste Zeile des ersten Streifens in einem Positionsblock ist die oberste Zeile des Bildes. Die Streifen werden von oben nach unten codiert. Es werden nur Streifen wirklich codiert, die Aufrufe von irgendeinem Kurzzeichen enthalten; jeder nicht-leere Streifen codiert die Nummern der Streifen, die zwischen ihm und dem vorangehenden nicht-leeren Streifen übersprungen worden sind. Innerhalb jedes Streifens sind die Kurzzeichen nach ansteigender X-Position sortiert.
  • Das Format eines einzelnen Streifens ist in 20 gezeigt. Streifen 2000 enthält die Y-Differenz 2010 vom vorangegangenen Streifen, die X-Position 2020 und Y-Position 2030 des ersten Kurzzeichens, den Huffman-Code 2040 des ersten Kurzzeichens, die delta-X-Position 2050 zum zweiten Kurzzeichen, die Y-Position 2060 des zweiten Kurzzeichens, den Huffman-Code 2070 des zweiten Kurzzeichens und zusätzlich delta-X-, Y- und Huffman-Code-Information für zusätzliche Kurzzeichen (wie durch Punkte 2080 angedeutet). Am Ende des Streifens 2000 ist ein ENDE-Code 2090.
  • Der erster Wert in einem Streifen (z. B. erster Wert 2010 in Streifen 2000) ist die Differenz zwischen der Y-Startposition von diesem Streifen und der Y-Startposition des vorangegangenen Streifens. Da die Streifen darauf beschränkt sind in Zeilen zu beginnen, die durch die Streifenhöhe teilbar sind, teilt der Codierer die tatsächliche Differenz durch die Streifenhöhe und codiert sie dann. Die Codierung wird unter Benutzung einer der Tabellen 10 bis 12 durchgeführt; durch das "delta-X-Codierungstabelle-Kennzeichen" im Vorspann des Positionsblocks wird angezeigt, welche Tabelle benutzt wird. Es gibt einen imaginären nicht-leeren Streifen genau über der oberen Kante des Bildes; dieser wird benutzt, um die Differenz für die Y-Position des ersten Streifens zu berechnen.
  • Die X-Position des ersten Kurzzeichens innerhalb eines jeden Streifens wird unter Benutzung der Tabellen 5 oder 6 codiert; durch das "Kennzeichen für Codierungstabelle für erstes X" im Vorspann des Positionsblocks wird angezeigt, welche Tabelle benutzt wird. Die X-Position wird als eine Differenz von der ersten X-Position des vorangegangenen Streifens codiert (oder als ein absoluter Wert im Fall des ersten Streifens).
  • Die Y-Position eines jeden Kurzzeichens innerhalb eines Streifens wird in Abhängigkeit von der Streifenhöhe (Streifenhöhe 1, 2 oder 4) mit 0, 1 oder 2 Bit codiert. Der Wert ist die Anzahl der Zeilen, um die die Referenzposition (sein unteres linkes Eck) des Kurzzeichens vom oberen Ende des Streifens abwärts liegt.
  • Die X-Position eines jeden Kurzeichens innerhalb des Streifens, mit Ausnahme des ersten, wird (im Standard-Codierungsmodus) dadurch codiert, dass von der X-Position des Kurzzeichens die X-Position des vorangehenden Kurzzeichens subtrahiert wird, plus der Breite des vorangehenden Kurzzeichens; dies berechnet die X-Differenz zwischen dem unteren linken Eck dieses Kurzzeichens und dem Bildpunkt rechts vom unte ren rechten Eck des vorangehenden Kurzzeichens. Im transponierten Codierungsmodus wird die X-Position eines jedes Kurzzeichens in dem Streifen dadurch codiert, dass die Differenz zwischen der X-Position des Kurzzeichens und der X-Position des vorangehenden Kurzzeichens berechnet wird, plus die Höhe des vorangehenden Kurzzeichens. Somit wird im transponierten Codierungsmodus die vertikale Differenz zwischen dem oberen linken Eck dieses Kurzzeichens und dem Bildpunkt unterhalb des linken unteren Ecks des vorangehenden Kurzzeichens codiert.
  • In jedem Fall wird der im Vorspann des Positionsblocks angegebene modale delta-X-Wert von diesem Wert abgezogen, bevor er codiert wird; dies stellt sicher, dass der am häufigsten vorkommende codierte Wert immer Null ist. Die für den resultierenden mit einem Vorzeichen versehenen Wert benutzte Codierungstabelle wird durch den Wert des "Kennzeichens für delta-X-Codierungstabelle" angegeben; es ist eine der Tabellen 7 bis 9.
  • Das letzte Kurzzeichen in einem Streifen ist durch einen ENDE-Code (aus der geeigneten delta-X-Codierungstabelle entnommen) anstatt eines delta-X-Codes markiert. Da Streifen nie leer sind, gibt es keine Möglichkeit, einen ENDE-Code in irgendeiner der Codierungstabellen für das erste X zu codieren.
  • Beachte, dass es keinen Ende-des-Bildes-Code gibt; statt dessen wird der letzte Streifen durch eine Y-Position markiert, die außerhalb des möglichen Bereiches für dieses Bildrechteck liegt. Diese Position startet keinen wirklichen Streifen, so dass darauf keine Kurzzeichen-Positionen folgen. Statt dessen folgt darauf (siehe 19) ein Positionsblock-Erweiterungsabschnitt 1990, ähnlich der Verzeichnisblockerweiterung 1670 (aus 16). Der einzige definierte Teil von Abschnitt 1990 ist im Augenblick ein Längenfeld: ein 32-Bit-Wert (gespeichert unter Verwendung der Codierung in Tabelle 1), der die Größe des Positionsblock-Erweiterungsabschnittes in Bytes angibt, welche an der nächsten Byte-Grenze beginnt. Eine Länge von 0 wird benutzt, um einen leeren Erweiterungsabschnitt anzuzeigen.
  • 5. Restblöcke
  • Das Bitmap einer jeden Seite wird in zwei Teilen codiert: der Positionsblock, der die auf dieser Seite benutzten Kurzzeichen aus dem Verzeichnis angibt, und das Rest-Bitmap. Das Rest-Bitmap codiert all diejenigen Markierungen auf der Seite, die nicht im Positionsblock codiert wurden. Bei der Decodierung sollten die durch den Positionsblock der Seite angegebenen Kurzzeichen zuerst in das unkomprimierte Bitmap geschrieben werden; der Restblock sollte dann mit diesem Bitmap durch eine ODER-Operation kombiniert werden. Das im Restblock gespeicherte Bitmap kann kleiner sein als das Bitmap der ursprünglichen Seite. Wenn das Rest-Bitmap leer ist (ganz weiß), dann enthalten die Rest-Bitmap-Felder (einschließlich des Längenfeldes) alle Null, und es gibt kein codiertes Rest-Bitmap.
  • 21 zeigt das Format eines Restblocks 2100. Alle Felder außer dem tatsächlich codierten Rest-Bitmap sind 16- oder 32-Bit-Werte ohne Vorzeichen. Sie werden jeweils als 2 oder 4 Byte codiert, wobei das höchstwertige Byte zuerst erscheint ("big-endian"-Codierung).
  • Linke Kante des Rest-Bitmaps
  • Dieses Feld (Feld 2110) gibt die Position der linken Kante des Rest-Bitmaps relativ zum ursprünglichen Bitmap an. Es ist ein 2-Byte-Wert.
  • Oberkante des Rest-Bitmaps
  • Dies ist ein 2-Byte-Wert (Wert 2120), der die Position der Oberkante des Rest-Bitmaps relativ zum ursprünglichen Bitmap angibt.
  • Breite des Rest-Bitmaps
  • Dieses ist ein 2-Byte-Wert (Wert 2130), der die Breite des Rest-Bitmaps angibt.
  • Höhe des Rest-Bitmaps
  • Dieses ist ein 2-Byte-Wert (Wert 2140), der die Höhe des Rest-Bitmaps angibt.
  • Länge des codierten Rest-Bitmaps
  • Dieses ist ein 4-Byte-Wert (Wert 2150), der die Länge des codierten Rest-Bitmaps in Bytes angibt.
  • Codiertes Rest-Bitmap
  • Dieses ist eine nach CCITT Gruppe-4 codierte Darstellung 2160 des Rest-Bitmaps. Die Kompression nach Gruppe-4 benutzt keine EOL-Codes und füllt die Bytes beginnend vom MSB hin zum LSB. Wie im Fall der Höhenklasse der Verzeichnisse, in Unterabschnitt 3.1.4, kann dieses Bitmap optional unkomprimiert gespeichert werden; dieses wird durch einen Wert Null für die Anzahl der Bytes angegeben.
  • 6. Huffman-Codierung
  • Folgender Algorithmus wird für den Aufbau des Huffman-Baumes benutzt:
    • – Bilde ein Datenfeld der Benutzungsanzahlen der Kurzzeichen. Kurzzeichen, deren Benutzungsanzahl mit Null angegeben ist, werden mit einer Benutzungsanzahl von Eins berücksichtigt (dieses sind einmal verwendete Kurzzeichen). Die Reihenfolge des Datenfeldes sollte die genaue Reihenfolge sein, in der die Kurzzeichen in der Datei bis zu diesem Punkt auftraten. Nach einem Verzeichnis-Löschungscode ist die Reihenfolge beliebiger beibehaltener Kurzzeichen gleich der Reihenfolge, in der sie in der Liste der beibehaltenen Kurzzeichen erschienen sind.
    • – Suche das aktuelle Datenfeld nach den zwei Elementen mit den niedrigsten Werten ab. Benutze im Falle eines Gleichstandes immer das Element, das dem Beginn des Datenfeldes am nächsten liegt. Dies kann durch die Benutzung einer Priorität-Warteschlange mit der Benutzungsanzahl als erstem Schlüsselwert und der Position in dem Datenfeld als zweitem Schlüsselwert erreicht werden.
    • – Schaffe einen Knoten in den Baum, der die Vereinigung dieser zwei Elemente darstellt. Seine Benutzungsanzahl ist die Summe ihrer Benutzungsanzahlen.
    • – Ersetze in dem Datenfeld das erste dieser zwei Elemente (dasjenige, das dem Beginn des Datenfeldes am nächsten liegt) durch diesen vereinigten Knoten. Entferne das zweite Element aus dem Datenfeld (aber vergiss es nicht).
    • – Fahre fort, bis das Datenfeld nur einen einzigen Knoten enthält.
    • – Benutze diesen Baum, um die Länge des Huffman-Codes für jedes Kurzzeichen herauszufinden: Durchquere den Baum bis hinab zu jedem Kurzzeichen; die Länge dieses Weges ist die Anzahl von Bits im Code für dieses Kurzzeichen.
    • – Weise die Codes selbst unter Benutzung des "kanonischen Huffman-Code"-Zuweisungs-Algorithmus zu:
    • – c[l] Sei die Anzahl der Codes mit der Länge l-Bits.
    • – Nimm an, dass die größte mögliche Code-Länge 32 ist.
    • – f[32] = 0;
    • – for (l = 31; l >= 0; l--) f[l] = (f[l + 1] + c[l + 1])/2;
    • – f[l] ist nun der erste (niedrigste) Wert für alle Codes mit der Länge l-Bits. Diese sollten in aufsteigender Reihenfolge zugewiesen werden, in der Reihenfolge mit der die Kurzzeichen in der Datei auftreten: das erste Kurzzeichen, dessen Code die Länge l besitzt, bekommt den Code f[l] zugewiesen, das nächste mit der Länge l bekommt den Code f[l] + 1, usw.
  • 7. Einkapseln der Blocks
  • Die gegenwärtige Einkapselung der Blocks ist ganz einfach; andere, komplexere Einkapselungen sind möglich. Die hier beschriebene ist minimal, aber ganz einfach zu analysieren und erlaubt wahlfreien Zugriff auf Seiten ohne übermäßige Schwierigkeit. Die Felder in dieser Einkapselung sind in 22 gezeigt.
  • Identifizierungs-Vorspann
  • Dieses ist ein 5-Byte-Feld (Feld 2210), das die Bytes 0 × 54 0 × 03 0 × 6f 0 × 8d 0 × 50 enthält.
  • Dateiversion
  • Dieses ist ein 1-Byte-Feld (Feld 2220), das die Version der benutzten Einkapselung enthält. Dieser Wert ist im Augenblick 9.
  • Länge des codierten Verzeichnisblocks
  • Dieses ist ein 4-Byte-Wert (Wert 2230), der die Länge des Verzeichnisblocks in Bytes angibt. Dieser Wert ist in der Netzwerk-Byte-Anordnung gespeichert (höchstwertiges Bit zuerst), wie alle anderen numerischen Werte in der Einkapselung auf höherer Ebene.
  • Verzeichnisblock
  • Dieses ist ein Verzeichnisblock (Verzeichnisblock 2240), in dem in Abschnitt 3 beschriebenen Format. Gegenwärtig gibt es nur einen Verzeichnisblock, und Verzeichnis-Löschungscodes werden nicht benutzt; es ist nicht schwierig, die Einkapselung abzuändern, um diese zu unterstützen.
  • Anzahl der Seiten
  • Dieses ist ein 2-Byte-Wert (Wert 2250), der die Anzahl der Seiten in dieser Datei angibt.
  • Seiten
  • Jede dieser Seiten (z. B. codierte Seite 1 2260; codierte Seite 2 2270; zusätzliche codierte Seiten wie durch Punkte 2280 angedeutet) wird, wie in 23 gezeigt, codiert. Die Felder der Seite 2300 sind:
  • Name der Seitendatei
  • Dieses ist eine mit NUL abgeschlossene Zeichenkette (Zeichenkette 2310), die den Namen der Datei angibt, von der diese Seite ursprünglich kam, oder andere identifizierende Information.
  • Seitenbreite
  • Dies ist ein 2-Byte-Wert (Wert 2320), der die Breite des Bitmaps dieser Seite angibt.
  • Seitenhöhe
  • Dies ist ein 2-Byte-Wert (Wert 2330), der die Höhe des Bitmaps dieser Seite angibt.
  • Länge des codierten Positionsblocks
  • Dies ist ein 4-Byte-Wert (Wert 2340), der die Länge des Positionsblocks dieser Seite in Bytes angibt.
  • Positionsblock
  • Dies ist ein Positionsblock 2350, in dem in Abschnitt 4 beschriebenen Format.
  • Restblock
  • Dies ist ein Restblock 2360, in dem in Abschnitt 5 beschriebenen Format. Es ist nicht notwendig, die Länge des Restblocks zu codieren, da diese leicht durch Absuchen der ersten wenigen Bytes bestimmt werden kann.
  • 7.1. Einbettung in TIFF
  • TIFF® wird gegenwärtig allgemein verwendet, um nach CCITT-Gruppe-4 komprimierte Bitmaps zu speichern. Dieser Unterabschnitt beschreibt in Kürze, wie Verzeichnisblöcke, Positionsblöcke und Restblöcke in TIFF®-Dateien eingebettet werden könnten, um TIFF® zu ermöglichen, durch Kurzzeichen-Zerlegung komprimierte Bitmaps darzustellen.
  • Da der Dekompressor, um die Dekompression richtig auszuführen, alle einem Positionsblock vorangehenden Verzeichnisblöcke gesehen haben muss, sollten diese Verzeichnisblöcke so einfach wie möglich zu finden sein. Vorzugsweise gibt es höchstens einen Block pro Seite, der (als eine Markierung, tag) in dem Verzeichnis der höchsten Ebene für diese Seite gespeichert ist. Wenn der Dekompressor durch die Datei geht, um zu einer bestimmten Seite zu gelangen, muss er daher von allen Verzeichnisblöcken vorbeikommen, die er brauchen wird. Er braucht sie nicht zu analysieren, bevor er tatsächlich auf einen durch Kurzzeichen-Zerlegung komprimiertes binäres Bild trifft, sondern braucht sich nur ihre Position (und Reihenfolge) zu merken.
  • Die Positionsblöcke sollten auf der anderen Seite so viel wie möglich von der für binäre Bilder verfügbaren Information wieder benutzen. Sie sollten als gewöhnliche binäre Bilder gespeichert werden, aber unter Verwendung einer veränderten Kompressions methode (die TIFF®-Spezifikation erlaubt, komprimierte Bilder mit der angewandten Kompressionsmethode zu etikettieren).
  • Die Restblöcke könnten auch als binäre Bilder gespeichert werden, auf denselben Seiten wie die zugehörigen Positionsblöcke; die TIFF®-Spezifikation erlaubt das Speichern mehrerer Bilder für dieselbe Seite (aber sie spezifiziert nicht in angemessener Weise, wie sie kombiniert werden sollten).
  • 8. Weitere Diskussion
  • Es folgt einige zusätzliche Information bezüglich des gegenwärtigen DigiPaper-Formats und bezüglich möglicher Veränderungen des Formats.
    • – Im gegenwärtigen Format stellt ein Positionsblock eine komplette Seite dar. In einigen Anwendungen (insbesondere ein Fernkopier-Ausgabegerät) können Seiten in Scheiben zerlegt sein; das bedeutet, dass der Ausdruck der Seite schnellstmöglich starten kann, sobald die erste Scheibe der Seite decodiert ist. Jede Scheibe der Seite würde einen Positionsblock und einen Restblock umfassen. Das Format auf höchster Ebene müsste sich leicht verändern, um dies zu ermöglichen: Verzeichnisblöcke würden innerhalb einer Seite (zwischen Seitenscheiben) auftreten. Dies steht im Widerspruch zu dem Ziel, einen leichten Zugang zu einer einzelnen Seite zu erlauben: der Decoder muss die Seite durchlesen und diese Verzeichnisblöcke herausklauben, um eine nachfolgende Seite decodieren zu können. Er braucht jedoch immer noch nicht von jeder Seitenscheibe den Positionsblock vollständig zu decodieren.
    • – Jedes vorgegebene Dokument kann eine große Anzahl von Darstellungen besitzen, je nachdem wie der Coder die Kurzzeichen auf jeder Seite klassifiziert, wo er die Verzeichnisblöcke und Verzeichnis-Löschungs-Codes ablegt, je nach seiner Wahl der Codierungstabelle, je nachdem wie Seiten in Seitenstreifen zerlegt werden usw. Anforderungen an den Arbeitsspeicher im Encoder und Decoder können die Darstellungen, welche erfolgreich erzeugt oder decodiert werden können, einschränken. Wenn sich Encoder und Decoder direkt miteinander unterhalten (wie z. B. in einer Übertragung zu einem Fernkopier-Ausgabegerät), können sie eine Speichergrenze aushandeln, und der Encoder kann sicherstellen, dass der Decoder diese Grenze nicht überschreiten wird, indem er jede Seite in genügend kleine Streifen zerlegt (um die Anforderungen an den Pufferspeicher für das Seitenbild zu reduzieren), und durch die Einfügung von Verzeichnis-Löschungs-Codes (um die Speicheranforderungen an das Kurzzeichen-Verzeichnis zu verringern). Solche Einschränkungen verschlechtern wahrscheinlich die Kompression. Wenn das Dokument in eine Datei komprimiert wird, ist eine solche Verhandlung nicht möglich. Daher müssen Decoder, die solche gespeicherten Dateien auslesen, darauf vorbereitet sein, einen (möglicherweise) großen Speicherbereich zu benutzen. In einer solchen Situation läuft der Decoder aber wahrscheinlich auf einem leistungsfähigen Rechner für allgemeine Aufgaben, so dass diese Anforderung nicht zu schwerwiegend ist. Für Fernkopierer können Kostenanforderungen auf der anderen Seite zu Situationen führen, in denen der Gebrauch von Arbeitsspeicher stark eingeschränkt ist; glücklicherweise sind dies genau die Situationen, in denen eine Verhandlung möglich ist.
    • – Die codierten Höhenklassen der Kurzzeichen und die codierten Rest-Bitmaps werden unter Benutzung der Kompression nach CCITT Gruppe-4 komprimiert, oder sie werden in den Fällen, in denen Gruppe-4 tatsächlich ihren Umfang vergrößert, unkomprimiert gespeichert. Dies wurde gewählt, weil Systeme (sowohl schaltungstechnisch als auch Programme), die die Kompression und Dekompression nach Gruppe-4 ausführen, verbreitet und ganz einfach sind. Diese Bitmaps könnten mit jedem geeigneten verlustlosen binären Kompressor gespeichert werden; eine Möglichkeit wäre JBIG.
  • ANWENDUNGEN DER ERFINDUNG
  • Das DigiPaper-Dateiformat ist nun komplett beschrieben worden. Als nächstes werden einige weitere Anwendungen der Erfindung erörtert. Weiter oben wurde als eine Anwendung Druck mit hoher Geschwindigkeit erwähnt. Die beispielhaften Wiedergabekomponenten 200, die in 10 veranschaulicht wurden, legen andere Anwendungen nahe, einschließlich Druckvorschau, Desktop-Publishing, Dokumentenverwaltungssysteme und Anwendungen für verteiltes Drucken sowie auch Telefax-Kommunikation. Allgemein kann die Erfindung in jeder Situation, in der eine schnelle qualitativ hochwertige Dokumentenwiedergabe benötigt wird, Anwendung finden.
  • Die Erfindung ist für interaktive Dokumente, wie z. B. World Wide Web-Dokumente, besonders geeignet. Wegen der Aussagekraft der in Kurzzeichen zerlegten Darstellung (insbesondere im Vergleich zu HTML), können im DigiPaper-Format codierte Web-Dokumente mit einer zu Druckmedien vergleichbaren Originaltreue wiedergegeben werden. Darüber hinaus können Wiedergabegeschwindigkeiten von unter einer Sekunde pro Seite für Text und Grafik erzielt werden. Das bedeutet weniger ungewollte Verzögerungen für Benutzer, die Dokumente von entfernten Web-Dienstrechnern herunterladen.
  • Das Flussdiagramm von 24 veranschaulicht ein einfaches Zusammenwirken zwischen einem Web-Dienstrechner und einem Arbeitsplatzrechner, der ein Web-Benutzerprogramm (Browser) ausführt, wie z. B. Netscape Navigator (Netscape Communications, Inc., Mountain View, CA), das die JavaTM-Programmiersprache unterstützt (zu beziehen von Sun Microsystems, Inc.). Der Arbeitsplatzrechner empfängt ein Kommando, das anzeigt, dass der Benutzer des Arbeitsplatzrechners einen Hypertext-Verweis ausgewählt hat, der auf eine neue Web-Seite zeigt (Schritt AA), welcher im DigiPaper-Format codiert ist. Der Rechner antwortet darauf, indem er dem ausgewählten Verweis folgt (Schritt BB), und das Herunterladen der ausgewählten Seite beginnt. Zuerst wird ein JavaTM-Programm oder Applet heruntergeladen (Schritt CC), dessen Ausführung der Arbeitsplatzrechner selbsttätig beginnt. Durch die Ausführung des JavaTM-Applets wird der Arbeitsplatzrechner veranlasst, eine Daten-Datei herunterzuladen, die eine in Kurzzeichen zerlegte DigiPaper-Darstellung des anzeigbaren Textes und der anzeigbaren Grafiken enthält, die den lesbaren Inhalt der Web-Seite ausmachen (Schritt DD). Das Applet schließt auch ein DigiPaper-Dekompressionsprogramm ein, so dass der Arbeitsplatzrechner die sich ergebende Web-Seite wiedergeben (Schritt EE) und anzeigen (Schritt FF) kann, sobald die in Kurzzeichen zerlegte Darstellung heruntergeladen ist. Die DigiPaper-Darstellung kann Erweiterungen einschließen, um die in der heruntergeladenen Web-Seite eingebetteten Hypertext-Verweise zu unterstützen, und das Applet kann die Auswahl von neuen Verweisen auf der dekomprimierten Seite erkennen (weiter in Schritt FF). In Abhängigkeit davon, was der Benutzer als nächstes zu tun entscheidet (Schritt GG) kann das Applet entweder als Reaktion auf die Auswahl ei nes Verweises auf der heruntergeladenen DigiPaper-Seite durch den Benutzer auf eine neue Seite verweisen (Schritt BB), oder es kann die Kontrolle an den Browser zurückgeben (Schritt HH). Wenn einen neue Web-Seite ausgewählt wurde, behält das Applet die Kontrolle. Insbesondere muss das Applet nicht wieder heruntergeladen werden (Schritt BB), wenn die neu ausgewählte Seite eine Digipaper-Seite ist. Wenn der Benutzer z. B. eine Browser-Funktion ausgewählt hat, die nicht unmittelbar auf den Inhalt der augenblicklich angezeigten Seite bezogen ist, kann das Applet beendet oder zeitweilig ausgesetzt werden, und die Kontrolle kann zu dem Browser-Hauptprogramm zurückkehren (Schritt HH).
  • Dieses Beispiel zeigt, dass, wo eine in Kurzzeichen zerlegte DigiPaper-Dokumentendarstellung mit einem Dekompressions-Applet gebündelt wird, das entstehende Bündel in Wirklichkeit ein selbstwiedergebendes Dateiformat ist. Solange der Browser die JavaTM-Sprache, die Industriestandard ist, unterstützt, braucht er nicht speziell für DigiPaper aufgerüstet zu werden. Darum kümmert sich das Applet.
  • VARIATIONEN UND ALTERNATIVE AUSGESTALTUNGSFORMEN
  • Es sind viele alternative Ausgestaltungsformen der Erfindung möglich. Hier sind einige Beispiele:
    • – Die strukturierte Darstellung des Quelldokuments braucht keine PDL-Darstellung zu sein. Andere Möglichkeiten schließen Dokumentenaustauschformate (z. B. PDF, Common Ground) und PCL5 ein. Im Allgemeinen kann jede strukturierte Dokumentendarstellung benutzt werden, die nicht auf Bildern beruht.
    • – Obwohl das DigiPaper-Dateiformat das bevorzugte Format für die in Kurzzeichen zerlegte Darstellung ist, können andere strukturierte Dokumentendarstellungen verwendet werden. Eine Möglichkeit ist die Benutzung einer stark reduzierten Teilmenge einer PDL. Die Teilmenge braucht nur wenige Operationszeichen einzuschließen, gerade genug um anzugeben, was die Bitmaps für die verschiedenen Symbole sind und wo die Symbole in dem wiedergegebenen Bild positioniert werden sollen, zusammen mit grundlegenden Kommandos, die das Zeichnen der Symbole an den gewünschten Positionen veranlassen. In PostScript kann die Teilmenge, z. B. aus den Operationszeichen imagemask, moveto, rmoveto, definefont und show bestehen; diese Operationszeichen sind im PostScript-Handbuch jeweils auf den Seiten 435, 456, 483, 398 und 520 definiert. Insbesondere kann das definefont-Operationszeichen aus Bitmaps bestehende Zeichensätze entgegennehmen und somit benutzt werden, um die Bitmaps der Kurzzeichen zu definieren.
    • – Obwohl die auf Bildern beruhende und in Kurzzeichen zerlegte DigiPaper-Darstellung auflösungsabhängig ist, ist es dennoch möglich, sie in einer anderen Auflösung als der aus der sie in Kurzzeichen zerlegt wurde, zu drucken oder anzuzeigen. Dies kann z. B. durch Niederabtasten bewerkstelligt werden. Die sich ergebenden Bilder können für viele Anwendungen von akzeptabler Qualität sein.
    • – Das Restbild für eine Seite kann einfach als ein weiteres Kurzzeichen betrachtet werden, obwohl es aus Effizienzgründen außerhalb des Verzeichnisblocks gespeichert wird. Alternativ kann das Restbild im Verzeichnisblock gespeichert werden, als Kurzzeichen oder als Zusammenstellung von Kurzzeichen.
    • – Die erfinderische Kompressionstechnik kann in ein Dokumentenkompressionssystem einbezogen werden, das sowohl verlustbehaftete Codierung abgetasteter Seiten als auch verlustlose Codierung von wiedergegebenen Seiten unterstützt. Insbesondere wird die erfinderische Technik benutzt, um verlustlose symbolbasierte Darstellung von wiedergegebenem Text und wiedergegebener Grafik zur Verfügung zu stellen. Symbolbasierte Techniken nach dem Stand der Technik können für die Codierung von abgetasteten Dokumentenseiten verwendet werden, die Text und Grafiken enthalten; bevorzugt wird das gleiche Dateiformat (z. B. DigiPaper) sowohl für die verlustbehaftete als auch für die verlustlose Technik verwendet, so dass unabhängig von der Quelle des Dokumentenbildes dieselbe Wiedergabemaschine benutzt werden kann. Eine andere Technik kann für farbige und Graustufen-Bitmap-Bilder (z. B. Fotografien) verwendet werden, wie z. B. JPEG oder andere verlustbehaftete Codierungstechniken.
  • ABSCHLUSS
  • Es wurde eine neue rechnerisch effiziente Methode beschrieben zur Übersetzung einer Seitenbeschreibungssprache in einer in Kurzzeichen zerlegte, zeichensatzlose, strukturierte Darstellung und zur schnellen Wiedergabe der zeichensatzlosen Darstellung, um ein Bild eines Dokuments zu erzeugen. Ein Kompressor oder Kurzzeichen-Zerleger nimmt eine Zusammenstellung von Seitenbildern, die direkt aus einer PDL-Datei oder einer anderen strukturierten Darstellung eines Dokuments gebildet wurde, und wandelt diese Seitenbilder in eine in Kurzzeichen zerlegte Darstellung um, die auf Kurzzeichen und Positionen beruht. Ein Dekompressor stellt die Seitenbilder aus den gespeicherten Kurzzeichen und Positionen wieder her, indem er ein gesamtes Bitmap-Bild für jede Seite aus den Komponenten-Teilbildern von Kurzzeichen aufbaut, deren Gestalten auf dieser Seite erscheinen. Die von der erfindungsgemäßen Methode verwendete in Kurzzeichen zerlegte, zeichensatzlose strukturierte Darstellung ermöglicht einen Grad der Aussagekraft, der gleich zu oder vergleichbar mit dem ist, was zuvor lediglich bei PDLs zur Verfügung stand. Diese Darstellung ist dennoch sehr kompakt, kann sehr schnell und vorhersehbar wiedergegeben werden, und kann zweckmäßigerweise mit einem Dekompressionsprogramm gebündelt werden, um selbstextrahierende, selbstanzeigende Dokumente zur Verfügung zu stellen. Die erfindungsgemäße Methode kann durch schaltungstechnische Konfigurationen verwirklicht werden, die sowohl Rechner für allgemeine Aufgaben als auch Drucker und bildgebende Geräte für besondere Aufgaben einschließen.
  • Die vorangegangene Beschreibung veranschaulicht lediglich einige der Anwendungen und Ausgestaltungsformen der Erfindung, und viele weitere sind möglich. Entsprechend ist der Umfang der Erfindung nicht durch die Beschreibung beschränkt, sondern statt dessen durch die angehängten Patentansprüche gegeben.
  • Figure 00610001
    Tabelle 1: Codierung für 32-Bit-Werte
  • Figure 00610002
    Tabelle 2: Breiten-/Höhen-Codierungstabelle
  • Figure 00610003
    Tabelle 3: Codierungstabelle 0 für die Benutzungsanzahl
  • Figure 00610004
    Tabelle 4: Codierungstabelle 1 für die Benutzungsanzahl
  • Figure 00620001
    Tabelle 5: Codierungstabelle 0 für erstes X
  • Figure 00620002
    Tabelle 6: Codierungstabelle 1 für erstes X
  • Figure 00630001
    Tabelle 7: Codierungstabelle 0 für Delta X
  • Figure 00640001
    Tabelle 8: Codierungstabelle 1 für Delta X
  • Figure 00650001
    Tabelle 9: Codierungstabelle 2 für Delta X
  • Figure 00660001
    Tabelle 10: Codierungstabelle 0 für Delta Y
  • Figure 00660002
    Tabelle 11: Codierungstabelle 1 für Delta Y
  • Figure 00670001
    Tabelle 12: Codierungstabelle 2 für Delta Y

Claims (10)

  1. Ein Verfahren, ausgeführt in einem Datenverarbeitungssystem, mit den Schritten: a) Bereitstellen einer ersten Zusammenstellung digitaler Information (40), die eine erste strukturierte Darstellung eines Dokuments umfasst, wobei die erste strukturierte Darstellung eine auflösungsunabhängige Darstellung ist, wobei eine Vielzahl von Ansammlungen von Bildern aus der ersten strukturierten Darstellung erhalten werden kann, wobei jede Ansammlung von Bildern, die so erhalten werden kann, mindestens ein Bild umfasst, wobei jedes Bild in jeder solchen Ansammlung ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in jeder solchen Ansammlung eine kennzeichnende Auflösung aufweist; und gekennzeichnet durch die weiteren Schritte: b) Erzeugen einer zweiten Zusammenstellung von digitaler Information (42) aus der ersten Zusammenstellung von digitaler Information (40), wobei die zweite Zusammenstellung von digitaler Information eine zweite strukturierte Darstellung des Dokuments umfasst, wobei die zweite strukturierte Darstellung eine verlustlose Darstellung einer bestimmten Ansammlung von Bildern darstellt, wobei die bestimmte Ansammlung von Bildern eine aus der Vielzahl von Ansammlungen von Bildern ist, die aus der ersten strukturierten Darstellung erhalten werden können, wobei die zweite strukturierte Darstellung eine Vielzahl von Kurzzeichen und eine Vielzahl von Positionen umfasst, wobei die zweite Zusammenstellung digitaler Information erzeugt wird durch c) Extrahieren der Vielzahl von Kurzzeichen aus der ersten strukturierten Darstellung, wobei jedes Kurzzeichen eine Zusammenstellung von Bildpunktdaten umfasst, die ein Teilbild der bestimmten Bildansammlung darstellt, und d) Bestimmen der Vielzahl von Positionen aus der ersten strukturierten Darstellung, wobei jede Position eine Position eines Kurzzeichen-Teilbildes in der bestimmten Bildansammlung darstellt, wobei ein Kurzzeichen-Teilbild eines der Teilbilder aus einem der Kurzzeichen darstellt, wobei zumindest ein Kurzzeichen-Teilbild über eine Vielzahl von Bildpunkten verfügt und an mehr als einer Position innerhalb der besonderen Bildansammlung auftritt; und e) Zur Verfügung stellen der so erzeugten Zusammenstellung digitaler Information für einen weiteren Gebrauch.
  2. Das Verfahren nach Anspruch 1, wobei Schritt (a) das Bereitstellen einer ersten strukturierten Darstellung umfasst, ausgewählt aus einer Gruppe bestehend aus einer Darstellung durch eine Seitenbeschreibungssprache, einer Darstellung durch ein Dokumentaustauschformat, einer Darstellung durch eine Drucksteuersprache und einer Darstellung durch eine Auszeichnungssprache.
  3. Das Verfahren nach Anspruch 1, wobei Schritt (a) das Bereitstellen einer ersten strukturierten Darstellung umfasst, die eine originale Darstellung des Dokuments ist, wobei die originale Darstellung eine Darstellung ist, die durch ein Computerprogramm erzeugt wird mit dem das Dokument erzeugt wird.
  4. Das Verfahren nach Anspruch 1, wobei Schritt (a) das Bereitstellen einer zeichensatzbasierten ersten strukturierten Darstellung des Dokuments umfasst, und wobei der Erzeugungsschritt das Erzeugen einer zeichensatzlosen zweiten strukturierten Darstellung des Dokuments umfasst.
  5. Das Verfahren nach einem der Ansprüche 1 bis 4, wobei Schritt (b), das Erzeugen einer auflösungsabhängigen zweiten strukturierten Darstellung umfasst, die an die kennzeichnende Auflösung von zumindest einem Bild aus der bestimmten Bildansammlung angepasst ist.
  6. Ein Verfahren, ausgeführt in einem Datenverarbeitungssystem, mit den Schritten: k) Bereitstellen der zweiten Zusammenstellung digitaler Information (42), erzeugt und zur Verfügung gestellt wie in Anspruch 1 beschrieben; l) Erzeugen einer dritten Zusammenstellung digitaler Information (44) aus der zweiten Zusammenstellung digitaler Information (42), wobei die dritte Zusammenstellung digitaler Information eine Bildansammlung umfasst, die zumindest ein Bild umfasst, wobei jedes Bild in der Bildansammlung, die von der dritten Zusammenstellung digitaler Information umfasst wird, ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in der Bildansammlung, die von der dritten Zusammenstellung digitaler Information umfasst ist, aus den Kurzzeichen-Teilbildern zusammengesetzt wird und ein Kurzzeichenteilbild in zumindest einer der Positionen einschließt und m) Zur Verfügung stellen der so erzeugten dritten Zusammenstellung digitaler Information für einen weiteren Gebrauch.
  7. Ein programmierbares Datenverarbeitungssystem, entsprechend programmiert um das Verfahren nach einem der vorangehenden Ansprüche auszuführen.
  8. Ein Informationsspeichermedium, in dem Information gespeichert ist, die die zweite Zusammenstellung digitaler Information (42) einschließt, erzeugt und zur Verfügung gestellt, wie in einem der Ansprüche 1 bis 6 beschrieben.
  9. Vorrichtung mit: einem Prozessor (105); einem Befehlsspeicher, mit dem Prozessor verbunden, der ein Informationsspeichermedium umfasst, in dem Information gespeichert ist, die ein Computerprogramm (165) umfasst um die Erzeugung einer zweiten Zusammenstellung digitaler Information (42) aus einer ersten Zusammenstellung digitaler Information (40) durch einen Prozessor (105) zu ermöglichen, wobei die erste Zusammenstellung digitaler Information (40) eine erste strukturierte Darstellung eines Dokuments umfasst, wobei die erste strukturierte Darstellung eine auflösungsunabhängige Darstellung ist, wobei eine Vielzahl von Bildansammlungen aus der ersten strukturierten Darstellung erhalten werden kann, wobei jede Ansammlung von Bildern, die so erhalten werden kann, zumindest ein Bild umfasst, wobei jedes Bild in jeder solchen Ansammlung ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in jeder solchen Ansammlung eine kennzeichnende Auflösung besitzt; und einem Datenspeicher (108), mit dem Prozessor verbunden, in dem die erste und zweite Zusammenstellung digitaler Information gespeichert werden können; dadurch gekennzeichnet, dass die zweite Zusammenstellung digitaler Information (42) eine zweite strukturierte Darstellung des Dokuments umfasst, wobei die zweite strukturierte Darstellung eine verlustlose Darstellung einer bestimmten Bildansammlung darstellt, wobei die bestimmte Bildansammlung eine aus der Vielzahl der Bildansammlungen ist, die aus der ersten strukturierten Darstellung erhalten werden können, wobei die zweite strukturierte Darstellung eine Vielzahl von Kurzzeichen und eine Vielzahl von Positionen einschließt, wobei jedes Kurzzeichen eine Zusammenstellung von Bildpunktdaten umfasst, die ein Teilbild der bestimmten Bildzusammenstellung darstellen, wobei jede Position eine Position eines Kurzzeichen-Teilbildes in der bestimmten Bildansammlung ist, und ein Kurzzeichen-Teilbild eines der Teilbilder von einem der Kurzzeichen ist, wobei zumindest ein Kurzzeichen-Teilbild eine Vielzahl von Bildpunkten besitzt und an mehr als einer Position in der bestimmten Bildansammlung auftritt.
  10. Vorrichtung mit: einem Prozessor (105); einem Befehlsspeicher, mit dem Prozessor verbunden, der ein Informationsspeichermedium umfasst, in dem Information gespeichert ist, welche ein Computerprogramm umfasst, das die Erzeugung einer dritten Zusammenstellung digitaler Information (44) aus einer zweiten Zusammenstellung digitaler Information (42) durch einen Prozessor ermöglicht, wobei die zweite Zusammenstellung digitaler Information (42) eine Zusammenstellung digitaler Information ist, die aus einer ersten Zusammenstellung digitaler Information (40) erzeugt ist, wobei die erste Zusammenstellung digitaler Information (40) eine erste strukturierte Darstellung eines Dokuments umfasst, wobei die erste strukturierte Darstellung eine auflösungsunabhängige Darstellung ist, wobei eine Vielzahl von Bildansammlungen aus der ersten strukturierten Repräsentation erhalten werden kann, wobei jede Bildansammlung, die so erhalten werden kann, zumindest ein Bild umfasst, wobei jedes Bild in einer solchen Ansammlung ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in jeder solchen Ansammlung eine kennzeichnende Auflösung besitzt; ein Eingabegerät, mit dem Prozessor verbunden, von dem aus dem Prozessor die zweite Zusammenstellung digitaler Information (42) bereitgestellt werden kann; und ein Ausgabegerät, mit dem Prozessor verbunden, an das der Prozessor die dritte Zusammenstellung digitaler Information bereitstellen kann; dadurch gekennzeichnet, dass die zweite Zusammenstellung digitaler Information (42) eine zweite strukturierte Darstellung des Dokuments umfasst, wobei die zweite strukturierte Darstellung eine verlustlose Darstellung einer bestimmten Bildansammlung ist, wobei die bestimmte Bildansammlung eine aus der Vielzahl von Bildansammlungen ist, die aus der ersten strukturierten Darstellung erhalten werden können, wobei die zweite strukturierte Darstellung eine Vielzahl von Kurzzeichen und eine Vielzahl von Positionen einschließt, wobei jedes Kurzzeichen eine Zusammenstellung von Bildpunktdaten umfasst, die ein Teilbild der bestimmten Bildansammlung darstellt, wobei jede Position die Position eines Kurzzeichen-Teilbildes in der bestimmten Bildansammlung ist, wobei ein Kurzzeichen-Teilbild eines der Teilbilder von einem der Kurzzeichen ist, wobei zumindest ein Kurzzeichen-Teilbild eine Vielzahl von Bildpunkten besitzt und an mehr als einer Position in der bestimmten Bildansammlung auftritt; und die dritte Zusammenstellung digitaler Information (44) eine Bildansammlung umfasst, die zumindest ein Bild einschließt, wobei jedes Bild in der Bildansammlung, welche in der dritten Zusammenstellung digitaler Information enthalten ist, ein Bild von zumindest einem Teil des Dokuments ist, wobei jedes Bild in der Bildansammlung, welche von der dritten Zusammenstellung digitaler Information (44) umfasst ist, aus den Kurzzeichen-Teilbildern zusammengesetzt ist und ein Kurzzeichen-Teilbild in zumindest einer der Positionen einschließt.
DE69732447T 1996-05-23 1997-05-23 Verfahren und Vorrichtung zur Wiedergabe von schriftartfreien, strukturierten Dokumenten Expired - Lifetime DE69732447T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US652864 1996-05-23
US08/652,864 US5884014A (en) 1996-05-23 1996-05-23 Fontless structured document image representations for efficient rendering

Publications (2)

Publication Number Publication Date
DE69732447D1 DE69732447D1 (de) 2005-03-17
DE69732447T2 true DE69732447T2 (de) 2005-07-07

Family

ID=24618504

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69732447T Expired - Lifetime DE69732447T2 (de) 1996-05-23 1997-05-23 Verfahren und Vorrichtung zur Wiedergabe von schriftartfreien, strukturierten Dokumenten

Country Status (7)

Country Link
US (2) US5884014A (de)
EP (1) EP0809192B1 (de)
JP (1) JPH10100484A (de)
BR (1) BR9703309A (de)
CA (1) CA2199437C (de)
DE (1) DE69732447T2 (de)
MX (1) MX9703685A (de)

Families Citing this family (197)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6323958B1 (en) * 1993-11-19 2001-11-27 Canon Kabushiki Kaisha Printing apparatus
EP0825506B1 (de) * 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
US6275610B1 (en) * 1996-10-16 2001-08-14 Convey Corporation File structure for scanned documents
US6771381B1 (en) 1998-11-13 2004-08-03 Laurence C. Klein Distributed computer architecture and process for virtual copying
US5867153A (en) * 1996-10-30 1999-02-02 Transaction Technology, Inc. Method and system for automatically harmonizing access to a software application program via different access devices
JP3869925B2 (ja) * 1997-01-31 2007-01-17 キヤノン株式会社 画像処理装置及び方法
JP3854678B2 (ja) * 1997-01-31 2006-12-06 キヤノン株式会社 画像処理装置及び方法
JPH10224643A (ja) * 1997-01-31 1998-08-21 Canon Inc 画像処理装置及び方法
JP3634099B2 (ja) * 1997-02-17 2005-03-30 株式会社リコー 文書情報管理システム,媒体用紙情報作成装置および文書情報管理装置
US5948066A (en) * 1997-03-13 1999-09-07 Motorola, Inc. System and method for delivery of information over narrow-band communications links
US6604144B1 (en) * 1997-06-30 2003-08-05 Microsoft Corporation Data format for multimedia object storage, retrieval and transfer
US8386912B2 (en) * 1997-07-28 2013-02-26 Ca, Inc. Hypermedia document publishing including hypermedia document parsing
US6232974B1 (en) * 1997-07-30 2001-05-15 Microsoft Corporation Decision-theoretic regulation for allocating computational resources among components of multimedia content to improve fidelity
JP3683387B2 (ja) * 1997-08-01 2005-08-17 シャープ株式会社 ネットワークコンピュータ内蔵プリンタおよびこれを備えたコンピュータネットワークシステム
US6965442B1 (en) * 1997-08-27 2005-11-15 Brother Kogyo Kabushiki Kaisha Document information communicating system
US6311223B1 (en) * 1997-11-03 2001-10-30 International Business Machines Corporation Effective transmission of documents in hypertext markup language (HTML)
US6049390A (en) * 1997-11-05 2000-04-11 Barco Graphics Nv Compressed merging of raster images for high speed digital printing
US6020972A (en) * 1997-11-14 2000-02-01 Xerox Corporation System for performing collective symbol-based compression of a corpus of document images
US6324500B1 (en) * 1997-11-14 2001-11-27 International Business Machines Corporation Method and system for the international support of internet web pages
US6356283B1 (en) 1997-11-26 2002-03-12 Mgi Software Corporation Method and system for HTML-driven interactive image client
US6121970A (en) * 1997-11-26 2000-09-19 Mgi Software Corporation Method and system for HTML-driven interactive image client
US6247011B1 (en) * 1997-12-02 2001-06-12 Digital-Net, Inc. Computerized prepress authoring for document creation
US6006281A (en) * 1998-01-08 1999-12-21 Xerox Corporation Network printing system with data merge feature
US6064492A (en) * 1998-05-29 2000-05-16 Xerox Corporation Image data interface between digital front end and printer
US6298446B1 (en) * 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
IL124895A0 (en) 1998-06-14 1999-01-26 Csafe Ltd Methods and apparatus for preventing reuse of text images and software transmitted via networks
US7370114B1 (en) * 1998-09-11 2008-05-06 Lv Partners, L.P. Software downloading using a television broadcast channel
US6823388B1 (en) 1998-09-11 2004-11-23 L.V. Parners, L.P. Method and apparatus for accessing a remote location with an optical reader having a programmable memory system
US6868433B1 (en) 1998-09-11 2005-03-15 L.V. Partners, L.P. Input device having positional and scanning capabilities
US7386600B1 (en) 1998-09-11 2008-06-10 Lv Partners, L.P. Launching a web site using a personal device
US6745234B1 (en) 1998-09-11 2004-06-01 Digital:Convergence Corporation Method and apparatus for accessing a remote location by scanning an optical code
US7440993B1 (en) 1998-09-11 2008-10-21 Lv Partners, L.P. Method and apparatus for launching a web browser in response to scanning of product information
US7392945B1 (en) 1998-09-11 2008-07-01 Lv Partners, L.P. Portable scanner for enabling automatic commerce transactions
US7191247B1 (en) 1998-09-11 2007-03-13 Lv Partners, Lp Method for connecting a wireless device to a remote location on a network
US6829646B1 (en) 1999-10-13 2004-12-07 L. V. Partners, L.P. Presentation of web page content based upon computer video resolutions
US6636896B1 (en) * 1998-09-11 2003-10-21 Lv Partners, L.P. Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet
US6202201B1 (en) * 1998-09-23 2001-03-13 Netcreate Systems, Inc. Text object compilation method and system
US6163811A (en) * 1998-10-21 2000-12-19 Wildseed, Limited Token based source file compression/decompression and its application
JP3767721B2 (ja) * 1998-11-27 2006-04-19 セイコーエプソン株式会社 プリンタおよびプリンタの制御方法並びにプリンタを制御するプログラムを記録した記録媒体
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6370602B1 (en) * 1999-02-19 2002-04-09 Autodesk, Inc. Control B protocol for Postscript™ devices
US6658151B2 (en) * 1999-04-08 2003-12-02 Ricoh Co., Ltd. Extracting information from symbolically compressed document images
US6674901B1 (en) * 1999-04-21 2004-01-06 Hewlett-Packard Development Company, L.P. Document analysis system and method
US6487311B1 (en) * 1999-05-04 2002-11-26 International Business Machines Corporation OCR-based image compression
AU5273100A (en) * 1999-05-17 2000-12-05 Foxboro Company, The Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6539420B1 (en) * 1999-06-04 2003-03-25 International Business Machines Corporation Distribution mechanism for reuse of web based image data
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US7339690B2 (en) * 1999-07-14 2008-03-04 Fargo Electronics, Inc. Identification card printer with client/server
US6633890B1 (en) 1999-09-03 2003-10-14 Timothy A. Laverty Method for washing of graphic image files
US6885748B1 (en) * 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
US7155062B1 (en) 1999-11-17 2006-12-26 Genicom Corp. System and method for performing pattern matching image compression
JP2001177712A (ja) * 1999-12-15 2001-06-29 Fuji Xerox Co Ltd 画像処理装置および被画像形成媒体
WO2001050288A1 (en) * 2000-01-03 2001-07-12 Idealist Information Co., Ltd. Data structure and method for producing and playing a web guiding file
US6353483B1 (en) * 2000-01-10 2002-03-05 Imagex, Inc. Postscript to bitmap conversion of graphic image files
US6362895B1 (en) * 2000-01-10 2002-03-26 Imagex, Inc. PDF to PostScript conversion of graphic image files
US6429947B1 (en) 2000-01-10 2002-08-06 Imagex, Inc. Automated, hosted prepress application
US6381032B1 (en) * 2000-01-10 2002-04-30 Imagex, Inc. Postscript to PDF conversion of graphic image files
US6556308B1 (en) 2000-01-10 2003-04-29 Imagex, Inc. Color separation of graphic image files
US6396593B1 (en) * 2000-01-10 2002-05-28 Imagex, Inc. Postscript to bitmap conversion of graphic image files
US6771384B1 (en) 2000-01-10 2004-08-03 Kinko's Washington, Inc. Imposition of graphic image files
US6559966B1 (en) 2000-01-10 2003-05-06 Imagex, Inc. Trapping of graphic image files
AU2001231078A1 (en) * 2000-01-25 2001-08-07 Vistaprint Usa, Inc. Managing print jobs
FR2804231B1 (fr) 2000-01-25 2002-11-08 Vistaprint Usa Inc Impression centralisee de documents commerciaux en faibles volumes sur des machines auparavant limitees a des tres gros tirages
US7068381B1 (en) * 2000-02-02 2006-06-27 Raja Tuli Portable high speed internet access device
US7356570B1 (en) 2000-08-29 2008-04-08 Raja Tuli Portable high speed communication device
US20020115477A1 (en) * 2001-02-13 2002-08-22 Raja Singh Portable high speed internet access device with scrolling
US6633314B1 (en) * 2000-02-02 2003-10-14 Raja Tuli Portable high speed internet device integrating cellular telephone and palm top computer
US20020030843A1 (en) * 2000-02-02 2002-03-14 Tuli Raja Singh Portable high speed internet access device
US7289244B2 (en) * 2000-02-02 2007-10-30 Raja Singh Tuli Portable high speed internet access device
US7023572B2 (en) * 2000-02-02 2006-04-04 Raja Singh Tuli Portable high speed internet access device
JP3368883B2 (ja) * 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
US6941382B1 (en) 2000-02-07 2005-09-06 Raja Tuli Portable high speed internet or desktop device
US6690403B1 (en) 2000-02-16 2004-02-10 Raja Tuli Portable high speed internet device and information on links to web sites
US6874009B1 (en) 2000-02-16 2005-03-29 Raja Tuli Portable high speed internet device with user fees
AU2001243321A1 (en) * 2000-02-28 2001-09-12 C.G.I. Technologies, Llc Staged image delivery system
US7003723B1 (en) 2000-05-17 2006-02-21 Eastman Kodak Company System and method for representing and managing pages in a production printing workflow
US20010043365A1 (en) * 2000-05-17 2001-11-22 Heidelberg Digital L.L.C. Late binding of tab image contents to ordered tab stock
US8386945B1 (en) 2000-05-17 2013-02-26 Eastman Kodak Company System and method for implementing compound documents in a production printing workflow
US6918039B1 (en) 2000-05-18 2005-07-12 International Business Machines Corporation Method and an apparatus for detecting a need for security and invoking a secured presentation of data
US7089420B1 (en) 2000-05-24 2006-08-08 Tracer Detection Technology Corp. Authentication method and system
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US7685514B1 (en) * 2000-05-25 2010-03-23 International Business Machines Corporation Method and system for incorporation of graphical print techniques in a web browser
US7210099B2 (en) * 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US20010053252A1 (en) * 2000-06-13 2001-12-20 Stuart Creque Method of knowledge management and information retrieval utilizing natural characteristics of published documents as an index method to a digital content store
US6578040B1 (en) * 2000-06-14 2003-06-10 International Business Machines Corporation Method and apparatus for indexing of topics using foils
US20020010721A1 (en) * 2000-06-29 2002-01-24 Crimmins John D. Automated print procurement method, apparatus and system
US6982800B1 (en) 2000-07-05 2006-01-03 Lexmark International, Inc. Apparatus and method for data management within a photoprinter
WO2002012997A1 (en) * 2000-08-08 2002-02-14 Fineground Networks Method and system for parameterized web documents
US7047281B1 (en) * 2000-08-08 2006-05-16 Fineground Networks Method and system for accelerating the delivery of content in a networked environment
US6957888B1 (en) 2000-08-17 2005-10-25 Hewlett-Packard Development Company, L.P. Serialized original print
US6971007B1 (en) 2000-08-17 2005-11-29 Hewlett-Packard Development Company, L.P. Assured printing of documents of value
EP1184795A1 (de) * 2000-08-28 2002-03-06 Sevenval AG Erlangen von Informationen über den Inhalt von Dokumenten
GB0022250D0 (en) * 2000-09-12 2000-10-25 Pace Micro Tech Plc Bitmap graphics compression for image data
EP1191752A1 (de) * 2000-09-26 2002-03-27 Daniel Gens Verfahren und Vorrichtung zum Austausch von Informationen
US6842777B1 (en) 2000-10-03 2005-01-11 Raja Singh Tuli Methods and apparatuses for simultaneous access by multiple remote devices
US7191211B2 (en) * 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
US7401125B1 (en) 2000-10-10 2008-07-15 Ricoh Corporation System, computer program product and method for managing documents
US6915327B1 (en) 2000-10-30 2005-07-05 Raja Singh Tuli Portable high speed communication device peripheral connectivity
US7054953B1 (en) 2000-11-07 2006-05-30 Ui Evolution, Inc. Method and apparatus for sending and receiving a data structure in a constituting element occurrence frequency based compressed form
US20050053258A1 (en) * 2000-11-15 2005-03-10 Joe Pasqua System and method for watermarking a document
DE10150837B4 (de) * 2000-11-17 2013-10-31 Heidelberger Druckmaschinen Ag Verfahren zur Bestimmung bzw. Umrechnung von Farbprofilen
US7152205B2 (en) * 2000-12-18 2006-12-19 Siemens Corporate Research, Inc. System for multimedia document and file processing and format conversion
US6928461B2 (en) 2001-01-24 2005-08-09 Raja Singh Tuli Portable high speed internet access device with encryption
US7399131B2 (en) * 2001-03-05 2008-07-15 Fargo Electronics, Inc. Method and Device for forming an ink-receptive card substrate
US6701020B2 (en) * 2001-03-15 2004-03-02 Hewlett-Packard Development Company, L.P. JADE-JPEG based adaptive document compression engine
US7310687B2 (en) * 2001-03-23 2007-12-18 Cisco Technology, Inc. Methods and systems for managing class-based condensation
US8392827B2 (en) * 2001-04-30 2013-03-05 International Business Machines Corporation Method for generation and assembly of web page content
IL159013A0 (en) 2001-05-22 2004-05-12 Yoav Shefi Method and system for displaying visual content in a virtual three-dimensional space
US7159014B2 (en) * 2001-06-04 2007-01-02 Fineground Networks Method and system for efficient and automated version management of embedded objects in web documents
US7010171B2 (en) * 2001-07-31 2006-03-07 Xerox Corporation Image quality processing of a compressed image
US6925473B2 (en) 2001-08-27 2005-08-02 Autodesk, Inc. Staged stylization in multiple tiers
US8147334B2 (en) * 2003-09-04 2012-04-03 Jean-Marie Gatto Universal game server
DE10162559B4 (de) * 2001-12-19 2006-08-10 Siemens Ag Verfahren und Vorrichtung zur Unterdrückung von periodischen Störsignalen
WO2003062977A1 (en) * 2002-01-23 2003-07-31 Ch.1 Inc. System and method for accessing an internet web page
US20030163786A1 (en) * 2002-02-25 2003-08-28 Harold Shields Image presentation system
US7430762B2 (en) * 2002-03-01 2008-09-30 Fargo Electronics, Inc. Identification card manufacturing security
US6839149B2 (en) 2002-03-21 2005-01-04 ColorQuick.com, LLC Preparation of production data for a print job using a still image proxy of a page description language image file
FR2838589B1 (fr) * 2002-04-10 2005-03-04 Thomson Licensing Sa Dispositif de transmission de donnees et dispositif de reception de donnees
JP3778136B2 (ja) * 2002-06-13 2006-05-24 ブラザー工業株式会社 印刷制御装置、印刷装置、及びプログラム
US20040027605A1 (en) * 2002-08-07 2004-02-12 Martin Kevin M. Fax machine with image display
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
JP2004171515A (ja) * 2002-10-29 2004-06-17 Ricoh Co Ltd 画像形成装置、画像データ転送方法
US8176428B2 (en) * 2002-12-03 2012-05-08 Datawind Net Access Corporation Portable internet access device back page cache
AU2003213644A1 (en) * 2003-02-03 2004-08-30 Vincent Demarcus Online method and system for converting any file in any format into a pdf file for various uses
US7620815B2 (en) * 2003-02-21 2009-11-17 Fargo Electronics, Inc. Credential production using a secured consumable supply
US20040196486A1 (en) * 2003-04-01 2004-10-07 Atsushi Uchino Addressbook service for network printer
CN1879117A (zh) * 2003-09-11 2006-12-13 法格电子公司 证卡制造系统的供应品定购和诊断报告
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US20060053097A1 (en) * 2004-04-01 2006-03-09 King Martin T Searching and accessing documents on private networks for use with captures from rendered documents
US20060122983A1 (en) * 2004-12-03 2006-06-08 King Martin T Locating electronic instances of documents based on rendered instances, document fragment digest generation, and digest based document fragment determination
US20060041605A1 (en) * 2004-04-01 2006-02-23 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US7812860B2 (en) * 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
JP4144878B2 (ja) * 2004-03-25 2008-09-03 キヤノン株式会社 データ処理装置及びデータ処理方法並びにコンピュータプログラム
JP4323995B2 (ja) * 2004-03-25 2009-09-02 キヤノン株式会社 データ処理装置及びその制御方法
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8081849B2 (en) * 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20080313172A1 (en) * 2004-12-03 2008-12-18 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US7990556B2 (en) * 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US9008447B2 (en) * 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US20070300142A1 (en) * 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
JP2005301664A (ja) * 2004-04-12 2005-10-27 Fuji Xerox Co Ltd 画像辞書作成装置、符号化装置、データファイル、画像辞書作成方法及びそのプログラム
US8713418B2 (en) * 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8489624B2 (en) * 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8874504B2 (en) * 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
WO2005109716A2 (en) * 2004-05-03 2005-11-17 Fargo Electronics, Inc. Managed credential issuance
US8705141B2 (en) * 2004-07-16 2014-04-22 Ricoh Production Print Solutions Method and system for efficiently printing simple data using a complex page data stream
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US20060017946A1 (en) * 2004-07-26 2006-01-26 Peiro Jose A Font and text management in documents
GB2423613A (en) * 2005-02-25 2006-08-30 Canon Europa Nv Document print management
US7392473B2 (en) * 2005-05-26 2008-06-24 Xerox Corporation Method and apparatus for determining logical document structure
US20070005625A1 (en) * 2005-07-01 2007-01-04 Nec Laboratories America, Inc. Storage architecture for embedded systems
US8099187B2 (en) 2005-08-18 2012-01-17 Hid Global Corporation Securely processing and tracking consumable supplies and consumable material
US20070043684A1 (en) * 2005-08-18 2007-02-22 Fargo Electronics, Inc. Central Management of a Credential Production System
US20070174193A1 (en) * 2006-01-20 2007-07-26 The Bank Of New York Company, Inc. System and method for providing single sign-on functionality
US7933955B2 (en) * 2006-07-11 2011-04-26 Igor Khalatian One-click universal screen sharing
EP2067119A2 (de) 2006-09-08 2009-06-10 Exbiblio B.V. Optische scanner, zum beispiel tragbare optische scanner
EP2067102A2 (de) * 2006-09-15 2009-06-10 Exbiblio B.V. Erfassung und anzeige von anmerkungen in papier- und elektronischen dokumenten
US20080320385A1 (en) * 2006-09-29 2008-12-25 Colorquick, L.L.C. Graphical Object Insertion During Preparation of Production Data for a Print Job Using a Still Image Proxy of a Page Description Language Image File
US20110145068A1 (en) * 2007-09-17 2011-06-16 King Martin T Associating rendered advertisements with digital content
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
US8326604B2 (en) * 2008-04-24 2012-12-04 International Business Machines Corporation Dictionary for textual data compression and decompression
US8326605B2 (en) * 2008-04-24 2012-12-04 International Business Machines Incorporation Dictionary for textual data compression and decompression
US9258455B2 (en) * 2008-05-08 2016-02-09 Ricoh Company, Ltd. Mechanism for K-only object rendering in a high-speed color controller
CN104407518B (zh) 2008-06-20 2017-05-31 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
WO2010064236A1 (en) 2008-12-01 2010-06-10 Visual Domains Ltd. Method and system for browsing visual content displayed in a virtual three-dimensional space
US8180164B2 (en) * 2008-12-16 2012-05-15 Xerox Corporation OCR-guided text tokenization of digital images
WO2010096193A2 (en) * 2009-02-18 2010-08-26 Exbiblio B.V. Identifying a document by performing spectral analysis on the contents of the document
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
EP2406767A4 (de) * 2009-03-12 2016-03-16 Google Inc Automatische bereitstellung von mit erfassten informationen, z. b. in echtzeit erfassten informationen, assoziierten inhalten
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8717596B2 (en) 2009-09-30 2014-05-06 Printable Technologies Inc. Systems and methods for providing variable data printing (VDP) using dynamic font downgrading
CN102073507B (zh) * 2009-11-20 2014-06-04 华为技术有限公司 微件Widget调用的方法、装置和系统
US9081799B2 (en) * 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) * 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US9535651B2 (en) 2009-12-18 2017-01-03 Oracle International Corporation Co-browsing systems and methods
US9235452B2 (en) * 2010-02-05 2016-01-12 Microsoft Technology Licensing, Llc Graphics remoting using augmentation data
CA2851246A1 (en) * 2011-10-05 2013-04-11 L-3 Communications Mobilevision Inc. Multiple resolution camera system for automated license plate recognition and event recording
WO2013067297A1 (en) * 2011-11-04 2013-05-10 Sunfish Studio, Llc Digital encoding method for parallel rendering of synthesized images
US9874990B2 (en) 2012-02-10 2018-01-23 Oracle International Corporation System and method of concurrent unobstructed co-browsing and chat messaging
US9977771B2 (en) 2013-03-14 2018-05-22 Pti Marketing Technologies Inc. System and method for printable document viewer optimization
US9967399B2 (en) 2014-12-19 2018-05-08 Oracle International Corporation Co-browsing preview of queued customer contacts
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US20170291261A1 (en) * 2015-06-12 2017-10-12 Ashok Chand Mathur Method And Apparatus Of Very Much Faster 3D Printer
US10671337B2 (en) 2015-09-25 2020-06-02 Oracle International Corporation Automatic sizing of agent's screen for html co-browsing applications
US10038788B1 (en) 2017-05-09 2018-07-31 Oracle International Corporation Self-learning adaptive routing system
CN111615702B (zh) * 2018-12-07 2023-10-17 华为云计算技术有限公司 一种从图像中提取结构化数据的方法、装置和设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410916A (en) * 1979-08-24 1983-10-18 Compression Labs, Inc. Dual mode facsimile coding system and method
JPS58114670A (ja) * 1981-12-28 1983-07-08 Photo Composing Mach Mfg Co Ltd 文字画像デ−タ圧縮方式
JPS5947666A (ja) * 1982-09-13 1984-03-17 Dainippon Screen Mfg Co Ltd 2値画像のデ−タ圧縮方法
US4499499A (en) * 1982-12-29 1985-02-12 International Business Machines Corporation Method for identification and compression of facsimile symbols in text processing systems
US4769716A (en) * 1986-10-17 1988-09-06 International Business Machines Corporation Facsimile transmission using enhanced symbol prototypes with precalculated front and back white spaces
KR930003416B1 (ko) * 1988-03-29 1993-04-29 주식회사 금성사 폰트의 함축방법
JP3021547B2 (ja) * 1989-09-29 2000-03-15 セイコーエプソン株式会社 文字パターン発生方法
US5218455A (en) * 1990-09-14 1993-06-08 Eastman Kodak Company Multiresolution digital imagery photofinishing system
US5440401A (en) * 1990-09-14 1995-08-08 Eastman Kodak Company Image database incorporating low resolution index image data
US5303313A (en) * 1991-12-16 1994-04-12 Cartesian Products, Inc. Method and apparatus for compression of images
JP3360905B2 (ja) * 1993-01-04 2003-01-07 ゼロックス・コーポレーション プリンティングシステム
US5485568A (en) * 1993-10-08 1996-01-16 Xerox Corporation Structured image (Sl) format for describing complex color raster images
JPH07261279A (ja) * 1994-02-25 1995-10-13 Eastman Kodak Co 写真画像の選択システム及び方法
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5784461A (en) * 1996-05-23 1998-07-21 Eastman Kodak Company Security system for controlling access to images and image related services

Also Published As

Publication number Publication date
US5884014A (en) 1999-03-16
CA2199437C (en) 2001-07-31
EP0809192B1 (de) 2005-02-09
JPH10100484A (ja) 1998-04-21
BR9703309A (pt) 1998-09-15
EP0809192A3 (de) 2002-09-18
MX9703685A (es) 1997-11-29
DE69732447D1 (de) 2005-03-17
US6011905A (en) 2000-01-04
CA2199437A1 (en) 1997-11-23
EP0809192A2 (de) 1997-11-26

Similar Documents

Publication Publication Date Title
DE69732447T2 (de) Verfahren und Vorrichtung zur Wiedergabe von schriftartfreien, strukturierten Dokumenten
DE69737115T2 (de) Verfahren und Vorrichtung zur Wiedergabe von schriftartfreien, strukturierten Dokumenten
DE69817029T2 (de) Mischung von komprimierten rasterbildern in einem drucksystem
US7600183B2 (en) System and method for data publication through web pages
DE69832411T2 (de) Speicherverwaltungssystem für bilddokumenten-datenbank
AU2003203331B2 (en) Mixed raster content files
DE10162156B4 (de) Die Benutzernavigation durch Multimedia-Dateiinhalte unterstützendes System und Verfahren
DE69933404T2 (de) System und Verfahren zum gemeinsamen Benutzen von Fonts und Speichermedium für das Programm zum Ausführen des Verfahrens
US6886034B2 (en) Method and system for viewing scalable documents
KR101332912B1 (ko) 화상 처리 장치, 화상 처리 방법 및 컴퓨터 판독가능 저장 매체
US20010044797A1 (en) Systems and methods for digital document processing
US20110252315A1 (en) Image processing device, image processing method and non-transitory computer readable storage medium
Bienz et al. Portable document format reference manual
US20050111745A1 (en) Image processing apparatus and method for converting image data to predetermined format
DE102011005579A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsverfahren und Speichermedium
Huttenlocher et al. Digipaper: A versatile color document image representation
EP3633597A1 (de) Vorrichtung und verfahren zum verfolgen eines dokuments in einer publikation
JP2000306103A (ja) 情報処理装置及び方法
DE10295968T5 (de) Verbunddokumentbildkompression unter Verwendung eines Mehrfachregion-Zweischichtformats
Haffner et al. Browsing through high quality document images with DjVu
CN103853849B (zh) 高压缩可回流文件的建立和绘制方法
JP2004362538A (ja) 文書データ変換装置、携帯電話装置、文書データ変換方法、文書データ変換プログラム、および文書データ変換プログラムを記録したコンピュータ読取可能な記録媒体
Ferilli et al. Digital Formats
Rucklidge et al. Flexible network document imaging architecture
JPH10208020A (ja) 画像処理装置

Legal Events

Date Code Title Description
8364 No opposition during term of opposition