DE29825254U1 - Sprachcodierer und Sprachdecodierer - Google Patents

Sprachcodierer und Sprachdecodierer Download PDF

Info

Publication number
DE29825254U1
DE29825254U1 DE29825254U DE29825254U DE29825254U1 DE 29825254 U1 DE29825254 U1 DE 29825254U1 DE 29825254 U DE29825254 U DE 29825254U DE 29825254 U DE29825254 U DE 29825254U DE 29825254 U1 DE29825254 U1 DE 29825254U1
Authority
DE
Germany
Prior art keywords
vector
section
dispersion
random
code
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
DE29825254U
Other languages
English (en)
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27304940&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE29825254(U1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from JP28941297A external-priority patent/JP3235543B2/ja
Priority claimed from JP29513097A external-priority patent/JP3175667B2/ja
Priority claimed from JP08571798A external-priority patent/JP3174756B2/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE29825254U1 publication Critical patent/DE29825254U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

Abstract

Vorrichtung zum Erzeugen eines dispergierten Impulsvektors, die für eine Sprachcodier-/Decodiervorrichtung verwendet wird, wobei sie umfasst:
einen Impulsvektor-Generator, der so konfiguriert ist, dass er einen Impulsvektor erzeugt, der einen mit Vorzeichen versehenen Einheitspuls hat;
einen Dispersionsmuster-Speicher, der so konfiguriert ist, dass er eine Vielzahl festgelegter Dispersionsmuster speichert;
eine Dispersionsmuster-Auswähleinrichtung, die so konfiguriert ist, dass sie ein Dispersionsmuster aus der Vielzahl festgelegter Dispersionsmuster auswählt, wobei die Dispersionsmuster-Auswähleinrichtung enthält:
eine erste Auswähleinrichtung, die eine Vorauswahl von Dispersionsmustern der Vielzahl festgelegter Dispersionsmuster durchführt;
eine zweite Auswähleinrichtung, die das Dispersionsmuster aus dem vorausgewählten Dispersionsmuster bestimmt, das mit dem Impulsvektor zu falten ist;
eine Vorrichtung zum Erzeugen eines dispergierten Impulsvektors, die so konfiguriert ist, dass sie einen dispergierten Impulsvektor durch Falten des Impulsvektors und des ausgewählten Dispersionsmusters erzeugt.

Description

  • Die vorliegende Erfindung betrifft einen Sprachcodierer zum effizienten Codieren von Sprachinformationen sowie einen Sprachdecodierer zum effizienten Decodieren derselben.
  • Ein Sprachcodierverfahren zum effizienten Codieren und Decodieren von Sprachinformationen ist in den letzten Jahren entwickelt worden. In Code Excited Linear Prediction: "High Quality Speech at Low Bit Rate", M. R. Schroeder, Proc. ICASSP' 85, S.937–940, wird ein Sprachcodierer eines CELP-Typs beschrieben, der auf einem derartigen Sprachcodierverfahren basiert.
  • Bei diesem Sprachcodierer wird ein lineare Vorhersage bzw. Prädiktion für eine Eingabesprache in jedem Rahmen ausgeführt, der in festen Zeiten unterteilt ist. Ein Prädiktions-Restfehlersignal (Anregungssignal) wird durch die lineare Prädiktion für jeden Rahmen gewonnen. Dann wird das Prädiktions-Restfehlersignal unter Verwendung eines adaptiven Codebuchs, in dem ein vorangehendes Anregungssignal gespeichert wird, sowie unter Verwendung eines Zufalls-Codebuchs codiert, in dem eine Vielzahl zufälliger Codevektoren gespeichert ist.
  • 1 zeigt einen Funktionsblock eines herkömmlichen CELP-Sprachcodierers.
  • Ein Sprachsignal 11, das in den CELP-Sprachcodierer eingegeben wird, wird einer linearen Prädiktions-Analyse in einem linearen Prädiktions-Analysierabschnitt 12 unterzogen. Mit der linearen Prädiktions-Analyse können lineare Prädiktivkoeffizienten gewonnen werden. Die linearen Prädiktivkoeffizienten sind Parameter, die eine Spektrum-Hüllkurve des Sprachsignals 11 anzeigen. Die linearen Prädiktivkoeffizienten, die in dem linearen Prädiktions-Analyseabschnitt 12 gewonnen werden, werden von einem Abschnitt 13 zum Codieren linearer Prädiktivkoeffizienten quantisiert, und die quantisierten linearen Prädiktivkoeffizienten werden zu einem Abschnitt 14 zum Decodieren linearer Prädiktivkoeffizienten gesendet. Zu bemerken ist, dass ein durch diese Quantisierung gewonnener Index an einen Codeausgabeabschnitt 24 als ein linearer Prädiktvcode ausgegeben wird. Der Abschnitt 14 zum Decodieren linearer Prädiktivkoeffizienten decodiert die durch den Abschnitt 13 zum Codieren linearer Prädiktivkoeffzienten quantisierten linea ren Prädiktivkoeffizienten, um so Koeffizienten eines Synthesefilters zu gewinnen. Der Abschnitt 14 zum Decodieren linearer Prädiktivkoeffizienten gibt diese Koeffizienten an ein Synthesefilter 15 aus.
  • Ein adaptives Codebuch 17 ist von einem Typ, der eine Vielzahl von Kandidaten adaptiver Codevektoren ausgibt und der einen Puffer zum Speichern von Anregungssignalen umfasst, die mehreren vorangehenden Rahmen entsprechen. Die adaptiven Codevektoren sind Zeitreihenvektoren, die periodische Komponenten in der Eingabesprache ausdrücken.
  • Ein Zufalls-Codebuch 18 ist von dem Typ, das eine Vielzahl von Kandidaten zufälliger Codevektoren speichert. Die zufälligen Codevektoren sind Zeitreihenvektoren, die nicht-periodische Komponenten in der eingegebenen Sprache ausdrücken.
  • In einem Abschnitt 19 zur Gewichtung von adaptiver Code-Verstärkung und einem Abschnitt 20 zur Gewichtung zufälliger Code-Verstärkung werden die Kandidaten-Vektoren, die von dem adaptiven Codebuch 17 und dem Zufalls-Codebuch 18 ausgegeben werden, mit einer adaptiven Code-Verstärkung, die aus einem Gewicht-Codebuch 21 gelesen wird, bzw. einer zufälligen Code-Verstärkung multipliziert, und die Ergebnisse werden an einen Addierabschnitt 22 ausgegeben.
  • Das Gewichtungs-Codebuch speichert eine Vielzahl adaptiver Codebuch-Verstärkungen, mit denen der adaptive Codevektor multipliziert wird, sowie eine Vielzahl zufälliger Zufalls-Codebuch-Verstärkungen, mit denen die zufälligen Codebuchvektoren multipliziert werden.
  • Der Addierabschnitt 22 addiert die adaptiven Codevektor-Kandidaten und die zufälligen Codevektor-Kandidaten, die in dem Abschnitt 19 zum Gewichten adaptiver Code-Verstärkung bzw. dem Abschnitt 20 zum Gewichten zufälliger Code-Verstärkung gewichtet werden. Dann erzeugt der Addierabschnitt 22 Anregungsvektoren, die an das Synthesefilter 15 ausgegeben werden.
  • Das Synthesefilter 15 ist ein Allpol-Filter. Die Koeffizienten des Synthesefilters werden durch den Abschnitt 14 zum Decodieren linearer Prädiktivkoeffizienten gewonnen. Das Synthesefilter 15 dient dazu, Eingangs-Anregungsvektoren zu synthetisieren, um synthe tische Sprache zu erzeugen und diese synthetische Sprache an eine Verzerrungsberechnungseinrichtung 16 auszugeben.
  • Eine Verzerrungsberechnungseinrichtung 16 berechnet eine Verzerrung zwischen der synthetischen Sprache, die der Ausgang des Synthesefilters 5 ist, und der Eingangssprache 11 und gibt den ermittelten Verzerrungswert an einen Codeindex-Spezifizierungsabschnitt 23 aus. Der Codeindex-Spezifizierungsabschnitt 23 spezifiziert drei Typen von Codebuch-Indizes (Index des adaptiven Codebuchs, Index des Zufalls-Codebuchs, Index des Gewicht-Codebuchs), um die durch den Verzerrungsberechnungsabschnitt 16 berechnete Verzerrung zu minimieren. Die drei Typen von Codebuch-Indizes, die durch den Codeindex-Spezifizierungsabschnitt 23 spezifiziert werden, werden an einen Codeausgabeabschnitt 24 ausgegeben. Der Codeausgabeabschnitt 24 gibt den durch den Abschnitt 13 zum Codieren linearer Prädiktivkoeffizienten ermittelten Index des linearen prädiktiven Codebuchs, und den Index des adaptiven Codebuchs, den Index des Zufalls-Codebuchs, den Index des Gewicht-Codebuchs, die durch den Codeindex-Spezifizierungsabschnitt 23 spezifiziert worden sind, jeweils an einen Sendeweg aus.
  • 2 zeigt einen Funktionsblock eines CELP-Sprachdecodierers, der das durch den erwähnten Codierer codierte Sprachsignal decodiert. In dieser Sprachdecodiervorrichtung empfängt ein Codeeingabeabschnitt 31 von dem Sprachcodierer (1) gesendete Codes. Die empfangenen Codes werden in den Index des linearen prädiktiven Codebuchs, den Index des adaptiven Codebuchs, den Index des Zufalls-Codebuchs und den Index des Gewicht-Codebuchs zerlegt. Dann werden die mit der oben erwähnten Zerlegung ermittelten Indizes an einen Abschnitt 32 zum Decodieren linearer Prädiktivkoeffizienten, ein adaptives Codebuch 33, ein Zufalls-Codebuch 34 bzw. ein Gewicht-Codebuch 35 ausgegeben.
  • Dann decodiert der Abschnitt 32 zum Decodieren linearer Prädiktivkoeffizienten, die durch den Codeeingabeabschnitt 31 ermittelte lineare Prädiktiv-Codenummer, um Koeffizienten des Synthesefilters zu ermitteln, und gibt diese Koeffizienten an ein Synthesefilter 39 aus. Dann wird ein adaptiver Codevektor, der dem Index des adaptiven Codebuchs entspricht, aus dem adaptiven Codebuch gelesen, und ein zufälliger Codevektor, der dem Index des Zufalls-Codebuchs entspricht, wird aus dem Zufalls-Codebuch gelesen. Des Weiteren werden eine adaptive Codebuch-Verstärkung sowie eine Zufalls- Codebuch-Verstärkung aus dem Gewicht-Codebuch gelesen. Anschließend wird in einem Abschnitt 36 zum Gewichten des adaptiven Codevektors der adaptive Codevektor mit der adaptiven Codebuch-Verstärkung multipliziert, und das Ergebnis wird zu einem Addierabschnitt 38 gesendet. Desgleichen wird in einem Abschnitt 37 zum Gewichten des zufälligen Codevektors der zufällige Codevektor mit der Zufalls-Codebuch-Verstärkung multipliziert, und das Ergebnis wird zu dem Addierabschnitt 38 gesendet.
  • Der Addierabschnitt 38 addiert die oben erwähnten zwei Codevektoren und erzeugt einen Anregungsvektor. Dann wird der erzeugte Anregungsvektor zu dem adaptiven Codebuch 33 gesendet, um den Puffer oder das Synthesefilter 39 zu aktualisieren und das Filter anzuregen. Das Synthesefilter 39, das mit den linearen Prädiktivkoeffizienten zusammengesetzt wird, die von dem Abschnitt 32 zum Decodieren linearer Prädiktivkoeffizienten ausgegeben werden, wird durch den von dem Addierabschnitt 38 ermittelten Anregungsvektor angeregt und erzeugt eine synthetische Sprache.
  • Zu bemerken ist, dass in der Verzerrungsberechnungseinrichtung 16 des CELP-Sprachcodierers Verzerrung E im Allgemeinen mit dem folgenden Ausdruck (1) berechnet wird: E = ||v – (gaHP + gcHC)||2 (1)wobei
  • v:
    ein eingegebenes Sprachsignal (Vektor),
    H:
    eine Impulsantwort-Faltungsmatrix für ein Synthesefilter
    Figure 00040001
    wobei h eine Impulsantwort eines Synthesefilters ist und L eine Rahmenlänge ist,
    p:
    ein adaptiver Codevektor,
    c:
    ein zufälliger Codevektor,
    ga:
    eine adaptive Codebuch-Verstärkung
    gc:
    eine Zufalls-Codebuch-Verstärkung.
  • Dabei wird, um Verzerrung E von Ausdruck (1) zu minimieren, die Verzerrung mit einer geschlossenen Schleife in Bezug auf alle Kombinationen der adaptiven Codezahl der zufälligen Codezahl, der Gewicht-Codezahl berechnet, so dass es notwendig ist, jede Codezahl zu spezifizieren.
  • Wenn jedoch die Suche in geschlossener Schleife in Bezug auf Ausdruck (1) durchgeführt wird, wird eine Menge der Berechnungsbearbeitung zu groß. Aus diesem Grund wird zuerst der Index des adaptiven Codebuchs durch Vektorquantisierung unter Verwendung des adaptiven Codebuchs spezifiziert. Dann wird der Index des Zufalls-Codebuchs durch Vektorquantisierung unter Verwendung des Zufalls-Codebuchs spezifiziert. Abschließend wird der Index des Gewicht-Codebuchs durch Vektorquantisierung unter Verwendung des Gewicht-Codebuchs spezifiziert. Im Folgenden wird im Einzelnen die Vektorquantisierungsverarbeitung unter Verwendung des Zufalls-Codebuchs erläutert.
  • In einem Fall, in dem der Index des adaptiven Codebuchs oder die adaptive Codebuch-Verstärkung zuvor oder vorübergehend bestimmt werden, wird der Ausdruck zum Bewerten von Verzerrung, der in Ausdruck (1) dargestellt ist, zu dem folgenden Ausdruck (2) geändert: Ec = ||x – gcHC)||2 (2)wobei Vektor x in Ausdruck (2) ein zufälliger Anregungs-Zielvektor zum Spezifizieren einer Zufalls-Codezahl ist, die mit der folgenden Gleichung (3) unter Verwendung des zuvor oder vorübergehend spezifizierten adaptiven Codevektors und der adaptiven Codebuch-Verstärkung ermittelt wird. x = v – gaHP (3)wobei
  • ga:
    eine adaptive Codebuch-Verstärkung
    v:
    ein Sprachsignal (Vektor)
    H:
    eine Impulsantwort-Faltungsmatrix für ein Synthesefilter,
    p:
    ein adaptiver Codevektor
  • Um die Zufalls-Codebuch-Verstärkung gc nach dem Spezifizieren des Index des Zufalls-Codebuchs zu spezifizieren, kann angenommen werden, dass gc in dem Ausdruck (2) auf einen beliebigen Wert eingestellt werden kann. Es ist bekannt, dass aus diesem Grund eine Quantisierungsverarbeitung zum Spezifizieren des Index des Zufalls-Codebuchs, die den Ausdruck (2) minimiert, durch die Bestimmung des Index des Zufalls-Codebuchvektors ersetzt werden kann, wodurch er folgende Bruchausdruck (4) maximiert wird:
    Figure 00060001
  • Das heißt, in einem Fall, in dem der Index des adaptiven Codebuchs und die adaptive Codebuch-Verstärkung im Voraus oder vorübergehend bestimmt werden, wird Vektorquantisierungsverarbeitung für Zufalls-Anregung zu Verarbeitung zum Spezifizieren des Index des Zufalls-Codebuchs, wodurch Bruchausdruck (4) maximiert wird, der mit der Verzerrungsberechnungseinrichtung 16 berechnet wird.
  • In dem CELP-Codierer/Decodierer wurde in den frühen Phasen ein Typ als ein Zufalls-Codebuch verwendet, der Arten von Zufallssequenzen speichert, die der Anzahl von in dem Speicher zugeordneten Bits entsprechen. Es trat jedoch ein Problem dahingehend auf, dass ein erhebliches Maß an Speicherkapazität erforderlich war und das Maß an Rechenverarbeitung zum Berechnen von Verzerrung von Ausdruck (4) in Bezug auf jeden zufälligen Codevektor stark zunahm.
  • Als eines der Verfahren zum Lösen des obenstehenden Problems gibt es einen CELP-Sprachcodierer/-decodierer, der einen algebraischen Anregungsvektorgenerator zum algebraischen Erzeugen eines Anregungsvektors verwendet, wie er in 8KBITS/S ACELP CODING OF SPEECH WITH 10 MS SPEECH-FRAME: A CANDIDATE FOR CCITT STANDARDISATION". R. Salami, C. Laflamme, J-P. Adoul, ICASSP' 94, S. II-97~II-100, 1994, beschrieben ist.
  • Bei dem oben erwähnten CELP-Sprachcodierer/-decodierer, der einen algebraischen Anregungsvektorgenerator verwendet, wird jedoch zufällige Anregung (Zielvektor zum Spezifizieren eines Index des Zufalls-Codebuchs), die durch Gleichung (3) ermittelt wird, annähernd durch wenige Impulse mit Vorzeichen ausgedrückt. Aus diesem Grund gibt es eine Begrenzung hinsichtlich der Verbesserung der Sprachqualität. Dies ergibt sich aus einer konkreten Untersuchung eines Elementes für Zufallsanregung x aus Ausdruck (3), wobei es wenige Fälle gibt, in denen Zufalls-Anregungen aus lediglich wenigen Impulsen mit Vorzeichen zusammengesetzt sind.
  • Das Dokument "ACELP Coding with Dispersed-Pulse Codebook" IEICE Spring Meeting, März 1997, Seite 253, von K. Yasunaga et al. offenbart ein Verfahren zum Modifizieren der Vektoren, die unter Verwendung eines algebraischen Codebuchs erzeugt werden, das ein Dispersionsmuster pro Kanal verwendet.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, einen Anregungsvektorgenerator zu schaffen, der in der Lage ist, einen Anregungsvektor zu erzeugen, dessen Form eine statistisch hohe Ähnlichkeit mit der Form einer Zufalls-Anregung hat, die durch Analysieren eines Eingangs-Sprachsignals ermittelt wird.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, einen CELP-Sprachcodierer/-decodierer, ein Sprachsignal-Kommunikationssystem, ein Sprachsignal-Aufzeichnungssystem zu schaffen, die den oben genannten Anregungsvektorgenerator als ein Zufalls-Codebuch verwenden, um eine synthetische Sprache zu gewinnen, die eine höhere Qualität als in dem Fall hat, in dem ein algebraischer Anregungsvektorgenerator als ein Zufalls-Codebuch verwendet wird.
  • Ein erster Aspekt der vorliegenden Erfindung besteht darin, einen Anregungsvektorgenerator zu schaffen, der einen Impulsvektor-Erzeugungsabschnitt mit N Kanälen (N ≥ 1) zum Erzeugen von Impulsvektoren, die jeweils eine Impulseinheit mit Vorzeichen aufweisen, die für ein Element auf einer Vektorachse vorhanden ist, einen Speicher-und-Auswählabschnitt, dessen Funktion darin besteht, M (M > 1) Arten von Dispersionsmustern für jeden Kanal zu speichern, und darin, eine bestimmte Art von Dispersionsmuster aus M Arten gespeicherter Dispersionsmuster auszuwählen, einen Impulsvektor-Dispersionsabschnitt, dessen Funktion darin besteht, das aus dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt ausgewählte Dispersionsmuster auf den von dem Impulsvektor-Generator ausgegebenen Impulsvektor mit Vorzeichen zu falten, um N dispergierte Vektoren zu erzeugen, sowie einen Abschnitt zum Addieren dispergierter Vektoren umfasst, dessen Funktion darin besteht, N dispergierte Vektoren zu addieren, die durch den Impulsvektor-Dispersionsabschnitt erzeugt werden, um einen Anregungsvektor zu erzeu gen. Die Funktion zum algebraischen Erzeugen von (N ≥ 1) Impulsvektoren wird dem Impulsvektor-Generator verliehen, und der Dispersionsmuster-Speicher-und-Auswähl-Abschnitt speichert die Dispersionsmuster, die durch vorausgehendes Training der Form (Charakteristik) des tatsächlichen Vektors ermittelt werden, wodurch es möglich wird, den Anregungsvektor zu erzeugen, der der Form des tatsächlichen Anregungsvektors im Vergleich zu dem herkömmlichen algebraischen Anregungsgenerator sehr ähnlich ist.
  • Des Weiteren besteht der zweite Aspekt der vorliegenden Erfindung darin, einen CELP-Sprachcodierer/-decodierer zu schaffen, der den oben erwähnten Anregungsvektorgenerator als das Zufalls-Codebuch verwendet und der in der Lage ist, den Anregungsvektor zu erzeugen, der näher an der tatsächlichen Form ist als dies bei dem herkömmlichen Sprachcodierer/-decodierer der Fall ist, der den algebraischen Anregungsgenerator als das Zufalls-Codebuch verwendet. So können der Sprachcodierer/-decodierer, das Sprachsignal-Kommunikationssystem und das Sprachsignal-Aufzeichnungssystem geschaffen werden, die die synthetische Sprache ausgeben können, die eine höhere Qualität hat.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Funktions-Blockschaltbild eines herkömmlichen CELP-Sprachcodierers;
  • 2 ist ein Funktions-Blockschaltbild eines herkömmlichen CELP-Sprachdecodierers;
  • 3 ist ein Funktions-Blockschaltbild eines Anregungsvektorgenerators gemäß einer ersten Ausführung der vorliegenden Erfindung;
  • 4 ist ein Funktions-Blockschaltbild eines CELP-Sprachcodierers gemäß einer zweiten Ausführung der vorliegenden Erfindung;
  • 5 ist ein Funktions-Blockschaltbild eines CELP-Sprachdecodierers gemäß der zweiten Ausführung der vorliegenden Erfindung;
  • 6 ist ein Funktions-Blockschaltbild eines CELP-Sprachcodierers gemäß einer dritten Ausführung der vorliegenden Erfindung
  • 7 ist ein Funktions-Blockschaltbild eines CELP-Sprachcodierers gemäß einer vierten Ausführung der vorliegenden Erfindung;
  • 8 ist ein Funktions-Blockschaltbild eines CELP-Sprachcodierers gemäß einer fünften Ausführung der vorliegenden Erfindung;
  • 9 ist ein Funktions-Blockschaltbild einer Vektorquantisierungsfunktion gemäß der fünften Ausführung der vorliegenden Erfindung;
  • 10 ist eine Ansicht, die einen Algorithmus für eine Zielextraktion gemäß der fünften Ausführung der vorliegenden Erfindung erläutert;
  • 11 ist ein Funktions-Blockschaltbild einer prädiktiven Quantisierung gemäß der fünften Ausführung der vorliegenden Erfindung;
  • 12 ist ein Funktions-Blockschaltbild einer prädiktiven Quantisierung gemäß einer sechsten Ausführung der vorliegenden Erfindung;
  • 13 ist ein Funktions-Blockschaltbild eines CELP-Sprachcodierers gemäß einer siebten Ausführung der vorliegenden Erfindung; und
  • 14 ist ein Funktions-Blockschaltbild einer Verzerrungsberechnungseinrichtung gemäß der siebten Ausführung der vorliegenden Erfindung.
  • Ausführungen werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Erste Ausführung
  • 3 ist ein Funktions-Blockschaltbild eines Anregungsvektorgenerators gemäß einer ersten Ausführung der vorliegenden Erfindung.
  • Der Anregungsvektorgenerator umfasst einen Impulsvektorgenerator 101 mit einer Vielzahl von Kanälen, einen Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 mit Dispersionsmuster-Speicherabschnitten und Schalteinrichtungen, einen Impulsvektor-Dispersionsabschnitt 103 zum Dispergieren der Impulsvektoren und einen Abschnitt 104 für Addition dispergierter Vektoren zum Addieren der dispergierten Impulsvektoren für die Vielzahl von Kanälen.
  • Der Impulsvektorgenerator 101 umfasst N (in der vorliegenden Ausführung wird ein Fall, in dem N = 3, erläutert) Kanäle zum Erzeugen von Vektoren (im Folgenden als Impulsvektoren bezeichnet), die jeweils eine Impulseinheit mit Vorzeichen haben, die für ein Element auf einer Vektorachse vorhanden ist.
  • Der Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 umfasst Speicherabschnitte M1 bis M3 zum Speichern von M (in der vorliegenden Ausführung wird ein Fall, in dem M = 2, erläutert) Arten von Dispersionsmustern für jeden Kanal und Schalteinrichtungen SW1 bis SW2 zum Auswählen einer Art Schaltmuster aus M Arten von Schaltmustern, die in den jeweiligen Speicherabschnitten M1 bis M3 gespeichert sind.
  • Der Impulsvektor-Dispersionsabschnitt 103 führt Faltung der von dem Impulsvektorgenerator 101 ausgegebenen Impulsvektoren und der von dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 ausgegebenen Dispersionsmuster in jedem Kanal durch, um so N dispergierte Vektoren zu erzeugen.
  • Der Abschnitt 104 zum Addieren dispergierter Vektoren addiert N dispergierte Vektoren, die durch den Impulsvektor-Dispersionsabschnitt 103 erzeugt werden und erzeugt so einen Anwendungsvektor 105.
  • Zu bemerken ist, dass in der vorliegenden Ausführung ein Fall erläutert wird, in dem der Impulsvektorgenerator 101 algebraisch N (N = 3) Impulsvektoren gemäß der in der unten stehenden Tabelle 1 beschriebenen Regel erzeugt,.
  • TABELLE 1
    Figure 00110001
  • Eine Funktion des wie oben beschrieben aufgebauten Anregungsvektorgenerators wird im Folgenden erläutert.
  • Der Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 wählt ein Dispersionsmuster jeweils einer Art aus Dispersionsmustern aus, die in jeweils zwei Arten für jeden Kanal gespeichert sind und gibt das Dispersionsmuster aus. In diesem Fall wird die Zahl jedem Dispersionsmuster entsprechend den Kombinationen ausgewählter Dispersionsmuster zugewiesen (Gesamtzahl von Kombinationen: MN = 8).
  • Dann erzeugt der Impulsvektorgenerator 101 algebraisch die Impulsvektoren mit Vorzeichen entsprechend der Anzahl von Kanälen (in dieser Ausführung drei) gemäß der in Tabelle 1 beschriebenen Regel.
  • Der Impulsvektor-Dispersionsabschnitt 103 erzeugt einen dispergierten Vektor für jeden Kanal durch Falten der durch den Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 ausgewählten Dispersionsmuster mit den durch den Impulsvektorgenerator 101 erzeugten Impulsen mit Vorzeichen auf Basis des folgenden Ausdrucks (5):
    Figure 00110002
    wobei:
  • n:
    0 ~ L-1,
    L:
    Länge des dispergierten Vektors,
    i:
    Kanalnummer,
    j:
    Nummer des Dispersionsmusters (j = 1 ~ M),
    ci:
    dispergierter Vektor für den Kanal i,
    wij:
    Dispersionsmuster für den Kanal i, j, wobei die Vektorlänge von wij (m) 2L-1 (m: -(L-1) ~ L-1) beträgt und es das Element Lij ist, das den Wert spezifizieren kann, und die anderen Elemente sind Null,
    di:
    Impulsvektor mit Vorzeichen für Kanal i, di = ± δ(n-pi), n = 0 ~ L-1, und
    pi:
    Impulspositionskandidat für den Kanal i.
  • Der Abschnitt 104 zum Addieren dispergierter Vektoren addiert drei durch den Impulsvektor-Dispersionsabschnitt 103 erzeugte dispergierte Vektoren mit der folgenden Gleichung (6), um so den Anregungsvektor 105 zu erzeugen.
    Figure 00120001
    wobei
  • c:
    Anregungsvektor,
    ci:
    dispergierter Vektor,
    i:
    Kanalnummer (i = 1 ~ N), und
    n:
    Nummer des Vektorelements (n = 0 ~ L-1, wobei zu beachten ist, dass L eine Länge des Anregungsvektors ist).
  • Der wie oben beschriebene aufgebaute Anregungsvektorgenerator kann verschiedene Anregungsvektoren erzeugen, indem er Variationen zu den Kombinationen der Dispersionsmuster, die der Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 auswählt, sowie die Impulsposition und Polarität in dem Impulsvektor addiert, den der Impulsvektorgenerator 101 erzeugt.
  • Damit ist es mit dem wie oben beschrieben aufgebauten Anregungsvektorgenerator möglich, Bits zweier Arten von Informationen mit den Kombinationen von Dispersionsmustern, die durch den Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 ausgewählt werden, und den durch den Impulsvektorgenerator 101 erzeugten Kombinationen der Formen (der Impulspositionen und Polaritäten) zuzuordnen. Die Indizes dieses Anregungsvektorgenerators weisen eine Eins-zu-Eins-Entsprechung zu zwei Arten von Informationen auf. Des Weiteren wird eine Trainingsverarbeitung auf Basis tatsächlicher Anregungsinformationen im Voraus ausgeführt, und die als Ergebnis des Trainings zu gewinnenden Dispersionsmuster können in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 gespeichert werden.
  • Des Weiteren wird der oben beschriebene Anregungsvektorgenerator als der Anregungsinformationsgenerator des Sprachcodierers/-decodierers verwendet, um zwei Arten von Indizes einschließlich des Kombinationsindex von durch den Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 ausgewählten Dispersionsmustern, und des durch den Impulsvektorgenerator 101 erzeugten Kombinationsindex der Konfiguration (der Impulspositionen und Polaritäten) zu übertragen, wodurch es möglich wird, Informationen über Zufalls-Anregung zu übertragen.
  • Des Weiteren ermöglicht der Einsatz des wie oben beschrieben aufgebauten Anregungsvektorgenerators verglichen mit dem Einsatz des algebraischen Codebuchs, dass die Konfiguration (Charakteristik) erzeugt wird, die tatsächlichen Anregungsinformationen gleicht.
  • Die oben beschriebene Ausführung diente der Erläuterung des Falls, in dem der Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 102 zwei Arten von Dispersionsmustern pro Kanal speicherte. Ähnliche Funktion und Wirkung lassen sich jedoch in einem Fall erzielen, in dem andere Dispersionsmuster als die zwei Arten jedem Kanal zugeordnet werden.
  • Des Weiteren diente die oben stehende Ausführung der Erläuterung des Falls, in dem der Impulsvektorgenerator 101 auf der Struktur mit drei Kanälen und der in Tabelle beschriebenen Impulserzeugungsregel basierte. Ähnliche Funktion und Wirkung lassen sich jedoch in einem Fall erzielen, in dem die Anzahl von Kanälen anders ist, sowie in einem Fall, in dem eine andere Impulserzeugungsregel als die in Tabelle 1 als eine Impulserzeugungsregel verwendet wird.
  • Ein Sprachsignal-Kommunikationssystem oder ein Sprachsignal-Aufzeichnungssystem wird mit dem oben beschriebenen Anregungsvektorgenerator oder dem Sprachcodierer/ -decodierer aufgebaut, so dass die Funktionen und Wirkungen erreicht werden, die der oben beschriebene Anregungsvektorgenerator aufweist.
  • Zweite Ausführung
  • 4 zeigt einen Funktionsblock einen CELP-Sprachcodierers gemäß der zweiten Ausführung und 5 zeigt einen Funktionsblock eines CELP-Sprachdecodierers.
  • Der CELP-Sprachcodierer gemäß der vorliegenden Ausführung wendet den Anregungsvektorgenerator, der in der ersten Ausführung erläutert wird, auf das Zufalls-Codebuch des CELP-Sprachcodierers in 1 an. Des Weiteren wendet der CELP-Sprachcodierer gemäß der vorliegenden Ausführung den Anregungsvektorgenerator, der in der ersten Ausführung erläutert wird, auf das Zufalls-Codebuch des CELP-Sprachdecodierers in 2 an. Daher ist die Verarbeitung mit Ausnahme der Vektorquantisierungsverarbeitung für Zufalls-Anregung die gleiche wie die der Vorrichtungen in 1 und 2. Die vorliegende Ausführung dient der Erläuterung des Sprachcodierers und des Sprachdecodierers mit besonderer Betonung der Vektorquantisierungsverarbeitung für Zufalls-Anregung. Desgleichen basiert ähnlich wie bei der ersten Ausführung die Erzeugung von Impulsvektoren auf Tabelle 1, wobei die Anzahl von Kanälen N 3 beträgt und die Anzahl von Dispersionsmustern für einen Kanal M 2 beträgt.
  • Die Vektorquantisierungsverarbeitung für Zufalls-Anregung in dem in 4 dargestellten Sprachcodierer ist von dem Typ, bei dem zwei Arten von Indizes (Kombinationsindex für Dispersionsmuster und Kombinationsindex für Impulspositionen und Impulspolaritäten) spezifiziert werden, um Bezugswerte in Ausdruck (4) zu maximieren.
  • In einem Fall, in dem der Anregungsvektorgenerator, der in 3 dargestellt ist, als ein Zufalls-Codebuch verwendet wird, werden der Kombinationsindex für Dispersionsmuster (acht Arten) und der Kombinationsindex für Impulsvektoren (der Fall, in dem die Polarität betrachtet wird: 16384 Arten) mit einer geschlossenen Schleife durchsucht.
  • Aus diesem Grund wählt ein Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 215 eine von zwei Arten von Dispersionsmustern aus, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt selbst gespeichert sind und gibt die ausgewählten Dispersionsmuster an einen Impulsvektordispersionsabschnitt 217 aus. Anschließend zeugt ein Impulsvektorgenerator 216 algebraisch Impulsvektoren, die der Anzahl von Kanälen (in der vorliegenden Ausführung drei) entsprechen, gemäß der in Tabelle 1 beschriebenen Regel, und gibt die erzeugten Impulsvektoren an den Impulsvektor-Dispersionsabschnitt 217 aus.
  • Der Impulsvektor-Dispersionsabschnitt 217 erzeugt einen dispergierten Vektor für jeden Kanal durch Faltungsberechnung. Die Faltungsberechnung wird auf Basis des Ausdruck (5) unter Verwendung der durch den Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 215 ausgewählten Dispersionsmuster und der durch den Impulsvektorgenerator 216 erzeugten Impulse mit Vorzeichen durchgeführt.
  • Ein Abschnitt 218 zum Addieren von Dispersionsvektoren addiert die durch den Impulsvektor-Dispersionsabschnitt 217 ermittelten dispergierten Vektoren und erzeugt so Anregungsvektoren (Kandidaten für zufällige Codevektoren).
  • Dann berechnet eine Verzerrungsberechnungseinrichtung 206 Bewertungswerte gemäß dem Ausdruck (4) unter Verwendung des zufälligen Codevektor-Kandidaten, der durch den Abschnitt 218 zum Addieren dispergierter Vektoren ermittelt wird. Die Berechnung auf Basis des Ausdrucks (4) wird in Bezug auf alle Kombinationen der Impulsvektoren ausgeführt, die auf Basis der Regel aus Tabelle 1 erzeugt werden. Dann werden von den berechneten Werten der Kombinationsindex für Dispersionsmuster und der Kombinationsindex für Impulsvektoren (Kombination der Impulspositionen und der Polaritäten), die ermittelt werden, wenn der Bewertungswert durch den Ausdruck (4) ein Maximum erreicht, und der Maximalwert an einen Codenummer-Spezifizierungsabschnitt 213 ausgegeben.
  • Danach wählt der Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 215 die Kombination für Dispersionsmuster aus, die sich von der zuvor ausgewählten Kombination für die Dispersionsmuster unterscheidet. Bezüglich der Kombination für neu ausgewählte Dispersionsmuster wird die Berechnung des Wertes von Ausdruck (4) bezüglich aller Kombinationen der durch den Impulsvektorgenerator 216 auf Basis der Regel aus Tabelle erzeugten Impulsvektoren ausgeführt. Dann werden von den berechneten Werten der Kombinationsindex für Dispersionsmuster und der Kombinationsindex für Impulsvektoren, die ermittelt werden, wenn der Wert von Ausdruck (4) ein Maximum erreicht, und der Maximalwert wieder an den Codeindex-Spezifizierungsabschnitt 213 ausgegeben.
  • Die oben beschriebenen Verarbeitung wird bezüglich aller Kombinationen (Gesamtzahl von Kombinationen beträgt in dieser Ausführung acht) wiederholt, die aus den in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 215 gespeicherten Dispersionsmustern ausgewählt werden können.
  • Der Codeindex-Spezifizierungsabschnitt 213 vergleicht insgesamt acht Maximalwerte, die durch die Verzerrungsberechnungseinrichtung 206 berechnet werden, und wählt den höchsten Wert von allen aus. Dann spezifiziert der Codeindex-Spezifizierungsabschnitt 213 zwei Arten von Kombinationsindizes (Kombinationsindex für Dispersionsmuster, Kombinationsindex für Impulsvektoren), die ermittelt werden, wenn der Höchstwert erzeugt wird, und gibt die spezifizierten Kombinationsindizes an einen Codeausgabeabschnitt 214 als einen Index des Zufalls-Codebuchs aus.
  • Andererseits empfängt in dem Sprachdecodierer in 5 ein Code-Eingabeabschnitt 301 von dem Sprachcodierer (4) gesendete Codes, zerlegt die empfangenen Codes in den entsprechenden Index des LPC-Codebuchs, den Index des adaptiven Codebuchs, den Index des Zufalls-Codebuchs (aus zwei Arten des Kombinationsindex für Dispersionsmuster und des Kombinationsindex für Impulsvektoren zusammengesetzt) und den Index des Gewicht-Codebuchs. Dann gibt der Code-Eingabeabschnitt 301 die zerlegten Indizes an einen LPC (linear prediction coefficient)-Decoder 302, ein adaptives Codebuch, ein Zufalls-Codebuch 304 und ein Gewicht-Codebuch 305 aus. Zu bemerken ist, dass in der Zufalls-Codenummer der Kombinationsindex für Dispersionsmuster an einen Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 311 ausgegeben wird und der Kombinationsindex für Impulsvektoren an einen Impulsvektorgenerator 312 ausgegeben wird.
  • Dann decodiert der LPC-Decodierer 302 die LPC-Nummer, ermittelt die Koeffizienten für ein Synthesefilter 309 und gibt die ermittelten Koeffizienten an das Synthesefilter 309 aus. In dem adaptiven Codebuch 303 wird ein adaptiver Codevektor, der dem Index des adaptiven Codebuchs entspricht, ausgelesen.
  • In dem Zufalls-Codebuch 304 liest der Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 311 die Dispersionsmuster aus, die dem Kombinationsindex für Dispersionsimpulse in jedem Kanal entsprechen, und gibt das Ergebnis an einen Impulsvektor- Dispersionsabschnitt 313 aus. Der Impulsvektorgenerator 312 erzeugt die Impulsvektoren, die dem Kombinationsindex für Impulsvektoren entsprechen und der Anzahl von Kanälen entsprechen, und gibt das Ergebnis an den Impulsvektor-Dispersionsabschnitt 313 aus. Der Impulsvektor-Dispersionsabschnitt 313 erzeugt einen dispergierten Vektor für jeden Kanal durch Falten der von dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 311 empfangenen Dispersionsmuster auf die von dem Impulsvektorgenerator 312 empfangenen Impulse mit Vorzeichen. Dann werden die erzeugten dispergierten Vektoren an einen Abschnitt 314 zum Addieren von Dispersionsvektoren ausgegeben. Der Abschnitt 314 zum Addieren von Dispersionsvektoren addiert die dispergierten Vektoren der jeweiligen Kanäle, die durch den Impulsvektor-Dispersionsabschnitt 313 erzeugt werden, und erzeugt so einen zufälligen Codevektor.
  • Dann werden eine adaptive Codebuch-Verstärkung und eine Zufalls-Codebuch-Verstärkung, die dem Index des Gewicht-Codebuchs entsprechen, aus dem Gewicht-Codebuch 305 gelesen. Anschließend wird in einem Abschnitt 306 zum Gewichten adaptiver Codevektoren der adaptive Codevektor mit der adaptiven Codebuch-Verstärkung multipliziert. Desgleichen wird in einem Abschnitt 307 zum Gewichten zufälliger Codevektoren der zufällige Codevektor mit der Zufalls-Codebuch-Verstärkung multipliziert. Dann werden diese Ergebnisse an einen Addierabschnitt 308 ausgegeben.
  • Der Addierabschnitt 308 addiert die ober aufgeführten mit den Verstärkungen multiplizierten zwei Codevektoren, um einen Anregungsvektor zu erzeugen. Dann gibt der Addierabschnitt 308 den erzeugten Anregungsvektor an das adaptive Codebuch 303 aus, um einen Puffer zu aktualisieren, oder an das Synthesefilter 309, um das Synthesefilter anzuregen.
  • Das Synthesefilter 309 wird durch den von dem Addierabschnitt 308 ermittelten Anregungsvektor angeregt und reproduziert eine synthetische Sprache 310. Des Weiteren aktualisiert das adaptive Codebuch 303 den Puffer mit dem von dem Addierabschnitt 308 empfangenen Anregungsvektor.
  • In diesem Fall wird davon ausgegangen, dass die durch vorausgehendes Training ermittelten Dispersionsmuster für jeden Kanal in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt in 4 und 5 gespeichert sind, so dass ein Wert der Kostenfunktion kleiner wird, wobei die Kostenfunktion ein Ausdruck (7) der Verzerrungsbewertung ist, in dem der in Ausdruck (6) beschriebene Anregungsvektor für c in Ausdruck (2) eingesetzt ist.
    Figure 00180001
    wobei
  • x:
    Zielvektor zum Spezifizieren des Index des Zufalls-Codebuchs,
    gc:
    Zufalls-Codebuch-Verstärkung,
    H:
    Impulsantwort-Faltungsmatrix für Synthesefilter,
    c:
    zufälliger Codevektor,
    ci:
    Kanalnummer (ii = 1 ~ N)
    j:
    Nummer des Dispersionsmusters (j = 1 ~ M),
    ci:
    Dispersionsvektor für Kanal i,
    wij:
    Dispersionsmuster für Kanäle i-ter, j-ter Art,
    di:
    Impulsvektor für Kanal i, und
    L:
    Länge des Anregungsvektors (N = 0 ~ L-1).
  • Die oben stehende Ausführung diente der Erläuterung des Falls, in dem der durch vorausgehendes Training ermittelten Dispersionsmuster M für M für jeden Kanal in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt so gespeichert wurden, dass der Wert des Kastenfunktions-Ausdrucks (7) kleiner wird.
  • Jedoch müssen tatsächlich nicht alle M Dispersionsmuster durch Training ermittelt werden. Wenn wenigstens eine Art Dispersionsmuster, die durch Training ermittelt wird, gespeichert ist, ist es möglich, die Funktionen und Wirkungen zum Verbessern der Qualität der synthetisierten Sprache zu erzielen.
  • Des Weiteren erläuterte die oben aufgeführte Ausführung den Fall, in dem aus allen Kombinationen von Dispersionsmustern, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt gespeichert sind, und allen Kombinationen von Impulswektorpositions-Kandidaten, die durch den Impulsvektorgenerator erzeugt werden, der Kombinationsindex, der den Bezugswert von Ausdruck (4) maximierte, durch die geschlossene Schleife spezifiziert wurde. Die gleichen Funktionen und Wirkungen können jedoch erzielt werden, indem eine Vorauswahl auf Basis anderer Parameter (ideale Verstärkung für adaptiven Codevektor usw.) ausgeführt wird, die ermittelt wurden, bevor der Index des Zufalls-Codebuchs spezifiziert wurde, oder durch eine Suche mit offener Schleife.
  • Darüber hinaus wird ein Sprachsignal-Kommunikationssystem oder ein Sprachsignal-Aufzeichnungssystem mit dem oben beschriebenen Sprachcodierer/-decodierer aufgebaut, um so die Wirkungen und Effekte zu erzielen, die der Anregungsvektorgenerator hat, der in der ersten Ausführung beschrieben ist.
  • Dritte Ausführung
  • 6 ist ein Funktionsblock eines CELP-Sprachcodierers gemäß der dritten Ausführung. In dieser Ausführung wird in dem CELP-Sprachcodierer, der den Anregungsvektorgenerator der ersten Ausführung in dem Zufalls-Codebuch verwendet, eine Vorauswahl für Dispersionsmuster, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt gespeichert sind, unter Verwendung des Wertes einer idealen adaptiven Codebuchverstärkung ausgeführt, die vor dem Suchen des Index des Zufalls-Codebuchs ermittelt wird. Die anderen Teile der Peripherie des Zufalls-Codebuchs sind die gleichen wie die des CELP-Sprachcodierers in 4. Daher erläutert die vorliegende Ausführung die Vektorquantisierungsbearbeitung für Zufallsanregung in dem CELP-Sprachcodierer in 6.
  • Dieser CELP-Sprachcodierer umfasst ein adaptives Codebuch 407, einen Abschnitt zum Gewichten einer adaptiven Codebuch-Verstärkung, ein Zufalls-Codebuch 408, das durch den in der ersten Ausführung erläuterten Anregungsvektorgenerator gebildet wird, einen Abschnitt 410 zum Gewichten einer Zufalls-Codebuch-Verstärkung, ein Synthesefilter 405, eine Verzerrungsberechnungseinrichtung 406, einen Index-Spezifzierungsabschnitt 413, einen Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 415, einen Impulsvektorgenerator 416, einen Impulsvektor-Dispersionsabschnitt 417, einen Abschnitt 418 zum Addieren dispergierter Vektoren sowie einen Verzerrungsleistungs-Feststellabschnitt 419.
  • In diesem Fall wird gemäß der obenstehenden Ausführung davon ausgegangen, dass wenigstens eine von M (M ≥ 2) Arten von Dispersionsmustern, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 415 gespeichert sind, das Dispersionsmuster ist, das aus dem Ergebnis durch Durchführen eines vorausgehenden Trainings zum Reduzieren von Quantisierungsverzerrung ermittelt wird, die bei Vektorquantisierungsverarbeitung für Zufalls-Anregung erzeugt wird.
  • Bei dieser Ausführung wird, um die Erläuterung zu vereinfachen, angenommen, dass die Anzahl N von Kanälen des Impulsvektorgenerators 3 beträgt und die Anzahl von Arten von Dispersionsmustern für jeden Kanal, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt gespeichert sind, 2 beträgt. Des Weiteren wird davon ausgegangen, dass eine von M (M = 2) Arten von Dispersionsmustern ein Dispersionsmuster ist, das durch das oben erwähnte Training ermittelt wird, und das andere eine Zufallsvektorsequenz (im Folgenden als Zufallsmuster bezeichnet) ist, die durch einen Zufallsvektor-Generator erzeugt wird. Des Weiteren ist bekannt, dass das Dispersionsmuster, das mit dem oben erwähnten Training ermittelt wird, eine relativ kurze Länge und eine impulsartige Form wie in w11 in 3 hat.
  • In dem CELP-Sprachcodierer in 6 wird Verarbeiten zum Spezifizieren des Index des adaptiven Codebuchs vor Vektorquantisierung von Zufalls-Anregung ausgeführt. Daher ist es, wenn Vektorquantisierungsverarbeitung von Zufalls-Anregung ausgeführt wird, möglich, auf den Index des aktiven Codebuchs und die ideale adaptive Codebuch-Verstärkung (temporär festgelegt) Bezug zu nehmen. In dieser Ausführung wird die Vorauswahl für Dispersionsmuster unter Verwendung des Wertes der idealen aktiven Codebuch-Verstärkung ausgeführt.
  • Das heißt, zuerst wird der ideale Wert der adaptiven Codebuch-Verstärkung, der in dem Codeindex-Spezifizierungsabschnitt 413 unmittelbar nach der Suche nach dem Index des adaptiven Codebuchs gespeichert wird, an die Verzerrungsberechnungseinrichtung 406 ausgegeben. Die Verzerrungsberechnungseinrichtung 406 gibt die von dem Codeindex-Spezifizierungsabschnitt 413 empfangene adaptive Codebuch-Verstärkung an den Abschnitt 419 zum Feststellen der adaptiven Codebuch-Verstärkung aus.
  • Der Abschnitt 419 zum Feststellen adaptiver Verstärkung führt einen Vergleich zwischen dem von der Verzerrungsberechnungseinrichtung 409 empfangenen Wert der idealen adaptiven Codebuch-Verstärkung und einem voreingestellten Schwellenwert durch. Dann sendet der Abschnitt 419 zum Feststellen der adaptiven Codebuch-Verstärkung ein Steuersignal für eine Vorauswahl zu dem Dispersionsmuster-Speicher-und-Auswähl- Abschnitt 415 auf Basis des Ergebnisses des Vergleichs. Der Inhalt des Steuersignals wird im Folgenden erläutert.
  • Das heißt, wenn die adaptive Codebuch-Verstärkung als Ergebnis des Vergleichs größer ist als der Schwellenwert, erzeugt das Steuersignal einen Befehl zum Auswählen des Dispersionsmusters, das durch das vorausgehende Training ermittelt wurde, um die Quantisierungsverzerrung bei Vektorquantisierungsverarbeitung für Zufalls-Anregungen zu reduzieren. Des Weiteren erzeugt, wenn die adaptive Code-Verstärkung als Ergebnis des Vergleichs nicht größer ist als der Schwellenwert, das Steuersignal einen Befehl zum Ausführen der Vorauswahl für das Dispersionsmuster, das sich von dem Dispersionsmuster unterscheidet, das als Ergebnis des vorausgehenden Trainings ermittelt wird.
  • Dadurch kann in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 419 das Dispersionsmuster von M (M = 2) Arten, das die jeweiligen Kanäle speichern, entsprechend dem Wert der idealen adaptiven Codebuch-Verstärkung vorausgewählt werden, so dass die Anzahl von Kombinationen von Dispersionsmustern erheblich reduziert werden kann. Dadurch fällt die Notwendigkeit der Verzerrungsberechnung für alle Kombinationen der Dispersionsmuster weg, und es wird möglich, die Vektorquantisierungsverarbeitung für Zufalls-Anregung mit einer geringen Menge an Berechnungen effizient durchzuführen.
  • Des Weiteren ist der Zufalls-Codevektor impulsartig geformt, wenn der Wert der adaptiven Verstärkung groß ist (dieses Segment wird als stimmhaft bestimmt) und ist willkürlich geformt, wenn der Wert der adaptiven Verstärkung gering ist (dieses Segment wird als stimmlos bestimmt). Daher kann, da der Zufalls-Codevektor mit einer geeigneten Form für das stimmhafte Segment des Sprachsignals und das stimmlose Segment verwendet werden kann, die Qualität der synthetischen Sprache verbessert werden.
  • Aufgrund der Vereinfachung der Erläuterung erläuterte die vorliegende Ausführung einschränkend den Fall, in dem die Anzahl in von Kanälen des Impulsvektorgenerators 3 betrug und die Anzahl M von Arten der Dispersionsmuster pro Kanal, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt gespeichert sind, 2 betrug. Ähnliche Wirkungen und Funktionen können jedoch in einem Fall erzielt werden, in dem die Anzahl von Kanälen des Impulsvektorgenerators und die Anzahl von Arten der Dispersionsmuster pro Kanal, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt gespeichert sind, sich von dem oben erwähnten Fall unterscheiden.
  • Des Weiteren erläuterte die oben stehende Ausführung aufgrund der Vereinfachung der Erläuterung den Fall, in dem eine von M Arten (M = 2) von Dispersionsmustern, die in jedem Kanal gespeichert sind, ein Dispersionsmuster war, das mit dem oben erwähnten Training ermittelt wurde, und das andere ein Zufalls-Muster war. Wenn jedoch wenigstens eine Art Dispersionsmuster, die mit dem Training ermittelt wird, für jeden Kanal gespeichert wird, können anstelle des oben erläuterten Falls gleiche Wirkungen und Funktionen erwartet werden.
  • Des Weiteren erläuterte die vorliegende Ausführung den Fall, in dem Informationen über große oder kleine adaptive Codebuch-Verstärkung in Einrichtungen zum Durchführen von Vorauswahl der Dispersionsmuster verwendet wurden. Wenn jedoch andere Parameter, die einen kurzzeitigen Charakter der Eingangssprache zeigen, zusätzlich zu Informationen über große oder kleine adaptiven Codebuch-Verstärkung verwendet werden, sind weiterhin die gleichen Wirkungen und Funktionen zu erwarten.
  • Des Weiteren wird ein Sprachsignal-Kommunikationssystem oder ein Sprachsignal-Aufzeichnungssystem mit dem oben beschriebenen Sprachcodierer/-decodierer aufgebaut, so dass die Funktionen und Wirkungen erzielt werden, die der in der ersten Ausführung beschriebene Anregungsvektorgenerator hat.
  • Bei der Erläuterung der oben stehenden Ausführung wurde das Verfahren erläutert, bei dem die Vorauswahl des Dispersionsmusters unter Verwendung der idealen adaptiven Codebuch-Verstärkung des aktuellen Rahmens ausgeführt wurde, wenn Vektorquantisierungsverarbeitung von Zufalls-Anregung durchgeführt wurde. Die gleiche Struktur kann jedoch auch in einem Fall eingesetzt werden, in dem eine decodierte adaptive Codebuch-Verstärkung, die in dem vorangehenden Rahmen ermittelt wird, anstelle der idealen adaptiven Codebuch-Verstärkung in dem aktuellen Rahmen verwendet wird. In diesem Fall können ebenfalls die gleichen Wirkungen erzielt werden.
  • Vierte Ausführung
  • 7 ist ein funktionales Blockschaltbild eines CELP-Sprachcodierers gemäß der vierten Ausführung. In dieser Ausführung wird in dem CELP-Sprachcodierer, der den Anregungsvektorgenerator der ersten Ausführung in dem Zufalls-Codebuch verwendet, eine Vorauswahl für eine Vielzahl von Dispersionsmustern, die in dem Dispersionsmuster-Speicher-und-Auswählabschnitt gespeichert sind, unter Verwendung verfügbarer Informationen zur Zeit von Vektorquantisierungsverarbeitung für Zufalls-Anregungen ausgeführt. Kennzeichnend ist, dass ein Wert einer Codierverzerrung (durch ein Signal-Rausch-Verhältnis ausgedrückt), der beim Spezifizieren des Index des adaptiven Codebuches erzeugt wird, als ein Bezug der Vorauswahl verwendet wird.
  • Zu bemerken ist, dass die anderen Abschnitte der Zufalls-Codebuch-Peripherie die gleichen sind wie die des CELP-Sprachcodierers in 4. Daher erläutert die vorliegende Ausführung speziell die Vektorquantisierungsverarbeitung für Zufalls-Anregung.
  • Dieser CELP-Sprachcodierer umfasst, wie in 7 dargestellt, ein adaptives Codebuch 507, einen Abschnitt 509 zum Gewichten der adaptiven Codebuch-Verstärkung, ein Zufalls-Codebuch 508, das durch den in der ersten Ausführung erläuterten Anregungsvektorgenerator gebildet wird, einen Abschnitt 510 zum Gewichten der Zufalls-Codebuch-Verstärkung, ein Synthesefilter 505, eine Verzerrungsberechnungseinrichtung 506, einen Codeindex-Spezifizierungsabschnitt 513, einen Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 515, einen Impulsvektorgenerator 516, einen Impulsvektor-Dispersionsabschnitt 517, einen Abschnitt 518 zum Addieren dispergierten Vektoren, und einen Codierverzerrungs-Feststellabschnitt 519.
  • In diesem Fall wird gemäß der oben stehenden Ausführung angenommen, dass wenigstens eine von M (M = ≧ 2) Arten von Dispersionsmustern, die in dem Dispersionsmuster-Speicher-und-Auswählabschnitt 515 gespeichert sind, das Zufalls-Muster ist.
  • In der oben stehenden Ausführung beträgt, um die Erläuterung zu vereinfachen, die Anzahl N von Kanälen des Impulsvektorgenerators 3, und die Anzahl M von Arten der Dispersionsmuster, die in dem Dispersionsmuster-Speicher-und-Auswählabschnitt gespeichert sind, beträgt 2 pro Kanal. Des Weiteren ist eine von M (M = 2) Arten von Dispersionsmustern das Zufalls-Muster, und die andere ist das Dispersionsmuster, das als Ergebnis von vorausgehendem Training zur Reduzierung von Quantisierungsverzerrung ermittelt wird, die bei Vektorquantisierungsverarbeitung für Zufalls-Anregungen erzeugt wird.
  • In dem CELP-Sprachcodierer in 7 wird Verarbeitung zum Spezifizieren des Index des adaptiven Codebuches durchgeführt, bevor Vektorquantisierungsbearbeitung für Zufalls-Anregung durchgeführt wird. Daher ist es, wenn Vektorquantisierungsverarbeitung von Zufalls-Anregung ausgeführt wird, möglich, auf den Index des adaptiven Codebuchs, die ideale adaptive Codebuch-Verstärkung (temporär festgelegt) und den Zielvektor Bezug zu nehmen, um das adaptive Codebuch zu suchen. In dieser Ausführung wird die Vorauswahl für Dispersionsmuster unter Verwendung der Codierverzerrung (als Signal-Rausch-Verhältnis ausgedrückt) des adaptiven Codebuchs ausgeführt, die aus den drei oben stehenden Informationen berechnet werden kann.
  • Das heißt, der Index des adaptiven Codebuchs und der Wert der adaptiven Codebuch-Verstärkung (ideale Verstärkung), die in dem Codeindex-Spezifizierungsabschnitt 513 unmittelbar nach der Suche nach dem adaptiven Codebuch gespeichert wird, wird an die Verzerrungsberechnungseinrichtung 506 ausgegeben. Die Verzerrungsberechnungseinrichtung 506 berechnet die Codierverzerrung (Signal-Rausch-Verhältnis), die durch Spezifizieren des Index des adaptiven Codebuchs erzeugt wird, unter Verwendung des Index des adaptiven Codebuchs, der von dem Codeindex-Spezifizierungsabschnitt 513 empfangen wird, der adaptiven Codebuch-Verstärkung und des Zielvektors zum Suchen des adaptiven Codebuches. Dann gibt die Verzerrungsberechnungseinrichtung 506 den berechneten Signal-Rausch-Wert an den Codierverzerrungs-Feststellabschnitt 519 aus.
  • Der Codierverzerrungs-Feststellabschnitt 519 führt einen Vergleich zwischen dem von der Verzerrungsberechnungseinrichtung 506 empfangenen Signal-Rausch-Wert und einem voreingestellten Schwellenwert durch. Dann sendet der Codierverzerrungs-Feststellabschnitt 519 auf Basis des Ergebnisses des Vergleichs ein Steuersignal für eine Vorauswahl an den Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 515. Der Inhalt des Steuersignals wird im Folgenden erläutert.
  • Das heißt, wenn der Signal-Rausch-Wert als Ergebnis des Vergleichs größer ist als der Schwellenwert, erzeugt das Steuersignal einen Befehl zum Auswählen des Dispersionsmusters, das durch das vorausgehende Training ermittelt wird, um die Quantisierungsverzerrung zu reduzieren, die durch Codieren des Zielvektors zum Suchen des Zufalls-Codebuchs erzeugt wird. Des Weiteren erzeugt das Steuersignal, wenn der Signal-Rausch-Wert als Ergebnis des Vergleichs kleiner ist als der Schwellenwert, einen Befehl zum Auswählen der nicht impulsartigen Zufalls-Muster.
  • Dadurch wird in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt 515 nur eine Art aus M (M = 2) Arten von Dispersionsmustern, die die jeweiligen Kanäle speichern, vorausgewählt, so dass die Anzahl von Kombinationen von Dispersionsmustern erheblich reduziert werden kann. Dadurch fällt die Notwendigkeit der Verzerrungsberechnung für alle Kombinationen der Dispersionsmuster weg, und es wird möglich, den Index des Zufalls-Codebuchs effizient mit einer geringen Menge an Berechnungen zu spezifizieren.
  • Des Weiteren ist der Zufalls-Codevektor impulsartig geformt, wenn der Signal-Rausch-Wert groß ist, und ist nicht impulsartig geformt, wenn der Signal-Rausch-Wert klein ist. Daher kann, da die Form des Zufalls-Codevektors entsprechend der Kurzzeitcharakteristik des Sprachsignals verändert werden kann, die Qualität der synthetischen Sprache verbessert werden.
  • Aufgrund der Vereinfachung der Erläuterung erläuterte die vorliegende Ausführung eingeschränkt den Fall, in dem die Anzahl N von Kanälen des Impulsvektorgenerators 3 betrug und die Anzahl M von Arten der Dispersionsmuster, die in dem Dispersionsmuster-Speicher-und-Auswählabschnitt gespeichert sind, pro Kanal 2 betrug. Gleiche Wirkungen und Funktionen können jedoch in einem Fall erzielt werden, in dem die Anzahl von Kanälen des Impulsvektorgenerators und die Anzahl von Arten der Dispersionsmuster pro Kanal, die in dem Dispersionsmuster-Speicher-und-Auswähl-Abschnitt gespeichert sind, sich von dem oben erwähnten Fall unterscheiden.
  • Des Weiteren erläuterte aufgrund der Vereinfachung der Erläuterung die oben stehende Ausführung den Fall, in dem es sich bei einer von M Arten (M = 2) von Dispersionsmustern, die in jedem Kanal gespeichert sind, um Dispersionsmuster handelte, mit dem oben erwähnten vorausgehenden Training ermittelt wurden, und es sich bei dem andere um Zufalls-Muster handelte. Wenn jedoch wenigstens eine Art Zufalls-Dispersionsmuster für jeden Kanal gespeichert wird, können anstelle des oben erläuterten Falls die gleichen Wirkungen und Funktionen erwartet werden.
  • Weiterhin erläuterte die vorliegende Ausführung den Fall, in dem nur Informationen über starke und geringe Codierverzerrung (durch den Signal-Rausch-Wert ausgedrückt), die durch Spezifizieren des Index des adaptiven Codebuchs erzeugt wurde, in Einrichtungen zum Vorauswählen des Dispersionsmusters verwendet wurden. Wenn jedoch andere Informationen, die die Kurzzeitcharakteristik des Sprachsignals richtig darstellen, zusätzlich dazu verwendet werden, können weiterhin die gleichen Wirkungen und Funktionen erwartet werden.
  • Des Weiteren wird ein Sprachsignal-Kommunikationssystem oder ein Sprachsignal-Aufzeichnungssystem mit dem oben erwähnten Sprachcodierer/-decodierer aufgebaut, um so die Funktionen und Wirkungen zu erzielen, die der in der ersten Ausführung beschriebene Anregungsvektorgenerator hat. Die folgenden Ausführungen 5–7 bilden keinen Teil der beanspruchten Erfindung. Sie dienen der Veranschaulichung optionaler Verfahren, die bei Sprachcodierung und -decodierung gemäß dem CELP-Modell verwendet werden können.
  • Fünfte Ausführung
  • 8 zeigt einen Funktionsblock eines CELP-Sprachcodierers gemäß der fünften Ausführung. Bei diesem CELP-Sprachcodierer wird in einem LPC-Analysierabschnitt 600 eine Selbstkorrelationsanalyse und eine LPC-Analyse eingegebener Sprachdaten 601 durchgeführt, um so LPC-Koeffizienten zu ermitteln. Des Weiteren werden die ermittelten LPC-Koeffizienten quantisiert, um den Index des LDC-Codebuchs zu ermitteln, und der ermittelte Index wird decodiert, um so decodierte LPC-Koeffizienten zu ermitteln.
  • Dann greift ein Anregungsgenerator 602 Anregungs-Abtastwerte heraus, die in einem adaptiven Codebuch 603 und einem Zufalls-Codebuch 640 (ein adaptiver Codevektor (oder adaptive Anregung) und Zufalls-Codevektor (oder adaptive Anregung) und Zufalls-Codevektor (oder eine Zufalls-Anregung)) gespeichert sind und sendet sie zu einem LPC-Synthetisierabschnitt 605.
  • Der LPC-Synthetisierabschnitt 605 filtert zwei Anregungen, die durch den Anregungsgenerator 602 ermittelt wurden, mit dem decodierten LPC-Koeffizienten, der durch den LPC-Analysierabschnitt 600 ermittelt wurde und ermittelt so zwei synthetisierte Anregungen.
  • In einem Komparator 606 wird die Beziehung zwischen zwei synthetisierten Anregungen, die durch den LPC-Synthetisierabschnitt 605 ermittelt wurden, und der Eingangssprache 601 analysiert, um einen optimalen Wert (optimale Verstärkung) von zwei synthetisierten Anregungen zu ermitteln. Dann werden die jeweiligen synthetisierten Anregungen, deren Leistung durch den optimalen Wert gesteuert wird, addiert, um eine integrierte synthetisierte Sprache zu gewinnen, und eine Abstandsberechnung zwischen der integrierten synthetisierten Sprache und der Eingangssprache wird ausgeführt.
  • Die Abstandsberechnung zwischen jeder von vielen integrierten synthetisierten Sprechvorgängen, die durch Anregen des Anregungsgenerator 602 und dem LPC-Synthetisierabschnitt 605 gewonnen werden, und der eingegebenen Sprache 601 wird in Bezug auf alle Anregungs-Abtastwerte des adaptiven Codebuchs 603 und des Zufalls-Codebuchs 604 ausgeführt. Dann wird ein Index des Anregungs-Abtastwertes, der sich ergibt, wenn der Wert den geringsten der Abstände hat, die aus dem Ergebnis ermittelt werden können, bestimmt.
  • Des Weiteren werden die ermittelte optimale Verstärkung, der Index des Anregungs-Abtastwertes und zwei Anregungen, die auf den Index reagieren, zu einem Parameter-Codierabschnitt 607 gesendet. In dem Parameter-Codierabschnitt 607 wird die optimale Verstärkung codiert, um einen Verstärkungs-Code zu gewinnen, und der Index des LPC-Codbuchs sowie der Index des Anregungs-Abtastwertes werden jeweils zu einem Übertragungsweg 608 gesendet.
  • Des Weiteren wird ein Ist-Anregungssignal aus zwei Anregungen in Reaktion auf den Verstärkungs-Code und den Index erzeugt, und das erzeugte Anregungssignal wird in dem adaptiven Codebuch 603 gespeichert, und der alte Anregungs-Abtastwert wird gleichzeitig verworfen.
  • Zu bemerken ist, dass in dem LPC-Synthetisierabschnitt 605 ein Filter für wahrnehmbare Gewichtung, das lineare Prädiktivkoeffizienten verwendet, ein Hochfrequenz-Verbesserungsfilter, ein Langzeit-Prädiktivfilter (durch Ausführen einer Langzeit-Prädiktionsanalyse eingegebener Sprache hergestellt) im Allgemeinen eingesetzt werden. Des Weiteren wird im Allgemeinen die Anregungs-Suche nach dem adaptiven Codebuch und dem Zufalls-Codebuch in Segmenten (als Teilrahmen bezeichnet) ausgeführt, in die ein Analysesegment weiter unterteilt wird.
  • Im Folgenden wird die Vektorquantisierung für die LPC-Koeffizienten in dem LPC-Analysierabschnitt 600 gemäß dieser Ausführung erläutert.
  • 9 zeigt einen Funktionsblock zum Realisieren eines Vektorquantisierungsalgorithmus, der in dem LPC-Analysierabschnitt 600 auszuführen ist. Der Vektorquantisierungsblock, der in 9 dargestellt ist, umfasst einen Zielextraktionsabschnitt 702, einen Quantisierabschnitt 703, eine Verzerrungsberechnungseinrichtung 704, einen Komparator 705, einen Decodiervektor-Speicherabschnitt 707 und einen Vektorglättungsabschnitt 708.
  • In dem Zielextraktionsabschnitt 702 wird ein Quantisierungsziel auf Basis eines Eingangsvektors 701 berechnet. Im Folgenden wird ein Ziel-Extrahierverfahren im Einzelnen erläutert.
  • In dieser Ausführung umfasst der "Eingangsvektor" zwei Arten von Vektoren, von denen jeweils einer ein Parameter-Vektor ist, der durch Analysieren des aktuellen Rahmens ermittelt wird, und der andere ein Parameter-Vektor ist, der aus einem zukünftigen Rahmen auf gleiche Weise ermittelt wird. Der Zielextraktionsabschnitt 702 berechnet ein Quantisierungs-Ziel unter Verwendung des oben erwähnten Eingangsvektors und eines decodierten Vektors des vorangehenden Rahmens, der in dem Abschnitt 707 zum Speichern decodierter Vektoren gespeichert ist. Ein Beispiel des Berechnungsverfahrens wird mit der folgenden Gleichung (8) dargestellt. X(i) = {St(i) + p(d(i) + St+1(i)/2}/(1 + p) (8)wobei
  • X(i):
    Zielvektor,
    i:
    Nummer des Vektorelements,
    St(i), St+1(i):
    Eingangsvektor,
    t:
    Zeit (Rahmennummer),
    p:
    Gewichtungskoeffizient (unveränderlich), und
    d(i):
    decodierter Vektor des vorausgehenden Rahmens.
  • Im Folgenden wird ein Konzept des oben beschriebenen Ziel-Extrahierverfahrens dargestellt. Bei einer typischen Vektorquantisierung wird Parameter-Vektor St(i) als Ziel X(i) verwendet, und eine Anpassung wird durch den folgenden Ausdruck (9) durchgeführt:
    Figure 00280001
    wobei
  • En:
    Abstand zu n-ten Codevektor,
    X(i):
    Zielvektor,
    Cn(i):
    Codevektor,
    n:
    Nummer des Codevektors,
    i:
    Ordnung des Vektors, und
    l:
    Länge des Vektors.
  • Daher führt bei der herkömmlichen Vektorquantisierung die Codierverzerrung direkt zur Verschlechterung der Sprachqualität. Dies war ein großes Problem bei der Codierung mit ultraniedriger Bit-Rate, bei der die Codierverzerrung selbst dann in gewissem Maße nicht vermieden werden kann, wenn Maßnahmen, wie beispielsweise Prädiktions-Vektorquantisierung ergriffen werden.
  • Aus diesem Grund sollte gemäß der vorliegenden Ausführung einem mittleren Punkt des decodierten Vektors als einer Richtung Aufmerksamkeit geschenkt werden, in der der Benutzer nicht ohne weiteres einen Fehler wahrnimmt, und der decodierte Vektor wird auf den mittleren Punkt induziert, um so verbesserte Wahrnehmung zu realisieren. In dem oben stehenden Fall wird eine Charakteristik verwendet, bei der zeitliche Kontinuität nicht ohne weiteres als Wahrnehmungsverschlechterung zu hören ist.
  • Im Folgenden wird der oben beschriebene Zustand unter Bezugnahme auf 10 erläutert, die einen Vektorraum zeigt.
  • Zunächst wird angenommen, dass der decodierte Vektor eines vorausgehenden Rahmens d(i) ist und ein zukünftiger Parametervektor St+1(i) ist (obwohl ein zukünftiger codierter Vektor eigentlich wünschenswert ist, wird der zukünftige Parametervektor für den zukünftigen codierten Vektor verwendet, da das Codieren nicht in dem aktuellen Rahmen ausgeführt werden kann. In diesem Fall ist, obwohl der Codevektor Cn(i): (1) näher an dem Parametervektor St(i) liegt als der Codevektor Cn(i): (2), der Codevektor Cn(i): (2) tatsächlich nahe an einer Linie, die d(i) und St+1(i) verbindet. Aus diesem Grund ist die Verschlechterung verglichen mit (1) nicht ohne weiteres zu hören. Daher wird bei Verwendung der oben erwähnten Charakteristik, wenn das Ziel X(i) als ein Vektor eingestellt ist, der an der Position angeordnet ist, an der sich das Ziel X(i) dem mittleren Punkt zwischen d(i) und St+1(i) von St(i) in gewissem Maße nähert, der decodierte Vektor in eine Richtung induziert, in der der Grad an Verzerrung nur geringfügig wahrnehmbar ist.
  • Dann kann gemäß dieser Ausführung die Bewegung des Ziels realisiert werden, indem der folgende Bewertungsausdruck (10) verwendet wird. X(i) = {St(i) + p(d(i) + St+1(i)/2}/(1 + p) (10)wobei
  • X(i):
    Zielvektor,
    i:
    Nummer des Vektorelements,
    St(i), St+1(i):
    Eingangsvektor,
    t:
    Zeit (Rahmennummer),
    p:
    Gewichtungskoeffizient (unveränderlich), und
    d(i):
    decodierter Vektor des vorausgehenden Rahmens.
  • Die erste Hälfte von Ausdruck (10) ist ein allgemeiner Bewertungsausdruck, und die zweite Hälfte ist eine Wahrnehmungskomponente. Um die Quantisierung mit dem oben stehenden Bewertungsausdruck auszuführen, wird der Bewertungsausdruck in Bezug auf jedes X(i) differenziert, und das differenzierte Ergebnis wird auf 0 gesetzt, so dass Ausdruck (8) erzeugt werden kann.
  • Es ist zu bemerken, dass der Gewichtungskoeffizient p eine positive Konstante ist. Das heißt, wenn der Gewichtungskoeffizient p 0 beträgt, gleicht das Ergebnis der allgemeinen Quantisierung, wenn der Gewichtungskoeffizient p unendlich ist, befindet sich das Ziel vollständig am Mittelpunkt. Wenn der Gewichtskoeffizient p zu groß ist, ist das Ziel weit von dem Parameter St(i) des aktuellen Rahmens getrennt, so dass die Artikulation wahrnehmbar verringert wird. Das Testhören decodierter Sprache bestätigt, dass eine gute Leistung mit 0,5 < p < 1,0 erreicht werden kann.
  • Dann wird in dem Quantisierungsabschnitt 703 das Quantisierungsziel, das mit dem Zielextraktionsabschnitt 702 bestimmt wird, quantisiert, um einen Vektorcode und einen decodierten Vektor zu ermitteln, und der ermittelte Vektorindex sowie der decodierte Vektor werden zu der Verzerrungsberechnungseinrichtung 704 gesendet.
  • Es ist zu bemerken, dass eine prädiktive Vektorquantisierung als ein Quantisierungsverfahren in dieser Ausführung eingesetzt wird. Im Folgenden wird die prädiktive Vektorquantisierung erläutert.
  • 11 zeigt einen Funktionsblock der prädiktiven Vektorquantisierung. Die prädiktive Vektorquantisierung ist ein Algorithmus, bei dem die Prädiktion unter Verwendung des Vektors (synthetisierter Vektor) ausgeführt wird, der durch Codieren und Decodieren in der Vergangenheit ermittelt wird, und der prädiktive Fehlervektor quantisiert wird.
  • Ein Vektor-Codebuch 800, das eine Vielzahl von Hauptabtastwerten (Codevektoren) der Prädiktions-Fehlervektoren speichert, wird im Voraus hergestellt. Dies wird mit einem LBG-Algorithmus (IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-28, NO. 1, S. 84–95, JANUAR 1980) hergestellt, der auf einer großen Anzahl von Vektoren basiert, die durch Analysieren einer großen Menge an Sprachdaten ermittelt werden.
  • Ein Vektor 801 für ein Quantisierungs-Ziel wird durch einen Prädiktionsabschnitt 802 vorhergesagt. Die Vorhersage wird durch die bereits decodierten Vektoren ausgeführt, die in einem Status-Speicherabschnitt 803 gespeichert sind, und der ermittelte prädiktive Fehlervektor wird zu einer Abstandsberechnungseinrichtung 804 gesendet. Hier werden als eine Form der Prädiktion eine erste Prädiktionsordnung und ein unveränderlicher Koeffizient verwendet. Dann wird ein Ausdruck zum Berechnen des prädiktiven Fehlervektors bei der Verwendung der oben beschriebenen Vorhersage mit dem folgenden Ausdruck (11) dargestellt. Y(i) = – X(i) – βD(i) (11)wobei
  • Y(i):
    prädikiver Fehlervektor,
    X(i):
    Zielvektor,
    β:
    Prädiktionskoeffizient (skalar)
    D(i):
    decodierter Vektor eines vorausgehenden Rahmens, und
    i:
    Vektorordnung.
  • In dem oben stehenden Ausdruck hat der Prädiktionskoeffizient β im Allgemeinen einen Wert von 0 < β < 1.
  • Dann berechnet die Abstandsberechnungseinrichtung 804 den Abstand zwischen dem von dem Prädiktionsabschnitt 802 ermittelten Prädiktiv-Fehlervektor und den im Codebuch 800 gespeicherten Codevektor. Ein Ausdruck zum Ermitteln des oben genannten Abstandes ist mit dem folgenden Ausdruck (12) dargestellt:
    Figure 00320001
    wobei
  • En:
    Abstand zu dem n-ten Codevektor,
    Y(i):
    Prädiktiv-Fehlervektor,
    Cn(i):
    Codevektor,
    n:
    Codevektorzahl,
    i:
    Vektorordnung, und
    l:
    Vektorlänge.
  • Danach werden in einem Suchabschnitt die Abstände für jeweilige Codevektoren verglichen, und der Index des Codevektors, der den kürzesten Abstand ergibt, wird als ein Vektorcode 806 ausgegeben.
  • Das heißt, das Vektor-Codebuch 800 und die Abstandsberechnungseinrichtung 804 werden so gesteuert, dass der Index des Codevektors ermittelt wird, der den kürzesten Abstand von allen in dem Vektor-Codebuch 800 gespeicherten Codektoren ergibt, und der ermittelte Index wird als Vektorcode 806 verwendet.
  • Des Weiteren wird der Vektor unter Verwendung des aus dem Vektor-Codebuch 800 ermittelten Codevektors und des zuvor decodierten Vektors, der in dem Status-Speicherabschnitt 803 gespeichert ist, auf Basis der abschließenden Codierung codiert, und der Inhalt des Status-Speicherabschnitts 803 wird unter Verwendung des ermittelten synthetisierten Vektors aktualisiert. Daher wird der decodierte Vektor bei der Prädiktion verwendet, wenn eine nächste Quantisierung durchgeführt wird.
  • Das Decodieren des Beispiels (erste Prädiktionsverordnung, unveränderlicher Koeffizient) in der oben erwähnten Prädiktionsform wird mit dem folgenden Ausdruck (13) durchgeführt: Z(i) = – CN(i) + βD(i) (13)wobei
  • Z(i):
    decodierter Vektor (bei einem nächsten Codieren als D(i) verwendet),
    N:
    Code für Vektor,
    CN(i):
    Codevektor,
    β:
    Prädiktionskoeffizient (skalar)
    D(i):
    decodierter Vektor eines vorausgehenden Rahmens, und
    i:
    Vektorordnung.
  • Andererseits wird in einem Decoder der Codevektor auf Basis des Codes des übertragenen Vektors ermittelt, um ihn zu decodieren. In dem Decodierer werden das gleiche Vektor-Codebuch und der Status-Speicherabschnitt wie der des Codierers im Voraus erzeugt. Dann wird das Decodieren mit dem gleichen Algorithmus der Decodierfunktion wie der Suchfunktion in dem erwähnten Codieralgorithmus ausgeführt. Oben beschrieben ist die Vektorquantisierung, die in dem Quantisierungsabschnitt 703 ausgeführt wird.
  • Dann berechnet die Verzerrungsberechnungseinrichtung 704 eine wahrnehmbare gewichtete Codierungsverzerrung aus dem decodierten Vektor, der durch den Quantisierungsabschnitt 703 bestimmt wird, dem Eingangsvektor 701 und dem decodierten Vektor des vorausgehenden Rahmens, der in dem Abschnitt 707 zum Speichern decodierter Vektoren gespeichert ist. Ein Ausdruck für die Berechnung ist mit dem folgenden Ausdruck (14) dargestellt: Ew = Σ(v(i) – St(i))2 + p{v(i) – (d(i) + St+1(i)/2}2 (14)wobei
  • Ew:
    gewichtete Codierverzerrung,
    St(i), St+1(i):
    Eingangsvektor,
    t:
    Zeit (Rahmennummer)
    i:
    Nummer des Vektorelements,
    V(i):
    decodierter Vektor,
    p:
    Gewichtungskoeffizient (unveränderlich), und
    d(i):
    decodierter Vektor des vorausgehenden Rahmens.
  • In Ausdruck (14) ist der Gewichtungskoeffizient p der gleiche wie der Koeffizient des Ausdrucks des Ziels, der in dem Zielextraktionsabschnitt 702 verwendet wird. Dann wer den der Wert der gewichteten Codierverzerrung, der codierte Vektor und der Code des Vektors zu dem Komparator 705 gesendet.
  • Der Komparator 705 sendet den Code des Vektors, der von der Verzerrungsberechnungseinrichtung 704 gesendet wird, zu dem Übertragungsweg 608 und aktualisiert des Weiteren den Inhalt des Abschnitts 707 zum Speichern decodierter Vektoren unter Verwendung des von der Verzerrungsberechnungseinrichtung 704 gesendeten Vektors.
  • Gemäß der oben beschriebenen Ausführung wird der Zielvektor in dem Zielextraktionsabschnitt 702 von St(i) auf den Vektor korrigiert, der an der Position angeordnet ist, die sich dem Mittelpunkt zwischen D(i) und St+1(i) in gleichem Maße nähert. Dies ermöglicht es, die gewichtete Suche durchzuführen, so dass es zu keiner Verschlechterung der Wahrnehmung kommt.
  • Oben wurde der Fall erläutert, in dem die vorliegende Erfindung bei einem Sprachcodierverfahren mit niedriger Bitrate eingesetzt wurde, wie es beispielsweise in einem Mobiltelefon verwendet wird. Die vorliegende Erfindung kann jedoch nicht nur bei der Sprachcodierung, sondern auch bei der Vektorquantisierung für einen Parameter mit einer relativ guten Interpolation in einem Musik-Codierer und einem Bild-Codierer eingesetzt werden.
  • Im Allgemeinen wird bei der LPC-Codierung, die durch den LPC-Analysierabschnitt in dem oben erwähnten Algorithmus ausgeführt wird, Umwandlung in Parametervektoren, wie beispielsweise LPS (Line Spectrum Pairs), die leicht zu codieren sind, üblicherweise durchgeführt, und Vektorquantisierung (VQ) wird durch Euklidischen Abstand oder gewichteten Euklidischen Abstand ausgeführt.
  • Des Weiteren sendet gemäß der oben erläuterten Ausführung der Zielextraktionsabschnitt 702 den Eingangsvektor 701 zu dem Vektorglättungsabschnitt 708, nachdem er Steuerung durch den Komparator 705 unterzogen worden ist. Dann empfängt der Zielextraktionsabschnitt 702 den durch den Vektorglättungsabschnitt 708 veränderten Eingangsvektor und extrahiert so das Ziel erneut.
  • In diesem Fall vergleicht der Komparator 705 den Wert gewichteter Codierverzerrung, der von der Verzerrungsberechnungseinrichtung 704 gesendet wird, mit einem in dem Komparator erzeugten Bezugswert. Die Verarbeitung ist in Abhängigkeit von dem Vergleichsergebnis zweigeteilt.
  • Wenn das Vergleichsergebnis unter dem Bezugswert liegt, sendet der Komparator 705 den Index des von der Verzerrungsberechnungseinrichtung gesendeten Codevektors zu dem Übertragungsweg 608 und aktualisiert den Inhalt des Abschnitts 707 zum Speichern decodierter Vektoren unter Verwendung des von der Verzerrungsberechnungseinrichtung 704 gesendeten codierten Vektors. Diese Aktualisierung wird ausgeführt, indem der Inhalt des Abschnitts 707 zum Speichern decodierter Vektoren unter Verwendung des ermittelten codierten Vektors überschrieben wird. Dann geht die Verarbeitung zu einem Schritt für eine Codierung eines nächsten Rahmenparameters zu über.
  • Hingegen steuert, wenn das Vergleichsergebnis größer ist als der Bezugswert, der Komparator 705 den Vektorglättungsabschnitt 708 und fügt eine Änderung zu dem Eingangsvektor hinzu, so dass der Zielextraktionsabschnitt 702, der Quantisierungsabschnitt 703 und die Verzerrungsberechnungseinrichtung 704 wieder in Funktion gesetzt werden, um erneut Codieren durchzuführen.
  • In dem Komparator 705 wird Codierverarbeitung geholt, bis das Vergleichsergebnis den Wert unter dem Bezugswert erreicht. Es gibt jedoch einen Fall, in dem das Vergleichsergebnis den Wert unter dem Bezugswert selbst dann nicht erreichen kann, wenn Codierverarbeitung viele Male wiederholt wird. Für diesen Fall weist der Komparator 705 einen Zähler in seinem Inneren auf, und der Zähler zählt, wie oft festgestellt wird, dass das Vergleichsergebnis größer ist als der Bezugswert. Wenn die Häufigkeit über einer festgelegten Häufigkeit liegt, unterbricht der Komparator 705 das wiederholte Codieren und löscht das Vergleichsergebnis sowie den Zählerstand und übernimmt dann einen Anfangsindex.
  • Der Vektorglättungsabschnitt 708 wird der Steuerung des Komparators 705 unterwarfen und ändert Parametervektor St(i) des aktuellen Rahmens, der einer der Eingangsvektoren ist, gegenüber dem durch den Zielextraktionsabschnitt 702 bestimmten Eingangsvektor und dem decodierten Vektor des vorausgehenden Rahmens, der von dem Abschnitt 707 zum Speichern decodierter Werte ermittelt wird, mit dem folgenden Ausdruck (15) und sendet den geänderten Eingangsvektor zu dem Zielextraktionsabschnitt 702. St(i) ← (1 – q)·St(i) + q(d(i) + St+1(i))/2 (15)
  • In dem oben stehenden Ausdruck ist q ein Glättungskoeffizient, der den Grad anzeigt, in dem der Parametervektor des aktuellen Rahmen nahe an einem Mittelpunkt zwischen dem decodierten Vektor des vorausgehenden Rahmens und dem Parametervektor des zukünftigen Rahmens aktualisiert wird. Das Codierexperiment zeigt, dass gute Leistung erreicht werden kann, wenn die obere Grenze der Anzahl von Wiederholungen, die durch den Komparator 705 im Inneren ausgeführt wird, unter der Bedingung 0,2 < a < 0,4 5 bis 8 beträgt.
  • Obwohl die oben beschriebenen Ausführung die prädiktive Vektorquantisierung in dem Quantisierungsabschnitt 703 verwendet, besteht eine große Wahrscheinlichkeit, dass die gewichtete Codierverzerrung, die mit der Verzerrungsberechnungseinrichtung 704 ermittelt wird, gering wird. Dies ist darauf zurückzuführen, dass das quantisierte Ziel durch Glätten näher an dem decodierten Vektor des vorausgehenden Vektors aktualisiert wird. Daher wird die Möglichkeit, dass das Vergleichsergebnis bei dem Verzerrungsvergleich des Komparators 705 unter dem Bezugswert liegt, durch die Wiederholung von Decodieren des vorausgehenden Rahmens aufgrund der Steuerung des Komparators 705 erhöht.
  • Des Weiteren wird in dem Decoder ein Decodierabschnitt, der dem Quantisierungsabschnitt des Codierers entspricht, im Voraus erzeugt, so dass Decodieren auf Basis des Index des über den Übertragungsweg übertragenen Codevektors ausgeführt wird.
  • Weiterhin wurde die Ausführung der vorliegenden Erfindung auf Quantisierung (Quantisierungsabschnitt ist Prädiktion VQ) von LSP-Parametern angewendet, die im CELP-Sprachcodierer auftreten, und ein Versuch zur Sprachcodierung und -decodierung wurde durchgeführt. Im Ergebnis desselben wurde bestätigt, dass nicht nur die subjektive Qualität, sondern auch der objektive Wert (Signal-Rausch-Wert) verbessert werden konnte. Dies liegt daran, dass eine Wirkung vorhanden ist, durch die die Codierverzerrung von prädiktivem VQ durch Codierwiederholungsverarbeitung mit Vektorglättung auch dann unterdrückt werden kann, wenn sich das Spektrum drastisch ändert. Da die Zukunfts-Prädiktion VQ aus den bereits decodierten Vektoren vorhergesagt wurde, trat ein Nachteil dahingehend auf, dass die spektrale Verzerrung des Abschnitts, in dem sich das Spektrum drastisch ändert, wie beispielsweise einem Sprechbeginn, im Gegensatz dazu zunahm. Beim Einsatz der Ausführung der vorliegenden Erfindung jedoch wird, da Glätten ausgeführt wird, bis sich die Verzerrung in dem Fall verringert, indem die Verzerrung groß ist, die Codierverzerrung geringer, obwohl das Ziel mehr oder weniger von dem Ist-Parametervektor getrennt ist. So kann eine Wirkung erzielt werden, bei der Verschlechterung, die beim Decodieren der Sprache auftritt, vollständig reduziert wird. Daher kann gemäß der Ausführung der vorliegenden Erfindung nicht nur die subjektive Qualität, sondern auch der objektive Wert verbessert werden.
  • In der oben beschriebenen Ausführung der vorliegenden Erfindung kann durch die Charakteristiken des Komparators und des Vektorglättungsabschnitts die Richtung gesteuert werden, in der die Bedienungsperson die Richtung der Verschlechterung dann nicht wahrnimmt, wenn eine Vektor-Quantisierungsverzerrung groß ist. Des Weiteren werden, wenn prädiktive Vektorquantisierung in dem Quantisierungsabschnitt eingesetzt wird, Glätten und Codieren wiederholt, bis sich die Codierverzerrung verringert, so dass ebenfalls der objektive Wert verbessert werden kann.
  • Oben ist der Fall erläutert, in dem die vorliegende Erfindung bei dem Sprachcodierverfahren mit niedriger Bitrate eingesetzt wurde, wie es beispielsweise bei einem Mobiltelefon verwendet wird. Die vorliegende Erfindung kann jedoch nicht nur bei der Sprachcodierung eingesetzt werden, sondern auch bei der Vektorquantisierung für einen Parameter mit einer relativ guten Interpolation in einem Musik-Codierer und einem Bild-Codierer.
  • Sechste Ausführung
  • Im Folgenden wird der CELP-Sprachcodierer gemäß der sechsten Ausführung erläutert. Der Aufbau dieser Ausführung ist der gleiche wie der der fünften Ausführung, wobei jedoch ein Quantisierungsalgorithmus des Quantisierungsabschnitts eine mehrstufige prädiktive Vektorquantisierung als Quantisierungsverfahren verwendet. Das heißt, der Anregungsvektorgenerator der ersten Ausführung wird als ein Zufalls-Codebuch verwendet. Im Folgenden wird der Quantisierungsalgorithmus des Quantisierungsabschnitts im Einzelnen erläutert.
  • 12 zeigt den Funktionsblock des Quantisierungsabschnitts. Bei der mehrstufigen prädiktiven Vektorquantisierung wird die Vektorquantisierung des Ziels ausgeführt, anschließend wird der Vektor unter Verwendung eines Codebuchs mit dem Index des quantisierten Ziels, einer Differenz zwischen dem codierten Vektor decodiert. Dann wird das ursprüngliche Ziel (im Folgenden als codierter Verzerrungsvektor bezeichnet) ermittelt, und der ermittelte codierte Verzerrungsvektor wird weiterer Vektorquantisierung unterzogen.
  • Ein Vektor-Codebuch 899, in dem eine Vielzahl dominanter Abtastwerte (Codevektoren) des prädiktiven Fehlervektors gespeichert sind, und ein Codebuch 900 werden im Voraus erzeugt. Diese Codevektoren werden erzeugt, indem der gleiche Algorithmus wie der des Codevektor-Erzeugungsverfahrens der typischen "Multivektor-Quantisierung" angewendet wird. Das heißt, diese Codevektoren werden im Allgemeinen durch einen LBG-Algorithmus (IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-28, NO. 1, S. 84–95, JANUAR 1980) auf Basis einer großen Anzahl von Vektoren erzeugt, die durch Analysieren vieler Sprachdaten gewonnen werden. Zu bemerken ist, dass Trainingsdaten zum Entwickeln von Codevektoren 899 ein Satz Fehlerzielvektoren sind, während Trainingsdaten zum Entwickeln von Codebuch 900 ein Satz codierter Verzerrungsvektoren ist, die ermittelt werden, wenn die oben genannten quantisierten Ziele mit dem Vektor-Codebuch 899 codiert werden.
  • Zunächst wird ein Vektor 901 des Zielvektors durch einen Vorhersageabschnitt 902 vorhergesagt. Die Vorhersage bzw. Prädiktion wird durch die bereits decodierten Vektoren ausgeführt, die in einem Status-Speicherabschnitt 903 gespeichert sind, und der ermittelte prädiktive Fehlervektor wird zu Abstands-Berechnungseinrichtungen 904 und 905 gesendet.
  • Gemäß der oben beschriebenen Ausführung wird als eine Form von Prädiktion ein unveränderlicher Koeffizient für eine Prädiktion erster Ordnung verwendet. Dann wird ein Ausdruck zum Berechnen des prädiktiven Fehlervektors bei Verwendung der oben erwähnten Prädiktion mit dem folgenden Ausdruck (16) dargestellt. Y(i) = X(i) – βD(i) (16)wobei
  • Y(i):
    prädiktiver Fehlervektor,
    X(i):
    Zielvektor,
    β:
    prädiktiver Koeffizient (skalar)
    D(i):
    decodierter Vektor eines vorausgehenden Rahmens, und
    i:
    Vektor-Ordnung.
  • Im Allgemeinen ist in dem obenstehenden Ausdruck der prädiktive Koeffizient β ein Wert 0 < β < 1.
  • Dann berechnet die Abstandsberechnungseinrichtung 904 den Abstand zwischen dem prädiktiven Fehlervektor, der durch den Prädiktionsabschnitt 902 ermittelt wird, und einem in dem Vektor-Codebuch 899 gespeicherten Codevektor A. Ein Ausdruck zum ermitteln des oben erwähnten Abstands wird mit dem folgenden Ausdruck (17) dargestellt:
    Figure 00390001
    wobei
  • En:
    Abstand zu dem n-ten Codevektor A,
    Y(i):
    prädiktiver Fehlervektor,
    C1n(i):
    Codevektor A,
    n:
    Index von Codevektor A,
    i:
    Vektor-Ordnung, und
    l:
    Vektorlänge.
  • Dann werden in einem Suchabschnitt 906 die jeweiligen Abstände zu dem Codevektor A verglichen, und der Index des Codevektors A mit dem kürzesten Abstand wird als ein Code für Codevektor A verwendet. Das heißt, das Vektor-Codebuch 899 und die Abstandsberechnungseinrichtung 904 werden so gesteuert, dass der Code von Codevektor A mit dem kürzesten Abstand von allen in dem Codebuch 899 gespeicherten Codevektoren ermittelt wird. Dann wird der ermittelte Code von Codevektor A als der Index von Codebuch 899 verwendet. Anschließend werden der Code für Codevektor A und der decodierte Vektor A, der aus dem Codebuch 899 unter Bezugnahme auf den Code für Codevektor A ermittelt wird, zu der Abstandsberechnungseinrichtung 905 gesendet. Des Weiteren wird der Code für Codevektor A über den Übertragungsweg zu einem Suchabschnitt 906 gesendet.
  • Die Abstandsberechnungseinrichtung 905 ermittelt einen codierten Verzerrungsvektor aus dem prädiktiven Fehlervektor und dem von dem Suchabschnitt 906 ermittelten decodierten Vektor A. Des Weiteren bestimmt die Abstandsberechnungseinrichtung 905 eine Amplitude von einem Verstärker-Speicherabschnitt 908 unter Bezugnahme auf den Code für Codevektor A, der von dem Suchabschnitt 906 ermittelt wird. Dann berechnet die Abstandsberechnungseinrichtung 905 einen Abstand, indem sie den oben genannten codierten Verzerrungsvektor und Codevektor B, der in dem Vektor-Codebuch 900 gespeichert ist, mit der oben genannten Amplitude multipliziert, und sendet den ermittelten Abstand zu dem Suchabschnitt 907. Ein Ausdruck für den oben beschriebenen Abstand wird wie folgt dargestellt: Z(i) = Y(i) – C1N(i)
    Figure 00400001
    wobei
  • Z(i):
    decodierter Vektor,
    Y(i):
    prädiktiver Fehlervektor,
    C1N(i):
    decodierter Vektor A,
    Em:
    Abstand zu m-ten Codevektor B,
    aN:
    Amplitude, die dem Code für Codevektor A entspricht,
    C2M(i):
    Codevektor B,
    m:
    Index von Codevektor B,
    i:
    Vektor-Ordnung, und
    l:
    Vektorlänge.
  • Dann werden in einem Suchabschnitt 907 die jeweiligen Abstände zu dem Codevektor B verglichen, und der Index des Codevektors B mit dem kürzesten Abstand wird als ein Code für Codevektor B verwendet. Das heißt, das Codebuch 900 und die Abstandsberechnungseinrichtung 905 werden so gespeichert, dass der Code von Codevektor B mit der kürzesten Distanz von allen in dem Vektor-Codebuch 900 gespeicherten Codevektoren ermittelt wird. Dann wird der ermittelte Code des Codevektors B als der Index von Codebuch 900 verwendet. Danach werden Codevektor A und Codevektor B addiert und als ein Vektorcode 909 verwendet.
  • Des Weiteren führt der Suchabschnitt 907 das Decodieren des Vektors unter Verwendung decodierter Vektoren A und B, die aus den Vektor-Codebüchern 899 und 900 auf Basis der Codes für Codevektor A und Codevektor B ermittelt werden, der Amplitude, die aus einem Verstärker-Speicherabschnitt 908 ermittelt wird, und bereits decodierter Vektoren aus, die in dem Status-Speicherabschnitt 903 gespeichert sind. Der Inhalt des Status-Speicherabschnitts 903 wird unter Verwendung des ermittelten decodierten Vektors aktualisiert. (Daher wird der wie oben beschrieben decodierte Vektor bei der Prädiktion bei einer nächsten Codierung verwendet). Das Decodieren bei der Prädiktion (eine erste Prädiktionsordnung und ein unveränderlicher Koeffizient) in dieser Ausführung werden mit dem folgenden Ausdruck (19) durchgeführt: Z(i) = C1N(i) + aN·C2M(i) + βD(i) (19)wobei
  • Z(i):
    decodierter Vektor (beim nächsten Codieren als D(i) verwendet),
    N:
    Code für Codevektor A,
    M:
    Code für Codevektor B,
    C1N(i):
    decodierter Codevektor A,
    C2M(i):
    decodierter Codevektor B,
    aN:
    Amplitude, die dem Code für Codevektor A entspricht,
    β:
    prädiktiver Koeffizient (skalar),
    D(i):
    decodierter Vektor eines vorausgehenden Rahmens, und
    m:
    Index von Codevektor B,
    i:
    Vektor-Ordnung.
  • Des Weiteren wird das Einstellverfahren im Folgenden erläutert, obwohl die in dem Verstärker-Speicherabschnitt 908 gespeicherte Amplitude voreingestellt ist. Die Amplitude wird eingestellt, indem viele Sprachdaten codiert werden, die Summe der codierten Verzerrungen des folgenden Ausdrucks (20) ermittelt wird und das Training so durchgeführt wird, dass die ermittelte Summe minimiert wird.
    Figure 00410001
    wobei
  • EN:
    codierte Verzerrung, wenn Code für Codevektor A N ist,
    N:
    Code für Codevektor A,
    t:
    Zeit, zu der der Code für Codevektor A N ist,
    Yt(l):
    prädiktiver Fehlervektor zur Zeit t,
    C1N(i):
    decodierter Vektor A,
    aN:
    Amplitude, die dem Code für Codevektor A entspricht,
    C2mt(i):
    Codevektor B,
    i:
    Vektor-Ordnung, und
    l:
    Vektorlänge.
  • Das heißt, nach dem Codieren wird die Amplitude so zurückgesetzt, dass der Wert, der ermittelt worden ist, indem die Verzerrung des obenstehenden Ausdrucks (20) in Bezug auf jede Amplitude differenziert wird, Null wird, so dass das Training der Amplitude durchgeführt wird. Dann wird durch Wiederholen von Codieren und Training der geeignete Wert für jede Amplitude ermittelt.
  • Andererseits führt der Decodierer das Decodieren durch, indem der Codevektor auf Basis des übertragenen Codes des Vektors ermittelt wird. Der Decodierer umfasst die gleichen Vektor-Codebücher (die den Codebüchern A, B entsprechen) wie der Codierer, den Verstärker-Speicherabschnitt und den Status-Speicherabschnitt. Dann führt der Decodierer das Decodieren mit dem gleichen Algorithmus wie die Decodierfunktion des Suchabschnitts (entsprechend dem Codevektor C) in dem erwähnten Codieralgorithmus durch.
  • Daher wird gemäß der vorliegenden Ausführung durch die Charakteristiken des Verstärker-Speicherabschnitts und der Abstandsberechnungseinrichtung der Codevektor der zweiten Stufe so auf den der ersten Stufe mit einer relativ geringen Menge an Berechnungen angewendet, so dass die codierte Verzerrung reduziert werden kann.
  • Oben ist der Fall erläutert, in dem die vorliegende Erfindung bei dem Codierverfahren mit niedriger Bitratengeschwindigkeit angewendet wurde, wie es beispielsweise bei einem Mobiltelefon eingesetzt wird. Die vorliegende Erfindung kann jedoch nicht nur bei der Sprachcodierung, sondern auch bei der Vektorquantisierung für einen Parameter mit relativ guter Interpolation in einem Musik-Codierer und einem Bild-Codierer verwendet werden.
  • Siebte Ausführung
  • Im Folgenden wird der CELP-Sprachcodierer gemäß der sechsten Ausführung erläutert. Diese Ausführung zeigt ein Beispiel eines Codierers, das in der Lage ist, die Anzahl von Berechnungsschritten von Vektorquantisierungsverarbeitung für ein ACELP-Zufalls-Codebuch zu reduzieren.
  • 13 zeigt den Funktionsblock des CELP-Sprachcodierers gemäß dieser Ausführung. In diesem CELP-Sprachcodierer sorgt ein Filterkoeffizienten-Analyseabschnitt 1002 für die lineare prädiktive Analyse von Eingangssprachsignal 1001, um Koeffizienten des Synthesefilters zu ermitteln, und gibt die ermittelten Koeffizienten des Synthesefilters an einen Filterkoeffizienten-Quantisierungsabschnitt 1003 aus. Der Filterkoeffizienten-Quantisierungsabschnitt 1003 quantisiert die eingegebenen Eingangskoeffizienten des Synthesefilters und gibt die quantisierten Koeffizienten an ein Synthesefilter 1004 aus.
  • Das Synthesefilter 1004 wird durch die von dem Filterkoeffizienten-Quantisierungsabschnitt 1003 zugeführten Filterkoeffizienten gebildet. Das Synthesefilter 1004 wird durch ein Anregungssignal 1011 angeregt. Das Anregungssignal 1011 wird gewonnen, indem ein Signal, das gewonnen wird, indem ein adaptiver Codevektor 1006, d.h. ein Ausgang von einem adaptiven Codebuch 1005, mit einer adaptiven Codebuch-Verstärkung 1007 multipliziert wird, und ein Signal addiert werden, das gewonnen wird, indem ein Zufalls-Codevektor 1009, d.h. ein Ausgang von einem Zufalls-Codebuch 1008 mit einer Zufalls-Codebuch-Verstärkung 1010 multipliziert wird.
  • Dabei ist das adaptive Codebuch 1005 von dem Typ, der eine Vielzahl adaptiver Codevektoren speichert und das vorherige Anregungssignal zum Anregen des Synthesefilters bei jedem Pitch-Zyklus extrahiert. Das Zufalls-Codebuch 1007 ist von dem Typ, der eine Vielzahl zufälliger Codevektoren speichert. Das Zufalls-Codebuch 1007 kann den Anregungsvektorgenerator der erwähnten ersten Ausführung verwenden.
  • Eine Verzerrungsberechnungseinrichtung 1013 berechnet eine Verzerrung zwischen einem synthetischen Sprachsignal 1012, d.h. dem Ausgang des Synthesefilters 1004, das durch das Anregungssignal 1011 angeregt wird, und dem Eingangs-Sprachsignal 1001, um Codesucheverarbeitung durchzuführen. Die Codesucheverarbeitung ist von dem Typ, der den Index des adaptiven Codevektors 1006 zum Minimieren der Verzerrung, die durch die Verzerrungsberechnungseinrichtung 1013 berechnet wird, und den der Zufalls-Verstärkung 1009 spezifiziert. Gleichzeitig ist die Codesucheverarbeitung von dem Typ, der optimale Werte der adaptiven Codebuch-Verstärkung 1007 und der Zu falls-Codebuch-Verstärkung 1010 berechnet, mit denen die jeweiligen Ausgangsvektoren multipliziert werden.
  • Ein Codeausgabeabschnitt 10014 gibt den quantisierten Wert der Filterkoeffizienten, der von dem Filterkoeffizienten-Quantisierungsabschnitt 1003 ermittelt werden kann, den Index des adaptiven Codevektors 1006, der durch die Verzerrungsberechnungseinrichtung 1013 ausgewählt wird und den des Zufalls-Codevektors 1009 sowie die quantisierten Werte der adaptiven Codebuch-Verstärkung 1007 und der Zufalls-Codebuch-Verstärkung 1009 aus, mit denen die jeweiligen Ausgangsvektoren multipliziert werden. Die Ausgänge von dem Codeausgabeabschnitt 1014 werden übertragen oder gespeichert.
  • Bei der Codesucheverarbeitung in der Verzerrungsberechnungseinrichtung 1013 wird zunächst eine adaptive Codebuchkomponente des Anregungssignals gesucht, und dann wird eine Codebuchkomponente des Anregungssignals gesucht.
  • Die oben beschriebene Suche der Zufalls-Codebuchkomponente verwendet eine orthogonale Suche, die unten erläutert ist.
  • Die orthogonale Suche spezifiziert einen Zufallsvektor c, der einen Suchbezugswert Eort (= Nort/Dort) von Ausdruck (21) maximiert.
    Figure 00440001
    wobei
  • Nort:
    Zähler-Term für Eort,
    Dort:
    Nenner-Term für Eort,
    p:
    bereits spezifizierter adaptiver Codevektor,
    H:
    Synthesefilter-Koeffizientenmatrix,
    Hat:
    transponierte Matrix für H,
    X:
    Ziel-Signal (das ermittelt wird, indem eine Null-Eingangsantwort des Synthesefilter aus dem Eingangs-Sprachsignal differenziert wird), und
    c:
    zufälliger Codevektor.
  • Die orthogonale Suche ist ein Suchverfahren zum Orthogonalisieren zufälliger Codevektoren, die als Kandidaten in Bezug auf den adaptiven Vektor dienen, der im Voraus spe zifiziert wird, um den Index, der die Verzerrung minimiert, aus der Vielzahl orthogonalisierter zufälliger Codevektoren zu spezifizieren. Die orthogonale Suche ist dadurch charakterisiert, dass eine Genauigkeit für die Zufalls-Codebuchsuche verglichen mit einer nicht orthogonalen Suche verbessert werden kann und die Qualität der synthetischen Sprache verbessert werden kann.
  • In dem ACELP-Sprachcodierer wird der Zufalls-Codevektor durch wenige Impulse mit Vorzeichen gebildet. Durch Verwendung der oben erwähnten Charakteristik wird der Nenner-Term (Nort) des Such-Bezugswertes, der in Ausdruck (21) dargestellt ist, zu dem folgenden Ausdruck (22) umgeformt, um die Anzahl von Berechnungsschritten an dem Nenner-Term zu reduzieren. Nort = {a0Ψ(l0) + a1Ψ(l1) + ... + an-1Ψ(ln-1)}2 (22)wobei
  • ai:
    Vorzeichen des i-ten Impulses (+1/–1),
    li:
    Position des i-ten Impulses,
    N:
    Anzahl von Impulsen, und
    Ψ:
    {(ptHtHp)x – (xtHp)Hp}H.
  • Wenn der Wert Ψ von Ausdruck (22) im Voraus als Vorverarbeitung berechnet wird und auf eine Anordnung ausgedehnt wird, werden (N-1) Elemente aus Anordnung Ψ addiert oder substituiert, und das Ergebnis wird quadriert, so dass der Zähler-Term von Ausdruck (21) berechnet werden kann.
  • Im Folgenden wird im Einzelnen die Verzerrungsberechnungseinrichtung 1013 erläutert, die in der Lage ist, die Anzahl von Berechnungsschritten an dem Nenner-Term zu reduzieren.
  • 14 zeigt den Funktionsblock der Verzerrungsberechnungseinrichtung 1013. Der Sprachcodierer dieser Ausführung hat den Aufbau, bei dem der adaptive Codevektor 1006 und der Zufalls-Codevektor 1009 in dem Aufbau in 13 in die Verzerrungsberechnungseinrichtung 1013 eingegeben werden
  • In 14 werden die folgenden drei Verarbeitungsvorgänge als Vorverarbeitung bei der Berechnung der Verzerrung für jeden Zufalls-Codevektor ausgeführt.
    • 1. Erster Matrix (N) berechnen: Potenz des synthetisierten adaptiven Codevektors (ptHtHp) und Selbstkorrelationsmatrix der Koeffizienten (HtH) des Synthesefilters werden berechnet und jedes Element der Selbstkorrelationsmatrix wird mit der oben genannten Potenz multipliziert, um Matrix N (= (ptHtHp)HtH) zu berechnen.
    • 2. Zweite Matrix (M) berechnen: Zeitumkehrsynthese wird an dem synthetisierten adaptiven Codevektor durchgeführt, um (ptHtH) zu erzeugen, und äußere Produkte des oben erwähnten resultierenden Signals (ptHtH) werden berechnet, um Matrix M zu erzeugen.
    • 3. Dritte Matrix (L) erzeugen: Matrix M, die in Position 2. berechnet wird, wird von Matrix N subtrahiert, die in Position 1. berechnet wird, um Matrix L zu erzeugen.
  • Des Weiteren kann der Nenner-Term (Dort) von Ausdruck (21), wie in den folgenden Ausdrücken (23) expandiert werden. Dort = (ctHtHc)(ptHtHp) – (ptHtHc)2 = ctNc – (rtc)2 = ctNc – (rtc)t(rtc) = ctNc – (ctrrtc) = ctNc – (ctMc) = ct(N – M)c = ctLc (23)wobei
  • N:
    (ptHtHp)HtH die oben beschriebene Vorverarbeitung (1.),
    r:
    ptHtH die oben beschriebene Vorverarbeitung (2.),
    M:
    rrt die oben beschriebene Vorverarbeitung (2.)
    L:
    N – M die oben beschriebene Vorverarbeitung (3.),
    c:
    Zufalls-Codevektor.
  • Dadurch wird die Berechnung des Nenner-Terms (Dort) bei der Berechnung des Such-Bezugswertes (Eort) von Ausdruck 21 durch Ausdruck (23) ersetzt, so dass es möglich wird, die Zufalls-Codebuchkomponente mit der geringeren Menge an Berechnungen zu spezifizieren.
  • Die Berechnung des Nenner-Terms wird unter Verwendung der Matrix L, die in der oben beschriebenen Vorverarbeitung ermittelt wird, und des Zufalls-Codevektors 1009 ausgeführt.
  • Dabei wird, um die Erläuterung zu vereinfachen, das Berechnungsverfahren des Nenner-Terms auf der Basis von Ausdruck (23) für einen Fall beschrieben, in dem eine Abtastfrequenz des Eingangs-Sprachsignals 8000 Hz beträgt, das Zufalls-Codebuch algebraische Struktur hat und seine Codevektoren durch fünf Impulseinheiten mit Vorzeichen pro 10-ms-Rahmen konstruiert werden.
  • Die fünf Impulseinheiten mit Vorzeichen, die den Zufallsvektor bilden, haben Impulse, die jeweils aus den Kandidaten-Positionen ausgewählt werden, die für jede von einer 0-ten bis zu einer vierten Gruppe definiert sind, die in Tabelle 2 dargestellt sind, so dass der Zufalls-Vektor c mit dem folgenden Ausdruck (24) beschrieben werden kann. C = a0δ(k – 10) + a1δ(k – 11) + ... a4δ(k – 14) (24)(k = 0, 1, ... 79) wobei
  • ai:
    Vorzeichen (+1/–1) von Impuls, der zur Gruppe i gehört, und
    li:
    Position von Impuls, der zur Gruppe i gehört.
  • Tabelle 2
    Figure 00470001
  • Dabei kann der Nenner-Term (Dort), der mit Ausdruck (23) dargestellt ist, mit dem folgenden Ausdruck (25) ermittelt werden:
    Figure 00480001
    wobei
  • ai:
    Vorzeichen (+1/–1) von Impuls, der zur Gruppe i gehört,
    li:
    Position von Impuls, der zur Gruppe i gehört, und
    sL(li, lj):
    Element (li-Reihe und lj-Spalte von Matrix L.
  • In dem Fall, in dem das ACELP-Zufalls-Codebuch verwendet wird, kann, wie oben erläutert, der Zähler-Term (Nort) des Codesuch-Bezugswertes von Ausdruck (21) mit Ausdruck (23) berechnet werden, während der Nenner-Term (Dort) mit Ausdruck (25) berechnet werden kann. Daher wird beim Einsatz des ACELP-Zufalls-Codebuchs der Zähler-Term mit Ausdruck (22) berechnet und der Nenner-Term wird mit Ausdruck (25) berechnet, anstatt den Bezugswert von Ausdruck (21) direkt zu berechnen. Dies ermöglicht es, die Anzahl von Rechenschritten für Vektorquantisierungsverarbeitung von Zufalls-Anregungen erheblich zu reduzieren.
  • Die obenstehenden Ausführungen erläuterten die Zufallscodesuche ohne Vorauswahl. Die gleiche Wirkung wie oben beschrieben kann jedoch erzielt werden, wenn die vorliegende Erfindung auf einen Fall angewendet wird, in dem Vorauswahl auf Basis der Werte von Ausdruck (22) eingesetzt wird, die Werte von Ausdruck (21) lediglich für vorausgewählte Zufalls-Codevektoren mit Ausdruck (22) und Ausdruck (25) berechnet werden und schließlich ein Zufalls-Codevektor ausgewählt wird, der den oben genannten Such-Bezugswert maximiert.

Claims (4)

  1. Vorrichtung zum Erzeugen eines dispergierten Impulsvektors, die für eine Sprachcodier-/Decodiervorrichtung verwendet wird, wobei sie umfasst: einen Impulsvektor-Generator, der so konfiguriert ist, dass er einen Impulsvektor erzeugt, der einen mit Vorzeichen versehenen Einheitspuls hat; einen Dispersionsmuster-Speicher, der so konfiguriert ist, dass er eine Vielzahl festgelegter Dispersionsmuster speichert; eine Dispersionsmuster-Auswähleinrichtung, die so konfiguriert ist, dass sie ein Dispersionsmuster aus der Vielzahl festgelegter Dispersionsmuster auswählt, wobei die Dispersionsmuster-Auswähleinrichtung enthält: eine erste Auswähleinrichtung, die eine Vorauswahl von Dispersionsmustern der Vielzahl festgelegter Dispersionsmuster durchführt; eine zweite Auswähleinrichtung, die das Dispersionsmuster aus dem vorausgewählten Dispersionsmuster bestimmt, das mit dem Impulsvektor zu falten ist; eine Vorrichtung zum Erzeugen eines dispergierten Impulsvektors, die so konfiguriert ist, dass sie einen dispergierten Impulsvektor durch Falten des Impulsvektors und des ausgewählten Dispersionsmusters erzeugt.
  2. Vorrichtung zum Erzeugen eines dispergierten Impulsvektors nach Anspruch 1, wobei die Dispersionsmuster-Auswähleinrichtung das ausgewählte Dispersionsmuster unter Bezugnahme auf eine adaptive Codebuchverstärkung bestimmt.
  3. Vorrichtung zum Erzeugen eines dispergierten Impulsvektors nach Anspruch 1, wobei der Impulsvektor auf Basis einer algebraischen Codebuchtabelle erzeugt wird.
  4. Vorrichtung zum Erzeugen eines dispergierten Impulsvektors nach Anspruch 1, wobei die in dem Dispersionsmuster-Speicher gespeicherte Vielzahl festgelegter Dispersionsmuster nach Charakteristiken jedes der Vielzahl festgelegter Dispersionsmuster in mehrere Typen sortiert werden.
DE29825254U 1997-10-22 1998-10-22 Sprachcodierer und Sprachdecodierer Expired - Lifetime DE29825254U1 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP28941297A JP3235543B2 (ja) 1997-10-22 1997-10-22 音声符号化/復号化装置
JP28941297 1997-10-22
JP29513097A JP3175667B2 (ja) 1997-10-28 1997-10-28 ベクトル量子化法
JP29513097 1997-10-28
JP08571798A JP3174756B2 (ja) 1998-03-31 1998-03-31 音源ベクトル生成装置及び音源ベクトル生成方法
JP8571798 1998-03-31
EP98950336A EP0967594B1 (de) 1997-10-22 1998-10-22 Audiokodierer und -dekodierer

Publications (1)

Publication Number Publication Date
DE29825254U1 true DE29825254U1 (de) 2007-03-01

Family

ID=27304940

Family Applications (8)

Application Number Title Priority Date Filing Date
DE69840855T Expired - Lifetime DE69840855D1 (de) 1997-10-22 1998-10-22 Anregungsvektorerzeugung für die Sprachkodierung und -dekodierung
DE69840008T Expired - Lifetime DE69840008D1 (de) 1997-10-22 1998-10-22 Verfahren und Vorrichtung für die Erzeugung von gestreuten Vektoren
DE29825254U Expired - Lifetime DE29825254U1 (de) 1997-10-22 1998-10-22 Sprachcodierer und Sprachdecodierer
DE69836624T Expired - Lifetime DE69836624T2 (de) 1997-10-22 1998-10-22 Audiokodierer und -dekodierer
DE69838305T Expired - Lifetime DE69838305T2 (de) 1997-10-22 1998-10-22 Orthogonalisierungssuche für die CELP basierte Sprachkodierung
DE69840009T Expired - Lifetime DE69840009D1 (de) 1997-10-22 1998-10-22 Mehrstufige Vector Quantisierung für die Sprachkodierung
DE69839407T Expired - Lifetime DE69839407T2 (de) 1997-10-22 1998-10-22 Verfahren und Vorrichtung zum Generieren von Vektoren für die Sprachdekodierung
DE69840038T Expired - Lifetime DE69840038D1 (de) 1997-10-22 1998-10-22 Tonkodierer und Tondekodierer

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69840855T Expired - Lifetime DE69840855D1 (de) 1997-10-22 1998-10-22 Anregungsvektorerzeugung für die Sprachkodierung und -dekodierung
DE69840008T Expired - Lifetime DE69840008D1 (de) 1997-10-22 1998-10-22 Verfahren und Vorrichtung für die Erzeugung von gestreuten Vektoren

Family Applications After (5)

Application Number Title Priority Date Filing Date
DE69836624T Expired - Lifetime DE69836624T2 (de) 1997-10-22 1998-10-22 Audiokodierer und -dekodierer
DE69838305T Expired - Lifetime DE69838305T2 (de) 1997-10-22 1998-10-22 Orthogonalisierungssuche für die CELP basierte Sprachkodierung
DE69840009T Expired - Lifetime DE69840009D1 (de) 1997-10-22 1998-10-22 Mehrstufige Vector Quantisierung für die Sprachkodierung
DE69839407T Expired - Lifetime DE69839407T2 (de) 1997-10-22 1998-10-22 Verfahren und Vorrichtung zum Generieren von Vektoren für die Sprachdekodierung
DE69840038T Expired - Lifetime DE69840038D1 (de) 1997-10-22 1998-10-22 Tonkodierer und Tondekodierer

Country Status (8)

Country Link
US (10) US6415254B1 (de)
EP (12) EP0967594B1 (de)
KR (10) KR20050090026A (de)
CN (1) CN100349208C (de)
CA (3) CA2684452C (de)
DE (8) DE69840855D1 (de)
HK (10) HK1025417A1 (de)
WO (1) WO1999021174A1 (de)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69721595T2 (de) * 1996-11-07 2003-11-27 Matsushita Electric Ind Co Ltd Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
EP0967594B1 (de) * 1997-10-22 2006-12-13 Matsushita Electric Industrial Co., Ltd. Audiokodierer und -dekodierer
JP4173940B2 (ja) * 1999-03-05 2008-10-29 松下電器産業株式会社 音声符号化装置及び音声符号化方法
SE0001727L (sv) * 2000-05-10 2001-11-11 Global Ip Sound Ab Överföring över paketförmedlade nät
AU2002224116A1 (en) 2000-11-27 2002-06-03 Matsushita Electric Industrial Co., Ltd. Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
JP3404016B2 (ja) * 2000-12-26 2003-05-06 三菱電機株式会社 音声符号化装置及び音声符号化方法
KR100464369B1 (ko) * 2001-05-23 2005-01-03 삼성전자주식회사 음성 부호화 시스템의 여기 코드북 탐색 방법
WO2003071522A1 (fr) * 2002-02-20 2003-08-28 Matsushita Electric Industrial Co., Ltd. Procede de production de vecteur de source sonore fixe et table de codage de source sonore fixe
KR100446630B1 (ko) * 2002-05-08 2004-09-04 삼성전자주식회사 음성신호에 대한 벡터 양자화 및 역 벡터 양자화 장치와그 방법
CA2415105A1 (en) * 2002-12-24 2004-06-24 Voiceage Corporation A method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
CA2551281A1 (en) * 2003-12-26 2005-07-14 Matsushita Electric Industrial Co. Ltd. Voice/musical sound encoding device and voice/musical sound encoding method
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
JP4445328B2 (ja) 2004-05-24 2010-04-07 パナソニック株式会社 音声・楽音復号化装置および音声・楽音復号化方法
US20060136202A1 (en) * 2004-12-16 2006-06-22 Texas Instruments, Inc. Quantization of excitation vector
BRPI0611430A2 (pt) * 2005-05-11 2010-11-23 Matsushita Electric Ind Co Ltd codificador, decodificador e seus métodos
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
JP4954069B2 (ja) * 2005-06-17 2012-06-13 パナソニック株式会社 ポストフィルタ、復号化装置及びポストフィルタ処理方法
EP1898397B1 (de) * 2005-06-29 2009-10-21 Panasonic Corporation Skalierbarer dekodierer und interpolationsverfahren für verschwundene daten
KR101370017B1 (ko) * 2006-02-22 2014-03-05 오렌지 Celp 기술에서의 디지털 오디오 신호의 개선된 코딩/디코딩
WO2007114290A1 (ja) * 2006-03-31 2007-10-11 Matsushita Electric Industrial Co., Ltd. ベクトル量子化装置、ベクトル逆量子化装置、ベクトル量子化方法及びベクトル逆量子化方法
WO2008023682A1 (fr) * 2006-08-22 2008-02-28 Panasonic Corporation Décodeur de sortie pondéré, décodeur itératif et procédé de calcul de valeur de décision pondérée
EP2063418A4 (de) * 2006-09-15 2010-12-15 Panasonic Corp Audiocodierungseinrichtung und audiocodierungsverfahren
JPWO2008047795A1 (ja) * 2006-10-17 2010-02-25 パナソニック株式会社 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
DK2102619T3 (en) * 2006-10-24 2017-05-15 Voiceage Corp METHOD AND DEVICE FOR CODING TRANSITION FRAMEWORK IN SPEECH SIGNALS
JP5231243B2 (ja) 2006-11-28 2013-07-10 パナソニック株式会社 符号化装置及び符号化方法
EP2091257B1 (de) * 2006-11-30 2017-12-27 Panasonic Corporation Kodiergerät
WO2008072732A1 (ja) * 2006-12-14 2008-06-19 Panasonic Corporation 音声符号化装置および音声符号化方法
KR101414341B1 (ko) * 2007-03-02 2014-07-22 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치 및 부호화 방법
CN100583649C (zh) * 2007-07-23 2010-01-20 华为技术有限公司 矢量编/解码方法、装置及流媒体播放器
US8169992B2 (en) 2007-08-08 2012-05-01 Telefonaktiebolaget Lm Ericsson (Publ) Uplink scrambling during random access
CN101335004B (zh) 2007-11-02 2010-04-21 华为技术有限公司 一种多级量化的方法及装置
EP2269188B1 (de) * 2008-03-14 2014-06-11 Dolby Laboratories Licensing Corporation Multimodale kodierung sprachähnlicher und sprachunähnlicher signale
US20100238984A1 (en) * 2009-03-19 2010-09-23 Motorola, Inc. Spatial Information Feedback in Wireless Communication Systems
US20110085588A1 (en) * 2009-10-09 2011-04-14 Motorola-Mobility, Inc. Method for precoding based on antenna grouping
US8873650B2 (en) * 2009-10-12 2014-10-28 Motorola Mobility Llc Configurable spatial channel information feedback in wireless communication system
WO2011052221A1 (ja) 2009-10-30 2011-05-05 パナソニック株式会社 符号化装置、復号装置、およびそれらの方法
EP2515299B1 (de) 2009-12-14 2018-06-20 Fraunhofer Gesellschaft zur Förderung der Angewand Vektorquantisierungsvorrichtung, sprachkodierungsvorrichtung, vektorquantisierungsverfahren und sprachkodierungsverfahren
US9203489B2 (en) 2010-05-05 2015-12-01 Google Technology Holdings LLC Method and precoder information feedback in multi-antenna wireless communication systems
US8509338B2 (en) 2010-05-05 2013-08-13 Motorola Mobility Llc Method and precoder information feedback in multi-antenna wireless communication systems
US8537658B2 (en) 2010-08-16 2013-09-17 Motorola Mobility Llc Method of codebook design and precoder feedback in wireless communication systems
US9972325B2 (en) 2012-02-17 2018-05-15 Huawei Technologies Co., Ltd. System and method for mixed codebook excitation for speech coding
ES2960582T3 (es) * 2012-03-29 2024-03-05 Ericsson Telefon Ab L M Cuantificador vectorial
US9813262B2 (en) 2012-12-03 2017-11-07 Google Technology Holdings LLC Method and apparatus for selectively transmitting data using spatial diversity
US9591508B2 (en) 2012-12-20 2017-03-07 Google Technology Holdings LLC Methods and apparatus for transmitting data between different peer-to-peer communication groups
US9979531B2 (en) 2013-01-03 2018-05-22 Google Technology Holdings LLC Method and apparatus for tuning a communication device for multi band operation
US10229697B2 (en) 2013-03-12 2019-03-12 Google Technology Holdings LLC Apparatus and method for beamforming to obtain voice and noise signals
US9386542B2 (en) 2013-09-19 2016-07-05 Google Technology Holdings, LLC Method and apparatus for estimating transmit power of a wireless device
EP3058568B1 (de) * 2013-10-18 2021-01-13 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung E.V. Konzept zur codierung eines audiosignals und zur decodierung eines audiosignals mit sprachbezogenen spektralformungsinformationen
RU2644123C2 (ru) 2013-10-18 2018-02-07 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Принцип для кодирования аудиосигнала и декодирования аудиосигнала с использованием детерминированной и шумоподобной информации
US9549290B2 (en) 2013-12-19 2017-01-17 Google Technology Holdings LLC Method and apparatus for determining direction information for a wireless device
US10803718B2 (en) 2014-01-22 2020-10-13 Huawei Technologies Co., Ltd Systems and methods for remotely controlling security devices
US9491007B2 (en) 2014-04-28 2016-11-08 Google Technology Holdings LLC Apparatus and method for antenna matching
US9478847B2 (en) 2014-06-02 2016-10-25 Google Technology Holdings LLC Antenna system and method of assembly for a wearable electronic device
CN108984849B (zh) * 2018-06-21 2023-12-22 深圳万知达科技有限公司 一种基于量子叠加态的量子比较器设计方法
TWI693419B (zh) * 2019-02-13 2020-05-11 國立交通大學 訊號處理方法

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US203734A (en) * 1878-05-14 Improvement in mechanical movements
US143432A (en) * 1873-10-07 Improvement in toy devices for making soap-bubbles
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US4965580A (en) * 1988-09-26 1990-10-23 Mitsubishi Denki Kabushiki Kaisha Quantizer and inverse-quantizer
JP2956068B2 (ja) 1989-04-21 1999-10-04 日本電気株式会社 音声符号化復号化方式
JP2946525B2 (ja) * 1989-04-25 1999-09-06 日本電気株式会社 音声符号化方式
US5307441A (en) * 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
US5701392A (en) * 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
CA2010830C (en) * 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
JPH0451200A (ja) * 1990-06-18 1992-02-19 Fujitsu Ltd 音声符号化方式
US5195137A (en) * 1991-01-28 1993-03-16 At&T Bell Laboratories Method of and apparatus for generating auxiliary information for expediting sparse codebook search
FI98104C (fi) 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
US5396576A (en) * 1991-05-22 1995-03-07 Nippon Telegraph And Telephone Corporation Speech coding and decoding methods using adaptive and random code books
US5233660A (en) 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
JP3178732B2 (ja) * 1991-10-16 2001-06-25 松下電器産業株式会社 音声符号化装置
US5325519A (en) * 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
DE69328450T2 (de) 1992-06-29 2001-01-18 Nippon Telegraph & Telephone Verfahren und Vorrichtung zur Sprachkodierung
JP3024455B2 (ja) 1992-09-29 2000-03-21 三菱電機株式会社 音声符号化装置及び音声復号化装置
JP2947012B2 (ja) * 1993-07-07 1999-09-13 日本電気株式会社 音声符号化装置並びにその分析器及び合成器
US5448816A (en) * 1994-05-06 1995-09-12 Adcor Products, Inc. Tool and method for removing high heel tips
JP3224955B2 (ja) * 1994-05-27 2001-11-05 株式会社東芝 ベクトル量子化装置およびベクトル量子化方法
JP3223943B2 (ja) 1994-06-16 2001-10-29 日本電信電話株式会社 ベクトル符号復号方法
EP0704836B1 (de) * 1994-09-30 2002-03-27 Kabushiki Kaisha Toshiba Vorrichtung zur Vektorquantisierung
US5699477A (en) * 1994-11-09 1997-12-16 Texas Instruments Incorporated Mixed excitation linear prediction with fractional pitch
JP3328080B2 (ja) 1994-11-22 2002-09-24 沖電気工業株式会社 コード励振線形予測復号器
JP3425152B2 (ja) * 1995-02-03 2003-07-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (n−1)ビット情報語系列をnビット・チャネル語系列に符号化する符号化装置およびnビット・チャネル語系列を(n−1)ビット情報語系列に複号する複号装置
JPH0934498A (ja) 1995-07-21 1997-02-07 Nippon Telegr & Teleph Corp <Ntt> 音響信号符号化方法
JP3196595B2 (ja) * 1995-09-27 2001-08-06 日本電気株式会社 音声符号化装置
JP3680380B2 (ja) * 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
JP3137176B2 (ja) 1995-12-06 2001-02-19 日本電気株式会社 音声符号化装置
JP3364825B2 (ja) * 1996-05-29 2003-01-08 三菱電機株式会社 音声符号化装置および音声符号化復号化装置
JP3174733B2 (ja) * 1996-08-22 2001-06-11 松下電器産業株式会社 Celp型音声復号化装置、およびcelp型音声復号化方法
CA2213909C (en) * 1996-08-26 2002-01-22 Nec Corporation High quality speech coder at low bit rates
DE69721595T2 (de) * 1996-11-07 2003-11-27 Matsushita Electric Ind Co Ltd Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
US5974378A (en) * 1997-01-06 1999-10-26 Texas Instruments Incorporated Multi-stage vector quantization with efficient codebook search
TW408298B (en) * 1997-08-28 2000-10-11 Texas Instruments Inc Improved method for switched-predictive quantization
US6029125A (en) * 1997-09-02 2000-02-22 Telefonaktiebolaget L M Ericsson, (Publ) Reducing sparseness in coded speech signals
US6058359A (en) * 1998-03-04 2000-05-02 Telefonaktiebolaget L M Ericsson Speech coding including soft adaptability feature
EP0967594B1 (de) * 1997-10-22 2006-12-13 Matsushita Electric Industrial Co., Ltd. Audiokodierer und -dekodierer
US6301556B1 (en) * 1998-03-04 2001-10-09 Telefonaktiebolaget L M. Ericsson (Publ) Reducing sparseness in coded speech signals
JP3307875B2 (ja) 1998-03-16 2002-07-24 松下電送システム株式会社 符号化音声再生装置および符号化音声再生方法
US6148283A (en) * 1998-09-23 2000-11-14 Qualcomm Inc. Method and apparatus using multi-path multi-stage vector quantizer
US6302556B1 (en) * 2000-09-15 2001-10-16 Timothy K. Filip Decorative ceiling fan assembly
SG94735A1 (en) 2001-01-16 2003-03-18 Sumitomo Bakelite Co Container for electric device
WO2003071522A1 (fr) * 2002-02-20 2003-08-28 Matsushita Electric Industrial Co., Ltd. Procede de production de vecteur de source sonore fixe et table de codage de source sonore fixe
CN101359996B (zh) 2007-08-02 2012-04-04 华为技术有限公司 媒体业务呈现方法及通讯系统以及相关设备

Also Published As

Publication number Publication date
EP0967594B1 (de) 2006-12-13
EP1760695A2 (de) 2007-03-07
EP1763019A1 (de) 2007-03-14
EP0967594A4 (de) 2002-08-21
US20040143432A1 (en) 2004-07-22
KR20080077032A (ko) 2008-08-20
KR100938018B1 (ko) 2010-01-21
HK1104655A1 (en) 2008-01-18
EP1746583B1 (de) 2008-09-17
US20020161575A1 (en) 2002-10-31
DE69838305D1 (de) 2007-10-04
CA2684452A1 (en) 1999-04-29
KR100938017B1 (ko) 2010-01-21
KR100886062B1 (ko) 2009-02-26
EP1760694A3 (de) 2007-03-14
US20070033019A1 (en) 2007-02-08
EP0967594A1 (de) 1999-12-29
EP1640970A2 (de) 2006-03-29
EP1752968A2 (de) 2007-02-14
DE69840009D1 (de) 2008-10-23
EP1752968B1 (de) 2008-09-10
WO1999021174A1 (en) 1999-04-29
HK1099117A1 (en) 2007-08-03
DE69839407T2 (de) 2008-09-04
EP1760695B1 (de) 2013-04-24
EP1760694A2 (de) 2007-03-07
EP1640970B9 (de) 2009-10-14
US7024356B2 (en) 2006-04-04
HK1090161A1 (en) 2006-12-15
CA2684379A1 (en) 1999-04-29
DE69836624D1 (de) 2007-01-25
EP2224597A1 (de) 2010-09-01
EP1640970B1 (de) 2007-08-22
WO1999021174A8 (en) 1999-07-01
EP1734512B1 (de) 2015-09-09
KR100527217B1 (ko) 2005-11-08
KR20070087153A (ko) 2007-08-27
EP1684268B1 (de) 2008-04-23
EP1760695A3 (de) 2007-03-14
KR101029398B1 (ko) 2011-04-14
KR100925084B1 (ko) 2009-11-05
EP1684268A2 (de) 2006-07-26
HK1099138A1 (en) 2007-08-03
DE69840855D1 (de) 2009-07-09
CA2684379C (en) 2014-01-07
EP1746583A1 (de) 2007-01-24
HK1103843A1 (en) 2007-12-28
KR20040005928A (ko) 2004-01-16
DE69839407D1 (de) 2008-06-05
EP2224597B1 (de) 2011-12-21
US7499854B2 (en) 2009-03-03
EP1752968A3 (de) 2007-02-21
EP1684268A3 (de) 2007-02-07
CN100349208C (zh) 2007-11-14
DE69836624T2 (de) 2007-04-05
KR20080087152A (ko) 2008-09-30
EP1763019B1 (de) 2016-12-07
KR20070087151A (ko) 2007-08-27
EP1734512A2 (de) 2006-12-20
HK1101839A1 (zh) 2007-10-26
EP1746582B1 (de) 2009-05-27
EP1755227A2 (de) 2007-02-21
US20100228544A1 (en) 2010-09-09
CA2684452C (en) 2014-01-14
US20090132247A1 (en) 2009-05-21
KR20070087152A (ko) 2007-08-27
US7546239B2 (en) 2009-06-09
CA2275266C (en) 2005-06-14
CA2275266A1 (en) 1999-04-29
US20090138261A1 (en) 2009-05-28
KR20000069562A (ko) 2000-11-25
KR20080068942A (ko) 2008-07-24
EP1640970A3 (de) 2006-04-05
US8352253B2 (en) 2013-01-08
DE69838305T2 (de) 2007-12-20
HK1122639A1 (en) 2009-05-22
EP1734512A3 (de) 2007-01-17
DE69840038D1 (de) 2008-10-30
HK1090465A1 (en) 2006-12-22
EP1746582A1 (de) 2007-01-24
US7590527B2 (en) 2009-09-15
HK1097637A1 (en) 2007-06-29
HK1025417A1 (en) 2000-11-10
KR20080078924A (ko) 2008-08-28
US20060080091A1 (en) 2006-04-13
EP1755227A3 (de) 2007-02-28
EP1755227B1 (de) 2008-09-10
KR100651438B1 (ko) 2006-11-28
US7373295B2 (en) 2008-05-13
DE69840008D1 (de) 2008-10-23
US20070255558A1 (en) 2007-11-01
US7533016B2 (en) 2009-05-12
US7925501B2 (en) 2011-04-12
KR20050090026A (ko) 2005-09-09
US6415254B1 (en) 2002-07-02
US8332214B2 (en) 2012-12-11
KR100900113B1 (ko) 2009-06-01
CN1632864A (zh) 2005-06-29
US20050203734A1 (en) 2005-09-15
KR100872246B1 (ko) 2008-12-05
EP1684268B8 (de) 2008-07-09

Similar Documents

Publication Publication Date Title
DE69839407T2 (de) Verfahren und Vorrichtung zum Generieren von Vektoren für die Sprachdekodierung
DE69932460T2 (de) Sprachkodierer/dekodierer
DE69915400T2 (de) Vorrichtung zur Kodierung und Dekodierung von Audiosignalen
DE19647298C2 (de) Kodiersystem
DE69636209T2 (de) Vorrichtung zur Sprachkodierung
DE69729527T2 (de) Verfahren und Vorrichtung zur Kodierung von Sprachsignalen
DE69921066T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69727256T2 (de) Sprachkodierer hoher Qualität mit niedriger Bitrate
DE4491015C2 (de) Verfahren zum Erzeugen eines Spektralrauschbewertungsfilters zur Verwendung in einem Sprachcoder
DE69630177T2 (de) Sprachkodierer mit der Fähigkeit zur wesentlichen Vergrösserung der Codebuchgrösse ohne aber die Zahl der übertragenen Bits zu vergrössern
DE10004862B4 (de) Ein schnelles Suchverfahren für LSP-Quantisierung
DE69937907T2 (de) Sprachkodiererprozessor und sprachkodierungsmethode
DE29825253U1 (de) Sprachcodierer und Sprachdecodierer
DE69931642T2 (de) Sprachkodier/dekodiervorrichtung
DE69334115T2 (de) CELP Kodierer und Dekodierer

Legal Events

Date Code Title Description
R207 Utility model specification

Effective date: 20070405

R152 Utility model maintained after payment of third maintenance fee after eight years

Effective date: 20070420

R071 Expiry of right
R081 Change of applicant/patentee

Owner name: PANASONIC CORPORATION, KADOMA-SHI, JP

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD., KADOMA-SHI, OSAKA, JP

Effective date: 20081126