DE3784762T2 - Datenkompression. - Google Patents

Datenkompression.

Info

Publication number
DE3784762T2
DE3784762T2 DE8787303854T DE3784762T DE3784762T2 DE 3784762 T2 DE3784762 T2 DE 3784762T2 DE 8787303854 T DE8787303854 T DE 8787303854T DE 3784762 T DE3784762 T DE 3784762T DE 3784762 T2 DE3784762 T2 DE 3784762T2
Authority
DE
Germany
Prior art keywords
data
data block
size
block
patterns
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 - Fee Related
Application number
DE8787303854T
Other languages
English (en)
Other versions
DE3784762D1 (de
Inventor
Paul Crayson
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.)
General Electric Co
Original Assignee
General Electric Co
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 General Electric Co filed Critical General Electric Co
Publication of DE3784762D1 publication Critical patent/DE3784762D1/de
Application granted granted Critical
Publication of DE3784762T2 publication Critical patent/DE3784762T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/4115Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures involving the recognition of specific patterns, e.g. by symbol matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

  • Die vorliegende Erfindung betrifft Datenkomprimierung und betrifft insbesondere, aber nicht ausschließlich, eine Vorrichtung zum Komprimieren digitaler Daten, die von Farbbildern, insbesondere Landkarten abgeleitet sind.
  • Es ist üblich, daß danach getrachtet wird, so viele Daten wie möglich im geringsten Raum zu speichern. Das trifft besonders in Bezug auf Bilder, insbesondere Landkarten, zu, wenn sie in Verbindung mit irgendeinem computerisierten Rückgewinnungs- und Anzeigesystem in digitaler Form zu speichern sind.
  • Aus verschiedenen Gründen kann es erwünscht sein, ein Bild zu digitalisieren, etwa eine Landkarte eines Bereichs, indem man abtastet, was sie in sehr kleinen benachbarten Flächen mit regelmäßigen Abständen oder Pixeln zeigt, und das in der abgetasteten Fläche Gesehene in eine diese Fläche darstellende Zahl wandelt. Der sich ergebende Zahlenstrom wird dann in irgendeiner entsprechenden Weise gespeichert, z.B. als Magnetimpulse an einem Computerband, einer Platte oder Bläschen oder als elektrische Ladungen in einem Computer-Halbleiterspeicher. Dieses Verfahren kann "einfache Digitalisierung" genannt werden. Zu irgendeinem späteren Datum können die gespeicherten digitalen Daten wiedergewonnen und zur Wiederherstellung des Ausgangsbildes benutzt werden, vielleicht durch Steuern eines Farb-Plotters/Zeigers oder einer Farbfernseh-Anzeige, um das Bild darzustellen. Dies ist alles technisch möglich. Digitalisierung, Speicherung, Rückgewinnung und Anzeige von Kartendaten ist auf verschiedenen Gebieten erwünscht. Z.B. ist es in einem sich bewegenden Fahrzeug wie einem Wagen oder einem Flugzeug sehr bequem, eine Anzeige des Gebietes zu haben, das das Fahrzeug durchfährt bzw. über das es hinwegfliegt. Das erlaubt dem Fahrer oder Piloten, genau zu sehen, wo er ist, ohne die Notwendigkeit, eine Reihe von Landkarten zu halten, die sich auf die Gebiete beziehen, wo es wahrscheinlich hingeht, und den Vorgang daran zu verfolgen. Wenn ein Computer zur Erzeugung und Steuerung der Anzeige benutzt wird, ist es relativ einfach, die Bewegung des Fahrzeugs mit der Landkarte zu verbinden, so daß die Position des Fahrzeugs mit einem Blick gesehen werden kann. Es besteht jedoch ein besonderes Problem mit Landkartendaten insofern, als die Daten einen sehr großen Bereich des Speicherplatzes einnehmen. Das ergibt Schwierigkeiten sowohl beim Speichern als auch beim raschen Rückgewinnen und Anzeigen irgendeines ausgewählten Gebietes der Landkarte.
  • Verschiedene Verfahren zum Komprimieren von Bilddaten wurden vorgeschlagen. Mit Komprimieren von Bilddaten ist gemeint, daß das Bild in eine Reihe von Zahlen umgewandelt wird, die weniger Speicherraum einnehmen, als bei einer einfachen Digitalisierung erforderlich ist. Eine Anzeige des Komprimierungsgrades wird erhalten durch das Verhältnis der Größe der einfachen Digitalisierung zu der Größe der komprimierten Daten, und das wird Komprimierungsfaktor genannt. Die bei früheren Verfahren erreichbaren Komprimierungsfaktoren sind jedoch nicht immer zufriedenstellend. Z.B. ist ein klassisches Komprimierungs-Verfahren das als "Lauflängen-"Kodierung bezeichnete. Jedes landkartenartige Bild besitzt Teile, die über einen großen Bereich gleich sind. Ein Streifen oder "Lauf" eines solchen Teils kann in kodierter Form als die Länge des Laufes, d.h. eine Anzahl von kleinen Bereichen aller dieser Art gespeichert werden, wie beispielsweise "15 blau" oder "27 weiß". Das nimmt weniger Platz ein als das getrennte Speichern jedes Bereichs. Jedoch kann das Lauflängen-Kodieren selten einen Komprimierungsfaktor ergeben, der viel größer als 5 ist, aber dies hängt natürlich von der Karte und der Häufigkeit von Merkmalen ab, die sie abbildet. Obwohl dies nützlich ist, sind nichtsdestoweniger höhere Komprimierungsfaktoren sehr erwünscht.
  • Nach einem ersten Aspekt dieser Erfindung wird eine Vorrichtung zum Komprimieren von Bilddaten geschaffen, welche umfaßt: Mittel, um ein Eingangssignal von Daten repräsentierenden Digitalworten anzunehmen, wobei jedes Wort ein Pixel eines Bildes beschreibt; Mittel zum Auftrennen der Bilddaten in Blöcke, wobei jeder Block eine aus Zeilen und Spalten bestehende Anordnung von Pixeln darstellt; eine Bibliothek, welche Gruppen von Mustern enthält, wobei jede Gruppe sich auf eine jeweilige Blockgröße bezieht und jedes Muster aus einem Datenblock besteht, der ein Bildmerkmal darstellt und einem Identifizierungskode zugeordnet ist, welcher weniger Ziffern enthält, als es der seiner Gruppe zugeordneten Blockgröße entspricht; Vergleichsmittel zum Vergleichen des Inhalts jedes Datenblocks mit Mustern der relevanten Gruppe; und Mittel, die, wenn beim Vergleich eine Übereinstimmung gefunden ist, den Inhalt des Datenblocks in einem Ausgangssignal durch den dem übereinstimmenden Muster zugeordneten Identifizierungskode repräsentieren lassen, wodurch die Bilddaten komprimiert werden, und, wenn keine Übereinstimmung gefunden wird, den Datenblock in Blöcke geringerer Größe aufteilen und die kleineren Blöcke an das Vergleichsmittel anlegen lassen. Durch Benutzen dieser Erfindung bei einer durchschnittlichen Landkarte ist es möglich, einen Komprimierungsfaktor zu erhalten, der im Bereich von beispielsweise 5 bis hinauf zu 20 reicht.
  • Die erfindungsgemäße Vorrichtung kann mit irgendwelchen Bilddaten benutzt werden, d.h. mit einem "Bild" irgendeiner Art. Z.B. kann es mit einem "Bild" benutzt werden, das nur aus Text zusammengesetzt ist. Jedoch ist es in erster Linie zur Speicherung von Karten in digitaler Form bestimmt. Die Karte ist ein gutes Beispiel eines einfachen Bildes mit wohl definierten Formen, Linien und Farben, die alle in begrenzter Zahl vorhanden sind, und sie können Karten irgendeiner Art, beispielsweise eine Karte eines Landbereichs, eine Seekarte oder einer Karte einer Polarstrahlungs-Verteilung einer Antenne sein.
  • Da die Bilddaten zuerst in irgendeiner entsprechenden Weise digitalisiert werden, können sie deshalb leicht durch einen Computer behandelt werden. So sind die Bilddaten eine digitale Darstellung eines tatsächlichen Bildes und werden durch eine erfindungsgemäße Vorrichtung bearbeitet, um sie in eine komprimierte Form zu wandeln, die beträchtlich weniger Speicherraum einnimmt als die rohen Digitaldaten, die sich aus der einfachen Digitalisierung ergeben. Hier wird später die Verwendung von digitalen Daten allgemein angenommen, obwohl zum leichteren Verständnis die Betätigung der Vorrichtung zum größten Teil so beschrieben wird, als ob es nicht digitale Bilddaten, sondern das Bild selbst beträfe. Da die Erfindung in erster Linie für die Komprimierung von Daten bestimmt ist, die sich auf ein Bild beziehen, das eine Karte irgendeiner Art ist, werden darüberhinaus die späteren Bezüge zu dem Bild zum größten Teil und zur Bequemlichkeit Bezüge zu einer Karte sein.
  • Durch Benutzung der Erfindung kann eine Reihe von Zahlen gespeichert und nach Rückgewinnung von einem Speicher zum Aufbau einer Darstellung der originalen Daten benutzt werden. Die Zahlen können in irgendeinem digitalen Format sein, jedoch sind sie für Computerverwendung bequemerweise binär, oktal oder hexadezimal. Jeder Identifizierungskode kann verschiedene Dinge zusätzlich zu der Art des Musters identifizieren, wie die Datenblockgröße, die durch digitale Worte eines Datenblocks dargestellte(n) Farbe(n) und den tatsächlichen Datenblockinhalt, wenn beispielsweise keine Anpassung gefunden werden kann. Die Vorrichtung kann so betrieben werden, daß ein Bild, wie z.B. wie eine Landkarte, Datenblock um Datenblock geprüft wird, um ein Ausgangssignal zu schaffen, das eine Zahlenreihe umfaßt, welche den Inhalt jedes Datenblocks definiert. Nach Wiedergewinnung und Dekodierung zur Anzeige werden diese Zahlen in ein System eingespeist, das eine Bibliothek mit dem gleichen Inhalt benutzt, wie er zum Komprimieren der digitalen Daten eingesetzt wurde, um in der Anzeige den durch jeden Kode identifizierten Datenblockinhalt wieder aufzubauen und zu positionieren. Das System kann gleichartig zu irgendeinem konventionellen System zum Wiederaufbau eines Bildes aus Digitaldaten sein.
  • Vorzugsweise sind Mittel enthalten zum Überwachen der Größe der Datenblöcke und, wenn ein Datenblock einer vorbestimmten Minimalgröße überwacht wird, zu veranlassen, daß er in dem Ausgangssignal durch sich selbst repräsentiert wird. So kann eine untere Grenze für eine Datenblockgröße gesetzt werden, unter welcher jeder Versuch eines Anpaßvergleiches mit Mustern einer relevanten Gruppe nur einen geringen Komprimierungsgrad oder überhaupt keinen ergeben könnte, und hohe organisatorische Vorbereitung in der Form von zusätzlichen Gruppen oder "Niveau-Bibliotheken" und Operationsdaten erfordern würde.
  • Vorzugsweise ist die Vorrichtung so ausgelegt, daß jeder Datenblock mit jedem Muster der relevanten Gruppe in Reihen verglichen wird. Jedoch kann es vorteilhaft sein, eine Vielzahl von Komparatoren in dem Vergleichsmittel einzuschließen und einen Datenblock gleichzeitig an jedes von ihnen zum Vergleich mit einem oder mehreren jeweiligen Mustern an jedem Platz anzuwenden. Das kann die zum Ausführen des Anpaß- und Vergleichsvorganges erforderliche Zeit reduzieren. Diese letztere Anordnung kann besonderes nützlich sein, wenn die einmal komprimierten Daten unmittelbar zur Übertragung oder in einer anderen Realzeitanwendung ohne vorheriges Speichern zu benutzen sind.
  • Es kann Vorteile bringen, wenn das Mittel zum Auftrennen der Bilddaten in Blöcke ausgelegt ist, es in Blöcke gleicher Größe aufteilt und, wenn beim Vergleich keine Anpassung gefunden wird, den aufgetrennten Datenblock wieder in kleinere Blöcke von gleicher Größe auftrennt. Vorteilhafterweise stellt jeder Datenblock eine quadratische Pixel-Anordnung dar, die eine besonderes bequeme zu behandelnde Gestaltung ist.
  • Nach einem zweiten Aspekt dieser Erfindung wird ein Verfahren zum Komprimieren von Bilddaten geschaffen, bei dem die zu bearbeitenden Bilddaten in Blöcke vorbestimmter Größe aufgetrennt werden und der Inhalt jedes Datenblocks mit einer Bibliothek von für die Datenblockgröße relevanten Mustern verglichen wird; und, falls der Datenblock als ein solches Muster identifiziert wird, er entsprechend kodiert wird und, falls bei einem bestimmten Datenblock keine Übereinstimmung gefunden wird, der Block in eine Vielzahl kleinerer Datenblöcke unterteilt und versucht wird, den Inhalt jedes kleineren Blocks mit einer anderen Auswahl von relevanten Mustern in Übereinstimmung zu bringen, und der Vorgang des Unterteilens fortgesetzt wird, bis der Block eine vorbestimmte minimale Größe erreicht ist, woraufhin der Inhalt eines Datenblocks, wenn es keine Übereinstimmung gibt, der Inhalt eines Blocks direkt durch den Inhalt selbst kodiert wird.
  • Ein einzelnes Pixel kann definiert werden durch eine von zwei Zahlen, also entweder als ein (1) oder aus (0). Diese Zahl ist als Einzelbinärzahl oder Bit speicherbar. Um den Ein/Aus-Zustand eines 2x2Blocks von 4 Pixeln zu definieren, braucht man 4 Bits, falls der Pixelzustand direkt Pixel um Pixel kodiert wird, obwohl 4 Bits irgendeine von 2&sup4; = 16 Zahlen repräsentieren können. In der gleichen Weise braucht ein 4x4Block von 16 Pixeln 16 Bit (die irgendeine von 2¹&sup6;=65 536 Zahlen repräsentieren kann) und ein 8x8Block von 64 Pixeln braucht 64 Bits (die irgendeinen von 2&sup6;&sup4; Pixeln repräsentieren können - eine sehr große Zahl). Ein 16x16Block braucht 256 Bits und ein 32x32Block 1024 Bits. Die in Betracht zu ziehende Angelegenheit ist, ob bei irgendeiner bestimmten Datenblockgröße die Anzahl von zur Identifizierung der Anzahl der Muster bei der bestimmten Datenblockgröße benötigten Bits kleiner als die Anzahl der für die Beschreibung der durch jeden Datenblock dargestellten einzelnen Pixel erforderlichen Bits ist.
  • Wenn ein 32x32-Block wahrscheinlich eines von z.B. 64 einfachen Verteilungen (32 vertikale Linien, 32 horizontale Linien) besitzt, dann kann sein Inhalt durch die Anzahl der Verteilungen oder Muster kodiert werden, und 64 Muster können in 4 Bits kodiert werden, im Gegensatz zu 1024 (je eines für jedes Pixel). Wenn ein 16x16-Block eines von z.B. 32 einfachen Mustern (16 vertikale, 16 horizontale Linien) besitzen kann, dann kann er als eine von 32 Zahlen (Muster) kodiert werden und 32 kann in 5 Bits kodiert werden, im Gegensatz zu 256 (je eins für jedes Pixel). Wenn so ein 32x32-Block als vier getrennte 16er Blöcke zu kodieren wäre, dann würde er (ohne irgendwelche organisatorische Vorbereitungen) vier Gruppen von 5 Bits brauchen oder 20 Bits (im Gegensatz zu 1024 von einem Bit pro Pixel). Falls ein 8x8-Block wahrscheinlich eines von z.B. 512 Mustern haben kann, dann kann er als eine von 512 Zahlen in 9 Bits kodiert werden, im Gegensatz zu 64 Bits (eines pro Pixel). So braucht ein aus vier 8x8-Blöcken bestehender 16x16-Block vier Gruppen von 9 Bits oder 36 Bits (im Gegensatz zu 256 Bits von einem Bit pro Pixel). Wenn dann ein 4x4-Block wahrscheinlich 512 Muster besitzen kann, kann er als eine von 512 Zahlen in 9 Bits kodiert werden im Gegensatz zu 16 Bits (eines pro Pixel). So braucht ein aus vier 4x4-Blöcken bestehender 8x8-Block vier Gruppen von 9 Bits oder 36 Bits (im Gegensatz zu 64 bei einem pro Pixel). Wenn schließlich ein 2x2-Block wahrscheinlich acht Muster besitzen kann, so kann er als eine von acht Zahlen kodiert werden - in 3 Bits im Gegensatz zu 4 Bits (eines pro Pixel). So braucht ein aus vier 2x2-Blöcken bestehender 4x4-Block vier Gruppen von 3 Bits oder 12 Bits (im Gegensatz zu 16 bei einem pro Pixel).
  • Es wird nun offenbar, daß die zum Bestimmen einer Anzahl von Mustern bei jeder Datenblockgröße erforderliche Bitzahl immer kleiner als die Anzahl von Bits ist, die zur Definierung genau der Pixel in einem Block ist, bis zu Blöcken, die Quadrate mit 4x4 Pixeln sind. So ist die Musterkodierung vorteilhaft bis herunter zu dem Niveau des 4x4-Blocks, jedoch darunter ist es wahrscheinlich nachteilig, wenn die organisatorischen Vorbereitungen in Rechnung gestellt werden.
  • Kehren wir zur Angelegenheit der Datenblockgröße zurück, so kann als allgemeiner Hinweis gesagt werden, daß die größten Blöcke klein genug sein sollten, daß sich eine gute durchschnittliche Chance findet, von z.B. 1 in 4 im Durchschnitt über das gesamte Bild, daß irgendein Datenblock ein Muster enthält, das eines aus einer kleinen Anzahl (vielleicht 64 oder so) von Mustern auf dem Bibliothek-Niveau ist. Selbstverständlich hängt die Blockgröße in hohem Maße von der Art von Bild ab, von dem die Daten genommen sind, und von dem Maßstab dieses Bildes, ausgedrückt sowohl mit der kleinsten Merkmalgröße als auch der Pixelgröße. In Pixeln ausgedrückt, scheint ein Block, der ein Quadrat mit 32x32 Pixeln umfaßt, ziemlich zufriedenstellend. Auf der gleichen Basis könnten die kleinsten Blöcke Quadrate mit 4x4 Pixeln sein.
  • Erfindungsgemäß wird jeder Datenblock verglichen, um eine Übereinstimmung zwischen dem Inhalt des Blocks mit einem Muster aus einer begrenzten Anzahl solcher Muster zu erhalten, die in einer dieser Datenblockgröße angemessenen Gruppe der Bibliothek gehalten werden. Damit nur eine begrenzte Anzahl von relevanten Mustern vorhanden ist, sind sie auf entsprechend dem betroffenen Bild ziemlich einfache Muster beschränkt. Beispielsweise kann ein 32x32-Pixelsegment (das bevorzugte größte der vorher erwähnten) einer Landkarte als relevante Muster nur vertikale und horizontale Linien mit einer Breite von einem oder zwei Pixel besitzen (die Landkarten-Gitterlinien), so daß nur 32+32=64 mögliche Muster beim Niveau 32 vorhanden wären. Jedoch kann ein 8x8-Block einer Landkarte viel mehr linienartige Muster besitzen, möglicherweise bis 500 oder sogar 1000. Bei einer bestimmten Sammlung von Bibliothekmustergruppen könnte die Anzahl von Mustern in jeder Gruppe wie folgt sein:
  • Die Bibliothek Niveau 32
  • Diese Muster bestehen aus konstantfarbigen Bereichen und vertikalen und horizontalen Gitterlinien mit einer Breite von einem Pixel. Die Muster ergeben insgesamt 1 (konstante Farbe) + 32 (vertikale Gitterlinien) + 32 (horizontale Gitterlinien) = 65. Dabei sind nicht enthalten einander überschneidende vertikale und horizontale Gitterlinien; das ist in dieser Bibliothek nicht erlaubt.
  • Die Bibliothek Niveau 16
  • Diese besteht ähnlich der Bibliothek Niveau 32 nur aus Konstantfarben und Gitterlinien. Es ergeben sich insgesamt (1+16+16=) 33 Muster.
  • Die Bibliothek Niveau 8
  • Diese enthält Konstantfarben und Gitterlinien mit (1+8+8=) 17 Mustern. Zusätzlich können zweifarbige Bereiche vorhanden sein, geteilt durch diagonale Linien, die von einer Seite des Blocks zur anderen gehen. Es gibt acht Arten, wie eine Linie von einer Pixelecke am Boden zu einer Pixelecke an der Oberseite gehen kann, und neun Positionen am Boden, von dem aus das geschehen kann. Das ergibt 72 vertikale Positionen. Die Farbe kann jedoch umgekehrt werden, wodurch sich 144 Positionen ergeben. Da dies auch horizontal geschehen kann, ergeben sich insgesamt 288 Kombinationen. So ist die Gesamtzahl der Muster in der Bibliothek 305. Komplexere Muster könnten in dieser Bibliothek gespeichert werden, doch brauchen sie dann außerordentlich viel Speicherraum.
  • Die Bibliothek Niveau 4
  • Diese Bibliothek enthält Konstantfarben und Gitterlinien, welche (1+4+4=) 9 Muster benutzen. Die in der Bibliothek Niveau 8 unter Benutzung von Diagonallinien erzeugten Muster können für diese Bibliothek wiederholt werden, wo sie 80 unterschiedliche Muster ergeben. Eine andere Art, Muster zu erzeugen, ist sie aus 2x2-Anordnungen von farbigen Pixeln innerhalb der 4x4 Anordnung aufzubauen, wodurch sich eine obere Grenze von 216 Mustern ergibt. Einige dieser Muster können wiederholt werden, jedoch braucht im Augenblick nur eine obere Grenze gefunden werden. Das ergibt eine Gesamtzahl von 305 Mustern.
  • Es sind zwei wichtige Punkte zu bemerken. Zuerst ist der Typ von Mustern bei allen Niveaus angemessen dem, was in dem betreffenden Bid erwartet wird. So wird eine Muster-Bibliothek für Landkartendaten-Komprimierung an jedem Pegel Muster der an diesem Niveau bei einer Landkarte am meisten erwarteten Muster enthalten. Zweitens sind die Muster "Ganzsegment"- Muster und ihre Kompliziertheit sollte an die Größe des Datenblocks angepaßt werden. Auch wenn die größten Speichereinsparungen durch Anpassung an den höchsten Niveaus hergestellt werden können, müssen die Muster selbst gespeichert und zugänglich gemacht werden, und die Anzahl von Mustern in diesen Niveau sollte zur Wirksamkeit des Betriebs niedrig gehalten werden. Verschiedene Beispiele von entsprechenden Landkartenformen/Mustern bei unterschiedlichen Niveaus sind in den beigefügten Zeichnungen gezeigt.
  • Erfindungsgemäß wird der Gehalt jedes Datenblocks womöglich als eines der relevanten Muster identifiziert und so kodiert. Der gesamte Datenblockgehalt wird durch den Bibliothekmuster-Identifizierungskode identifiziert und so gespeichert, wodurch sich beträchtnlich Speicherplatz einsparen läßt. Die Bibliothekmuster-Identifizierungskodezahl ist auch vorzugsweise auf einen Niveaukode bezogen, der anzeigt, auf welche Niveau-Bibliothek sich die Zahl bezieht. Diese Niveaukodierung kann direkt erledigt werden, beispielsweise, indem jedem Muster-Identifizierungskode eine Niveaukodierung vorgesetzt wird, welche absolut die angemessene Bibliothek bestimmt. Wenn z.B. nur Bibliotheken für Niveaus 32, 16, 8 und 4 vorhanden sind, dann sind - bei nur vier Niveaus - nur 2 Bit erforderlich. Es wird jedoch bevorzugt, ein Relativkodiersystem zu benutzen, bei dem eine 1 bedeutet "ein Niveau abwärts" und eine 0 bedeutet "bleib bei diesem Niveau", und ganz getrennt davon bei der Rückgewinnungs-Dekodierungs- und Anzeigeausrüstung eine Spur organisiert, ob nach Vollendung einer Reihe von Datenblöcken innerhalb eines größeren Datenblocks das Niveau automatisch von dieser Reihe nach oben zu dem des größeren Datenblocks bewegt wird. Beginnend mit dem Niveau 32 eines Systems mit Niveau 32, 16, 8 und 4 wird der längste Niveaukode 1110 sein, was bedeutet "gehe drei Niveaus abwärts zu dem Niveau 4 und bleibe da". In einem 32x32 Datenblock oder Segment, der bzw. das in vier 16x16 Segmente aufgeteilt ist, von denen die ersten beiden selbst jeweils in vier 8x8 Segmente aufgeteilt sind, und unter der Annahme, daß die Daten geordnet sind, so daß in irgendeiner Reihe von vier Untersegmenten die Inhalte irgendeines Segments verglichen/unterteilt werden, bevor das nächste behandelt wird, würden die Niveaukodierungen wie folgt sein:
  • 110 bedeutet zwei abwärts (zu 8) und bleibe
  • 0 bedeutet bleibe
  • 0 bedeutet bleibe
  • *0 bedeutet bleibe
  • 10 bedeutet eins abwärts (zu 8) und bleibe
  • 0 bedeutet bleibe
  • 0 bedeutet bleibe
  • *0 bedeutet bleibe
  • 0 bedeutet bleibe
  • 0 bedeutet bleibe
  • Nach Beendigung der * Segmente erkennt das Gerät, daß eine Reihe von vier Segmenten vollendet ist und erhöht automatisch den Pegel. So muß, um bei dem niedrigeren Niveau zu bleiben, der Niveaukode die "gehe eins abwärts"-Ziffer enthalten.
  • Wenn der Inhalt eines Datenblocks, wenn der Datenblock oder das Segment nicht von der vorbestimmten Minimalgröße sind, nicht mit einem Bibliotheksmuster identifiziert werden kann, wird der Datenblock in eine Anzahl von kleineren Datenblökken geteilt. Bei dem vorher betrachteten wurde angenommen, daß die Unterteilung durch vier in vier gleich große und gleich geformte Viertel geschieht. Das ist bequem für ein Bibliothekssystem, da jede Datenblockseite durch eine Potenz von zwei unterteilt wird, und die Fläche so durch vier geteilt wird. Da das aber nicht wichtig ist, ist es nichtsdestoweniger sehr weitgehend die bequemste Art und Weise. Darüberhinaus ist es am meisten zu bevorzugen, wenn jede Reihe von vier kleineren Datenblöcen in der gleichen Ordnung behandelt wird - z.B. oben links, oben rechts, unten links, unten rechts - bevor zum nächstgrößeren Datenblock weitergegangen wird. Die oben aufgelisteten Niveaukodierungen sind für eine solche Abfolge von kleineren Datenblöcken bestimmt.
  • Das Unterteilen und Anpassen wird weitergeführt, bis eine vorbestimmte Minimaldatengröße erreicht ist, und bei dem oben beschriebenen Beispiel ist dies bei dem 4x4 Pixel- Niveau der Fall. Wenn dann keine Übereinstimmung zwischen dem Inhalt des Datenblocks und der relevanten Niveau-Bibliothek gefunden wird, dann wird der Block explizit anhand seiner einzelnen Pixel, das heißt seinem tatsächlichen Inhalt, kodiert. Bei einem 4x4-Pixelblock erfordert dies einen 16Bitkode. Damit wird angenommen, daß die Blockpixel in irgendeiner systematischen Weise oder Ordnung kodiert werden, beispielsweise in Zeilen von links nach rechts beginnend mit der obersten Zeile und heruntergehend bis zur untersten. Dieses Versagen einer Anpassung kann bequemerweise dadurch signalisiert werden, daß ein spezieller Pseudomusterkode benutzt wird, der das Bearbeitungsgerät dazu bringt, zu erkennen, daß die nachfolgende Bitgruppe - 16 für einen 4x4 Block - explizit die Pixel in dem BLock definiert, statt ein Kode zu sein oder mit einem zu beginnen, der irgendein Muster solcher Pixel darstellt.
  • Die Erfindung ermöglicht so die Komprimierung von Bilddaten so auszuführen, daß ein sehr geringer Bruchteil des Speicherraums eingenommen wird im Vergleich zu dem, der gebraucht würde, falls ein Bild in einfacher Digitalform Pixel um Pixel gespeichert würde. Die darauffolgende Dekodierung des Ausgangssignals, das z.B. gespeichert worden sein kann, um das Bild wieder herzustellen, geht sinngemäß umgekehrt vor sich. Wenn das Bearbeitungsgerät mit einem Datenstrom versorgt wird, muß es fähig sein, zu entscheiden, welche Anteile dieser Daten ihm etwas sagen, und es ihm muß mitgeteilt werden oder alternativ muß es ihm möglich sein, selbst zu bestimmen -
  • (i) an welcher Datenblockgröße es arbeitet,
  • (ii) was der Identifizierungskode ist, und
  • (iii) wo das Muster hinzusetzen ist.
  • Dementsprechend ist es nötig, daß zu den Systemdaten in Form eines Stroms von binären Ziffern oder Bits, falls das Gerät im wesentlichen ein elektronischer Computer ist, hinzguefügt wird, was den Pegel und das Muster definiert, etwa so:
  • < Niveau> < Muster> < Position> < Niveau> < Muster> < Position> ... < Niveau> < Muster> < Position> ...,
  • wobei < Niveau> eine Gruppe oder ein "Feld" von Bits darstellt, welche/welches das gegenwärtige Niveau bestimmt, und < Muster> ein Feld ist, das das Muster definiert, entweder als die Nummer eines Bibliotheksmusters oder als eine explizite Pixelgruppe.
  • Das aktuelle interne Format dieser Daten, d.h. die Art und Weise, wie die Niveau-Information dargestellt wird, und die Art und Weise, wie die Musterinformation dargestellt wird, hängt von vielen Faktoren ab. Einige von diesen können aus der nachfolgenden Diskussion erkannt werden, die sich auf verschiedene spezifische und möglicherweise bevorzugte Arten der Anordnung der Information und des Geräts, das sie behandelt, beziehen. In dieser Diskussion wrid angenommen, daß das Gerät in einer Form vorhanden ist, die erwartet, daß Daten als ein Bitstrom kommen und zum größten Teil, daß die auf Blöcke bezogenen Niveaus jeweils Quadrate mit 32, 16, 8 oder 4 Bit Seitenlänge sind.
  • Niveaus
  • Wie vorstehend erklärt, kann die Niveaukodierung in dem Sinn absolut sein, daß jedem Muster-Identifizierungskode ein Niveaukode vorangestellt ist, der explizit aussagt, auf welches Niveau, 32, 16, 8 oder 4, sich die Form bezieht. Alternativ und vorzugsweise ist die Niveaukodierung insoweit relativ, daß sie das Niveau (die Größe) des nächsten Musters relativ zu dem des vorhergehenden Musters beschreibt. Darüberhinaus wird bevorzugt, daß das Gerät "intelligent" genug ist, zu erkennen, wenn sie mit allen Untersegmenten nach "nächstes Niveau abwärts" in einem Segment fertig ist, daß ihr nur gesagt werden muß, ob sie (a) bei dem gleichen Niveau zu bleiben hat oder (b) ein Niveau nach unten gehen soll. Vorzugsweise enden alle Niveaukodierungen mit einem Befehl "bleib bei diesem Niveau". Weiter ist es bequem, alles das mit einem Niveau-Kodierungsfeld variabler Länge statt einem solcher fester Länge zu erledigen. Mit "0" für "bleibe" und "1" für "gehe abwärts", kann das kürzeste Feld aus einem Bit (0, Bedeutung "bleibe") bestehen, während das längste aus vier Bits (1110, Bedeutung "gehe drei Niveaus [von 32 bis 4] nach unten und bleibe dort") besteht. Ein rein mathematischer Durchschnitt würde etwa 1,5 bis 2 Bit sein.
  • Muster
  • Die Musterkodierung bezieht sich auf die Nummer einer Form/eines Musters in einer Bibliothek solcher Muster, und es gibt für jedes Niveau oder jede Blockgröße eine unterschiedliche Bibliothek. So muß bevorzugt das Gerät fähig sein, zur richtigen Bibliothek für das gegenwärtig geprüfte Niveau zuzugreifen. Die Bibliotheken für die unterschiedlichen Niveaus können sehr wohl unterschiedliche Anzahlen von Mustern enthalten. So kann die Bibliothek Niveau 32 64 Muster, die Bibliothek Niveau 16 32 Muster und die Bibliotheken Niveau 8 und 4 jeweils 500 Muster enthalten. Der Muster-Identifizierungskode kann explizit so kodiert werden, daß das Musteridentifizierungs-Kodierungsfeld sich von Niveau zu Niveau in der Länge unterscheidet. Die größte Anzahl von Bits, die nötig ist, um die 64 Zahlen von 0 bis 63 zu definieren, ist 5, während die größe Bitzahl, die benötigt wird, um die 512 Nummern von 0 bis 511 zu definieren, 8 ist. Alternativ kann der Musteridentifizierungs-Kode wieder selbst kodiert werden, um so im Durchschnitt weniger Raum zu verbrauchen. Ein brauchbares Kodiersystem ist das als Huffman-Kodierung bekannte, bei dem die weitere Kodierung aufgrund der Frequenz erledigt wird, mit der das zu kodierende Material wahrscheinlich auftritt, wobei die kürzesten Huffman-Kodierungen dem am häufigsten vorkommenden Muster zugeordnet werden. Der Morse Kode ist ein Beispiel dieses Prinzips, da die am meisten vorkommenden Buchstaben die kürzesten Kodes besitzen. E ist der häufigste Buchstabe im Englischen und wird in Morse durch einen Punkt dargestellt. Die maximale Länge eines Huffman-Kodes in irgendeinem System hängt von der Anzahl von zu kodierenden Gegenständen und ihren Häufigkeiten ab. Im Durchschnitt gilt jedoch: falls es sich um n Gegenstände handelt, dann wird der längste Hufman-Kode nicht mehr als 2log&sub2;n Bits brauchen. Selbstverständlich muß, wenn eine Huffman-Kodierung verwendet wird oder irgendein Kodiersystem, das eine variable Musterfeldlänge innerhalb der Niveaus zuläßt, das Gerät fähig sein zu erkennen, falls einmal eine Übereinstimmung gefunden wurde, daß die nachfolgenden Bits der Inhalt des nächstfolgenden Felds sind.
  • Die vorstehend gegebene Datenstromdarstellung enthält ein < Positions> -Feld, denn das Gerät muß natürlich wissen, wo in der bisher soweit hergestellten Anzeige das nächste Muster zu positionieren ist. Klarerweise kann diese Positionsinformation absolut sein, wie z.B. "Stelle es in dem Segment oben linke Ecke an der Pixelposition mit den X/Y-Koordinaten x und y", oder sie kann relativ sein, wie "plaziere es unmittelbar rechts vom letzen Segment". Darüberhinaus kann bei gewissen Umständen, wenn z.B. das Gerät selbst ausgelegt ist, in einer gewissen Abfolge von Segmenten zu arbeiten (wie vorher erwähnt) und weiß, wo es in dieser Abfolge ist - dann kann das Positionsfeld tatsächlich leer oder abwesend sein, da das Gerät keine Wahl hat, sondern sich an die korrekte nächste Position begibt.
  • Obwohl bisher die Farbe nicht erwähnt wurde, hat die Beschreibung der Erfindung soweit impliziert, daß das, was angepaßt und kodiert wurde, reine Formen in Monochrom sind, d.h. entweder in schwarz auf weiß oder in weiß auf schwarz. Die meisten realen Bilder sind in Farbe, da die Verwendung von Farben eine komplexe Information leichter an einen Betrachter des Bildes übermittelt läßt, als wenn es in schwarz und weiß ist. Es gibt eine Anzahl von Wegen, wie das erfindungsgemäße Verfahren mit Farbe umgehen kann, jedoch wird bevorzugt, das Bild oder die Bilddaten in verschiedenen unterschiedlichen Farben, oder streng: Farbebenen zu analysieren in einer analogen Weise wie beim Farbdruck, wo Platten für Rot-, Grün- und Blau-Komponenten des originalen Bilds hergestellt werden können und es dann es üblich ist, drei separate Bilder aufeinander überdeckend zu drucken. Einiges an Druckarbeit wird in vier Farben (rot, grün, blau und schwarz) ausgeführt, jedoch wird Farbdruck bester Qualität mit mehr Farben durchgeführt. So werden Ordnance Survey- Karten (entsprechen etwa unseren topographischen Karten 1:50 000) z.B. in 12 Farben einschließlich Weiß gedruckt, so daß für eine solche Karte die Analyse in den gleichen 12 Farbebenen durchgeführt wird. Jedoch ist bei den vier Farben Rot, Grün, Blau und Schwarz das wesentliche Prinzip das, die Bilddaten zuerst zu analysieren für Musterinhalt in einer Farbebene, beispielsweise der roten Ebene, und dann eine Reihe von "monochromen" Musterkodieerungen zu erzeugen, die in rot anzuzeigen sind, und in gleicher Weise für die grüne, blaue und schwarze Ebene. Wenn die Daten wiedergewonnen, neu gebildet und angezeigt werden, wird die erste Gruppe von wiedergewonnenen Mustern in rot gezeigt, die zweite wird auf die erste in grün aufgelegt, die dritte wird in blau aufgelegt und die vierte in schwarz. Damit ist das gesamte Vierfarbenbild aus vier Farbebenen aufgebaut.
  • Es ist selbstverständlich auch gut möglich, das ganze Bild in Ebenen zu analysieren, so daß die komprimierten Daten sich auf das gesamte Bild in einer Farbe, das gesamte Bild in der nächsten Farbe usw. beziehen. Es kann jedoch vorteilhaft sein, die Farbe in einzelnen Segmenten zu behandeln. Dann wird jedes Segment in jeder Farbebene analysiert und alle Daten in jeder Farbebene für jedes Segment kommen in den Datenstrom nach allen Daten für das vorhergehende Segment und vor allen Daten für das nächste Segment. Darüberhinaus ist es bei einer bevorzugten Verfahrensart erwünscht, das größte Segment, in welche die Daten unterteilt sind, als die Größe des in Farbebenen zu analysierenden Datenblocks zu wählen. Die Hintergrundfarbe für dieses Segment kann als insgesamt bleibend angesehen werden, während nur die Vordergrundfarbe sich von einem Teil zum nächsten ändert. So können die Verteilungsmuster einem Farbkodefeld zugeordnet werden, das nur die Vordergrundfarbe identifiziert und das letzte solche Feld für ein bestimmtes Segment besitzt dann ein hinzugefügtes Hintergrund-Farbkodierfeld. Ein Abschnitt eines Datenstroms auf dem Niveau der größten Segmente, der nur in dieser Weise kodiert ist, könnte aussehen wie
  • < l> < s> [< p> ] < f> < l> < s> [< p> ] < f> < b> ,
  • wobei l=Niveau, s=Form/Muster, p=Position, f= Vordergrundfarbe und b=Hintergrundfarbe bedeutet. Selbstverständlich wird offenbar, daß hier der Positionskode überflüssig ist, denn wenn dem Vordergrundfarbkode ein Hintergrundfarbkode folgt, müssen das nächste Muster und die nächste Farbe über das vorhergehende überlagert werden.
  • Es wird also verstanden werden, daß, weil Farbkodedaten nur am Ende einer Größtsegmentniveau-Datengruppe vorgesehen werden, die Daten für die Teilsegment-Niveaus inerhalb einer solchen Gruppe nicht mit irgendeinem Farbkodefeld verbunden sind. Die vorher gegebenen Beispiele zur Veranschaulichung der Idee der relativen Niveaukodierung könnten so wie dies hier aussehen, soweit es die Farbinformation für nur eine Farbebene betrifft (die < > sind hier weggelassen):
  • lslslslslslslslslslsf
  • Es ist zu bemerken, daß nur am Ende des Blocks vom Niveau 32 die Vordergrund-Farbinformation gegeben ist, die für die Gesamtheit des Blocks gilt.
  • Erfindungsgemäß werden die Inhalte jedes Datenblocks verglichen mit einer Bibliothek von Mustern relativ zu der Segment- oder Datenblockgröße. Es gibt viele Arten, in denen diese Bibliothek gebildet und gehalten werden kann. Bei einer ziemlich absurden Extrem kann z.B. die Bibliothek eine körperliche sein in Form von tatsächlichen Bildern der jeweiligen Muster. Der Vergleichsvorgang kann dann eine Digitalisierung jedes solchen Bildes der Reihe nach enthalten, gefolgt von einem Vergleich mit den gegenwärtig betrachteten Digitalinhalten. Bevorzugt it jedoch die Bibliothek eine elektronische, wobei die Muster in Digitalform gespeichert sind. Aber auch hier gibt es verschiedene Möglichkeiten, denn die Bibliothek kann an einem Band, an einer Platte, in Magnetbläschen oder am bequemsten in einem Halbleiter-Speicher gehalten werden. Wenn dann der Halbleiter-Speicher auch ein RAM (Speicher mit wahlfreiem Zugriff) sein könnte, der jedesmal eine Vorbereitungsladung mit relevanten Daten erfordert, wenn das Gerät zum Gebrauch eingeschaltet wird, wird am bequemsten ein ROM (Festwertspeicher) sein, bei dem die Information permanent gespeichert ist (auch bei abgeschaltetem Strom, so daß der Speicher augenblicklich jederzeit betriebsbereit ist.
  • Obwohl es andere Wege geben kann, jedes Bibliotheksmuster gespeichert zu halten, ist es anscheinend es zu bevorzugen, eine digitalisierte Form als einen Ziffernstrom (0en und 1en) zu speichern, die explizit den Ein/Aus-Zustand aller den relevanten Datenblock bildenden Pixel definiert. Dementsprechend hängt der für die Bibliotheksmuster erforderliche Speicherraum natürlich von der Anzahl der Segmentgrößen und der Anzahl der Pixel innerhalb jedes Segments ab. Wenn so unter Benutzung des vorher genannten Systems Niveau 32, 16, 8, 4 bei Niveau 32 (32x32=1024 Pixel) 64 Muster vorhanden sind, dann muß ein Speicherraum äquivlent mindestens 64x1024=65536 Pixel bereitgehalten werden, das sind 65536 Datenbits. Tatsächlich wird mehr gebraucht, da in den bevorzugten Ausführungen zu jedem Muster ein die Form identifizierender Kode zuzuordnen ist. So müssen die jeweils 1024 Pixel jedeer Form von Niveau 32 ein Organisationszeichen tragen. In einem bestimmten Fall werden dies 20 Bits sein, nämlich maximal 16 für den Huffman-Kode und weitere vier, die die tatsächliche Länge des Huffman-Kodes angeben. Bei einer solchen Ausführung ist ein Gesamt-Speicherraum äquivalent zu etwa 67000 Bits für die Muster des Niveaus 32 nötig. Bei dem Niveau 16 (16x16=256 Pixel) sind 32 Formen vorhanden, die 32x256=8192 ergeben, und mit den Organisationszeichen ergeben sich insgesamt etwa 8600. Die Niveaus 8 und 4 (jeweils 8x8=64 bzw. 4x4=16 Pixel) sollen beispielsweise je 512 Formen besitzen, was 512x64=32768 und 512x16=8192 ergibt, und mit Organisationszeichen ergibt das zusammen etwa 42000 bzw. 16500 Bits. Die Bibliothek muß deswegen 135000 Bits oder etwa 17 Kilobytes enthalten, was relativ wenig ist.
  • Die Erfindung betrifft eine Vorrichtung zum Komprimieren von Bilddaten. Selbstverständlich müssen die Daten, wenn sie einmal in kodierter Form komprimiert sind, zum Ansehen oder zum Wiederherstellen der Bilder, die sie darstellen, wieder dekodiert werden.
  • Das kann wenig mehr als die Umkehrung des Kodiervorgangs enthalten. So muß jeder Abschnitt kodierter Daten analysiert werden, um sowohl die definierte Größe des Datenblocks als auch das zugehörige definierte Bibliothekmuster in dieser Größe zu bestimmen. Wenn es ein solches Muster gibt, dann muß seine explizite Beschreibung aus dem Speicher abgerufen werden, während, falls es das nicht gibt, die Daten selbst als die erforderliche explizite Beschreibung zu nehmen sind.
  • Der größte Teil der für diesen Wiederherstellungsvorgang nötigen Merkmale und die zu seiner Bewirkung notwendigen Geräte wurde bereits vorherdiskutiert und das braucht hier nicht weiter kommentiert zu werden. Jedoch ist das folgende bemerkenswert.
  • Zunächst können wohl die komprimierten Bilddaten, wie die Bibliothekdaten, in irgendeiner Form gespeichert werden, jedoch ist es am bequemsten, sie in einem ROM zu halten. Eine Vielzahl von Bildern kann in verschiedenen ROMS gehalten werden, die entweder körperlich austauschbar sind, indem sie aus Buchsen an einer gedruckten Schaltplatine entnommen bzw. darin eingesetzt werden, oder elektronisch, wobei sie alle an ihrem Platz bleiben, jedoch ein- und ausgeschaltet werden.
  • Zweitens kann es, statt zu dekodieren und dann ein Bild vor den Augen des Betrachters aufzubauen, vorteilhaft sein, zuerst in einem Zwischenspeicher zu dekodieren und das vollständige Bild zusammenzustellen und dann den Inhalt dieses Speichers in die Anzeigeeinheit herauszukopieren. Beispielsweise ist es möglich und bequem, beim Benutzung eines Fernsehtyp-VDU, einen Rahmen kodierter Daten anzunehmen, die Daten zu dekodieren, das sich ergebende Bild in den RAM zu schreiben und dann den Inhalt des RAM in den VDU zu kopieren, um die erwünschte Anzeige zu erzeugen. Diese Verfahrensweise hat eine Anzahl von Vorteilen, einschließlich einer beträchtlichen Reduzierung der Rechenzeit in der Dekodierausrüstung, und bei den mit der Aktualisierung des Bildes verbundenen Problemen, wenn es wechselt, z.B. wenn Kartendaten angepaßt werden, damit sie der Bewegung eines Fahrzeugs über das angezeigte Gebiet entsprechen. Weiterer Nutzen kann erhalten werden durch Dekodieren und zeitweiliges Speichern eines Bildbereichs, der beträchtlich größer als der anzuzeigende Bereich ist, so daß eine begrenzte "Bewegung" um das Bild geschehen kann, ohne die Notwendigkeit irgendwelcher weiterer Dekodierung.
  • Nach einem Merkmal der Erfindung enthält eine Anordnung zum Überwachen der Position eines Fahrzeugs oder Objekts eine Vorrichtung zum Wiederherstellen von komprimierten Bilddaten unter Benutzung von Vorrichtungen erfindungsgemäßer Art, Mittel zum Ableiten von Information bezüglich der Bewegung des Fahrzeugs oder Objekts und Mittel zum Vergleichen der abgeleiteten Information mit den wiederhergestelten Bilddaten. Die Fortbewegung des Fahrzeugs oder Objekts kann so entweder an Bord oder an einem ferngelegenen Ort überwacht werden.
  • Die Erfindung wird nun weiter beispielsweise mit Bezug auf die beigefügte Zeichnung beschrieben, in welcher zeigt:
  • Fig. 1 ein Blockschaltbild des zur Ausführung der Erfindung erforderlichen Geräts;
  • Fig. 2A und B Abschnitte einer Ordnance Survey Map Nr. 153 im Maßstab 1:50000 (dabei ist Fig. 2B eine etwa 10 mal vergrößerte Version eines Teils der Fig. 2A);
  • Fig. 3A, B, C und D eine Bildschirmanzeige einer digitalisierten Version eines Teils der Fig. 2B (Fig. 3A ist im gleichen Maßstab wie Fig. 2A; Fig. 3B ein Teil der Fig. 3A mit gleichem Maßstab wie Fig. 2B, während Fig. 3C und 3D jeweils kleinere, 4 Mal bzw. 8 Mal vergrößerte Teile davon sind);
  • Fig. 4A, B und C mit etwas reduziertem Maßstab die in ihre drei Farbebenen aufgeteilte Fig. 3C,
  • Fig. 5A, B, C und D Beispiele von Bibliotheksmustern in verschiedenen unterschiedlichen Niveaus (Segmentgrößen);
  • Fig. 6A ein mit einem "Gitter" zur Identifizierung der tatsächlich zur Kodierung verwendetne Segmente überlagertes bestimmtes Bild,
  • Fig. 6B, C, D und E das in vier verschiedene Farbebenen aufgeteilte Bild der Fig. 6A; und
  • Fig. 7 ein Flußdiagramm entsprechend der Erfindung, das beispielsweise auf das Bild der Fig. 6A anwendbar ist.
  • Alle Figuren, welche Abschnitte von amtlichen Karten zeigen, wurden entweder von der Karte selbst oder von Fotographien der Karte oder von einer aufgrund einer digitalisierten Version der Karte hergestellten Bildanzeige abgenommen. Sie waren ursprünglich farbig, sind jedoch hier in schwarz und weiß dargestellt, mit einer bestimmten Schraffierung, wo es erwünscht ist, "Farbe" zu zeigen.
  • In Fig. 1 enthält ein Gerät zum Ausführen der Erfindung eine Kamera 1, die angeordnet ist, eine Karte oder ein Bild 2 zu erfassen, deren Informationsgehalt gespeichert werden soll. Das Ausgangssignal der Kamera 1 wird einem Digitalisierer 3 übergeben, der das empfangene Ananlogsignal in eine Bitreihe wandelt. Das digitalisierte Signal wird dann über eine Verstärker/Filter-Schaltung 4 zu einem Kodierer 5 übermittelt. Der Kodierer vergleicht das die größte Datenblockgröße der Karte darstellende empfangene Signal mit der in einer Bibliothek 6 für dieses Niveau gehaltenen Gruppe von Mustern, wobei jedes Muster aus einem ein bildliches Merkmal darstellenden Datenblock besteht. Wenn für einen bestimmten Block keine Übereinstimmüng mit einem Muster in der Gruppe gefunden wird, dann wird der Block in eine Reihe von kleineren Blöcken unterteilt und der Vergleichsvorgang mit einer anderen Gruppe von Mustern wiederholt, die in der Bibliothek 6 auf dem Niveau der kleineren Blockgröße enthalten sind. Wenn eine Übereinstimmung zwischen Segment oder Block und einem Muster gefunden wird, wird ein dem Muster zgueordneter Identifizierungskode benutzt, den Inhalt des BLocks in einem Ausgangssignal darzustellen. Das Ausgangssignal wird einem Speicher 7 übertragen, wo es gehalten wird, bis es wiederzugewinnen gewünscht wird.
  • Der untere Teil des in Fig. 1 gezeigten Schaltbilds stellt den Wiedergewinn- oder Rückholvorgang dar. Der Speicher 7 hält komprimierte Daten, welche, wenn sie wiedergewonnen sind, eine Darstellung der Karte 2 an einem Anzeigegerät 8 ergeben. Ein Dekoder 9 holt die bei 7 gespeicherten Daten zurück und vergleicht die Identifizierungskodes mit in einer Bibliothek 10 gespeicherter Information, wobei der Inhalt der Bibliothek mit dem Inhalt der während des Kodierungsvorgangs benutzten Bibliothek 6 identisch ist. So können durch diesen Vergleich die ursprünglcihen digitalen Daten wiedergebildet und zu einem zeitweiligen Speicher 11 geleitet werden, wo die Daten gespeichert werden, bis gewünscht wird, sie an dem Anzeigegerät 8 anzuzeigen. Eine Anzeigesteuerung 12 synchronisiert das Auslesen der Daten aus dem zeitweiligen Speicher 11 mit dem Abtastvorgang an dem Anzeigerät 8 zur Wiedergabe der gespeicherten Karte 2.
  • Fig. 2A zeigt einen Ausschnitt der 1:50 000 Ordnance Survey Map (Landranger Series) Nr. 153 (Huntingdon and Bedford). Ein Streifen über den zentralen Teil dieses Ausschnitts wurde digitalisiert einschließlich der durch das Quadrat (um die Gitterortnummer 71) markierten Fläche, die in Fig. 2B beträchtlich, aber nicht sehr genau, vergrößert dargestellt ist. Die digitalisierte Version wurde gereinigt, was eine Anzahl von kleineren, aber nicht relevanten Änderungen einführte, und die sie bestimmenden Daten wurden komprimiert unter Benutzung von Vorrichtungen erfindungsgemäßer Art.
  • Fig. 3A zeigt eine aus den digitalen Daten erzeugte Anzeige und stellt einen Streifen der Karte dar, der 512 Pixel lang und 128 Pixel tief ist. Die mit Quadrat versehene Fläche in Fig. 2A liegt am linken Ende des Streifens und einige oder alle diese Fläche definierenden Daten (die Fläche innerhalb des Quadrats "71" in Fig. 2A und B) sind in Fig. 3B, C und D gezeigt, wie sie auch in einer üblichen VDU angezeigt werden. Die Fig. 3B zeigt die Fläche in etwa dem gleichen Maßstab, wie sie in Fig. 2B gezeigt ist. Bei diesem Maßstab hatte das Quadrat 128x128 Pixel. Da dies eine ziemlich grobe Auflösung bei dieser Größe ist, fangen die einzelnen Pixel an, glatten Linien eine ziemlich hervorgehobene gestufte oder mit Spitzen versehene Kante zu geben.
  • Innerhalb der 128x128 Pixel der Fig. 3B wurde ein kleineres Quadrat von 32x32 Pixeln markiert. Dieses kleinere Quadrat ist vergrößert in Fig. 3C gezeigt, und die Vergröberung der Auflösung macht die Bildung der Merkmale, z.B. der Zahl "76" aus einer Sammlung von einzelnen quadratischen Pixeln sehr offensichtlich.
  • Schließlich zeigt Fig. 3D wieder vergrößert und vergröbert das obere rechte Viertel der Fig. 3C, wie dargestelt. Über die Fig. 3D ist ein Gitter gelegt, das jedes Pixel definiert, aus welchem die 16x16 Quadratfigur gebildet ist. Darüberhinaus, und siehe auch Fig. 3A, wurden, um die im "Original" dieses Kartenausschnitts vorhandenen Farben anzuzeigen, die Gitterlinie, die hellblau war, grau belassen, die Umfangslinie 14 und die Maßlinie 15, welche blaßbraun war, schraffiert, und der karmesinrote Fußweg 16 kreuzschraffiert.
  • Die Folge der Fig. 4A, B und C zeigt mit geringfügig vermindertem Maßstab die Fläche der Fig. 3C, aufgeteilt in ihre drei Farbebenen. Diese sind: hellblau (Gitterlinien) in 4A, reh- oder mittelbraun (die Konturenlinien und Höhen) in 4B und karmesinrot (die Fußwege) in 4C. Wie später erklärt, wird jede Farbebene bei diesem Niveau 32 Pixel nach übereinstimmenden Mustern untersucht (und falls nötig bei den Niveaus 16, 8 und 4 Pixel), bevor die nächste Farbebene betrachtet wird.
  • Wie vorher erklärt, sind unterschiedliche Bibliothekmuster bei unterschiedlichen Niveaus oder Datenblockgrößen enthalten, von denen einige in Fig. 5A, B, C und D dargestellt sind. Beim Niveau 32 einer bestimmten Bibliothek enthält die Mustergruppe Muster, die aus Konstantfarben, die eine Hintergrund- oder Vordergrundfarbe sein können, und horizontalen wie vertikalen Gitterlinien mit 2 Pixel Breite, wie in Fig. 5A gezeigt, bestehen. Es sind 64 Muster in dieser Bibliothek vorhanden.
  • Fig. 5B zeigt einige der in der Bibliothek Niveau 16 enthaltenen Muster. Bei dieser bestimmten Bibliothek sind die enthaltenen Muster konstante Vorder- udn Hintergrundfarben, vertikale und horizontale Gitterlinien mit 2 Pixeln Breite und alle Kombinationen aus jeder vertikalen Gitterlinie mit jeder horizontalen Gitterlinie, wobei so auch Überschneidungen zwischen vertikalen und horizontalen Linien mit enthalten sind. Das ergibt eine Gesamtzahl von 257 Mustern in der Bibliothek Niveau 16.
  • Fig. 5C stellt einige der in der Bibliothek Niveau 8 enthaltenen Muster dar. Wie bei den Bibliotheken Niveau 32 und l6, enthält die Bibliothek Niveau 8 Muster mit konstanter Vordergrund- und Hintergrundfarbe. Zusätzliche Mustertypen sind ebenfalls enthalten, die "Bereiche" und "Linien" genannt werden können. Die Bereichsmuster sind solche, bei denen eine Diagonallinie die Begrenzung zwischen einem Bereich der Vordergrundfarbe und der Hintergrundfarbe bestimmt, wobei die Linie von einer Seite des Blocks zur anderen geht. Die Linie kann von der Unterseite eines Blocks zur Oberseite oder in einer allgemein horizontalen Richtung von einer Seite zur anderen verlaufen. Linienmuster sind Muster, die aus geraden und diagonalen 2 bis 7 Pixel breiten Linien bestehen, in einer Richtung von links nach rechts und von oben nach unten im Block.
  • Fig. 5D zeigt einige der Muster, die in der Bibliothek Niveau 4 enthalten sind. Diese Bibliothek enthält Konstantfarben und Gitterlinien, und auch die in der Bibliothek Niveau 8 enthaltenen Bereich- und Linienmuster. Andere enthaltene Muster sind solche mit 2x2 Blöcken von Konstantfarbe und Muster von Konstantfarben sowie Mustern, die so klein sind, daß sie nur 1 Pixel Breite haben. Bei diesem Niveau sind Stufengrößen von einem halben Pixel längs einer Grenzlinie zwischen zwei Farben möglich, wenn die die Grenze bestimmende Linie von dem Mittelpunkt zwischen den Ecken des Blocks ausgeht.
  • Falls einmal die Bibliothek Niveau 4 geprüft wurde und kein Muster in einer Bibliothek gefunden wurde, das als das Abbild identifiziert werden kan, wird das Muster explizit kodiert. Ein Kodewort ist in der Bibliothek Niveau 4 enthalten, das dem expliziten 16 Bitwort im kodierten Bild vorangeht, um die Anwesenheit des expliziten Wortes zu identifizieren.
  • Datenkomprimierung erfindungsgemäßer Art wird nun weiter mit Bezug auf eine in Fig. 6A dargestellte Karte und das Flußdiagramm nach Fig. 7 beschrieben. Die in Fig. 6A gezeigt Karte enthält verschiedene Merkmale innerhalb eines betrachteten Blocks 32x32. Es sind blaue Gitterlinien 17 und 18, ein See 19, ebenfalls blau, beige Gebäude 20 und eine rote Straße 21 vorhanden.
  • Zunächst werden die das Bild der Anordnung aus 32x32 Pixel darstellenden digitalisierten Daten in einen Kodierer eingegeben. Der Kodierer ist initialisiert und dann wird der Datenblock in vier Farbebenen aufgeteilt, die in Fig. 6B, 6C, 6D und 6E gezeigt sind, und ein die Hintergrundfarbe darstellender Kode ausgegeben. Die in Fig. 6B gezeigte Farbebene wird zuerst betrachtet, und ein Kode ausgegeben, der die erste zu prüfende Vordergrund-Farbebene darstellt. Dann wird bestimmt, ob ein Muster in der Bibliothek 32 vorhanden ist, das mit dem 32x32 Block zur Übereinstimmung gebracht werden kann. In diesem Fall ist es nicht möglich, da die Bibliothek 32 nur horizontale oder vertikale Linien oder schlichte einfarbige Gebiete zeigt. Der Block wird dann in vier 16x16 Blöcke aufgeteilt und der obere linke Block 16(1) zuerst betrachtet. Die Bibliothek Niveau 16 enthält vertikale Linien, horizontale Linien, vertikale und horizontale Linien und Konstantfarben, So ergibt sich in diesem Fall keine Übereinstimmung zwischen dem Block 16(1) und der Bibliothek Niveau 16. Der Block wird dann weiter in vier 8x8 Blöcke aufgeteilt und der obere linke Block 8(1) mit den in der Bibliothek Niveau 8 enthaltenen Mustern verglichen. Es ergibt sich eine erfolgreiche Übereinstimmung und ein Kode, der das Niveau, Niveau 3, und das Muster darstellt, wird in einen Pufferspeicher ausgegeben. Der Kodierer prüft dann, ob noch weitere 8x8 Blöcke zu kodieren übrig bleiben, und in diesem Fall sind es welche. Der nächste Block 8(2), der obere rechte Block, wird dann betrachtet. Wieder wird eine Übereinstimmung zwischen dem Muster des Blocks 8(2) und einem Muster in der Bibliothek gefunden und ein weiterer das Niveau und das Muster definierender Kode ausgegeben. Die beiden restlichen 8x8 Blöcke im oberen linken Viertel des ursprünglichen 32x32 Blocks werden in gleicher Weise betrachtet und in der Bibliothek damit übereinstimmende Muster gefunden. Wenn dann kein weiterer 8x8 Block zu kodieren verbleibt, wird eine Überprüfung getroffen, ob 16x16 Blöcke übrig sind. Der obere rechte 16x16 Block 16(2) wird so als nächster in Betracht gezogen. Das in diesem Block enthaltene vertikale Muster kann sofort mit einem Muster in der Bibliothek Niveau 16 gepaßt werden und ein Kode wird erzeugt, der den Niveau- und den Musterkode anzeigt, und an den Datenordner ausgegeben. Die restlichen beiden 16x16 Blöcke werden in gleicher Weise kodiert. Nun wird eine Überprüfung durchgeführt, ob alle vier Farbebenen in Betracht gezogen wurden. Da diese erst die erste Farbebene war, wird das Verfahren weitergeführt.
  • Die zweite Farbebene, welche die in Fig. 6C gezeigten Merkmale enthält, wird in gleicher Weise behandelt. Zuerst wird der die Farbe darstellende Kode an den Ordner ausgegeben. Dann wird der 32x32 Block mit Mustern in der Bibliothek Niveau 32 verglichen. Es wird keine Übereinstimmung gefunden, und so wird der Block in vier 16x16 Blöcke aufgeteilt. Der erste Block 16x16, 16(1) der Fig. 6C, wird betrachtet und, da er eine konstante Hintergrundfarbe umfaßt, eine Übereinstimmung gefunden und ein das Niveau und das Muster ausgebender Kode an den Pufferspeicher übertragen.
  • Der nächste in Betracht zu ziehende 16x16 Block kann nicht mit einem Muster in oder Bibliothek Niveau 16 in Übereinstimmung gebracht werden und wird deshalb in vier Blöcke 8x8 aufgeteilt. Der erste Block, 8(1) ist eine konstante Hintergrundfarbe und kann so mit einem Muster in die Bibliothek in Übereinstimmung gebracht werden. Der nächste 8x8 Block 8(2) kann nicht in Übereinstimmung gebracht werden, und so wird eine weitere Unterteilung notwendig, die vier 4x4 Blöcke ergibt. Eine Kode wird ausgegeben in den Puffer, der das Niveau 4 darstellt, und dann der erste linke obere 4x4Block 4(1) mit den in der Bibliothek Niveau 4 gehaltenen Mustern verglichen. Eine Übereinstimmung wird gefunden und der korrekte Musterkode zu dem Pufferspeicher durchgeleitet. Der nächste in Betracht zu ziehende 4x4 Block kann mit keinem Muster in der Bibliothek Niveau 4 in Übereinstimmung gebracht werden. Ein die Verwendung eines expliziten Wortes darstellender Musterkode wird erzeugt und dann werden die 16 Bits des Blocks explizit kodiert und zu dem Pufferspeicher geleitet. Die weiteren 4x4 Blöcke sind Muster, die in der Bibliothek Niveau 4 enthalten sind, und es ist nicht erforderlich, ein explizites Wort zu verwenden. Die restlichen beiden 8x8 Blöcke werden dann betrachtet und können bei der Stufe Niveau 8 in Übereinstimmung gebracht werden. Die beiden 16x16 Blöcke 16(3) und 16(4) können mit in der Bibliothek Niveau 16 enthaltenen Mustern in Übereinstimmung gebracht werden. Es wird dann ein die Vordergrundfarbe enthaltender Kode hinzugefügt.
  • Die dritte zu kodierende Farbebene, in Fig. 6D gezeigt, kann wiederum nicht beim Niveau der Blöcke 32x32 in Übereinstimmung gebracht werden und wird so in vier 16x16 Blöcke unterteilt. Der erste 16x16 Block 16(1) ist konstantfarbig und kann so angepaßt werden. Jedoch kann der zweite 16x16Block 16(2) nicht mit einem Muster in der Bibliothek Niveau 16 in Übereinstimmung gebracht werden und wird so in vier 8x8 Blöcke unterteilt. Diese können mit Mustern in der Bibliothek Niveau 8 in Übereinstimmung gebracht werden. Die restlichen 16x16 Blöcke 16(3) und 16(4) können bei der Stufe Niveau 16 kodiert werden. Wiederum wird ein die Vordergrundfarbe bestimmender Kode hinzugefügt.
  • Die in Fig. 6E dargestellte zu betrachtende Farbebene ist nur von Hintergrundfarbe und kann nicht bei der 32x32 Block-Stufe in Übereinstimmung gebracht werden, da sie kein in der Bibliothek Niveau 32 enthaltenes Muster ist. So tritt erst nach Unterteilung des Blocks in 16x16-Blöcke eine Übereinstimmung auf. Damit wird ein das Niveau 2 und die entsprechenden Muster darstellender Kode hinzugefügt und zu dem Ordner weitergeleitet. Das schließt den Kodiervorgang ab.
  • Bei dem mit Bezug auf Fig. 6 und 7 dargestellten System braucht kein Kode eingefügt zu werden, der die Position eines bestimmten Blocks innerhalb des größten Segmentes definiert, da eine Zählung beim Kodieren jedes Blocks beibehalten wird. Die Niveaukodierungen in dieser bestimmten Ausführung sind absolut, können, wie vorher diskutiert aber auch solche sein, die entweder "geh mit Niveau um eins abwärts" oder "bleibe bei diesem Niveau" darstellen.

Claims (23)

1. Vorrichtung zum Komprimieren von Bilddaten, welche umfaßt: Mittel, die angeordnet sind, um ein Eingangssignal Daten repräsentierenden Digitalworten anzunehmen, wobei jedes Wort ein Pixel eines Bildes beschreibt; Mittel, die ausgelegt sind, die Bilddaten in Blöcke aufzutrennen, wobei jeder Datenblock eine Anordnung aus Pixeln darstellt; eine Bibliothek, welche Gruppen von Mustern enthält, wobei jede Gruppe sich auf eine jeweilige Blockgröße bezieht und jedes Muster aus einem Datenblock besteht, der ein Bildmerkmal darstellt und einem Identifizierungskode zugeordnet ist, welcher weniger Ziffern enthält, als es der seiner Gruppe zugeordneten Blockgröße entspricht; Vergleichsmittel zum Vergleichen des Inhalts jedes Datenblocks mit Mustern der relevanten Gruppe; und Mittel, die, wenn beim Vergleich eine Übereinstimmung gefunden wird, den Inhalt des Datenblocks in einem Ausgangssignal durch den dem übereinstimmenden Muster zugeordneten Identifizierungskode repräsentieren lassen, wodurch die Bilddaten komprimiert werden und, wenn keine Übereinstimmung gefunden wird, den Datenblock in Blöcke geringerer Größe aufteilen und die kleineren Blöcke an das Vergleichsmittel anlegen lassen.
2. Vorrichtung nach Anspruch 2 und die Mittel enthält, die angeordnet sind, die Größe der Datenblöcke zu überwachen, und, wenn ein Datenblock von vorbestimmter Minimalgröße überwacht ist, zu veranlassen, daß er in dem Ausgangssignal durch sich selbst dargestellt wird.
3. Vorrichtung nach Anspruch 1 oder 2, und bei der jeder Datenblock der Reihe nach mit jedem Muster in der relevanten Gruppe verglichen wird.
4. Vorrichtung nach Anspruch 1, 2 oder 3, und bei der die Bilddaten in Datenblöcke der gleichen Größe aufgeteilt werden.
5. Vorrichtung nach einem der vorangehenden Ansprüche, und bei der der Datenblock in Blöcke kleinerer Größe aufgeteilt wird, wobei die Blöcke der kleineren Größe von gleicher Größe sind.
6. Vorrichtung nach einem der vorangehenden Ansprüche, und bei der jeder Datenblock eine quadratische Anordnung von Pixeln darstellt.
7. Vorrichtung nach einem der vorangehenden Ansprüche, bei der Vergleich und Unterteilung so ausgelegt sind, daß sie in einer vorbestimmten Abfolge ausgeführt werden, und die Mittel enthält, die ausgelegt sind, um durch die Größe des Datenblocks die Position einer durch den Datenblock dargestellten Pixelanordnung zu bestimmen.
8. Vorrichtung nach einem der vorangehenden Ansprüche, und bei der der Identifizierungskode einem die Datenblockgröße identifizierenden Kode zugeordnet ist.
9. Vorrichtung nach Anspruch 8 und bei der der die Datenblockgröße identifizierende Kode ein relativer Kode ist.
10. Vorrichtung nach einem der vorangehenden Ansprüche, und bei der der Identifizierungskode unter Benutzung eines Huffman-Kodes kodiert ist.
11. Vorrichtung nach einem der vorangehenden Ansprüche, und mit Mitteln zum Auftrennen der Bilddaten in eine Vielzahl von Farbebenen.
12. Vorrichtung nach einem der vorangehenden Ansprüche, und bei der die Muster einer Gruppe sich von denen einer anderen Gruppe unterscheiden.
13. Vorrichtung nach einem der vorangehenden Ansprüche, und die einen zum Speichern des Ausgangssignals eingerichteten Speicher enthält.
14. Vorrichtung zum Wiederherstellen von Bilddaten, die unter Benutzung einer Vorrichtung nach einem der Ansprüche 1 bis 12 komprimiert sind und mit einer Bibliothek mit dem gleichen Inhalt wie die in der Vorrichtung zum Komprimieren benutzte Bibliothek.
15. Vorrichtung nach Anspruch 14 und die einen Speicher enthält, der zum Speichern wiederhergestellter Bilddaten ausgelegt ist.
16. Vorrichtung nach Anspruch 14 oder 15 und die Anzeigemittel enthält zur Sichtanzeige wiederhergestellter Bilddaten.
17. Vorrichtung nach Anspruch 16 und bei der ein anzuzeigendes Bild darstellende wiederhergestellte Bilddaten ausgelegt sind, insgesamt vor der Weitergabe an das Anzeigemittel in dem Speicher gehalten zu werden.
18. Vorrichtung nach Anspruch 17, und bei der wiederhergestellte Bilddaten, die einen dem anzuzeigenden Bild benachbarten Bereich darstellen, ausgelegt sind, in dem Speicher gehalten zu werden.
19. Anordnung zum Überwachen der Position eines Fahrzeugs oder Objekts einschließlich einer Vorrichtung nach einem der Ansprüche 14 bis 18, Mittel zum Ableiten von Information bezüglich der Bewegung des Fahrzeugs oder Objekts und Mittel zum Vergleichen abgeleiteter Informationen mit wiederhergestellten Bilddaten.
20. Verfahren zum Komprimieren von Bilddaten, welches umfaßt: daß die zu bearbeitenden Bilddaten in Blöcke vorbestimmter Größe aufgetrennt werden und der Inhalt jedes Datenblocks mit einer Bibliothek von für die Datenblockgröße relevanten Mustern verglichen wird; falls der Datenblock als ein solches Muster identifiziert wird, ihn entsprechend zu kodieren und, falls er nicht so identifiziert wird, den Datenblock in kleinere Datenblöcke zu unterteilen, von denen der Inhalt jedes einzelnen so mit für seine Größe relevanten Mustern verglichen wird, und falls nötig, der Vorgang der Unterteilung fortgesetzt wird, bis eine vorbestimmte minimale Datenblockgröße erreicht ist, woraufhin der Inhalt eines Datenblocks, der nicht so identifiziert werden kann, stattdessen direkt durch den Inhalt selbst identifiziert und kodiert wird.
21. Verfahren nach Anspruch 20 und bei dem die Position einer durch einen Datenblock dargestellten Anordnung von Pixeln zu anderen Anordnungen dadurch bestimmt wird, daß die Suche nach Übereinstimmung, das Unterteilen in einer vorbestimmten Reihenfolge und das Aufzeichnen der Datenblockgröße durchgeführt werden.
22. Verfahren nach Anspruch 20 oder 21 und bei dem, wenn ein Datenblock in eine Vielzahl von kleineren Datenblöcken unterteilt wird, die Unterteilung durch vier in vier Datenblöcke gleicher Größe geschieht.
23. Verfahren nach Anspruch 20, 21 oder 22 und bei dem der das Muster identifizierende Kode selbst kodiert wird.
DE8787303854T 1986-05-08 1987-04-30 Datenkompression. Expired - Fee Related DE3784762T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8611179A GB2190560B (en) 1986-05-08 1986-05-08 Data compression

Publications (2)

Publication Number Publication Date
DE3784762D1 DE3784762D1 (de) 1993-04-22
DE3784762T2 true DE3784762T2 (de) 1993-06-24

Family

ID=10597488

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8787303854T Expired - Fee Related DE3784762T2 (de) 1986-05-08 1987-04-30 Datenkompression.

Country Status (6)

Country Link
US (1) US4783841A (de)
EP (1) EP0245027B1 (de)
JP (1) JPS6326779A (de)
CA (1) CA1273111A (de)
DE (1) DE3784762T2 (de)
GB (1) GB2190560B (de)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62204955A (ja) * 1986-03-05 1987-09-09 Minolta Camera Co Ltd 文字画像発生回路
US4944023A (en) * 1987-05-19 1990-07-24 Ricoh Company, Ltd. Method of describing image information
JP2735197B2 (ja) * 1987-11-12 1998-04-02 株式会社東芝 図形入力装置
GB2213345B (en) * 1987-12-28 1992-01-15 Mitsubishi Electric Corp Image data filing system
JPH01195770A (ja) * 1988-01-29 1989-08-07 Yokogawa Hewlett Packard Ltd 画像データ圧縮伝送方法
US4985927A (en) * 1988-03-25 1991-01-15 Texas Instruments Incorporated Method of detecting and reviewing pattern defects
US5173949A (en) * 1988-08-29 1992-12-22 Raytheon Company Confirmed boundary pattern matching
US5168530A (en) * 1988-08-29 1992-12-01 Raytheon Company Confirmed boundary pattern matching
US5168529A (en) * 1988-08-29 1992-12-01 Rayethon Company Confirmed boundary pattern matching
US5052045A (en) * 1988-08-29 1991-09-24 Raytheon Company Confirmed boundary pattern matching
US5027422A (en) * 1988-08-29 1991-06-25 Raytheon Company Confirmed boundary pattern matching
US5532694A (en) * 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5172237A (en) * 1989-05-17 1992-12-15 Ricoh Corporation High quality color image compression system
US5031053A (en) * 1989-06-01 1991-07-09 At&T Bell Laboratories Efficient encoding/decoding in the decomposition and recomposition of a high resolution image utilizing pixel clusters
US6185324B1 (en) * 1989-07-12 2001-02-06 Hitachi, Ltd. Semiconductor failure analysis system
JP2941308B2 (ja) 1989-07-12 1999-08-25 株式会社日立製作所 検査システムおよび電子デバイスの製造方法
IL91220A (en) * 1989-08-04 1995-03-30 Ibm Israel Compression of information
US5153747A (en) * 1990-02-28 1992-10-06 Ricoh Company, Ltd. Color scanner with built-in color compression hardware to reduce scan time
US5144688A (en) * 1990-03-23 1992-09-01 Board Of Regents, The University Of Texas System Method and apparatus for visual pattern image coding
US5146324A (en) * 1990-07-31 1992-09-08 Ampex Corporation Data compression using a feedforward quantization estimator
US5229866A (en) * 1990-10-10 1993-07-20 Fuji Xerox Co., Ltd. Image processing system for reducing wait time before image data transfer to an image output section
TW223690B (de) * 1991-02-13 1994-05-11 Ampex
JPH0656546B2 (ja) * 1991-07-22 1994-07-27 インターナショナル・ビジネス・マシーンズ・コーポレイション イメージバッファ
US5434623A (en) * 1991-12-20 1995-07-18 Ampex Corporation Method and apparatus for image data compression using combined luminance/chrominance coding
US5416856A (en) * 1992-03-30 1995-05-16 The United States Of America As Represented By The Secretary Of The Navy Method of encoding a digital image using iterated image transformations to form an eventually contractive map
US5339108A (en) * 1992-04-09 1994-08-16 Ampex Corporation Ordering and formatting coded image data and reconstructing partial images from the data
US5640607A (en) * 1992-04-21 1997-06-17 Microsoft Corporation Method for sending bit mapped image by appending special code to text string and transmitting the text string separately from compressed residual image
US5321520A (en) * 1992-07-20 1994-06-14 Automated Medical Access Corporation Automated high definition/resolution image storage, retrieval and transmission system
JP2575595B2 (ja) * 1992-10-20 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション イメージフレームの圧縮方法及びデータ処理システム
US5300949A (en) * 1992-10-22 1994-04-05 International Business Machines Corporation Scalable digital video decompressor
US5426512A (en) * 1994-01-25 1995-06-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Image data compression having minimum perceptual error
US5671296A (en) * 1994-02-15 1997-09-23 Unisys Corporation Method of electronically processing a quantized image
JPH07288705A (ja) * 1994-04-18 1995-10-31 Canon Inc カラー画像処理装置および方法
FI97096C (fi) * 1994-09-13 1996-10-10 Nokia Mobile Phones Ltd Videonkompressiomenetelmä
JP3086396B2 (ja) * 1995-03-10 2000-09-11 シャープ株式会社 画像符号化装置及び画像復号装置
US6088039A (en) * 1996-01-04 2000-07-11 Compaq Computer Corporation Compression of grey scale images of text
US6088484A (en) * 1996-11-08 2000-07-11 Hughes Electronics Corporation Downloading of personalization layers for symbolically compressed objects
US6683993B1 (en) * 1996-11-08 2004-01-27 Hughes Electronics Corporation Encoding and decoding with super compression a via a priori generic objects
US6351565B1 (en) * 1997-02-07 2002-02-26 Matsushita Electric Industrial Co, Ltd. Data structure for image transmission, method of image transmission, image decoding apparatus, and data recording media
US6529635B1 (en) * 1997-12-15 2003-03-04 Intel Corporation Shape-based image compression/decompression using pattern matching
GB2362055A (en) * 2000-05-03 2001-11-07 Clearstream Tech Ltd Image compression using a codebook
IL136233A (en) * 2000-05-18 2009-05-04 Whitmaps Us Foundation Llc Method and system for retrieving map data via a communication network
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
GB2377572A (en) * 2001-07-11 2003-01-15 Paul Mutch Object coding an image for data compression
US7035458B1 (en) * 2002-02-01 2006-04-25 Pixion, Inc. Method and system for facilitating transmission of video data over a network
US7461372B2 (en) * 2002-10-11 2008-12-02 Hewlett-Packard Development Company, L.P. System for optimizing distribution of information employing a universal dictionary
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
EP2025095A2 (de) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Geräteverwaltung in einem netzwerk
EP2047420A4 (de) 2006-07-27 2009-11-18 Hewlett Packard Development Co Benutzererfahrungs- und abhängigkeitsverwaltung bei einer mobilen vorrichtung
GB2457262A (en) * 2008-02-08 2009-08-12 Linear Algebra Technologies Compression / decompression of data blocks, applicable to video reference frames
US10255315B2 (en) 2012-12-11 2019-04-09 Gurulogic Microsystems Oy Encoder, decoder and method
GB2509055B (en) * 2012-12-11 2016-03-23 Gurulogic Microsystems Oy Encoder and method
GB2551291B (en) 2013-05-23 2018-02-14 Linear Algebra Tech Limited Corner detection
US9910675B2 (en) 2013-08-08 2018-03-06 Linear Algebra Technologies Limited Apparatus, systems, and methods for low power computational imaging
US9727113B2 (en) 2013-08-08 2017-08-08 Linear Algebra Technologies Limited Low power computational imaging
US9146747B2 (en) 2013-08-08 2015-09-29 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing configurable computational imaging pipeline
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US9196017B2 (en) 2013-11-15 2015-11-24 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing noise from an image
US9270872B2 (en) 2013-11-26 2016-02-23 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing shading effect from image
US10460704B2 (en) 2016-04-01 2019-10-29 Movidius Limited Systems and methods for head-mounted display adapted to human visual mechanism
US10949947B2 (en) 2017-12-29 2021-03-16 Intel Corporation Foveated image rendering for head-mounted display devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3980809A (en) * 1973-07-16 1976-09-14 International Business Machines Corporation Encoding logic for reduced bandwidth pictorial data transmission system
US4281312A (en) * 1975-11-04 1981-07-28 Massachusetts Institute Of Technology System to effect digital encoding of an image
US4222076A (en) * 1978-09-15 1980-09-09 Bell Telephone Laboratories, Incorporated Progressive image transmission
US4261018A (en) * 1979-06-18 1981-04-07 Bell Telephone Laboratories, Incorporated Progressive image transmission
JPS57178578A (en) * 1981-04-27 1982-11-02 Toshiba Corp Pattern recognition system
US4499499A (en) * 1982-12-29 1985-02-12 International Business Machines Corporation Method for identification and compression of facsimile symbols in text processing systems
US4606069A (en) * 1983-06-10 1986-08-12 At&T Bell Laboratories Apparatus and method for compression of facsimile information by pattern matching
CA1254628A (en) * 1985-04-19 1989-05-23 Akira Iihoshi Device for displying travel path of motor vehicle

Also Published As

Publication number Publication date
GB8611179D0 (en) 1986-06-18
US4783841A (en) 1988-11-08
CA1273111A (en) 1990-08-21
EP0245027A2 (de) 1987-11-11
EP0245027A3 (en) 1989-10-18
GB2190560A (en) 1987-11-18
GB2190560B (en) 1990-06-20
EP0245027B1 (de) 1993-03-17
JPS6326779A (ja) 1988-02-04
DE3784762D1 (de) 1993-04-22

Similar Documents

Publication Publication Date Title
DE3784762T2 (de) Datenkompression.
DE3446898C2 (de)
DE3546337C2 (de)
EP0764310B1 (de) Verfahren zur generierung einer contone-map
DE3326725C2 (de) Vorrichtung zur Datenkomprimierung für zweidimensionale Zeichenbilder
DE1549833C2 (de) Verfahren zum Erkennen von Zeichen
DE69228983T2 (de) System zum Übertragen und/oder Speichern von Signalen von texturierten Bildern
DE4309105C2 (de) Verfahren zum Behandeln eines Teils eines verdichteten Bildes für eine Aufbereitung
DE3850627T2 (de) Vorrichtung zum Codieren von digitalen Videosignalen und eine entsprechende Decodiervorrichtung.
EP1074143B1 (de) Verfahren zur bilddatenkomprimierung für zwei-farben-bilder
DE4242796C2 (de) Hocheffizientes Kodierverfahren für mit Zweipegelbildern vermischte natürliche Bilder
DE69721941T2 (de) Gerät und Verfahren zum Extrahieren von Mustern
DE10120644B4 (de) Bilddatenverdichtungsverfahren und -vorrichtung, welche Bilddaten separat durch Modifizieren der Farbe verdichten
DE69926469T2 (de) Filterung von Bilddaten bei der Verarbeitung zusammengesetzter Dokumente
DE2803213A1 (de) Elektronische vorrichtung zur halbtonerzeugung fuer faksimile-reproduktionssysteme
DE60036288T2 (de) Dynamisches bildsuch-informations-aufzeichnungsgerät und dynamische bildsuchvorrichtung
DE69607529T2 (de) Kodierung von videofarbbildern
DE19623318C2 (de) Teilpixelcodierungs- und Decodierungsverfahren
EP0795841A2 (de) Verfahren zur Bildung einer Bild-Tranformationsmatrix
DE3241673C2 (de) Verfahren zum Verdichten von Daten Zwei-wertiger Bilddarstellungen
DE69512824T2 (de) Kompressions- und Dekompressionsverfahren für mehrdimensionale mehrwertige Farbbilder
DE69219647T2 (de) Verfahren und Vorrichtung zum Einfärben einer Bildfläche
DE10205546B4 (de) Verfahren zur Datenkomprimierung von Bildmaskendaten
DE68908254T2 (de) Fernsehübertragungssystem mit differentieller Kodierung von Transformationskoeffizienten.
DE69128515T2 (de) Farbauszugsvorrichtung für Bilder

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee