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
Links
- 238000013144 data compression Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims description 20
- 238000007906 compression Methods 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims 1
- 239000003086 colorant Substances 0.000 description 17
- 238000009826 distribution Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/4115—Bandwidth 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:
- 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.
- Diese besteht ähnlich der Bibliothek Niveau 32 nur aus Konstantfarben und Gitterlinien. Es ergeben sich insgesamt (1+16+16=) 33 Muster.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1986
- 1986-05-08 GB GB8611179A patent/GB2190560B/en not_active Expired - Fee Related
-
1987
- 1987-04-30 EP EP87303854A patent/EP0245027B1/de not_active Expired - Lifetime
- 1987-04-30 DE DE8787303854T patent/DE3784762T2/de not_active Expired - Fee Related
- 1987-05-04 US US07/045,493 patent/US4783841A/en not_active Expired - Fee Related
- 1987-05-07 CA CA000536594A patent/CA1273111A/en not_active Expired - Fee Related
- 1987-05-08 JP JP62112251A patent/JPS6326779A/ja active Pending
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 |