DE3786412T2 - Verfahren und Vorrichtung zur digitalen Signalkodierung durch Quantisierung. - Google Patents
Verfahren und Vorrichtung zur digitalen Signalkodierung durch Quantisierung.Info
- Publication number
- DE3786412T2 DE3786412T2 DE87104960T DE3786412T DE3786412T2 DE 3786412 T2 DE3786412 T2 DE 3786412T2 DE 87104960 T DE87104960 T DE 87104960T DE 3786412 T DE3786412 T DE 3786412T DE 3786412 T2 DE3786412 T2 DE 3786412T2
- Authority
- DE
- Germany
- Prior art keywords
- coordinates
- dimensional space
- values
- block
- coded
- 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
- 238000000034 method Methods 0.000 title claims description 28
- 238000013139 quantization Methods 0.000 title claims description 26
- 239000013598 vector Substances 0.000 claims description 52
- 238000013507 mapping Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000009825 accumulation Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/008—Vector quantisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren und ein Gerät zur digitalen Signalcodierung durch Vektorquantisierung. Vorzugsweise, aber nicht ausschließlich, werden das Verfahren und das Gerät zur Reduktion der Redundanz in Bildsignalübertragungs- und/oder Speichersystemen benutzt.
- Aus IEEE TRANSACTIONS ON INFORMATION THEORY, Band IT-15, Nr. 6, November 1969, S. 658-664; T. BIALLY: "Space-Filling Curves: Their Generation and Their Application to Bandwidth Reduction", ist es zur Redundanzreduktion bekannt, die Daten der Punkte in einem n-dimensionalen Raum durch eine einzelne, zu einem eindimensionalen Raum gehörige Zahl darzustellen, und zwar durch Verwendung einer Raumfüllkurve. Die Konvertierung der n-dimensionalen Koordinaten in die eindimensionale Koordinate kann als "Kartographie" oder Abbildung bezeichnet werden. Nach dem Abbilden wird der repräsentative Wert eines Abtastwertes in dem eindimensionalen Raum als Abtastcodierwert benutzt, und dann kann die umgekehrte Abbildung zur Wiederherstellung des Signals im n-dimensionalen Raum durchgeführt werden. Eine Quantisierung der durch die Abbildung erhaltenen Werte ist nicht vorgesehen. Die Redundanzreduktion ist nicht vollständig und die inverse Abbildung ist eine komplexe Prozedur, während auf der anderen Seite auch die Vektorquantisierung komplexe Algorithmen erfordert.
- Vektorquantisierung ist eine Art der Quantisierung, bei der anstelle eines einzelnen Abtastwerts eine Anzahl von Abtastwerten, die in zweckmäßiger Weise aus dem zu codierenden Signal extrahiert wurden, herangezogen werden. Zum Beispiel wird im Fall von Bildsignalen die aus den von dem Signal durch orthogonale Abtastung erhaltenen Abtastwerte gebildete Matrix zeilenweise gelesen und die aus einer Anzahl zeitlich aufeinanderfolgender Zeilen entnommenen Abtastwerte (z. B. zwei oder vier Abtastwerte für jede von zwei aufeinanderfolgenden Zeilen, oder vier Abtastwerte für jede von vier aufeinanderfolgenden Zeilen) werden gemeinsam quantisiert. Blöcke von 2·2, 2·4 bzw. 4·4 Abtastwerten werden dadurch erhalten. Bedenkt man z. B. den 2·4 Fall, so ist, wenn die Abtastwerte durch 8 Bit dargestellt werden (entsprechend 256 Quantisierungsstufen pro Abtastwert), wie in der CCIR Empfehlung 601 festgelegt ist, die Anzahl der möglichen Konfigurationen 256&sup8;, die durch 64 Bit dargestellt werden müßten. Durch Vektorquantisierungstechniken wird die Anzahl der möglichen Konfigurationen reduziert und wird variabel, typisch zwischen 1024 und 128; haben die Konfigurationen gleiche Wahrscheinlichkeit, so sind für ihre Darstellung nur 10 und 7 Bit erforderlich.
- Vektorquantisierung ist ein potentiell besserer Algorithmus als die anderen, da er nicht nur eine erhebliche Redundanzreduktion gestattet, sondern auch die Ausnutztung von statistischer Abhängigkeit, und nicht nur der Korrelation, unter den zu codierenden Variablen (in diesem Fall die Bildpunkte) erlaubt; jedoch gibt seine Ausführung Anlaß zu zwei Problemen.
- Das erste Problem betrifft die Codebucherzeugung, d. h. die Identifizierung, wenn einmal ein besonderes Verzerrungs- Minimierungs-Kriterium definiert worden ist, der wahrscheinlichsten Werte der Gruppe von Variablen, nämlich die Identifizierung der Bereiche eines n-dimensionalen Raumes, in dem eine höhere Wertehäufigkeit existiert: in diesem besonderen Fall sind die die möglichen 256&sup8; quantisierten Signalkonfigurationen repräsentierenden 1024 oder 128 Konfigurationen (oder Codevektoren) zu erhalten.
- Das zweite Problem betrifft die Identifizierung des für die Darstellung des allgemeinen Blocks benutzten Vektors, wobei immer das Verzerrungs-Minimierungskriterium in Betracht gezogen wird.
- Eine bekannte Lösung des Codebucherzeugungsproblems ist von Y. Linde, A. Buzo und R. M. Gray in der Schrift mit dem Titel "An Algorithm for Vector Quantizer Design", IEEE Transactions on Communications, Band Com-28, Nr. 1, Januar 1980 beschrieben.
- Ein iterativer Algorithmus wird beschrieben, welcher, in der üblichsten Anwendung, in einem ersten Schritt den Schwerpunkt der Gruppe von Vektoren, die für eine Sequenz von Lernsignalen relevant sind, berechnet. Dieser Schwerpunkt wird dann mit einer skalaren Größe multipliziert, wodurch nicht optimierte repräsentative Punkte von zwei hypothetischen Klassen einer solchen Gruppe identifiziert werden. Durch Benutzen von diesen beiden repräsentativen Klassen wird diese Gruppe geteilt, wobei jeder der Vektoren einer der beiden Klassen zugeteilt wird. Als dritter Schritt wird der aktuelle Schwerpunkt von jeder der beiden erhaltenen Klassen berechnet. Die gleichen Operationen werden für die zwei neuen Schwerpunkte wiederholt und so weiter, bis die gewünschte Anzahl von repräsentativen Vektoren erhalten worden ist.
- Ist das Codebuch einmal erstellt, kann die aktuelle Codierung durch Vergleich jedes zu codierenden Vektors mit allen repräsentativen Vektoren und der nachfolgenden Auswahl des einen, welcher die Verzerrung minimiert, oder durch selektive Baumtechniken ausgeführt werden.
- Dieses bekannte Verfahren kann unabhängig davon, welches Verzerrungskriterium zu erfüllen ist, angewandt werden, jedoch ist:
- 1) das Codebucherzeugungsverfahren besonders ineffizient durch die große Anzahl von Operationen, die bei der Lernsequenz auszuführen sind, und es ist auch ziemlich kompliziert, da die Analyse der Gruppe in einem n-dimensionalen Raum ausgeführt wird;
- 2) die Codierphase, wenn die Vergleichstechnik ausgewählt wird, wegen der Notwendigkeit des durchzuführenden Vergleiches mit dem gesamten Codebuch sehr lang, und sie gestattet keine direkte Identifizierung des den zu codierenden Block repräsentierenden Vektors; im Fall der selektiven Baumtechniken ist die Anzahl der Vergleiche reduziert, aber es ist keine optimale Repräsentation sichergestellt.
- Im Fall, daß das angewendete Verzerrungskriterium das der Minimierung der euklidischen Verzerrung ist (also der mittlere quadratische Fehler), werden die vorgenannten Nachteile durch das Verfahren und das Gerät nach der Erfindung überwunden, die eine Codebucherzeugung ohne Rückgriff auf iterative Methoden erlauben, und zur auf eine weniger komplizierte Art, da die Analyse der Gruppe von Variablen in einem eindimensonalen Raum ausgeführt wird, und die außerdem eine direkte Identifizierung des den Block repräsentierenden Vektors erlauben.
- Die Begrenzung, die darin liegt, daß die Erfindung nur auf dieses besondere Verzerrungskriterium anwendbar ist, ist nicht besonders ernsthaft, da dieses Kriterium in der Signalverarbeitung das am allgemeinsten benutzte ist.
- Gemäß der Erfindung wird ein Verfahren zum Codieren eines Digitalsignals durch Vektorquantisierung geschaffen, wobei man das Signal in Blöcke unterteilt, die in Aufeinanderfolge zu codieren sind und von denen jeder eine gegebene Anzahl von Abtastwerten umfaßt, die gleichzeitig codiert werden, und jeder Block durch einen Vektor dargestellt wird, der einen Punkt in einem n-dimensionalen Raum identifiziert [n = Zahl der Abtastwerte in einem Block] und n Komponenten aufweist, deren Werte die Werte der einzelnen Abtastwerte wiedergeben, wobei man für jeden zu codierenden Block die Koordinaten des Punkts im n-dimensionalen Raum in die Koordinaten eines Punkts in einem ein-dimensionalen Raum gemäß einem Abbildungsschema umformt, das im ein-dimensionalen Raum die Nachbarschaftseigenschaften des n-dimensionalen Raums gut aufrechterhält; dieses Verfahren ist dadurch gekennzeichnet, daß man die so erhaltenden Komponenten mit den Werten der Koordinaten der Endpunkte einer Vielzahl aufeinanderfolgender Intervalle im ein-dimensionalen Raum zum Bestimmen des Intervalls, in das die Koordinate fällt, vergleicht, und jedem Intervall einen Index zuordnet, der den codierten Wert der in das Intervall fallenden Punkte bildet, und daß beim Decodieren ein solcher Index einen Vektor aus einem früher festgelegten Codebuch auswählt, der aus dem Mittelwert derjenigen Vektoren besteht, die in dieses Intervall fallen.
- Die Erfindung schafft auch ein Gerät zum Codieren eines digitalen Signals durch Vektorquantisierung, welches Signal in Blöcke unterteilt wird, die in Aufeinanderfolge zu codieren sind und von denen jeder eine gegebene Anzahl von Abtastwerten umfaßt, die gleichzeitig codiert werden, und durch einen Vektor dargestellt ist, der einen Punkt in einem n-dimensionalen Raum identifiziert [n = Zahl der Abtastwerte in einem Block] und n Komponenten aufweist, deren Werte die Werte der einzelnen Abtastwerte wiedergeben, und wobei die Vorrichtung aus einem Codierer und einem Decodierer besteht, von denen der Codierer eine das zu codierende Signal in Blöcke teilende und für jeden Block die Koordinaten eines repräsentativen Punkts im n-dimensionalen Raum berechnete Einrichtung umfaßt und der Decodierer eine den Block von Abtastwerten, ausgehend von einem Vektor, wieder aufbauenden und die Blöcke zu einem decodierten Signal kombinierende Einrichtung umfaßt; dieses Gerät ist dadurch gekennzeichnet, daß der Codierer weiterhin enthält:
- - eine erste logische Schaltung, die für jeden Bloch die Koordinaten eines Punkts berechnet, der in einem ein-dimensionalen Raum dem Punkt entspricht, der für den Block im n-dimensionalen Raum repräsentativ ist;
- - einen ersten Speicher, der die Werte der Koordinaten der Endpunkte einer Vielzahl von Intervallen, in die der ein-dimensionale Raum eingeteilt ist, sowie einen jedem Intervall zugeordneten Index speichert;
- - eine logische Vergleichsschaltung, die die eindimensionale Koordinate jedes zu codierenden Signalblocks empfängt, diese Koordinate mit den Koordinaten der Endpunkte der Intervalle zum Feststellen des Intervalls, in das die Koordinate fällt, vergleicht, und aus dem ersten Speicher den Wert des Indexes dieses Intervalls liest und diesen Index als codiertes Signal abgibt;
- und daß der Decodierer einen zweiten Speicher umfaßt, der beim Lesen durch diese Indizes adressiert ist und ein Codebuch speichert, das aus den Mittelwerten derjenigen Signale, die in jedes Intervall fallen, besteht.
- Durch die Erfindung werden die durch die Abbildung erhaltenen Werte quantisiert. Nach der Abbildung wird der Punkt in dem ein-dimensionalen Raum benutzt, um den repräsentativen Wert in dem n-dimensionalen Raum zu identifizieren, wobei dieser Wert in dem Codebucherzeugungsschritt festgelegt worden ist. Diese Operation ist eine einfache skalare Quantisierung und eliminiert jedes Erfordernis für eine inverse Abbildung. Außerdem gestattet die Festlegung des Codebuches in einem von der Codierung getrennten Schritt durch Benutzen des selben Abbildungsschemas, das in dem Codierungsschritt benutzt wird, eine einfache Anpassung des Codebuches an die Eingangssignalstatistik ohne die Notwendigkeit des Verwendens komplexer Algorithmen, wie sie bei der Vektorquantisierung benötigt werden.
- Die Erfindung wird nun mit Bezug auf die angefügten Zeichnungen erläutert, in welchen:
- Fig. n 1-4 die erfindungsgemäße Codebucherzeugung darstellende Schematas sind;
- Fig. 5 ein Blockschaltplan des Geräts gemäß der Erfindung ist;
- Fig. n 6-7 Flußbilder der Codebucherzeugung und der Codieroperationen sind;
- Fig. 8 ein Schaltplan einer praktischen Ausführungsform des Gerätes von Fig. 5 ist.
- Als erstes wird die Codebucherzeugung offenbart, wobei vorausgesetzt wird, daß die Erzeugung von einer Lernbildsequenz ausgeht.
- Die Codebucherzeugung findet in mehreren Schritten statt: als erstes wird ein Abbildungsschema von dem n-dimensionalen Raum auf einen ein-dimensionalen Raum berechnet und ein Histogramm der Verteilung der repräsentativen Punkte in einem solchen eindimensionalen Raum bestimmt; als nächstes wird ein Quantisierungsgesetz in einem solchen ein-dimensionalen Raum bestimmt, wobei das Gesetz den mittleren quadratischen Fehler minimiert; als letztes wird das aktuelle Codebuch berechnet.
- Für die Histogrammbestimmung wird eine Sequenz von Lernbildern I1, I2... In der orthogonalen Abtastung unterzogen, um eine Abtastwerte-Matrix zu erhalten, und die aus einer bestimmten Anzahl aufeinanderfolgender Zeilen herausgezogenen Abtastwerte werden gemeinsam quantisiert.
- Speziell werden s Abtastwerte einer jeden von r aufeinanderfolgenden Zeilen gemeinsam quantisiert, damit erhält man einen Block von n = r·s Abtastwerten. Als Beispiel wird, wo nötig, auf Blöcke von 4 Abtastwerten pro Zeile und auf 4 zeitlich aufeinanderfolgende Zeilen Bezug genommen, so daß ein 16-dimensionaler Raum betrachtet wird. Das Abtasten wird durch ein Gerät STB ausgeführt, welches für jeden Block die Werte der den Block bildenden Bildelemente berechnet und diese Werte gemäß einem festgelegten Gesetz in sequentieller Weise anordnet. Ein Punkt, und hiermit ein Vektor, wird in einem n-dimensionalen Raum mit einem solchen Block verbunden. Nimmt man nun der Einfachheit halber an, daß der Wert eines jeden Bildelements nur der Helligkeitswert ist und daß solch ein Wert durch 8 Bit codiert wird, kann jede Koordinate dieses Punktes in dem n-dimensionalen Raum einen Wert 0 . . . 255 haben.
- Es ist außerdem festzuhalten, daß die benutzten Werte sowohl die aktuellen Werte, als auch Werte, von denen ein mittlerer Helligkeitswert des Blockes selbst abgezogen wurde, sein können, und zwar auf jede beliebige bekannte Art codiert, z. B. in PCM durch 4 Bit.
- Für den für jeden Block durch STB gebildeten Vektor wird eine Abbildung von dem n-dimensionalen Raum auf einen ein-dimensionalen Raum erzeugt (Block MH). Diese Abbildung muß eine einfache Berechnung und damit Schaltungsausführung, und eine gute Erhaltung der Nachbarschaftseigenschaften darstellen, z. B. muß sie so sein, daß Punkte, welche in einem Bereich des n-dimensionalen Raumes nah beieinander sind, dies auch in dem ein-dimensionalen Raum sind. Diese Eigenschaft ist wesentlich, weil die Abbildung von n auf eine Dimension eine ungeordnete Verteilung der Punkte eines selben Bereiches über den gesamten ein-dimensionalen Raum bewirken könnte und damit die Codierung ineffizient machen würde. Diese Anforderungen werden durch die sog. "Raumfüllkurven", auch als Peano-Kurven bekannt, erfüllt. Aus diesen Kurven wurde die Hilbert-Kurve ausgewählt, welche auf binärer Basis gut geeignet ist, um durch in binärer Logik arbeitende elektronische Schaltungen ausgeführt zu werden. Durch Zuordnung jedes Punktes des n-dimensionalen Raumes zu einem Kurvenpunkt kann der letztere durch eine einzige Koordinate dargestellt werden, die den Abstand vom Kurvenursprung repräsentiert.
- Die Abbildung besteht dann für jeden Punkt des n-dimensionalen Raumes darin, den Wert der Koordinate des korrespondierenden Punktes auf der Kurve festzulegen, welche durch geeignete Vertauschungsoperationen bei den einzelnen Bits der die Koordinaten des Punktes in dem n-dimensionalen Raum repräsentierenden Worte erhalten wird.
- Vorteilhaft ist die für den Übergang von n zu 1 Dimension ausgeführte Abbildung im Vergleich zu der durch A.R. Butz in der Schrift mit dem Titel "Alternative algorithm for Hilbert's space filling curve", IEEE Transactions on Computers, Band C-20, 1971, Seiten 424-426 beschriebenen Abbildung, die die Abbildung von einer auf n Dimensionen zeigt, eine inverse Abbildung.
- Der auf die Abbildung folgende Schritt ist die Erzeugung eines Histogramms der Koordinaten der Punkte auf der Hilbert-Kurve.
- Wenn m die Anzahl der jede Koordinate in einem n-dimensionalen Raum codierenden Bits ist, wird jeder Wert der krummlinigen Koordinate durch man Bits repräsentiert, und eine Histogrammerzeugung würde die Anwendung eines 2m·n-Positionen-Speichers erfordern. Bedenkt man, daß typische Werte für m und n die vorher genannten sind (8 Bit, 16 Dimensionen), so ist offensichtlich, daß die für solch einen Speicher (2¹²&sup8; Positionen) geforderte Größe in der Praxis nicht verwendet werden kann und daher die Anzahl der Werte, die die krummlinige Koordinate annehmen kann, reduziert werden sollte.
- Für diese Reduktion, die durch Block LIM angegeben ist, wird eine gleichförmige Quantisierung durchgeführt, z. B. wird die Hilbert-Kurve in gleich lange Bereiche aufgeteilt.
- Wenn L die Anzahl der für die Codierung benutzten Intervalle ist, ergibt die in LIM durchgeführte Quantisierung z. B. eine Aufteilung der Kurve in K = 10·L Intervalle. Z. B. kann mit den oben genannten Werten für n und m die Anzahl L den Wert 1024 haben und kann K etwa 10000 sein; der Histogrammspeicher kann z. B. 2¹³ bis 2¹&sup4; Positionen haben.
- Die gleichförmige Quantisierung kann durch ein einfaches Abschneiden der durch MH gelieferten Worte erfolgen, z. B. durch Verwenden nur der x = log K obersten Bits dieser Worte (Symbol kennzeichnet das obere Ganze der in ihm eingeschlossenen Anzahl). Ein effizienteres Verfahren kann das Berechnen des Maximalwertes HM der durch MH gelieferten Koordinaten und durch Normalisieren des Wertes Hi der allgemeinen Koordinate durch die Beziehung
- i = K·Hi/HM
- sein, wobei K die Histogrammdimension ist. Wenn dieses Verfahren ausgewählt wird, sollten die während des Abbildens von n auf 1 Dimension erhaltenen Werte gespeichert werden, um Wiederholungen der beschriebenen Operationen zu verhindern.
- Nach der Informationsreduktion auf akzeptable Werte wird das aktuelle Histogramm (Block HIST) erzeugt; zu diesem Zweck erhöht der für jeden Bildblock relevante normalisierte oder begrenzte Wert den Inhalt des das Histogramm erzeugenden Speichers um eine Einheit, und zwar an der Adresse, die dem Wert selbst entspricht. Dieses Histogramm besteht dann aus einer Serie von Spitzen, die durch Zonen getrennt sind, die Quantisierungsintervallen entsprechen, in welche keine oder sehr wenige Punkte fallen: diese Spitzen entsprechen dominanten Konfigurationen im Lernbild, und ihre Anzahl bezeichnet eine minimal mögliche Anzahl von Codierungsstufen für die Bilder.
- Dann ist der zweite Schritt auszuführen: Das Histogramm wird gemäß dem Gesetz, welches den mittleren quadratischen Fehler minimiert (Block QG), quantisiert. Die Quantisierung entspricht dem Finden der die verschiedenen Spitzen begrenzenden Abszisse und, wenn die Anzahl der Spitzen nicht gleich der gewünschten Intervallanzahl ist, dem Partitionieren der Spitzen, die die Ursache für den höchsten mittleren quadratischen Fehler darstellen (wenn die Spitzenanzahl geringer als die Intervallanzahl ist), oder dem Umgruppieren der Spitzen mit dem kleinsten quadratischen Fehler im gegenteiligen Fall, bis die gewünschte Intervallanzahl der Intervalle erhalten wird.
- Die in QG ausgeführte Operation ergibt das Speichern der Endpunkte der Quantisierungsintervalle (Block QL) und der die Intervalle repräsentierenden Werte. Die letzteren Werte werden nicht benutzt, wie später ausgeführt werden wird.
- Um diese Werte zu erhalten, können verschiedene Algorithmen verwendet werden: Beispiele sind die direkte Auflösung des Systems der die Fehlerminimierungsbedingungen beschreibenden nichtlinearen Gleichungen, wie sie von J. Max in der Schrift mit dem Titel "Quantizing for minimum distortion", IRE Transactions on Information Theory, Band IT-9, März 1960, Seiten 7-12 beschrieben werden, oder die iterative Berechnung der Schwerpunkte der, ausgehend von einer willkürlichen Partition, erhaltenen aufeinanderfolgenden Partitionen.
- Die gegenüber der in MH verwendeten Abbildung inverse Abbildung könnte für die Werte der die Intervalle repräsentierenden Punkte verwendet werden, um das Codebuch aus den gespeicherten Werten zu erhalten. Zieht man jedoch in Betracht, daß nur ein Teil des die krummlinige Koordinate repräsentierenden Wortes erhältlich ist, und nicht das gesamte Wort, kann diese Operation inkorrekt werden. Deshalb werden Codebuchvektoren vorzugsweise direkt durch eine Mittelwertsberechnung berechnet, die lediglich die Kenntnis der Intervallendpunkte erfordert; das ist es, warum die Speicherung der die einzelnen Intervalle repräsentierenden Punkte in QL unnötig ist.
- Für die direkte Berechnung (dritter Schritt) werden die von LIM gelieferten Werte der Koordinaten der einzelnen Blöcke der Lernbilder mit den Werten der Koordinaten der Endpunkte der verschiedenen aus der Histogrammquantisierung in QG erhaltenen Intervalle verglichen (Block Qi); diese Werte werden in QL gelesen. Auf diese Weise wird das Intervall ermittelt, in welches ein gegebener Bildblock fällt. Das Intervall ist durch seine Seriennummer oder den Index i gekennzeichnet. Durch Benutzen eines solchen Index und des entsprechenden, von STB ausgehenden n-Komponentenvektors werden eine Matrix mit so vielen Zeilen, wie den das Codebuch bildenden Vektoren,tund 50 vielen Spalten, wie den Komponenten des von STB ausgehenden Vektors, und ein Vektor mit so vielen Komponenten, wie den Matrixzeilen, gebildet (Block LUT). Die Matrix und Vektorinhalte werden am Beginn der Codebucherzeugungsoperationen auf 0 zurückgesetzt. Für jeden von STB ausgehenden Vektor werden, wenn Qi LUT mit der Nummer i des Intervalls, in welches das durch MH und LIM bestimmte Vektorbild fällt, beliefert, die Werte der Vektorkomponenten zu den Inhalten der Zeile i der Matrix addiert, während der Inhalt der Position i des Vektors um eine Einheit erhöht wird. Sobald die Lernbildblöcke entleert sind, wird der Inhalt jeder Matrixzeile durch den Inhalt der entsprechenden Vektorposition dividiert, und damit erhält man die Mittelwerte der Vektoren, deren eindimensionale Bilder in jedes Quantisierungsintervall fallen. Die berechneten Mittelwerte bilden das Codebuch, welches dann in einer geeigneten Weise zu einem Speicher des Decoders (CBR) übertragen wird; z. B. wenn das Codierungssystem Teil eines Bildübertragungssystems ist, kann das Codebuch durch Benutzen der Systemübertragungsstrecke zu CBR übertragen werden.
- Sobald das Codebuch erhalten ist und in den Decoder übertragen ist, ist es möglich, mit der Codierung jedes Bildes durch Benutzen des Abbildungsschemas von einem n-dimensionalen auf einen ein-dimensionalen Raum durch die Hilbert-Kurve fortzufahren: die Codierung besteht aus der Festlegung des Index i des Intervalls, in welches die eindimensionale Koordinate des Blocks fällt, wobei solch ein Index das zu übertragende oder zu speichernde codierte Signal bildet. Während der Decodierung wirkt der Wert i als eine Adresse, um den korrespondierenden Vektor in dem Codebuch zu lesen.
- Das Codier-Decodierschema ist in Fig. 5 gezeigt, wo die selben Symbole wie in den vorhergehenden Fig. n benutzt werden. Die Blöcke STB, MH, LIM, Qi, QL bilden den Codierer COD; der Decodierer DEC besteht aus dem Block CBR und aus einem weiteren Block BTS, welcher nachfolgend beschrieben wird.
- In diesem Schema unterteilt die Einheit STB die Abtastsignale eines Bildes in IC, welches zu codieren ist, in Blöcke, und ordnet sie neu an. Eine erste logische Schaltung MH berechnet für jeden Block den Koordinatenwert auf der Hilbert-Kurve und liefert den Wert zu einer Schaltung LIM, die die für den homonymen Block von Fig. 1 beschriebenen Operationen ausführt. Eine logische Vergleichsschaltung Qi empfängt die von LIM gelieferten Werte und vergleicht diese mit den in einem ersten Speicher QL gespeicherten Endpunkten der Quantisierungsintervalle, wobei der zu ermittelnde Index i dem aktuellen Bildblock entspricht. Betrachtet man den Fall eines Bildübertragungssystems, wird der Index i zu einem zweiten Speicher CBR übertragen, wo er das Lesen des in der i-ten Zeile enthaltenen Vektors hervorruft. Der Vektor wird zu einem Gerät BTS geliefert, welches mit diesem Vektor die inversen Operationen zu STB ausführt und einen rekonstruierten Bildblock ID liefert. Es ist festzustellen, daß dann, wenn STB den Mittelwert des Blocks von dem aktuellen Wert der Bildabtastwerte abgezogen hat, STB den Decoder, und insbesondere CBR, mit der relevanten Information beliefern soll, wie durch die Verbindung zwischen STB und CBR schematisiert ist.
- Was für die Helligkeitscodierung gesagt wurde, kann auch für die Farbartcodierung gelten, z. B. unter U- und V-Form.
- Die verstehend beschriebene Codebucherzeugung und Codierungsoperationen sind auch in den Ablaufplänen der Fig. n 6, 7 zusammengefaßt; diese Ablaufpläne erfordern keine weiteren Ausführungen.
- Es ist festzuhalten, daß eine auf einer Vektorquantisierung basierende Codierung dann, wenn die Quelle nicht stationär ist, ernsthaft beeinträchtigt ist: experimentelle Tests haben gezeigt, daß die Codierleistung sehr unterschiedlich ist abhängig davon, ob die zu codierenden Vektoren zu der Lernsequenz gehören oder nicht.
- Um diesen Nachteil zu überwinden, sollten die Operationen, die ausgeführt werden, um das Quantisierungsgesetz und das Codebuch (HIST, QG, LUT) zu erhalten und das letztere zu dem Decoder zu übertragen, auch während der aktuellen Codierphase ausgeführt werden und nicht nur während der Lernphase. Mit anderen Worten, der Codierer ist anpassungsfähig zu machen und soll auch Blöcke HIST, QG und LUT beeinhalten, welche nur während der Codebuchberechnungsschritte aktiv sind.
- Um den Codierer anpassungsfähig zu machen, sind gemäß der Natur des zu codierenden Signals verschiedene Lösungen möglich. Wenn z. B. einzelne Bilder zu codieren sind, können statistische Merkmale als von Bild zu Bild verschieden angenommen werden, und daher sollte jedem Bild sein Codebuch zugeordnet werden. Wenn im Gegenteil eine Bildsequenz zu codieren ist, kann das Codebuch in festen Zeitabschnitten erneuert werden oder es kann kontinuierlich berechnet werden und die Aktualisierung kann im Decoder ausgeführt werden, wenn die Unterschiede zum vorhergehenden Codebuch signifikant werden.
- Fig. 8 zeigt eine geeignete praktische Ausführungsform des Gerätes nach der Erfindung, welches einen Mikrocomputer, im gesamten durch CPU bezeichnet, benutzt, der die Operationen der Einheiten der Blöcke DEC, COD in Fig. 5 ausführt.
- In dieser Fig. liefert eine Bildsignalquelle VS eines beliebigen bekannten Typs, z. B. eine Fernsehkamera oder eine Lichtpunkt-Kamera, analoge Videosignale an eine Eingangs-Schnittstellenschaltung IIV, die im wesentlichen aus einem Analog/Digital-Umsetzer und Elementen, die im Signalfluß nur die wichtigen Informationssignale auswählen, besteht. Die Quelle VS und die Eingangs-Schnittstellen-Schaltung IIV werden durch CPU über eine Steuer-Schnittstellenschaltung IC getrieben, welche die Bewegungen des ausgewählten Bildes und/oder Analysegeräte in VS steuert, und die die für die Bildübertragung zu IIV, die Konvertierung in die digitale Form usw. erforderlichen Taktsignale liefert.
- Digitale Informationssignale werden in einem Videorahmen-Speicher SU auf einem Wege, der von der Bildart und den benutzen Komponenten abhängt, gespeichert; der Speicher ist nicht Teil der Erfindung und weitere Details sind nicht erforderlich.
- Der Speicher SU kann an den von CPU gelieferten Adressen gelesen oder beschrieben werden, und CPU muß zu jeder Zeit den zu codierenden Block auswählen; SU ist auch an eine Ausgangs- Schnittstellenschaltung IUV angeschlossen, welche auch von IC gesteuert wird, die entgegengesetze Funktionen zu denen von IIV ausführt und die Anzeige von codierten oder decodierten Bildern auf einem Monitor MO gestattet.
- CPU ist mit einem Massenspeicher oder einer Datenbasis BD verbunden, worin die codierten Bilder und das codierende Codebuch oder die codierenden Codebücher gespeichert sind. Eine Schnittstellenschaltung IL schließt CPU für die Bildübertragung an ein analoges Wiedergabegerät an eine Übertragungsleitung an. Eine Tastatur TA gestattet die Auswahl der verschiedenen CPU-Betriebsarten; insbesondere sind die folgenden Operationen für das Codieren von Interesse:
- - Codebuchberechnung;
- - Bildcodierung;
- - Codebuchübertragung;
- - Bildübertragung;
- - Lesen/Schreiben des Codebuchs in der Datenbasis;
- - Lesen/Schreiben eines Bildes in der Datenbasis.
- Die letzten beiden Operationen sind üblicherweise im Falle der Anwendung der Erfindung für ein Bildspeichersystem erforderlich. Weitere Operationen betreffen z. B. Bildwiedergabemodalitäten sowie die Modalitäten, durch die der den Benutzern angebotene Service ausgeführt wird.
- Es ist klar, daß eine Vielzahl von Funktionen, gemäß den Erfordernissen des geforderten Service, miteinander kombiniert werden sollte. Wenn die Erfindung z. B. für ein Übertragungssystem verwendet wird, wird wenigstens die Bildcodierung und die Übertragung erforderlich sein, unter der Annahme, daß ein Standardcodebuch benutzt wird, welches keine Erneuerung während der Codierung erfordert.
- Die Fig. zeigt auch einen konventionellen Drucker ST, der es dem Bediener gestattet, mit Informationen über die Geräteoperation oder dergleichen beliefert zu werden.
- Es ist klar, daß anstelle der Erzeugung eines Histogramms der Koordinaten in dem ein-dimensionalen Raum eine Liste von Koordinatenwerten erzeugt werden kann und die Akkumulierungszonen ausgewählt werden können; die Codevektoren werden wie zuvor auf der Basis dieser Bereiche identifiziert. Diese Operation ist langsamer als die Histogrammerzeugung, jedoch vermeidet sie die der letzteren aufgrund des Abschneidens in LIM innewohnende Schwierigkeit, eine reduzierte Anzahl von sehr hohen Spitzen zu erhalten, was die Ursache dafür darstellt, daß die Codevektoren in Quantität und Qualität kaum befriedigend sind.
- Als weitere Variante werden nach der Erzeugung der geordneten Liste von Koordinaten der Punkte der Lernbildgruppe in dem eindimensionalen Raum, diese Punkte in L-Gruppen (L ist die Anzahl dem für die Codierung benutzten Intervalle) aufgeteilt; die Koordinaten der Endpunkte eines jeden Intervalls sind die Mittelwerte der Koordinaten des letzten (ersten) Punktes einer Gruppe und des ersten (letzten) Punktes der nachfolgenden (vorhergehenden) Gruppe.
Claims (1)
1. Verfahren zum Codieren eines Digitalsignals durch
Vektorquantisierung, wobei man das Signal in Blöcke unterteilt, die in
Aufeinanderfolge zu codieren sind und von denen jeder eine
gegebene Anzahl von Abtastwerten umfaßt, die gleichzeitig
codiert werden, und jeder Block durch einen Vektor dargestellt
wird, der einen Punkt in einem n-dimensionalen Raum
identifiziert [n = Zahl der Abtastwerte in einem Block] und n
Komponenten aufweist, deren Werte die Werte der einzelnen Abtastwerte
wiedergeben, wobei man für jeden zu codierenden Block die
Koordinaten des Punkts im n-dimensionalen Raum in die
Koordinaten eines Punkts in einem ein-dimensionalen Raum gemäß einem
Abbildungsschema umformt, das im ein-dimensionalen Raum die
Nachbarschaftseigenschaften des n-dimensionalen Raums gut
aufrechterhält, dadurch gekennzeichnet, daß man die so erhaltenden
Komponenten mit den Werten der Koordinaten der Endpunkte einer
Vielzahl aufeinanderfolgender Intervalle im ein-dimensionalen
Raum zum Bestimmen des Intervalls, in das die Koordinate fällt,
vergleicht, und jedem Intervall einen Index zuordnet, der den
codierten Wert der in das Intervall fallenden Punkte bildet, und
daß beim Decodieren ein solcher Index einen Vektor aus einem
früher festgelegten Codebuch auswählt, der aus dem Mittelwert
derjenigen Vektoren besteht, die in dieses Intervall fallen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß man
das Abbildungsschema des n-dimensionalen Raums zum
eindimensionalen Raum durch Verwendung einer Raumfüllerkurve,
speziell der Hilbert'schen Kurve, bewirkt, wobei eine solche
Kurve den ein-dimensionalen Raum bildet.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß
die zu codierenden Signale Bildsignale sind und die Werte der
Punktkoordinaten Helligkeitswerte, und zwar tatsächliche oder im
Hinblick auf einen Blockmittelwert normalisierte Helligkeitswerte,
und Farbart-Komponentenwerte sind.
4. Verfahren nach einem der Ansprüche I bis 3, dadurch
gekennzeichnet, daß man zum Bestimmen eines solchen Codebuchs die zu
einer Lernfolge gehörenden digitalen Signale in Blöcke von n
Abtastwerten aufspaltet; daß man für jeden Block die Koordinaten
des repräsentativen Punkts im n-dimensionalen Raum in die
Koordinaten eines Punkts im ein-dimensionalen Raum entsprechend
dem die Nachbarschaftseigenschaften aufrechterhaltenden
Abbildungsschema umformt; daß man die Koordinaten der Punkte im
ein-dimensionalen Raum ordnet; daß man die Gruppe der
geordneten Koordinaten entsprechend einem Gesetz, das den mittleren
quadratischen Fehler minimalisiert, zur Bestimmung der Vielzahl
Intervallen quantisiert; daß man die Werte der Koordinaten
der Endpunkte der Intervalle speichert; und daß man die
Mittelwerte der Koordinaten derjenigen Punkte im n-dimensionalen
Raum, deren Abbildung in jedes Intervall fällt, berechnet.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß man die
Koordinaten im ein-dimensionalen Raum dadurch ordnet, daß man
ein Histogramm der Koordinaten unter Begrenzung der Anzahl der
Werte, die eine Koordinate annehmen kann, erzeugt.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß man
die Begrenzung durch ein Abschneiden der die Koordinaten
wiedergebenden Wörter bewirkt.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß man
die Begrenzung dadurch bewirkt, daß man den Wert der
allgemeinen Koordinate in Bezug zum Maximalwert, den eine
Koordinate annehmen kann, entsprechend der Beziehung
i = K·Hi/HM
normalisiert, wobei Hi = der normalisierte Wert der allgemeinen
Koordinate Hi, HM = der Maximalwert, K = die Zahl der für das
Histogramm zu verwendenden Intervalle.
8. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß man
die Koordinaten dadurch ordnet, daß man eine Liste der
Koordinatenwerte erstellt und die Akkumulierungspunkte dieser
Koordinaten identifiziert.
9. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß man
die Koordinaten dadurch ordnet, daß man eine Liste der
Koordinatenwerte erstellt und die aus der Lernfolge extrahierten Punkte
in eine Anzahl von Gruppen gleich der vorgegebenen Zahl von
Intervallen so verteilt, daß alle Intervalle die selbe Zahl von
Punkten enthalten, wobei die Koordinaten der Endpunkte eines
Intervalls die Mittelwerte der Koordinaten des letzten/ersten
Punkts einer Gruppe und des ersten/letzten Punkts der
nachfolgenden/vorhergehenden Gruppe sind.
10. Verfahren nach einem der Ansprüche 4 bis 9, dadurch
gekennzeichnet, daß das Codebuch während des Codierens periodisch
fortgeschrieben wird.
11. Verfahren nach einem der Ansprüche 4 bis 9, dadurch
gekennzeichnet, daß das Codebuch bei jedem Codiervorgang berechnet
wird.
Vorrichtung zum Codieren eines Digitalsignals durch
Vektorquantisierung, wobei das Signal in Blöcke unterteilt wird, die in
Aufeinanderfolge zu codieren sind und von denen jeder eine
gegebene Anzahl von Abtastwerten umfaßt, die gleichzeitig codiert
werden, und durch einen Vektor dargestellt ist, der einen Punkt
in einem n-dimensionalen Raum identifiziert [n = Zahl der
Abtastwerte in einem Block] und n Komponenten aufweist, deren
Werte die Werte der einzelnen Abtastwerte wiedergeben, und
wobei die Vorrichtung aus einem Codierer (COD) und einem
Decodierer (DEC) besteht, von denen der Codierer eine das zu
codierende Signal in Blöcke teilende und für jeden Block die
Koordinaten eines repräsentativen Punkts im n-dimensionalen
Raum berechnete Einrichtung (STB) umfaßt und der Decodierer
eine den Block von Abtastwerten, ausgehend von einem Vektor,
wieder aufbauenden und die Blöcke zu einem decodierten Signal
kombinierende Einrichtung (BTS) umfaßt, dadurch gekennzeichnet,
daß der Codierer (COD) weiterhin enthält:
- eine erste logische Schaltung (MH), die für jeden Block die
Koordinaten eines Punkts berechnet, der in einem
ein-dimensionalen Raum dem Punkt entspricht, der für den Block im
n-dimensionalen Raum repräsentativ ist;
- einen ersten Speicher (QL), der die Werte der Koordinaten der
Endpunkte einer Vielzahl von Intervallen, in die der
eindimensionale Raum eingeteilt ist, sowie einen jedem Intervall
zugeordneten Index speichert;
- eine logische Vergleichsschaltung (Qi), die die eindimensionale
Koordinate jedes zu codierenden Signalblocks empfängt, diese
Koordinate mit den Koordinaten der Endpunkte der Intervalle
zum Feststellen des Intervalls, in das die Koordinate fällt,
vergleicht, und aus dem ersten Speicher (QL) den Wert des
Indexes dieses Intervalls liest und diesen Index als codiertes
Signal abgibt;
und daß der Decodierer (DEC) einen zweiten Speicher (CBR)
umfaßt, der beim Lesen durch diese Indizes adressiert ist und
ein Codebuch speichert, das aus den Mittelwerten derjenigen
Signale, die in jedes Intervall fallen, besteht.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß der
Codierer (COD) eine Einrichtung zum Berechnen und/oder
Fortschreiben des Codebuchs enthält, die besteht aus:
- einer Einrichtung (LIM, HIST) zum Ordnen der Werte der
ein-dimensionalen Koordinaten, die von der ersten logischen
Schaltung (MM) geliefert werden;
- einer Vorrichtung (QG) zum Quantisieren der geordneten
Koordinatengruppe, wobei diese Vorrichtung die Werte der
Endpunkte der Intervalle des ein-dimensionalen Raums bestimmt
und sie zum ersten Speicher (QL) liefert;
- einer Mittelwert-Berechnungsvorrichtung (LTU), die für jeden
Signalblock die Werte der Koordinaten des diesen Block im
n-dimensionalen Raum repräsentierenden Punkts von der
Einrichtung (STB) zum Unterteilen des Signals in Blöcke
empfängt, die Indizes von der logischen Vergleichsschaltung
(Qi) empfängt und für jedes Intervall den Mittelwert der
Koordinaten dieser Punkte im n-dimensionalen Raum, deren
Abbildung ein eindimensionalen Raum in dieses Intervall fällt,
berechnet, wobei die Mittelwerte in den Speicher (CBR) des
Decodierers überführt werden, wenn die Erstellung oder das
Fortschreiben des Codebuchs gefordert wird.
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die
Einrichtung zum Ordnen der Koordinatenwerte eine Schaltung (LIM)
umfaßt, die die Zahl der Werte, die die Koordinaten annehmen
können, begrenzt, sowie einen dritten Speicher (HIST) umfaßt, der
eine Zahl von Stellen gleich der begrenzten Zahl von Werten
aufweist und an jeder Stelle die Nummer der Blöcke speichert, die
den bestimmten Koordinatenwert haben
15. Vorrichtung nach einem der Ansprüche 12 bis 14, dadurch
gekennzeichnet, daß der Codierer und der Decodierer durch einen
Mikroprozessor (CPU) gebildet sind, dem ein Großspeicher (BD) zum
Speichern des Codebuchs und/oder der codierten Signale zugeordnet
ist und dem eine Tastatur zugeordnet ist, die die Wahl einer oder
mehrerer von verschiedenen Betriebsweisen ermöglicht, nämlich die
Wahl: der Codebucherzeugung; der Codierung eines Signals; des
Lesens-Schreibens des Codebuchs und/oder des codierten Signals im
Großspeicher; und des Sendens des Codebuchs und/oder des
codierten Signals zu einer entfernten Vorrichtung.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT67273/86A IT1190565B (it) | 1986-04-07 | 1986-04-07 | Procedimento e dispositivo di codifica di segnali numerizati mediante quantizzazione vettoriale |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3786412D1 DE3786412D1 (de) | 1993-08-12 |
DE3786412T2 true DE3786412T2 (de) | 1993-11-11 |
Family
ID=11301042
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE198787104960T Pending DE240948T1 (de) | 1986-04-07 | 1987-04-03 | Verfahren und vorrichtung zur digitalen signalkodierung durch quantisierung. |
DE87104960T Expired - Fee Related DE3786412T2 (de) | 1986-04-07 | 1987-04-03 | Verfahren und Vorrichtung zur digitalen Signalkodierung durch Quantisierung. |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE198787104960T Pending DE240948T1 (de) | 1986-04-07 | 1987-04-03 | Verfahren und vorrichtung zur digitalen signalkodierung durch quantisierung. |
Country Status (7)
Country | Link |
---|---|
US (1) | US4807298A (de) |
EP (1) | EP0240948B1 (de) |
JP (1) | JPH0681104B2 (de) |
CA (1) | CA1278867C (de) |
DE (2) | DE240948T1 (de) |
DK (1) | DK169287A (de) |
IT (1) | IT1190565B (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL83549A (en) * | 1987-08-16 | 1992-08-18 | Yossi Matias | Video scrambling apparatus and method based on space filling curves |
GB2210236B (en) * | 1987-09-24 | 1991-12-18 | Newbridge Networks Corp | Speech processing system |
US5010574A (en) * | 1989-06-13 | 1991-04-23 | At&T Bell Laboratories | Vector quantizer search arrangement |
JPH0638274B2 (ja) * | 1989-07-31 | 1994-05-18 | 工業技術院長 | 画像認識装置および画像認識方法 |
FR2657695B1 (fr) * | 1990-01-30 | 1992-04-17 | Elf Aquitaine | Procede de pointe de surfaces dans un volume 3d. |
US5061924B1 (en) * | 1991-01-25 | 1996-04-30 | American Telephone & Telegraph | Efficient vector codebook |
TW256010B (de) * | 1991-04-18 | 1995-09-01 | Ampex | |
AU1996292A (en) * | 1991-05-17 | 1992-12-30 | Analytic Sciences Corporation, The | Continuous-tone image compression |
DE69223850T2 (de) * | 1991-05-30 | 1998-05-14 | Canon Information Syst Res | Kompressionssteigerung bei graphischen Systemen |
US5267332A (en) * | 1991-06-19 | 1993-11-30 | Technibuild Inc. | Image recognition system |
US5315670A (en) * | 1991-11-12 | 1994-05-24 | General Electric Company | Digital data compression system including zerotree coefficient 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 |
DE69334349D1 (de) * | 1992-09-01 | 2011-04-21 | Apple Inc | Verbesserte Vektorquatisierung |
US5596659A (en) * | 1992-09-01 | 1997-01-21 | Apple Computer, Inc. | Preprocessing and postprocessing for vector quantization |
US5349545A (en) * | 1992-11-24 | 1994-09-20 | Intel Corporation | Arithmetic logic unit dequantization |
US5468069A (en) * | 1993-08-03 | 1995-11-21 | University Of So. California | Single chip design for fast image compression |
US5440652A (en) * | 1993-09-10 | 1995-08-08 | Athena Design Systems, Inc. | Method and apparatus for preparing color separations based on n-way color relationships |
US5592227A (en) * | 1994-09-15 | 1997-01-07 | Vcom, Inc. | Method and apparatus for compressing a digital signal using vector quantization |
US6738058B1 (en) * | 1997-04-30 | 2004-05-18 | Ati Technologies, Inc. | Method and apparatus for three dimensional graphics processing |
CA2388095A1 (en) * | 1999-10-22 | 2001-05-03 | Activesky, Inc. | An object oriented video system |
US7453936B2 (en) * | 2001-11-09 | 2008-11-18 | Sony Corporation | Transmitting apparatus and method, receiving apparatus and method, program and recording medium, and transmitting/receiving system |
CN110489605B (zh) * | 2019-07-31 | 2023-06-06 | 云南师范大学 | 一种数据偏斜分布下的Hilbert编码和解码方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4541012A (en) * | 1982-01-04 | 1985-09-10 | Compression Labs, Inc. | Video bandwidth reduction system employing interframe block differencing and transform domain coding |
US4670851A (en) * | 1984-01-09 | 1987-06-02 | Mitsubishi Denki Kabushiki Kaisha | Vector quantizer |
-
1986
- 1986-04-07 IT IT67273/86A patent/IT1190565B/it active
-
1987
- 1987-04-01 JP JP62077651A patent/JPH0681104B2/ja not_active Expired - Lifetime
- 1987-04-01 US US07/034,025 patent/US4807298A/en not_active Expired - Fee Related
- 1987-04-02 DK DK169287A patent/DK169287A/da not_active IP Right Cessation
- 1987-04-03 DE DE198787104960T patent/DE240948T1/de active Pending
- 1987-04-03 EP EP87104960A patent/EP0240948B1/de not_active Expired - Lifetime
- 1987-04-03 DE DE87104960T patent/DE3786412T2/de not_active Expired - Fee Related
- 1987-04-06 CA CA000533883A patent/CA1278867C/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DK169287D0 (da) | 1987-04-02 |
JPS62239728A (ja) | 1987-10-20 |
EP0240948A3 (en) | 1990-05-02 |
JPH0681104B2 (ja) | 1994-10-12 |
DE240948T1 (de) | 1990-09-06 |
EP0240948B1 (de) | 1993-07-07 |
IT1190565B (it) | 1988-02-16 |
IT8667273A0 (it) | 1986-04-07 |
CA1278867C (en) | 1991-01-08 |
US4807298A (en) | 1989-02-21 |
IT8667273A1 (it) | 1987-10-07 |
DE3786412D1 (de) | 1993-08-12 |
EP0240948A2 (de) | 1987-10-14 |
DK169287A (da) | 1987-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3786412T2 (de) | Verfahren und Vorrichtung zur digitalen Signalkodierung durch Quantisierung. | |
DE69328855T2 (de) | Datenkomprimierung/ -dekomprimierung mit Cache-Speichern | |
DE68918605T2 (de) | Verfahren zur Speicherung und Übertragung von Bilddaten als Bilddatengruppe, passend zur Bildsuche. | |
DE2264090C3 (de) | Datenverdichtung | |
DE3850627T2 (de) | Vorrichtung zum Codieren von digitalen Videosignalen und eine entsprechende Decodiervorrichtung. | |
DE3636675C2 (de) | ||
DE3005775C2 (de) | Kodierverfahren für ein Farbbild | |
DE2907990C2 (de) | ||
DE69313925T2 (de) | Verfahren und Einrichtung zur Steuerung einer Anzeige | |
DE69516734T2 (de) | Bildverarbeitungsverfahren und -gerät | |
DE68927082T2 (de) | Verfahren und Vorrichtung für die Bilddatenkomprimierung | |
DE69315001T2 (de) | Fehlerdiffusionsprozessor und Verfahren zur Umwandlung eines Bildes mit Grauskalaelementen in ein Bild mit Binärwertelementen | |
DE2124754C3 (de) | Verfahren und Vorrichtung zur differentiellen Pulscodemodulation | |
EP0197527B1 (de) | Verfahren zur digitalen Nachrichtenübertragung | |
DE2803213A1 (de) | Elektronische vorrichtung zur halbtonerzeugung fuer faksimile-reproduktionssysteme | |
DE3129026A1 (de) | "videosignal-verarbeitungseinrichtung" | |
EP0276753A2 (de) | Verfahren und Vorrichtung zur digitalen Nachrichtenübertragung und/oder -aufzeichnung und -wiedergabe | |
DE68926676T2 (de) | Verfahren und gerät zur statistischen kodierung von digitalen daten | |
DE19534730A1 (de) | Verfahren zum Codieren und Decodieren von Daten | |
DE69607529T2 (de) | Kodierung von videofarbbildern | |
WO1987005178A1 (en) | Method for digital data transmission | |
DE68918590T2 (de) | Gerät zur dekodierung von mit variabler länge kodierten daten. | |
DE3850029T2 (de) | Verfahren und Vorrichtung zur Verarbeitung von Bildelementsignalen. | |
DE69319506T2 (de) | Verfahren und Gerät zum Kodieren und Dekodieren digitaler Bilddaten | |
DE69524999T2 (de) | Verfahren zum Komprimieren und Dekomprimieren von Dateien |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |