[go: up one dir, main page]

DE3883701T2 - Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung. - Google Patents

Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung.

Info

Publication number
DE3883701T2
DE3883701T2 DE88117612T DE3883701T DE3883701T2 DE 3883701 T2 DE3883701 T2 DE 3883701T2 DE 88117612 T DE88117612 T DE 88117612T DE 3883701 T DE3883701 T DE 3883701T DE 3883701 T2 DE3883701 T2 DE 3883701T2
Authority
DE
Germany
Prior art keywords
vector
distortion
candidate vectors
calculating
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE88117612T
Other languages
English (en)
Other versions
DE3883701D1 (de
Inventor
Takehiro C O Nippon Tel Moriya
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE3883701D1 publication Critical patent/DE3883701D1/de
Publication of DE3883701T2 publication Critical patent/DE3883701T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren zum Codieren einer Sprach- oder Bildsignalfolge mit einer geringen Informationsmenge und insbesondere ein Multiplexvektorquantisierungsverfahren und eine Vorrichtung für dieses, die gegenüber Übertragungskanalfehlern robust sind.
  • Ein Vektorquantisierungsverfahren ist als effektives Verfahren zum Codieren einer Signalfolge mit einer geringen Informationsmenge bekannt. Bei diesem Verfahren werden diskrete Werte von zu codierenden aufeinanderfolgenden Signalproben für jeweils eine bestimmte Anzahl gruppiert und als ein Vektor für jede Gruppe definiert, wobei jeder Vektor mit einem Codebuch, das Rekonstruktionsvektoren enthält, verglichen wird und der Index eines Rekonstruktionsvektors, bei dem die Quantisierungsverzerrung minimal ist, als Ausgangscode verwendet wird.
  • Fig. 1 zeigt die allgemeine Anordnung für das herkömmliche Vektorquantisierungsverfahren. Die Bezugszahlen 21 und 23 bezeichnen Codebücher, 22 einen Codierer und 24 einen Decodierer. Symbole, die hier verwendet werden, haben die folgende Bedeutung:
  • u: Eingangsvektor
  • u(i): i-tes Element des Eingangsvektors u, wobei i = 0, 1, ..., k-1
  • k: Vektordimension
  • r: Codeübertragungsrate [Bits/Probe]
  • b: Übertragungscode (kr Bits)
  • Z: Codebuch
  • zl: l-ter Rekonstruktionsvektor, der im Codebuch Z enthalten ist
  • z(i, l): i-tes Element des Rekonstruktionsvektors zl
  • M: Anzahl von Rekonstruktionsvektoren zl, die im Codebuch z enthalten sind, wobei M = 2kr und l = 0, 1, ..., M-1
  • d&sub1;: Quantisierungsverzerrung
  • Die Codebücher 21 und 23 enthalten jeweils M = 2kr Rekonstruktionsvektoren 21, wobei l = 0, 1, ..., M-1. Auf der Sendeseite benutzt der Codierer 22 für jeden Eingangsvektor u das Codebuch 21, berechnet die Quantisierungsverzerrung d&sub1;, die durch das Quadrat des Abstands zwischen jeweils den M = 2kr Rekonstruktionsvektoren zl und dem Eingangsvektor u gegeben ist, bestimmt den Rekonstruktionsvektor, der zur kleinsten Verzerrung dl führt und sendet seinen Index l als den kr-Bit langen Sendecode b. Die Verzerrung dl wird unter Verwendung der folgenden Gleichung (1) errechnet:
  • Auf der Empfangsseite benutzt der Decodierer 24 das Codebuch 23 auf der Basis des empfangenen Sendecodes b (d.h. des Index des Rekonstruktionsvektors) und wählt den Rekonstruktionsvektor, der dem empfangenen Sendecode b entspricht, und gibt ihn aus.
  • Dieses Quantisierungsverfahren hat im wesentlichen den Fehler, daß es einen Vektor rekonstruiert, der von dem Eingangsvektor völlig verschieden ist, wenn Kanalfehler auftreten, da der Index und der Wert des Rekonstruktionsvektors keinerlei Zusammenhang im Hinblick auf den Abstand aufweisen.
  • Um dies zu vermeiden, ist es im Stand der Technik nötig, die Codefehlerrate durch Benutzung eines fehlerkorrigierenden Codes herabzusetzen, indem also dem Sendecode Redundanz gegeben wird. In diesem Fall kann die Codefehlerrate beispielsweise dadurch deutlich gesenkt werden, daß man zusätzliche redundante Bits verwendet, deren Menge 50 % der Menge der betroffenen Informationsbits ausmacht. Dieses Verfahren erfordert jedoch immer dieselbe Menge redundanter Bits, auch bei einem fehlerfreien Kanal. Das bedeutet, daß, wo die Gesamtmenge der zu übertragenden Information fixiert ist, die Menge der zur Verfügung stehenden Informationsbits nur 2/3 der zu sendenden Gesamtinformationsmenge ist, selbst wenn ein fehlerfreier Kanal verwendet wird, und die Quantisierungsverzerrung wird natürlich zunehmen. In der Praxis ändert sich die Codefehlerrate mit der Zeit, und es ist schwierig, das Kanalcodeschema nach Maßgabe der variierenden Fehlerrate zu modifizieren, so daß es unvermeidlich ist, die Leistungsfähigkeit entweder für einen fehlerfreien Kanal oder für einen fehlerhaften Kanal zu opfern. Demzufolge ist der Einsatz von fehlerkorrigierenden Codes nicht immer wirkungsvoll zur Verringerung der Quantisierungsverzerrung in Fällen, wo die zu sendende Informationsmenge fixiert ist. Außerdem muß für die Abstandserrechnung (d.h. die Errechnung der Quantisierungsverzerrung dl) bei der Vektorquantifizierung mit dem herkömmlichen, in Fig. 1 gezeigten Codierer 22, das Codebuch 21 eine Speicherkapazität zur Speicherung der H = 2kr Rekonstruktionsvektoren zl aufweisen, und zusätzlich muß die Verzerrung dl für jeden der M Rekonstruktionsvektoren errechnet werden. Daher leidet der Stand der Technik daran, daß der Rechenumfang und die Speicherkapazität des Codebuchs je nach einer Exponentialfunktion der Informationsmenge kr pro Vektor zunehmen.
  • Das Dokument ICASSP'86 PROCEEDINGS, 7. - 11. April 1986, Seiten 3095 - 3097 offenbart einen Vektorquantisierer und ein Vektorquantisierungsverfahren, das sich von dem oben erläuterten Prinzip dadurch unterscheidet, daß die Quantisierung in mehreren Stufen erfolgt, wobei ein Beispiel mit zwei Stufen in dem Dokument offenbart ist. Bei diesem Mehrstufenquantisierer verwendet jede Stufe ihr eigenes Codebuch. Die erste Stufe quantisiert einen Eingangsvektor und liefert eine quantisierte Ausgabe entsprechend einem Index in einem ihm zugeordneten ersten Codebuch. Der Differenzvektor zwischen dem Eingangsvektor und der Ausgabe der ersten Stufe wird dann von einer zweiten Stufe weiter quantisiert, die eine zweite quantisierte Ausgabe entsprechend einem Index in dem der zweiten Stufe zugeordneten zweiten Codebuch liefert. Der Reproduktionsvektor ist die Summe der zwei quantisierten Ausgaben. Die beiden Indexe der beiden Stufen werden zur Übertragung oder Speicherung verwendet. Die diesem Mehrstufenquantisierungsverfahren anhaftenden Probleme sind im wesentlichen die gleichen, wie sie oben im Hinblick auf Fig. 1 erläutert wurden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung ist es, ein Vektorquantisierungsverfahren und eine Vorrichtung dafür zu schaffen, bei dem das decodierte Signal nicht ernsthaft verzerrt wird, selbst wenn ein Codefehler bei der Codierung einer Sprach- oder Bildsignalfolge durch Kompression ihrer Informationsfolge auftritt, und bei dem der Rechenumfang und/oder die Speicherkapazität eines für die Codierung erforderlichen Speichers beide gering sind.
  • Diese Aufgabe wird mit einem Multiplexvektorquantisierer bzw. einem Multiplexvektorquantisierungsverfahren gelöst, wie sie beansprucht werden.
  • Bei einem Codierverfahren, bei dem eine Eingangssignalfolge in Gruppen mit jeweils einer bestimmten Anzahl von Proben bzw. Abtastwerten aufgeteilt wird und jede Gruppe von einem Vektor als der Einheit für die Quantisierung dargestellt wird, ist gemäß der vorliegenden Erfindung eine Vielzahl von Codebuchkanälen vorgesehen, und für jeden Eingangsvektor wird ein Satz von Kandidatvektoren, jeder von einem anderen der Codebücher in den jeweiligen Kanälen, ausgewählt so, daß sich die kleinste Verzerrung zwischen dem Eingangsvektor und dem gemittelten Vektor dieser Kandidatvektoren ergibt, und dann werden die Indexcodes der jeweiligen Kandidatvektoren gemultiplext und als ein Sendecode ausgegeben.
  • Durch Quantisierung jedes einzelnen Eingangsvektors mit einer Vielzahl von Indexcodes unter Einsatz einer Vielzahl von Codebüchern und Übertragen der gemultiplexten Indexcodes, wie oben erwähnt, kann eine Zunahme der Quantisierungsverzerrung aufgrund eines Codefehlers klein gehalten werden, obwohl die Verzerrung für einen fehlerfreien Kanal ein wenig größer als bei Verwendung der herkömmlichen Vektorquantisierung ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm, das einen Codierer auf der Sendeseite und einen Decodierer auf der Empfangsseite in einem herkömmlichen Vektorquantisierungssystem zeigt, welches ein Codebuch verwendet;
  • Fig. 2 ist ein Blockdiagramm, das den Vektorquantisierer der vorliegenden Erfindung und einen Decodierer dafür zeigt;
  • Fig. 3 ist ein Blockdiagramm, das den in Fig. 2 gezeigten Vektorquantisierer der vorliegenden Erfindung im einzelnen darstellt;
  • Fig. 4 ist ein Blockdiagramm, das eine Anordnung zur Durchführung der Berechnung eines quadratischen Abstands bei dem in Fig. 3 gezeigten Vektorquantisierer der vorliegenden Erfindung darstellt;
  • Fig. 5 ist ein Blockdiagramm, das ein anderes Beispiel der Anordnung zur Berechnung des quadratischen Abstands bei dem in Fig. 3 gezeigten Ausführungsbeispiel darstellt;
  • Fig. 6 ist ein Blockdiagramm, das eine Anordnung zur Durchführung der Berechnung eines gewichteten quadratischen Abstands bei dem in Fig. 3 gezeigten Ausführungsbeispiel darstellt;
  • Fig. 7 ist ein Flußdiagramm, das eine Lernfolge zur Erzeugung zweier Codebücher zeigt, die bei dem Vektorquantisierer der vorliegenden Erfindung eingesetzt werden;
  • Fig. 8 ist eine graphische Darstellung, die eine Verbesserung des Codebuchs durch Iteration der Lernfolge in der Folge des Flußdiagramms von Fig. 7 zeigt;
  • Fig. 9A und 9B sind Diagramme zum Vergleich von durch einen Codefehler beeinträchtigten Bereichen bei dem herkömmlichen Vektorquantisierungsverfahren und dem Vektorquantisierungsverfahren gemäß der vorliegenden Erfindung;
  • Fig. 10 ist eine graphische Darstellung, die den Vergleich zwischen dem Vektorquantisierungsverfahren der vorliegenden Erfindung und dem herkömmlichen Vektorquantisierungsverfahren im Hinblick auf das Signalrauschverhältnis über der Codefehlerrate zeigt;
  • Fig. 11 ist eine graphische Darstellung, die die Wirkung des Vektorquantisierungsverfahrens der vorliegenden Erfindung im Vergleich zu der des herkömmlichen Verfahrens zeigt;
  • Fig. 12 ist ein Blockdiagramm, das ein Übertragungssystem für den Fall der Anwendung des Vektorquantisierungsverfahrens der vorliegenden Erfindung auf die gewichtete Vektorquantisierung einer Restwellenform im Frequenzbereich darstellt;
  • Fig. 13 ist eine graphische Darstellung, die das Signalrauschverhältnis für einen Codefehler in einem in Fig. 12 gezeigten Positionssystem im Vergleich zum Signalrauschverhältnis im Fall der Verwendung des herkömmlichen Vektorquantisierungsverfahrens darstellt; und
  • Fig. 14 ist eine graphische Darstellung, die Verzerrungen des Spektrums durch Codefehler im Fall des Einsatzes der vorliegenden Erfindung auf die Quantisierung eines Linearprädiktionsparameters in Fig. 12 im Vergleich zu Verzerrungen des Spektrums im Fall des Einsatzes des herkömmlichen Vektorquantisierungsverfahrens darstellt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Fig. 2 zeigt in Blockform die allgemeine Anordnung eines Übertragungssystems, das den Vektorquantisierer gemäß einem Ausführungsbeispiel der vorliegenden Erfindung einsetzt. Die Bezugszahlen 11, 12 und 15, 16 bezeichnen Codebücher, 13 einen Codierer, 14 einen Multiplexer, 17 einen Decodierer und 18 einen Vektorverknüpfer. Dieses Ausführungsbeispiel zeigt den Fall, wo Codebücher in zwei Kanälen vorgesehen sind, nämlich die Codebücher 11 und 15 in einem X-Kanal und die Codebücher 12 und 16 in einem Y-Kanal. Die in der folgenden Beschreibung verwendeten Symbole sind wie folgt definiert:
  • u: Eingangsvektor
  • k: Vektordimension, d.h. die Anzahl von Proben, die den Eingangsvektor bilden,
  • r: Übertragungsrate (Bits/Probe)
  • b: Sendecode (kr Bits)
  • X, Y: Codebücher
  • x(i, j): i-tes Element eines Kandidatvektors xj von dem Codebuch X
  • y(i, m): i-tes Element eines Kandidatvektors Ym von dem Codebuch Y
  • u(i): i-tes Element des Eingangsvektors u, d.h. ein i-ter Proben- bzw. Abtastwert
  • N: Anzahl der Kandidatvektoren (= 2kr/2), die in jedem der Codebücher X und Y enthalten sind
  • i: 0, 1, ... , k-1
  • j: 0, 1, ..., N-1
  • m: 0, 1, ..., N-1
  • Bei diesem Ausführungsbeispiel haben die Codebücher 11 und 12 je 2kr/2 Kandidatvektoren, und die Codebücher 15 und 16 auf der Empfangsseite enthalten ebenfalls 2kr/2 Kandidatvektoren. Die Codebücher 11, 12 und 15, 16 der jeweiligen Kanäle werden jeweils dadurch geschaffen, daß man Kandidatausgaben in einem Lernlauf durch Verwendung von Lernproben bestimmt, die statistisch identisch mit Eingaben sind, die quantisiert werden sollen. Dies wird später beschrieben. Alternativ können von Lernproben extrahierte Vektoren als Kandidatausgabevektoren verwendet werden.
  • Bei dem Vektorquantisierer auf der Sendeseite 100 benutzt der Codierer 30 bei jedem Anlegen eines Eingangsvektors u die beiden Codebücher 11 und 12 und führt für jedes von ihnen eine Vektorquantisierung unter Verwendung der halben Informationsmenge (k r Bits), die dem quantisierten Sendecode b zugewiesen ist, aus. Das heißt, die Anzahl von Bits jedes quantisierten Indexcodes bx und by der jeweiligen Kanäle ist durch k r/2 repräsentiert. Der Multiplexer 14 multiplext die quantisierten Indexcodes bx und by der jeweiligen Kanäle in den Vektorquantisierungscode b = bxby, der durch k r Bits repräsentiert wird und an die Empfangsseite 200 übertragen wird. An der Empfangsseite 200 benutzt der Decodierer 17 die Codebücher 15 und 16 auf der Basis der Indexcodes bx und by der jeweiligen Kanäle, die in dem Sendecode b enthalten sind, und gewinnt Kandidatvektoren x und y der jeweiligen Kanäle. Der Vektorverknüpfer 18 ermittelt ein arithmetisches Mittel der Ausgabevektoren x und y und liefert dies als einen eigentlichen Rekonstruktionsvektor.
  • Fig. 3 zeigt ein spezielles Betriebsbeispiel der Anordnung des Vektorquantisierers 100 der vorliegenden Erfindung. Jedes Feld des X-Kanalcodebuchs 11 enthält einen Kandidatvektor xj und seinen Vektorindex j (d.h. einen quantisierten Indexcode bx). In ähnlicher Weise enthält auch jedes Feld des Y-Kanalcodebuchs 12 einen Kandidatvektor ym und seinen Vektorindex in (d.h. einen quantisierten Indexcode by). Die Anzahl der Kandidatvektoren xj und ym der Codebücher 11 und 12 der jeweiligen Kanäle beträgt jeweils 2kr/2, wie oben im Hinblick auf Fig. 2 erwähnt. Folglich setzen sich die Vektorindizes j und m (die quantisierten Indexcodes bx und by für einen Übertragungskanal) jeweils aus kr/2 Bits zusammen. In Fig. 3 sind die Vektorindizes j und m der Einfachheit halber jeweils durch vier Bits dargestellt.
  • Funktionell kann der Encoder 13 aufgeteilt werden in einen Rechenabschnitt 131 zur Berechnung eines Durchschnittskandidatvektors, einen Rechenabschnitt 132 zur Berechnung eines quadratischen Abstands und einen Abschnitt 133 zur Bestimmung eines minimalen Abstands.
  • Der Durchschnittskandidatvektor-Rechenabschnitt 131 berechnet einen gemittelten oder Durchschnittsvektor vj,m
  • Vj,m = (xj + Ym)/2 ... (2)
  • für alle Kombinationen von Kandidatvektoren xj und ym der X- und Y-Kanalcodebücher 11 und 12 in sequentieller Folge. Der Rechenabschnitt 132 für den quadratischen Abstand errechnet für jede von allen Kombinationen (j,m) eine Verzerrung dj,m zwischen dem Eingangsvektor u und dem oben erwähnten Durchschnittsvektor vj,m, die durch einen quadratischen Abstand repräsentiert wird.
  • dj,m = u - vj,m ² = u - (xj + ym)/2 ² ... (3)
  • Da die Anzahl jeder dieser Vektorindizes j und m N beträgt, errechnet der Rechenabschnitt für den quadratischen Abstand eine Gesamtanzahl von N² Verzerrungswerten dj,m. Es ist offenbar, daß M = N², was die Anzahl von Rekonstruktionsvektoren ist, die für das Codebuch Z des in Fig. 1 gezeigten herkömmlichen Systems erforderlich ist.
  • Der Abschnitt 133 zur Ermittlung des minimalen Abstands empfängt nacheinander die einzelnen Kombinationen der Kandidatvektoren xj und ym der beiden Kanäle und die entsprechende Verzerrung dj,m zwischen dem Eingangsvektor u und dem Durchschnittsvektor vj,m und ermittelt eine Kombination von Kandidatvektoren xj, ym, die die Verzerrung dj,m minimiert. Auf der Grundlage der so ermittelten Kombination von Kandidatvektoren xj und ym entnimmt der Abschnitt 133 zur Bestimmung des minimalen Abstands den Codebüchern 11 und 12 die entsprechenden Vektorindizes j und m und gibt sie als quantisierte Indexcodes bx und by aus.
  • Die Vektorindizes j und m (d.h. die quantisierten Indexcodes bx und by) der jeweiligen Kanäle werden mittels des Multiplexers 14 auf Multiplexbasis zusammengesetzt, was den Originalvektorquantisierungscode b für den Eingangsvektor u ergibt. Fig. 3 zeigt, daß die Vektorindizes (d.h. die quantisierten Indexcodes) bx = 1111 und by = 0001 des X-Kanals und des Y-Kanals zu "11110001" gezeitmultiplext werden. Es ist auch möglich, ein Frequenzmultiplexen oder andere Diversity Techniken zur Übertragung der Indexcodes anstelle des Zeitmultiplex einzusetzen.
  • Wie aus dem obigen hervorgeht, werden gemäß dem Vektorquantisierer der vorliegenden Erfindung im Fall der Verwendung von zwei Codebüchern, wie dies in Fig. 3 beispielhaft dargestellt ist, die Kandidatvektoren xj und ym von den beiden Codebüchern X und Y für den Eingangsvektor u ausgewählt, und es werden diejenigen Vektorindizes j und m bestimmt, die die Verzerrung d zwischen dem Mittel (xj + ym)/2 der Kandidatvektoren und dem Eingangsvektor u minimieren, so daß die Wahrscheinlichkeit, daß der Abstand zwischen den ausgewählten Kandidatvektoren xj und ym kurz ist, sehr hoch ist. In dem Fall, wo diese quantisierten Indexcodes bx = j und by = m zusammengemultiplext und als der Vektorquantisierungscode b = jm übertragen werden, würde folglich selbst dann, wenn ein Einbitfehler in der ersten Hälfte (j) oder der zweiten Hälfte (m) des Codes b, der an der Empfangsseite in Fig. 2 empfangen wird, enthalten ist, einer ihrer decodierten Vektoren x und y richtig seien, wenn diese andere Hälfte keinen Bitfehler enthält, so daß der mittlere decodierte Ausgangsvektor (x + y)/2 sich nicht stark vom Eingangsvektor u an der Sendeseite unterscheiden würde. Anders ausgedrückt, die Verzerrung des decodierten Vektors durch einen Übertragungskanalfehler ist entsprechend verringert. Darüber hinaus braucht der Speicher bei dem Ausführungsbeispiel der vorliegenden Erfindung, das oben in Verbindung mit den Fig. 2 und 3 beschrieben wurde, nur eine Gesamtheit von 2N Kandidatvektoren zu speichern, da zwei Codebücher verwendet werden, von denen jedes N = 2kr/2 Kandidatvektoren speichert. Im Gegensatz dazu ist bei der bekannten Vektorquantisierung ein Speicher zu verwenden, der M = 2kr = N² Rekonstruktionsvektoren speichert.
  • Die Errechnung des quadratischen Abstands dj,m, die durch Gleichung (3) wiedergegeben ist, kann detaillierter durch folgende Gleichung (4) ausgedrückt werden. In der folgenden Beschreibung sind jedoch zur Abkürzung x/2 und y/2 durch x bzw. y ersetzt.
  • In Fig. 4 sind zusammen mit den Codebüchern 11 und 12 die Anordnungen des Rechenabschnitts 131 für den mittleren Kandidatvektor und der Rechenabschnitt 132 für den quadratischen Abstand in Fig. 3 für den Fall der Errechnung der Verzerrung dj,m unter Verwendung von Gleichung (4) dargestellt. Für den Eingangsvektor u, werden die Kandidatvektoren xj und ym aus dem X-Kanalcodebuch 11 bzw. dem Y-Kanalcodebuch 12 ausgelesen, eine Berechnung u(i) - x(i,j) - y(i,m) mittels eines Addierers 31 unter Verwendung des jeweiligen i-ten Elements u(i), x(i,j) und y(i,m) des Eingangsvektors und der Kandidatvektoren ausgeführt, und die addierte Ausgabe durch einen Quadratakkumulator 32 quadriert und akkumuliert. Diese beiden Additionen (Subtraktionen) und eine Quadratakkumulation, d.h. eine Gesamtzahl von drei Berechnungen, werden k Male für die entsprechenden Elemente i = 0 bis i = k-1 der Vektoren ausgeführt, wodurch man die Verzerrung dj,m für das Paar ausgewählter Kandidatvektoren xj und ym erhält. Die Anzahl von Kombinationen der Kandidatvektoren x und Ym ist N². In diesem Fall sind 3kN² Berechnungen zum Erhalt der Verzerrung dj,m für jede der Kombinationen und zur Bestimmung des Vektorindexpaars (j,m), das die kleinste Verzerrung dj,m liefert, erforderlich. Dieser Rechenumfang ist etwas größer als der beim herkömmlichen, in Fig. 1 gezeigten Vektorquantisierer erforderliche, bei dem eine Subtraktion und eine Quadratakkumulation in Gleichung (1) N² Male für die Vektorelemente i = 0 bis i = k-1 ausgeführt werden. Das heißt, das in Fig. 4 gezeigte Ausführungsbeispiel der Erfindung ist insofern ungünstig, als der erforderliche Rechenumfang größer ist als im Fall von Fig. 1, obwohl die erforderliche Gesamtspeicherkapazität der Codebücher 11 und 12 deutlich geringer ist.
  • Nachfolgend soll unter Bezugnahme auf Fig. 5 ein Ausführungsbeispiel beschrieben werden, das in diesem Punkt verbessert ist.
  • Die Gleichung (4) kann zur folgenden Gleichung (5) erweitert werden:
  • wobei
  • Der erste Term von Gleichung (5) hat nichts mit dem ausgewählten Kandidatvektorindexpaar (j, m) zu tun. Demzufolge besteht keine Notwendigkeit der Errechnung von u²(i) zur Bestimmung des Vektorindexpaars (j, m), das zur geringsten Verzerrung dj,m führt. Es ist also ausreichend, das Vektorindexpaar von (j, m) zu bestimmen, das die kleinste Verzerrung d'j,m ergibt, die durch folgende Gleichung (7) anstelle von Gleichung (5) definiert ist.
  • In Gleichung (7) steht der zweite Term F(j, m), wie durch Gleichung (6) definiert, nicht in Beziehung zum Eingangsvektor u und kann allein aus den von den Codebüchern X und Y gewählten Kandidatvektoren xj, ym errechnet werden. Daher kann der Rechenumfang für Gleichung (7) dadurch verringert werden, daß man in einem Speicher die Ergebnisse der Berechnung von F(j, m) in Gleichung (7) für alle Kombinationen von Vektorindizes (N² Kombinationen) vorab speichert und die entsprechendem berechneten Werte von F(j, m) ausliest, wenn die Verzerrung d'j,m mittels Gleichung (7) errechnet wird.
  • Fig. 5 zeigt ein Beispiel, bei dem der Rechenabschnitt 131 für den gemittelten Kandidatvektor, der Rechenabschnitt 132 für den quadratischen Abstand und die Codebücher 11 und 12 des Ausführungsbeispiels von Fig. 3 auf der Grundlage von Gleichung (7) angeordnet sind. Bei diesem Beispiel ist ein Tabellenspeicher 33 vorgesehen, in dem die Werte von F(j, m), die für alle Kombinationen der Vektorindizes (j, m) mittels Gleichung (6) errechnet wurden, in oben beschriebener Weise gespeichert sind. Der erste Term von Gleichung (7) ist die Summe des inneren Produkts der Vektoren u und xj und des inneren Produkts der Vektoren u und ym, die durch die Rechner 34 bzw. 35 für das innere Produkt errechnet werden. Die Ergebnisse der Berechnung der inneren Produkte werden jeweils als Scalarwert an einen Addierer 36 geliefert, wo sie dem entsprechenden, aus dem Tabellenspeicher 33 ausgelesenen Wert von F(j, m) hinzuaddiert werden. Die Ausgabe des Addierers 36 stellt das Ergebnis der Berechnung der Verzerrung d'j,m mittels Gleichung (7) dar. Dieses Ausführungsbeispiel umfaßt 2kN Berechnungen des inneren Produkts mittels der Rechner 34 und 35 und 2N² Scalaradditionen/subtraktionen mittels des Addierers 36 und erfordert eine Speicherkapazität von 2kN für die Codebücher 11 und 12 und eine Speicherkapazität N² für den Tabellenspeicher 33.
  • Die folgende Tabelle I zeigt die Speicherkapazitäten und den Rechenumfang, die beim herkömmlichen Vektorquantisierer von Fig. 1 und bei den Ausführungsbeispielen der Fig. 4 und 5 mit k = 16 und N = 16 erforderlich sind. Tabelle I Rechenumfang (Anzahl von Schritten) Speicherkapazität (Anzahl von Wörtern)
  • Die obigen Ausführungsbeispiele wurden im Hinblick auf die Verwendung des quadratischen Abstands als Ausdruck für die Quantisierungsverzerrung dj,m oder d'j,m beschrieben. Diese Ausführungsbeispiele können auf die Vektorquantisierung eines Spektrumumhüllungsparameters angewendet werden, nachdem er zu einem LSP-Parameter oder logarithmischen Bereichsverhältnis bei der Sprachcodierung transformiert wurde. Für eine Quantisierung hoher Effizienz eines Sprachwellenformsignals oder eines Prädiktionsrestsignals ist es jedoch erforderlich, eine adaptive gewichtete Abstandsberechnung in einem Frequenzbereich durchzuführen. Ein Abstandsmaß in einem solchen Fall ist wie folgt gegeben:
  • Darin bezeichnet w(i) ein i-tes Element eines Gewichtungsvektors w, der sich jedesmal ändert, wenn sich das i-te Element u(i) des Eingangsvektors u ändert, aber während der Berechnung des Minimalwerts der Verzerrung d zusammen mit dem i-ten Element u(i) unverändert bleibt. Nebenbei bemerkt, führt der Fall, daß w(i) unabhängig von u(i) festgehalten wird, zu dein der Benutzung des quadratischen Abstands, der durch Gleichung (4) ausgedrückt ist. Entwickelt man die Gleichung (8) und läßt dabei den ersten Term, der zur Bestimmung des minimalen Abstands nichts beiträgt, weg und repräsentiert den Rest der Gleichung mit dem zweiten und dem dritten Term durch d*, dann folgt
  • Zur Vorerrechnung und Vorabspeicherung aller Elemente von F(i,j,m) in Gleichung (10) benötigt man anders als im Fall der Gleichung (6) einen Speicher mit einer Kapazität von kN². Außerdem muß kN² Mal ein inneres Produkt zur Berechnung des zweiten Terms von Gleichung (9) errechnet werden, wie durch Gleichung (11) definiert.
  • Zur Errechnung des ersten Terms von Gleichung (9) wird s(i), das durch die folgende Gleichung (12) definiert ist,
  • nur einmal für i = 0, 1, ..., k-1 voraberrechnet.
  • s(i) = -2w(i)u(i) .... (12)
  • Die Ermittlung des inneren Produkts von N Elementen erfolgt zweimal für s(i), wodurch man G und H erhält, die durch die folgenden Gleichungen (13) und (14) definiert sind.
  • Als Folge dieser Vorbereitungen gewinnt man d*j,m der Gleichung (9) durch folgende Scalaroperation:
  • d*j,m = G(j) + H(m) + E(j,m) .... (15)
  • Fig. 6 zeigt eine Anordnung zur Ausführung der oben beschriebenen Berechnung bei dem Ausführungsbeispiel von Fig. 3. In dem Tabellenspeicher 33 sind kN² durch Gleichung (10) gegebene Werte von F(i,j,m) vorabgespeichert. Der Gewichtungsvektor w wird dem Vektorquantisierer zusammen mit dem Eingangsvektor u eingegeben, und die entsprechenden i-ten Elemente dieser Vektoren werden nach Gleichung (12) mittels eines Multiplizierers 37 multipliziert. Die dadurch erhaltenen gewichteten Eingangsvektoren s(i) (wobei i = 0, 1, ..., k-1) werden an die Rechner 34 und 35 für das innere Produkt geliefert, die die inneren Produkte der gewichteten Vektoren und der Kandidatvektoren xj und ym, die aus den Codebüchern 11 und 12 ausgelesen werden, nach den Gleichungen (13) bzw. (14) ermitteln. Auf der anderen Seite wird der Gewichtungsvektor w an einen Rechner 38 für ein inneres Produkt geliefert, in dem das innere Produkt des Gewichtungsvektors und des Vektors F(i,j,m) (wobei i = 0, 1, ..., k-1), der aus dem Tabellenspeicher 33 nach Maßgabe des Wechselindexpaars (j, m) ausgelesen wird, nach Gleichung (11) errechnet wird. Die errechneten Ausgaben von den Rechnern 34, 35 und 38 für das innere Produkt werden an den Addierer 36 geliefert, wo eine Scalaroperation nach Gleichung (15) stattfindet, die den Wert d*j,m ergibt, der der Verzerrung für den Fall entspricht, daß der Eingangsvektor u zu j, m codiert wird.
  • Die folgende Tabelle II zeigt, welcher Rechenumfang und welche Speicherkapazität beim Ausführungsbeispiel von Fig. 6 erforderlich sind. In Tabelle II sind zu Vergleichszwekken außerdem der Rechenumfang und die Speicherkapazität dargestellt, die in den Fällen erforderlich sind, wo das Gewicht w in Gleichung (1) entsprechend Fig. 1 und in Gleichung (4) entsprechend Fig. 4 in gleicher Weise wie in Gleichung (8) enthalten ist, obwohl diese Fälle hier nicht beschrieben werden, da sie der obigen Beschreibung folgend leicht abgeleitet werden können. Tabelle II Rechenumfang (Anzahl von Schritten) Speicherkapazität (Anzahl von Wörtern)
  • Bei Verwendung des gewichteten Abstands sind die Verfahren (2) und (3) jeweils entweder im Hinblick auf den Rechenumfang oder die Speicherkapazität größer als das Verfahren (1), durch Kombinieren der Verfahren (2) und (3) können jedoch sowohl der Rechenumfang als auch die Speicherkapazität im Vergleich zu jenen beim Verfahren (1) verringert werden. Dies kann man erreichen, indem man in der Form einer Tabelle die Werte von F(i,j,m) nach Gleichung (9) teilweise vorabspeichert. Nimmt man das Verhältnis der Anzahl von vorab zu speichernden Werten zur Gesamtanzahl der Werte von F(i,j,m) mit &lambda; an (wobei 0 < &lambda; < 1), ergeben sich der erforderliche Rechenumfang und die Speicherkapazität zu 2N² + k + 2kN + (3 - 2&lambda;) bzw. 2kN + &lambda;kN². Eine geeignete Auswahl des oben genannten Verhältnisses &lambda; erlaubt einen Kompromiß zwischen dem Rechenumfang und der Speicherkapazität mit der Möglichkeit der Anpassung an gegebene Auslegungsanforderungen.
  • Es ist auch möglich, F(i,j,m) von Gleichung (10) weiter zu erweitern und Werte jeweiliger Terme in gesonderten Tabellen zu speichern. In diesem Fall sind sowohl der Rechenumfang als auch die Speicherkapazität größer als im Fall des Verfahrens (3), es ist aber möglich, teilweise oder ganz die Berechnung eines Produktterms x(i,j) y(i,m) zu vermeiden und die Verzerrung d*j,m anzunähern. Dabei kann der Code, der die Verzerrung minimiert, nicht immer ausgewählt werden, aber der Rechenumfang und die Speicherkapazität können deutlich reduziert werden.
  • Die vorliegende Erfindung kann auch leicht auf den Fall angewendet werden, wo das Abstandsmaß einen freien Parameter &tau; enthält, der gemäß Gleichung (16) mit den Kandidatvektoren in den Codebüchern multipliziert wird.
  • Ein Verzerrungsmaß, das durch die folgende Gleichung ausgedrückt ist, ist oft bei der Quantisierung eines Restsignals von Sprache im Zeitbereich verwendet worden.
  • Die Errechnung dieser Verzerrung d&sub1; wird unter Verwendung eines Codebuchs Z ausgeführt. Benutzt man dieses Verzerrungsmaß, dann kann die Verzerrung dj,m bei dem Vektorquantisierungsverfahren gemäß der vorliegenden Erfindung wie folgt ausgedrückt werden:
  • wobei h(i,g) ein Element in der i-ten Reihe und der g-ten Spalte einer Matrix H zum Erhalt eines Faltungsprodukts ist und &tau; ein Parameter ist, der so bestimmt wird, daß die Verzerrung dj,m minimal wird.
  • Die Definitionen der Verzerrung dj,m nach den Gleichungen (3), (4) und (5) reflektieren die Leistungsfähigkeit für einen fehlerfreien Kanal. Die Definition der Verzerrung durch die folgende Gleichung (17) ist zur Erzielung einer weiteren Robustheit gegenüber Übertragungscodefehlern wirksam.
  • wobei u ein Parameter von 0 bis 1 ist. Wenn u auf 1 gesetzt wird, dann ist die obige Verzerrung derjenigen nach Gleichung (3) äquivalent, und, wenn u kleiner gewählt wird, dann nimmt die Redundanz jedes Codebuchs zu, was die Verminderung der Verzerrung erlaubt, falls einer der beiden Kanäle fehlerfrei ist. Das bedeutet, daß die Robustheit gegenüber Übertragungskanalfehlern vergrößert ist.
  • Zieht man Übertragungskanalfehler in Betracht, dann kann man die folgende Gleichung als Definition der Verzerrung für xj und ym betrachten, die für den Eingangsvektor u gewählt wurden.
  • wobei q(f/j) die bedingte Wahrscheinlichkeit bezeichnet, daß der Vektorindex j in dem Kanal fehlerhaft zu f wechselt. Das gleiche gilt für q(m/g).
  • Diese Verzerrungsinaße basieren auf dem quadratischen Abstand, sie können aber leicht auf den zuvor erwähnten gewichteten quadratischen Abstand oder andere Maße angewendet werden. Bei dem Voranstehenden wird ferner der endgültige Ausgangsrekonstruktionsvektor an der Empfangsseite als ein einfacher arithmetischer Mittelwert erzeugt, da angenommen wird, daß die gleiche Informationsmenge auf eine Vielzahl von Kanälen verteilt ist. Wenn jedoch die Informationsmenge bei den Kanälen unterschiedlich ist, wird der Ausgangsrekonstruktionsvektor als ein gewichteter Mittelwert erzeugt. Im Fall beispielsweise der Verwendung von zwei Kanälen und dem quadratischen Abstand, gewinnt man den gewichteten mittleren Vektor einfach wie folgt:
  • vj,m = {22r(x)xj + 22r(y)ym}/{22r(x) + 22r(y)}
  • wobei r(x) und r(y) die Übertragungsraten der jeweiligen Kanäle x und y sind. Dies beruht auf der Tatsache, daß ein erwarteter Wert der Quantisierungsverzerrung in dem Kanal x durch 2-2r(x) angenähert werden kann.
  • Unter Bezugnahme auf Fig. 7 soll nun eine Prozedur zur Schaffung der beiden Codebücher 11 und 12 zur Verwendung bei den Ausführungsbeispielen der vorliegenden Erfindung, die in den Fig. 2 bis 6 gezeigt sind, beschrieben werden. Das Flußdiagramm von Fig. 7 zeigt den Fall der lokalen Minimierung der Verzerrung durch abwechselndes Erneuern der beiden Codebücher, aber die Prozedur kann auch auf die Schaffung von mehr als zwei Codebüchern angewendet werden.
  • Im Schritt S&sub0; wird eine Anzahl von Vektoren bereitgestellt, die sich je aus k aufeinanderfolgenden, von einer Lernprobenfolge an beliebiger Position extrahierten Proben zusammensetzen, und diese Vektoren werden in zwei Gruppen aufgeteilt, je bestehend aus Anfangskandidatvektoren gleicher Anzahl, mit denen die Anfangscodebücher X und Y bereitgestellt werden. Alternativ kann eine Gruppe von Vektoren als Codebuch X verwendet werden, die durch gewöhnliches Vektorquantisierungslernen unter Verwendung von Lernproben gewonnen wurden, und als Codebuch Y eine Gruppe von Vektoren, die unter Verwendung einer Folge ihrer Fehler erhalten wurden.
  • Im Schritt S&sub1; werden dann Lernvektoren mit einer ausreichend größeren Anzahl als die Kandidatvektoren als Eingangsvektor u benutzt und die Verzerrung d, beispielsweise mittels Gleichung (3), zwischen jedem Eingangsvektor u und jedem Kandidatvektorpaar xj, ym errechnet, um das Kandidatvektorpaar xj, ym zu bestimmen, das die geringste Verzerrung d ergibt. Anders ausgedrückt, jeder Eingangsvektor u wird mittels des Quantisierungsverfahrens der vorliegenden Erfindung quantisiert und das Kandidatvektorpaar xj, ym bestimmt, das dem Eingangsvektor u entspricht.
  • Im Schritt S&sub2; wird die Gesamtsumme D der minimalen Verzerrungen d, die im Schritt S&sub1; für alle Eingangsvektoren ermittelt wurden, errechnet, und wenn die Gesamtsumme D oder ihr Verbesserungsverhältnis unterhalb einem Schwellenwert liegt, dann wird entschieden, daß die Codebücher X und Y die gewünschten Kandidatvektoren enthalten, und der Lernvorgang gestoppt. Wenn dies nicht der Fall ist, geht die Lernfolge weiter zum Schritt S&sub3;, in dem die Inhalte ym des Codebuchs Y erneuert werden, während die Inhalte xj unverändert bleiben.
  • Das heißt, beim Schritt S&sub3;&submin;&sub1; wird im Hinblick auf alle Kandidatvektorpaare (xj, ym), die im Schritt S&sub1; als den jeweiligen Eingangsvektoren u entsprechend bestimmt wurden, jeder der Kandidatvektoren ym als variabler Vektor betrachtet; eine Gleichung, die die Summe der Verzerrungen aller Eingangsvektoren u, die jenen Vektorpaaren entsprechen, die denselben variablen Vektor ym enthalten, wird nach dem variablen Vektor ym partiell differenziert und auf null gesetzt; und ein Vektorwert ym, der durch Lösen der differenzierten Gleichung nach dem variablen Vektor ym erhalten wird, wird als neuer Kandidatvektor ym verwendet. Wenn alle P (wobei P variabel ist) Eingangsvektoren, die den Kandidatvektor ym in ihren entsprechenden Vektorpaaren enthalten, durch um1, um2, ..., umP gegeben sind und die entsprechenden Vektorpaare durch (xf1, ym), (xf2, ym), (xf3, ym), ..., (XfP, ym), dann ist der Vektorwert ym als ihr Schwerpunkt durch folgende Gleichung gegeben:
  • Dem folgt Schritt S&sub3;&submin;&sub2;, bei dem das festgehaltene Codebuch X und das erneuerte Codebuch Y dazu verwendet werden, die Korrespondenz jedes Eingangsvektors u zu dem Kandidatvektor in dem Codebuch Y zu bestimmen, wobei die Korrespondenz jedes Eingangsvektors u zu dem Kandidatvektor in dem Codebuch X im Zustand des Schritts S&sub1; fixiert ist. Dann wird im Schritt S&sub3;&submin;&sub3; das Codebuch Y auf gleiche Weise wie im Schritt S&sub3;&submin;&sub1; wieder erneuert.
  • Im Schritt S&sub4; wird ein Kandidatvektorpaar (xj, ym) entsprechend jedem Eingangsvektor u unter Verwendung des Codebuchs X und des erneuerten Codebuchs Y bestimmt. Schritt S&sub4; ist dem Schritt S&sub1; äquivalent.
  • Im Schritt S&sub5; werden die Inhalte des Codebuchs X erneuert, während die Inhalte des Codebuchs Y fixiert bleiben. Das heißt, im Schritt S&sub5;&submin;&sub1; wird der Kandidatvektor xj als variabler Vektor für die Kandidatvektorpaare (xj, ym), die den jeweiligen Eingangsvektoren u entsprechen und im Schritt S&sub4; bestimmt wurden, betrachtet; eine Gleichung, die die Summe der Verzerrungen aller Eingangsvektoren u, die jenen Vektorpaaren entsprechen, die denselben variablen Vektor xj enthalten, wird mit dem variablen Vektor xj partiell differenziert und auf null gesetzt; und ein Wert j, der nach Auflösen der differenzierten Gleichung nach dem variablen Vektor xj erhalten wird, wird als neuer Kandidatvektor xj verwendet. Wenn alle Q (wobei Q variabel ist) Eingangsvektoren, die den Kandidatvektor xj in ihren entsprechenden Vektorpaaren enthalten, durch uj1, uj2, ..., ujQ und die entsprechenden Vektorpaare durch (xj, yg1), (xj, yg2), ..., (xj, ygQ) gegeben sind, dann ist der Vektor xj als ihr Schwerpunkt durch folgende Gleichung gegeben:
  • Als nächstes werden im Schritt S&sub5;&submin;&sub2; das erneuerte Codebuch X und das festgehaltene Codebuch Y dazu verwendet, die Korrespondenz zwischen jedem Eingangsvektor u und dem Kandidatvektor in dem Codebuch X zu bestimmen, wobei die Korrespondenz jedes Eingangsvektors u mit dem Kandidatvektor im Codebuch Y im Zustand des Schritts S&sub4; fixiert ist. Dann wird das Codebuch X im Schritt S&sub5;&submin;&sub3; in gleicher Weise wie im Schritt S&sub5;&submin;&sub1; nochmal erneuert.
  • Die Lernfolge geht zurück zum Schritt S&sub1;, wonach dieselben iterativen Operationen, wie sie oben beschrieben wurden, in den Schritten S&sub2; bis S&sub5; ablaufen. Die Erneuerung der Codebücher X und Y setzt sich fort, bis die Gesamtsumme D der Verzerrungen oder ihr Verbesserungsverhältnis kleiner als der Schwellenwert wird.
  • Bei dem obigen können die Schritte S&sub3;&submin;&sub2;, S&sub3;&submin;&sub3; und S&sub5;&submin;&sub2;, S&sub5;&sub3; auch weggelassen werden. Außerdem können diese Schritte abwechselnd wiederholt werden.
  • Fig. 8 zeigt im Hinblick auf das Signalrauschverhältnis, wie die Verzerrung durch die Codebuchlernfolge verringert wird. In Fig. 8 entsprechen die Symbole , , , &Delta; und den Schritten S&sub1;, S&sub3;&submin;&sub1;, S&sub3;&submin;&sub2;, S&sub5;&submin;&sub1; bzw. S&sub5;&submin;&sub2; im Flußdiagramm von Fig. 7. Die Verzerrung nimmt immer ab, ungeachtet wie oft das Schrittpaar S&sub3;&submin;&sub1; und S&sub3;&submin;&sub2; und das Schrittpaar S&sub5;&submin;&sub1; und S&sub5;&submin;&sub2; wiederholt wird.
  • Die Fig. 9A und 9B zeigen einen Vergleich der Leistungsfähigkeit zwischen dein herkömmlichen, in Fig. 1 gezeigten Einkanalquantisierer (Fig. 9A) und dem Zweikanalquantisierer der vorliegenden Erfindung (Fig. 9B) im Hinblick auf den Bereich der Beschädigung durch einen Übertragungscodefehler, wobei das Fehlerbit umkreist ist. Da das Vorsehen mehrerer Kanäle von Codebüchern und mehrerer Sendecodes für jeden Eingangsvektor die Einheit, in der die Codes gesendet werden, teilt, ist die Wahrscheinlichkeit des Auftretens von Codefehlern in allen Kanälen geringer als die Fehlerrate normal übertragener Codes, deren Übertragungseinheit ungeteilt ist. Anders ausgedrückt, der Beschädigungsbereich eines Codefehlers in einem Bit im Fall von zwei Kanälen ist halb so groß wie im Fall eines Kanals, wie durch Schraffur in den Fig. 9A und 9B dargestellt.
  • Fig. 10 zeigt die Leistungsfähigkeit des Vektorquantisierers der vorliegenden Erfindung für eine Signalfolge mit einer speicherlosen Laplaceverteilung im Fall von r = 1. Die Laplaceverteilung simuliert ein Linearprädiktionsrestsignal eines Sprachsignals. In Fig. 10 geben die Kurven (a) die Zweikanalquantisierung und die Kurven (b) bis (e) die herkömmliche Einkanalquantisierung wieder. Die Abszisse repräsentiert eine Bitfehlerrate und die Ordinate das Signalrauschverhältnis. Es ergibt sich aus Fig. 10, daß der Zweikanalquantisierer etwa dieselbe Leistungsfähigkeit wie der Einkanalquantisierer gleicher Dimension im Fall ohne Codefehler aufweist, aber besser als letzterer ist, wenn Codefehler vorhanden sind.
  • Fig. 11 zeigt die Leistungsfähigkeit des Zweikanalquantisierers gemäß der vorliegenden Erfindung im Vergleich zu herkömmlichen Quantisierern, die Vektorquantisierungscodes und einen fehlerkorrigierenden Code einsetzen, wobei die Gesamtinformationsmenge fixiert ist. Die in diesem Fall verwendeten korrigierenden Codes sind sieben Arten von BCH- Codes, die zur Korrektur mehrerer Fehler fähig sind. Die Zahlen in Klammern repräsentieren die Gesamtanzahl von Informationsbits, die Anzahl von Quellenbits und die Anzahl fehlerkorrigierbarer Bits. Diese herkömmlichen Quantisierer sind insofern nachteilig, als die Verzerrung durch redundante Bits zunimmt und die Verzerrung rapide ansteigt, wenn die Anzahl von Codefehlern einen bestimmten Wert übersteigt. Demgemäß ist der Quantisierer der vorliegenden Erfindung gegenüber den herkömmlichen Quantisierern vorteilhaft.
  • Fig. 12 zeigt ein Beispiel eines Zweikanalvektorquantisierers der vorliegenden Erfindung in der Anwendung auf die Transformationscodierung von Sprache mit gewichteter Vektorquantisierung, wobei es sich um eine der effektiven Techniken für Mittelbandsprachcodierung handelt. Ein digitales Spracheingangssignal S wird an einen Linearprädiktionsanalysierer 41 angelegt, der einen Satz von Linearprädiktionsparametern {&alpha;i} als Filterkoeffizienten an ein Inversfilter 42 liefert, das ein Linearprädiktionsrestsignal R abgibt. Das Restsignal R wird mittels eines Kosinustransformators 43 kosinustransformiert, und seine DCT-(diskrete Kosinustransformation)-Koeffizienten werden auf der Frequenzachse neu geordnet und in eine Vielzahl von Subvektoren aufgegliedert. Ein so erhaltener Vektor u wird einem Zweikanalgewichtungsvektorquantisierer 100 gemäß der vorliegenden Erfindung geliefert, in dem der Eingangsvektor u einer Vektorquantisierung unterzogen wird, indem er zum Gewicht einer Spektralumhüllenden addiert wird, und von dem der quantisierte Code als Wellenforminformation B gesendet wird. Zur gleichen Zeit wird auch eine Seiteninformation A, die aus einer Tonlagenperiode (pitch period) &Delta;t, den Linearprädiktionsparametern {&alpha;i} und der Signalenergie P besteht, codiert und übertragen. Ein Decodierer 200 an der Empfangsseite verweist auf die Codebücher 15 und 16 und rekonstruiert das Kandidatvektorpaar xj, ym von der empfangenen Wellenforminformation B und gibt dann ihren gemittelten Vektor als einen Rekonstruktionsvektor von den Decodierern 17 und 18 aus. Der Rekonstruktionsvektor wird an einen inversen Kosinustransformator 14 angelegt, durch den ein Restsignal R' decodiert wird. Auf der anderen Seite wird die empfangene Parameterinformation A von einem Parameterdecodierer 45 decodiert, und die Linearprädiktionsparameter {&alpha;i} werden als Filterkoeffizienten an ein Synthesefilter 46 angelegt. Das Restsignal R' wird an das Synthesefilter 46 angelegt, wodurch die Sprache synthetisiert wird.
  • Die Codebücher 11, 12 (und 15, 16) für den Zweikanalquantisierer werden dadurch vorbereitet, daß zuerst mit einer Gaußschen Zufallszahlenfolge unter Verwendung eines Verzerrungsmaßes, gewichtet mit einem langzeitgemittelten Spektrum, trainiert wird. Der dabei produzierte Vektor ist in der Energie einer Komponente, die dem Hochfrequenzband auf der Frequenzachse entspricht, im wesentlichen null- was zu decodierter Sprache ohne Hochfrequenzkomponente führt. Um dies abzuschwächen, wird der Kandidatvektor durch einen Vektor ersetzt, der der geringste hinsichtlich des gewichteten Abstands unter den Gaußschen Zufallszahlen der Lernfolge ist.
  • Fig. 13 zeigt das Signalrauschleistungsvermögen der Zweikanalvektorquantisierung für Übertragungskanalfehler in Fig. 12 im Vergleich zu dem Signalrauschleistungsvermögen der herkömmlichen, in Fig. 1 gezeigten Einkanalvektorquantisierung. Bei der Eingangssprache S handelt es sich um männliche und weibliche Sprache, die wiederholt mit verschiedenen Codefehlermustern verwendet wurden, und die Signalrauschkurven stellen Werte dar, die über etwa 90 Sekunden Sprache gemittelt wurden. Die Kurven (b) und (c), mit Ausnahme von (a), geben den Fall wieder, wo die gewöhnliche Einkanalvektorquantisierung für die Wellenformquantisierung verwendet wurde. Bei der Seiteninformation B in allen Fällen der Kurven (a), (b) und (c) sowie der Wellenforminformation A im Fall (c) erfolgte eine Fehlerkorrektur unter Verwendung von doppelfehlerkorrigierbaren BCH-Codes (31, 21). Der Grund dafür ist, daß, da die Seiteninformation etwa 20 % der Gesamtinformation ausmacht, eine Zunahme ihrer Wellenformverzerrung durch redundante Bits der fehlerkorrigierenden Codes gering ist, während die Welleninformation ernsthaft beschädigt wird, wenn ein Fehler auftritt. Es ergibt sich aus Fig. 13, daß die Zweikanalvektorquantisierung die Wellenformverzerrung kleiner machen kann als die anderen Verfahren, und zwar über den Bereich von Fehlerraten von 0 bis 0,3 % oder so.
  • Es folgt nun eine Beschreibung der Anwendung der vorliegenden Erfindung auf die Quantisierung der Linearprädiktions- parameter {&alpha;i} bei der oben im Hinblick auf Fig. 12 beschriebenen Sprachcodierung. Zunächst werden die Linearprädiktionskoeffizienten {&alpha;i} in LSP-(Linear Spectrum Pair)- Parameter umgewandelt, durch die es einfacher wird, die Filter stabil zu halten und ihnen eine gute Interpolationscharakteristik zu geben (U.S. Patent Nr. 4 393 272). Die Vektor-Scalarquantisierung wird für die LSP-Parameter unter Verwendung von 8 Bits für den Vektorteil und 13 Bits für den Scalarteil ausgeführt. In Fig. 14 ist der Vergleich zwischen der normalen Vektorquantisierung und der Quantisierung der vorliegenden Erfindung im Hinblick auf eine Spektralverzerrung (d.h. einen LPC Cepstrumabstand) für den Fall gezeigt, wo jedes des 8-Bit-Codes, der dem Vektorteil entspricht, zwangsweise invertiert und decodiert wird. Die Abszisse zeigt den Cepstrumabstand und die Ordinate die Position des invertierten Bits im Code. Weiße Balken zeigen die Spektrumverzerrung durch die gewöhnliche Vektorquantisierung, und schraffierte Balken durch die Vektorquantisierung gemäß der vorliegenden Erfindung. Der Grund für die Bewertung in bezug auf die Spektrumverzerrung ist der, daß ein Codefehler bei den Linearprädiktionsparametern, wie etwa den LSP-Parametern, direkt als eine Quantisierungsverzerrung der codierten Sprache reflektiert wird. Es ist darauf hinzuweisen, daß, je kleiner der Wert des Cepstrumabstands ist, desto weniger Verzerrung im rekonstruierten Signal auftritt. Fig. 14 zeigt, daß die Zweikanalquantisierung gemäß der vorliegenden Erfindung den Einfluß auf die Spektrumverzerrung im Vergleich zum gewöhnlichen Quantisierungsverfahren vermindert. Für einen fehlerfreien Kanal ist die gewöhnliche Vektorquantisierung besser als die der vorliegenden Erfindung, obwohl der Unterschied nur sehr gering ist.
  • Wie oben beschrieben, wird gemäß dem Vektorquantisierungs verfahren der vorliegenden Erfindung, da ein Eingangsvektor in eine Vielzahl von Kanälen unter Verwendung mehrerer Codebücher quantisiert wird, die Einheit der quantisierten Codes geteilt und als Folge dessen die Wahrscheinlichkeit, daß alle so geteilten Codes während der Übertragung fehlerhaft werden, ist sehr viel geringer als die Übertragungsfehlerrate eines auf gewöhnliche Weise quantisierten Codes, der nicht geteilt ist. Anders ausgedrückt, der Bereich der Beschädigung durch einen 1-Bit-Codefehler ist deutlich begrenzt. Damit ist die Beschädigung des decodierten Vektors abgeschwächt. Wenn andererseits keine Codefehler auftreten, kann man davon ausgehen, daß, da die Kombination von Ausgangscodes so bestimmt wird, daß der Mittelwert von Kandidatvektoren jeweiliger Kanäle die Verzerrung zwischen ihnen und dem Eingangsvektor minimieren, die Vektorquantisierung der vorliegenden Erfindung im wesentlichen die gleiche Leistungsfähigkeit wie die gewöhnliche Einkanalvektorquantisierung für dieselbe Informationsmenge hat.
  • Darüber hinaus hat die Mehrkanalvektorquantisierung gemäß der vorliegenden Erfindung zusätzlich zur Robustheit gegenüber Codefehlern die Vorteile einer deutlichen Verringerung der Speicherkapazität der Codebücher und der Verringerung des Rechenumfangs für das Herausziehen der Kandidatvektoren zur Quantisierung, wie durch die Tabellen I und II gezeigt. Außerdem kann durch Begrenzung der herauszuziehenden Kandidatvektoren auf die Nähe des Eingangsvektors in jedem Codebuch der Rechenumfang im wesentlichen ohne Verminderung der Leistungsfähigkeit reduziert werden.
  • Demzufolge wird die Verwendung des Quantisierungsverfahrens gemäß der vorliegenden Erfindung zu einer verbesserten Leistungsfähigkeit bei der Sprachwellenformcodierung und Bildcodierung führen. Die vorliegende Erfindung ist von besonderem Nutzen, wenn sie bei einer Codierung eingesetzt wird, bei der Kanalfehler auftreten und eine Informationskompression erforderlich ist.

Claims (35)

1. Einstufiger Multiplexvektorquantisierer umfassend:
eine Vielzahl von Codebuchspeichereinrichtungen (11, 12), in denen je eine bestimmte Anzahl von Kandidatvektoren gespeichert ist,
eine Verzerrungsberechnungseinrichtung (131, 132), durch die eine Verzerrung zwischen einem Eingangsvektor und einem gemittelten Vektor eines Satzes von Kandidatvektoren für eine Vielzahl unterschiedlicher Sätze von Kandidatvektoren errechnet wird, wobei jeder Satz von Kandidatvektoren einen Kandidatvektor von jedem der Vielzahl von Codebuchspeichereinrichtungen (11, 12) umfaßt,
eine Minimumverzerrungsbestimmungseinrichtung (133) zur Bestimmung des Satzes von Kandidatvektoren, deren gemittelter Vektor zur geringsten Verzerrung führt, und
eine Multiplexeinrichtung (14) zum Multiplexen und Ausgeben der Codes, die die Kandidatvektoren des von der Minimumverzerrungsbestimmungseinrichtung bestimmten Satzes repräsentieren.
2. Quantisierer nach Anspruch 1, bei dem die Multiplexeinrichtung (14) eine Einrichtung zum Zeitmultiplexen der die Kandidatvektoren repräsentierenden Codes ist.
3. Quantisierer nach Anspruch 1, bei dem die Verzerrungsberechnungseinrichtung (131, 132) eine Einrichtung ist, die als die Verzerrung einen quadratischen Abstand zwischen dem Eingangsvektor und dem geinittelten Vektor errechnet.
4. Quantisierer nach Anspruch 1, bei dem die Verzerrungsberechnungseinrichtung eine Einrichtung ist, die als die Verzerrung einen gewichteten quadratischen Abstand zwischen dem Eingangsvektor und dem gemittelten Vektor errechnet.
5. Quantisierer nach Anspruch 1, bei dem die Verzerrungsberechnungseinrichtung (131, 132) enthält: eine Subtrahiereinrichtung (31) zur Errechnung eines Differenzvektors zwischen dem gemittelten Vektor und dem Eingangsvektor und eine Quadratsummiereinrichtung (32) zum Errechnen der Summe der Quadrate jeweiliger Elemente des Differenzvektors und zur Ausgabe der Summe als die Verzerrung.
6. Quantisierer nach Anspruch 1, bei dem die Verzerrungsberechnungseinrichtung enthält:
eine Tabellenspeichereinrichtung (33), in der Summen der Quadrate jeweiliger Elemente eines Vektors, bei dem es sich um die Summe der Kandidatvektoren jedes der Sätze handelt, jeweils ausgewählt von einer der Vielzahl von Codebuchspeichereinrichtungen (11, 12), entsprechend den jeweiligen Sätzen von Kandidatvektoren gespeichert sind,
eine Berechnungseinrichtung (34, 35) zur Berechnung des inneren Produkts von dem Eingangsvektor mit jedem Satz von Kandidatvektoren, jeweils ausgewählt von einer der Vielzahl von Codebuchspeichereinrichtungen, und
eine Subtrahiereinrichtung (36) zur Errechnung einer Differenz zwischen der Summe der inneren Produkte von der Berechnungseinrichtung für das innere Produkt und der Summe von Quadraten entsprechend dem ausgewählten Satz von Kandidatvektoren, die aus dein Tabellenspeicher ausgelesen wurden, und zur Ausgabe der errechneten Differenz als die Verzerrung.
7. Quantisierer nach Anspruch 1, bei dem die Verzerrungsberechnungseinrichtung enthält:
eine Mulipliziereinrichtung (37), die den Eingangsvektor und einen ihm entsprechenden eingegebenen Gewichtungsvektor multipliziert und einen gewichteten Eingangsvektor ausgibt,
eine Tabellenspeichereinrichtung (33), in der ein konstanter Vektor, der als seine jeweiligen Elemente, das Quadrat der Summe entsprechender Elemente jeweiliger Kandidatvektoren jedes der Sätze, ausgewählt von einer der Vielzahl von Codebuchspeichereinrichtungen verwendet, entsprechend jedem der Sätze gespeichert ist,
eine erste Berechnungseinrichtung (34, 35) zur Berechnung des inneren Produkts der Kandidatvektoren der aus der Vielzahl von Codebuchspeichereinrichtungen (11, 12) ausgewählten Sätze und des gewichteten Eingangsvektors von der Multipliziereinrichtung,
eine zweite Berechnungseinrichtung (38) zur Berechnung des inneren Produkts des konstanten Vektors, der aus der Tabellenspeichereinrichtung entsprechend dem ausgewählten Satz von Kandidatvektoren ausgelesen wurde, und des Gewichtungsvektors, und
eine Addiereinrichtung (36) zur Ausgabe der Differenz zwischen den inneren Produkten von der ersten und der zweiten Berechnungseinrichtung als die Verzerrung.
8. Quantisierer nach einem der Ansprüche 1 bis 7, bei dein zwei Codebücher (11, 12) vorgesehen sind.
9. Quantisierer nach Anspruch 1, bei dem sich der Eingangsvektor aus k Elementen zusammensetzt und die Vielzahl von Codebuchspeichereinrichtungen (11, 12) ein X-Codebuch, das N Kandidatvektoren xj, je bestehend aus k Elementen, wobei j = 0, 1, ..., N-1 ist, und ein Y-Codebuch mit N Kandidatvektoren ym, je bestehend aus k Elementen, wobei m = 0, 1, ..., N-1 ist, gespeichert hat, wobei k eine positive ganze Zahl und N eine ganze Zahl gleich oder größer als 2 sind.
10. Quantisierer nach Anspruch 9, bei dem, wenn man die i-ten Elemente des Eingangsvektors und der Kandidatvektoren xj und ym mit u(i), x(i,j) bzw. y(i,m) bezeichnet, die Verzerrungsberechnungseinrichtung eine Einrichtung (131, 132) ist, die als die Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes (j, m) eine Verzerrung d'j,m errechnet, die durch die folgenden Gleichungen definiert ist
11. Quantisierer nach Anspruch 10, bei dem die Verzerrungsberechnungseinrichtung (131, 132) eine Tabellenspeichereinrichtung (33) enthält, in der Werte, die durch Berechnung von F(j,m) aus Gleichung (2) für alle Kombinationen (j, m) der Kandidatvektoren xj und ym erhalten wurden, entsprechend den Kombinationen (j, m) gespeichert wurden, und die Verzerrungsberechnungseinrichtung aus der Tabellenspeichereinrichtung den Wert von F(j,m) entsprechend dem ausgewählten Satz von Kandidatvektoren (j, m) ausliest und dann die durch Gleichung (1) definierte Verzerrung berechnet.
12. Quantisierer nach Anspruch 9, bei dem, bezeichnet man die i-ten Elemente eines Eingangsgewichtungsvektors w, des Eingangsvektors u und der Kandidatvektoren xj und ym mit w(i), u(i), x(i,j) bzw. y(i,m), die Verzerrungsberechnungseinrichtung (131, 132) eine Einrichtung ist, die als die Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes (j, m) eine Verzerrung d'j,m berechnet, die durch folgende Gleichungen definiert ist:
13. Quantisierer nach Anspruch 12, bei dem die Verzerrungsberechnungseinrichtung (131, 132) einen Tabellenspeicher (33) zur Speicherung vorberechneter Werte von wenigstens einem Teil der Berechnung des konstanten Vektors F(i,j,m), der durch Gleichung (2) ausgedrückt ist, für den ausgewählten Satz von Kandidatvektoren xj und ym enthält.
14. Quantisierer nach Anspruch 1, bei dem die Multiplexeinrichtung(14) eine Einrichtung zum Frequenzmultiplexen der Codes ist, die jeweils die Kandidatvektoren repräsentieren.
15. Multiplexvektorquantisierungsverfahren, bei dem eine Eingangssignalfolge in eine Vielzahl von Gruppen unterteilt wird, die je aus einer Vielzahl von Proben bzw. Abtastwerten bestehen und einen Eingangsvektor bilden, und bei dem jeder Eingangsvektor quantisiert wird, umfassend die Schritte:
(a) Auswählen eines Kandidatvektors von jedem einer Vielzahl von Codebüchern (11, 12), die je eine bestimmte Anzahl von Kandidatvektoren enthalten,
(b) Errechnen einer Verzerrung zwischen einem gemittelten Vektor des Satzes der ausgewählten Kandidatvektoren und dem Eingangsvektor,
(c) Wiederholen der Schritte (a) und (b) für Kandidatvektoren einer Vielzahl unterschiedlicher Sätze, ausgewählt aus der Vielzahl von Codebüchern, und Bestimmen des Satzes von Kandidatvektoren, der die geringste der jeweils errechneten Verzerrungen ergibt, und
(d) Multiplexen und Ausgeben der Codes, die jeweils die Kandidatvektoren des bestimmten Satzes repräsentieren.
16. Verfahren nach Anspruch 15, bei dem ein quadratischer Abstand zwischen dem Eingangsvektor und dem gemittelten Vektor errechnet und als Verzerrung im Schritt (b) ausgegeben wird.
17. Verfahren nach Anspruch 15, bei dem ein gewichteter quadratischer Abstand zwischen dem Eingangsvektor und dem gemittelten Vektor als Verzerrung im Schritt (b) berechnet wird.
18. Verfahren nach Anspruch 15, bei dem sich jeder Eingangsvektor aus k Elementen zusammensetzt, eines der Vielzahl von Codebüchern ein X-Codebuch mit N Kandidatvektoren xj, je bestehend aus k Elementen, ist, wobei j = 0, 1, ..., N-1 ist, und das andere Codebuch ein Y-Codebuch mit N Kandidatvektoren ym, je bestehend aus k Elementen, ist, wobei m = 0, 1, ..., N-1 ist, k eine positive ganze Zahl und N eine ganze Zahl gleich oder größer als 2 ist.
19. Verfahren nach Anspruch 18, bei dem, wenn man die i-ten Elemente des Eingangsvektors u, der Kandidatvektoren xj und ym mit u(i), x(i,j) bzw. y(i,m) bezeichnet, Schritt (b) ein Schritt ist, bei dem als Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes (j, m) eine Verzerrung d'j,m errechnet wird, die durch die folgenden Gleichungen definiert ist:
20. Verfahren nach Anspruch 19, bei dem der Schritt (b) ein Schritt ist, bei dem die Verzerrung d'j,m' die durch Gleichung (1) definiert ist, unter Verwendung eines Tabellenspeichers (33) berechnet wird, in dem Werte gespeichert sind, die durch Vorabberechnung der Konstanten F(j,m), die durch Gleichung (2) definiert ist, für alle Sätze (j, m) erhalten wurden.
21. Verfahren nach Anspruch 20, bei dem Schritt (b) ein Schritt ist, bei dem das innere Produkt des Eingangsvektors u und jedes der Kandidatvektoren xj und ym berechnet wird und als die Verzerrung d'j,m die Differenz zwischen der Summe der inneren Produkte und der Konstanten F(j,m), die aus dem Tabellenspeicher ausgelesen wird, berechnet wird.
22. Verfahren nach Anspruch 18, bei dem, wenn man die i-ten Elemente eines Eingangsgewichtungsvektors w des Eingangsvektors u und der Kandidatvektoren xj und ym mit w(i), u(i), x(i,j) bzw. y(i,m) bezeichnet, Schritt (b) ein Schritt ist, in dem als die Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes (j, m) eine Verzerrung d'j,m errechnet wird, die durch die folgenden Gleichungen definiert ist:
23. Verfahren nach Anspruch 22, bei dem Schritt (b) ein Schritt ist, bei dem die durch Gleichung (1) definierte Verzerrung d'j,m unter Verwendung eines Tabellenspeichers (33) berechnet wird, in dein vorabberechnete Werte wenigstens eines Teiles der Berechnung des durch Gleichung (2) definierten Konstantenvektors für den ausgewählten Satz von Kandidatvektoren xj und ym gespeichert sind.
24. Verfahren nach Anspruch 22, bei dem die Berechnung von Gleichung (1) in Schritt (b) einen Schritt des Multiplizierens des Eingangsvektors u mit dem Gewichtungsvektor w und einen Schritt der Berechnung des inneren Produkts des Multiplikationsergebnisses mit jedem der Kandidatvektoren xj und ym umfaßt.
25. Verfahren nach Anspruch 18, bei dem, wenn man die i-ten Elemente eines Eingangsgewichtungsvektors w, des Eingangsvektors u und der Kandidatvektoren xj und ym mit w(i), u(i), x(i,j) bzw. y(i,m) bezeichnet, Schritt (b) ein Schritt ist, bei dem als die Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes (j, m) eine Verzerrung dj,m errechnet wird, die durch die folgende Gleichung definiert ist:
wobei &tau; eine beliebige positive ganze Zahl ist.
26. Verfahren nach Anspruch 18, bei dem Schritt (b) ein Schritt ist, bei dem als die Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes (j, m) eine Verzerrung dj,m errechnet wird, die durch die folgenden Gleichungen definiert ist:
wobei u eine beliebige Konstante im Bereich von 0 &le; u &le; 1 ist.
27. Verfahren nach Anspruch 18, bei dem Schritt (b) ein Schritt ist, bei dem als die Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes (j, m) eine Verzerrung dj,m errechnet wird, die durch die folgende Gleichung definiert ist:
wobei q(f j) und q(g m) die bedingte Möglichkeit repräsentieren, daß die Codes j und m, die die Kandidatvektoren xj und ym bezeichnen, in einem Übertragungskanal fehlerhaft zu g bzw. f wechseln.
28. Verfahren nach Anspruch 15, bei dem ein Schritt der Bereitstellung der Vielzahl von Codebüchern (11, 12) umfaßt:
(1) einen Schritt, bei dem eine bestimmte Anzahl von Eingangsprobenvektoren beliebig in eine Vielzahl von Gruppen unterteilt wird, um eine Vielzahl von Anfangscodebüchern zu erzeugen,
(2) einen Schritt, bei dem Lernvektoren einer Anzahl ausreichend größer als die bestimmte Anzahl als Eingangsvektoren verwendet werden und sie sequentiell durch das Multiplexvektorquantisierungsverfahren unter Verwendung der Vielzahl von Codebüchern quantisiert werden, wodurch der Satz von Kandidatvektoren bestimmt wird, dem die Lernvektoren jeweils entsprechen,
(3) einen Schritt, bei dem die Inhalte der Vielzahl von Codebüchern mit Ausnahme eines beliebigen von ihnen fixiert werden, ein beliebiger Kandidatvektor des einen Codebuchs als ein variabler Vektor betrachtet wird, eine Gleichung, in der die Summe der Verzerrungen für alle Lernvektoren, die diesen einen Kandidatvektor in ihren jeweiligen Sätzen von Kandidatvektoren enthalten, nach dem variablen Vektor partiell differenziert wird, auf null gesetzt wird und ein nach Auflösen der Gleichung nach dem variablen Vektor erhaltener Vektorwert als neuer Kandidatvektor an die Stelle des einen Kandidatvektors gesetzt wird,
(4) einen Schritt, bei dem Schritt (3) für all die anderen Kandidatvektoren des einen anfänglichen Codebuchs wiederholt wird und sie durch neue Kandidatvektoren ausgetauscht werden, wodurch die Inhalte des einen anfänglichen Codebuchs erneuert werden, und
(5) einen Schritt, bei dem die Schritte (2), (3) und (4) für all die anderen anfänglichen Codebücher zur Erneuerung ihrer Inhalte wiederholt werden.
29. Verfahren nach Anspruch 28, bei dem der Schritt der Erzeugung der Vielzahl von Codebüchern (11, 12) einen Schritt der mehrfachen Wiederholung der Schritte (2), (3) und (4) für dasselbe Codebuch enthält.
30. Verfahren nach Anspruch 28, bei dem der Schritt der Erzeugung der Vielzahl von Codebüchern (11, 12) einen Schritt der mehrfachen Wiederholung der Schritte (2), (3), (4) und (5) enthält.
31. Verfahren nach Anspruch 15, bei dem der Schritt (d) ein Schritt des Zeitmultiplexens und Ausgebens der jeweiligen Codes, die Kandidatvektoren des bestimmten Satzes repräsentieren, ist.
32. Verfahren nach Anspruch 15, bei dem der Schritt (d) ein Schritt des Frequenzmultiplexens und Ausgebens der jeweiligen Codes, die Kandidatvektoren des bestimmten Satzes repräsentieren, ist.
33. Verfahren nach Anspruch 31 oder 32, bei dem die Codes, die die Kandidatvektoren des bestimmten Satzes repräsentieren, Indizes sind, die die jeweiligen Kandidatvektoren bezeichnen.
34. Verfahren nach Anspruch 18, bei dem der gemittelte Vektor definiert ist durch folgende Gleichung:
vj,m = {22r(x)xj + 22r(y)ym}/{22r(x) + 22r(y)}
wobei r(x) und r(y) Übertragungsraten der die Kandidatvektoren xj bzw. ym repräsentierenden Codes sind.
35. Verfahren nach Anspruch 18, bei dem, wenn man das i-te Element des Eingangsvektors u und die g-ten Elemente der Kandidatvektoren xj und ym mit u(i), x(g,j) bzw. y(g,m) bezeichnet, der Schritt (b) ein Schritt ist, bei dem als die Verzerrung für die Kandidatvektoren xj und ym des ausgewählten Satzes eine Verzerrung dj,m berechnet wird, die durch die folgende Gleichung definiert ist:
wobei h(i,g) ein Element an der i-ten Reihe und der g- ten Spalte einer Matrix zum Erhalt eines Faltungsprodukts und T ein Parameter sind, der die Verzerrung dj,m minimiert.
DE88117612T 1987-10-30 1988-10-21 Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung. Expired - Lifetime DE3883701T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27538887 1987-10-30

Publications (2)

Publication Number Publication Date
DE3883701D1 DE3883701D1 (de) 1993-10-07
DE3883701T2 true DE3883701T2 (de) 1994-02-10

Family

ID=17554798

Family Applications (1)

Application Number Title Priority Date Filing Date
DE88117612T Expired - Lifetime DE3883701T2 (de) 1987-10-30 1988-10-21 Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung.

Country Status (4)

Country Link
US (1) US4922508A (de)
EP (1) EP0314018B1 (de)
CA (1) CA1311060C (de)
DE (1) DE3883701T2 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0783315B2 (ja) * 1988-09-26 1995-09-06 富士通株式会社 可変レート音声信号符号化方式
CA2002015C (en) * 1988-12-30 1994-12-27 Joseph Lindley Ii Hall Perceptual coding of audio signals
DE69031186D1 (de) * 1989-03-10 1997-09-11 Canon Kk Verfahren und Vorrichtung zum Codieren von Bildinformation
US5031037A (en) * 1989-04-06 1991-07-09 Utah State University Foundation Method and apparatus for vector quantizer parallel processing
US4994927A (en) * 1989-06-19 1991-02-19 Gte Laboratories Inc Self-adaptive neural net based vector quantizer for image compression
JPH0332228A (ja) * 1989-06-29 1991-02-12 Fujitsu Ltd ゲイン―シェイプ・ベクトル量子化方式
US5263119A (en) * 1989-06-29 1993-11-16 Fujitsu Limited Gain-shape vector quantization method and apparatus
JPH0370336A (ja) * 1989-08-10 1991-03-26 Mitsubishi Electric Corp ディジタル変調の波形データ修正方法
US5072293A (en) * 1989-08-29 1991-12-10 U.S. Philips Corporation Method of estimating motion in a picture signal
US5255346A (en) * 1989-12-28 1993-10-19 U S West Advanced Technologies, Inc. Method and apparatus for design of a vector quantizer
US5253053A (en) * 1990-12-31 1993-10-12 Apple Computer, Inc. Variable length decoding using lookup tables
JP3151874B2 (ja) * 1991-02-26 2001-04-03 日本電気株式会社 音声パラメータ符号化方式および装置
JPH0568243A (ja) * 1991-09-09 1993-03-19 Hitachi Ltd 可変長符号化制御方式
US5325126A (en) * 1992-04-01 1994-06-28 Intel Corporation Method and apparatus for real time compression and decompression of a digital motion video signal
US5651026A (en) * 1992-06-01 1997-07-22 Hughes Electronics Robust vector quantization of line spectral frequencies
US5388124A (en) * 1992-06-12 1995-02-07 University Of Maryland Precoding scheme for transmitting data using optimally-shaped constellations over intersymbol-interference channels
US5467413A (en) * 1993-05-20 1995-11-14 Radius Inc. Method and apparatus for vector quantization for real-time playback on low cost personal computers
JP2626492B2 (ja) * 1993-09-13 1997-07-02 日本電気株式会社 ベクトル量子化装置
US5692100A (en) * 1994-02-02 1997-11-25 Matsushita Electric Industrial Co., Ltd. Vector quantizer
US5517595A (en) * 1994-02-08 1996-05-14 At&T Corp. Decomposition in noise and periodic signal waveforms in waveform interpolation
US5521988A (en) * 1994-04-05 1996-05-28 Gte Laboratories Incorporated Vector transform coder with multi-layered codebooks and dynamic bit allocation
JP2956473B2 (ja) * 1994-04-21 1999-10-04 日本電気株式会社 ベクトル量子化装置
US5822456A (en) * 1994-07-14 1998-10-13 Johnson-Grace Optimal spline interpolation for image compression
JP2000511363A (ja) * 1994-07-14 2000-08-29 ジョンソン、グレイス、カンパニー 画像を圧縮するための方法及び装置
US5592227A (en) * 1994-09-15 1997-01-07 Vcom, Inc. Method and apparatus for compressing a digital signal using vector quantization
US5636231A (en) * 1995-09-05 1997-06-03 Motorola, Inc. Method and apparatus for minimal redundancy error detection and correction of voice spectrum parameters
US5889891A (en) * 1995-11-21 1999-03-30 Regents Of The University Of California Universal codebook vector quantization with constrained storage
US5835037A (en) * 1996-12-31 1998-11-10 Iterated Systems, Inc. Method and apparatus for modeling discrete data sequences by multiple vector representation
US7630895B2 (en) * 2000-01-21 2009-12-08 At&T Intellectual Property I, L.P. Speaker verification method
US6076055A (en) * 1997-05-27 2000-06-13 Ameritech Speaker verification method
EP0920204B1 (de) * 1997-11-24 2006-02-15 STMicroelectronics S.r.l. MPEG-2 Dekodierung mit reduziertem Speicherbedarf durch Rekomprimierung mit adaptiver baumstrukturierter Vektorquantisierung
JP4460903B2 (ja) * 2004-01-20 2010-05-12 株式会社東芝 半導体ウェーハのidマーク認識方法
EP3136727B1 (de) 2011-04-12 2018-06-13 Sun Patent Trust Bewegtvideocodierungsverfahren und bewegtvideocodierungsvorrichtung
CN107197247B (zh) 2011-05-24 2020-01-14 威勒斯媒体国际有限公司 图像编码方法及图像编码装置
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
TR201819396T4 (tr) 2011-05-27 2019-01-21 Sun Patent Trust Görüntü Kod Çözme Metodu Ve Görüntü Kod Çözme Cihazı
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
WO2012164908A1 (ja) 2011-05-31 2012-12-06 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
KR101888226B1 (ko) 2011-08-03 2018-08-13 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및, 동화상 부호화 복호화 장치
MX2014003991A (es) 2011-10-19 2014-05-07 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes y aparato de decodificacion de imagenes.
KR101821532B1 (ko) 2012-07-12 2018-03-08 노키아 테크놀로지스 오와이 벡터 양자화

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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
CA1226946A (en) * 1984-04-17 1987-09-15 Shigeru Ono Low bit-rate pattern coding with recursive orthogonal decision of parameters
DE3670746D1 (de) * 1985-12-04 1990-05-31 Siemens Ag Verfahren zur datenreduktion digitaler bildsignale durch vektorquantisierung.
IT1184023B (it) * 1985-12-17 1987-10-22 Cselt Centro Studi Lab Telecom Procedimento e dispositivo per la codifica e decodifica del segnale vocale mediante analisi a sottobande e quantizzazione vettorariale con allocazione dinamica dei bit di codifica
JP2527350B2 (ja) * 1987-02-25 1996-08-21 富士写真フイルム株式会社 ベクトル量子化による画像デ―タの圧縮および再構成装置
US4805193A (en) * 1987-06-04 1989-02-14 Motorola, Inc. Protection of energy information in sub-band coding
US4791654A (en) * 1987-06-05 1988-12-13 American Telephone And Telegraph Company, At&T Bell Laboratories Resisting the effects of channel noise in digital transmission of information

Also Published As

Publication number Publication date
US4922508A (en) 1990-05-01
EP0314018A3 (en) 1990-05-30
CA1311060C (en) 1992-12-01
EP0314018B1 (de) 1993-09-01
DE3883701D1 (de) 1993-10-07
EP0314018A2 (de) 1989-05-03

Similar Documents

Publication Publication Date Title
DE3883701T2 (de) Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung.
DE69518452T2 (de) Verfahren für die Transformationskodierung akustischer Signale
DE3789857T2 (de) System zur Komprimierung von Bildern mit mehreren Graustufen.
DE69737514T2 (de) System und verfahren zum bearbeiten wellenartiger und umgekehrten wellenartigen transformationen von digitalen daten
DE69227401T2 (de) Verfahren zum Kodieren und Dekodieren von Sprachsignalen
DE3853916T2 (de) Digitaler-sprachkodierer mit verbesserter vertoranregungsquelle.
DE69026292T2 (de) Methode zur Bilddatenkodierung
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69511390T2 (de) Quellencodierer mit voreingestellter qualität
DE69735679T2 (de) Verfahren zur Bilddecodierung
DE69527078T2 (de) Verfahren zur vektorkodierung und entsprechender kodierer/dekodierer
DE69133458T2 (de) Verfahren zur Sprachquantisierung und Fehlerkorrektur
DE69915400T2 (de) Vorrichtung zur Kodierung und Dekodierung von Audiosignalen
DE69132626T2 (de) Binärkodierungsverfahren mit gleichmässiger Umschaltung-Verteilung der binären Elemente und Inkrementierungs-Dekrementierungsverfahren dafür
DE3784942T2 (de) Duplex-datenuebertragung.
DE69425847T2 (de) Rechner für die inverse diskrete Cosinus-Transformation
DE69125775T2 (de) Sprachkodierungs- und Dekodierungssystem
DE69029232T2 (de) System und Methode zur Sprachkodierung
EP0421186B1 (de) Verfahren zur Codierung beliebig geformter Bildsegmente
DE69810361T2 (de) Verfahren und Vorrichtung zur mehrkanaligen akustischen Signalkodierung und -dekodierung
DE60017825T2 (de) Verfahren und Vorrichtung zur Kodierung und Dekodierung von Audiosignalen und Aufzeichnungsträger mit Programmen dafür
DE68925516T2 (de) Wirksames Kodierungsverfahren und zugehöriges Dekodierungsverfahren
DE68921949T2 (de) System zur Kodierung eines Bildsignals.
DE69629986T2 (de) Verfahren und Gerät zum Kodieren digitaler akustischer Signale
DE102006051673A1 (de) Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: HOFFMANN, E., DIPL.-ING., PAT.-ANW., 82166 GRAEFELFING