[go: up one dir, main page]

DE60213205T2 - Komprimierung und extraktion von schrifttypen - Google Patents

Komprimierung und extraktion von schrifttypen Download PDF

Info

Publication number
DE60213205T2
DE60213205T2 DE60213205T DE60213205T DE60213205T2 DE 60213205 T2 DE60213205 T2 DE 60213205T2 DE 60213205 T DE60213205 T DE 60213205T DE 60213205 T DE60213205 T DE 60213205T DE 60213205 T2 DE60213205 T2 DE 60213205T2
Authority
DE
Germany
Prior art keywords
character
character set
code
length
context
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
DE60213205T
Other languages
English (en)
Other versions
DE60213205D1 (de
Inventor
Bernard Smeets
Jan ÄBERG
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60213205D1 publication Critical patent/DE60213205D1/de
Publication of DE60213205T2 publication Critical patent/DE60213205T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich allgemein auf die Kompression und das Wiederauffinden von Daten, die einen Font oder einen anderen Satz von Zeichen repräsentieren, und genauer auf ein Verfahren und eine Vorrichtung zur Speicherung eines umfangreichen Font – wie dem chinesischem oder japanischen Zeichensatz – in komprimierter Form bei gleichzeitiger Erhaltung des Zugriffs auf einzelne Zeichen des Font.
  • Beschreibung des Standes der Technik
  • Um Nachrichten in Sprachen wie Chinesisch oder Japanisch auf einem CRT-oder einem LCD-Display anzuzeigen, ist ein umfangreicher Satz von Zeichen oder Bildzeichen erforderlich. Beispielsweise umfasst der chinesische Unicode-Standard-Zeichensatz ungefähr 21.000 unterschiedliche chinesische Zeichen. Darüber hinaus umfasst jedes Zeichen eine Größe von mindestens mehreren Hundert Pixel; und im Ergebnis erfordert eine Speicherung eines kompletten chinesischen Font großen Mengen an Speicherplatz. Wenn man in der Lage ist, die Zeichen in einem kompakteren Format als reine Bitmaps zu speichern, könnte man substanziell Speichererfordernisse reduzieren.
  • Bei Laserdruckern oder hochauflösenden Displays ist ein Font normalerweise als einer Reihe von Punkten gespeichert, die durch Kurven verbunden sind. Dieses bringt den zusätzlichen Vorteil, eine Font-Skalierung möglich zu machen, obwohl es für Fonts, die auf diese Weise gespeichert sind, einige Berechnungen, notwendig ist, um das Erscheinungsbild selbst zu rendern. Für niedrig auflösende Anzeigen ist Font-Skalierung nicht interessant, und es wäre effizienter, die Fonts als Bitmap zu speichern.
  • Die Mehrzahl von verlustlosen Datenkomprimierungsverfahren, die nach dem Stand der Technik bekannt sind, arbeiten in einer sequenziellen Art, in denen auf Daten zurückgegriffen wird, die bereits dekodiert wurden. Solche Verfahren sind für Font-Kompression nicht geeignet, es sei denn, dass nur ein einzelnes Bildzeichnen zur Zeit dekomprimiert werden soll. Wenn sequenzielle Verfahren dieses Typs verwendet werden, ist eine Blockierung von Bildzeichen erforderlich, und einen Abwägen muss zwischen den beiden Extremen einer Komprimierung eines gesamten Font als ein Block, wodurch die Fähigkeit des wahlfreien Zugriffs verloren geht, und eine Komprimierung jedes Zeichen einzeln, wodurch die Gesamtleistung recht gering wird, erfolgen.
  • Anstelle des oben erwähnten sequenziellen Codes, kann auch ein zweiteiliger Code zum Komprimieren und Wiederherstellen eines Font genutzt werden. Dabei beschreibt typischerweise der erste Teil eines solchen Codes die statistischen Eigenschaften oder ein Modell der Daten; und der zweite Teil dekodiert die Daten durch einen Code, der von dem Modell abgeleitet ist.
  • Beispiele für ein nach dem Stand der Technik bekannten Font-Kompression und -wiederherstellungverfahren umfassen solche wie die in den U.S. Patenten 5488365, 5587725, 5473704 und 5020121 und der PCT-Veröffentlichung WO 98/16902. Ganz allgemein beschreibt keines der bekannten Verfahren eine Font-Kompression- und -wiederherstellungstechnik, die einen vollständigen wahlfeinen Zugriff auf einzelne Zeichen des Font zulässt, was aber wichtig ist, um einen Hochgeschwindigkeitszugriff auf die Zeichen für moderne Hochgeschwindigkeitsausrüstungen zu erlauben.
  • EP-A-0 687 995 offenbart ein System, das mit Referenz auf ein Wörterbuch zur Registrierung eines registrierten Daten-Strings und Ausführen eines Datenkompressionsverfahrens durch Ersetzen einer Kombination, die aus zwei oder mehreren Zeichen-Strings mit einer Registrierungsnummer besteht, arbeitet.
  • WO 99/21075 offenbart ein System und ein Verfahren zur Implementierung einer Benutzeroberfläche für die Nutzung mit japanischen Zeichen, welches eine elektronische Vorrichtung, die einen Standard-Font und eine Font-Verwalter umfasst, enthält.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist ausgerichtet auf einen Verfahren nach Anspruch 1 und 14 und eine Vorrichtung nach Anspruch 19 und 24 für die Kompression und Wiederherstellung von Daten, die einen Satz von Zeichen repräsentieren; insbesondere ist sie ausgerichtet auf ein Verfahren und eine Vorrichtung zur Komprimierung eines Font, welcher eine große Anzahl von Bildzeichen – wie ein chinesischer oder japanischer Zeichensatz – derart umfasst, dass auf jedes individuelle Bildzeichen des Zeichensatzes separat zugegriffen werden kann und es dekomprimiert werden kann.
  • Ein Verfahren zur Komprimierung von Daten nach der vorliegenden Erfindung, die einen Satz von Zeichen repräsentieren, umfasst eine Dekodierung jedes Zeichen des Zeichensatzes in der Form eines zweiteiligen Codes, wobei ein erster Teil des zweiteiligen Codes für alle kodierten Zeichen des Satzes gleich ist, und ein zweiter Teil des zweiteiligen Codes kodierte Daten umfasst, die ein Zeichen des Satzes repräsentieren, wobei auf jedes kodierte Zeichen des Satzes separat zugegriffen und es dekomprimiert werden kann.
  • Die vorliegende Erfindung stellt ein Datenkompressionsverfahren zur Verfügung, das auf der Nutzung eines zweiteiligen Codes basiert, wobei der erste Teil des Codes für alle Zeichen eines Zeichensatzes gleich ist, und dieses erlaubt es, auf jedes kodierte Zeichen separat zuzugreifen und es zu dekomprimieren. Die vorliegende Erfindung stellt dementsprechend die Eigenschaft eines wahlfreien Zugriffs auf die einzelnen Zeichen des Satzes bereit, was – wie bereits oben erwähnt – eine besonders wichtige Fähigkeit im modernen Hochgeschwindigkeitsausrüstungen ist.
  • Entsprechend einem bevorzugten Ausführungsbeispiel der Erfindung umfasst der Zeichensatz einen Font von individuellen Zeichen oder Bildzeichen, und die Daten, die die Bildzeichen repräsentieren, enthalten eine Bitmap für jedes Bildzeichen. Um einen Font zu kodieren, wird ein statistisches Modell des Satzes der Zeichensatzes kreiert (der erste Teil des zweiteiligen Code oder das "Modell"), und jedes Bildzeichen wird dann separat komprimiert, wobei ein Code von dem Modell (der zweite Teil des zweiteiligen Codes oder das "Codewort") abgeleitet wird. Die komprimierten Bildzeichen sind nach Codewortlängen aufgeteilt, und eine Indextabelle, die nach einem Bezeichner für jedes Zeichen sortiert ist, wird für jeden Anteil erzeugt. Somit umfasst jeder kodierte Font ein statistisches Modell, Einsatz von Codewörtern, einen Indextabellensatz, eine Tabelle von Länge für die Indextabellen und möglicherweise Hilfstabellen, die für die Kodierung genutzt werden.
  • Um ein bestimmtes Bildzeichen zu kodieren, wird bei einem gegebenen Bezeichner für ein Bildzeichen die Indextabelle zuerst nach einen übereinstimmenden Eintrag durchsucht. Aus der Länge der Tabelle und der Position in der Tabelle kann die Position oder Lokation eines bestimmten Bildzeichens in dem Code-Satz berechnet werden, und dieses erlaubt es, dann das gesuchte Codewort für das Bildzeichen zu extrahieren und zu kodieren. Weil in der vorliegenden Erfindung ein zweiteiliger Code genutzt wird, bei dem der erste Anteil des Codes für alle komprimierten Bildzeichen gleich ist, wird eine Indexierung insofern wesentlich vereinfacht, als es für jedes Bildzeichen nur erforderlich ist, das Codewort für das entsprechende Bildzeichen aufzufinden.
  • In Übereinstimmung mit einem bevorzugten Ausführungsbeispiel der Erfindung wird eine Font-Komprimierung durch die Nutzung eines arithmetischen Kodierers mit einer festen Wahrscheinlichkeitstabelle erreicht. Dieses Verfahren liefert eine nahezu optimale Kompression der Bildzeichen unter Nutzung der Wahrscheinlichkeitstabelle, ohne dass die Notwendigkeit für zusätzliche Tabellen besteht. Entsprechend einem alternativen Ausführungsbeispiel der Erfindung erfolgt die Font-Komprimierung mittels eines vorhersagenden Komprimierungsschemas mit einer festen Vorhersagetabelle, gefolgt von einer festen Huffman-Kodierung. Dieses Verfahren macht es möglich, eine sehr schnelle Dekomprimierung zu ermöglichen, während vernünftige Komprimierungsgeschwindigkeiten erhalten bleiben. Dieses Ausführungsbeispiel ist auch besonders für eine Implementierung in Hardware geeignet.
  • Ganz allgemein wird mit der vorliegenden Erfindung ein vollständiger wahlfreier Zugriff auf Zeichen eines Zeichensatzes nur auf Kosten eines zweiteiligen Codes mit separaten Codewörtern anstelle eines adaptiven einteiligen Codes, wie er nach dem Stand der Technik bekannt ist, gewonnen. Die zusätzlichen Kosten bei den Speicheranforderungen ist nicht größer als ungefähr 10% bis 15% für einen Font von 10.000 Zeichen.
  • Darüber hinausgehende Vorteile und spezifische Eigenschaften der Erfindung werden nachfolgend unter Zuhilfenahme der folgenden detaillierten Beschreibung und bevorzugten Ausführungsbeispielen verständlich.
  • Kurze Beschreibung der Abbildungen
  • 1 stellt schematisch einen Kodierer für ein Font-Kompressionsschema entsprechend einem ersten bevorzugten Ausführungsbeispiel der Erfindung dar;
  • 2 stellt schematisch ein Beispiel eines bedingenden Kontextes eines Pixel dar, um die Erklärung des Betriebes des Kopierers aus 1 zu unterstützen;
  • 3 stellt schematisch einen Decoder zur Datenwiederherstellung nach 1 kodierten Daten dar;
  • 4 stellt schematisch einem Kodierer für ein Font-Kompressionsschema nach einem zweiten bevorzugten Ausführungsbeispiel der Erfindung dar; und
  • 5 und 6 sind Flussdiagramme, die Basisschritte des Kodierungs- und des Dekodierungsverfahren für ein Font-Kompressions- und wiederherstellungsverfahren entsprechend der vorliegenden Erfindung darstellen.
  • Detaillierte Beschreibung von bevorzugten Ausführungsbeispielen
  • 1 ist am Blockdiagramm, welches schematisch die Kodierersstruktur eines Kompressionsschemas nach einem ersten Ausführungsbeispiel die vorliegende Erfindung zur Datenkomprimierung eines Zeichensatzes – wie eines Font von chinesischem oder japanischen Zeichen oder Bildzeichen – darstellt. Zunächst sollte angenommen werden, dass das beschriebene Kodierungsverfahren ohne Zeitbegrenzung ausgeführt werden kann, um so eine Optimierung der Größe der komprimierten Daten zu erlauben.
  • Der Kodierer von 1 wird allgemein mit der Bezugsziffer 10 bezeichnet und setzt sich aus einer Mehrzahl von Modulen zusammen. Zunächst wird eine zweidimensionale Bitmap 12, die ein Zeichen oder Bildzeichen eines Font repräsentiert, in eine Folge xn = x1, x2, ..., xn von Bits durch ein Serialierungsmodul 14 durch Scannen der Bitmap entsprechend einigen spezifizierten Regeln umgewandelt. Mögliche Scan-Folgen enthalten beispielsweise reihenweise, spaltenweise, diagonale oder ausgefeiltere Scan-Folgen, die nach dem Stand der Technik bekannt sind.
  • Eine Folge von Bits, die von dem Serialierungsmodul 14 ausgegeben wird, wird an ein arithmetisches Kodiermodul 16 geleitet, welches eine standardmäßige binäre, arithmetische Kodiereinheit sein kann (siehe z.B., C.B.Jones, „An Efficient Coding System for Long Source Sequences", IEEE Transactions on Information Theory, vol. 27, no. 3, pp 280–291, May 1981). Aus Effizienzgründen sollte die arithmetische Genauigkeit des Kodierers auf die Genauigkeit der Wahrscheinlichstabelle angepasst sein, die nachfolgend diskutiert wird. Die Bits werden sequenziell kodiert während die Bitmap gescannt wird.
  • Das Modell, das die Kodierungswahrscheinlichkeiten für die arithmetische Kodierung zur Verfügung stellt, ist durch den gestrichelten Block 18 dargestellt und wird in 1 als Quellenmodell bezeichnet. Das Quellenmodell ist Kontext basierend, das heißt, dass die Wahrscheinlichkeitsverteilung jedes Pixel der Bitmap durch einen bedingenden Kontext der umgebenden Pixel-Werte festgelegt wird. Somit enthält das Modell eine Kontext bildende Einheit oder Modul 22, welches Bits von bereits kodierten aus der gleichen Bitmap auswählt, um den Kontext festzustellen, welcher durch ein Integer repräsentiert ist. 2 stellt schematisch ein Beispiel für die Entsprechung zwischen Kontext-Pixeln und Bitpositionen dar. Der bedingende Kontext jedes Pixel soll nur Pixel enthalten, die zuvor in der Scan-Reihenfolge auftauchen. Sein Erscheinungsbild kann vom Pixel abhängen. Jedes Kontext-Pixel außerhalb der Bitmap wird auf Null gesetzt.
  • Das Quellenmodell 18 enthält auch eine Wahrscheinlichkeitstabelle 24, welche einen Eintrag pro möglichen Kontext aufweist, der die Pixelwahrscheinlichkeit bedingt durch jenen Kontext enthält, die mit festgelegter Genauigkeit gespeichert ist.
  • Bedingt durch die Größe und Gestalt des Kontextes ist die Wahrscheinlichkeitstabelle 24 durch Zählen der Vorkommen von Einsen in jedem Kontext und durch eine Normalisierung durch die Anzahl der Vorkommen in dem Kontext aufgebaut.
  • Wenn nur bestimmte Codewortlängen erlaubt sind – beispielsweise Integer-Bytes – werden Nullen am Ende des Ausgangs des arithmetischen Kodierers durch ein Byte-Anpassungsmodul 26 ergänzt. Der Ausgang des Byte-Anpassungsmoduls ist das Codewort, das ein Zeichen oder ein Bildzeichnen des Font repräsentiert.
  • Jedes Bildzeichen des Font wird unter Nutzung des Kodierers von 1 kodiert bis der gesamte Font kodiert und im Speicher abgespeichert wurde. Bevor ein Font kodiert wird, wird die Scan-Reihenfolge und die Kontext bildende Funktion ausgewählt. Unterschiedliche Größen von Kontexten, Scan-Reihenfolge, Kontext bildenden Funktionen und Genauigkeit in der Wahrscheinlichkeitstabelle können ausprobiert werden, um diejenigen, die die beste Kompression ergeben, auszuwählen. Die Größe die hier minimiert wird, um die beste Kompression zu ergeben, ist die Größe des Codewort-Satzes plus die Größe der Wahrscheinlichkeitstabelle.
  • Die Codewörter, die durch das obige Verfahren erzeugt werden, sind zunächst durch die Länge und dann durch den, Bezeichner sortiert, der für jedes Bildzeichen des Font gegeben ist, und eine Indextabelle für jede Länge ist als Liste von Bezeichnern aufgebaut, die in absteigender Folge sortiert sind. Für jede Indextabelle sind in einer Längentabelle die ihr entsprechenden Codewort-Länge und die Tabellenlänge gespeichert.
  • Die Codewörter werden zusammen mit der Index-Tabelle und der Längentabelle gespeichert. Es sei darauf hingewiesen, dass die Informationen über den Ort und die Länge jedes Codewortes gespeichert und nur durch den Index und die Längentabellen präsent sind, das heißt, dass die Codewörter sortiert nach Länge und Bezeichner ohne Trennzeichen gespeichert sind.
  • Wenn ein Bildzeichnen mit gegebenem Bezeichner I dekodiert werden soll, werden die Indextabellen zunächst nacheinander unter Nutzung einer Binärsuche durchsucht. Wenn der Bezeichner gefunden wurde, wird die Adresse des korrespondierenden Codewortes bestimmt durch Summation des Produktes der Codewortlänge mit der Anzahl von Codewörtern der gleichen Länge über alle Codewort-Längen, die kleiner sind als die der durchsuchten Tabelle (das Zählen der Codewörter sollte bei Null beginnen), und Addieren der Codewortlänge der gesuchten Tabelle mal der Position des Bezeichners in der Tabelle. Andere Suchenreihenfolgen der Tabelle sind ebenso möglich. Beispielsweise könnte man – wenn man wollte – die Tabelle in der Reihenfolge einer abnehmenden Größe durchsuchen; und es ist nicht beabsichtigt, die Erfindung auf irgendeine bestimmte Suchreihenfolge zu begrenzen. Es sollte verstanden werden, das andere Suchverfahren genutzt werden können, ohne den Umfang der vorliegenden Erfindung zu verlassen, und es ist auch nicht beabsichtigt, die Erfindung auf irgendein bestimmtes Suchverfahren zu begrenzen.
  • Wenn das Codewort einmal im Speicher gefunden wurde, wird es durch die Dekodierstruktur 30, die in 3 dargestellt ist, dekodiert. In 3 ist das Quellenmodell 18 identisch zu dem Quellenmodell 18 in dem Kodierer 10 von 1 (und deshalb wurde ihm das gleiche Bezugszeichen gegeben), der arithmetische Decoder 36 entspricht dem arithmetischen Kodierer 16 in der bekannten Weise und der Abbildausbilder ist einfach die Umkehrung des Serialisierers 14 des Kodierers von 1. Der Decoder 30 in 3 liefert als Ausgangswert die Bitmap 32 des gewünschten Bildzeichens des komprimierten Font.
  • 4 ist ein Blockdiagramm, das schematisch die Struktur eines Kopierers 40 entsprechend einem zweiten Ausführungsbeispiel der vorliegenden Erfindung darstellt. In 4 ist die Wahrscheinlichkeitstabelle des Quellenmodells 18 des Kopierers 10 von 1 durch eine Vorhersagetabelle 42 in einem Quellemodell 48 ersetzt, bei dem jeder Eintrag ein Bit ist, welches auf den wahrscheinlichsten Bitwert in jedem Kontext hinweist. Der vorhergesagten Wert für jedes Bit wird mit dem aktuellen Bit durch Einheit 44 Exklusiv-Oder-verknüpft, wodurch ein Bitstrom erzeugt wird, der durch einen Huffman-Code in einem Huffman-Kodier-Modul 46 kodiert wird (siehe D.A. Huffman „A method for Construction of Minimum-Redundnacy Codes", Proc. IRE, vol. 40, pp 1098–1101, 1952).
  • In diesem Ausführungsbeispiel müssen zusätzlich zu den Codewörtern, die Indextabelle, die Längetabelle und eine Beschreibung des Huffman-Codes für den Decoder verfügbar gemacht werden. Die Optimierung hinsichtlich der Kontextgröße etc. – wie hinsichtlich des ersten Ausführungsbeispiels oben beschrieben – kann auf dieses Ausführungsbeispiel genauso angewendet werden. Die Decoderstruktur zur Nutzung mit dem Kodierer dieses Ausführungsbeispiels sind auch analog zum Decoder, der mit dem Kodierer des ersten Ausführungsbeispiels genutzt wird (dargestellt in 3), und sie braucht nicht hier nicht weiter beschrieben zu werden.
  • 5 und 6 sind Flussdiagramme, die allgemein die Schritte der Kodierungs- und Dekodierungsverfahren entsprechend der Kompressions- und Wiederherstellungsverfahren der vorliegenden Erfindung darstellen. Zunächst – unter Berücksichtigung von 5 – werden zur Kodierung eines Font zweidimensionale Bitmaps der individuellen Zeichen oder Bildzeichen des Font im Schritt 61 unter Nutzung des Serialisierers, der in 1 bis 4 dargestellt ist, serialisiert. Ein Quellen- oder statistisches Modell der serialisierten Daten wird in Schritt 62 unter Nutzung des Kontext bildenden Moduls 22 und entweder der Wahrscheinlichkeitstabelle 24 von 1 oder der Vorhersagetabelle von 4 erzeugt. Die Reihenfolge von Bits, die von den Serialisierer ausgegeben wird, wird dann im Schritt 63 kodiert, bei dem jedes Zeichen oder Bildzeichen unabhängig mit einem Code, der von dem statistischen Modell entweder durch den arithmetischen Kodierer 16 von 1 oder dem Huffman-Kodierer 46 von 4 abgeleitet wird, um einen kodierten Codewort-Satz, der den Font repräsentiert, zu erstellen. Der kodierte Font wird dann im Schritt 64 im Speicher beispielsweise zur späteren Wiederherstellung gespeichert. Wie oben erwähnt werden die Codewörter zusammen mit der Indextabelle und der Längentabelle gespeichert.
  • Um die im Speicher gespeicherten Zeichen zu kodieren oder dekodieren werden die Indextabellen – wie in 6 dargestellt – zunächst in Schritt 71 durchsucht bis der Bezeichner für das kodierte Zeichen gefunden wird. Die Adresse des gespeicherten kodierten Zeichens wird dann unter Nutung des Bezeichners in Schritt 72 gefunden; und schließlich wird das Codewort wiederhergestellt und dekodiert – Schritt 83; dabei wird der Dekoder beispielsweise von 3 genutzt, um die dekomprimierte Bitmap des ausgewählten Zeichens oder Bildzeichens zu liefern.
  • Ein wichtiger Aspekt der vorliegenden Erfindung ist, dass ein zweiteiliger Code genutzt wird, wobei der erste Teil des Code, das heißt das Modell, für alle kodierten Bildzeichen gleich ist; und der zweite Teil des Codes, das heißt das Codewort, die kodierten Daten, die das Bildzeichen repräsentieren, umfasst. Dieses vereinfacht die Indexierung, weil es für jedes Bildzeichen nur notwendig ist, das Codewort aufzufinden. In dem ersten oben beschriebenen Ausführungsbeispiel wird ein arithmetischer Kodierer mit einer festen Wahrscheinlichkeitstabelle genutzt, welche eine nahezu optimale Kompression von Bildzeichen sicherstellt, wodurch bedingt durch die Wahrscheinlichkeitstabelle keine Notwendigkeit für weitere Tabellen besteht, womit von Lempel-Ziv und Huffman-Kodierungsschemata, die bei kurzen Datenblöcke schlecht funktionieren und ausführliche Codetabellen erfordern, unterschieden wird.
  • Durch die Nutzung von vorhersagendem Kodieren, wie es bei dem zweiten oben beschriebenen Ausführungsbeispiel mit einer festen Vorhersagetabelle, die von einem festen Huffman-Code gefolgt ist, angewendet wird, wird es möglich, eine sehr schnelle Dekompression bei gleichzeitiger akzeptabler Kodierung zu erhalten. Dieses Verfahren ist besonders für ein Implementierung im Hardware geeignet.
  • Ganz allgemein wird in der vorliegenden Erfindung von jede Tabelle auf eine Liste von Bezeichnern durch Nutzung eines Indexverfahrens mit einer Längentabelle und Indextabellen, in welchen mindestens eine Suche ausgeführt wird, reduziert. Durch die vorliegende Erfindung ist die Gesamtgröße der Adressierungstabellen nur marginal größer als der Platz, der ursprünglich durch die Bezeichner beansprucht wurde; und somit haben wir die Möglichkeit eines wahlfreien Zugriffs auf die Bildzeichen durch nur eine leichte Erhöhung der Indextabellengröße erreicht.
  • Es soll betont werden, dass der Begriff „umfassen/umfasst", wenn er in dieser Spezifikation genutzt wird, die Anwesenheit von beschrieben Fähigkeiten, Integers, Schritten oder Komponenten anzeigt, er soll aber nicht die Anwesenheit oder das Hinzufügen von einem oder mehrerer anderer Fähigkeiten, Integers, Schritten, Komponenten oder Gruppen davon ausschließen.
  • Es soll auch betont werden, dass das hier Beschriebene bevorzugte Ausführungsbeispiele der vorliegenden Erfindung beschreibt, und es sollte gewürdigt werden, dass die Erfindung zahlreiche andere Formen annehmen kann. Dementsprechend sollte verstanden werden, dass die Erfindung nur insofern als es erforderlich ist durch den Umfang der folgenden Ansprüche begrenzt ist.

Claims (25)

  1. Verfahren zur Komprimierung von Daten, die einen Zeichensatz repräsentieren, mit: Kodierung jedes Symbols des Zeichensatzes in der Form eines zweiteiligen Codes durch Erzeugung eines ersten Teiles des zweiteiligen Codes, der ein statistisches Modell des Zeichensatzes enthält, Ableitung eines Codes aus dem statistischen Modell, und Kodierung von Daten, die jedes Zeichen des Zeichensatzes repräsentieren, mit dem abgeleiteten Code, um einen zweiten Teil des zweiteiligen Codes für jedes Zeichen in dem Satz zu liefern, wobei der erste Teil des zweiteiligen Codes für alle kodierten Zeichen des Satzes gleich ist, und der zweite Teil des zweiteiligen Codes kodierte Daten, die ein Zeichen des Satzes repräsentieren, umfassen, und wobei jedes kodierte Zeichen des Satzes separat zugreifbar und dekomprimierbar ist.
  2. Verfahren nach Anspruch 1, wobei die Daten, die jedes Symbol des Satzes repräsentieren, eine zweidimensionale Bitmap jedes Zeichens umfassen.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Kodierungsschritt den Schritt der Bestimmung des Kontextes jedes Pixels einer Bitmap, die ein Zeichen repräsentiert, und die Erstellung einer Wahrscheinlichkeitstabelle von Pixelwerten, die einen Eintrag pro möglichen Kontext aufweisen, enthält.
  4. Verfahren nach Anspruch 3, wobei der Kodierungsschritt eine Kodierung jedes Zeichens umfasst, wobei ein arithmetischer Kodierer zusammen mit der Wahrscheinlichkeitstabelle genutzt wird.
  5. Verfahren nach Anspruch 4, wobei der Kodierungsschritt den Schritt der Bestimmung des Kontextes jedes Pixels der Bitmap, die ein Zeichen repräsentiert, und eine Erstellung einer Vorhersagetabelle enthält, die auf den wahrscheinlichsten Bitwert in jedem Kontext hinweist.
  6. Verfahren nach Anspruch 5, wobei der wahrscheinlichste Bitwert für jedes Bit Exclusiv-Oder mit dem aktuellen Bit verknüpft wird, wodurch ein Bitstrom erzeugt wird, der durch einen Huffman-Code kodiert wird.
  7. Verfahren nach einem der vorangegangenen Ansprüche, weiterhin den Schritt des Speicherns der kodierten Daten, die jedes Zeichen von dem Satz repräsentieren, im Speicher enthaltend.
  8. Verfahren nach Anspruch 7, weiterhin den Schritt des Einbindens eines Bezeichners für jedes Zeichen des Zeichensatzes zur Identifikation eines Ortes an welchem die kodierten Daten, die ein Zeichen repräsentieren, im Speicher gespeichert sind.
  9. Verfahren nach Anspruch 8, weiterhin die Schritte eines Sortierens der kodierten Daten, die jedes Symbol in dem Satz repräsentieren, nach Länge und Erzeugen eines Satzes von Indextabellen für jede Länge enthaltend, wobei jede Indextabelle Bezeichner für kodierte Daten ihrer entsprechenden Länge enthält.
  10. Verfahren nach Anspruch 9, weiterhin den Schritt des Anordnens nach aufsteigender Ordnung der Bezeichner, die in jeder Indextabelle enthalten sind.
  11. Verfahren nach Anspruch 11, weiterhin den Schritt des Erzeugens einer Längentabelle enthaltend, wobei die Längentabelle Informationen über jede Indextabelle inklusive der Länge der es entspricht und der Länge der Indextabelle enthält.
  12. Verfahren nach einem der vorangehenden Ansprüche, wobei der Zeichensatz einen Font umfasst, und wobei jedes Zeichen ein Zeichen des Font umfasst.
  13. Verfahren nach Anspruch 12, wobei der Font einen Font umfasst, der aus der Gruppe ausgewählt ist, die aus einen Chinesisch Zeichensatz und einen japanischen Zeichensatz besteht.
  14. Verfahren zur Wiederherstellung kodierter Daten, die ein Zeichen eines Zeichensatzes repräsentieren, die in einem Speicher gespeichert sind, wobei ein Bezeichner für jedes Zeichen in dem Zeichensatz angegeben ist, mit: Verfügbarmachen einer Indextabelle, die eine Liste von Bezeichnern für unterschiedliche Zeichen des Zeichensatzes enthält; Durchsuchen der Indextabelle, um einen Bezeichner für ein Zeichen zu lokalisieren; Identifizierung eines Ortes unter Nutzung des Bezeichners für das Zeichen an welchem die Daten, die das Zeichen in dem Zeichensatz repräsentieren, in dem Speicher gespeichert sind; und Wiederherstellung der Daten, die ein Zeichen repräsentieren, aus dem Speicher.
  15. Verfahren nach Anspruch 14, wobei kodierte Daten, die Zeichen eines Zeichensatzes repräsentieren, zuerst nach Länge und dann nach Bezeichnern in aufsteigender Reihenfolge sortiert werden, und wobei der Schritt der Bereitstellung einer Indextabelle das Bereitstellen eine Indextabelle für jede Länge enthält, wobei jede Indextabelle, die eine Liste von Bezeichnern in aufsteigender Folge für Zeichen enthält, die durch kodierte Daten einer bestimmten Länge repräsentiert werden.
  16. Verfahren nach Anspruch 15, wobei der Suchschritt ein Durchsuchen der Indextabelle für den Bezeichner unter Nutzung einer binären Suche umfasst.
  17. Verfahren nach einem der Schritte 14 bis 16, wobei das Verfahren weiterhin den Schritt eine Dekomprimierung der wiederhergestellten Daten enthält.
  18. Verfahren nach einem der Ansprüche 14 bis 17, wobei die kodierten Daten eine zweidimensionale Bitmap für ein Symbol umfassen.
  19. Vorrichtung zur Komprimierung von Daten, die einen Zeichensatz repräsentieren, mit: einen Kodierer (10, 40), der angepasst ist, jedes Zweichen eines Zeichensatzes in der Form eines zweiteiligen Codes zu kodieren und Quellenmodellmittel (14, 48), die angepasst sind, um ein statistisches Modell des Zeichensatzes zu erzeugen, welches einen ersten Teil des zweiteiligen Codes umfasst, wobei der Kodierer (10, 40) angepasst ist, Daten, die jedes Zeichen in dem Zeichensatz repräsentieren, mit einem Code, der von dem statistischen Modell abgeleitet ist, zu kodieren, um einen zweiten Teil des zweiteiligen Codes für jedes Zeichen des Zeichensatzes bereitzustellen, und wobei der erste Teil des zweiteiligen Codes für alle kodierten Zeichen des Satzes gleich ist, und der zweite Teil des zweiteiligen Codes kodierte Daten umfasst, die ein Zeichen des Satzes repräsentieren, und wobei jedes kodierte Zeichen des Satzes separat zugreifbar und dekomprimierbar ist.
  20. Vorrichtung nach Anspruch 19, wobei die Daten, die jedes Zeichen repräsentieren, eine Bitmap jedes Zeichens umfassen, und wobei der Kodierer (10) Folgendes enthält: einen arithmetischen Kodierer (16) zur sequenziellen Kodierung von Pixeln der Bitmap; und Quellenmodellmittel (18) zur Bereitstellung von Kodierungswahrscheinlichkeiten für den arithmetischen Kodierer, wobei die Quellenmodellmittel eine Kontext bildende Einheit (22) zur Bildung eines Kontextes für jeden Pixel der Bitmap und eine Wahrscheinlichkeitstabelle (24) enthält, die eine Pixelwahrscheinlichkeit für jeden Pixel enthält, die vom Kontext abhängt, der von der Kontext bildenden Einheit (22) gebildet wurde.
  21. Vorrichtung nach Anspruch 19, wobei die Daten, die jedes Zeichen repräsentieren, eine Bitmap jedes Zeichens umfassen, und wobei der Kodierer (40) Folgendes umfasst: die Quellenmodellmittel (48) zur Bereitstellung eines vorhergesagten Wertes für jedes Pixel der Bitmap, ein Mittel (44) zum Exklusiv-Oder-Verbinden des vorhergesagten Wertes jedes Pixel mit dem tatsächlichen Bit, um einen Bitstrom zu erzeugen, und eine Huffmann-Kodiereinheit (48) zur Kodierung des Bitstroms.
  22. Vorrichtung nach Anspruch 21, wobei die Quellenmodellmittel (48) enthalten: eine Kontext bildende Einheit (48) zu Bildung eines Kontextes für jedes Pixel der Bitmap und eine Vorhersagetabelle (42), um einen vorhergesagten Wert für jedes Pixel in jedem Kontext vorherzusagen.
  23. Vorrichtung nach einem der Ansprüche 19 bis 22, vorbei der Zeichensatz einen Font umfasst.
  24. Vorrichtung (30) zu Wiederherstellung von Daten, die ein Zeichen eines Zeichensatzes repräsentieren, der in einem Speicher gespeichert ist, wobei jeder der Zeichen einen Bezeichner aufweist, mit: einem Lokalisierer, der angepasst ist, um einen Ort in dem Speicher durch eine Durchsuchung einer Indextabelle zu identifizieren, an dem Daten gespeichert sind, die ein Zeichen des Zeichensatzes repräsentieren, wobei die Indextabelle eine Liste von Bezeichnern an für unterschiedlich Zeichen des Zeichensatzes enthält, und wobei der Bezeichner für das Zeichen genutzt wird; und einen Decoder (36), der angepasst ist, um das Zeichen zu dekodieren, wobei Daten, die das kodierte Zeichen repräsentieren, separat zugreifbar und dekodierbar sind.
  25. Vorrichtung nach Anspruch 24, wobei Daten, die den Zeichensatz repräsentieren, nach Länge sortiert sind, und wobei eine Indextabelle für jede Länge verfügbar ist, wobei jede Indextabelle angepasst ist, eine Liste von Bezeichnern für Zeichen, die durch Daten einer bestimmten Länge repräsentiert sind, zu enthalten.
DE60213205T 2001-02-27 2002-02-15 Komprimierung und extraktion von schrifttypen Expired - Lifetime DE60213205T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US794706 2001-02-27
US09/794,706 US20020118885A1 (en) 2001-02-27 2001-02-27 Font compression and retrieval
PCT/EP2002/001601 WO2002069269A2 (en) 2001-02-27 2002-02-15 Font compression and retrieval

Publications (2)

Publication Number Publication Date
DE60213205D1 DE60213205D1 (de) 2006-08-31
DE60213205T2 true DE60213205T2 (de) 2006-11-23

Family

ID=25163415

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60213205T Expired - Lifetime DE60213205T2 (de) 2001-02-27 2002-02-15 Komprimierung und extraktion von schrifttypen

Country Status (6)

Country Link
US (2) US20020118885A1 (de)
EP (1) EP1364343B1 (de)
KR (1) KR100906041B1 (de)
AT (1) ATE333683T1 (de)
DE (1) DE60213205T2 (de)
WO (1) WO2002069269A2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008594A1 (en) * 2003-07-16 2005-01-27 Hanyang Hak Won Co., Ltd. Method and apparatus for encoding and decoding three-dimensional mesh information
KR100619053B1 (ko) * 2003-11-10 2006-08-31 삼성전자주식회사 서브 타이틀을 기록한 정보저장매체 및 그 처리장치
US7831908B2 (en) * 2005-05-20 2010-11-09 Alexander Vincent Danilo Method and apparatus for layout of text and image documents
KR101385956B1 (ko) * 2007-08-31 2014-04-17 삼성전자주식회사 미디어 신호 인코딩/디코딩 방법 및 장치
US7688233B2 (en) * 2008-02-07 2010-03-30 Red Hat, Inc. Compression for deflate algorithm
US8352855B2 (en) * 2009-01-02 2013-01-08 Apple Inc. Selection of text in an unstructured document
EP2693752B1 (de) * 2010-04-13 2017-03-08 GE Video Compression, LLC Codierung von Signifikanzmatrizen und Transformationskoeffizientenblöcken
TWI397825B (zh) * 2010-08-24 2013-06-01 Matsushita Electric Tw Co Ltd The coding / decoding processing system and method of dot matrix font
US8947438B2 (en) 2011-08-01 2015-02-03 Microsoft Corporation Reducing font instructions
ES2758360T3 (es) * 2011-11-18 2020-05-05 Ses Imagotag Procedimiento y sistema para visualizar información de productos en etiquetas electrónicas
KR102203031B1 (ko) * 2019-11-15 2021-01-14 오토아이티(주) 빠른 정전 복구를 지원하기 위한 대용량 데이터 기록 방법 및 장치
US11423580B2 (en) * 2020-10-12 2022-08-23 Arm Limited Decoding data arrays
US20230084574A1 (en) * 2021-09-16 2023-03-16 UncommonX Inc. Bit sequence storage method and system
US12184309B2 (en) * 2022-04-26 2024-12-31 Apple Inc. Dynamic content encoding

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
US4559615A (en) * 1982-09-15 1985-12-17 Goo Atkin Y Method and apparatus for encoding, storing and accessing characters of a Chinese character-based language
JPS63263561A (ja) 1987-04-22 1988-10-31 Ricoh Co Ltd 日本語文の圧縮方法
US4799242A (en) * 1987-08-24 1989-01-17 International Business Machines Corporation Multi-mode dynamic code assignment for data compression
KR930003416B1 (ko) * 1988-03-29 1993-04-29 주식회사 금성사 폰트의 함축방법
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
JP2978208B2 (ja) 1990-05-18 1999-11-15 シチズン時計株式会社 キャラクタージェネレータにおけるフォントデータ圧縮方式
US5020121A (en) * 1990-08-16 1991-05-28 Hewlett-Packard Company Neighborhood block prediction bit compression
US6069999A (en) * 1991-04-18 2000-05-30 Microsoft Corporation Method for compressing and decompressing font data
JPH06195063A (ja) 1992-12-25 1994-07-15 Casio Comput Co Ltd 文字パターンデータ圧縮装置
US5915041A (en) * 1993-03-04 1999-06-22 Unisys Corporation Method and apparatus for efficiently decoding variable length encoded data
JP2732188B2 (ja) 1993-03-15 1998-03-25 国際電信電話株式会社 最適符号表現を用いた多段データ圧縮装置
US5473704A (en) * 1993-06-01 1995-12-05 Asahi Kogaku Kogyo Kabushiki Kaisha Apparatus for substituting character data for image data using orthogonal conversion coefficients
JPH07199894A (ja) 1993-12-30 1995-08-04 Casio Comput Co Ltd 文字フォント圧縮方法
US5488365A (en) * 1994-03-01 1996-01-30 Hewlett-Packard Company Method and apparatus for compressing and decompressing short blocks of data
EP0672982B1 (de) * 1994-03-18 2002-07-31 Hewlett-Packard Company, A Delaware Corporation Druckersystem mit komprimiertem Schriftsatzverfahren, das Speicherplatzeinsparüng ermöglicht
KR100260827B1 (ko) * 1994-06-16 2000-07-01 야스카와 히데아키 데이타 압축방법, 데이타 복원방법 및 정보처리 장치
KR100209877B1 (ko) * 1994-11-26 1999-07-15 윤종용 복수개의 허프만부호테이블을 이용한 가변장부호화장치 및 복호화장치
JP3181809B2 (ja) 1995-05-31 2001-07-03 シャープ株式会社 データ圧縮のための圧縮コードの復元回路
US6031622A (en) 1996-05-16 2000-02-29 Agfa Corporation Method and apparatus for font compression and decompression
EP0837427A1 (de) 1996-10-15 1998-04-22 Hewlett-Packard Company Verlustfreie Bitmapbilderkomprimierung und -dekomprimierung
US5901251A (en) * 1997-03-18 1999-05-04 Hewlett-Packard Company Arithmetic coding compressor using a context model that is adaptive to variable length patterns in bi-level image data
JPH1155125A (ja) 1997-08-01 1999-02-26 Fujitsu Ltd 文字データの圧縮・復元方法
US6377966B1 (en) * 1997-10-22 2002-04-23 Flashpoint Technology, Inc. Graphical interface to select characters representing phonetic articulation and no articulation groups
GB2388944B (en) * 1999-02-05 2004-03-17 Advanced Risc Mach Ltd Bitmap font data storage within data processing systems
JP2001084707A (ja) * 1999-09-10 2001-03-30 Toshiba Corp 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
KR20030082586A (ko) 2003-10-22
KR100906041B1 (ko) 2009-07-03
WO2002069269A2 (en) 2002-09-06
EP1364343B1 (de) 2006-07-19
EP1364343A2 (de) 2003-11-26
ATE333683T1 (de) 2006-08-15
US7212679B2 (en) 2007-05-01
US20050047669A1 (en) 2005-03-03
WO2002069269A3 (en) 2002-11-28
US20020118885A1 (en) 2002-08-29
DE60213205D1 (de) 2006-08-31

Similar Documents

Publication Publication Date Title
DE60213205T2 (de) Komprimierung und extraktion von schrifttypen
DE3789857T2 (de) System zur Komprimierung von Bildern mit mehreren Graustufen.
DE10301362B4 (de) Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
DE69612832T2 (de) Datenkomprimierungs/Dekomprimierungsvorrichtung und -verfahren
EP1467491B1 (de) Arithmetische Codierung von Transformationskoeffizienten
DE69531080T2 (de) System und Verfahren zur Bildkompression
DE69318064T2 (de) Verfahren und Vorrichtung zur Verwaltung von mehreren Wörterbüchern zur Datenkomprimierung mit Inhaltsadressierung
DE69737892T2 (de) Lempel-Ziv Datenkompressionsverfahren unter Verwendung eines Wörterbuches mit häufig auftretenden Buchstabenkombinationen, Wörtern und/oder Sätzen
DE69725215T2 (de) Verfahren und Vorrichtung zur Komprimierung und Dekomprimierung von Schrifttypen
DE69603547T2 (de) Codierungsverfahren und Decodierungsschaltung für die Komprimierung von chinesischen Textzeichendaten
EP2296282B1 (de) Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung mit Verwendung mehrerer Nachschlagtabellen
Liang et al. Lossless compression of medical images using Hilbert space-filling curves
DE3485824T2 (de) Verfahren zur datenkompression.
DE19635251A1 (de) Verfahren und Apparat zur Komprimierung beliebiger Daten
DE2513862A1 (de) Vorrichtung zum dekodieren
DE69522497T2 (de) System und Verfahren zur Datenkompression
DE19544761A1 (de) Verfahren zum Komprimieren eines eingegebenen Symbols
DE69815972T2 (de) Verfahren und Anordnung zur Kompression und Dekompression von Halbtonzitterbildern
EP1323313B1 (de) Verfahren und anordnung zum übertragen eines vektors
DE69328811T2 (de) Opcode abhängige Komprimierung für ein Window-System.
EP1286471B1 (de) Verfahren zur Kompression von Daten
DE3882980T2 (de) Bildkodierungssystem.
DE202022104023U1 (de) Ein unkonventionelles System zur verlustfreien Datenkompression
US20060238539A1 (en) Method and apparatus for glyph hinting by analysis of similar elements
DE60103379T2 (de) Darstellung des allgemeinen technischen gebiets und des stands der technik

Legal Events

Date Code Title Description
8364 No opposition during term of opposition