DE69708696T2 - Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-codebuchs - Google Patents

Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-codebuchs

Info

Publication number
DE69708696T2
DE69708696T2 DE69708696T DE69708696T DE69708696T2 DE 69708696 T2 DE69708696 T2 DE 69708696T2 DE 69708696 T DE69708696 T DE 69708696T DE 69708696 T DE69708696 T DE 69708696T DE 69708696 T2 DE69708696 T2 DE 69708696T2
Authority
DE
Germany
Prior art keywords
vector
section
code
random
fixed
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
DE69708696T
Other languages
English (en)
Other versions
DE69708696D1 (de
Inventor
Hiroyuki Ehara
Toshiyuki Morii
Taisuke Watanabe
Kazutoshi Yasunaga
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=27459954&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69708696(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from JP29473896A external-priority patent/JP4003240B2/ja
Priority claimed from JP31032496A external-priority patent/JP4006770B2/ja
Priority claimed from JP03458397A external-priority patent/JP3700310B2/ja
Priority claimed from JP03458297A external-priority patent/JP3174742B2/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69708696D1 publication Critical patent/DE69708696D1/de
Publication of DE69708696T2 publication Critical patent/DE69708696T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L19/135Vector sum excited linear prediction [VSELP]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf einen Anregungs-Vektor-Generator und ein Verfahren, geeignet zum Erhalten einer hoch qualitativen, synthetisierten Sprache, die in einem Sprachcodec verwendet wird.
  • Die EP-A-680 032 offenbart ein Verfahren zur Quantisierung von Eingangs-Vektoren mit einer Umanordnung von Vektor-Elementen eines Kandidaten-Vektors.
  • Ein Sprachcodierer vom CELP-Typ (Code Exited Linear Prediction) führt eine lineare Vorhersage für jeden Rahmen, erhalten durch Segmentieren einer Sprache zu einem gegebenen Zeitpunkt, und für Code vorhersagende Restbestandteile (Anregungs-Signale), die von einer linearen Vorhersage Rahmen für Rahmen resultieren, unter Verwendung eines adaptiven Codebuchs, das alte Anregungs-Vektoren besitzt, die darin gespeichert sind, und eines Zufalls-Codebuchs, das eine Vielzahl von Zufalls-Code-Vektoren, die darin gespeichert sind, besitzt, aus. Zum Beispiel offenbart "Code-Exited Linear Prediction (CELP): High-Quality Speech at Very Low Bit Rate", M. R. Schroeder, Proc. ICASSP' 85, Seiten 937-940, einen Sprachcodierer vom CELP-Typ.
  • Fig. 1 stellt die schematische Struktur eines Sprach-Codierers vom CELP-Typ dar. Der Sprachcodierer vom CELP-Typ separiert vokale Informationen in Anregungs- Informationen und vokale Traktat-Informationen und codiert sie. In Bezug auf die vokalen Traktat-Informationen wird ein Eingangs-Sprachsignal 10 zu einem Filter-Koeffizienten- Analyseabschnitt 11 für eine lineare Vorhersage eingegeben, und lineare Vorhersage- Koeffizienten (linear predictive coeficients - LPCs) werden durch einen Filter-Koeffizienten Quantisierungs-Abschnitt 12 codiert. Ein Zuführen der linearen Vorhersage-Koeffizienten zu einem Synthese-Filter 13 ermöglicht, daß Vokal-Traktat-Informationen zu Anregungs- Informationen in dem Synthesefilter 13 hinzugefügt werden. In Bezug auf die Anregungs- Informationen wird eine Anregungs-Vektor-Suche in einem adaptiven Codebuch 14 und einem Random-Codebuch 15 für jedes Segment, erhalten durch weiteres Segmentieren eines Rahmens (bezeichnet als Unterrahmen), ausgeführt. Die Suche in dem adaptiven Codebuch 14 und die Suche in dem Random-Codebuch 15 sind Prozesse zur Bestimmung der Code-Nummer und -Verstärkung (Pitch-Verstärkung) eines adaptiven Code- Vektors, was eine Codierverzerrung in einer Gleichung 1 minimiert, und die Code-Nummer und -Verstärkung (Random-Code-Verstärkung) eines Random-Code-Vektors verarbeitet.
  • ν - (gaHp + gcHc) ² (1)
  • ν: Sprachsignal (Vektor)
  • H: Impuls-Ansprech-Convolutions-Matrix des
  • Synthesefilter,
  • wobei
  • h: Impuls-Ansprechen (Vektor) des Synthese-Filters.
  • L: Rahmenlänge
  • p: adaptiver Code-Vektor
  • c: Random-Code-Vektor
  • ga: adaptive Code-Verstärkung (Pitch-Verstärkung)
  • gc: Random-Code-Verstärkung
  • Da eine Suche in Form einer geschlossenen Schleife den Code, der die Gleichung 1 minimiert, einen großen Berechnungsumfang für die Code-Suche allerdings umfaßt, führt ein Sprach-Codierer vom gewöhnlichen CELP-Typ zuerst eine adaptive Codebuch-Suche durch, um die Code-Nummer eines adaptiven Code-Sektors zu spezifizieren, und führt dann eine Random-Codebuch-Suche basierend auf dem gesuchten Ergebnis durch, um die Code-Nummer eines Random-Code-Vektors zu spezifizieren.
  • Die Sprach-Codierer-Suche durch den Sprach-Codierer vom CELP-Typ wird nun unter Bezugnahme auf die Fig. 2A bis 2C beschrieben. In den Figuren ist ein Code x ein Ziel bzw. Target-Vektor für die Random-Codebuch-Suche, erhalten durch eine Gleichung 2. Es wird angenommen, daß die adaptive Codebuch-Suche bereits durchgeführt worden ist.
  • x = v - gaHp (2)
  • wobei
  • x: Target (Vektor) für die Random-Codebuch-Suche
  • v: Sprachsignal (Vektor)
  • H: Impuls-Ansprech-Convolutions-Matrix H des Synthese-Filters
  • p: adaptiver Code-Vektor
  • ga: adaptive Code-Verstärkung (pitch Verstärkung)
  • Die Random-Codebuch-Suche ist ein Prozeß eines Spezifizierens eines Random-Code- Vektors c, der eine Codier-Verzerrung minimiert, die durch eine Gleichung 3 in einem Verzerrungs-Kalkulator 16, wie in Fig. 2A dargestellt ist, definiert ist.
  • x - gcHc 2 (3)
  • wobei
  • x: für die Random-Codebuch-Suche
  • H: Impuls-Ansprech-Convolutions-Matrix des Synthese-Filters
  • c: Random-Code-Vektor
  • gc: Random-Code-Verstärkung
  • Der Verzerrungs-Kalkulator 16 steuert einen Steuerschalter 21, um einen Random-Code- Vektor, der von dem Random-Codebuch 15 gelesen werden soll, bis der Random-Code- Vektor c spezifiziert ist, umzuschalten.
  • Ein tatsächlicher Sprach-Codierer vom CELP-Typ besitzt eine Struktur entsprechend Fig. 2B, um die berechnungsmäßigen Komplexitäten zu reduzieren, und ein Verzerrungs- Kalkulator 16' führt einen Prozeß eines Spezifizierens einer Code-Nummer aus, die eine Verzerrungsmeldung in einer Gleichung 4 spezifiziert.
  • wobei
  • x: Target (Vektor) für die Random-Codebuch-Suche
  • H: Impuls-Ansprech-Convolutions-Matrix des Synthese-Filters
  • Ht: transponierte Matrix von H
  • Xt: Zeit-Umkehr-Synthese von x unter Verwendung von H (x't = xtH)
  • c: Random-Code-Vektor.
  • Insbesondere ist der Random-Codebuch-Steuerschalter 21 mit einem Anschluß des Random-Codebuchs 15 verbunden und der Random-Code-Vektor c wird von einer Adresse entsprechend zu diesem Anschluß gelesen. Der gelesene Random-Code-Vektor c wird mit Vokal-Traktat-Informationen durch den Synthese-Filter 13 synthtetisiert, was einen synthetisierten Vektor Hc erzeugt. Dann berechnet der Verzerrungs-Kalkulator 16' eine Verzerrungs-Messung in der Gleichung 4 unter Verwendung eines Vektors x', erhalten durch einen Zeitumkehr-Prozeß eines Targets x, wobei sich der Vektor Hc aus einer Synthese des Random-Code-Vektors in dem Synthese-Filter und dem Random-Code-Vektor c ergibt. Wenn der Random-Codebuch-Steuerschalter 21 umgeschaltet ist, wird eine Berechnung der Verzerrungs-Messung für jeden Random-Code-Vektor in dem Random- Codebuch durchgeführt.
  • Abschließend wird die Zahl des Random-Codebuch-Steuerschalters 21, der verbunden worden ist, als die Verzerrungs-Messung in der Gleichung 4 maximal wurde, zu einem Code-Ausgabe-Abschnitt 17 als die Code-Nummer des Random-Code-Vektors geschickt. Fig. 2C stellt eine Teilstruktur eines Sprach-Decodierers dar. Die Umschaltung des Random-Codebuch-Steuerschalters 21 wird in einer solchen Art und Weise gesteuert, um den Random-Code-Vektor auszulesen, der eine übermittelte Code-Nummer besaß. Nachdem eine übertragene Random-Code-Verstärkung gc und ein Filter-Koeffizient in einem Verstärker 23 und einem Synthese-Filter 24 eingestellt sind, wird ein Random-Code-Vektor ausgelesen, um eine synthetisierte Sprache zurückzuspeichern.
  • In dem vorstehend beschriebenen Sprach-Codierer/Sprach-Decodierer ist es, desto größer die Anzahl von Random-Code-Vektoren, gespeichert als Anregungs-Information in dem Random-Codebuch 15, ist, desto mehr möglich, einen Random-Code-Vektor nahe zu dem Anregungs-Vektor einer tatsächlichen Sprache zu suchen. Wenn die Kapazität des Random-Codebuchs (ROM) begrenzt ist, ist es allerdings nicht möglich, unzählige Random-Code-Vektoren entsprechend zu allen Anregungs-Vektoren in dem Random- Codebuch zu speichern. Dies beschränkt eine Verbesserung in Bezug auf die Qualität von Sprachen.
  • Auch ist eine algebraische Anregung vorgeschlagen worden, die wesentlich die berechnungsmäßigen Komplexitäten einer Codier-Verzerrung in einem Verzerrungs-Kalkulator reduzieren kann und ein Random-Codebuch (ROM) elimieren kann (beschrieben in "8 KBIT/S ACELP CODLNG OF SPEECH WITH 10 MS SPEECH-FRAME: A CANDIDATE FOR CCITT STANDARDIZATION": R. Salami, C. Laflamme, j-P. Adoul. ICASSP '94, Seiten II-97 bis II-100, 1994).
  • Die algebraische Anregung reduziert beträchtlich die Komplexitäten einer Berechnung einer Codier-Verzerrung durch vorheriges Berechnen der Ergebnisse einer Konvolution des Impuls-Anprechverhaltens eines Synthese-Filters und eines Zeit umgekehrten Targets und die Autokorrelation des Synthese-Filters und Entwickeln davon in einem Speicher. Weiterhin wird ein ROM, in dem Random-Code-Vektoren gespeichert worden sind, durch algebraisches Erzeugen von Random-Code-Vektoren eliminiert. Ein CS-ACELP und ACELP, die die algebraische Anregung verwenden, sind jeweils als G. 729 und G. 723.1 von dem ITU-T empfohlen worden.
  • In dem Sprach-Codierer/Sprach-Decodierer vom CELP-Typ, ausgestattet mit der vorstehend beschriebenen, algebraischen Anregung, in einem Random-Codebuch-Abschnitt, wird allerdings ein Target für eine Random-Codebuch-Suche immer mit einem Impuls- Sequenz-Vektor codiert, was der Verbesserung in Bezug auf eine Sprach-Qualität eine Grenze auferlegt.
  • Es ist die Aufgabe der vorliegenden Erfindung, einen Anregungs-Vektor-Generator und ein entsprechendes Verfahren zu schaffen, die ermöglichen, daß ein Anregungs-Vektor nahe zu einer tatsächlichen Sprache erzeugt wird, und die die Sprach-Qualität verbessern können.
  • Diese Aufgabe wird durch die Gegenstände der Ansprüche 1 und 11 jeweils gelöst.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 zeigt ein schematisches Diagramm eines herkömmlichen Sprach-Codierers vom CELP-Typ;
  • Fig. 2A zeigt ein Blockdiagramm eines Anregungs-Vektor-Erzeugungs-Abschnitts in dem Sprach-Codierer in Fig. 1;
  • Fig. 2B zeigt ein Blockdiagramm einer Modifikation des Anregungs-Vektor-Erzeugungs- Abschnitts, der so ausgelegt ist, um die Berechnungskosten zu reduzieren;
  • Fig. 2C zeigt ein Blockdiagramm eines Anregungs-Vektor-Erzeugungs-Abschnitts in einem Sprach-Decodierer, der als ein Paar mit dem Sprach-Codierer in Fig. 1 verwendet wird;
  • Fig. 3 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem ersten Mode;
  • Fig. 4 zeigt ein Blockdiagramm eines Anregungs-Vektor-Generators, eingesetzt in dem Sprach-Codierer gemäß dem ersten Mode;
  • Fig. 5 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem zweiten Mode;
  • Fig. 6 zeigt ein Blockdiagramm eines Anregungs-Vektor-Generators, eingesetzt in dem Sprach-Codierer gemäß dem zweiten Mode;
  • Fig. 7 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem dritten und einem vierten Mode;
  • Fig. 8 zeigt ein Blockdiagramm eines Anregungs-Vektor-Generators, eingesetzt in dem Sprach-Codierer gemäß dem dritten Mode;
  • Fig. 9 zeigt ein Blockdiagramm eines nicht-linearen, digitalen Filters, eingesetzt in dem Sprach-Codierer gemäß dem vierten Mode;
  • Fig. 10 zeigt ein Diagramm der Addierer-Charakteristik des nicht-linearen, digitalen Filters, dargestellt in Fig. 9;
  • Fig. 11 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem fünften Mode;
  • Fig. 12 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem sechsten Mode;
  • Fig. 13A zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem siebten Mode;
  • Fig. 13B zeigt ein Blockdiagramm der wesentlichen Bereiche des Sprach-Codierers gemäß dem siebten Mode;
  • Fig. 14 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Decodierers gemäß einem achten Mode;
  • Fig. 15 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem neunten Mode;
  • Fig. 16 zeigt ein Blockdiagramm eines ein Quantisierungs-Target-LSP hinzufügenden Abschnitts, eingesetzt in dem Sprach-Codierer gemäß dem neunten Mode;
  • Fig. 17 zeigt ein Blockdiagramm eines LSP-Quantisierungs/Decodierungs-Abschnitts, eingesetzt in dem Sprach-Codierer gemäß dem neunten Mode;
  • Fig. 18 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem zehnten Mode;
  • Fig. 19A zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem elften Mode;
  • Fig. 19B zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Decodierers gemäß dem elften Mode;
  • Fig. 20 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gerüäß einem zwölften Mode;
  • Fig. 21 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem dreizehnten Mode;
  • Fig. 22 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem vierzehnten Mode;
  • Fig. 23 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem fünfzehnten Mode;
  • Fig. 24 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem sechzehnten Mode;
  • Fig. 25 zeigt ein Blockdiagramm eines Vektor-Quantisierungs-Abschnitts in einem sechzehnten Mode;
  • Fig. 26 zeigt ein Blockdiagramm eines Parameter-Codier-Abschnitts eines Sprach- Codierers gemäß einem siebzehnten Mode; und
  • Fig. 27 zeigt ein Blockdiagramm einer Rausch-Aufhebungs-Einrichtung gemäß einem achtzehnten Mode.
  • Beste Moden zum Ausführen der Erfindung
  • Bevorzugte Moden der vorliegenden Erfindung werden nun speziell unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • (Erster Mode)
  • Fig. 3 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß diesem Mode. Dieser Sprach-Codierer weist einen Anregungs-Vektor-Generator 30, der einen Seed-Speicher-Abschnitt 31 und einen Oszillator 32 besitzt, und einen LPC- Synthese-Filter 33 auf.
  • Seeds (Oszilations-Seeds) 34, ausgegeben von dem Seed-Speicher-Abschnitt 31, werden zu dem Oszillator 32 eingegeben. Der Oszillator 32 gibt unterschiedliche Vektor- Sequenzen gemäß den Werten der Eingabe-Seeds aus. Der Oszillator 32 oszilliert den Inhalt entsprechend zu dem Wert des Seeds (Oszillations-Seed) 34 und gibt einen Anregungs-Vektor 35 als eine Vektor-Sequenz aus. Der LPC-Synthese-Filter 33 wird mit Vokal- Traktat-Informationen in der Form der Impuls-Ansprech-Konvolutions-Matrix des Synthese-Filters versorgt und führt eine Konvolution in Bezug auf den Anregungs-Vektor 35 mit dem Impuls-Ansprechen durch, was eine synthetisierte Sprache 36 ergibt. Die Impuls- Ansprech-Konvolution des Anregungs-Vektors 35 wird als LPC-Synthese bezeichnet.
  • Fig. 4 stellt die spezifische Struktur des Anregungs-Vektors-Generators 30 dar. Ein Seed, das von dem Seed-Speicher-Abschnitt 31 gelesen werden soll, wird durch einen Steuerschalter 31 für den Seed-Speicher-Abschnitt entsprechend einem Steuersignal, gegeben von einem Verzerrungs-Kalkulator, umgeschaltet.
  • Ein einfaches Speichern einer Vielzahl von Seeds zum Ausgeben unterschiedlicher Vektor-Sequenzen von dem Oszillator 32 in dem Seed-Speicher-Abschnitt 31 kann ermöglichen, daß mehr Random-Code-Vektoren mit weniger Kapazität, verglichen mit einem Fall, bei dem komplizierte Random-Code-Vektoren direkt in einem Random-Codebuch gespeichert werden, erzeugt werden.
  • Obwohl dieser Mode als ein Sprach-Codierer beschrieben worden ist, kann der Anregungs-Vektor-Generator 30 an einen Sprach-Decodierer angepaßt werden. In diesem Fall besitzt der Sprach-Decodierer einen Seed-Speicher-Abschnitt mit denselben Inhalten wie diejenigen des Seed-Speicher-Abschnitts 31 des Sprach-Codierers und der Steuerschalter 41 für den Seed-Speicher-Abschnitt wird mit einer Seed-Nummer, ausgewählt zu dem Zeitpunkt eines Codierens, versorgt.
  • (Zweiter Mode)
  • Fig. 5 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß diesem Mode. Dieser Sprach-Codierer weist einen Anregungs-Vektor-Generator 50, der einen Seed-Speicher-Abschnitt 51 und einen nicht-linearen Oszillator 52 besitzt, und einen LPC-Synthese-Filter 53 auf.
  • Seeds (Oszilations-Seeds) 54, ausgegeben von dem Seed-Speicher-Abschnitt 51, werden zu dem nicht-linearen Oszillator 52 eingegeben. Ein Anregungs-Vektor 55 als eine Vektor- Sequenz, ausgegeben von dem nicht-linearen Oszillator 52, wird zu dem LPC-Synthese- Filter 53 eingegeben. Der Ausgang des LPC-Synthese-Filters 53 ist eine synthetisierte Sprache 56.
  • Der nicht-lineare Oszillator 52 gibt unterschiedliche Vektor-Sequenzen gemäß den Werten der Eingabe-Seeds 54 aus und der LPC-Synthese-Filter 53 führt eine LPC-Synthese in Bezug auf den Eingabe-Anregungs-Vektor 55 durch, um die synthetisierte Sprache 56 auszugeben.
  • Fig. 6 stellt die funktionalen Blöcke des Anregungs-Vektors-Generators 50 dar. Ein Seed, das von dem Seed-Speicher-Abschnitt 51 gelesen werden soll, wird durch einen Steuerschalter 51 für den Seed-Speicher-Abschnitt entsprechend einem Steuersignal, gegeben von einem Verzerrungs-Kalkulator, umgeschaltet.
  • Die Verwendung des nicht-Linearen Oszillators 52 als ein Oszillator in dem Anregungs- Vektor 50 kann eine Divergenz mit einer Oszillation entsprechend der nicht-linearen Charakteristik unterdrücken und kann praktische Anregungs-Vektoren liefern.
  • Obwohl dieser Mode als ein Sprach-Codierer beschrieben worden ist, kann der Anregungs-Vektor-Generator 50 an einen Sprach-Decodierer angepaßt werden. In diesem Fall besitzt der Sprach-Decodierer einen Seed-Speicher-Abschnitt mit denselben Inhalten wie diejenigen des Seed-Speicher-Abschnitts 51 des Sprach-Codierers und der Steuerschalter 41 für den Seed-Speicher-Abschnitt wird mit einer Seed-Nummer ausgewählt, zu dem Zeitpunkt eines Codierens, versorgt.
  • (Dritter Mode)
  • Fig. 7 stellt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß diesem Mode dar. Dieser Sprach-Codierer weist einen Anregungs-Vektor-Generator 70, der einen Seed-Speicher-Abschnitt 71 und einen nicht-linearen, digitalen Filter 72 besitzt, und einen LPC-Synthese-Filter 73 auf. In dem Diagramm bezeichnet das Bezugszeichen "74" einen Seed (Oszillations-Seed), der von dem Seed-Speicher-Abschnitt 71 ausgegeben ist und zu dem nicht-linearen, digitalen Filter 72 eingegeben ist, das Bezugszeichen "75" ist ein Anregungs-Vektor als eine Vektor-Sequenz-Ausgabe von dem nicht-linearen, digitalen Filter 72, und das Bezugszeichen "76" ist ein synthetisierter Sprach-Ausgang von dem LPC-Synthese-Fillter 73.
  • Der Anregungs-Vektor-Generator 70 besitzt einen Steuerschalter 41 für den Seed- Speicher-Abschnitt, der einen Seed umschaltet, der von dem Seed-Speicher 71 gelesen werden soll, entsprechend einem Steuersignal, das von einem Verzerrungs-Kalkulator gegeben ist, wie dies in Fig. 8 dargestellt ist.
  • Der nicht-lineare, digitale Filter 72 gibt unterschiedliche Vektor-Sequenzen gemäß den Werten der Eingabe-Seeds aus, und der LPC-Synthese-Filter 73 führt eine LPC-Synthese in Bezug auf den Eingabe-Anregungs-Vektor 75 durch, um die synthetisierte Sprache 76 auszugeben.
  • Die Verwendung des nicht-linearen, digitalen Filters 72 als ein Oszillator in dem Anregungs-Vektor 70 kann eine Divergenz mit einer Oszillation entsprechend der nicht-linearen Charakteristik unterdrücken und kann praktische Anregungs-Vektoren liefern. Obwohl dieser Mode als ein Sprach-Codierer beschrieben worden ist, kann der Anregungs-Vektor- Generator 70 an einen Sprach-Decodierer angepaßt werden. In diesem Falle besitzt der Sprach-Decodierer einen Seed-Speicher-Abschnitt mit denselben Inhalten wie diejenigen des Seed-Speicher-Abschnitts 71 des Sprach-Codierers, und der Steuerschalter 71 für den Seed-Speicher-Abschnitt wird zu einer Seed-Nummer, ausgewählt zu dem Zeitpunkt eines Codierens, zugeführt.
  • (Vierter Mode)
  • Ein Sprach-Codierer gemäß diesem Mode weist einen Anregungs-Vektor-Generator 70, der einen Seed-Speicher-Abschnitt 73 und einen nicht-linearen, digitalen Filter 72 besitzt, und einen LPC-Synthese-Filter 73 auf, wie in Fig. 7 dargestellt ist.
  • Insbesondere besitzt der nicht-lineare, digitale Filter 72 eine Struktur, wie sie in Fig. 9 gezeigt ist. Dieser nicht-lineare, digitale Filter 72 umfaßt einen Addierer 91, der eine nicht- lineare Addierer-Charakteristik besitzt, wie dies in Fig. 10 dargestellt ist, Filter-Zustand- Halte-Abschnitte 92 bis 93, die zum Beibehalten der Zustände (die Werte von y(k - 1) bis (k - N)) des digitalen Filters geeignet sind, und Multiplier 94 bis 95, die parallel zu den Ausgängen der jeweiligen Filter-Zustand-Halte-Abschnitte 92-93 verbunden sind, multiplizieren Filter-Zustände mit Verstärkungen und geben die Ergebnisse zu dem Addierer 91 aus. Die Anfangswerte der Filter-Zustände sind in den Filter-Zustand-Halte-Abschnitten 92-93 durch Seeds, gelesen von dem Seed-Speicher-Abschnitt 71, eingestellt. Die Werte der Verstärkungen der Multiplier 94-95 sind so festgelegt, daß die Polarität des digitalen Filters außerhalb eines Einheits-Kreises auf einer Z-Ebene liegt.
  • Fig. 10 zeigt ein konzeptmäßiges Diagramm der nicht-linearen Addierer-Charakteristik des Addierers 91, ausgestattet in dem nicht-linearen, digitalen Filter 72, und stellt die Eingabe/Ausgabe-Beziehung des Addierers 91 dar, der eine 2-Komplement-Charakteristik besitzt. Der Addierer 91 fordert zuerst die Summe von Addierer-Eingaben oder die Summe der Eingabe-Werte zu dem Addierer 91 an und verwendet dann die nicht-lineare Charakteristik, dargestellt in Fig. 10, um einen Addierer-Ausgang entsprechend zu der Eingangssumme zu berechnen.
  • Insbesondere ist der nicht-lineare, digitale Filter 72 ein All-Pol-Modell zweiter Ordnung, so daß die zwei Filter-Zustand-Halte-Abschnitte 92 und 93 in Reihe verbunden sind, und die Multiplier 94 und 95 sind mit den Ausgängen der Filter-Zustand-Halte-Abschnitte 92 und 93 verbunden. Weiterhin wird der digitale Filter, bei dem die nicht-lineare Addierer- Charakteristik des Addierers 91 eine 2-Komplement-Charakteristik ist, verwendet. Weiterhin hält der Seed-Speicher-Abschnitt 71 Seed-Vektoren von 32 Worten, wie dies insbesondere in Tabelle 1 beschrieben ist. Tabelle 1: Seed-Vektoren zum Erzeugen von Random-Code-Vektoren
  • In den so gebildeten Sprach-Codierer werden Seed-Vektoren, gelesen von dem Seed- Speicher-Abschnitt 71, als Anfangs-Werte zu den Filter-Zustand-Halte-Abschnitten 92 und 93 des nicht-linearen, digitalen Filters 72 gegeben. Zu jedem Zeitpunkt, zu dem Null zu dem Addierer 91 von einem Eingangs-Vektor (Null-Sequenzen) eingegeben wird, gibt der nicht-Lineare, digitale Filter 72 eine Abtastung (y (k)) zu einem Zeitpunkt aus, die sequentiell als ein Filter-Zustand zu den Filter-Zustand-Halte-Abschnitten 92 und 93 übertragen ist. Zu diesem Zeitpunkt multiplizieren die Multiplier 94 und 95 die Filter-Zustände, ausgegeben von den Filter-Zustand-Halte-Abschnitten 92 und 93, mit Verstärkungen a1 und a2 jeweils. Der Addierer 91 addiert die Ausgänge der Multiplier 94 und 95, um die Summe der Addierer-Eingänge zu erhalten, und erzeugt einen Addierer-Ausgang, der zwischen +1 bis -1 basierend auf der Charakteristik in Fig. 10 unterdrückt wird. Dieser Addierer-Ausgang (y (k + 1)) wird als ein Anregungs-Vektor ausgegeben und wird sequentiell zu den Filter- Zustand-Halte-Abschnitten 92 und 93 übertragen, um eine neue Abtastung (y (k + 2)) zu erzeugen.
  • Da die Koeffizienten 1 bis N der Multiplier 94-95 so festgelegt sind, daß insbesondere die Pole des nicht-linearen, digitalen Filters außerhalb eines Einheits-Kreises auf der Z-Ebene gemäß diesem Mode liegen, um dadurch den Addierer 91 mit einer nicht-linearen Addierer-Charakteristik auszustatten, kann die Divergenz des Ausgangs gerade dann unterdrückt werden, wenn der Eingang zu dem nicht-Linearen, digitalen Filter 72 groß wird, und Anregungs-Vektoren, die gut für die praktische Verwendung sind, können erzeugt beibehalten werden. Weiterhin kann die Zufälligkeit von Anregungs-Vektoren, die erzeugt werden sollen, sichergestellt werden.
  • Obwohl dieser Mode als ein Sprach-Codierer beschrieben worden ist, kann der Anregungs-Vektor-Generator 70 an einen Sprach-Decodierer angepaßt werden. In diesem Fall besitzt der Sprach-Decodierer einen Seed-Speicher-Abschnitt mit denselben Inhalten wie diejenigen des Seed-Speicher-Abschnitts 71 des Sprach-Codierers, und der Steuerschalter 41 für den Seed-Speicher-Abschnitt wird zu einer Seed-Nummer, ausgewählt zu dem Zeitpunkt eines Codierens, zugeführt.
  • (Fünfter Mode)
  • Fig. 11 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Godierers gemäß diesem Mode. Dieser Sprach-Codierer weist einen Anregungs-Vektor-Generator 110 auf, der einen Anregungs-Vektor-Speicher-Abschnitt 111 und einen Generator 112 für einen hinzugefügten Anregungs-Vektor und einen LPC-Synthese-Filter 113 besitzt.
  • Der Anregungs-Vektor-Speicher-Abschnitt 111 behält alte Anregungs-Vektoren bei, die durch einen Steuerschalter gelesen sind, und zwar unter Empfang eines Steuersignals von einem nicht dargestellten Verzerrungs-Kalkulator.
  • Der Generator 112 für den hinzugefügten Anregungs-Vektor führt einen vorbestimmten Prozeß durch, angezeigt durch einen Anregungs-Vektor für die Zahl des hinzugefügten Anregungs-Vektors, in Bezug auf einen alten Anregungs-Vektor, der von dem Speicher- Abschnitt 111 gelesen ist, um einen neuen Anregungs-Vektor zu produzieren. Der Generator 112 für den hinzugefügten Anregungs-Vektor besitzt eine Funktion eines Umschaltens des Prozeß-Inhalts für einen alten Anregungs-Vektor entsprechend der Zahl des hinzugefügten Anregungs-Vektors. Gemäß dem so gebildeten Sprach-Codierer ist eine Zahl für den hinzugefügten Anregungs-Vektor von dem Verzerrungs-Kalkulator gegeben, der, zum Beispiel, eine Anregungs-Vektor-Suche ausführt. Der Generator 112 für den hinzugefügten Anregungs-Vektor führt unterschiedliche Prozesse in Bezug auf alte Anregungs- Vektoren in Abhängigkeit von dem Wert der Zahl des eingegebenen, hinzugefügten Anregungs-Vektors aus, um unterschiedliche, hinzugefügte Anregungs-Vektoren zu erzeugen, und der LPC-Synthese-Filter 113 führt eine LPC-Synthese in Bezug auf den Eingabe- Anregungs-Vektor durch, um eine synthetisierte Sprach auszugeben.
  • Gemäß diesem Mode können Zufalls- bzw. Random-Anregungs-Vektoren einfach durch Speichern von weniger alten Anregungs-Vektoren in dem Anregungs-Vektor-Speicher- Abschnitt 111 und Umschalten der Prozeß-Inhalte mittels des Generators 112 für den hinzugefügten Anregungs-Vektor erzeugt werden, und es ist nicht notwendig, Random-Code- Vektoren direkt in einem Random-Codebuch (ROM) zu speichen. Dies kann wesentlich die Speicherkapazität reduzieren.
  • Obwohl dieser Mode als ein Sprach-Codierer beschrieben worden ist, kann der Anregungs-Vektor-Generator 110 an einen Sprach-Decodierer angepaßt werden. In diesem Fall besitzt der Sprach-Decodierer einen Anregungs-Vektor-Speicher-Abschnitt mit denselben Inhalten wie diejenigen des Anregungs-Vektor-Speicher-Abschnitts 111 des Sprach-Codierers, und eine Zahl für einen hinzugefügten Anregungs-Vektor, ausgewählt zu dem Zeitpunkt eines Codierens, wird zu dem Generator 112 für den hinzugefügten Anregungs-Vektor gegeben.
  • (Sechster Mode)
  • Fig. 12 stellt die funktionalen Blöcke eines Anregungs-Vektor-Generators gemäß diesem Mode dar. Dieser Anregungs-Vektor-Generator weist einen Generator 120 für einen hinzugefügten Anregungs-Vektor und einen Anregungs-Vektor-Speicher-Abschnitt 121 auf, wo eine Vielzahl von Element-Vektoren 1 bis N gespeichert ist.
  • Der Generator 120 für den hinzugefügten Anregungs-Vektor umfaßt einen Lese-Abschnitt 122, der einen Prozeß eines Lesens einer Vielzahl von Element-Vektoren unterschiedlicher Längen von unterschiedlichen Positionen in dem Anregungs-Vektor-Speicher- Abschnitt 121 durchführt, einen Umkehr-Abschnitt 123, der einen Prozeß zum Sortieren der gelesenen Element-Vektoren in der umgekehrten Reihenfolge durchführt, einen Muiltplizier-Abschnitt 124, der einen Prozeß eines Multiplizierens einer Vielzahl von Vektoren nach dem Umkehrprozeß durch unterschiedliche Verstärkungen jeweils durchführt, einen Dezimier-Abschnitt 125, der einen Prozeß eines Verkürzens der Vektor-Längen einer Vielzahl von Vektoren nach der Muliplikation durchführt, einen Interpolations-Abschnitt 126, der einen Prozeß einer Verlängerung der Vektor-Längen der verdünnten Vektoren durchführt, einen Addier-Abschnitt 127, der einen Prozeß eines Addierens der interpolierten Vektoren durchführt, und einen Prozeß-Bestimmungs/Instruier-Abschnitt 128, der eine Funktion eines Bestimmens eines spezifischen Verarbeitungsschemas gemäß dem Wert der eingegebenen Nummer des hinzugefügten Anregungs-Vektors und zum Instruieren der individuellen Abschnitte und eine Funktion eines Haltens einer Konversions-Liste (Tabelle 2) zwischen Nummern und Prozessen, auf die zu dem Zeitpunkt eines Bestimmens der spezifischen Prozeß-Inhalte Bezug genommen wird, besitzt. Tabelle 2: Konversions-Liste zwischen Zahlen und Prozessen
  • Der Generator 120 für den hinzugefügten Anregungs-Vektor wird nun genauer beschrieben. Der Generator 120 für den hinzugefügten Anregungs-Vektor bestimmt spezifische Verarbeitungsschemata für den Lese-Abschnitt 122, den Umkehr-Abschnitt 123, den Multiplizier-Abschnitt 124, den Dezimier-Abschnitt 125, den interpolierenden Abschnitt 126 und den Addier-Abschnitt 127 durch Vergleichen der eingegebenen Nummer für den hinzugefügten Anregungs-Vektor (die eine Sequenz von sieben Bits ist, die irgendeinen ganzzahligen Wert von 0 bis 127 annimmt) mit der Konversions-Liste zwischen Nummern und Prozessen (Tabelle 2), und berichtet die spezifischen Verarbeitungsschemata an die jeweiligen Abschnitte.
  • Der Lese-Abschnitt 122 extrahiert zuerst einen Element-Vektor 1 (V1) einer Länge von 100 von einem Ende des Anregungs-Vektor-Speicher-Abschnitts 121 zu der Position von n1, wobei eine Sequenz der unteren vier Bits der eingegebenen Nummer des hinzugefügten Anregungs-Vektors Aufmerksamkeit geschenkt wird (n1: ein ganzzahliger Wert von 0 bis 15). Dann extrahiert der Lese-Abschnitt 122 einen Element-Vektor 2 (V2) einer Länge von 78 von dem Ende des Anregungs-Vektor-Speicher-Abschnitts 121 zu der Position von n2 + 14 (ein ganzzahliger Wert von 14 bis 45), wobei Aufmerksamkeit einer Sequenz von fünf Bits geschenkt wird (n2: ein ganzzahliger Wert von 14 bis 45), der die niedrigeren zwei Bits und die oberen drei Bits der eingegebenen Zahl des hinzugefügten Anregungs- Vektors verknüpft miteinander besitzt. Weiterhin führt der Lese-Abschnitt 122 einen Prozeß eines Extrahierens eines Element-Vektors 3 (V3) einer Länge von Ns (= 52) von einem Ende des Anregungs-Vektor-Speicher-Abschnitts 121 zu der Position von n3 + 46 (ein ganzzahliger Wert von 46 bis 47) durch, wobei die Aufmerksamkeit einer Sequenz der oberen fünf Bits der eingegebenen Zahl bzw. Nummer des hinzugefügten Anregungs- Vektors gegeben wird (n3: ein ganzzahliger Wert von 0 bis 31), und Versenden von V1, V2 und V3 zu dem Umkehr-Abschnitt 123. Der Umkehr-Abschnitt 123 führt einen Prozeß eines Verschickens eines Vektors, der V1, V2 und V3 in der umgekehrten Reihenfolge umgeordnet besitzt, zu dem Muffiiplizier-Abschnitt 124 als neue V9, V2 und V3 durch, wenn das am wenigsten signifikante Bit der Nummer des hinzugefügten Anregungs-Vektors "0" ist, und verschickt V1, V2 und V3, wie sie sind; zu dem Multiplizier-Abschnitt 124, wenn das am wenigsten signifikante Bit "1" ist.
  • Es wird die Aufmerksamkeit auf eine Sequenz von zwei Bits gerichtet, die die oberen siebten und sechsten Bits der Zahl des hinzugefügten Anregungs-Vektors verknüpft besitzen, wobei der Multiplizier-Abschnitt 124 die Amplitude von V2 mit -2 multipliziert, wenn die Bit-Sequenz "00" ist, die Amplitude von V3 mit -2 multipliziert, wenn die Bit-Sequenz "01" ist, die Amplitude von V1 mit -2 multipliziert, wenn die Bit-Sequenz "10" ist, oder die Amplitude von V2 mit 2 multipliziert, wenn die Bit-Sequenz "11" ist, und schickt das Ergebnis als neue V1, V2 und V3 zu dem Dezimier-Abschnitt 125.
  • Es wird die Aufmerksamkeit auf eine Sequenz von zwei Bits gerichtet, die das obere vierte und dritte Bit der Zahl des hinzugefügten Anregungs-Vektors verknüpft besitzt, wobei der Dezimier-Abschnitt 125
  • (a) Vektoren von 26 Abtastungen, extrahiert jede andere Abtastung von V1, V2 und V3, als neue V1, V2 und V3 zu dem interpolierenden Abschnitt 126 schickt, wenn die Bit- Sequenz "00" ist,
  • (b) Vektoren von 26 Abtastungen, extrahiert jede andere Abtastung von V1, V3 und jede dritte Abtastung von V2, als neue V1, V3 und V2 zu dem interpolierenden Abschnitt 126 schickt, wenn die Bit-Sequenz "01" ist,
  • (c) Vektoren von 26 Abtastungen, extrahiert jede vierte Abtastung von V1 jede andere Abtastung von V1, V2 und V3 als neue V1, V2 und V3 zu dem interpolierenden Abschnitt 126 schickt, wenn die Bit-Sequenz "10" ist, und
  • (d) Vektoren von 26 Abtastungen, extrahiert jede vierte Abtastung von V1, jede dritte Abtastung von V2 und jede andere Abtastung von V3, als neue V1, V2 und V3 zu dem Interpolier-Abschnitt 126 schickt, wenn die Bit-Sequenz "11" ist.
  • Die Aufmerksamkeit wird auf das obere dritte Bit der Nummer des hinzugefügten Anregungs-Vektors gerichtet, wobei der Interpolier-Abschnitt 126
  • (a) Vektoren, die V1, V2 und V3 jeweils substituiert in geraden Abtastungen von 0- Vektoren einer Länge Ns (= 52) haben, als neue V1, V2 und V3 zu dem Addier-Abschnitt 127 schickt, wenn der Wert des dritten Bits "0" ist, und
  • (b) Vektoren, die V1, V2 und V3 jeweils substituiert in ungeraden Abtastungen von 0-Vektoren einer Länge Ns (= 52) besitzen, als neue V1, V2 und V3 zu dem Addier- Abschnitt 127 schickt, wenn der Wert des dritten Bits "1" ist.
  • Der Addier-Abschnitt 127 addiert die drei Vektoren (V1, V2 und V3), erzeugt durch den interpolierenden Abschnitt 126, um einen addierten Anregungs-Vektor zu erzeugen. Gemäß diesem Mode wird, wie aus dem Vorstehenden ersichtlich ist, eine Vielzahl von Prozessen unter einem Zufall entsprechend der Nummer des hinzugefügten Anregungs- Vektors kombiniert, um Random-Anregungs-Vektoren zu erzeugen, so daß es nicht notwendig ist, Random-Code-Vektoren zu speichern, wie sie in einem Random-Codebuch /ROM) vorliegen, um eine wesentliche Reduktion in der Speicherkapazität sicherzustellen. Es ist anzumerken, daß die Verwendung des Ariregungs-Vektor-Generators dieses Modes in dem Sprach-Codierer des fünften Mode ermöglichen kann, daß komplizierte und Random-Anregungs-Vektoren erzeugt werden, und zwar ohne die Verwendung eines Random-Codebuchs mit großer Kapazität.
  • (Siebter Mode)
  • Einer Beschreibung wird nun von einem siebten Mode angegeben, bei dem der Anregungs-Vektor-Generator irgendeines der vorstehend beschriebenen ersten bis sechsten Moden in einem Sprach-Codierer vom CELP-Typ verwendet wird, der auf einem PSI- CELP basiert, das Standard-Sprach-Codier/Decodier-System für digitale, portable PDC- Telefone in Japan.
  • Fig. 13A stellt ein Blockdiagramm eines Sprach-Codierers gemäß dem siebten Mode dar. In diesem Sprach-Codierer werden digitale Eingabe-Sprach-Daten 1300 zu einem Puffer 1301 Rahmen für Rahmen (Rahmen-Länge Nf = 104) zugeführt. Zu diesem Zeitpunkt werden alte Daten in dem Puffer 1301 durch neue Daten, die zugeführt sind, aktualisiert. Ein Rahmen-Energie-Quantisier/Decodierer-Abschnitt 1302 liest zuerst einen Verarbeitungs-Rahmen s (i) (0 ≤ i ≤ Nf - 1) einer Länge Nf (= 104) von dem Puffer 1301 und erfordert eine durchschnittliche Energie- bzw. Leistungs-Verstärkung amp von Abtastungen in diesem Verarbeitungs-Rahmen von einer Gleichung 5 an.
  • wobei
  • amp: durchschnittliche Energie von Proben in einem Verarbeitungs-Rahmen
  • I: Element-Nummer (0 ≤ i ≤ Nf - 1) in dem Verarbeitungs-Rahmen
  • s(i): Abtastungen in dem Verarbeitungs-Rahmen
  • Nf: Verarbeitungs-Rahmenlänge (= 52)
  • Die erhaltene, durchschnittliche Energie-Verstärkung von Proben in dem Verarbeitungs- Rahmen wird zu einem logarithmisch umgewandelten Wert amplog von einer Gleichung 6 konvertiert
  • wobei
  • amplog: logarithmisch konvertierter Wert der durchschnittlichen Energie von Abtastungen in dem Verarbeitungs-Rahmen
  • amp: durchschnittliche Energie von Proben in dem Verarbeitungs-Rahmen.
  • Das angeforderte amplog wird einer skalaren Quantisierung unter Verwendung einer Skalar-Quantisierungs-Tabelle Cpow von 10 Worten unterworfen, wie in Tabelle 3 dargestellt ist, gespeichert in einem Energie-Quantisierungs-Tabellen-Speicher-Abschnitt 1303, um einen Index einer Energie Ipow von vier Bits anzufordern, wobei eine decodierte Rahmen-Energie spow von dem erhaltenen Index einer Energie Ipow erhalten wird, und der Index der Energie Ipow und die decodierten Rahmen-Energie spow werden zu einem Parameter-Codier-Abschnitt 1331 zugeführt. Der Energie-Quantisierungs-Tabellen-Speicher- Abschnitt 1303 hält eine Energie-Skalar-Quantisierungs-Tabelle (Tabelle 3) aus 16 Worten, auf die dann Bezug genommen wird, wenn der Rahmen-Energie- Quantisierungs/Decodier-Abschnitt 1302 eine skalare Quantisierung des logarithmisch umgewandelten Werts der durchschnittlichen Energie der Abtastungen in dem Verarbeitungs-Rahmen ausführt. Tabelle 3: Energie-Skalar-Quantisierungs-Tabelle
  • Ein LPC-Analysier-Abschnitt 1304 liest zuerst Analyse-Segment-Daten einer Analyse- Segment-Länge Nw (= 256) von dem Puffer 1301 aus, multipliziert die gelesenen Analyse- Segment-Daten durch ein Hamming-Fenster einer Fenster-Länge Nw (= 256), um eine nach Hamming mit Fenster versehene Analyse-Daten zu erhalten, und fordert die Autokorrelations-Funktion der erhaltenen nach Hamming mit Fenster versehenen Analyse-Daten zu einer Vorhersage-Reihenfolge Np (= 10) an. Die erhaltene Autokorrelations-Funktion wird mit einer Log-Fenster-Tabelle (Tabelle 4) aus 10 Worten, gespeichert in einem Log- Fenster-Speicher-Abschnitt 1305, multipliziert, um eine nach Hamming mit Fenster versehene Autokorrelations-Funktion zu erhalten, führt eine lineare Vorhersage-Analyse in Bezug auf die erhaltene, nach Hamming mit Fenster versehene Autokorrelations-Funktion durch, um einen LPC-Parameter α (i) (1 ≤ i ≤ Np) zu berechnen, und gibt den Parameter zu einem Pitch-Vorselektor 1308 aus. Tabelle 4: Log-Fenster-Tabelle
  • Als nächstes wird der erhaltene LPC-Parameter α (1) zu einem LSP (Line Spectrum Pair- Linien-Spektum-Paar) ω (i) (1 ≤ i ≤ Np) konvertiert, was wiederum zu einem LSP- Quantisier/Decodier-Abschnitt 1306 ausgegeben wird. Der Log-Fenster-Speicher- Abschnitt 1305 hält eine Log-Fenster-Tabelle, auf die der LPC-Analysier-Abschnitt Bezug nimmt.
  • Der LSP-Quantisier/Decodierer-Abschnitt 1306 nimmt zuerst auf eine Vektor- Quantisierungs-Tabelle eines LSP, gespeichert in einem LSP-Quantisierungs-Tabellen- Speicher-Abschnitt 1307, Bezug, um eine Vektor-Quantisierung in Bezug auf das LSP, empfangen von dem LPC-Analysier-Abschnitt 1304, durchzuführen, um dadurch einen optimalen Index auszuwählen, und schickt den ausgewählten Index als einen LSP-Code Ilsp zu dem Parameter-Codier-Abschnitt 1331. Dann wird ein Zentroid entsprechend zu dem LSP-Code als ein decodiertes LSP ωq (1) (1 ≤ i ≤ Np) von dem LSP-Quantisierungs- Tabellen-Speicher-Abschnitt 1307 gelesen und das gelesene, decodierte LSP wird zu einem LSP-Interpolations-Abschnitt 1311 geschickt. Weiterhin wird das decodierte LSP zu einer LPC konvertiert, um ein decodiertes LSP αq (i) (1 ≤ i ≤ Np) zu erhalten, was wiederum zu einem spektralen Gewichtungs-Filter-Koeffizienten-Kalkulator 1312 und einem wahrnehmbaren, gewichteten LPC-Synthese-Filter-Koeffizienten-Kalkulator 1314 geschickt wird. Der LSP-Quantisierungs-Tabellen-Speicher-Abschnitt 1307 hält eine LSP- Vektor-Quantisierungs-Tabelle, auf die der LSP-Quantisier/Decodier-Abschnitt 1306 Bezug nimmt, wenn eine Vektor-Quantisierung in Bezug auf LSP durchgeführt wird. Der Pitch-Vorselektor 1308 unterwirft zuerst die Verarbeitungs-Rahmen-Daten s(i) (0 ≤ i ≤ Nf - 1), gelesen von dem Puffer 1301, einer inversen Filterung und zur Verwendung der LPC α(i) (1 ≤ i ≤ Np), empfangen von dem LPC-Analysier-Abschnitt 1304, um ein lineares Vorhersage-Rest-Signal res(i) (0 ≤ i ≤ Nf - 1) zu erhalten, berechnet die Energie bzw. Hochzahl des erhaltenen, linearen Vorhersage-Rest-Signals res(i), fordert eine normierte, vorhersagende Rest-Energie resid an, die von der Normierung der Energie des berechneten Rest-Signals erhalten ist, mit der Energie von Sprach-Proben eines Verarbeitungs- Unterrahmens an, und schickt die normierte, Vorhersage-Rest-Energie zu dem Parameter- Codier-Abschnitt 1331. Als nächstes wird das lineare Vorhersage- bzw. Prädikative-Rest- Signal res(i) durch ein Hamming-Fenster einer Länge Nw (= 256) multipliziert, um ein mit Hamming-Fenster versehenes, lineares Vorhersage-Rest-Signal resw(i) (0 ≤ i ≤ Nw - 1) zu erzeugen, und eine Autokorrelations-Funktion φ int(i) des erzeugten resw(i) wird über einen Bereich von Lmin -2 ≤ i ≤ Lmax + 2 erhalten (wobei Lmin 16 in dem kürzesten Analyse-Segment eines langen, vorhersagenden Koeffizienten ist, und Lmax 128 in dem längsten Analyse-Segment eines fangen, vorhersagenden Koeffizienten ist). Ein Polyphasen- Filter-Koeffizient Cppf (Tabelle 5) aus 28 Worten, gespeichert in einem Polyphasen- Koeffizienten-Speicher-Abschnitt 1309, wird in die erhaltene Autokorrelations-Funktion φ int(i) konvolutiert, um eine Autokorrelations-Funktion φ dq(i) an einer fraktionalen Position, verschoben um -¹/&sub4; von einer integer lag int, eine Autokorrelations-Funktion φ aq(i) an einer fraktionalen Position, verschoben um +¹/&sub4; von der integer lag int, und einer Autokorrelations-Funktion φ ah(i) an einer fraktionalen Position, verschoben um +¹/&sub2; von der integer lag int zu erhalten. Tabelle 5: Polyphasen-Filter-Koeffizienten Cppf
  • Weiterhin wird für jedes Argument i in einem Bereich von Lmin -2 ≤ i ≤ Lmax +2 ein Prozeß einer Gleichung 7 eines Substituierens des größten einen von φ int(i), φ dp(i), φ aq(i) und φ ah(i) in φ max(i) durchgeführt, um (Lmax - Lmin + 1) Teile von φ max(i) zu erhalten.
  • φmax(i) = MAX(φint(i),φdq(i),φaq(i),φah(i))
  • φmax(i): maximaler Wert von φint(i),φdq(i),φaq(i),φah(i) (7)
  • wobei
  • φ max(i): der maximale Wert unter φint(i),φdq(i),φaq(i),φah(i)
  • I: Analyse-Segment eines langen Vorhersage-Koeffizienten (Lmin ≤ i ≤ Lmax)
  • Lmin: kürzestes Analyse-Segment (= 16) des langen Vorhersage-Koeffizienten
  • Lmax: längstes Analyse-Segment (= 128) des langen Vorhersage-Koeffizienten
  • φint(i): Autokorrelations-Funktion eines integer lag (int) eines Vorhersage-Rest-Signals
  • φdp(i): Autokorrelations-Funktion eines fraktionalen lag (int-1/4) des Vorhersage-Rest- Signals
  • φaq(i): Autokorrelations-Funktion eines fraktionalen lag (int+1/4) des Vorhersage-Rest- Signals
  • φah(i): Autokorrelations-Funktion eines fraktionalen lag (int+1/2) des Vorhersage-Rest- Signals.
  • Größere, obere sechs werden von den angeforderten (Lmax - Lmin + 1) Teilen von φmax(i) ausgewählt und werden als Pitch-Kandidaten psel(i) (0 ≤ i ≤ 5) gesichert, und das Linear-Vorhersage-Rest-Signal res(i) und die ersten Pitch-Kandidaten psel(0) werden zu einem Pitch-Gewichtungs-Filter-Kalkulator 1310 und psel(i) (0 ≤ i ≤ 5) zu einem adaptiven Code-Vektor-Generator 1319 geschickt.
  • Der Polyphasen-Koeffizienten-Speicher-Abschnitt 1309 hält Polyphasen-Filter- Koeffizienten, auf die dann Bezug genommen wird, wenn der Pitch-Vorselektor 1308 die Autokorrelation des linearen Vorhersage-Rest-Signals zu einer fraktionalen lag Präzision anfordert und wenn der adaptive Code-Vektor-Generator 1319 adaptive Code-Vektoren zu einer fraktionalen Präzision produziert.
  • Der Pitch-Gewichtungs-Filter-Kalkulator 1310 fordert Pitch-Vorhersage-Koeffizienten cov(i) (0 ≤ i ≤ 2) einer dritten Ordnung von den linearen Vorhersage-Resten res(i) und dem ersten Pitch-Kandidaten psel(0), erhalten von dem Pitch-Vorselektor 1308, an. Das Impuls- Ansprechverhalten eines Pitch-Gewichtungs-Filters Q(z) wird von einer Gleichung erhalten, die die angeforderten Pitch-Vorhersage-Koeffzienten cov(i) (0 ≤ i ≤ 2) verwendet, und wird zu dem spektralen Gewichtungs-Filter-Koeffizienten-Kalkulator 1312 und einem Wahrnehmungs-Gewichtungs-Filter-Koeffizienten-Kalkulator 1313 geschickt.
  • Q(z) = 1 + cov(i) · λpi · z - psel(0) + i - 1 (8)
  • wobei
  • Q(z): Übertragungs-Funktionen des Pitch-Gewichtungs-Filters
  • cov(i): Pitch-Vorhersage-Koeffizienten (0 ≤ i ≤ 2)
  • λpi: Pitch-Gewichfungs-Konstante (= 0,4)
  • psel(0): erster Pitch-Kandidat.
  • Der LSP-Interpolations-Abschnitt 1311 fordert zuerst eine decodierte, interpolierte LSP wintp(n,i) (1 ≤ i ≤ Np) Unterrahmen für Unterrahmen von einer Gleichung 9 an, die eine decodierte LSP ωq(i) für den momentanen Verarbeitungs-Rahmen, erhalten durch den LSP-Quantisierungs/Decodier-Abschnitt 1306, und eine decodierte LSP ωqp(i) für einen vorhergehenden Verarbeitungs-Rahmen, der erhalten worden ist und früher gesichert worden ist, verwendet.
  • wobei
  • ωintp(n,j): interpolierte LSP des n-ten Unterrahmens
  • n: Unterrahmen-Nummer (= 1,2)
  • ωp(i): decodierte LSP eines Verarbeitungs-Rahmens
  • ωqp(i): decodierte LSP eines vorherigen Verarbeitungs-Rahmens.
  • Eine decodierte, interpolierte LPC αq(n, i) (1 ≤ i ≤ Np) wird durch Konvertieren der angeforderten ωintp(n, i) zu einer LPC erhalten, und die angeforderte, decodierte, interpolierte LPC αq(n, i) (1 ≤ i ≤ Np) wird zu dem spektralen Gewichtungs-Filter-Koeffizienten- Kalkulator 1312 und dem wahrnehmbaren, gewichteten LPC-Synthese-Filter- Koeffizienten-Kalkulator 1314 geschickt.
  • Der Spektral-Gewichtungs-Filter-Koeffizienten-Kalkulator 1312, der einen spektralen Gewichtungs-Filter I(z) von einem MA-Typ in einer Gleichung 10 bildet, schickt sein Impuls- Ansprechverhalten zu dem Wahrnehmungs-Gewichtungs-Filter-Koeffizienten-Kalkulator 1313.
  • I(z) = αfir(i)xz-i (10)
  • wobei
  • I(z): Übertragungs-Funktion des spektralen Gewichtungs-Filter vom MA-Typ
  • Nfir: Filter-Ordnung (= 11) von I(z)
  • αfir(i): Filter-Ordnung (1 ≤ i ≤ Nfir) von I(z).
  • Es ist anzumerken, daß das Impuls-Ansprechverhalten afir(i) (1 ≤ i ≤ Nfir) in der Gleichung 10 ein Impuls-Ansprechverhalten eines spektralen Gewichtungs-Filters G(z) vom ARMA- Typ ist, gegeben durch eine Gleichung 11, abgeschnitten nach Nfir (= 11).
  • wobei
  • G(z): Übertragungs-Funktion des spektralen Gewichtungs-Filters
  • n: Unterrahmen-Zahl (= 1,2)
  • Np: LPC-Analyse-Ordnung (= 10)
  • α(n,i): decodierte, interpolierte LSP des n-ten Unterrahmens
  • λma: Zähler-Konstante (= 0,9) von G(z)
  • λar: Nenner-Konstante (= 0,4) von G(z).
  • Der Wahrnehmungs-Gewichtungs-Filter-Koeffizienten-Kalkulator 1313 bildet zuerst einen wahrnehmbaren Gewichtungs-Filter W(z), der ein Impuls-Ansprechverhalten hat, das Ergebnisse einer Konvolution des Impuls-Ansprechverhaltens des spektralen Gewichtungs-Filters I(z), empfangen von dem Spektral-Gewichtungs-Filter-Koeffizienten- Kalkulator 1312, und des Impuls-Ansprechverhaltens des Pitch-Gewichtungs-Filters Q(z), empfangen von dem Pitch-Gewichtungs-Filter-Kalkulator 1310, hat und schickt das Impuls-Ansprechverhalten des gebildeten Wahrnehmungs-Gewichtungs-Filfers W(z) zu dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter-Koeffizienten-Kalkulator 1314 und einem Wahrnehmungs-Gewichtungs-Abschnitt 1315.
  • Der wahrnehmungsmäßig gewichtete LPC-Synthese-Filter-Koeffizienten-Kalkulator 1314 bildet einen wahrnehmungsmäßig gewichteten LPC-Synthese-Filter H(z) von einer Gleichung 12 basierend auf der decodierten, interpoüerten LPC αq(n, i), empfangen von dem LSP Interpolations-Abschnitt 1311, und dem Wahrnehmungs-Gewichtungs-Filter W(z), empfangen von dem Wahrnehmungs-Gewichtungs-Filter-Koeffizienten-Kalkulator 1313.
  • wobei
  • H(z): Übertragungs-Funktion des wahrnehmungsmäßig gewichteten Synthese-Filters
  • Np: LPC Analyse-Ordnung
  • αq(n, 1): decodierte, interpolierte LPC des n-ten Unterrahmens
  • n: Unterrahmen Zahl (= 1,2)
  • W(z): Übertragungs-Funktion des Wahrnehmungs-Gewichtungs-Filters (I(z) und Q(z), kaskadenartig verbunden).
  • Der Koeffizient des gebildeten, wahrnehmungsmäßig gewichteten LPC-Synthese-Filters H(z) wird zu einem Target-Vektor-Generator A 1316, einem wahrnehmungsmäßig pewichteten LPC-Umkehr-Synthese-Filter A1317, einem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter A1321, einem wahrnehmungsmäßig gewichteten LPC-Umkehr- Synthese-Filter B1326 und einem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter B1329 geschickt.
  • Der wahrnehmungsmäßig gewichtende Abschnitt 1315 gibt ein Unterrahmen- Signal, gelesen von dem Puffer 1301, zu dem wahrnehmungsmäßig gewichteten LPC- Synthese-Filter H(z) in einem Null-Zustand ein und schickt seine Ausgänge als wahrnehmungsmäßig gewichtete Reste spw(i) (0 ≤ i ≤ Ns - 1) zu dem Target-Vektor-Generator A1316.
  • Der Target-Vektor-Generator A1316 subtrahiert ein Null-Eingangs- Ansprechverhalten Zres(i) (0 ≤ i ≤ Ns - 1), das ein Ausgang ist, wenn eine Null-Sequenz zu dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter H(z), erhalten durch den wahrnehmungsmäßig gewichteten LPC-Synthese-Filter-Koeffizienten-Kalkulator 1314, eingegeben ist, von den wahrnehmungsmäßig gewichteten Resten spw(i) (0 ≤ i ≤ Ns - 1), erhalten durch den wahrnehmungsmäßig gewichtenden Abschnitt 1315, und schickt das Subtraktions-Ergebnis zu dem wahrnehmungsmäßig gewichteten LPC-Umkehr-Synthese- Filter A1317 und einen Target-Vektor-Generator B 1325 als einen Target-Vektor r(i) (0 ≤ i ≤ Ns - 1) zur Auswahl eines Anregungs-Vektors.
  • Der wahrnehmungsmäßig gewichtete LPC-Umkehr-Synthese-Filter A 1317 sortiert die Target-Vektoren r(i) (0 ≤ i ≤ Ns - 1), empfangen von dem Target-Vektor-Generator A 1316 in einer Zeit-Umkehr-Ordnung, gibt die erhaltenen Vektoren zu dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter H(z) mit dem Anfangszustand von Null ein und sortiert seine Ausgänge wieder in einer Zeit-Umkehr-Ordnung, um eine Zeit-Umkehr-Synthese rh(k) (0 ≤ i ≤ Ns - 1) des Target-Vektors zu erhalten, und schickt den Vektor zu einem Komparator A 1322.
  • Gespeichert in einem adaptiven Codebuch 1318 sind erste Anregungs-Vektoren, auf die dann Bezug genommen wird, wenn der adaptive Code-Vektor-Generator 1319 adaptive Code-Vektoren erzeugt. Der adaptive Code-Vektor-Generator 1319 erzeugt in Nac Teile von adaptiven Code-Vektoren Pacb(i, k) (0 ≤ i ≤ Nac - 1, 0 ≤ k ≤≤ Ns - 1, 6 ≤ Nac ≤ 24), und zwar basierend auf sechs Pitch-Kandidaten psel(j) (0 ≤ j ≤ 5), empfangen von dem Pitch-Vorselektor 1308, und schickt die Vektoren zu einem adaptiven/festgelegten Selektor 1320. Insbesondere werden, wie in Tabelle 6 dargestellt ist, adaptive Code-Vektoren für vier Arten von fraktionalen lag-Positionen pro einzelner Integer-lag-Position erzeugt, wenn 16 psel(j) 44 gilt, adaptive Code-Vektoren werden für zwei Arten von fraktionalen lag-Positionen pro einzelner integer lag-Position erzeugt, wenn 46 ≤ psel(j) ≤ 64 gilt, und adaptive Code-Vektoren werden für integer lag-Positionen erzeugt, wenn 65 ≤ psel(j) ≤ 128 gilt. Hierfür ist, in Abhängigkeit von dem Wert von psel(j) (0 ≤ j ≤ 5), die Zahl von adaptiven Code-Vektor-Kandidaten Nac 6 bei einem Minimum und 24 bei einem Maximum.
  • Tabelle 6: Gesamte Anzahl von adaptiven Code-Vektoren und festgelegten Code- Vektoren Gesamte Anzahl von Vektoren 255
  • Anzahl von adaptiven Code-Vektoren 222
  • 16 ≤ psel(i) ≤ 44 116 (29 · vier Arten von fraktionalen lags)
  • 45 ≤ psel(i) ≤ 64 42 (21 · zwei Arten von fraktionalen lags)
  • 65 ≤ psel(i) ≤ 128 64 (64 · eine Art eines fraktionalen lag)
  • Zahl von festgelegten Code-Vektoren 32 (16 · zwei Arten von Coden)
  • Adaptive Code-Vektoren zu einer fraktionalen Präzision werden über eine Interpolation erzeugt, die die Koeffizienten des Polyphasen-Filter, gespeichert in dem Polyphasen- Koeffizienten-Speicher-Abschnitt 1309, konvolutiert.
  • Eine Interpolation entsprechend dem Wert von lagf(i) bedeutet eine Interpolation entsprechend einer Integer-lag-Position, wenn lagf(i) = 0 eine Interpolation entsprechend einer fraktionalen lag-Position ist, verschoben um -1/2 von einer integer lag-Position, wenn lagf(i) = 1 ist, eine Interpolation entsprechend einer fraktionalen lag-Position, verschoben um +1/4 von einer Integer-lag-Position, wenn lagf(i) = 2 ist, und eine Interpolation entsprechend einer fraktionalen lag-Position, verschoben um -1/4 von einer integer lag-Position, wenn lagf(i) = 3 ist.
  • Der adaptive/festgelegte Selektor 1320 empfängt zuerst adaptive Code-Vektoren der Nac- 6 bis 24 Kandidaten, erzeugt durch den Adaptiv-Code-Vektor-Generator 1319, und schickt die Vektoren zu dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter A 1321 und dem Komparator A 1322.
  • Um die adaptiven Code-Vektoren Pacb(i, k) (0 ≤ i ≤ Nac - 1, 0 ≤ k ≤ Ns - 1, 6 ≤ Nac ≤ 24) vorab auszuwählen, erzeugt durch den adaptiven Code-Vektor-Generator 1319, zu Nacb (= 4) Kandidaten von (6 bis 24) Kandidaten, fordert der Komparator A 1322 zuerst die inneren Produkte Prac(i) der synthetisierten Zeit-Umkehr-Vektoren rh(k) (0 ≤ i ≤ Ns - 1) des Target-Vektors an, empfangen von dem wahrnehmungsmäßig gewichteten LPC-Umkehr- Synthese-Filter A 1317, und die adaptiven Code-Vektoren Pacb(i, k) von einer Gleichung 13, an.
  • prac(i) = Pacb(i,k) · rh(k) (13)
  • wobei
  • Prac(i): Referenz-Wert für die Vorauswahl von Adaptiv-Code-Vektoren
  • Nac: die Zahl von Adaptiv-Code-Vektor-Kandidaten nach einer Vorauswahl (= 6 bis 24)
  • i: Zahl eines Adaptiv-Code-Vektors (0 ≤ i ≤ Nac - 1)
  • Pacb(i, k): Adaptiv-Code-Vektor
  • rh(k): Zeit-Umkehr-Synthese des Target-Vektors r(k).
  • Durch Vergleichen der erhaltenen, inneren Produkte Prac(i) werden die oberen Nacp- (= 4) Indizes, wenn die Werte der Produkte groß werden und die inneren Produkte mit den Indizes als Argumente verwendet werden, ausgewählt, und werden jeweils als Indizes von adaptiven Code-Vektoren nach einer Vorauswahl von apsel(j) (0 ≤ j ≤ Nacb - 1) und ReferenzWerten nach einer Vorauswahl von adaptiven Code-Vektoren prac(apsel(j)) gesichert, und die Indizes der adaptiven Code-Vektoren nach einer Vorauswahl apsel(j) (0 ≤ j ≤ Nacb - 1) werden zu dem adaptiven/festgelegten Selektor 1320 ausgegeben.
  • Der wahrnehmungsmäßig gewichtete LPC-Synthese-Filter A 1321 führt eine wahrnehmungsmäßig gewichtete LPC-Synthese in Bezug auf adaptive Code-Vektoren nach e6ner Vorauswahl von Pacb(absel(j), k) durch, was durch den adaptiven Code-Vektor-Generator 13 19 erzeugt worden ist und den adaptiven/festgelegten Selektor 1320 passiert hat, um synthetisierte, adaptive Code-Vektoren SYNacb(apsel(j),k) zu erzeugen, was wiederum zu dem Komparator A 1322 geschickt wird. Dann fordert der Komparator A 1322 Referenz- Werte für eine abschließende Auswahl eines adaptiven Code-Vektors sacbr(j) von einer Gleichung 14 für eine End-Auswahl in Bezug auf die Nacb (= 4) adaptiven Code-Vektoren nach einer Vorauswahl von Pacb(apsel(j),k) an, vorab ausgewählt durch den Komparator A 1322 selbst.
  • wobei
  • sacbr(j): Referenz-Wert für eine End-Auswahl eines adaptiven Code-Vektors
  • prac(): Referenz-Werte nach einer Vorauswahl von adaptiven Code-Vektoren
  • apsel(j): Indizes von adaptiven Code-Vektoren nach einer Vorauswahl
  • k: Vektor-Ordnung (0 ≤ j ≤ Ns - 1)
  • j: Zahl des Index eines vorab ausgewählten adaptiven Code-Vektors (0 ≤ j ≤ Nacb - 1)
  • Ns: Unterrahmen-Länge (= 52)
  • Nacb: die Zahl von vorausgewählten, adaptiven Code-Vektoren (= 4)
  • SYNacb(J,K): synthetisierte, adaptive Code-Vektoren.
  • Der Index, wenn der Wert der Gleichung 14 groß wird, und der Wert der Gleichung 14 mit dem Index, verwendet als ein Argument, werden zu dem adaptiven/festgelegten Selektor 1320 jeweils als ein Index eines adaptiven Code-Vektors nach einer End-Auswahl ASEL und einem Referenz-Wert nach einer End-Auswahl eines adaptiven Code-Vektors sacbr(ASEL) geschickt.
  • Ein festgelegtes Codebuch 1323 hält Nfc (= 16) Kandidaten von Vektoren, um durch einen Vektor-Lese-Abschnitt 1324 für einen festgelegten Code zu lesen. Um festgelegte Code- Vektoren Pfcb(i,k) (0 ≤ i ≤ Nfc - 1, 0 ≤ k ≤ Ns - 1), gelesen durch den Lese-Abschnitt 1324 für einen festgelegten Code-Vektor, zu Nfcb (= 2) Kandidaten von Nfc (= 16) Kandidaten vorab auszuwählen, fordert der Komparator A 1322 die absoluten Werte prfc(i) der inneren Produkte der Zeit-umkehr-synthetisierten Vektoren rh(k) 0 ≤ i ≤ Ns - 1) des Target-Vektors, empfangen von dem wahrnehmungsmäßig gewichteten LPC-Umkehr-Synthese-Filter A 1317, und die festgelegten Code-Vektoren Pfcb(i,k) von einer Gleichung 15 an.
  • prfc(i) = Pfcb(i,k) · rh(k) (15)
  • wobei
  • prfc(i) : Referenz-Werte für eine Vorauswahl von festgelegten Code-Vektoren
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1)
  • i: Zahl eines festgelegten Code-Vektors (0 ≤ i ≤ Nfc - 1)
  • Nfc: Zahl von festgelegten Code-Vektoren (= 16)
  • Pfcb(i,k): festgelegte Code-Vektoren
  • rh(k): Zeit-umkehr-synthetisierte Vektoren des Target-Vektors rh(k).
  • Durch Vergleichen der Werte prfc(i) der Gleichung 15 werden die oberen Nfcb (= 2) Indizes, wenn die Werte groß werden, und die absoluten Werte der inneren Produkte mit den Indizes, verwendet als Argumente, ausgewählt und werden jeweils als Indizes von festgelegten Code-Vektoren nach einer Vorauswahl fpsel(j) (0 ≤ j ≤ Nfcb - 1) und Referenz- Werten für festgelegte Code-Vektoren nach einer Vorauswahl prfc(fpselO)) gesichert, und Indizes von festgelegten Code-Vektoren nach einer Vorauswahl fpsel(j) (0 ≤ j ≤ Nfcb - 1) werden zu dem adaptiven/festgelegten Selektor 1320 ausgegeben.
  • Der wahrnehmungsmäßig gewichtete LPC-Synthese-Filter A 1321 führt eine wahrnehmungsmäßig gewichtete LPC-Synthese in Bezug auf festgelegte Code-Vektoren nach einer Vorauswahl von Pfcb(fpsel(j,k)) durch, was von dem Lese-Abschnitt 1324 für den festgelegten Code-Vektor gelesen worden ist und den adaptiven/festgelegten Selektor 1320 passiert hat, um synthetisierte, festgelegte Code-Vektoren SYNfcb(fpsel(j),k) zu erzeugen, die wiederum zu dem Komparator A 1322 geschickt werden.
  • Der Komparator A 1322 fordert weiterhin einen Referenz-Wert für eine End-Auswahl eines festgelegten Code-Vektors sfcbr(j) von einer Gleichung 16 an, um abschließend einen optimalen, festgelegten Code-Vektor von den Nfcb (= 2) festgelegten Code-Vektoren nach einer Vorauswahl von Pfcb(fpsel(j),k), vorab ausgewählt durch den Komparator A 1322 selbst, auszuwählen.
  • wobei
  • sfcbr(j): der Referenz-Wert für eine End-Auswahl eines festgelegten Code-Vektors
  • prfc() : Referenz-Werte nach einer Vorauswahl von festgelegten Code-Vektoren
  • fpsel(j): Indizes von festgelegten Code-Vektoren nach einer Vorauswahl (0 ≤ j ≤ Nfcb - 1)
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1)
  • j: Zahl eines vorab ausgewählten, festgelegten Code-Vektors (0 ≤ j ≤ Nfcb - 1)
  • Ns: Unterrahmen-Länge (= 52)
  • Nfcb: Zahl von vorab ausgewählten, festgelegten Code-Vektoren (= 2)
  • SYNfcb(J, K): synthetisierte, festgelegte Code-Vektoren.
  • Der Index, wenn der Wert der Gleichung 16 groß wird und der Wert der Gleichung 16 mit dem Index, verwendet als ein Argument, werden zu dem adaptiven/festgelegten Selektor 1320 jeweils als ein Index eines festgelegten Code-Vektors nach einer End-Auswahl FSEL und ein Referenz-Wert nach einer End-Auswahl eines festgelegten Code-Vektors sacbr(FSEL) geschickt.
  • Der adaptive/festgelegte Selektor 1320 wählt entweder den adaptiven Code-Vektor nach einer End-Auswahl oder den festgelegten Code-Vektor nach einer End-Auswahl als einen adaptiven/festgelegten Code-Vektor Af(k) (0 ≤ k ≤ Ns - 1) entsprechend der Größen- Relation und der Polaritäts-Relation unter prac(ASEL), sacbr(ASEL), prfc(FSEL) und sfcbr(FSEL) (beschrieben in einer Gleichung 17) aus, empfangen von dem Komparator 1322.
  • wobei
  • Af(k): adaptiver/festgelegter Code-Vektor
  • ASEL: Index eines adaptiven Code-Vektors nach einer End-Auswahl
  • FSEL: Index eines festgelegten Code-Vektors einer End-Auswahl
  • k: Element-Zahl eines Vektors
  • Pacb(ASEL,k): adaptiver Code-Vektor nach einer End-Auswahl
  • Pfcb(FSEL,k): festgelegter Code-Vektor nach einer End-Auswahl Pfcb(FSEL,k)
  • sacbr(ASEL): Referenz-Wert nach einer End-Auswahl eines adaptiven Code-Vektors
  • sfcbr(FSEL): Referenz-Wert nach einer End-Auswahl eines festgelegten Code-Vektors
  • prac(ASEL): Referenz-Werte nach einer Vorauswahl eines von adaptiven Code-Vektoren
  • prfc(FSEL): Referenz-Werte nach einer Vorauswahl von festgelegten Code-Vektoren prac(FSEL)
  • Der ausgewählte, adaptive/festgelegte Code-Vektor Af(k) wird zu dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter A 1321 geschickt, und ein Index, der die Zahl darstellt, die der ausgewählte, adaptive/festgelegte Code-Vektor Af(k) erzeugt hat, wird als ein adaptiver/festgelegter Index AFSEL zu dem Parameter-Codier-Abschnitt 1331 geschickt. Wenn die gesamte Zahl von adaptiven Code-Vektoren und festgelegten Code- Vektoren so zugeordnet wird, daß sie 255 ist, (siehe Tabelle 6), ist der adaptive/festgelegte Index AFSEL ein Code von 8 Bits.
  • Der wahrnehmungsmäßig gewichtete LPC-Synthese-Filter A 1321 führt eine wahrnehmungsmäßig gewichtete LPC-Synthese in Bezug auf den adaptiven/festgelegten Code- Vektor Af(k) durch, ausgewählt durch den adaptiven/festgelegten Selektor 1320, um einen synthetisierten, adaptiven/festgelegten Code-Vektor SYNaf(k) (0 ≤ k ≤ Ns - 1) zu erzeugen, und schickt ihn zu dem Komparator A 1322.
  • Der Komparator A 1322 erhält zuerst die Energie powp des synthetisierten, adaptiven/festgelegten Code-Vektors SYNaf(k) (0 ≤ k ≤ Ns - 1), empfangen von dem wahrnehmungsmäßig gewichteten Synthese-Filter A 1321, unter Verwendung einer Gleichung 18.
  • powp = SYNaf²(k) (18)
  • wobei
  • powm: Energie eines adaptiven/festgelegten Code-Vektors (SYNaf(k))
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1)
  • Ns: Unterrahmen-Länge (= 52)
  • SYNaf(k): adaptiver/festgelegter Code-Vektor.
  • Dann werden das innere Produkt pr des Target-Vektors, empfangen von dem Target- Vektor-Generator A 1316, und der synthetisierte, adaptive/festgelegte Code-Vektor SYNaf(k), von einer Gleichung 19 erhalten
  • pr = SYNaf(k) · r(k) (19)
  • wobei
  • pr: inneres Produkt von SYNaf(k) und r(k)
  • Ns: Unterrahmen-Länge (= 52)
  • SYNaf(k): adaptiver/festgelegter Code-Vektor
  • r(k): Target-Vektor
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1).
  • Weiterhin wird der adaptive/festgelegte Code-Vektor Af(k), empfangen von dem adaptiven/festgelegten Selektor 1320, zu einem ein adaptives Codebuch aktualisierenden Abschnitt 1333 geschickt, um die Energie POWaf von Af(k) zu berechnen, wobei der synthetisierte, adaptive/festgelegte Code-Vektor SYNaf(k) und POWaf zu dem Parameter- Codier-Abschnitt 1331 geschickt werden, und powp, pr, r(k) und rh(k) werden zu einem Komparator B 1330 geschickt.
  • Der Target-Vektor-Generator B 1325 subtrahiert den synthetisierten, adaptiven/festgelegten Code-Vektor SYNaf(k), empfangen von dem Komparator A 1322, von dem Target-Vektor r(i) (0 ≤ i ≤ Ns - 1), empfangen von dem KomparatorA 1322, um einen neuen Target-Vektor zu erzeugen, und schickt den neuen Target-Vektor zu dem wahrnehmungsmäßig gewichteten LPC-Umkehr-Synthese-Filter B 1326.
  • Der wahrnehmungsmäßig gewichtete LPC-Umkehr-Synthese-Filter B 1326 sortiert die neuen Target-Vektoren, erzeugt durch den Target-Vektor-Generator B 1325, in einer Zeit- Umkehr-Ordnung, schickt die sortierten Vektoren zu dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter in einem Null-Zustand, wobei die Ausgabe-Vektoren erneut in einer Zeit-Umkehr-Ordnung sortiert werden, um Zeit umgekehrte synthetisierte Vektoren ph(k) (0 ≤ k ≤ Ns - 1) zu erzeugen, die wiederum zu dem Komparator B 1330 geschickt werden.
  • Ein Anregungs-Vektor-Generator 1337, der in Verwendung ist, ist derselbe wie, zum Beispiel, der Anregungs-Vektor-Generator 70, der in dem Abschnitt von dem dritten Mode beschrieben worden ist. Der Anregungs-Vektor-Generator 70 erzeugt einen Random- Code-Vektor, wenn der erste Keim bzw. Seed von dem Seed-Speicher-Abschnitt 71 gelesen ist, und wird zu dem nicht-linearen, digitalen Filter 72 eingegeben. Der Random-Code- Vektor, erzeugt durch den Anregungs-Vektor-Generator 70, wird zu dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter B 1329 und dem Komparator B 1330 geschickt. Dann wird, wenn der zweite Seed vom dem Seed-Speicher-Abschnitt 71 gelesen wird und zu nicht-linearen, digitalen Filter 72 eingegeben wird, ein Random-Code-Vektor erzeugt und zu dem Filter B 1329 und dem Komparator B 1330 ausgegeben.
  • Um Random-Code-Vektoren, erzeugt basierend auf dem ersten Seed, zu Nstb (= 6) Kandidat von Nst (= 64) Kandidaten vorab auszuwählen, fordert der Komparator B 1330 Referenz-Werte cr(11) (0 ≤ i1 ≤ Nstb 1 - 1) für eine Vorab-Auswahl der ersten Random-Code- Vektoren von einer Gleichung 20 an.
  • wobei
  • cr(i1): Referenz-Werte für eine Vorauswahl der ersten Random-Code-Vektoren
  • Ns: Unterrahmen-Länge (= 52)
  • rh(j): in der Zeit umgekehrter, synthetisierter Vektor als ein Target-Vektor (r(j))
  • powp: Energie eines adaptiven/festgelegten Vektors (SYNaf(k))
  • pr: inneres Produkt von SYNaf(k) und r(k)
  • Pstb1(i1,j): erster Random-Code-Vektor
  • ph(j): in der Zeit umgekehrter, synthetisierter Vektor von SYNaf(k)
  • i1: Zahl des ersten Random-Code-Vektors (0 ≤ i1 ≤ Nst - 1)
  • j: Element-Zahl eines Vektors.
  • Durch Vergleichen der erhaltenen Werte cr(i1) werden die oberen Nstb (= 6) Indizes, wenn die Werte groß werden, und innere Produkte mit den Indizes, verwendet als Argumente, ausgewählt, und werden jeweils als Indizes der ersten Random-Code-Vektoren nach einer Vorab-Auswahl von s1psel(j1) (0 ≤ j1 ≤ Nstb - 1) und der ersten Random-Code-Vektoren nach einer Vorab-Auswahl von Pstb1 (s1psel(j1,k), (0 ≤ j1 ≤ Nstb - 1, (0 ≤ k ≤ Ns - 1) gesichert. Dann wird derselbe Prozeß, wie er für die ersten Random-Code-Vektoren vorgenommen ist, für zweite Random-Code-Vektoren durchgeführt, und Indizes und innere Produkte werden jeweils als Indizes der zweiten Random-Code-Vektoren nach einer Vorab- Auswahl von s1psel(j2) (0 ≤ j2 ≤ Nstb - 1) und von zweiten Random-Code-Vektoren nach einer Vorab-Auswahl von Pstb2(s2psel(j2),k) (0 ≤ j2 ≤ Nstb - 1, 0 ≤ k ≤ Ns - 1) gesichert. Der wahrnehmungsmäßig gewichtete LPC-Synthese-Filter B 1329 führt eine wahrnehmungsmäßig gewichtete LPC-Synthese in Bezug auf die ersten Random-Code-Vektoren nach einer Vorab-Auswahl von Pstb1(s1psel(j1),k) durch, um synthetisierte, erste Random-Code-Vektoren SYNstb1(s1psel(j1),k) zu erzeugen, die wiederum zu dem Komparator B 1330 geschickt werden. Dann wird die wahrnehmungsmäßig gewichtete LPC- Synthese in Bezug auf die zweiten Random-Code-Vektoren nach einer Vorab-Auswahl von Pstb2(s1psel(j2),k) durchgeführt, um synthetisierte zweite Random-Code-Vektoren SYNstb2(s2psel(j2),k) zu erzeugen, die wiederum zu dem Komparator B 1330 geschickt werden. Um eine End-Auswahl in Bezug auf die ersten Random-Code-Vektoren nach einer Vorab-Auswahl von Pstb1(s1psel(j1),k) und der zweiten Random-Code-Vektoren nach einer Vorab-Auswahl von Pstb2(s1psel(j2),k) durchzuführen, vorab ausgewählt durch den Komparator B 1330 selbst, führt der Komparator B 1330 die Berechnung einer Gleichung 21 in Bezug auf die synthetisierten, ersten Random-Code-Vektoren SYNstb1(s1psel)j1),k) aus, berechnet in dem wahrnehmungsmäßig gewichteten LPC-Synthese-Filter B 1329.
  • wobei
  • SYNOstb1(s1psel(j1),k): orthogonal synthetisierter, erster Random-Code-Vektor
  • SYNstb1(s1psel(j1),k): synthetisierter, erster Random-Code-Vektor
  • Pstb1(s1psel(j1),k): erster Random-Code-Vektor nach einer Vorab-Auswahl
  • SYNaf(j): adaptiver/festgelegter Code-Vektor
  • powp: Energie des adaptiven/festgelegten Vektors (SYNaf(j))
  • Ns: Unterrahmen-Länge (= 52)
  • ph(k): synthetisierter Zeit-Umkehr-Vektor von SYNafi(j)
  • j1: Zahl des ersten Random-Code-Vektors nach einer Vorab-Auswahl
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1).
  • Orthogonal synthetisierte, erste Random-Code-Vektoren SYNOstb1(s1psel(j1),k) werden erhalten, und eine ähnliche Berechnung wird in Bezug auf die synthetisierten, zweiten Random-Code-Vektoren SYNstb2(s2psel(j2),k) durchgeführt, um orthogonal synthetisierte, zweite Random-Code-Vektoren SYNOstb2(s2psel(j2),k) zu erhalten, und Referenz-Werte nach einer abschließenden Auswahl eines ersten Random-Code-Vektors s1cr und Referenz-Werten nach einer abschließenden Auswahl eines zweiten Random-Code-Vektors S2cr werden in einer geschlossenen Schleife jeweils unter Verwendung von den Gleichungen 22 und 23 für alle Berechnungen (36 Kombinationen) von (s1psel(j1), s2psel(j2)) berechnet.
  • wobei
  • scr1: Referenz-Wert nach End-Auswahl eines festgelegten ersten Random-Code-Vektors
  • cscr1: konstante, zuvor berechnete Form einer Gleichung 24
  • SYNOstb1(s1psel(j1),k): orthogonal synthetisierte, erste Random-Code-Vektoren
  • SYNOstb2(s2psel(j2),k): orthogonal synthetisierte, zweite Random-Code-Vektoren
  • r(k): Target-Vektor
  • s1psel(j1): Index des ersten Random-Code-Vektors nach einer Vorab-Auswahl
  • s2psel(j2): Index eines zweiten Random-Code-Vektors nach einer Vorab-Auswahl
  • Ns: Unterrahmen-Länge (= 52)
  • k: Element-Zahl eines Vektors
  • wobei
  • scr2: Referenz-Wert nach einer End-Auswahl eines zweiten Random-Code-Vektors
  • cscr2: konstante, zuvor berechnete Form einer Gleichung
  • SYNOstb1(s1psel(j1),k): orthogonal synthetisierte, erste Random-Code-Vektoren
  • SYNOstb2(s2psel(j2),k): orthogonal synthetisierte, zweite Random-Code-Vektoren
  • r(k): Target-Vektor
  • s1psel(j1): Index eines ersten Random-Code-Vektors nach einer Vorab-Auswahl
  • s2psel(j2): Index eines zweiten Random-Code-Vektors nach einer Vorab-Auswahl
  • Ns: Unterrahmen-Länge (= 52)
  • k: Element-Zahl eines Vektors.
  • Es ist anzumerken, daß ein cs1cr in der Gleichung 22 und cs2cr in der Gleichung 23 Konstanten sind, die zuvor unter Verwendung der Gleichungen 24 und 25 jeweils berechnet worden sind.
  • cscr1 = SYNOstb1(s1psel(j1),k) · r(k) + SYNOstb2(s2psl(j2),k) · r(k) (24)
  • wobei
  • cscr1: Konstante für eine Gleichung 29
  • SYNOstb1(s1psel(j1),k): orthogonal synthetisierte, erste Random-Code-Vektoren
  • SYNOstb2(s2psel(j2),k): orthogonal synthetisierte, zweite Random-Code-Vektoren
  • r(k): Target-Vektor
  • s1psel(j1): Index eines ersten Random-Code-Vektors nach einer Vorab-Auswahl
  • s2psel(j2): Index eines zweiten Random-Code-Vektors nach einer Vorab-Auswahl
  • Ns: Unterrahmen-Länge (= 52)
  • k: Element-Zahl eines Vektors
  • cscr1 = SYNOstb1(s1psel(j1),k) · r(k) - SYNOstb2(s2psl(j2),k) · r(k) (25)
  • wobei
  • cscr2: Konstante für die Gleichung 23
  • SYNOstb1(s1psel(j1),k): orthogonal synthetisierte, erste Random-Code-Vektoren
  • SYNOstb2(s2psel(j2),k): orthogonal synthetisierte, zweite Random-Code-Vektoren
  • r(k): Target-Vektor
  • s1psel(j1): Index eines ersten Random-Code-Vektors nach einer Vorab-Auswahl
  • s2psel(j2): Index eines zweiten Random-Code-Vektors nach einer Vorab-Auswahl
  • Ns: Unterrahmen-Länge (= 52)
  • k: Element-Zahl eines Vektors.
  • Der Komparator B 1330 substituiert den maximalen Wert von S1cr in MAXs1cr, substituiert den maximalen Wert von S2cr in MAXs2cr, setzt MAXs1cr oder MAXs2cr, was immer auch größer ist, als scr, und schickt den Wert von s1psel(j1), auf den Bezug genommen worden ist, als scr erhalten wurde, zu dem Parameter-Codier-Abschnitt 1331 als ein Index eines ersten Random-Code-Vektors nach einer End-Auswahl SSEL1. Der Random-Code- Vektor, der SSEL1 entspricht, wird als erster Random-Code-Vektor nach einer End- Auswahl Pstb1 (SSEL1,k) gesichert und wird zu dem Parameter-Codier-Abschnitt 1331 geschickt, um einen ersten Random-Code-Vektor nach einer End-Auswahl von SYNstb1(SSEL1,k) (≤ k ≤ Ns - 1) entsprechend zu Pstb1(SSEL1,k) anzufordern.
  • In ähnlicher Weise wird der Wert von s2psel(j2), auf den Bezug genommen worden ist, der als scr erhalten wurde, zu dem Parameter-Codier-Abschnitt 1331 als ein Index eines zweiten Random-Code-Vektors nach einer End-Auswahl SSEL2 geschickt. Der Random- Code-Vektor, der SSEL2 entspricht, wird als ein zweiter Random-Code-Vektor nach einer End-Auswahl Pstb2(SSEL2,k) gesichert und wird zu dem Parameter-Codier-Abschnitt 1331 geschickt, um einen zweiten Random-Code-Vektor nach einer End-Auswahl SYNstb2(SSEL2,k) (0 ≤ k ≤ Ns - 1) entsprechend zu Pstb2(SSEL2,k) anzufordern.
  • Der Komparator B1330 fordert weiterhin Code S1 und S2 an, mit denen die Pstb1(SSEL1,k) und Pstb2(SSEL2,k) jeweils multipliziert werden, und zwar von einer Gleichung 26, und schickt Polaritäts-Informationen Is1s2 der erhaltenen S1 und S2 zu dem Parameter-Codier-Abschnitt 1331 als ein Verstärkungs-Polaritäts-Index Is1s2 (2-Bit- Informationen)
  • wobei
  • S1: Code des ersten Random-Code-Vektors nach einer End-Auswahl
  • S2: Code des zweiten Random-Code-Vektors nach einer End-Auswahl
  • scr1: Ausgang der Gleichung 29
  • scr2: Ausgang der Gleichung 23
  • cscr1: Ausgang der Gleichung 24
  • cscr2: Ausgang der Gleichung 25.
  • Ein Random-Code-Vektor ST(k) (0 ≤ k ≤ Ns - 1) wird durch eine Gleichung 27 erzeugt und zu dem adaptiven Codebuch-Aktualisierungs-Abschnitt 1333 ausgegeben, und seine Energie POWsf wird angefordert und zu dem Parameter-Codier-Abschnitt 1331 ausgegeben.
  • ST(k) = S1 · Pstb1(SSEL1,k) + S2 · Pstb2(SSEL2,k) (27)
  • wobei
  • ST(k): möglicher Code-Vektor
  • S1: Code des ersten Random-Code-Vektors nach einer End-Auswahl
  • S2: Code des zweiten Random-Code-Vektors nach einer End-Auswahl
  • Pstb1(SSEL1,k): Code-Vektor der ersten Stufe, der erhalten ist, nach einer End-Auswahl
  • Pstb1(SSEL2,k): Code-Vektor der zweiten Stufe, der erhalten ist, nach einer End-Auswahl
  • SSEL1: Index des ersten Random-Code-Vektors nach einer End-Auswahl
  • SSEL2: zweiter Random-Code-Vektor nach einer End-Auswahl
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1)
  • Ein synthetisierter Random-Code-Vektor SYNst(k) (0 ≤ k ≤ Ns - 1) wird durch eine Gleichung 28 erzeugt und zu dem Parameter-Codier-Abschnitt 1331 ausgegeben.
  • SYNst(k) = S1 · SYNstb1(SSEL1,k) + S2 · SYNstb2(SSEL2,k) (28)
  • wobei
  • STNst(k): synthetisierter, wahrscheinlicher Code-Vektor
  • S1: Code des ersten Random-Code-Vektors nach einer End-Auswahl
  • S2: Code des zweiten Random-Code-Vektors nach einer End-Auswahl
  • SYNstb1(SSEL1,k): synthetisierter, erster Random-Code-Vektor nach einer End-Auswahl
  • SYNstb2(SSEL2,k): synthetisierter, zweiter Random-Code-Vektor nach einer End-Auswahl k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1)
  • Der Parameter-Codier-Abschnitt 1331 fordert zuerst eine Rest-Energie-Abschätzung für jeden Unterrahmen rs von einer Gleichung 29 unter Verwendung der decodierten Rahmen-Energie spow, was durch den Rahmen-Energie-Quantisierungs-Decodier-Abschnitt 1302 erhalten worden ist, und die normierte, prädikative Rest-Energie resid, was durch den Pitch-Vorselektor 1308 erhalten ist, an.
  • rs = NsXspowXresid (29)
  • wobei
  • rs: Rest-Energie-Abschätzung für jeden Unterrahmen
  • Ns: Unterrahmen-Länge (= 52)
  • spow: decodierte Rahmen-Energie
  • resid: normierte, prädikative Rest-Energie.
  • Ein Referenz-Wert zur Quantisierungs-Verstärkungs-Auswahl STDg wird von einer Gleichung 30 unter Verwendung der angeforderten Rest-Energie-Abschätzung für jeden Unterrahmen rs, die Energie des adaptiven/festgeflegten Code-Vektors POWaf, berechnet in dem Komparator A 1322, die Energie des Random-Code-Vektors POWst, berechnet in dem Komparator B 1330, eine Verstärkungs-Quantisierungs-Tabelle (CGafi[i], CGst[i]) (0 ≤ i ≤ 127) von 256 Worten, gespeichert in einem Verstärkungs-Quantisierungs-Tabellen- Speicher-Abschnitt 1332, und dergleichen, angefordert. Tabelle 7: Verstärkungs-Quantisierungs-Tabelle
  • wobei
  • STDg: Referenz-Wert zur Quantisierungs-Verstärkungs-Auswahl
  • rs: Rest-Energie-Abschätzung für jeden Unterrahmen
  • POWaf: Energie des adaptiven/festgelegten Code-Vektors
  • POWSst: Energie des Random-Code-Vektors
  • i: Index der Verstärkungs-Quantisierungs-Tabelle (0 ≤ i ≤ 127)
  • CGaf(i): Komponente auf der Seite des adaptiven/festgelegten Code-Vektors in der Verstärkungs-Quantisierungs-Tabelle
  • CGst(i): Komponente auf der Seite des Random-Code-Vektors in der Verstärkungs- Quantisierungs-Tabelle
  • SYNaf(k): synthetisierter, adaptiver/festgelegter Code-Vektor
  • SYNst(k): synthetisierter Random-Code-Vektor
  • r(k): Target-Vektor
  • Ns: Unterrahmen-Länge (= 52)
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1).
  • Ein Index wird, wenn der angeforderte Referenz-Wert zur Quantisierungs-Verstärkungs- Auswahl STDg minimal wird, als ein Verstärkungs-Quantisierungs-Index Ig ausgewählt, wobei eine End-Verstärkung in Bezug auf die Seite des adaptiven/festgelegten Code- Vektors Gaf, die tatsächlich auf AF(k) angewandt werden soll, und eine End-Verstärkung auf der Seite des Random-Code-Vektors Gst, die tatsächlich auf ST(k) angewandt werden soll, von einer Gleichung 31 unter Verwendung einer Verstärkung nach einer Auswahl des adaptiven/festgelegten Code-Vektors CGaf(Ig) erhalten, was von der Verstärkungs- Quantisierungs-Tabelle basierend auf dem ausgewählten Verstärkungs-Quantisierungs- Index Ig gelesen wird, eine Verstärkung nach Auswahl des Random-Code-Vektors CGst(Ig), was von der Verstärkungs-Quantisierungs-Tabelle basierend auf dem ausgewählten Verstärkungs-Quantisierungs-Index Ig gelesen wird, usw., erhalten, und werden zu dem adaptiven Codebuch-Aktualisierungs-Abschnitt 1333 geschickt.
  • wobei
  • Gaf: End-Verstärkung auf der Seite des adaptiven/festgelegten Code-Vektors
  • Gst: End-Verstärkung auf der Seite des Random-Code-Vektors Gst
  • rs: Rest-Energie-Abschätzung für jeden Unterrahmen
  • POWaf: Energie des adaptiven/festgelegten Code-Vektors
  • POWst: Energie des Random-Code-Vektors
  • CGaf(Ig): Energie des Code-Vektors der festgelegten/adaptiven Seite
  • CGst(Ig): Verstärkung nach einer Auswahl einer Seite eines Random-Code-Vektors
  • Ig: Verstärkungs-Quantisierungs-Index.
  • Der Parameter-Codier-Abschnitt 1331 wandelt den Index der Energie Ipow, erhalten durch den Rahmen-Energie-Quantisierungs/Decodier-Abschnitt 1302, den LSP-Code Ilsp, erhalten durch den LSP-Quantisierungs/Codier-Abschnitt 1306, den adaptiven/festgelegten Index AFSEL, erhalten durch den adaptiven/festgelegten Selektor 1320, den Index des ersten Random-Code-Vektors nach einer End-Auswahl SSEL1, den zweiten Random- Code-Vektor nach einer End-Auswahl SSEL2 und die Polaritäts-Information Is1s2, erhalten durch den Komparator B 1330, und den Verstärkungs-Quantisierungs-Index Ig, erhalten durch den Parameter-Codier-Abschnitt 1331, in einen Sprach-Code, der wiederum zu einem Transmitter 1334 übertragen wird.
  • Der adaptive Codebuch-Aktualisierungs-Abschnitt 1333 führt einen Prozeß einer Gleichung 32 zum Multplizieren des adaptiven/festgelegten Code-Vektors AF(k), erhalten durch den Komparator A 1322, und den Random-Code-Vektor ST(k), erhalten durch den Komparator B 1330, jeweils mit der die End-Verstärkung auf der Seite des adaptiven/festgelegten Code-Vektors Gaf und der End-Verstärkung auf der Seite des Random- Code-Vektors Gst, erhalten durch den Parameter-Codier-Abschnitt 1331, und Addieren der Ergebnisse, um dadurch einen Anregungs-Vektor ex(k) (0 ≤ k ≤ Ns - 1) zu erzeugen, durch und schickt den erzeugten Anregungs-Vektor ex(k) (0 ≤ k ≤ Ns - 1) zu dem adaptiven Codebuch 1318.
  • ex(k) = Gaf · Af(k) + Gst · ST(k) (32)
  • wobei
  • es(k): Anregungs-Vektor
  • AF(k): adaptiver/festgelegter Code-Vektor
  • ST(k): Random-Code-Vektor
  • k: Element-Zahl eines Vektors (0 ≤ k ≤ Ns - 1).
  • Zu diesem Zeitpunkt wird ein alter Anregungs-Vektor in dem adaptiven Codebuch 1318 ausgesondert und wird durch einen neuen Anregungs-Vektor ex(k), empfangen von dem adaptiven Codebuch-Aktualisierungs-Absch n itt 1333, aktualisiert.
  • (Achter Mode)
  • Eine Beschreibung wird von einem achten Mode angegeben, bei dem irgendein Anregungs-Vektor-Generator, beschrieben in den ersten bis sechsten Moden, als ein Sprach- Decodierer verwendet wird, der auf dem PSI-CELP, dem Standard-Sprach- Codier/Decodier-System für PDC-digital-portabel-Telefone, basiert. Der Decodierer läuft parallel zu dem vorstehend beschriebenen siebten Mode.
  • Fig. 14 stellt ein funktionales Blockdiagramm eines Sprach-Decodierers gemäß dem achten Mode dar. Ein Parameter-Decodier-Abschnitt 1402 erhält den Sprach-Code (Index der Energie Ipow, den LSP-Code Ilsp, der adaptiven/festgelegten Index AFSEL, der Index des ersten Random-Code-Vektors nach einer End-Auswahl von SSEL1, der zweite Random- Code-Vektor nach einer End-Auswahl SSEL2, der Verstärkungs-Quantisierungs-Index Ig und der Verstärkungs-Polaritäts-Index Is1s2), geschickt von dem Sprach-Codierer vom CELP-Typ, dargestellt in Fig. 13, über einen Transmitter 1401.
  • Als nächstes wird ein skalarer Wert, angezeigt durch den Index der Energie Ipow von der Energie-Quantisierungs-Tabelle (siehe Tabelle 3), gespeichert in einem Energie- Quantisierungs-Tabellen-Speicher-Abschnitt 1405, gelesen, wird als decodierte Rahmen- Energie Spow zu einem Energie-Umspeicher-Abschnitt 1417 geschickt, und ein Vektor; angezeigt durch den LSP-Code llsp wird von der LSP-Quantisierungs-Tabelle eines LSP- Quantisierungs-Tabellen-Speicher-Abschnitts 1404 gelesen und wird als eine decodierte LSP zu einem LSP-Interpolations-Abschnitt 1406 geschickt. Der adaptive/festgelegte Index AFSEL wird zu einem adaptiven Code-Vektor-Generator 1408, einem festgelegten Code-Vektor-Lese-Abschnitt 1411 und einem adaptiven/festgelegten Selektor 1412 geschickt, und der Index des ersten Random-Code-Vektors nach einer End-Auswahl SSEL1 und der zweite Random-Code-Vektor nach einer End-Auswahl SSEL2 werden zu einem Anregungs-Vektor-Generator 1414 ausgegeben. Der Vektor (CAaf(Ig), CGst(Ig)), angezeigt durch den Verstärkungs-Quantisierungs-Index Ig, wird von der Verstärkungs- Quantisierungs-Tabelle (siehe Tabelle 7), gespeichert in einem Verstärkungs- Quantisierungs-Tabellen-Speicher-Abschnitt 1403, gelesen, die End-Verstärkung in Bezug auf die End-Verstärkung auf der Seite des adaptiven/festgelegten Code-Vektors Gaf, die tatsächlich auf AF(k) angewandt werden soll, und die End-Verstärkung auf der Seite des Random-Code-Vektors Gst, die tatsächlich auf ST(k) angewandt werden soll, werden von der Gleichung 21 erhalten, wie dies auf der Codierer-Seite vorgenommen ist, und die erhaltene End-Verstärkung auf der Seite des adaptiven/festgelegten Code-Vektors Gaf und die End-Verstärkung auf der Seite des Random-Code-Vektors Gst werden zusammen mit dem Verstärkungs-Polaritäts-Index Is1s2 zu einem Anregungs-Vektor-Generator 1413 ausgegeben.
  • Der LSP-Interpolations-Abschnitt 1406 erhält einen decodierten, interpolierten LSPωintp(n,i) (1 ≤ i ≤ Np) Unterrahmen für Unterrahmen von der decodierten LSP, empfangen von dem Parameter-Decodier-Abschnitt 1402, wandelt das erhaltene ωintp(n,i) zu einer LPC, um eine decodierte, interpolierte LPC zu erhalten, und schickt die decodierte, interpolierte LPC zu einem LPC-Synthese-Filter 1416.
  • Der adaptive Code-Vektor-Generator 1408 konvolutiert einige der Polyphasen- Koeffizienten, gespeichert in einem Polyphasen-Koeffizienten-Speicher-Abschnitt 1409 (siehe Tabelle 5) in Bezug auf Vektoren, die von einem adaptiven Codebuch 1407 gelesen sind, und zwar basierend auf dem adaptiven/festgelegten Index AFSEL, empfangen von dem Parameter-Decodier-Abschnitt 1402, um dadurch adaptive Code-Vektoren zu einer fraktionalen Päzision zu erzeugen, und schickt die adaptiven Code-Vektoren zu dem adaptiven/festgelegten Selektor 1412. Der Lese-Abschnitt 1411 für den festgelegten Code- Vektor liest festgelegte Code-Vektoren von einem festgelegten Codebuch 1410 basierend auf dem adaptiven/festgelegten Index AFSEL, empfangen von dem Parameter-Decodier- Abschnitt 1402, und schickt sie zu dem adaptiven/festgelegten Selektor 1412.
  • Der adaptive/festgelegte Selektor 1412 wählt entweder die adaptive Code-Vektor-Eingabe von dem adaptiven Code-Vektor-Generator 1408 oder die festgelegte Code-Vektor- Eingabe von dem festgelegten Code-Vektor-Lese-Abschnitt 1411, wie der adaptive/festgelegte Code-Vektor AF(k), basierend auf dem adaptiven/festgelegten Index AF- SEL, empfangen von dem Parameter-Decodier-Abschnitt 1402, aus, und schickt den ausgewählten, adaptiven/festgelegten Code-Vektor AF(k) zu dem Anregungs-Vektor- Generator 1413. Der Anregungs-Vektor-Generator 1414 erhält den ersten Seed und den zweiten Seed von dem Seed-Speicher-Abschnitt 71 basierend auf dem Index des ersten Random-Code-Vektors nach einer End-Auswahl SSEL1 und des zweiten Random-Code- Vektors nach einer End-Auswahl SSEL2, empfangen von dem Parameter-Codier- Abschnitt 1402, und schickt die Seeds zu dem nicht-linearen, digitalen Filter 72, um den ersten Random-Code-Vektor und den zweiten Random-Code-Vektor jeweils zu erzeugen. Dieser reproduzierte erste Random-Code-Vektor und zweite Random-Code-Vektor werden jeweils mit den Informationen der ersten Stufe S1 und den Informationen der zweiten Stufe S2 des Verstärkungs-Polaritäts-Index multipliziert, um einen Anregungs-Vektor ST(k) zu erzeugen, der zu dem Anregungs-Vektor-Generator 1413 geschickt wird.
  • Der Anregungs-Vektor-Generator 1413 multipliziert den adaptiven/festgelegten Code- Vektor AF(k), empfangen von dem adaptiven/festgelegten Selektor 1412, und den Anregungs-Vektor ST(k), empfangen von dem Anregungs-Vektor-Generator 1414, jeweils mit der End-Verstärkung auf der Seite des adaptiven/festgelegten Code-Vektors Gaf und der End-Verstärkung auf der Seite des Random-Code-Vektors Gst, erhalten durch den Parameter-Decodier-Abschnitt 1402, führt eine Addition oder Subtraktion basierend auf dem Verstärkungs-Polaritäts-Index Is1s2 durch, was den Anregungs-Vektor ex(k) ergibt, und schickt den erhaltenen Anregungs-Vektor zu dem Anregungs-Vektor-Generator 1413 und dem adaptiven Codebuch 1407. Hierbei wird ein alter Anregungs-Vektor in dem adaptiven Codebuch 1407 mit einer neuen Anregungs-Vektor-Eingabe von dem Anregungs-Vektor- Generator 1413 aktualisiert.
  • Der LPC-Synthese-Filter 1416 führt eine LPC-Synthese in Bezug auf den Anregungs- Vektor, erzeugt durch den Anregungs-Vektor-Generator 1413, unter Verwendung des Synthese-Filters, der durch die decodierte, interpolierte LPC, empfangen von dem LSP- Interpolations-Abschnitt 1406, gebildet ist, durch, und schickt den Filter-Ausgang zu dem Energie-Umspeicher-Abschnitt 1417. Der Energie-Umspeicher-Abschnitt 1417 erhält zuerst die mittlere Energie des synthetisierten Vektors des Anregungs-Vektors, erhalten durch den LPC-Synthese-Filter 1416, dividiert dann die decodierte Rahmen-Energie spow, empfangen von dem Parameter-Decodier-Abschnitt 1402, durch die erhaltene, durchschnittliche Energie, und multipliziert den synthetisierten Vektor des Anregungs-Vektors durch das Divisionsergebnis, um eine synthetisierte Sprache 518 zu erzeugen.
  • (Neunter Mode)
  • Fig. 15 zeigt ein Blockdiagramm der wesentlichen Bereiche eines Sprach-Codierers gemäß einem neunten Mode. Dieser Sprach Codierer besitzt einen Quantisierungs-Target- LSP-Addier-Abschnitt 151, einen LSP-Quantisierungs/Decodier-Abschnitt 152, einen LSP- Quantisierungs-Fehler-Komparator 153, hinzugefügt zu dem Sprach-Codierer, dargestellt in Fig. 13, oder Teile seiner Funktionen, die modifiziert sind.
  • Der LPC-Analysier-Abschnitt 1304 erhält eine LPC unter Durchführen einer linearen, prädikativen Analyse in Bezug auf einen Verarbeitungs-Rahmen in dem Puffer 1301, wandelt die erhaltene LPC, um eine Quantisierungs-Target-LSP zu erzeugen, und schickt die erzeugte Quantisierungs-Target-LSP zu dem Quantisierungs-Target-LSP-Addier-Abschnitt 151. Der LPC-Analyse-Abschnitt 1304 besitzt auch eine bestimmte Funktion einer Durchführung einer linearen, prädikativen Analyse in Bezug auf einen vorab gelesenen Bereich, um eine LPC für den vorab gelesenen Bereich zu erhalten, eines Umwandelns der erhaltenen LPC zu einer LSP für den vorab gelesenen Bereich, und eines Schickens der LSP zu dem Quantisierungs-Target-LSP-Addier-Abschnitt 151.
  • Der Quantisierungs-Target-LSP-Addier-Abschnitt 151 erzeugt eine Mehrzahl von Quantisierungs-Target-LSPs zusätzlich zu den Quantisierungs-Target-LSPs, die direkt durch Umwandeln von LPCs in einen Verarbeitungs-Rahmen in dem LPC-Analysier-Abschnitt 1304 erhalten sind.
  • Der LSP-Quantisierungs-Tabellen-Speicher-Abschnitt 1307 speichert die Quantisierungs- Tabelle, auf die durch den LSP-Quantisierungs/Decodier-Abschnitt 152 Bezug genommen wird, und der LSP-Quantisierungs/Decodier-Abschnitt 152 quantisiert/decodiert die erzeugte Mehrzahl von Quantisierungs-Target-LSPs, um decodierte LSPs zu erzeugen. Der LSP-Quantisierungs-Fehler-Komparator 153 vergleicht die erzeugten, decodierten LSPs miteinander, um, in einer geschlossenen Schleife, eine decodierte LSP auszuwählen, die ein Allophon minimiert, und verwendet neu die ausgewählte, decodierte LSP als eine decodierte LSP für den Verarbeitungs-Rahmen.
  • Fig. 16 stellt ein Blockdiagramm des Quantisierungs-Target-LSP-Addier-Abschnitts 151 dar.
  • Der Quantisierungs-Target-LSP-Addier-Abschnitt 151 weist einen Momentan-Rahmen- LSP-Speicher 161 zum Speichern der Quantisierungs-Target-LSP des Verarbeitungs- Rahmens, erhalten durch den LPC-Analysier-Abschnitt 1304, einen vorab Lese-Bereich- LSP-Speicher 162 zum Speichern der LSP des vorab gelesenen Bereichs, Erhalten durch den LPC-Analysier-Abschnitt 1304, einen Zuvor-Rahmen-LSP-Speicher 163 zum Speichern der decodierten LSP des vorherigen Verarbeitungs-Rahmens, und einen Linear- Interpolations-Abschnitt 164, der eine lineare Interpolation in Bezug auf die LSPs, gelesen von diesen drei Speichern, um eine Mehrzahl von Quantisierungs-Target-LSPs zu addieren, auf.
  • Eine Mehrzahl von Quantisierungs-Target-LSPs wird zusätzlich unter Durchführen einer linearen Interpolation in Bezug auf die Quantisierungs-Target-LSP des Verarbeitungs- Rahmens erzeugt und die LSP der vorab gelesenen und produzierten Quantisierungs- Target-LSPs werden alle zu dem LSP-Quantisierungs-Decodier-Abschnitt 152 geschickt. Der Quantisierungs-Target-LSP-Addier-Abschnitt 151 wird nun genauer erläutert werden. Der LPC-Analysier-Abschnitt 1304 führt eine lineare, prädikative Analyse in Bezug auf den Verarbeitungs-Rahmen in dem Puffer durch, um eine LPC α(i) (1 ≤ i ≤ Np) einer Vorhersage-Reihenfolge Np (= 10) zu erhalten, und wandelt die erhaltene LPC, um eine Quantisierungs-Target-LSP ω(i) (1 ≤ i ≤ Np) zu erzeugen, und speichert die erzeugte Quantisierungs-Target-LSP ω(i) (1 ≤ i ≤ Np) in dem LSP-Speicher 161 für den momentanen Rahmen in dem Quantisierungs-Target-LSP-Addier-Abschnitt 151. Weiterhin führt der LPC- Analysier-Abschnitt 1304 eine lineare, prädikative Analyse in Bezug auf den vorab gelesenen Bereich in dem Puffer durch, um eine LPC für den vorab gelesenen Bereich zu erhalten, wandelt die erhaltene LPC, um eine Quantisierungs-Target-LSP ω(i) (1 ≤ i ≤ Np) zu erzeugen, und speichert die erzeugte Quantisierungs-Target-LSP ω(i) (1 ≤ i ≤ Np) für den vorab gelesenen Bereich in dem LSP-Speicher 162 für den vorab gelesenen Bereich in dem Quantisierungs-Target-LSP-Addier-Abschnitt 151.
  • Als nächstes liest der Linear-Interpolations-Abschnitt 164 die Quantisierungs-Target-LSP ω(i) (1 ≤ i ≤ Np) für den Verarbeitungs-Rahmen von dem LSP-Speicher 161 für den momentanen Rahmen, die LSP ωf(i) (1 ≤ i ≤ Np) für den vorab gelesenen Bereich von dem LSP-Speicher 162 für den vorab gelesenen Bereich, und die decodierte LSP ωqp(i) (1 ≤ i ≤ Np) für den vorherigen Verarbeitungs-Rahmen von dem LSP-Speicher 163 für den vorherigen Rahmen, und führt eine Konversion aus, dargestellt durch eine Gleichung 33, um jeweils eine erste, zusätzliche Quantisierungs-Target-LSP ω1(i) (1 ≤ i ≤ Np), eine zweite, zusätzliche Quantisierungs-Target-LSP ω2(i) (1 ≤ i ≤ Np), und eine dritte, zusätzliche Quantisierungs-Target-LSP ω1(i) (1 ≤ i ≤ Np) zu erzeugen.
  • wobei
  • ω1(i) erste, zusätzliche Quantisierungs-Target-LSP
  • ω2(i): zweite, zusätzliche Quantisierungs-Target-LSP
  • ω3(i): dritte; zusätzliche Quantisierungs-Target-LSP
  • i: LPC-Ordnung (1 ≤ i ≤ Np)
  • Np: LPC-Analyse-Ordnung (= 10)
  • ωq(i): decodierte LSP für den Verarbeitungs-Rahmen
  • ωqp(i): decodierte LSP für den vorherigen Verarbeitungs-Rahmen
  • ωf(i): LSP für den vorab gelesenen Bereich.
  • Die erzeugten ω1(i), ω2(i) und ω3(i) werden zu dem LSP-Quantisierungs/Decodier- Abschnitt 152 geschickt. Nach Durchführen einer Vektor-Quantisierung/Decodierung für alle vier Quantisierungs-Target-LSPs ω(i), ω1(i) ω2(i) ω3(i) erhält der LSP- Quantisierungs/Decodier-Abschnitt 152 eine Energie Epow (ω) eines Quantisierungs- Fehlers für ω(i), eine Energie Epow (ω1) eines Quantisierungs-Fehlers ω1(i), eine Energie Epow (ω2) eines Quantisierungs-Fehlers für ω2(i) und eine Energie Epow (ω3) eines Quantisierungs-Fehlers für ω3(i), führt eine Konversion einer Gleichung 34 in Bezug auf die erhaltenen Quantisierungs-Fehler-Energien aus, um Referenz-Werte STD1sp(ω),STD1sp(ω1), STD1sp(ω2) und STD1sp(ω3) für eine Auswahl einer decodierten LSP zu erhalten.
  • wobei
  • STD1sp(ω): Referenz-Wert zur Auswahl einer decodierten LSP für ω(i)
  • STD1sp(ω1): Referenz-Wert zur Auswahl einer decodierten LSP für ω1(i)
  • STD1sp(ω2): Referenz-Wert zur Auswahl einer decodierten LSP für ω2(i)
  • STD1sp(ω3): Referenz-Wert zur Auswahl einer decodierten LSP für ω3(i)
  • Epow(ω): Quantisierungs-Fehler-Energie für ω(i)
  • Epow(ω1): Quantisierungs-Fehler-Energie für ω1(i)
  • Epow(ω2): Quantisierungs-Fehler-Energie für ω2(i)
  • Epow(ω3): Quantisierungs-Fehler-Energie für ω3(i).
  • Die erhaltenen Referenz-Werte zur Auswahl einer decodierten LSP werden miteinander verglichen, um die decodierte LSP für die Quantisierungs-Target-LSP auszugeben, die minimal als decodierte LSP oq(i) (1 ≤ i ≤ Np) für den Verarbeitungs-Rahmen wird, und die decodierte LSP wird in dem LSP-Speicher 163 für den vorherigen Rahmen gespeichert, so daß darauf zu dem Zeitpunkt eines Durchführens einer Vektor-Quantisierung der LSP des nächsten Rahmens Bezug genommen werden kann.
  • Gemäß diesem Mode kann, durch effektives Verwenden der Hoch-Interpolations- Charakteristik einer LSP (was kein Allophon verursacht, sondern sogar eine Synthese wird unter Verwendung von interpolierten LSPs durchgeführt), eine Vektor-Quantisierung von LSPs so durchgeführt werden, um kein Allophon sogar für einen Bereich ähnlich dem Anfang eines Worts zu erzeugen, wo das Spektrum wesentlich variiert. Es ist möglich, ein Allophon in einer synthetisierten Sprache zu reduzieren, was dann auftreten kann, wenn die Quantisierungs-Charakteristik einer LSP unzureichend wird.
  • Fig. 17 stellt ein Blockdiagramm des LSP-Quantisierungs-Decodier-Abschnitts 152 gemäß diesem Mode dar. Der LSP-Quantisierungs/Decodier-Abschnitt 152 besitzt einen Verstärkungs-Informations-Speicher-Abschnitt 171, einen adaptiven Verstärkungs-Selektor 172, einen Verstärkungs-Multiplier 173, einen LSP-Quantisierungs-Abschnitt 174 und einen LSP-Decodier-Abschnitt 175.
  • Der Verstärkungs-Informations-Speicher-Abschnitt 171 speichert eine Mehrzahl von Verstärkungs-Kandidaten, auf die zu dem Zeitpunkt Bezug genommen wird, zu dem der adaptive Verstärkungs-Selektor 172 die adaptive Verstärkung auswählt. Der Verstärkungs- Multiplier 173 multipliziert einen Code-Vektor, gelesen von dem LSP-Quantisierungs- Tabellen-Speicher-Abschnitt 1307, durch die adaptive Verstärkung, ausgewählt durch den adaptiven Verstärkungs-Selektor 172. Der LSP-Quantisierungs-Abschnitt 174 führt eine Vektor-Quantisierung einer Quantisierungs-Target-LSP unter Verwendung des Code- Vektors, multipliziert mit der adaptiven Verstärkung, durch. Der LSP-Decodier-Abschnitt 175 besitzt eine Funktion eines Decodierens einer vektor-quantisierten LSP, um eine decodierte LSP zu erzeugen und sie auszugeben, und eine Funktion eines Anforderns eines LSP-Quantisierungs-Fehlers, der eine Differenz zwischen der Quantisierungs-Target-LSP und der decodierten LSP sein kann, und eines Verschickens davon zu dem adaptiven Verstärkungs-Selektor 172. Der adaptive Verstärkungs-Selektor 172 erhält die adaptive Verstärkung, durch die ein Code-Vektor zu dem Zeitpunkt einer Vektor-Quantisierung der Quantisierungs-Target-LSP des Verarbeitungs-Rahmens durch adaptives Einstellen der adaptiven Verstärkung basierend auf Verstärkungs-Erzeugungs-Informationen, gespeichert in dem Verstärkungs-Informations-Speicher-Abschnitt 171, multipliziert wird, und zwar auf der Basis von, als Referenzen, des Pegels der adaptiven Verstärkung, mit dem ein Code-Vektor zu dem Zeitpunkt multipliziert wird, zu dem die Quantisierungs-Target- LSP des vorherigen Verarbeitungs-Rahmens vektormäßig quantisiert wurde und dem LSP-Quantisierungs-Fehler für den vorherigen Rahmen, und schickt die erhaltene, adaptive Verstärkung zu dem Verstärkungs-Multiplier 173.
  • Der LSP-Quantisierungs/Decodier-Abschnitt 152 führt Vektor-Quantisierungen durch und decodiert eine Quantisierungs-Target-LSP, während die adaptive Verstärkung adaptiv eingestellt wird, durch die ein Code-Vektor in der vorstehenden Art und Weise multipliziert wird.
  • Der LSP-Quantisierungs/Decodier-Abschnitt 152 wird nun genauer diskutiert. Der Verstärkungs-Informations-Speicher-Abschnitt 171 speichert vier Verstärkungs-Kandidaten (0,9; 1,0; 1,1 und 1,2), auf die der adaptive Verstärkungs-Selektor 172 Bezug nimmt. Der adaptive Verstärkungs-Selektor 172 erhält einen Referenz-Wert zur Auswahl einer adaptiven Verstärkung Slsp, von einer Gleichung 35 zum Dividieren der Energie Erpow, erzeugt zu dem Zeitpunkt einer Quantisierung der Quantisierungs-Target-LSP des vorherigen Rahmens, durch das Quadrat einer adaptiven Verstärkung Gqlsp, ausgewählt zu dem Zeitpunkt einer Vektor-Quantisierung der Quantisierungs-Target-LSP des vorherigen Verarbeitungs-Rahmens.
  • Slsp = ERPow/Gqlsp² (35)
  • wobei
  • Slsp: Referenz-Wert zur Auswahl einer adaptiven Verstärkung
  • ERpow: Quantisierungs-Fehler-Energie, erzeugt zum Zeitpunkt der Quantisierung der LSP des vorherigen Rahmens
  • Gqlsp: adaptive Verstärkung, ausgewählt zum Zeitpunkt der Vektor-Quantisierung der LSP des vorherigen Rahmens.
  • Eine Verstärkung wird von den vier Verstärkungs-Kandidaten (0,9; 1,0; 1,1 und 1,2), gelesen von dem Verstärkungs-Informations-Speicher-Abschnitt 172, von einer Gleichung 36 unter Verwendung des erhaltenen Referenz-Werts Slsp zum Auswählen der adaptiven Verstärkung ausgewählt. Dann wird der Wert der ausgewählten, adaptiven Verstärkung Gqlsp zu dem Verstärkungs-Multiplier 173 geschickt, und Informationen (2-Bit- Informationen) zum Spezifizieren eines Typs der ausgewählten, adaptiven Verstärkung von den vier Typen werden zu dem Parameter-Codier-Abschnitt geschickt.
  • wobei
  • Glsp: adaptive Verstärkung, mit der ein Code-Vektor für eine LS-Quantisierung multipliziert wird
  • Slsp: Referenz-Wert zum Auswählen einer adaptiven Verstärkung.
  • Die ausgewählte, adaptive Verstärkung, Glsp und der Fehler, der bei der Quantisierung erzeugt worden ist, werden in der variablen Gqlsp und ERpow gesichert, bis die Quantisierungs-Target-LSP des nächsten Rahmens einer Vektor-Quantisierung unterworfen wird. Der Verstärkungs-Multiplier 173 multipliziert einen Code-Vektor, gelesen von dem LSP- Quantisierungs-Tabellen-Speicher-Abschnitt 1307, mit der adaptiven Verstärkung, ausgewählt durch den Selektor 172 für die adaptive Verstärkung, und schickt das Ergebnis zu dem LSP-Quantisierungs-Abschnitt 174. Der LSP-Quantisierungs-Abschnitt 174 führt eine Vektor-Quantisierung in Bezug auf die Quantisierungs-Target-LSP unter Verwendung des Code-Vektors, multipliziert mit der adaptiven Verstärkung, durch, und schickt seinen Index zu dem Parameter-Codier-Abschnitt. Der LSP-Decodier-Abschnitt 175 decodiert die LSP, quantisiert durch den LSP-Quantisierungs-Abschnitt 174, was eine decodierte LSP ergibt, gibt diese decodierte LSP aus, subtrahiert die erhaltene, decodierte LSP von der Quantisierungs-Target-LSP, um einen LSP-Quantisierungs-Fehler zu erhalten, berechnet die Energie ERpow des erhaltenen LSP-Quantisierungs-Fehlers und schickt die Energie zu dem adaptiven Verstärkungs-Selektor 172.
  • Dieser Mode kann ein Allophon in einer synthetisierten Sprache unterdrücken, was erzeugt werden kann, wenn die Quantisierungs-Charakteristik einer LSP unzureichend wird.
  • (Zehnter Mode)
  • Fig. 18 stellt die strukturellen Blöcke eines Anregungs-Vektor-Generators gemäß diesem Mode dar. Dieser Anregungs-Vektor-Generator besitzt einen Speicher-Abschnitt 181 für eine festgelegte Wellenform zum Speichern von drei festgelegten Wellenformen (v1 (Länge: L1), v2 (Länge: L2) und v3 (Länge: L3)) von Kanälen CH1, CH2 und CH3, einen Anordnungs-Abschnitt 182 für eine festgelegte Wellenform zum Anordnen der festgelegten Wellenformen (v1, v2, v3), gelesen von dem Speicher-Abschnitt 181 für die festgelegte Wellenform, jeweils an Positionen P1, P2 und P3, und einen Addier-Abschnitt 183 zum Addieren der festgelegten Wellenform, angeordnet durch den Anordnungs-Abschnitt 182 für die festgelegte Wellenform, was einen Anregungs-Vektor erzeugt.
  • Diese Operation und der so aufgebaute Anregungs-Vektor-Generator werden diskutiert werden.
  • Drei festgelegte Wellenformen v1, v2 und v3 werden im voraus in dem Speicher-Abschnitt 181 für die festgelegte Wellenform gespeichert. Der Anordnungs-Abschnitt 182 für die festgelegte Wellenform ordnet die festgelegte Wellenform v1 an, (verschiebt sie), gelesen von dem Speicher-Abschnitt 181 für die festgelegte Wellenform, an der Position P1, ausgewählt von Start-Positions-Kandidaten für CH1, und zwar basierend auf Start-Positions- Kandidaten-Informationen für festgelegte Wellenformen, die er hat, wie dies in Fig. 8 dargestellt ist, und ordnet in ähnlicher Weise die festgelegte Wellenformen v2 und v3 an den jeweiligen Positionen P2 und P3, ausgewählt von Start-Positions-Kandidaten für CH2 und CH3, an.
  • Der Addier-Abschnitt 183 addiert die festgelegten Wellenformen, angeordnet durch den Anordnungs-Abschnitt 182 für die festgelegte Wellenform, um einen Anregungs-Vektor zu erzeugen.
  • Es sollte angemerkt werden, daß die Code-Nummern entsprechend eins zu eins, zu Kombinafions-Informationen von auswählbaren Start-Positions-Kandidaten der individuellen, festgelegten Wellenformen (Informationen, die darstellen, welche Positionen als P1, P2 und P3 jeweils ausgewählt werden), zu den Start-Positions-Kandidaten-Informationen für die festgelegten Wellenformen zugeordnet werden sollten, die der Anordnungs-Abschnitt 182 für die festgelegte Wellenform hat.
  • Gemäß dem Anregungs-Vektor-Generator mit der obigen Struktur können Anregungs- Informationen durch Übertragen von Code-Nummern, die zu den Start-Positions- Kandidaten-Informationen von festgelegten Wellenformen, die der Anordnungs-Abschnitt 182 für die festgelegte Wellenform hat, korrelieren, übertragen werden, und Code- Nummern existieren durch die Nummer von Produkten der individuellen Start-Positions- Kandidaten, so daß ein Anregungs-Vektor nahe zu einer tatsächlichen Sprache erzeugt werden kann.
  • Da die Anregungs-Informationen durch Übertragen von Code-Nummern übertragen werden können, kann dieser Anregungs-Vektor-Generator als ein Random-Codebuch in einem Sprach-Codierer/Decodierer verwendet werden.
  • Während die Beschreibung dieses Modes unter Bezugnahme auf einen Fall einer Verwendung von drei festgelegten Wellenformen angegeben worden ist, wie dies in Fig. 18 dargestellt ist, können ähnliche Funktionen und Vorteile erhalten werden, wenn die Anzahl von festgelegten Wellenformen (die mit der Anzahl von Kanälen in Fig. 18 und Tabelle 8 übereinstimmen) zu anderen Werten hin geändert wird.
  • Obwohl der Anordnungs-Abschnitt 182 für die festgelegte Wellenform in diesem Mode so beschrieben worden ist, daß er die Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen, gegeben in Tabelle 8, besitzt, können ähnliche Funktionen und Vorteile für andere Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen als solche in Tabelle 8 vorgesehen werden.
  • (Elfter Mode)
  • Fig. 19A zeigt ein strukturelles Blockdiagramm eines Sprach-Codierers vom CELP-Typ gemäß diesem Mode, und Fig. 19B zeigt ein strukturelles Blockdiagramm eines Sprach- Decodierers vom CELP-Typ, der mit dem Sprach-Codierer vom CELP-Typ gepaart ist. Der Sprach-Codierer vom CELP-Typ gemäß diesem Mode besitzt einen Anregungs- Vektor-Generator, der einen Speicher-Abschnitt 181A für eine festgelegte Wellenform, einen Anordnungs-Abschnitt 182A für eine festgelegte Wellenform und einen Addier- Abschnitt 183A aufweist. Der Speicher-Abschnitt 181A für die festgelegte Wellenform speichert eine Mehrzahl von festgelegten Wellenformen. Der Anordnungs-Abschnitt 182A für die festgelegte Wellenform ordnet festgelegte Wellenformen an (verschiebt sie), gelesen von dem Speicher-Abschnitt 181A für die festgelegte Wellenform, jeweils an den ausgewählten Positionen, und zwar basierend auf Start-Positions-Kandidaten-Informationen für festgelegte Wellenformen, die er hat. Der Addier-Abschnitt 183A addiert die festgelegten Wellenformen, angeordnet durch den Anordnungs-Abschnitt 182A für die festgelegte Wellenform, um einen Anregungs-Vektor c zu erzeugen.
  • Dieser Sprach-Codierer vom CELP-Typ besitzt einen Zeit-Umkehr-Abschnitt 191 für eine Zeit-Umkehrung eines Random-Codebuch-Such-Targets x, das eingegeben werden soll, einen Synthese-Filter 192 zum Synthetisieren des Ausgangs des Zeit-Umkehr-Abschnitts 191, einen Zeit-Umkehr-Abschnitt 193 für eine Zeit-Umkehrung des Ausgangs des Synthese-Filters 192 erneut, um ein Zeit-umgekehrtes, synthetisiertes Target x' zu erhalten, einen Synthese-Filter 194 zum Synthetisieren des Anregungs-Vektors c, multipliziert mit einer Random-Code-Vektor-Verstärkung gc, was einen synthetisierten Anregungs-Vektor s ergibt, einen Verzerrungs-Kalkulator 205 zum Aufnehmen von x', c und s und zum Berechnen einer Verzerrung, und einen Transmitter 196.
  • Gemäß diesem Mode entsprechen der Speicher-Abschnitt 181A für die festgelegte Wellenform, der Anordnungs-Abschnitt 182A für die festgelegte Wellenform und der Addier- Abschnitt 183A dem Speicher-Abschnitt 181 für die festgelegte Wellenform dem Anordnungs-Abschnitt 182 für die festgelegte Wellenform und dem Addier-Abschnitt 183, dargestellt in Fig. 18, die Start-Positions-Kandidaten der festgelegten Wellenformen in den individuellen Kanälen entsprechen denjenigen in Tabelle 8, und die Kanal-Nummern, die Nummern für die festgelegte Wellenform und die Symbole, die die Längen und Positionen bei der Verwendung anzeigen, sind solche, die in Fig. 18 und in Tabelle 8 dargestellt sind. Der Sprach-Decodierer vorn CELP-Typ in Fig. 19B weist einen Speicher-Abschnitt 181B für die festgelegte Wellenform zum Speichern einer Mehrzahl von festgelegten Wellenformen, einen Anordnungs-Abschnitt 182B für die festgelegte Wellenform zum Anordnen (verschieben) festgelegter Wellenformen, gelesen von dem Speicher-Abschnitt 181B für die festgelegte Wellenform, jeweils an den ausgewählten Positionen, basierend auf den Start-Positions-Kandidaten-Informationen für festgelegte Wellenformen, die er hat, einen Addier-Abschnitt 183B zum Addieren der festgelegten Wellenformen, angeordnet durch den Anordnungs-Abschnitt 1828 für die festgelegte Wellenform, um einen Anregungs- Vektor c zu erhalten, einen Verstärkungs-Multiplier 197 zum Multiplizieren einer Random- Code-Vektor-Verstärkung gc und einen Synthese-Filter 198 zum Synthetisieren des Anregungs-Vektors c, um einen synthetisierten Anregungs-Vektor s zu erhalten, auf.
  • Der Speicher-Abschnitt 181B für die festgelegte Wellenform und der Anordnungs- Abschnitt 182B für die festgelegte Wellenform in dem Sprach-Decodierer besitzen dieselben Strukturen wie der Speicher-Abschnitt 181A für die festgelegte Wellenform und der Anordnungs-Abschnitt 182A für die festgelegte Wellenform in dem Sprach-Codierer, und die festgelegten Wellenformen, gespeichert in den Speicher-Abschnitten 181A und 181B für die festgelegte Wellenform, besitzen solche Charakteristika, um statistisch die Kosten- Funktion in der Gleichung 3 zu minimieren, die die Codier-Verzerrungs-Berechnung der Gleichung 3 ist, unter Verwendung eines Random-Codebuch-Such-Targets durch ein auf einer Kosten-Funktion basierendes Lernen. Die Betriebsweise des so aufgebauten Sprach-Codierers wird diskutiert.
  • Das Random-Codebuch-Such-Target x wird durch den Zeit-Umkehr-Abschnitt 191 in der Zeit umgekehrt, dann durch den Synthese-Filter 192 synthetisiert und dann in der Zeit erneut durch den Zeit-Umkehr-Abschnitt 193 umgekehrt, und das Ergebnis wird als ein zeitumgekehrtes, synthetisiertes Target x' zu dem Verzerrungs-Kalkulator 195 geschickt. Der Anordnungs-Abschnitt 182A für die festgelegte Wellenform ordnet die festgelegte Wellenform v1, gelesen von dem Speicher-Abschnitt 181A für die festgelegte Wellenform, an der Position P1, ausgewählt von den Start-Positions-Kandidaten für CH1, basierend auf Start-Positions-Kandidaten-Informationen für festgelegte Wellenformen, die sie hat, wie in Tabelle 8 dargestellt ist, an (verschiebt sie), und ordnet in ähnlicher Weise die festgelegten Wellenformen v2 und v3 an den jeweiligen Positionen P2 und P3, ausgewählt von Start- Positions-Kandidaten für CH2 und CH3, an. Die angeordneten, festgelegten Wellenformen werden zu dem Addier-Abschnitt 183A geschickt und addiert, um ein Anregungs-Vektor c zu werden, der zu dem Synthese-Filter 194 eingegeben wird. Der Synthese-Filter 194 synthetisiert den Anregungs-Vektor c, um einen synthetisierten Anregungs-Vektor s zu produzieren, und schickt ihn zu dem Verzerrungs-Kalkulator 195.
  • Der Verzerrungs-Kalkulator 195 empfängt das in der Zeit umgekehrte, synthetisierte Target x', den Anregungs-Vektor c und den synthetisierten Anregungs-Vektor s, und berechnet eine Codier-Verzerrung in der Gleichung 4.
  • Der Verzerrungs-Kalkulator 195 schickt ein Signal zu dem Anordnungs-Abschnitt 182A für die festgelegte Wellenform nach Berechnen der Verzerrung. Das Verfahren von der Auswahl von Start-Positions-Kandidaten entsprechend zu den drei Kanälen durch den Anordnungs-Abschnitt 182A für die festgelegte Wellenform zu der Verzerrungs-Berechnung durch den Verzerrungs-Kalkulator 195 wird für jede Kombination von Start-Positions- Kandidaten, auswählbar durch den Anordnungs-Abschnitt 182A für die festgelegte Wellenform, wiederholt.
  • Danach werden die Kombination der Start-Positions-Kandidaten, die die Codier- Verzerrung minimiert, ausgewählt, und die Code = Nummer, die, eins zu eins, zu dieser Kombination der Start-Positions-Kandidaten entspricht, und die dann optimale Random- Code-Vektor-Verstärkung gc, als Code des Random-Codebuchs zu dem Transmitter 196 übertragen.
  • Der Anordnungs-Abschnitt 182B für die festgelegte Wellenform wählt die Positionen der festgelegten Wellenformen in den individuellen Kanälen von den Start-Positions- Kandidaten-Informationen für festgelegte Welllenformen, die er hat, basierend auf Informationen, die von dem Transmitter 196 geschickt sind, aus, ordnet die festgelegte Wellenform v1 an (verschiebt sie), gelesen von dem Speicher-Abschnitt 181B für die festgelegte Wellenform, an der Position P1, ausgewählt von den Start-Positions-Kandidaten für CH1, und ordnet in ähnlicher Weise die festgelegten Wellenformen v2 und v3 an den jeweiligen Positionen P2 und P3, ausgewählt von den Start-Positions-Kandidaten für CH2 und CH3, an. Die angeordneten, festgelegten Wellenformen werden zu dem Addier-Abschnitt 183B geschickt und addiert, um ein Anregungs-Vektor c werden. Dieser Anregungs-Vektor c wird mit dem der Random-Code-Vektor-Verstärkung gc, ausgewählt basierend auf den Informationen von dem Transmitter 196, multipliziert, und das Ergebnis wird zu dem Synthese-Filter 198 geschickt. Der Synthese-Filter 198 synthetisiert den gc-multiplizierten Anregungs-Vektor c, um einen synthetisierten Anregungs-Vektor s zu erhalten, und schickt ihn ab.
  • Gemäß dem Sprach-Codierer/Decodierer mit den vorstehenden Strukturen wird ein Anregungs-Vektor durch den Anregungs-Vektor-Generator erzeugt, der den Speicher-Abschnitt für die festgelegte Wellenform, den Anordnungs-Abschnitt für die festgelegte Wellenform und den Addier-Abschnitt aufweist, ein synthetisierter Anregungs-Vektor, erhalten durch Synthetisieren dieses Anregungs-Vektors in dem Synthese-Filter, eine solche Charakteristik, die statistisch nahe zu derjenigen eines tatsächlichen Targets liegt, um in der Lage zu sein eine synthetisierte Sprache mit hoher Qualität, zusätzlich zu den Vorteilen des zehnten Modes, zu erhalten.
  • Obwohl die vorstehende Beschreibung dieses Modes unter Bezugnahme auf einen Fall angegeben worden ist, bei dem festgelegte Wellenformen, erhalten durch Lernen, in den Speicher-Abschnitten 181A und 181B für die festgelegte Wellenform gespeichert sind, können synthetisierte Sprachen mit hoher Qualität auch sogar dann erhalten werden, wenn festgelegte Wellenformen, präpariert basierend auf dem Ergebnis einer statistischen Analyse des Random-Codebuch-Such-Targets x, verwendet werden, oder wenn auf einer Kenntnis basierende, festgelegte Wellenformen verwendet werden.
  • Während die Beschreibung dieses Modes unter Bezugnahme auf einen Fall angegeben worden ist, der drei festgelegte Wellenformen verwendet, können ähnliche Funktionen und Vorteile erhalten werden, wenn die Anzahl von festgelegten Wellenformen zu anderen Werten geändert wird.
  • Obwohl der Anordnungs-Abschnitt für die festgelegte Wellenform in diesem Mode so beschrieben worden ist, daß er die Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen besitzt, angegeben in Tabelle 8, können ähnliche Funktionen und Vorteile für andere Start-Posifions-Kandidaten-Informationen für festgelegte Wellenformen als solche in Tabelle 8 vorgesehen werden.
  • (Zwölfter Mode)
  • Fig. 20 zeigt ein strukturelles Blockdiagramm eines Sprach-Codierers vom CELP-Typ gemäß diesem Mode.
  • Dieser Sprach-Codierer vom CELP-Typ umfaßt einen Speicher-Abschnitt 200 für eine festgelegte Wellenform zum Speichern einer Mehrzahl von festgelegten Wellenformen (drei in diesem Mode: CH1 : w1, CH2 : w2 und CH3 : w3) und einen Anordnungs-Abschnitt 201 für die festgelegte Wellenform, der Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen zur Erzeugung von Start-Positionen der festgelegten Wellenformen besitzt, gespeichert in dem Speicher-Abschnitt 200 für die festgelegten Wellenformen, und zwar gemäß algebraischer Regeln. Dieser Sprach-Codierer vom CELP-Typ besitzt weiterhin einen Impuls-Ansprech-Kalkulator für jede Wellenform 202, einen Impuls- Generator 203, einen Korrelations-Matrix-Kalkulator 204, einen Zeit-Umkehr-Abschnitt 191, einen Synthese-Filter 192' für jede Wellenform, einen Zeit-Umkehr-Abschnitt 193 und einen Verzerrungs-Kalkulator 205.
  • Der Impuls-Ansprech-Kalkulator 202 besitzt eine Funktion eines Konvolutierens von drei festgelegten Wellenformen von dem Speicher-Abschnitt 200 für die festgelegte Wellenform und das Impuls-Ansprechen h (Länge L = Unterrahmen-Länge) des Synthese-Filters, um drei Arten von Impuls-Ansprech-Verhalten für die individuellen, festgelegten Wellenformen (CH1 : h1, CH2 : h2 und CH3 : h3, Länge L = Unterrahmen-Länge) zu berechnen.
  • Der Synthese-Filter 192' besitzt eine Funktion eines Konvolutierens des Ausgangs des Zeit-Umkehr-Abschnitts 191, was das Ergebnis der Zeit-Umkehrung des Random- Codebuch-Such-Targets x ist, um eingegeben zu werden, und die Impuls-Ansprech- Verhalten für die individuellen Wellenformen h1, h2 und h3, und zwar von dem Impuls- Ansprech-Kalkulator 202.
  • Der Impuls-Generator 203 stellt einen Impuls einer Amplitude 1 (ein Polarität- Vorhandensein) nur an den Start-Positions-Kandidaten P1, P2 und P3, ausgewählt durch den Anordnungs-Abschnitt 201 für die festgelegte Wellenform, ein, was Impulse für die individuellen Kanäle (CH1 : d1, CH2 : d2 und CH3 : d3) erzeugt.
  • Der Korrelations-Matrix-Kalkulator 204 berechnet eine Autokorrelation jeder der Impuls- Ansprech-Verhalten h1, h2 und h3 für die individuellen Wellenformen von dem Impuls- Ansprech-Kalkulator 202, und Korrelationen zwischen h1 und h2, h1 und h3, und h2 und h3, und entwickelt die erhaltenen Korrelations-Werte in einer Korrelations-Matrix RR. Der Verzerrungs-Kalkulator 205 spezifiziert den Random-Code-Vektor, der die Codier- Verzerrung minimiert, und zwar von einer Gleichung 37, eine Modifikation der Gleichung 4, unter Verwendung von drei in der Zeit umgekehrten Synthese-Targets (x'1, x'2 und x'3), die Korrelations-Matrix RR und der drei Impulse (d1, d2 und d3) für die individuellen Kanäle.
  • wobei
  • di: Impuls (Vektor) für jeden Kanal
  • di = ±1 · δ (k - pi), k = 0 zu L - 1, pi: n Start-Positions-Kandidaten des i-ten Kanals
  • Hi: Impuls-Ansprech-Konvolutions-Matrix für jede Wellenform (H&sub1; = HWi)
  • W&sub1;: Konvolutions-Matrix der festgelegten Wellenform
  • wobei
  • wi die festgelegte Wellenform (Länge: Li) des i-ten Kanals ist
  • x'i: Vektor, erhalten durch eine Zeit-Umkehr-Synthese von x unter Verwendung von H&sub1; (x'it = xtHi).
  • Hierbei ist die Transformation von der Gleichung 4 zu der Gleichung 37 für jeden Nenner- Term (Gleichung 38) und jeden Zähler-Term (Gleichung 39) dargestellt.
  • wobei
  • x: Random-Codebuch-Such-Target (Vektor)
  • xt: transponierter Vektor von x
  • H: Impuls-Ansprech-Konvolutions-Matrix des Synthese-Filters
  • c: Random-Codebuch-Vektor (c = W&sub1;d&sub1; + W&sub2;d&sub2; + W&sub3;d&sub3;)
  • Wi: Konvolutions-Matrix der festgelegten Wellenformen
  • di: Impuls (Vektor) für jeden Kanal
  • Hi: Impuls-Ansprech-Konvolutions-Matrix für jede Wellenform (Hi = HWi)
  • x': Vektor, der durch eine Zeit-Umkehr-Synthese von x unter Verwendung von Hi (x'it = xtHi) erhalten ist.
  • wobei
  • H: Impuls-Ansprech-Konvolutions-Matrix des Synthese-Filters
  • c: Random-Codebuch-Vektor (c = W1d1 + W2d2 + W3d3)
  • Wi: Konvolutions-Matrix der festgelegten Wellenform
  • di: Impuls (Vektor) für jeden Kanal
  • H&sub1;: Impuls-Ansprech-Konvolutions-Matrix für jede Wellenform (H&sub1; = HW&sub1;)
  • Die Betriebsweise des so aufgebauten Sprach-Codierers vom CELP-Typ wird beschrieben.
  • Um zu beginnen, konvolutiert der Impuls-Ansprech-Kalkulator 202 drei festgelegte Wellenformen, die gespeichert sind, und das Impuls-Ansprechen h, um drei Arten von Impuls- Ansprech-Verhalten h1, h2 und h3 für die individuellen, festgelegten Wellenformen zu berechnen, und schickt sie zu dem Synthese-Filter 192' und dem Korrelations-Matrix- Kalkulator 204.
  • Als nächstes konvolutiert der Synthese-Filter 192' das Random-Codebuch-Such-Target x, in der Zeit umgekehrt durch den Zeit-Umkehr-Abschnitt 191, und die Eingabe von drei Arten von Impuls-Ansprech-Verhalten h1, h2 und h3 für die individuellen Wellenformen. Der Zeit-Umkehr-Abschnitt 193 kehrt die drei Arten von Ausgabe-Vektoren für den Synthese- Filter 192' erneut in der Zeit um, um drei in der Zeit umgekehrte Synthese-Targets x'1, x'2 und x'3 zu erhalten, und schickt sie zu dem Verzerrungs-Kalkulator 205.
  • Dann berechnet der Korrelations-Matrix-Kalkulator 204 Autokorrelationen jeder der Eingabe der drei Arten von Impuls-Ansprech-Verhalten h1, h2 und h3 für die individuellen Wellenformen und Korrelation zwischen h1 und h2, h1 und h3, und h2 und h3, und schickt die erhaltenen Autokorrelationen und den Korrelations-Wert zu dem Verzerrungs-Kalkulator 205 nach einer Entwicklung davon in der Korrelations-Matrix RR.
  • Der vorstehende Prozeß ist als ein Vorprozeß ausgewählt worden, wobei der Anordnungs- Abschnitt 201 für die festgelegte Wellenform einen Start-Positions-Kandidaten einer festgelegten Wellenform für jeden Kanal auswählt, und schickt die positionsmäßigen Informationen zu dem Impuls-Generator 203.
  • Der Impuls-Generator 203 stellt einen Impuls einer Amplitude 1 (ein Polaritäts- Vorhandensein) an jeder der Start-Positions-Kandidaten, erhalten von dem Anordnungs- Abschnitt 201 für die festgelegte Wellenform, ein, was Impulse d1, d2 und d3 für die individuellen Kanäle erzeugt, und schickt sie zu dem Verzerrungs-Kalkulator 205.
  • Dann berechnet der Verzerrungs-Kalkulator 205 einen Referenz-Wert zum Minimieren der Codier-Verzerrung in der Gleichung 37, und zwar unter Verwendung von drei in der Zeit umgekehrten Synthese-Targets x'1, x'2 und x'3 für die individuellen Wellenformen, die Korrelations-Matrix RR und die drei Impulse d1, d2 und d3 für die individuellen Kanäle. Das Verfahren für die Auswahl von Start-Positions-Kandidaten entsprechend zu den drei Kanälen durch den Anordnungs-Abschnitt 201 für die festgelegte Wellenform zu der Verzerrungs-Berechnung durch den Verzerrungs-Kalkulator 205 wird für jede Kombination der Start-Positions-Kandidaten, auswählbar durch den Anordnungs-Abschnitt 201 für die festgelegte Wellenform, wiederholt. Dann werden die Code-Nummer, die der Kombination der Start-Positions-Kandidaten entspricht, die den Referenz-Wert für die Suche der Codier- Verzerrung in der Gleichung 37 minimiert, und die dann optimale Verstärkung mit der Random-Code-Vektor-Verstärkung gc, verwendet als ein Code des Random-Codebuchs, spezifiziert, und werden zu dem Transmitter übertragen.
  • Der Sprach-Codierer dieses Modes besitzt eine ähnliche Struktur zu derjenigen des zehnten Modes in Fig. 19B, und der Speicher-Abschnitt für die festgelegte Wellenform und der Anordnungs-Abschnitt für die festgelegte Wellenform in dem Sprach-Codierer besitzen dieselben Strukturen wie der Speicher-Abschnitt für die festgelegte Wellenform und der Anordnungs-Abschnitt für die festgelegte Wellenform in dem Sprach-Decodierer. Die festgelegten Wellenformen, gespeichert in dem Speicher-Abschnitt für die festgelegte Wellenform, sind eine festgelegte Wellenform, die solche Charakteristika haben, um statistisch die Kosten-Funktion in der Gleichung 3 durch das Training unter Verwendung der Codier- Verzerrungs-Gleichung (Gleichung 3) mit einem Random-Codebuch-Such-Target als eine Kosten-Funktion zu minimieren.
  • Gemäß dem so aufgebauten Sprach-Codierer/Decodierer kann, wenn die Start-Positions- Kandidaten der festgelegten Wellenformen in dem Anordnungs-Abschnitt für die festgelegte Wellenform algebraisch berechnet werden können, der Zähler in der Gleichung 37 durch Addieren von drei Termen des in der Zeit umgekehrten Synthese-Targets für jede Wellenform, erhalten in der vorherigen Verarbeitungsstufe, berechnet werden, und dann durch Erhalten des Quadrats des Ergebnisses. Weiterhin kann der Zähler in Gleichung 37 durch Addieren von neun Termen der Korrelations-Matrix des Impuls-Ansprech-Verhaltens der individuellen Wellenformen, erhalten in der vorherigen Verarbeitungsstufe, berechnet werden. Dies kann eine Suche mit ungefähr demselben Umfang einer Berechnung sicherstellen, wie sie in einem Fall benötigt wird, wo der konventionelle, algebraische, strukturelle Anregungs-Vektor (ein Anregungs-Vektor wird durch verschiedene Impulse einer Amplitude 1 gebildet) für das Random-Codebuch verwendet wird.
  • Weiterhin besitzt ein synthetisierter Anregungs-Vektor in dem Synthese-Filter eine solche Charakteristik statistisch nahe zu derjenigen eines tatsächlichen Targets, um in der Lage zu sein, eine synthetisierte Sprache mit einer hohen Qualität zu erhalten.
  • Obwohl die vorstehende Beschreibung dieses Modes unter Bezugnahme auf einen Fall angegeben worden ist, wo festgelegte Wellenformen, erhalten über ein Training, in dem Speicher-Abschnitt für die festgelegte Wellenform gespeichert sind, können synthetisierte Sprachen mit hoher Qualität auch gerade dann erhalten werden, wenn festgelegte Wellenformen, präpariert basierend auf dem Ergebnis einer statistischen Analyse des Random-Codebuch-Such-Targets x, verwendet werden, oder wenn auf einer Kenntnis basierende, festgelegte Wellenformen verwendet werden.
  • Während die Beschreibung dieses Modes unter Bezugnahme auf einen Fall einer Verwendung von drei festgelegten Wellenformen angegeben worden ist, können ähnliche Funktionen und Vorteile erhalten werden, wenn die Anzahl von festgelegten Wellenformen zu anderen Werten geändert wird.
  • Obwohl der Anordnungs-Abschnitt für die festgelegte Wellenform in diesem Mode so beschrieben worden ist, daß er die Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen, angegeben in Tabelle 8, besitzt, können ähnliche Funktionen und Vorteile für andere Start-Positions-Kandidaten-Informationen von festgelegten Welllenformen als solche in Tabelle 8 vorgesehen werden.
  • (Dreizehnter Mode)
  • Fig. 21 stellt ein stukturelles Blockdiagramm eines Sprach-Codierers eines CELP-Typs gemäß diesem Mode dar. Der Sprach-Codierer gemäß diesem Mode besitzt zwei Arten von Random-Codebüchern A 211 und B 212, einen Schalter 213 zum Umschalten der zwei Arten von Random-Codebüchern von einem zu dem anderen, einen Multiplier 214 zum Multiplizieren eines Random-Code-Vektors mit einer Verstärkung, einen Synthese- Filter 215 zum Synthetisieren einer Random-Code-Vektor-Ausgabe von dem Random- Codebuch, der mittels des Schalters 213 verbunden ist, und einen Verzerrungs-Kalkulator 216 zum Berechnen einer Codier-Verzerrung in der Gleichung 2.
  • Das Random-Codebuch A 211 besitzt die Struktur des Anregungs-Vektor-Generators des zehnten Modes, während das andere Random-Codebuch B 212 durch einen Random- Sequenz-Speicher-Abschnitt 217 aufgebaut ist, der eine Mehrzahl von Random-Code- Vektoren, erzeugt von einer Random-Sequenz, speichert. Eine Umschaltung zwischen den Random-Codebüchern wird in einer geschlossenen Schleife ausgeführt. Das x ist ein Random-Codebuch-Such-Target.
  • Die Betriebsweise des so aufgebauten Sprach-Codierers vom CELP-Typ wird diskutiert. Zuerst wird der Schalter 213 mit dem Random-Codebuch A 211 verbunden, und der Anordnungs-Abschnitt 182 für die festgelegte Wellenform ordnet (verschiebt) die festgelegten Wellenformen an, gelesen von dem Speicher-Abschnitt 181 für die festgelegte Wellenform, an den Positionen, die von den Start-Positions-Kandidaten der festgelegten Wellenform jeweils ausgewählt sind, basierend auf Start-Positions-Kandidaten-Informationen für festgelegte Wellenformen, die sie besitzt, wie dies in Tabelle 8 dargestellt ist. Die angeordneten, festgelegten Wellenformen werden zusammen in dem Addier-Abschnitt 183 addiert, um ein Random-Code-Vektor zu werden, der zu dem Synthese-Filter 215 geschickt wird, nachdem er mit der Random-Code-Vektor-Verstärkung multipliziert ist. Der Synthese-Filter 215 synthetisiert den Eingabe-Random-Code-Vektor und schickt das Ergebnis zu dem Verzerrungs-Kalkulator 216. Der Verzerrungs-Kalkulator 216 führt eine Minimierung der Codier-Verzerrung in der Gleichung 2 unter Verwendung des Random-Codebuchsuch-Targets x und des synthetisierten Code-Vektors, erhalten von dem Synthese-Filter 215, durch.
  • Nach einer Berechnung der Verzerrung schickt der Verzerrungs-Kalkulator 216 ein Signal zu dem Anordnungs-Abschnitt 182 für die festgelegte Wellenform. Der Vorgang von der Auswahl der Start-Positions-Kandidaten entsprechend zu den drei Kanälen durch den Anordnungs-Abschnitt 182 für die festgelegte Wellenform bis zu der Verzerrungs- Berechnung durch den Verzerrungs-Kalkulator 216 wird für jede Kombination der Start- Positions-Kandidaten, auswählbar durch den Anordnungs-Abschnitt 182 für die festgelegte Wellenform, wiederholt.
  • Danach werden die Kombination der Start-Positions-Kandidaten, die die Codier- Verzerrung minimiert, ausgewählt, und die Code-Nummer, die, eins zu eins, zu dieser Kombination der Start-Positions-Kandidaten entspricht, die dann optimale Random-Code- Vektor-Verstärkung gc und der minimale Codier-Verzerrungs-Wert, gespeichert.
  • Dann wird der Schalter 213 mit dem Random-Codebuch B 212 verbunden, was bewirkt, daß eine Random-Sequenz, gelesen von dem Random-Sequenz-Speicher-Abschnitt 217, ein Random-Code-Vektor wird. Dieser Random-Code-Vektor wird, nachdem er mit der Random-Code-Vektor-Verstärkung multipliziert ist, zu dem Synthese-Filter 215 eingegeben. Der Synthese-Filter 215 synthetisiert den Eingabe-Random-Code-Vektor und schickt das Ergebnis zu dem Verzerrungs-Kalkulator 216.
  • Der Verzerrungs-Kalkulator 216 berechnet die Codier-Verzerrung in der Gleichung 2 unter Verwendung des Random-Codebuchsuch-Targets x und des synthetisierten Code- Vektors, erhalten von dem Synthese-Filter 215.
  • Nach einer Berechnung der Verzerrung schickt der Verzerrungs-Kalkulator 216 ein Signal zu dem Random-Sequenz-Speicher-Abschnitt 217. Der Prozeß von der Auswahl des Random-Code-Vektors durch den Random-Sequenz-Speicher-Abschnitt 217 bis zu der Verzerrungs-Berechnung durch den Verzerrungs-Kalkulator 216 wird für jeden Random- Code-Vektor, auswählbar durch den Random-Sequenz-Speicher-Abschnitt 217, wiederholt.
  • Danach wird der Random-Code-Vektor, der die Codier-Verzerrung minimiert, ausgewählt, und die Code-Nummer des Random-Code-Vektors, die dann optimale Random-Code- Vektor-Verstärkung gc und der minimale Codier-Verzerrungs-Wert, werden gespeichert. Dann vergleicht der Verzerrungs-Kalkulator 216 den minimalen Codier-Verzerrungs-Wert, erhalten dann, wenn der Schalter 213 mit dem Random-Codebuch A 211 verbunden wird, mit dem minimalen Codier-Verzerrungs-Wert, erhalten dann, wenn der Schalter 213 mit dem Random-Codebuch B 212 verbunden ist, bestimmt die Umschalt-Verbindungs- Informationen, wenn eine kleinere Codier-Verzerrung erhalten wurde, wobei die dann vorliegende Code-Nummer und die Random-Code-Vektor-Verstärkung als Sprach-Code bestimmt werden, und werden zu einem nicht dargestellten Transmitter geschickt.
  • Der Sprach-Decodierer gemäß diesem Mode, der mit dem Sprach-Codierer dieses Modes gepaart ist, besitzt das Random-Codebuch A, das Random-Codebuch B, den Schalter, die Random-Code-Vektor-Verstärkung und den Synthese-Filter, die dieselben Strukturen haben und in derselben Art und Weise angeordnet sind, wie diejenigen in Fig. 21, wobei ein Random-Codebuch, das verwendet werden soll, ein Random-Code-Vektor und eine Random-Code-Vektor-Verstärkung basierend auf einer Sprach-Code-Eingabe von dem Transmitter bestimmt werden, und ein synthetisierter Anregungs-Vektor wird als der Ausgang des Synthese-Filters erhalten.
  • Gemäß dem Sprach-Codierer/Decodierer mit den vorstehenden Strukturen kann einer der Random-Code-Vektoren, der von dem Random-Codebuch A erzeugt wird, und die Random-Code-Vektoren, die von dem Random-Codebuch B erzeugt werden, was die Codier- Verzerrung in Gleichung 2 minimiert, in einer geschlossenen Schleife ausgewählt werden, was es möglich macht, einen Anregungs-Vektor näher zu einer tatsächlichen Sprache und eine synthetisierte Sprache mit hoher Qualität zu erzeugen.
  • Obwohl dieser Mode als ein Sprach-Codierer/Decodierer basierend auf der Struktur in Fig. 2 des Sprach-Codierers vom konventionellen CELP-Typ dargestellt worden ist, können ähnliche Funktionen und Vorteile dann erhalten werden, wenn dieser Mode an einen Sprach-Codierer/Decodierer vom CELP-Typ basierend auf der Struktur in den Fig. 19A und 19B oder in Fig. 20 angepaßt wird.
  • Obwohl das Random-Codebuch A 211 in diesem Mode dieselbe Struktur wie diejenige in Fig. 18 besitzt, können ähnliche Funktionen und Vorteile gerade dann erhalten werden, wenn der Speicher-Abschnitt 181 für die festgelegte Wellenform eine andere Struktur annimmt (z. B. in einem Fall, wo er vier festgelegte Wellenformen besitzt).
  • Während die Beschreibung dieses Modes unter Bezugnahme auf einen Fall angegeben worden ist, bei dem der Anordnungs-Abschnitt 182 für die festgelegte Wellenform des Random-Codebuchs A 211 die Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen besitzt, wie dies in Tabelle 8 dargestellt ist, können ähnliche Funktionen und Vorteile gerade für einen Fall vorgesehen werden, bei dem der Abschnitt 182 andere Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen besitzt.
  • Obwohl dieser Mode unter Bezugnahme auf einen Fall beschrieben worden ist, bei dem das Random-Codebuch B 212 durch den Random-Sequenz-Speicher-Abschnitt 217 für ein direktes Speichern einer Mehrzahl von Random-Sequenzen in dem Speicher aufgebaut ist, können ähnliche Funktionen und Vorteile gerade für einen Fall vorgesehen werden, bei dem das Random-Codebuch B 212 andere Anregungs-Vektor-Strukturen annimmt (z. B. wenn es durch Anregungs-Vektor-Erzeugungs-Informationen mit einer algebraischen Struktur gebildet ist).
  • Obwohl dieser Mode als ein Sprach-Codierer/Decodierer vom CELP-Typ beschrieben worden ist, der zwei Arten von Random-Codebüchern besitzt, können ähnliche Funktionen und Vorteile gerade in einem Fall einer Verwendung eines Sprach-Codierers/Decodierers vom CELP-Typ vorgesehen werden, der drei oder mehr Arten von Random-Codebüchern besitzt.
  • (Vierzehnter Mode)
  • Fig. 22 stellt ein strukturelles Blockdiagramm eines Sprach-Codierers vom CELP-Typ gemäß diesem Mode dar. Der Sprach-Codierer gemäß diesem Mode besitzt zwei Arten von Random-Codebüchern. Ein Random-Codebuch besitzt die Struktur des Anregungs- Vektor-Generators, dargestellt in Fig. 18, und der andere eine ist aus einem Impuls- Sequenz-Speicher-Abschnitt aufgebaut, der eine Mehrzahl von Impuls-Sequenzen hält. Die Random-Codebücher werden adaptiv von einem zu dem anderen unter Verwendung einer quantisierten Pitch-Verstärkung umgeschaltet, bereits zuvor von einer Random- Codebuch-Suche erhalten. Das Random-Codebuch A 211, das den Speicher-Abschnitt 181 für die festgelegte Wellenform, den Anordnungs-Abschnitt 182 für die festgelegte Wellenform und den Addier-Abschnitt 183 aufweist, entspricht dem Anregungs-Vektor- Generator in Fig. 18. Ein Random-Codebuch B 221 ist aus einem Impuls-Sequenz- Speicher-Abschnitt 222 aufgebaut, wobei eine Mehrzahl von Impuls-Sequenzen darin gespeichert ist. Die Random-Codebücher A 211 und B 221 werden von einem zu dem anderen mittels eines Schalters 213' umgeschaltet. Ein Multiplier 224 gibt einen adaptiven Code-Vektor aus, der der Ausgang eines adaptiven Codebuchs 223 multipliziert mit der Pitch-Verstärkung besitzt, die bereits zu dem Zeitpunkt einer Random-Codebuch-Suche erhalten worden ist. Der Ausgang eines Pitch-Verstärkung-Quantisierers 225 wird zu dem Schalter 213' geführt.
  • Die Betriebsweise des so aufgebauten Sprach-Codierers vom CELP-Typ wird beschrieben.
  • Gemäß dem Sprach-Codierer des herkömmlichen CELP-Typs wird das adaptive Codebuch 223 zuerst durchsucht und die Random-Codebuch-Suche wird basierend auf dem Ergebnis ausgeführt. Diese adaptive Codebuch-Suche ist ein Prozeß eines Auswählens eines optimalen, adaptiven Code-Vektors von einer Mehrzahl von adaptiven Code- Vektoren, gespeichert in dem adaptiven Codebuch 223 (Vektoren jeweils erhalten durch Multiplizieren eines adaptiven Code-Vektors und eines Random-Code-Vektors mit deren jeweiligen Verstärkungen und dann Zusammenaddieren von diesen). Als Ergebnis dieses Prozesses werden die Code-Nummer und die Pitch-Verstärkung eines adaptiven Code- Vektors erzeugt.
  • Gemäß dem Sprach-Codierer vom CELP-Typ dieses Modes quantisiert der Pitch- Verstärkungs-Quantisierer 225 diese Pitch-Verstärkung, was eine quantisierte Pitch- Verstärkung erzeugt, wonach die Random-Codebuch-Suche durchgeführt werden wird. Die quantisierte Pitch-Verstärkung, erhalten durch den Pitch-Verstärkung-Quantisierer 225, wird zu dem Schalter 213' zum Umschalten zwischen den Random-Codebüchern geschickt.
  • Der Schalter 213' verbindet sich mit dem Random-Codebuch A 211, wenn der Wert der quantisierten Pitch-Verstärkung klein ist, wodurch angenommen wird, daß die Eingabe- Sprache stimmlos ist, und verbindet sich mit dem Random-Codebuch B221, wenn der Wert der quantisierten Pitch-Verstärkung groß ist, wodurch davon ausgegangen wird, daß die Eingabe-Sprache stimmhaft ist.
  • Wenn der Schalter 213' mit dem Random-Codebuch A 211 verbunden ist, ordnet der Anordnungs-Abschnitt 182 für die festgelegte Wellenform die festgelegten Wellenformen an (verschiebt sie), gelesen von dem Speicher-Abschnitt 181 für die festgelegte Wellenform, und zwar an den Positionen, ausgewählt von den Start-Positions-Kandidaten der festgelegten Wellenformen jeweils, basierend auf Start-Positions-Kandidaten-Informationen für festgelegte Wellenformen, die er hat, wie dies in Tabelle 8 dargestellt ist. Die angeordneten, festgelegten Wellenformen werden zu dem Addier-Abschnitt 183 geschickt und zusammenaddiert, um ein Random-Code-Vektor zu werden. Der Random-Code-Vektor wird zu dem Synthese-Filter 215 geschickt, nachdem er mit der Random-Code-Vektor- Verstärkung multipliziert ist. Der Synthese-Filter 215 synthetisiert den Eingabe-Random- Code-Vektor und schickt das Ergebnis zu dem Verzerrungs-Kalkulator 216.
  • Der Verzerrungs-Kalkulator 216 berechnet eine Codier-Verzerrung in der Gleichung 2 unter Verwendung des Target x für eine Random-Codebuch-Suche und dem synthetisierten Code-Vektor, erhalten von dem Synthese-Filter 215.
  • Nach Berechnen der Verzerrung schickt der Verzerrungs-Kalkulator 216 ein Signal zu dem Anordnungs-Abschnitt 182 für die festgelegte Wellenform. Das Verfahren von der Auswahl der Start-Positions-Kandidaten entsprechend zu den drei Kanälen durch den Anordnungs- Abschnitt 182 für die festgelegte Wellenform bis zu der Verzerrungs-Berechnung durch den Verzerrungs-Kalkulator 216 wird für jede Kombination der Start-Positions-Kandidaten, auswählbar durch den Anordnungs-Abschnitt 182 für die festgelegte Wellenform, wiederholt.
  • Danach wird die Kombination der Start-Positions-Kandidaten, die die Codier-Verzerrung minimiert, ausgewählt, und die Code-Nummer, die, eins zu eins, der Kombination der Start-Positions-Kandidaten entspricht, die dann optimale Random-Code-Vektor- Verstärkung gc und die quantisierte Pitch-Verstärkung, werden zu einem Transmitter als ein Sprach-Code übertragen. In diesem Mode sollte die Eigenschaft eines stimmlosen Klangs auf festgelegten Wellenform-Mustern wiedergegeben werden, um in dem Speicher-Abschnitt 181 für die festgelegte Wellenform gespeichert zu werden, und zwar bevor eine Sprach-Codierung stattfindet.
  • Wenn der Schalter 213' mit dem Random-Codebuch B 221 verbunden ist, wird eine Impuls-Sequenz, gelesen von dem Impuls-Sequenz-Speicher-Abschnitt 222, ein Random- Code-Vektor. Dieser Random-Code-Vektor wird zu dem Synthese-Filter 215 über den Schalter 2131 und eine Multiplikation der Random-Code-Vektor-Verstärkung eingegeben. Der Synthese-Filter 215 synthetisiert den Eingangs-Random-Code-Vektor und schickt das Ergebnis zu dem Verzerrungs-Kalkulator 216.
  • Der Verzerrungs-Kalkulator 216 berechnet die Codier-Verzerrung in der Gleichung 2 unter Verwendung des Targets x für eine Random-Codebuch-Suche X und dem synthetisierten Code-Vektor, erhalten von dem Synthese-Filter 215.
  • Nach Berechnung der Verzerrung schickt der Verzerrungs-Kalkulator 216 ein Signal zu dem Impuls-Sequenz-Speicher-Abschnitt 222. Der Vorgang von der Auswahl des Random-Code-Vektors durch den Impuls-Sequenz-Speicher-Abschnitt 222 bis zu der Verzerrungs-Berechnung durch den Verzerrungs-Kalkulator 216 wird für jeden Random-Code- Vektor, auswählbar durch den Impuls-Sequenz-Speicher-Abschnitt 222, wiederholt.
  • Danach wird der Random-Code-Vektor, der die Codier-Verzerrung minimiert, ausgewählt, und die Code-Nummer des Random-Code-Vektors, die dann optimale Random-Code- Vektor-Verstärkung gc, und die quantisierte Pitch-Verstärkung werden zu dem Transmitter als ein Sprach-Code übertragen.
  • Der Sprach-Decodierer gemäß diesem Mode, der mit dem Sprach-Codierer dieses Modes gepaart ist, besitzt das Random-Codebuch A, das Random-Codebuch B, den Schalter, die Random-Code-Vektor-Verstärkung und den Synthese-Filter, die dieselben Strukturen haben und in derselben Art und Weise angeordnet sind, wie solche in Fig. 22. Zuerst bestimmt, unter Empfang der übertragenen, quantisierten Pitch-Verstärkung, die Seite des Codierers von seinem Niveau, ob der Schalter 213' mit dem Random-Codebuch A 211 oder mit dem Random-Codebuch B 221 verbunden worden ist. Als nächstes wird, basierend auf der Code-Nummer und dem Vorzeichen des Random-Code-Vektors, ein synthetisierter Anregungs-Vektor als der Ausgang des Synthese-Filters erhalten.
  • Gemäß dem Sprach-Codierer/Decodierer mit den vorstehenden Strukturen können zwei Arten von Random-Codebüchern adaptiv gemäß der Charakteristik einer Eingabe- Sprache umgeschaltet werden, das Niveau der quantisierten Pitch-Verstärkung wird verwendet, um die übertragene, quantisierte Pitch-Verstärkung in diesem Mode zu bestimmen, so daß dann, wenn die Eingabe-Sprache stimmhaft ist, eine Impuls-Sequenz als ein Random-Code-Vektor ausgewählt werden kann, wogegen, für eine stark stimmlose Eigenschaft, ein Random-Code-Vektor, der die Eigenschaft von stimmlosen Klängen wiedergibt, ausgewählt werden kann. Dies kann ein Erzeugen von Anregungs-Vektoren näher zu der tatsächlichen Klangeigenschaft und die Verbesserung von synthetisierten Klängen sicherstellen. Da eine Umschaltung in einer geschlossenen Schleife in diesem Mode, wie dies vorstehend erwähnt ist, durchgeführt wird, können die funktionalen Effekte durch Erhöhen der Menge von Informationen, die übertragen werden, verbessert werden.
  • Obwohl dieser Mode als ein Sprach-Codierer/Decodierer basierend auf der Struktur in Fig. 2 des Sprach-Codierers vom herkömmlichen CELP-Typ dargestellt worden ist, können ähnliche Funktionen und Vorteile gerade dann erhalten werden, wenn dieser Mode an einen Sprach-Codierer/Decodierer vom CELP-Typ basierend auf der Struktur in den Fig. 19A und 19B oder Fig. 20 angepaßt ist.
  • In diesem Mode wird eine quantisierte Pitch-Verstärkung, erhalten durch Quantisieren der Pitch-Verstärkung eines adaptiven Code-Vektors in dem Pitch-Verstärkungs-Quantisierer 225, als ein Parameter zum Umschalten des Schalters 213' verwendet. Ein Pitch-Periode- Kalkulator kann vorgesehen werden, so daß eine Pitch-Periode, berechnet von einem adaptiven Code-Vektor, anstelle davon verwendet werden kann.
  • Obwohl das Random-Codebuch A 211 in diesem Mode dieselbe Struktur besitzt, wie sie in Fig. 18 dargestellt ist, können ähnliche Funktionen und Vorteile gerade dann erhalten werden, wenn der Speicher-Abschnitt 181 für die festgelegte Wellenform eine andere Struktur annimmt (z. B. in einem Fall, wo er vier festgelegte Wellenformen besitzt).
  • Während die Beschreibung dieses Modes unter Bezugnahme auf den Fall angegeben worden ist, bei dem der Anordnungs-Abschnitt 182 für die festgelegte Wellenform des Random-Codebuchs A 211 die Start-Positions-Kandidaten-Informafiionen von festgelegten Wellenformen besitzt, wie dies in Tabelle 8 dargestellt ist, können ähnliche Funktionen und Vorteile gerade für einen Fall erhalten werden, bei dem der Abschnitt 182 andere Start- Positions-Kandidaten-Informationen von festgelegten Wellenformen hat.
  • Obwohl dieser Mode unter Bezugnahme auf den Fall beschrieben worden ist, bei dem das Random-Codebuch B 221 durch den Impuls-Sequenz-Speicher-Abschnitt 222 für ein direktes Speichern einer Impuls-Sequenz in dem Speicher gebildet ist, können ähnliche Funktionen und Vorteile gerade für einen Fall erhalten werden, bei dem das Random- Codebuch B 212 andere Anregungs-Vektor-Strukturen annehmen kann (z. B. wenn er durch Anregungs-Vektor-Erzeugungs-Informationen mit einer algebraischen Struktur gebildet ist).
  • Obwohl dieser Mode als ein Sprach-Codierer/Decodierer vom CELP-Typ beschrieben worden ist, der zwei Arten von Random-Codebüchern besitzt, können ähnlich Funktionen und Vorteile gerade in dem Fall einer Verwendung eines Sprach-Codierer/Decodierers vom CELP-Typ erhalten werden, der drei oder mehr Arten von Random-Codebüchern besitzt.
  • (Fünfzehnter Mode)
  • Fig. 23 stellt ein strukturelles Blockdiagramm eines Sprach-Codierers vom CELP-Typ gemäß diesem Mode dar. Der Sprach-Codierer gemäß diesem Mode besitzt zwei Arten von Random-Codebüchern. Ein Random-Codebuch nimmt die Struktur des Anregungs-Vektor- Generators, dargestellt in Fig. 18, an und besitzt drei festgelegte Wellenformen, gespeichert in dem Speicher-Abschnitt für die festgelegte Wellenform, und der andere eine nimmt ähnlich die Struktur des Anregungs-Vektor-Generators, dargestellt in Fig. 18 an, besitzt allerdings zwei festgelegte Wellenformen, gespeichert in dem Speicher-Abschnitt für die festgelegte Wellenform. Diese zwei Arten von Random-Codebüchern werden in einer geschlossenen Schleife umgeschaltet.
  • Ein Random-Codebuch A 211, das einen Speicher-Abschnitt A 181 für eine festgelegte Wellenform, der drei festgelegte Wellenformen darin gespeichert besitzt, einen Anordnungs-Abschnitt A 182 für die festgelegte Wellenform und einen Addier-Abschnitt 183 aufweist, entspricht der Struktur des Anregungs-Vektor-Generator in Fig. 18, der allerdings drei festgelegte Wellenformen besitzt, die in dem Speicher-Abschnitt für die festgelegte Wellenform gespeichert sind.
  • Ein Random-Codebuch B230 weist einen Speicher-Abschnitt B 231 für die festgelegte Wellenform, der zwei festgelegte Wellenformen, die darin gespeichert sind, besitzt, einen Anordnungs-Abschnitt B 232 für die festgelegte Wellenform, der Start-Positions- Kandidaten-Informationen von festgelegten Wellenformen besitzt, wie dies in Tabelle 9 dargestellt ist, und einen Addier-Abschnitt 233, der zwei festgelegte Wellenformen addiert, angeordnet durch den Anordnungs-Abschnitt B 232 für die festgelegte Wellenform, um dadurch einen Random-Code-Vektor zu erzeugen, auf. Das Random-Codebuch B 230 entspricht der Struktur des Anregungs-Vektor-Generators in Fig. 18, der allerdings zwei festgelegte Wellenformen, gespeichert in dem Speicher-Abschnitt für die festgelegte Wellenform, besitzt. Tabelle 9
  • Die andere Struktur ist dieselbe wie diejenige des vorstehend beschriebenen dreizehnten Modes.
  • Die Betriebsweise des Sprach-Codierer vom CELP-Typ, aufgebaut in der vorstehenden Art und Weise, wird beschrieben.
  • Zuerst wird der Schalter 213 mit dem Random-Codebuch A 211 verbunden und der Anordnungs-Abschnitt A 182 für die festgelegte Wellenform ordnet drei festgelegte Wellenformen an (verschiebt sie), gelesen von dem Speicher-Abschnitt A 181 für die festgelegte Wellenform, und zwar an den Positionen, ausgewählt von den Start-Positions-Kandidaten der festgelegten Wellenformen jeweils, basierend auf Start-Positions-Kandidaten- Informationen für festgelegte Wellenformen, die er hat, dargestellt in Tabelle 8. Die angeordneten drei festgelegten Wellenformen werden zu dem Addier-Abschnitt 183 ausgegeben und zusammenaddiert, um ein Random-Code-Vektor zu werden. Dieser Random- Code-Vektor wird zu dem Synthese-Filter 215 über den Schalter 213 und den Multiplier 214 zum Multiplizieren von diesem mit der Random-Code-Vektor-Verstärkung geschickt. Der Synthese-Filter 215 synthetisiert den Eingangs-Random-Code-Vektor und schickt das Ergebnis zu dem Verzerrungs-Kalkulator 216. Der Verzerrungs-Kalkulator 216 berechnet eine Codier-Verzerrung in der Gleichung 2 unter Verwendung des Random-Codebuch- Such-Targets X und des synthetisierten Code-Vektors, erhalten von dem Synthese-Filter 215.
  • Nach einer Berechnung der Verzerrung schickt der Verzerrungs-Kalkulator 216 ein Signal zu dem Anordnungs-Abschnitt A 182 für die festgelegte Wellenform. Der Vorgang von der Auswahl der Start-Positions-Kandidaten entsprechend zu den drei Kanälen durch den Anordnungs-Abschnitt A 182 für die festgelegte Wellenform bis zu der Verzerrungs- Berechnung durch den Verzerrungs-Kalkulator 216 wird für jede Kombination der Start- Positions-Kandidaten, auswählbar durch den Anordnungs-Abschnitt A 182 für die festgelegte Wellenform, wiederholt.
  • Danach wird die Kombination der Start-Positions-Kandidaten, die die Codier-Verzerrung minimiert, ausgewählt, und die Code-Nummer, die, eins zu eins, dieser Kombination der Start-Positions-Kandidaten entspricht, die dann optimale Random-Code-Vektor- Verstärkung gc und der minimale Codier-Verzerrungs-Wert, werden gespeichert.
  • In diesem Mode sind die festgelegten Wellenformen-Muster, die in dem Speicher- Abschnitt A 181 für die festgelegte Wellenform vor einer Sprach-Codierung gespeichert werden sollen, diejenigen, die durch Training in einer solchen Art und Weise erhalten worden sind, um eine Verzerrung unter dem Zustand von drei festgelegten Wellenformen, bei der Benutzung, zu minimieren.
  • Als nächstes wird der Schalter 213 mit dem Random-Codebuch B 230 verbunden, und der Anordnungs-Abschnitt B 232 für die festgelegte Wellenform ordnet zwei festgelegte Wellenformen an (verschiebt sie), gelesen von dem Speicher-Abschnitt B 231 für die festgelegte Wellenform, an den Positionen, ausgewählt von den Start-Positions-Kandidaten der festgelegten Wellenformen jeweils, und zwar basierend auf Start-Positions-Kandidaten- Informationen für festgelegte Wellenformen, die er hat, wie dies in Tabelle 9 dargestellt ist. Die angeordneten zwei festgelegten Wellenformen werden zu dem Addier-Abschnitt 233 ausgegeben und zusammenaddiert, um ein Random-Code-Vektor zu werden. Dieser Random-Code-Vektor wird zu dem Synthese-Filter 215 über den Schalter 213 und den Multiplier 214 zum Multiplizieren davon mit der Random-Code-Vektor-Verstärkung geschickt. Der Synthese-Filter 215 synthetisiert den Eingabe-Random-Code-Vektor und schickt das Ergebnis zu dem Verzerrungs-Kalkulator 216.
  • Der Verzerrungs-Kalkulator 216 berechnet eine Codier-Verzerrung in der Gleichung 2 unter Verwendung des Targets x für eine Random-Codebuch-Suche X und den synthetisierten Code-Vektor, erhalten von dem Synthese-Filter 215.
  • Nach einer Berechnung der Verzerrung schickt der Verzerrungs-Kalkulator 216 ein Signal zu dem Anordnungs-Abschnitt B 232 für die festgelegte Wellenform. Der Vorgang von der Auswahl der Start-Positions-Kandidaten entsprechend zu den drei Kanälen durch den Anordnungs-Abschnitt B 232 für die festgelegte Wellenform bis zu der Verzerrungs- Berechnung durch den Verzerrungs-Kalkulator 216 wird für jede Kombination der Start- Positions-Kandidaten, auswählbar durch den Anordnungs-Abschnitt B 232 für die festgelegte Wellenform, wiederholt.
  • Danach wird die Kombination der Start-Positions-Kandidaten, die die Codier-Verzerrung minimiert, ausgewählt, und die Code-Nummer, die, eins zu eins, zu dieser Kombination der Start-Positions-Kandidaten entspricht, die dann optimale Random-Code-Vektor- Verstärkung gc und der minimale Codier-Verzerrungs-Wert, werden gespeichert. In diesem Mode sind die festgelegten Wellenform-Muster, die in dem Speicher-Abschnitt B 231 für die festgelegten Wellenformen vor einer Sprach-Codierung gespeichert werden sollen, was durch Training in einer solchen Art und Weise erreicht worden ist, um eine Verzerrung unter dem Zustand von zwei festgelegten Wellenformen, in Benutzung, zu minimieren. Dann vergleicht der Verzerrungs-Kalkulator 216 den minimalen Codier-Verzerrungs-Wert, erhalten dann, wenn der Schalter 213 mit dem Random-Codebuch B 230 verbunden ist, mit dem minimalen Codier-Verzerrungs-Wert, erhalten dann, wenn der Schalter 213 mit dem Random-Codebuch A 211 verbunden ist, bestimmt Umschalt-Verbindungs- Informationen, wenn eine kleinere Codier-Verzerrung erhalten wurde, wobei die dann vorliegende Code-Nummer und die Random-Code-Vektor-Verstärkung als Sprach-Code bestimmt werden und zu dem Transmitter geschickt werden.
  • Der Sprach-Decodierer gemäß diesem Mode besitzt das Random-Codebuch A, das Random-Codebuch B, den Schalter, die Random-Code-Vektor-Verstärkung und den Synthese-Filter, die dieselben Strukturen haben und in derselben Art und Weise angeordnet sind wie solche in Fig. 23, wobei ein Random-Codebuch, das verwendet werden soll, ein Random-Code-Vektor und eine Random-Code-Vektor-Verstärkung basierend auf einer Sprach-Code-Eingabe von dem Transmitter bestimmt werden, und ein synthetisierter Anregungs-Vektor wird als der Ausgang des Synthese-Filters erhalten.
  • Gemäß dem Sprach-Codierer/Decodierer mit den vorstehenden Strukturen kann einer der Random-Code-Vektoren, die von dem Random-Codebuch A erzeugt werden sollen, und der Random-Code-Vektoren, die von dem Random-Codebuch B erzeugt werden sollen, der die Codier-Verzerrung in der Gleichung 2 minimiert, in einer geschlossenen Schleife ausgewählt werden, was es möglich macht, einen Anregungs-Vektor näher zu einer tatsächlichen Sprache und einer synthetisierten Sprache mit hoher Qualität zu erzeugen. Obwohl dieser Mode als ein Sprach-Codierer/Decodierer basierend auf der Struktur in Fig. 2 des Sprach-Codierers vom herkömmlichen CELP-Typ dargestellt worden ist, können ähnlich Funktionen und Vorteile gerade dann erhalten werden, wenn dieser Mode an einen Sprach-Codierer/Decodierer vom CELP-Typ basierend auf der Struktur in den Fig. 19A und 19B oder in Fig. 20 angepaßt wird.
  • Obwohl dieser Mode unter Bezugnahme auf den Fall beschrieben ist, bei dem der Speicher-Abschnitt A 181 für die festgelegte Wellenform des Random-Codebuchs A 211 drei festgelegte Wellenformen speichert, können ähnliche Funktionen und Vorteile gerade dann erhalten werden, wenn der Speicher-Abschnitt A 181 für die festgelegte Wellenform eine unterschiedliche Zahl von festgelegten Wellenformen speichert, (z. B. in einem Fall, bei dem er vier festgelegte Wellenformen besitzt). Dasselbe gilt für das Random-Codebuch B 230.
  • Während die Beschreibung dieses Modes unter Bezugnahme auf den Fall angegeben worden ist, bei dem der Anordnungs-Abschnitt A 182 für die festgelegten Wellenformen des Random-Codebuchs A 211 die Start-Positions-Kandidaten-Informationen der festgelegten Wellenformen, wie dies in Tabelle 8 dargestellt ist, besitzt, können ähnliche Funktionen und Vorteile gerade für einen Fall erhalten werden, bei dem der Abschnitt 182 andere Start-Positions-Kandidaten-Informationen von festgelegten Wellenformen besitzt. Dasselbe ist bei dem Random-Codebuch B 230 anwendbar.
  • Obwohl dieser Mode als ein Sprach-Codierer/Decodierer vom CELP-Typ beschrieben worden ist, der zwei Arten von Random-Codebüchern besitzt, können ähnliche Funktionen und Vorteile gerade in einem Fall einer Verwendung eines Sprach-Codierers/Decodierers vom CELP-Typ erhalten werden, der drei oder mehr Arten von Random-Codebüchern besitzt.
  • (Sechzehnter Mode)
  • Fig. 24 stellt ein strukturelles Blockdiagramm eines Sprach-Codierers vom CELP-Typ gemäß diesem Mode dar. Der Sprach-Codierer erhält LPC-Koeffizienten unter Durchführen einer Autokorrelations-Analyse und einer LPC-Analyse in Bezug auf Eingabe-Sprach- Daten 241 in einem LPC-Analysier-Abschnitt 242, codiert die erhaltenen LPC- Koeffizienten, um LPC-Code zu erhalten, und codiert die erhaltenen LPC-Code, um decodierte LPC-Koeffizienten zu erhalten.
  • Als nächstes erhält ein Anregungs-Vektor-Generator 245 einen adaptiven Code-Vektor und einen Random-Code-Vektor von einem adaptiven Codebuch 243 und einem Anregungs-Vektor-Generator 244 und schickt sie zu einem LPC-Synthese-Filter 246. Einer der Anregungs-Vektor-Generatoren der vorstehend beschriebenen ersten bis vierten und zehnten Moden wird für den Anregungs-Vektor-Generator 244 verwendet. Weiterhin filtert der LPC-Synthese-Filter 246 zwei Anregungs-Vektoren, erhalten durch den Anregungs- Vektor-Generator 245, mit den decodierten LPC-Koeffizienten, erhalten durch den LPC- Analysier-Abschnitt 242, um dadurch zwei synthetisierte Sprachen zu erhalten.
  • Ein Komparator 247 analysiert eine Beziehung zwischen den zwei synthetisierten Sprachen, erhalten durch den LPC-Synthese-Filter 246, und die Eingabe-Sprache, was optimale Werte (optimale Verstärkungen) von zwei synthetisierten Sprachen ergibt, addiert die synthetisierten Sprachen, der Energie mit den optimalen Verstärkungen eingestellt worden sind, was eine gesamte, synthetisierte Sprache ergibt, und berechnet dann einen Abstand zwischen der gesamten, synthetisierten Sprache und der Eingabe-Sprache.
  • Die Abstands-Berechnung wird auch in Bezug auf die Eingabe-Sprache und mehrfache, synthetisierte Sprachen durchgeführt, die dadurch erhalten werden, daß der Anregungs- Vektor-Generator 245 und der LPC-Synthese-Filter 246 so in Bezug auf alle Anregungs- Vektor-Abtastungen funktionieren, die durch das Random-Codebuch 243 und den Anregungs-Vektor-Generator 244 erzeugt sind. Dann wird der Index der Anregungs-Vektor- Abtastung erhalten, was den minimalen einen der Abstände, erhalten von der Berechnung, liefert. Die erhaltenen, optimalen Verstärkungen, der optimale Index der Anregungs- Vektor-Abtastung und die zwei Anregungs-Vektoren entsprechend zu diesem Index werden zu einem Parameter-Codier-Abschnitt 248 geschickt.
  • Der Parameter-Codier-Abschnitt 248 codiert die optimalen Verstärkungen, um Verstärkungs-Code zu erhalten, und die LPC-Code und der Index der Anregungs-Vektor- Abtastung werden alle zu einem Transmitter 249 geschickt. Ein tatsächliches Anregungs- Signal wird von den Verstärkungs-Coden und den zwei Anregungs-Vektoren entsprechend zu dem Index erzeugt, und eine alte Anregungs-Vektor-Abtastung wird zu demselben Zeitpunkt ausgesondert, zu dem das Anregungs-Signal in dem adaptiven Codebuch 243 gespeichert wird.
  • Fig. 25 stellt funktionale Blöcke eines Abschnitts in dem Parameter-Codier-Abschnitt 248 dar, der zu der Vektor-Quantisierung der Verstärkung zugeordnet ist.
  • Der Parameter-Codier-Abschnitt 248 besitzt einen Parameter-Konvertier-Abschnitt 2502 zum Konvertieren der optimalen Eingangs-Verstärkungen 2501 zu einer Summe von Elementen und einem Verhältnis in Bezug auf die Summe, um Quantisierungs-Target- Vektoren zu erhalten, einen Target-Vektor-Anregungs-Abschnitt 2503 zum Erhalten eines Target-Vektors unter Verwendung von alten, decodierten Code-Vektoren, gespeichert in einem Speicher-Abschnitt für decodierte Vektoren, und prädikative Koeffizienten, gespeichert in einem Speicher-Abschnitt für die prädikativen Koeffizienten, einen decodierten Vektor-Speicher-Abschnitt 2504, wo alte, decodierte Code-Vektoren gespeichert sind, einen Speicher-Abschnitt 2505 für die prädikativen Koeffizienten, einen Abstands-Kalkulator 2506 zum Berechnen von Abständen zwischen einer Mehrzahl von Code-Vektoren, gespeichert in einem Vektor-Codebuch, und einen Target-Vektor, erhalten durch den Target- Vektor-Extrahier-Abschnitt unter Verwendung von prädikativen Koeffizienten, gespeichert in dem Speicher-Abschnitt für die prädikativen Koeffizienten, ein Vektor-Codebuch 2507, wo eine Mehrzahl von Code-Vektoren gespeichert ist, und einen Komparator 2508, der das Vektor-Codebuch und den Abstands-Kalkulator zum Vergleichen der Abstände, erhalten von dem Abstands-Kalkulator, steuert, um die Zahl des geeignetsten Code-Vektors zu erhalten, erhält einen Code-Vektor von dem Vektor-Speicher-Abschnitt basierend auf der erhaltenen Zahl, und aktualisiert den Inhalt des Speicher-Abschnitts für den decodierten Vektor unter Verwendung dieses Code-Vektors.
  • Eine detaillierte Beschreibung wird nun von der Betriebsweise des so gebildeten Parameter-Codier-Abschnitts 248 vorgenommen. Ein Vektor-Codebuch 2507, wo eine Mehrzahl von allgemeinen Abtastungen (Code-Vektoren) eines Quantisierungs-Target-Vektors gespeichert sind, sollte im voraus präpariert werden. Dieses wird allgemein durch einen LBG-Algorithmus präpariert (IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-28, NO. 1, Seiten 84-95, Januar 1980), und zwar basierend auf mehrfachen Vektoren, die durch Analysieren von Mehrfach-Sprach-Daten erhalten sind.
  • Koeffizienten für eine prädikative Codierung sollten in dem Speicher-Abschnitt 2505 für die prädikativen Koeffizienten gespeichert sein. Die prädikativen Koeffizienten werden nun nach der Beschreibung des Algorithmus diskutiert. Ein Wert, der einen stimmlosen Zustand anzeigt, sollte als ein Anfangs-Wert in dem Speicher-Abschnitt 2504 für den decodierten Vektor gespeichert sein. Ein Beispiel würde ein Code-Vektor mit der niedrigsten Energie sein.
  • Zuerst werden die optimalen Eingangs-Verstärkungen 2501 (die Verstärkung eines adaptiven Anregungs-Vektors und die Verstärkung eines Random-Anregungs-Vektors) zu Element-Vektoren (Eingänge) einer Summe und eines Verhältnisses in dem Parameter- Konvertier-Abschnitt 2502 konvertiert. Das Konversions-Verfahren ist in einer Gleichung 40 dargestellt.
  • P = log (Ga + Gs)
  • R = GA/(GA + Gs) (40)
  • wobei
  • (Ga, Gs): optimale Verstärkung
  • Ga: Verstärkung eines adaptiven Anregungs-Vektors
  • Gs: Verstärkung eines stochastischen Anregungs-Vektors
  • (P, R): Eingabe-Vektoren
  • P: Summe
  • R: Verhältnis.
  • Es sollte angemerkt werden, daß Ga vorstehend nicht notwendigerweise ein positiver Wert sein sollte. Demzufolge kann R einen negativen Wert annehmen. Wenn Ga + Gs negativ wird, wird ein festgelegter Wert, präpariert im voraus, substituiert.
  • Als nächstes erhält, basierend auf den Vektoren, erhalten durch den Parameter- Konvertier-Abschnitt 2502, der Target-Vektor-Extrahier-Abschnitt 2503 einen Target- Vektor unter Verwendung von alten, decodierten Code-Vektoren, gespeichert in dem Speicher-Abschnitt 2504 für die decodierten Vektoren, und prädikative Koeffizienten, gespeichert in dem Speicher-Abschnitt 2504 für die prädikativen Koeffizienten. Eine Gleichung zum Berechnen des Target-Vektors ist durch die Gleichung 41 angegeben.
  • Tp = P - ( Upi · pi + Vpi · ri)
  • Tr = R - ( Uri · pi + Vri · ri) (41)
  • wobei
  • (Tr, Tr): Target-Vektor
  • (P, R): Eingabe-Vektor
  • (pi, ri): alter, decodierter Vektor
  • Upi, Vpi, Uri, Vri: prädikative Koeffizienten (festgelegte Werte)
  • i: Index, der anzeigt, wie alt der decodierte Vektor ist
  • I: Prädikations-Reihenfolge.
  • Dann berechnet der Abstands-Kalkulator 2506 einen Abstand zwischen einem Target- Vektor, erhalten durch den Target-Vektor-Extrahier-Abschnitt 2503, und einem Code- Vektor, gespeichert in dem Vektor-Codebuch 2507, unter Verwendung der prädikativen Koeffizienten, gespeichert in dem Speicher-Abschnitt 2505 für die prädikativen Koeffizienten. Eine Gleichung zum Berechnen des Abstands ist durch Gleichung 42 angegeben.
  • Dn = Wp X (Tp - UpO X Cpn - VpO X Cpn - VpO X Crn)² + Wr X (Tr - UpO X Cpn - VrO X Crn)² (42)
  • wobei
  • Dn: Abstand zwischen einem Target-Vektor und einem Code-Vektor
  • (Tp, Tr): Target-Vektoren
  • UpO, VpO, UrO, VrO: prädikative Koeffizienten (festgelegte Werte)
  • (Cpn, Crn): Code-Vektor
  • n: die Zahl des Code-Vektors
  • Wp, Wr: Gewichtungs-Koeffizient (festgelegt) zum Einstellen der Sensitivität gegenüber einer Verzerrung.
  • Dann steuert der Komparator 2508 das Vektor-Codebuch 2507 und den Abstands- Kalkulator 2506 so, um die Zahl des Code-Vektors, der den kürzesten Abstand, berechnet durch den Abstands-Kalkulator 2506, von einer Vielzahl von Code-Vektoren, gespeichert in dem Vektor-Codebuch 2507, besitzt, zu erhalten, und setzt die Zahl als einen Verstärkungs-Code 2509. Basierend auf dem erhaltenen Verstärkungs-Code 2506 erhält der Komparator 2508 einen decodierten Vektor und aktualisiert den Inhalt des Speicher- Abschnitts 2054 für den decodierten Vektor unter Verwendung dieses Vektors. Die Gleichung 43 zeigt, wie ein decodierter Vektor erhalten wird.
  • p = ( Upi · pi + Vpi · ri) + UpO · Cpn + VpO · Crn
  • R = ( Uri · pi + Vri · ri) + UrO · Cpn + VrO · Crn (43)
  • wobei
  • (Cpn, Crn): Code-Vektor
  • (P, r): decodierter Vektor
  • (pi, ri): alter, decodierter Vektor
  • Upi, Vpi, Uri, Vri: prädikative Koeffizienten (festgelegte Werte)
  • i: Index, der anzeigt, wie alt der decodierte Vektor ist
  • I: Prädikations-Reihenfolge
  • n: die Zahl des Code-Vektors.
  • Die Gleichung 44 stellt ein Aktualisierungs-Schema dar.
  • Verarbeitungs-Reihenfolge
  • pO = Cpn
  • rO = Crn
  • pi = pi - 1 (i = 1 ~ 1)
  • ri = ri - 1 (i = 1 ~ 1) (44)
  • N: Code der Verstärkung
  • Zwischenzeitlich führt der Decodierer, der zuvor mit einem Vektor-Codebuch, einem Speicher-Abschnitt für die prädikativen Koeffizienten und einem Speicher-Abschnitt für den codierten Vektor versehen sein sollte, ähnlich zu solchen des Codierers, eine Decodierung durch die Funktion des Komparators des Codierers zum Erzeugen eines decodierten Vektors und zum Aktualisieren des Speicher-Abschnitts für den decodierten Vektor, und zwar basierend auf dem Verstärkungs-Code, der von dem Codierer übertragen ist, durch. Ein Schema eines Einstellens von prädikativen Koeffizienten, die in dem Speicher- Abschnitt 2505 für die prädikativen Koeffizienten gespeichert werden sollen, wird nun beschrieben.
  • Prädikative Koeffizienten werden durch Quantisieren einer Menge von Trainings-Sprach- Daten zuerst, Zusammenstellen von Eingangs-Vektoren, erhalten von deren optimalen Verstärkungen, und decodierte Vektoren zu dem Zeitpunkt einer Quantisierung, Bilden einer Population, dann Minimieren der gesamten Verzerrung, angezeigt durch die folgende Gleichung 45 für diese Population, erhalten. Genauer gesagt werden die Werte von Upi und Uri durch Lösen simultan von Gleichung erhalten, die durch teilweises Differenzieren der Gleichungen der gesamten Verzerrung in Bezug auf Upi und Uri erhalten sind.
  • pt, O = Cpn(t)
  • rt,O = Crn(t)
  • wobei
  • Total: gesamte Verzerrung
  • t: Zeit (Rahmen-Zeit)
  • T: Zahl von Teilen von Daten in der Population
  • (Pt, Rt): optimale Verstärkung zu der Zeit t
  • (pti, rti): decodierter Vektor der Zeit t
  • Upi, Vpi, Uri, Vri: prädikative Koeffizienten (festgelegte Werte)
  • i: Index, der anzeigt, wie alt der decodierte Vektor ist
  • I: Prädikations-Ordnung
  • (Cpn(t), Crn(t)): Code-Vektor zu der Zeit t
  • n: die Zahl des Code-Vektors
  • Wp, Wr: Gewichtungs-Koeffizient (festgelegt) zum Einstellen der Sensitivität gegenüber einer Verzerrung.
  • Entsprechend einem solchen Vektor-Quantisierungs-Schema kann die optimale Verstärkung so, wie sie ist, vektor-quantisiert sein, das Merkmal des Parameter-Konvertier- Abschnitts kann die Verwendung der Korrelation zwischen den relativen Niveaus der Energie und jeder Verstärkung zulassen, und die Merkmale des Speicher-Abschnitts für den decodierten Vektor, der Speicher-Abschnitt für die prädikativen Koeffizienten, der Extrahier-Abschnitt für den Target-Vektor und der Abstands-Kalkulator können eine prädikative Codierung von Verstärkungen unter Verwendung der Korrelation zwischen den gegenseitigen Beziehungen zwischen der Energie und den zwei Verstärkungen sicherstellen. Diese Merkmale können ermöglichen, daß die Korrelation unter Parametern, die verwendet werden sollen, ausreichend ist.
  • (Sechzehnter Mode)
  • Fig. 26 stellt ein strukturelles Blockdiagramm eines Parameter-Codier-Abschnitts eines Sprach-Codierers gemäß diesem Mode dar. Gemäß diesem Mode wird eine Vektor- Quantisierung durchgeführt, während eine von einer Verstärkungs-Quantisierung ausgehende Verzerrung von zwei synthetisierten Sprachen gemäß dem Index des Anregungs- Vektors und einer andauernden, gewichteten Eingabe-Sprache evaluiert wird.
  • Wie in Fig. 26 dargestellt ist, besitzt der Parameter-Codier-Abschnitt einen Parameter- Kalkulator 2602, der Parameter berechnet, die für eine Abstands-Berechnung von Eingabe-Daten oder einer andauernden, gewichteten Eingabe-Sprache, einer andauernden, gewichteten LPC-Synthese eines adaptiven Code-Vektors und einer andauernden, gewichteten LPC-Synthese eines Random-Code-Vektors 2601, um eingegeben zu werden, einen decodierten Vektor, gespeichert in einem Decodier-Vektor-Speicher-Abschnitt, und prädikative Koeffizienten, gespeichert in einem Speicher-Abschnitt für prädikative Koeffizienten, einen Speicher-Abschnitt 2603 für einen decodierten Vektor, wo alte, decodierte Code-Vektoren gespeichert sind, einen Speicher-Abschnitt 2604 für prädikative Koeffizienten, wo prädikative Koeffizienten gespeichert sind, einen Abstands-Kalkulator 2605 zum Berechnen einer Codier-Verzerrung der Zeit, wenn ein Decodieren mit einer Vielzahl von Code-Vektoren ausgeführt wird, gespeichert in einem Vektor-Codebuch, unter Verwendung der prädikativen Koeffizienten, gespeichert in dem Speicher-Abschnitt für prädikative Koeffizienten, ein Vektor-Codebuch 2606, wo eine Mehrzahl von Code-Vektoren gespeichert sind, und einen Komparator 2607, der das Vektor-Codebuch und den Abstands- Kalkulator zum Vergleichen der Codier-Verzerrungen, erhalten von dem Abstands- Kalkulator, steuert, um die Zahl des geeignetesten Code-Vektors zu erhalten, berechnet, erhält einen Code-Vektor von dem Vektor-Speicher-Abschnitt, basierend auf der erhaltenen Zahl, und aktualisiert den Inhalt des Speicher-Abschnitts für den decodierten Vektor unter Verwendung dieses Code-Vektors aufweist.
  • Eine Beschreibung wird für die Vektor-Quantisierungs-Operation des so gebildeten Parameter-Codier-Abschnitts angegeben. Das Vektor-Codebuch 2606, wo eine Mehrzahl von allgemeinen Beispielen (Code-Vektoren) eines Quantisierungs-Target-Vektors gespeichert sind, sollte im voraus präpariert sein. Dieses wird allgemein durch einen LBG-Algorithmus (IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-28, NO. 1, Seiten 84-95, Januar 1980) oder dergleichen basierend auf mehrfachen Vektoren, die durch Analysieren von mehrfachen Sprach-Daten erhalten sind, präpariert. Koeffizienten für eine prädikative Codierung sollten in dem Speicher-Abschnitt 2604 für die prädikativen Koeffizienten gespeichert sein. Diese Koeffizienten, die in Verwendung sind, sind dieselben prädikativen Koeffizienten, wie solche, die in dem Speicher-Abschnitt 2505 für die prädikativen Koeffizienten gespeichert sind, die in dem (sechzehnten Mode) diskutiert worden sind. Ein Wert, der einen stimmlosen Zustand anzeigt, sollte als ein Anfangs-Wert in dem Speicher- Abschnitt 2603 für den decodierten Vektor gespeichert werden.
  • Zuerst berechnet der Parameter-Kalkulator 2602 Parameter, die zur Abstands- Berechnung notwendig sind, von der eingegebenen, andauernden, gewichteten Eingabe- Sprache, eine andauernde, gewichtete LPC-Synthese eines adaptiven Code-Vektors und eine andauernde, gewichtete LPC-Synthese eines Random-Code-Vektors, und weiterhin von dem decodierten Vektor, gespeichert in dem Speicher-Abschnitt 2603 für den decodierten Vektor und die prädikativen Koeffizienten, gespeichert in dem Speicher-Abschnitt 2604 für die prädikativen Koeffizienten. Die Abstände in dem Abstands-Kalkulator sind auf der folgenden Gleichung 46 basierend.
  • En = (Xi - Gan · Ai - Gsn · Si)²
  • Gan = Orn · e · p (Opn)
  • Gsn = (1 - Orn) · e · p (Opn)
  • Opn = Yp + UpO · Cpn + VpO · Crn (46)
  • Yp = Upj · pj + VpJ · rj
  • Yr = Urj · pj + Vrj · rj
  • Gan, Gsn: decodierte Verstärkung
  • (Opn, Orn): decodierter Vektor
  • (Yp, Yr): prädikativer Vektor
  • En: Codier-Verzerrung, wenn der n-te Verstärkungs-Code-Vektor verwendet wird
  • Xi: andauernde, gewichtete Eingabe-Sprache
  • Ai: andauernde, gewichtete LPC-Synthese eines adaptiven Code-Vektors
  • Si: andauernde, gewichtete LPC-Synthese eines stochastischen Code-Vektors
  • n: Code des Code-Vektors
  • i; Index von Anregungs-Daten
  • I: Unterrahmen-Länge (Codier-Einheit der Eingabe-Sprache)
  • (Cpn, Crn): Code-Vektor
  • (pj, rj): alter, decodierter Vektor
  • Upj, Vpj, Urj, Vrj: prädikative Koeffizienten (festgelegte Werte)
  • j: Index, der anzeigt, wie alt der decodierte Vektor ist
  • J: Prädikations-Ordnung.
  • Deshalb berechnet der Parameter-Kalkulator 2602 solche Bereiche, die nicht von der Zahl eines Code-Vektors abhängen. Dasjenige, was berechnet werden soll, ist der prädikative Vektor und die Korrelation unter drei synthetisierten Sprachen oder der Energie. Eine Gleichung für die Berechnung ist durch Gleichung 47 angegeben.
  • Yp = Upj · pj + VpJ · rj
  • Yr = Urj · pj + Vrj · rj
  • Dxx = Xi · Xi
  • Dxa = Xi · Ai · 2
  • Dxs = Ai · Si · 2
  • Daa = Ai · Ai · Ai
  • Das = Ai · Si · 2
  • Dss = Si · Si (47)
  • wobei
  • (Yp, Yr): prädikativer Vektor
  • Dxx, Dxa, Dxs, Daa, Das, Dss: Wert einer Korrektur unter synthetisierten Sprachen oder der Energie
  • Xi: andauernde, gewichtete Eingabe-Sprache
  • Ai: andauernde, gewichtete LPC-Synthese eines adaptiven Code-Vektors
  • Si: andauernde, gewichtete LPC-Synthese oder stochastischer Code-Vektor
  • i: Index von Anregungs-Daten
  • I: Unterrahmen-Länge (Codier-Einheit der Eingabe-Sprache)
  • (pj, rj): alter, decodierter Vektor
  • Upj, Vpj, Urj, Vrj: prädikative Koeffizienten (festgelegte Werte)
  • j: Index, der anzeigt, wie alt der decodierte Vektor ist
  • J: Prädikations-Ordnung.
  • Dann berechnet der Abstands-Kalkulator 2506 einen Abstand zwischen einem Target- Vektor, erhalten durch den Extrahier-Abschnitt 2503 für den Target-Vektor, und einem Code-Vektor, gespeichert in dem Vektor-Codebuch 2507, unter Verwendung der prädikativen Koeffizienten, gespeichert in dem Speicher-Abschnitt 2505 für die prädikativen Koeffizienten. Eine Gleichung zum Berechnen eines Abstands ist durch eine Gleichung 42 angegeben.
  • En = Dxx + (Gan)² · Daa + (Gsn)² · Dss - Gan · Dxa - Gsn · Dxs + Gan · Gsn · Das
  • Gan = Orn · exp(Opn) (48)
  • Opn = Yp + UpO · Cpn + VpO · Crn
  • Orn = Yr + UrO · Cpn + vor x Crn
  • wobei
  • En: Codier-Verzerrung, wenn der n-te Verstärkungs-Code-Vektor verwendet wird Dxx, Dxa, Dxs, Daa, Das, Dss: Wert einer Korrektur unter synthetisierten Sprachen oder der Energie
  • Gan, Gsn: decodierte Verstärkung
  • (Opn, Orn,): decodierter Vektor
  • (Yp, Yr): prädikativer Vektor
  • UpO, VpO, UrO, VrO: prädikative Koeffizienten (festgelegte Werte)
  • (Cpn, Crn): Code-Vektor
  • n: die Zahl des Code-Vektors.
  • Tatsächlich hängt Dxx nicht von der Zahl n des Code-Vektors ab, so daß seine Hinzufügung weggelassen werden kann.
  • Dann steuert der Komparator 2607 das Vektor-Codebuch 2606 und den Abstands- Kalkulator 2605, um die Zahl des Code-Vektors zu erhalten, der den kürzesten Abstand, berechnet durch den Abstands-Kalkulator 2605, von einer Mehrzahl von Code-Vektoren hat, gespeichert in dem Vektor-Codebuch 2606, und stellt die Zahl als einen Verstärkungs- Code 2608 ein. Basierend auf dem erhaltenen Verstärkungs-Code 2608 erhält der Komparator 2607 einen decodierten Vektor und aktualisiert den Inhalt des Speicher-Abschnitts 2603 für den decodierten Vektor unter Verwendung dieses Vektors. Ein Code-Vektor wird von der Gleichung 44 erhalten.
  • Weiterhin wird das Aktualisierungs-Schema, die Gleichung 44, verwendet.
  • Dabei sollte der Sprach-Decodierer zuvor mit einem Vektor-Codebuch, einem Speicher- Abschnitt für prädikative Koeffizienten und einem Speicher-Abschnitt für den codierten Vektor, ähnlich zu solchen des Sprach-Codierers, ausgestattet sein, und er führt eine Decodierung über die Funktionen des Komparators des Codierers in Form einer Erzeugung eines decodierten Vektors und eines Aktualisierens des Speicher-Abschnitts für den decodierten Vektor durch, und zwar auf dem Verstärkungs-Code, der von dem Codierer übertragen ist.
  • Gemäß dem so aufgebauten Mode kann eine Vektor-Quantisierung durchgeführt werden, während eine von einer Evaluierungs-Verstärkungs-Quantisierung ausgehende Verzerrung von zwei synthetisierten Sprachen entsprechend zu dem Index des Anregungs- Vektors und der Eingabe-Sprache durchgeführt werden kann, wobei das Merkmal des Parameter-Konvertier-Abschnitts die Verwendung der Korrelation zwischen den relativen Pegeln der Energie und jeder Verstärkung zulassen kann, und die Merkmale des Speicher- Abschnitts für den decodierten Vektor, des Speicher-Abschnitts für die prädikativen Koeffizienten, des Extrahier-Abschnitts für den Target-Vektor und des Abstands-Kalkulators können eine prädikative Codierung von Verstärkungen unter Verwendung der Korrelation zwischen den gegenseitigen Beziehungen zwischen der Energie und zwei Verstärkungen sicherstellen. Dies kann ermöglichen, daß die Korrelation unter Parametern ausreichend genutzt werden kann.
  • (Achtzehnter Mode)
  • Fig. 27 zeigt ein strukturelles Blockdiagramm der wesentlichen Bereiche einer Rausch- Aufhebungs-Einrichtung gemäß diesem Mode. Diese Rausch-Aufhebungs-Einrichtung ist in dem vorstehend beschriebenen Sprach-Codierer installiert. Zum Beispiel ist sie an der vorausgehenden Stufe des Puffers 1301 in dem Sprach-Codierer, dargestellt in Fig. 13, plaziert.
  • Die Rausch-Aufhebungs-Einrichtung, dargestellt in Fig. 27, weist einen A/D-Wandler 272, einen Rausch-Aufhebungs-Koeffizienten-Speicher-Abschnitt 273, einen Rausch- Aufhebungs-Koeffizienten-Einstell-Abschnitt 274, einen Eingangs-Wellenform-Einstell- Abschnitt 275, einen LPC-Analysier-Abschnitt 276, einen Fourier-Transformations- Abschnitt 277, einen Rausch-AufhebungslSpektrum-Kompensations-Abschnitt 278, einen Spektrum-Stabilisierungs-Abschnitt 279, einen Invers-Fourier-Transformations-Abschnitt 280, einen Spektrum-Erhöhungs-Abschnitt 281, einen Welilenform-Anpassungs-Abschnitt 282, einen Rausch-Abschätzungs-Abschnitt 285, einen Rausch-Spektrum-Speicher- Abschnitt 286 für ein vorheriges Spektrum, einen Rausch-Phasen-Speicher-Abschnitt 287, einen Speicher-Abschnitt 288 für eine vorherige Wellenform und einen Maximal-Energie- Speicher-Abschnitt 289 auf.
  • Zu Anfang werden anfängliche Einstellungen diskutiert.
  • Die Tabelle 10 stellt die Namen von festgelegten Parametern und Einstell-Beispielen dar
  • Tabelle 10 Festgelegte Parameter Einstell-Beispiele
  • Rahmen-Länge 160 (20 msec für 8-kHz Abtast-Daten)
  • Vorlese-Daten-Länge 80 (10 msec für die obigen Daten)
  • FET-Ordnung 256
  • LPC-Vorhersage-Ordnung 10
  • Unterstützungs-Zahl einer Rausch-Spektums-Referenz 30
  • Bezeichnete, minimale Energie 20,0
  • AR-Erhöhungs-Koeffizient 0 0,5
  • MA-Erhöhungs-Koeffizient 0 0,8
  • Hochfrequenz-Erhöhungs-Koeffizient 0 0,4
  • AR-Erhöhungs-Koeffizient 1-0 0,66
  • MA-Erhöhungs-Koeffizient 1-0 0,64
  • AR-Erhöhungs-Koeffizient 1-1 0,7
  • MA-Erhöhungs-Koeffizient 1-1 0,6
  • Hochfrequenz-Erhöhungs-Koeffizient 1 0,3
  • Energie-Erhöhungs-Koeffizient 1,2
  • Rausch-Referenz-Energie 20 000,0
  • Energie-Reduktions-Koeffizient für stimmloses Segment 0,3
  • Vergleichs-Energie-Erhöhungs-Koeffizient 2,0
  • Zahl von aufeinanderfolgenden Rausch-Referenzen 5
  • Rausch-Aufhebungs-Koeffizient Trainings-Koeffizient 0,8
  • Erfassungs-Koeffizient für stimmloses Segment 0,05
  • Aufhebungs-Koeffizient für das bezeichnete Rauschen 1,5
  • Phasen-Daten zum Einstellen der Phase sollten in dem Random-Phasen-Speicher- Abschnitt 287 gespeichert worden sein. Diese werden dazu verwendet, die Phase in dem das Spektrum stabilisierenden Abschnitt 279 zu rotieren. Tabelle 11 stellt einen Fall dar, bei dem acht Arten von Phasen-Daten vorhanden sind.
  • Tabelle 11 Phasen-Daten
  • (-0,51, 0,86), (0,98, -0,17)
  • (0,30, 0,95), (-0,53, -0,84)
  • (-0,94, -0,34), (0,70, 0,71)
  • (-0,22, 0,97), (0,38, -0,92)
  • Weiterhin sollte ein Zähler (Random-Phasen-Zähler) zur Verwendung der Phasen-Daten in dem Random-Phasen-Speicher-Abschnitt 287 auch gespeichert worden sein. Dieser Wert sollte auf 0 vor einer Speicherung initialisiert worden sein.
  • Als nächstes wird der Bereich des statischen RAM eingestellt. Genauer gesagt werden der Rausch-Aufhebungs-Koeffizienten-Speicher-Abschnitt 273, der Rausch-Spektrum- Speicher-Abschnitt 285, der Speicher-Abschnitt 286 für das vorhergehende Spektrum, der Speicher-Abschnitt 288 für die vorhergehende Wellenform und der Maximal-Energie- Speicher-Abschnitt 289 gelöscht. Das folgende wird die individuellen Speicher-Abschnitte und ein Einstellbeispiel besprechen.
  • Der Rausch-Aufhebungs-Koeffizienten-Speicher-Abschnitt 273 ist ein Bereich zum Speichern eines Rausch-Aufhebungs-Koeffizienten, dessen Anfangswert, der gespeichert ist, 20,0 ist. Der Rausch-Spektrum-Speicher-Abschnitt 285 ist ein Bereich zum Speichern, für jede Freguenz, einer mittleren Rausch-Energie, eines mittleren Rausch-Spektrums, eines Kompensations-Rausch-Spektrums für den ersten Kandidaten, eines Kompensations- Rausch-Spektrums für den zweiten Kandidaten und einer Rahmen-Nummer (Beibehaltungs-Nummer), die anzeigt, wie viele Rahmen früher sich der Spektrums-Wert jeder Frequenz geändert hat; ein ausreichend großer Wert für die durchschnittliche Rausch- Energie, eine bezeichnete, minimale Energie für das durchschnittliche Rausch-Spektrum und ausreichend große Werte für die Kompensations-Rausch-Spektren und die Beibehaltungs-Zahl sollten als Anfangs-Werte gespeichert sein.
  • Der vorherige Spektrums-Speicher-Abschnitt 286 ist ein Bereich zum Speichern einer Kompensations-Rausch-Energie, Energie (voller Bereich, Zwischenbereich) eines vorherigen Rahmens (vorherige Rahmen-Energie), einer Glättungs-Energie (voller Bereich, Zwischenbereich) eines vorherigen Rahmens (vorherige Glättungs-Energie) und einer Rausch-Sequenz-Zahl; ein ausreichend großer Wert für die Kompensations-Rausch- Energie, 0,0 für sowohl die vorherige Rahmen-Energie als auch die volle Rahmen- Glättungs-Energie, und eine Rausch-Referenz-Segment als die Rausch-Sequenz-Zahl sollten gespeichert sein.
  • Der vorherige Wellenform-Speicher-Abschnitt 288 ist ein Bereich zum Speichern von Daten des Ausgangs-Signals des vorherigen Rahmens mit der Länge der am kürzesten vorher gelesenen Daten zum Anpassen des Ausgangs-Signals, und alle 0 sollten als ein Anfangs-Wert gespeichert sein. Der Spektrum-Erhöhungs-Abschnitt 281, der eine ARMA und Hochfrequenz-Erhöhungs-Filterung ausführt, sollte die Status-Zustände der jeweiligen Filter, gelöscht auf 0, für diesen Zweck haben. Der Maximal-Energie-Speicher-Abschnitt 289 ist ein Bereich zum Speichern der maximalen Energie des Eingangs-Signals und sollte 0 als die maximale Energie gespeichert haben.
  • Als nächstes wird der Rausch-Aufhebungs-Algorithmus Block für Block unter Bezugnahme auf Fig. 27 erläutert.
  • Zuerst wird ein analoges Eingangs-Signal 271, das eine Sprache einschließt, einer A/D- Konversion in dem A/D-Wandler 272 unterworfen und wird mit einer Rahmen-Länge + Vorlese-Daten-Länge (160 + 80 = 240 Punkte in dem vorstehenden Einstell-Beispiel) eingegeben. Der Rausch-Aufhebungs-Koeffizienten-Einstell-Abschnitt 274 berechnet einen Rausch-Aufhebungs-Koeffizienten und einen Kompensations-Koeffizienten für eine Gleichung 49 basierend auf dem Rausch-Aufhebungs-Koeffizienten, gespeichert in dem Rausch-Aufhebungs-Koeffizienten-Speicher = Abschnitt 273, einen bezeichneten Rausch- Aufhebungs-Koeffizienten, einen Lern-Koeffizienten für den Rausch-Aufhebungs- Koeffizienten und einen Kompensations-Energie-Erhöhungs-Koeffizienten. Der erhaltene Rausch-Aufhebungs-Koeffizient wird in dem Rausch-Aufhebungs-Koeffizienten-Speicher- Abschnitt 273 gespeichert, das Eingabe-Signal, erhalten durch den A/D-Wandler 272, wird auch zu dem Eingangs-Wellenform-Einstell-Abschnitt 275 geschickt, und der Kompensations-Koeffizient und der Rausch-Aufhebungs-Koeffizient werden zu dem Rausch- Abschätzungs-Abschnitt 284 und dem Rausch-Aufhebungs/Spektrum-Kompensations- Abschnitt 278 geschickt.
  • q = qXC + QX(1 - C)
  • r = Q/qXD (49)
  • wobei
  • q: Rausch-Aufhebungs-Koeffizient
  • Q: Aufhebungs-Koeffizient für das bezeichnete Rauschen
  • C: Lern-Koeffizient für den Rausch-Aufhebungs-Koeffizient
  • r: Kompensations-Koeffizient
  • D: Kompensations-Energie-Erhöhungs-Koeffizient
  • Der Rausch-Aufhebungs-Koeffizient ist ein Koeffizient, der eine Rate einer Verringerung eines Rauschens anzeigt, der Rausch-Aufhebungs-Koeffizient für das bezeichnete Rauschen ist ein festgelegter Koeffizient, der zuvor bezeichnet ist, der Lern-Koeffizient für den Rausch-Aufhebungs-Koeffizienten ist ein Koeffizient, der eine Rate anzeigt, mit der sich der Rausch-Aufhebungs-Koeffizient dem bezeichneten Rausch-Aufhebungs-Koeffizienten nähert, der Kompensations-Koeffizient ist ein Koeffizient zum Einstellen der Kompensations-Energie in der Spektrum-Kompensation und der Kompensations-Energie-Erhöhungs- Koeffizient ist ein Koeffizient zum Einstellen des Kompensations-Koeffizienten.
  • Ln dem Eingangs-Wellenform-Einstell-Abschnitt 275 wird das Eingangs-Signal von dem A/D-Wandler 272 in eine Speicher-Anordnung geschrieben, die eine Länge von 2 bis zu einer Exponential-Zahl besitzt von dem Ende aus in einer solchen Art und Weise, daß die FFT (schnelle Fourier-Transformation) ausgeführt werden kann. 0 sollte in den vorderen Bereich eingesetzt werden. In dem vorstehenden Einstell-Beispiel wird 0 in 0 bis 15 in der Anordnung mit einer Länge von 256 geschrieben, und das Eingangs-Signal wird in 16 bis 255 geschrieben. Diese Anordnung wird als ein Bereich einer realen Zahl in der FFT der achten Ordnung verwendet. Eine Anordnung, die dieselbe Länge wie den Teil der realen Zahl besitzt, wird für einen Teil einer imaginären Zahl präpariert, und alle 0 sollten dort geschrieben werden.
  • In dem LPC-Analysier-Abschnitt 276 wird ein Hamming-Fenster auf den Bereich der realen Zahl gegeben, eingestellt in dem Eingangs-Wellenform-Einstell-Abschnitt 275, eine Autokorrelations-Analyse wird in Bezug auf die mit Hamming-Fenster versehene Wellenform durchgeführt, um einen Autokorrelations-Wert zu erhalten, und eine auf einer Autokorrelation basierende LPC-Analyse wird durchgeführt, um lineare, prädikative Koeffizienten zu erhalten. Weiterhin werden die erhaltenen, linearen, prädikativen Koeffizienten zu dem Spektrum-Erhöhungs-Abschnitt 281 geschickt.
  • Der Fourier-Transformations-Abschnitt 277 führt eine diskrete Fourier-Transformation durch FFT unter Verwendung der Speicher-Anordnung des Real-Zahl-Teils und des Imaginär-Zahl-Teils durch, erhalten durch den Eingangs-Wellenform-Einstell-Abschnitt 275. Die Summe der absoluten Werte des Real-Zahl-Teils und des Imaginär-Zahl-Teils des erhaltenen, komplexen Spektrums wird berechnet, um das Pseudo-Amplituden-Spektrum (Eingangs-Spektrum nachfolgend) des Eingangs-Signals zu erhalten. Weiterhin wird die gesamte Summe des Eingangs-Spektrum-Werts jeder Frequenz (Eingangs-Energie nachfolgend) erhalten und zu dem Rausch-Abschätz-Abschnitt 284 geschickt. Das komplexe Spektrum selbst wird zu dem Spektrum-Stabilisier-Abschnitt 279 geschickt. Ein Verfahren in dem Rausch-Abschätz-Abschnitt 284 wird nun diskutiert.
  • Der Rausch-Abschätz-Abschnitt 284 vergleicht die Eingangs-Energie, erhalten durch den Fourier-Transformations-Abschnitt 277, mit dem maximalen Energie-Wert, gespeichert in dem Maximal-Energie-Speicher-Abschnitt 289, und speichert den maximalen Energie- Wert als den Eingangs-Energie-Wert in dem Maximal-Energie-Speicher-Abschnitt 289, wenn die maximale Energie kleiner ist. Wenn mindestens einer der folgenden Fälle erfüllt ist, wird eine Rausch-Abschätzung durchgeführt, und wenn keiner davon erfüllt ist, wird eine Rausch-Abschätzung nicht durchgeführt.
  • (1) Die Eingangs-Energie ist kleiner als die maximale Energie multipliziert mit einem stimmlosen Segment-Erfassungs-Koeffizienten.
  • (2) Der Rausch-Aufhebungs-Koeffizient ist größer als der bezeichnete Rausch- Aufhebungs-Koeffizient plus 0,2.
  • (3) Die Eingangs-Energie ist kleiner als ein Wert, erhalten durch Multiplizieren der durchschnittlichen Rausch-Energie, erhalten von dem Rausch-Spektrum-Speicher- Abschnitt 285, mit 1,6.
  • Der Rausch-Abschätz-Algorithmus in dem Rausch-Abschätz-Abschnitt 284 wird nun diskutiert.
  • Zuerst werden die Beibehaltungs-Zahlen aller Frequenzen für den ersten und zweiten Kandidaten, gespeichert in dem Rausch-Spektrum-Speicher-Abschnitt 285, aktualisiert (um 1 erhöht). Dann wird die Beibehaltungs-Zahl jeder Frequenz für den ersten Kandidaten geprüft, und wenn sie größer als eine zuvor eingestellte Beibehaltungs-Zahl einer Rausch-Spektrum-Referenz ist, werden das Kompensations-Spektrum und die Beibehaltungs-Zahl für den zweiten Kandidaten als solche für den ersten Kandidaten eingestellt, und das Kompensations-Spektrum des zweiten Kandidaten wird als dasjenige des dritten Kandidaten eingestellt und die Beibehaltungs-Zahl wird auf 0 eingestellt. Es ist anzumerken, daß bei der Ersetzung des Kompensations-Spektrums des zweiten Kandidaten der Speicher nicht durch Speichern des dritten Kandidaten und Beibehalten eines Werts geringfügig größer als der zweite Kandidat gesichert werden kann. In diesem Mode wird ein Spektrum, das 1,4-mal größer als das Kompensations-Spektrum des zweiten Kandidaten ist, substituiert.
  • Nach Erneuern der Beibehaltungs-Zahl wird das Kompensations-Rausch-Spektrum mit dem Eingangs-Spektrum für jede Frequenz verglichen. Zuerst wird das Eingangs- Spektrum jeder Frequenz mit dem Kompensations-Rausch-Spektrum des ersten Kandidaten verglichen, und wenn das Eingangs-Spektrum kleiner ist, werden das Kompensations- Rausch-Spektrum und die Beibehaltungs-Zahl für den ersten Kandidaten als solche für den zweiten Kandidaten eingestellt, und das Eingangs-Spektrum wird als Vergleichs- Spektrum des ersten Kandidaten eingestellt, mit der Beibehaltungs-Zahl auf 0 eingestellt. In anderen Fällen als der erwähnte Zustand wird das Eingangs-Spektrum mit dem Kompensations-Rausch-Spektrum des zweiten Kandidaten verglichen, und wenn das Eingangs-Spektrum kleiner ist, wird das Eingangs-Spektrum als das Kompensations- Spektrum des zweiten Kandidaten eingestellt, mit der Beibehaltungs-Zahl auf 0 eingestellt. Dann werden die erhaltenen Kompensations-Spektren und die Beibehaltungs-Zahlen des ersten und des zweiten Kandidaten in dem Rausch-Spektrum-Speicher-Abschnitt 285 gespeichert. Zur selben Zeit wird das durchschnittliche Rausch-Spektrum entsprechend der folgenden Gleichung 50 aktualisiert.
  • Si = SiXg + SiX(1 - g) (50)
  • wobei
  • s: durchschnittliches Rausch-Spektrum
  • S: Eingangs-Spektrum
  • g: 0,9 (wenn die Eingangs-Energie größer als die Hälfte der durchschnittlichen Rausch- Energie ist)
  • 0,5 (wenn die Eingangs-Energie gleich zu oder kleiner als eine Hälfte der durchschnittlichen Rausch-Energie ist)
  • i: Zahl der Frequenz.
  • Das durchschnittliche Rausch-Spektrum ist ein Pseudo-Durchschnitts-Rausch-Spektrum, und der Koeffizient g in der Gleichung 50 dient zur Einstellung der Geschwindigkeit eines Lernens des durchschnittlichen Rausch-Spektrums. Das bedeutet, daß der Koeffizient einen solchen Effekt hat, daß dann, wenn die Eingangs-Energie kleiner als die Rausch- Energie ist, es wahrscheinlich ist, nur ein Rausch-Segment zu sein, so daß die Lern- Geschwindigkeit erhöht werden wird, und ansonsten ist es wahrscheinlich, daß es ein Sprach-Segment ist, so daß die Lern-Geschwindigkeit reduziert wird.
  • Dann wird die gesamte Zahl von Werten der individuellen Frequenzen des durchschnittlichen Rausch-Spektrums als die durchschnittliche Rausch-Energie erhalten. Das Kompensations-Rausch-Spektrum, das durchschnittliche Rausch-Spektrum und die durchschnittliche Rausch-Energie werden in dem Rausch-Spektrum-Speicher-Abschnitt 285 gespeichert.
  • In dem vorstehenden Rausch-Abschätz-Prozeß kann die Kapazität des RAM, der den Rausch-Spektrum-Speicher-Abschnitt 285 bildet, eingespart werden, indem ein Rausch- Spektrum einer Frequenz entsprechend zu den Eingangs-Spektren einer Mehrzahl von Frequenzen gemacht wird. Als ein Beispiel ist die RAM-Kapazität des Rausch-Spektrum- Speicher-Abschnitts 285 zu der Zeit eines Abschätzens eines Rausch-Spektrums einer Frequenz von den Eingangs-Spektren für vier Frequenzen dargestellt, wobei die FFT mit 256 Punkten in diesem Mode verwendet ist. Unter Berücksichtigung des (Pseudo-) Amplituden-Spektrums, das horizontal symmetrisch in Bezug auf die Frequenz-Achse ist, um eine Abschätzung für alle Frequenzen vorzunehmen, werden die Spektren von 128 Frequenzen und 128 Beibehaltungs-Zahlen gespeichert, was demzufolge die RAM-Kapazität von insgesamt 768 W oder 128 (Frequenzen) X2 (Spektrum und Beibehaltungs-Zahl) X3 (erster und zweiter Kandidat zum Vergleich und für den Durchschnitt) erfordert. Wenn ein Rausch-Spektrum einer Frequenz entsprechend den Eingangs-Spektren von vier Frequenzen gemacht wird, wird, im Gegensatz dazu, die erforderliche RAM-Kapazität eine Gesamtheit von 192 W oder 32 (Frequenzen) X2 (Spektrum und Beibehaltungs-Zahl) X3 (erster und zweiter Kandidat für eine Kompensation und für einen Durchschnitt) ist. In diesem Fall ist über Experimente bestätigt worden, daß für den vorstehend 1 X 4 Fall die Funktion nur schwer verschlechtert wird, während sich die Frequenz-Auflösung des Rausch-Spektrums erniedrigt. Da dieses Mittel nicht zur Abschätzung eines Rausch- Spektrums von einem Spektrum einer Frequenz dient, besitzt sie einen Effekt eines Verhinderns, daß das Spektrum fehlerhaft als ein Rausch-Spektrum abgeschätzt wird, wenn ein normaler Klang, (Sinuswelle, Selbstlaut oder dergleichen) für eine lange Zeitperiode fortfährt.
  • Eine Beschreibung wird nun eines Prozesses in dem Rausch-Aufhebungs/Spektrum- Kompensations-Abschnitt 278 angegeben.
  • Ein Ergebnis eines Multiplizierens des durchschnittlichen Rausch-Spektrums, gespeichert in dem Rausch-Spektrum-Speicher-Abschnitt 285, mit dem Rausch-Aufhebungs- Koeffizienten, erhalten durch den Rausch-Aufhebungs-Koeffizienten-Einstell-Abschnitt 274, wird von dem Eingangs-Spektrum (Spektrum-Differenz nachfolgend) subtrahiert. Wenn die RAM-Kapazität des Rausch-Spektrum-Speicher-Abschnitts 285 gesichert wird, wie dies in der Erläuterung des Rausch-Abschätzungs-Abschnitts 284 beschrieben ist, wird ein Ergebnis eines Multiplizierens eines durchschnittlichen Rausch-Spektrums einer Frequenz entsprechend zu dem Eingangs-Spektrum mit dem Rausch-Aufhebungs- Koeffizienten subtrahiert. Wenn die Spektrum-Differenz negativ wird, wird eine Kompensation durch Einstellen eines Wertes, erhalten durch Multiplizieren des ersten Kandidaten des Kompensations-Rausch-Spektrums, gespeichert in dem Rausch-Spektrum-Speicher- Abschnitt 285, mit dem Kompensations-Koeffizienten, erhalten durch den Rausch- Aufhebungs-Koeffizienten-Einstell-Abschnitt 274, ausgeführt. Dies wird für jede Frequenz durchgeführt. Weiterhin werden Zeichen-Daten für jede Frequenz präpariert, so daß die Frequenz, mit der die Spektrum-Differenz kompensiert worden ist, erfaßt werden kann. Zum Beispiel ist dort ein Bereich für jede Frequenz vorhanden, und 0 wird in dem Fall keiner Kompensation eingestellt, und 1 wird eingestellt, wenn eine Kompensation ausgeführt worden ist. Diese Zeichen-Daten werden zusammen mit der Spektrum-Differenz zu dem Spektrum-Stabilisier-Abschnitt 279 geschickt. Weiterhin wird die gesamte Zahl, die kompensiert ist (Kompensations-Zahl), durch Prüfen der Werte der Zeichen-Daten erhalten, und wird zu dem Spektrum-Stabilisier-Abschnitt 279 auch geschickt.
  • Ein Verfahren in dem Spektrum-Stabilisier-Abschnitt 279 wird nachfolgend diskutiert. Dieses Verfahren dient dazu, ein Allophon-Gefühl hauptsächlich eines Segments zu reduzieren, das keine Sprachen enthält.
  • Zuerst wird die Summe der Spektrum-Differenzen der individuellen Frequenzen, erhalten von dem Rausch-Aufhebungs-Spektrum-Kompensations-Abschnitt 278, berechnet, um zwei Arten von momentanen Rahmen-Energien zu erhalten, eine für den vollen Bereich und die andere für den Zwischen-Bereich. Für den vollen Bereich wird die momentane Rahmen-Energie für alle Frequenzen erhalten (bezeichnet als voller Bereich; 0 bis 128 in diesem Mode). Für den Zwischen-Bereich wird, die momentane Rahmen-Energie, erhalten für eine andauernde Wichtigkeit, das Zwischen-Band (bezeichnet als der Zwischen- Bereich 16 bis 79 in diesem Mode), erhalten.
  • In ähnlicher Weise wird die Summe der Kompensations-Rausch-Spektren für den ersten Kandidaten, gespeichert in dem Rausch-Spektrum-Speicher-Abschnitt 285, als momentane Rahmen-Rausch-Energie (voller Bereich, Zwischen-Bereich) erhalten. Wenn die Werte der Kompensations-Zahlen, erhalten von dem Rausch-Aufhebungs/Spektrum- Kompensations-Abschnitt 278, geprüft werden und ausreichend groß sind, und wenn mindestens einer der folgenden drei Zustände erfüllt ist, wird der momentane Rahmen als ein Rausch-Nur-Segment bestimmt, und ein Spektrum-Stabilisierungs-Prozeß wird durchgeführt.
  • (1) Die Eingangs-Energie ist kleiner als die maximale Energie multipliziert mit einem Erfassungs-Koeffizienten für ein stimmloses Segment.
  • (2) Die momentane Rahmen-Energie (Zwischen-Bereich) ist kleiner als die momentane Rahmen-Rausch-Energie (Zwischen-Bereich) multipliziert mit 5,0.
  • (3) Die Eingangs-Energie ist kleiner als die Rausch-Referenz-Energie.
  • In dem Fall, bei dem kein Stabilisierungs-Prozeß durchgeführt wird, wird die darauffolgende Rausch-Zahl, gespeichert in dem Speicher-Abschnitt 286 für das vorherige Spektrum, um 1 erniedrigt, wenn sie positiv ist, und die momentane Rahmen-Rausch-Energie (voller Bereich, Zwischen-Bereich) wird als vorherige Rahmen-Energie (voller Bereich, Zwischen- Bereich) eingestellt, und sie werden in dem Speicher-Abschnitt 286 für das vorherige Spektrum vor einem Fortschreiten zu dem Phasen-Diffusions-Prozeß gespeichert.
  • Der Spektrum-Stabilisierungs-Prozeß wird nun diskutiert. Der Zweck dieses Prozesses ist derjenige, das Spektrum in einem stimmlosen Segment (sprachloses und Rausch-Nur- Segment) zu stabilisieren und die Energie zu reduzieren. Dabei sind zwei Arten von Prozessen vorhanden, und ein Prozeß 1 wird dann durchgeführt, wenn die darauffolgende Rausch-Zahl kleiner als die Zahl von darauffolgenden Rausch-Referenzen ist, während ein Prozeß 2 ansonsten durchgeführt wird. Die zwei Prozesse werden nachfolgend beschrieben.
  • (Prozeß 1)
  • Die darauffolgende Rausch-Zahl, gespeichert in dem Speicher-Abschnitt 286 für das vorherige Spektrum, wird um 1 erhöht, und die Rausch-Energie des momentanen Rahmens (voller Bereich, Zwischen-Bereich) wird als die vorherige Rahmen-Energie (voller Bereich, Zwischen-Bereich) eingestellt, und sie werden in dem Speicher-Abschnitt 286 für das vorherige Spektrum gespeichert, bevor zu dem Phasen-Einstell-Prozeß fortgeschritten wird.
  • (Prozeß 2)
  • Auf die vorherige Rahmen-Energie, die vorherige Rahmen-Glättungs-Energie für den vorherigen Rahmen und den Energie-Reduktions-Koeffizient für das stimmlose Segment, gespeichert in dem Speicher-Abschnitt 286 für das vorherige Spektrum, wird Bezug genommen, und sie werden entsprechend Gleichung 51 geändert.
  • Dd80 = Dd80X0,8 + A80X0,2XP
  • D80 = D80X0,5 + Dd80X0,5
  • Dd129 = Dd129X0,8 + A129X0,2XP (51)
  • D129 = D129X0,5 + Dd129X0,5
  • wobei
  • Dd80: vorherige Rahmen-Glättungs-Energie (Zwischen-Bereich)
  • D80: vorherige Rahmen-Energie (Zwischen-Bereich)
  • Dd129: vorherige Rahmen-Glättungs-Energie (voller Bereich)
  • D129: vorherige Rahmen-Energie (voller Bereich)
  • A80: momentane Rahmen-Rausch-Energie (Zwischen-Bereich)
  • A129: momentane Rahmen-Rausch-Energie (voller Bereich).
  • Dann werden diese Energien bei den Spektrum-Referenzen wiedergegeben. Deshalb werden zwei Koeffizienten, einer, der in dem Zwischen-Bereich multipliziert werden soll (Koeffizient 1 nachfolgend), und der andere, der in dem vollen Bereich multipliziert werden soll (Koeffizient 2 nachfolgend), berechnet. Zuerst wird der Koeffizient 1 aus einer Gleichung 52 berechnet.
  • r1 = D80/A80 (wenn A80 > 0)
  • 1,0 (wenn A80 ≥ 0) (52)
  • wobei
  • r1: Koeffizient 1
  • D80: vorherige Rahmen-Energie (Zwischen-Bereich)
  • A80: momentane Rahmen-Rausch-Energie (Zwischen-Bereich)
  • Da der Koeffizient 2 durch den Koeffizienten 1 beeinflußt wird, wird eine Akquisitions- Einrichtung leicht kompliziert. Die Prozeduren werden nachfolgend angegeben.
  • (1) Wenn die vorherige Rahmen-Glättungs-Energie (voller Bereich) kleiner als die vorherige Rahmen-Energie (Zwischen-Bereich) ist oder wenn die momentane Rahmen-Rausch-Energie (voller Bereich) kleiner als die momentane Rahmen-Rausch- Energie (Zwischen-Bereich) ist, geht der Ablauf zu (2) über, ansonsten geht er zu (3) über.
  • (2) Der Koeffizient 2 wird auf 0,0 eingestellt, und die vorherige Rahmen-Energie (voller Bereich) wird als die vorherige Rahmen-Energie (Zwischen-Bereich) eingestellt, wobei dann der Ablauf zu (6) weitergeht.
  • (3) Wenn die momentane Rahmen-Rausch-Energie (voller Bereich) gleich zu der momentanen Rahmen-Energie (Zwischen-Bereich) ist, geht der Ablauf zu (4) weiter, ansonsten geht er zu (5) über.
  • (4) Der Koeffizient 2 wird auf 1,0 eingestellt, und dann geht der Ablauf zu (6) über.
  • (5) Der Koeffizient 2 wird aus der Gleichung 53 erhalten, und dann geht der Ablauf zu (6) über.
  • r2 = (D129 - D80)/(A129 - A80) (53)
  • wobei
  • r2: Koeffizient 2
  • D129: vorherige Rahmen-Energie (voller Bereich)
  • D80: vorherige Rahmen-Energie (Zwischen-Bereich)
  • A129: momentane Rahmen-Rausch-Energie (voller Bereich)
  • A80: momentane Rahmen-Rausch-Energie (Zwischen-Bereich).
  • (6) Die Berechnung des Koeffizienten 2 wird beendet.
  • Die Koeffizienten 1 und 2, erhalten in dem vorstehenden Algorithmus, haben immer deren obere Grenzen auf 1,0 und deren untere Grenzen auf den Energie-Reduktions- Koeffizienten für das stimmlose Segment abgeschnitten. Ein Wert, erhalten durch Multiplizieren der Spektrum-Differenz der Zwischen-Frequenz (16 bis 79 in diesem Beispiel) mit dem Koeffizienten 1, wird als eine Spektrum-Differenz eingestellt, und ein Wert, erhalten durch Multiplizieren der Spektrum-Differenz der Frequenz, ausschließlich des Zwischen- Bereichs von dem vollen Bereich dieser Spektrum-Differenz (0 bis 15 und 80 bis 128 in diesem Beispiel) mit dem Koeffizienten 2, wird als eine Spektrum-Differenz eingestellt. Dementsprechend wird die vorherige Rahmen-Energie (voller Bereich, Zwischen-Bereich) durch die folgende Gleichung 54 konvertiert.
  • D80 = A80Xr1
  • D129 = D80 + (A129 -A80)Xr2 (54)
  • wobei
  • r2: Koeffizient 1
  • r2: Koeffizient 2
  • D80: vorherige Rahmen-Energie (Zwischen-Bereich)
  • A80: momentane Rahmen-Rausch-Energie (Zwischen-Bereich)
  • D129: vorherige Rahmen-Energie (voller Bereich)
  • A129: momentane Rahmen-Rausch-Energie (voller Bereich).
  • Verschiedene Sorten von Energie-Daten, usw., erhalten in dieser Art und Weise, werden in dem Speicher-Abschnitt 286 für das vorherige Spektrum gespeichert, und der Prozeß 2 wird dann beendet.
  • Die Spektrum-Stabilisierung durch den Spektrum-Stabilisierungs-Abschnitt 279 wird in der vorstehenden Art und Weise ausgeführt.
  • Als nächstes wird der Phasen-Einstell-Prozeß erläutert. Während die Phase im Prinzip in der herkömmlichen Spektrum-Subtraktion nicht geändert wird, wird ein Prozeß eines Änderns der Phase unter einem Zufall ausgeführt, wenn das Spektrum dieser Frequenz zu dem Zeitpunkt einer Aufhebung kompensiert wird. Dieser Prozeß erhöht die Zufälligkeit des verbleibenden Rauschens, was zu einem Effekt eines Erzeugens einer Schwierigkeit führt, was zu einem anhaltenden, nachteiligen Eindruck führt.
  • Zuerst wird der Random-Phasen-Zähler, gespeichert in dem Random-Phasen-Speicher- Abschnitt 287, erhalten. Dann wird auf die Zeichen-Daten (die das Vorhandensein/Nichtvorhandensein einer Kompensation anzeigen) aller Frequenzen Bezug genommen, und die Phase des komplexen Spektrums, erhalten durch den Fourier- Transformations-Abschnitt 277, wird unter Verwendung der folgenden Gleichung 55 rotiert, wenn eine Kompensation durchgeführt worden ist.
  • Bs = SiXRc - TiXRc + 1
  • Bt = SiXRc + 1 TiXRc
  • Si = Bs (55)
  • Ti = Bt
  • wobei
  • Si, Ti: komplexes Spektrum
  • i: Index, der die Frequenz anzeigt
  • R: Random-Phasen-Daten
  • c: Random-Phasen-Zähler
  • Bs, Bt: Register zur Berechnung.
  • In der Gleichung 55 werden die zwei Random-Phasen-Daten paarweise verwendet. Zu jedem Zeitpunkt, zu dem der Prozeß einmal durchgeführt wird, wird der Random-Phasen- Zähler um 2 erhöht, und wird auf 0 eingestellt, wenn er die obere Grenze erreicht (16 in diesem Mode). Der Random-Phasen-Zähler wird in dem Random-Phasen-Speicher- Abschnitt 287 gespeichert und das erhaltene, komplexe Spektrum wird zu dem Abschnitt 280 für die inverse Fourier-Transformation geschickt. Weiterhin wird die Gesamtheit der Spektrum-Differenzen (Spektrum-Differenz-Energie nachfolgend) erhalten und sie wird zu dem Spektrum-Erhöhungs-Abschnitt 281 geschickt. Der Abschnitt 280 für die inverse Fourier-Transformation konstruiert ein neues, komplexes Spektrum basierend auf der Amplitude der Spektrum-Differenz in der Phase des komplexen Spektrums, erhalten durch den Spektrum-Stabilisierungs-Abschnitt 279, und führt die inverse Fourier-Transformation unter Verwendung von FFT aus. (Das erhaltene Signal wird als Ausgangs-Signal erster Ordnung bezeichnet). Das erhaltene Ausgangs-Signal erster Ordnung wird zu dem Spektrum- Erhöhungs-Abschnitt 281 geschickt.
  • Als nächstes wird ein Prozeß in dem Spektrum-Erhöhungs-Abschnitt 281 diskutiert. Zuerst wird auf die mittlere Rausch-Energie, gespeichert in dem Rausch-Spektrum- Speicher-Abschnitt 285, die Spektrum-Differenz-Energie, erhalten durch den Spektrum- Stabilisierungs-Abschnitt 279, und die Rausch-Referenz-Energie, die konstant ist Bezug genommen, um einen MA-Erhöhungs-Koeffizienten und einen AR-Erhöhungs- Koeffizienten auszuwählen, Bezug genommen. Die Auswahl wird durch Evaluieren der folgenden zwei Zustände ausgeführt.
  • (Zustand 1)
  • Die Spektrum-Differenz-Energie ist größer als ein Wert, erhalten durch Multiplizieren der durchschnittlichen Rausch-Energie, gespeichert in dem Rausch-Spektrum-Speicher- Abschnitt 285, mit 0,6, und die durchschnittliche Rausch-Energie ist größer als die Rausch-Referenz-Energie.
  • (Zustand 2)
  • Die Spektrum-Differenz-Energie ist größer als die durchschnittliche Rausch-Energie. Wenn der Zustand 1 erfüllt ist, ist dieses Segment ein "stimmhaftes Segment", wobei der MA-Erhöhungs-Koeffizient auf einen MA-Erhöhungs-Koeffizienten 1-1 eingestellt wird, der AR-Erhöhungs-Koeffizient wird auf einen AR-Erhöhungs-Koeffizienten 1-1 eingestellt, und ein Hochfrequenz-Erhöhungs-Koeffizient wird auf einen Hochfrequenz-Erhöhungs- Koeffizienten 1 eingestellt. Wenn der Zustand 1 nicht erfüllt ist, allerdings der Zustand 2 erfüllt ist, ist dieses Segment ein "stimmloses Segment", der MA-Erhöhungs-Koeffizient wird auf einen MA-Erhöhungs-Koeffizienten 1-0 eingestellt, der AR-Erhöhungs-Koeffizient wird auf einen AR-Erhöhungs-Koeffizienten 1-0 eingestellt und der Hochfrequenz- Erhöhungs-Koeffizient wird auf 0 eingestellt. Wenn der Zustand 1 erfüllt ist, allerdings der Zustand 2 nicht erfüllt ist, ist dieses Segment ein "stimmloses Nur-Rausch-Segment", wobei der MA-Erhöhungs-Koeffizient auf einen MA-Erhöhungs-Koeffizienten 0 eingestellt wird, der AR-Erhöhungs-Koeffizient auf einen AR-Erhöhungs-Koeffizienten 0 eingestellt wird und der Hochfrequenz-Erhöhungs-Koeffizient auf einen Hochfrequenz-Erhöhungs- Koeffizienten 0 eingestellt wird.
  • Unter Verwendung der linearen, prädikativen Koeffizienten, erhalten von dem LPC- Analysier-Abschnitt 276, werden der MA-Erhöhungs-Koeffizient und der AR-Erhöhungs- Koeffizient, ein MA-Koeffizient und ein AR-Koeffizient eines Extrem-Erhöhungs-Filters basierend auf der folgenden Gleichung 56 berechnet.
  • α(ma)i = αi · β² (56)
  • α(ar)i = αi · τ²
  • wobei
  • α(ma)i: MA-Koeffizient
  • α(ar)i: AR-Koeffizient
  • αi: linearer, prädikativer Koeffizient
  • β: MA-Erhöhungs-Koeffizient
  • τ: AR-Erhöhungs-Koeffizient
  • i: Zahl.
  • Dann wird das Ausgangs-Signal erster Ordnung, erhalten durch den Abschnitt 280 für die inverse Fourier-Transformation, durch den Extrem-Erhöhungs-Filter unter Verwendung des MA-Koeffizienten und des AR-Koeffizienten eingestellt. Die Übertragungs-Funktion dieses Filters ist durch die folgende Gleichung 57 gegeben.
  • wobei
  • α(ma)&sub1;: MA-Koeffizient
  • α(ar)&sub1;: AR-Koeffizient
  • j: Ordnung.
  • Weiterhin wird, um die Hochfrequenz-Komponente zu erhöhen, eine Hochfrequenz- Erhöhungs-Filterung unter Verwendung des Hochfrequenz-Erhöhungs-Koeffizienten durchgeführt. Die Übertragungs-Funktion dieses Filters ist durch die folgende Gleichung 58 gegeben.
  • 1 - δZ&supmin;¹ (58)
  • wobei
  • δ: Hochfrequenz-Erhöhungs-Koeffizient.
  • Ein Signal, erhalten über den vorstehenden Prozeß, wird als Ausgangs-Signal zweiter Ordnung bezeichnet. Der Filter-Status wird in dem Spektrum-Erhöhungs-Abschnitt 281 gesichert.
  • Abschließend gestaltet der Wellenform-Anpassungs-Abschnitt 282 das Ausgangs-Signal zweiter Ordnung, erhalten durch den Spektrum = Erhöhungs-Abschnitt 281, und das Signal, gespeichert in dem Speicher-Abschnitt 288 für die vorherige Wellenform, zueinander mit einem dreieckigen Fenster überlappend. Weiterhin werden Daten dieses Ausgangs- Signals durch die Länge der letzten, vorabgelesenen Daten in dem Speicher-Abschnitt 288 für die vorherige Wellenform gespeichert. Ein Anpassungs-Schema zu diesem Zeitpunkt ist durch die folgende Gleichung 59 dargestellt.
  • Oj = (j · Dj + (L - j) · Zj)/L (j = 0 ~ L - 1)
  • OJ = Dj (j = L ~ L ÷ M - 1) (59)
  • Zj = OM+J (j = O ~ L - 1)
  • wobei
  • Oj: Ausgangs-Signal
  • Dj: Ausgangs-Signal zweiter Ordnung
  • Zj: Ausgangs-Signal
  • L: vorabgelesene Daten-Längen
  • M: Rahmen-Länge.
  • Es sollte angemerkt werden, daß, während Daten der vorabgelesenen Daten Länge + Rahmen-Länge als das Ausgangs-Signal ausgegeben wird, dasjenige des Ausgangs- Signals, das als ein Signal gehandhabt werden kann, nur ein Segment der Rahmen-Länge von dem Beginn der Daten an ist. Dies kommt daher, daß die letzteren der Daten vorab gelesenen Daten-Länge umgeschrieben werden, wenn das nächste Ausgangs-Signal ausgegeben wird. Da eine Kontinuität in den gesamten Segmenten des Ausgangs-Signals allerdings kompensiert wird, können die Daten in einer Frequenz-Analyse, wie beispielsweise einer LPC-Analyse oder einer Filter-Analyse, verwendet werden.
  • Gemäß diesem Mode kann eine Rausch-Spektrum-Abschätzung für ein Segment außerhalb eines stimmhaften Segments ebenso wie in einem stimmhaften Segment durchgeführt werden, so daß ein Rausch-Spektrum gerade dann abgeschätzt werden kann, wenn es nicht klar ist, unter welcher Zeit-Abstimmung eine Sprache in Daten vorhanden ist.
  • Es ist möglich, die Charakteristik der Eingangs-Spektrum-Umhüllenden mit den linearen, prädikativen Koeffizienten zu erhöhen, und möglicherweise eine Degradation der Klangqualität gerade dann zu verhindern, wenn der Rausch-Pegel hoch ist.
  • Weiterhin kann, unter Verwendung des mittleren Spektrums eines Rauschens, eine Aufhebung des Rausch-Spektrums signifikanter sein. Weiterhin kann eine separate Abschätzung des Kompensations-Spektrums eine akkuratere Kompensation sicherstellen.
  • Es ist möglich, ein Spektrum in einem Nur-Rausch-Segment zu glätten, wo keine Sprache enthalten ist, und das Spektrum in diesem Segment kann ein Allophon-Gefühl dahingehend verhindern, daß es durch eine extreme Spektrum-Variation verursacht wird, die von einer Rausch-Aufhebung ausgeht.
  • Die Phase der kompensierten Frequenz-Komponente kann eine Random-Eigenschaft geben, so daß das Rauschen, das nicht aufgehoben verbleibt, zu einem Rauschen konvertiert werden kann, das ein geringeres, anhaltendes Allophon-Gefühl vermittelt. Die geeignete Gewichtung kann anhaltend in einem stimmhaften Segment gegeben sein, und das andauernd gewichtete, ursprüngliche Allophon-Gefühl kann in einem stimmlosen Segment oder einem stimmlosen Tonsilben-Segment unterdrückt werden.
  • Industrielle Anwendbarkeit
  • Wie aus dem Vorstehenden ersichtlich ist, sind ein Sprach-Codierer und ein Sprach- Decodierer gemäß dieser Erfindung beim Suchen von Anregungs-Vektoren effektiv und sind zum Verbessern der Sprach-Qualität geeignet.

Claims (4)

1. Anregungs-Vektor-Generator, der in einem Sprach-Codec verwendet wird, der aufweist:
eine Einrichtung zum Liefern eines Eingangs-Impuls-Vektors, der einen oder mehrere Impulse an vorbestimmten Positionen (P1, P2, P3) besitzt, wobei jeder Lmpuls eine Polarität besitzt;
eine Speichereinrichtung (181) für festgelegte Wellenformen zum Speichern einer oder mehrerer festgelegter Wellenform(en) (v1, v2, v3); und
eine Anordnungseinrichtung (182) für festgelegte Wellenformen zum Anordnen der festgelegten Wellenformen (v1, v2, v3), gelesen von der Speichereinrichtung (181) für festgelegte Wellenformen, gemäß den Positionen (P1, P2, P3) und der Polaritäten der Impulse des Eingangs-Impuls-Vektors.
2. Anregungs-Vektor-Generator nach Anspruch 1, wobei die Speichereinrichtung (181) für feste Wellenformen eine Mehrzahl von festgelegten Wellenformen (v1, v2, v3) speichert.
3. Anregungs-Vektor-Generator nach Anspruch 1 oder 2, wobei die Wellenform- Anordnungseinrichtung (182) die festgelegten Wellenformen, gelesen von der Speichereinrichtung (181) für die festgelegten Wellenformen, entsprechend den Positionen (P1, P2, P3) und den Polaritäten der Impulse des Eingangs-Impuls- Vektors verschiebt.
4. Anregungs-Vektor-Generator nach Anspruch 1 oder 2, wobei die Wellenform- Anordnungseinrichtung (182) für festgelegte Wellenformen die festgelegten Wellenformen (v9, v2, v3), gelesen von der Speichereinrichtung für die festgelegten Wellenformen, mit dem Impuls-Vektor konvolutiert.
DE69708696T 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-codebuchs Expired - Lifetime DE69708696T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP29473896A JP4003240B2 (ja) 1996-11-07 1996-11-07 音声符号化装置及び音声復号化装置
JP31032496A JP4006770B2 (ja) 1996-11-21 1996-11-21 ノイズ推定装置、ノイズ削減装置、ノイズ推定方法、及びノイズ削減方法
JP03458397A JP3700310B2 (ja) 1997-02-19 1997-02-19 ベクトル量子化装置及びベクトル量子化方法
JP03458297A JP3174742B2 (ja) 1997-02-19 1997-02-19 Celp型音声復号化装置及びcelp型音声復号化方法

Publications (2)

Publication Number Publication Date
DE69708696D1 DE69708696D1 (de) 2002-01-10
DE69708696T2 true DE69708696T2 (de) 2002-08-01

Family

ID=27459954

Family Applications (17)

Application Number Title Priority Date Filing Date
DE69708693.3T Expired - Lifetime DE69708693C5 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung für CELP Sprachcodierung oder -decodierung
DE69713633T Expired - Lifetime DE69713633T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712539T Expired - Lifetime DE69712539T2 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69710505T Expired - Lifetime DE69710505T2 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69721595T Expired - Lifetime DE69721595T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712537T Expired - Lifetime DE69712537T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69723324T Expired - Lifetime DE69723324T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-codebuchs
DE69712538T Expired - Lifetime DE69712538T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712927T Expired - Lifetime DE69712927T2 (de) 1996-11-07 1997-11-06 CELP-Codec
DE69708697T Expired - Lifetime DE69708697T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-codebuchs, und Vorrichtung und Verfahren zur Sprachcodierung/-decodierung
DE69711715T Expired - Lifetime DE69711715T2 (de) 1996-11-07 1997-11-06 Anregungsvektorerzeugung
DE69708696T Expired - Lifetime DE69708696T2 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-codebuchs
DE69715478T Expired - Lifetime DE69715478T2 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur CELP Sprachkodierung und -dekodierung
DE69730316T Expired - Lifetime DE69730316T2 (de) 1996-11-07 1997-11-06 Schallquellengenerator, sprachkodierer und sprachdekodierer
DE69712535T Expired - Lifetime DE69712535T2 (de) 1996-11-07 1997-11-06 Vorrichtung zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69710794T Expired - Lifetime DE69710794T2 (de) 1996-11-07 1997-11-06 Vorrichtungzur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712928T Expired - Lifetime DE69712928T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-codebuchs

Family Applications Before (11)

Application Number Title Priority Date Filing Date
DE69708693.3T Expired - Lifetime DE69708693C5 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung für CELP Sprachcodierung oder -decodierung
DE69713633T Expired - Lifetime DE69713633T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712539T Expired - Lifetime DE69712539T2 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69710505T Expired - Lifetime DE69710505T2 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69721595T Expired - Lifetime DE69721595T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712537T Expired - Lifetime DE69712537T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69723324T Expired - Lifetime DE69723324T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-codebuchs
DE69712538T Expired - Lifetime DE69712538T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712927T Expired - Lifetime DE69712927T2 (de) 1996-11-07 1997-11-06 CELP-Codec
DE69708697T Expired - Lifetime DE69708697T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-codebuchs, und Vorrichtung und Verfahren zur Sprachcodierung/-decodierung
DE69711715T Expired - Lifetime DE69711715T2 (de) 1996-11-07 1997-11-06 Anregungsvektorerzeugung

Family Applications After (5)

Application Number Title Priority Date Filing Date
DE69715478T Expired - Lifetime DE69715478T2 (de) 1996-11-07 1997-11-06 Verfahren und Vorrichtung zur CELP Sprachkodierung und -dekodierung
DE69730316T Expired - Lifetime DE69730316T2 (de) 1996-11-07 1997-11-06 Schallquellengenerator, sprachkodierer und sprachdekodierer
DE69712535T Expired - Lifetime DE69712535T2 (de) 1996-11-07 1997-11-06 Vorrichtung zur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69710794T Expired - Lifetime DE69710794T2 (de) 1996-11-07 1997-11-06 Vorrichtungzur Erzeugung eines Vektorquantisierungs-Codebuchs
DE69712928T Expired - Lifetime DE69712928T2 (de) 1996-11-07 1997-11-06 Verfahren zur Erzeugung eines Vektorquantisierungs-codebuchs

Country Status (9)

Country Link
US (20) US6453288B1 (de)
EP (16) EP1071081B1 (de)
KR (9) KR100306817B1 (de)
CN (11) CN1178204C (de)
AU (1) AU4884297A (de)
CA (1) CA2242345C (de)
DE (17) DE69708693C5 (de)
HK (2) HK1017472A1 (de)
WO (1) WO1998020483A1 (de)

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995539A (en) * 1993-03-17 1999-11-30 Miller; William J. Method and apparatus for signal transmission and reception
EP1071081B1 (de) * 1996-11-07 2002-05-08 Matsushita Electric Industrial Co., Ltd. Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
EP1746583B1 (de) * 1997-10-22 2008-09-17 Matsushita Electric Industrial Co., Ltd. Tonkodierer und Tondekodierer
CN1494055A (zh) * 1997-12-24 2004-05-05 ������������ʽ���� 声音编码方法和声音译码方法以及声音编码装置和声音译码装置
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
JP3343082B2 (ja) * 1998-10-27 2002-11-11 松下電器産業株式会社 Celp型音声符号化装置
US6687663B1 (en) * 1999-06-25 2004-02-03 Lake Technology Limited Audio processing method and apparatus
FI116992B (fi) * 1999-07-05 2006-04-28 Nokia Corp Menetelmät, järjestelmä ja laitteet audiosignaalin koodauksen ja siirron tehostamiseksi
JP3784583B2 (ja) * 1999-08-13 2006-06-14 沖電気工業株式会社 音声蓄積装置
EP1959435B1 (de) 1999-08-23 2009-12-23 Panasonic Corporation Sprachenkodierer
JP2001075600A (ja) * 1999-09-07 2001-03-23 Mitsubishi Electric Corp 音声符号化装置および音声復号化装置
JP3417362B2 (ja) * 1999-09-10 2003-06-16 日本電気株式会社 音声信号復号方法及び音声信号符号化復号方法
WO2001020595A1 (en) * 1999-09-14 2001-03-22 Fujitsu Limited Voice encoder/decoder
US6636829B1 (en) * 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
USRE43209E1 (en) 1999-11-08 2012-02-21 Mitsubishi Denki Kabushiki Kaisha Speech coding apparatus and speech decoding apparatus
JP3594854B2 (ja) 1999-11-08 2004-12-02 三菱電機株式会社 音声符号化装置及び音声復号化装置
AU2547201A (en) * 2000-01-11 2001-07-24 Matsushita Electric Industrial Co., Ltd. Multi-mode voice encoding device and decoding device
ATE420432T1 (de) * 2000-04-24 2009-01-15 Qualcomm Inc Verfahren und vorrichtung zur prädiktiven quantisierung von stimmhaften sprachsignalen
JP3426207B2 (ja) * 2000-10-26 2003-07-14 三菱電機株式会社 音声符号化方法および装置
JP3404024B2 (ja) * 2001-02-27 2003-05-06 三菱電機株式会社 音声符号化方法および音声符号化装置
US7031916B2 (en) * 2001-06-01 2006-04-18 Texas Instruments Incorporated Method for converging a G.729 Annex B compliant voice activity detection circuit
JP3888097B2 (ja) * 2001-08-02 2007-02-28 松下電器産業株式会社 ピッチ周期探索範囲設定装置、ピッチ周期探索装置、復号化適応音源ベクトル生成装置、音声符号化装置、音声復号化装置、音声信号送信装置、音声信号受信装置、移動局装置、及び基地局装置
US7110942B2 (en) * 2001-08-14 2006-09-19 Broadcom Corporation Efficient excitation quantization in a noise feedback coding system using correlation techniques
US7206740B2 (en) * 2002-01-04 2007-04-17 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
JP4299676B2 (ja) * 2002-02-20 2009-07-22 パナソニック株式会社 固定音源ベクトルの生成方法及び固定音源符号帳
US7694326B2 (en) * 2002-05-17 2010-04-06 Sony Corporation Signal processing system and method, signal processing apparatus and method, recording medium, and program
JP4304360B2 (ja) * 2002-05-22 2009-07-29 日本電気株式会社 音声符号化復号方式間の符号変換方法および装置とその記憶媒体
US7103538B1 (en) * 2002-06-10 2006-09-05 Mindspeed Technologies, Inc. Fixed code book with embedded adaptive code book
CA2392640A1 (en) * 2002-07-05 2004-01-05 Voiceage Corporation A method and device for efficient in-based dim-and-burst signaling and half-rate max operation in variable bit-rate wideband speech coding for cdma wireless systems
JP2004101588A (ja) * 2002-09-05 2004-04-02 Hitachi Kokusai Electric Inc 音声符号化方法及び音声符号化装置
AU2002952079A0 (en) * 2002-10-16 2002-10-31 Darrell Ballantyne Copeman Winch
JP3887598B2 (ja) * 2002-11-14 2007-02-28 松下電器産業株式会社 確率的符号帳の音源の符号化方法及び復号化方法
US7249014B2 (en) * 2003-03-13 2007-07-24 Intel Corporation Apparatus, methods and articles incorporating a fast algebraic codebook search technique
KR100480341B1 (ko) * 2003-03-13 2005-03-31 한국전자통신연구원 광대역 저전송률 음성 신호의 부호화기
US20040208169A1 (en) * 2003-04-18 2004-10-21 Reznik Yuriy A. Digital audio signal compression method and apparatus
US7742926B2 (en) 2003-04-18 2010-06-22 Realnetworks, Inc. Digital audio signal compression method and apparatus
US7370082B2 (en) * 2003-05-09 2008-05-06 Microsoft Corporation Remote invalidation of pre-shared RDMA key
KR100546758B1 (ko) * 2003-06-30 2006-01-26 한국전자통신연구원 음성의 상호부호화시 전송률 결정 장치 및 방법
US7146309B1 (en) 2003-09-02 2006-12-05 Mindspeed Technologies, Inc. Deriving seed values to generate excitation values in a speech coder
WO2005109899A1 (en) 2004-05-04 2005-11-17 Qualcomm Incorporated Method and apparatus for motion compensated frame rate up conversion
JP4445328B2 (ja) 2004-05-24 2010-04-07 パナソニック株式会社 音声・楽音復号化装置および音声・楽音復号化方法
JP3827317B2 (ja) * 2004-06-03 2006-09-27 任天堂株式会社 コマンド処理装置
US8948262B2 (en) * 2004-07-01 2015-02-03 Qualcomm Incorporated Method and apparatus for using frame rate up conversion techniques in scalable video coding
KR100672355B1 (ko) * 2004-07-16 2007-01-24 엘지전자 주식회사 음성 코딩/디코딩 방법 및 그를 위한 장치
EP2096873A3 (de) * 2004-07-20 2009-10-14 Qualcomm Incorporated Verfahren und Vorrichtung zur kodiererunterstützten Bildratenaufwärtsumwandlung (EU-FRUC) zur Videokomprimierung
US8553776B2 (en) * 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
JPWO2006025313A1 (ja) * 2004-08-31 2008-05-08 松下電器産業株式会社 音声符号化装置、音声復号化装置、通信装置及び音声符号化方法
JP4977472B2 (ja) * 2004-11-05 2012-07-18 パナソニック株式会社 スケーラブル復号化装置
WO2006062202A1 (ja) * 2004-12-10 2006-06-15 Matsushita Electric Industrial Co., Ltd. 広帯域符号化装置、広帯域lsp予測装置、帯域スケーラブル符号化装置及び広帯域符号化方法
KR100707173B1 (ko) * 2004-12-21 2007-04-13 삼성전자주식회사 저비트율 부호화/복호화방법 및 장치
US20060217983A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for injecting comfort noise in a communications system
US20060217970A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for noise reduction
US20060215683A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for voice quality enhancement
US20060217972A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for modifying an encoded signal
US20060217988A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for adaptive level control
US20090319277A1 (en) * 2005-03-30 2009-12-24 Nokia Corporation Source Coding and/or Decoding
JP5129117B2 (ja) * 2005-04-01 2013-01-23 クゥアルコム・インコーポレイテッド 音声信号の高帯域部分を符号化及び復号する方法及び装置
WO2006116025A1 (en) 2005-04-22 2006-11-02 Qualcomm Incorporated Systems, methods, and apparatus for gain factor smoothing
BRPI0612579A2 (pt) * 2005-06-17 2012-01-03 Matsushita Electric Ind Co Ltd pàs-filtro, decodificador e mÉtodo de pàs-filtraÇço
WO2007000988A1 (ja) * 2005-06-29 2007-01-04 Matsushita Electric Industrial Co., Ltd. スケーラブル復号装置および消失データ補間方法
US8081764B2 (en) * 2005-07-15 2011-12-20 Panasonic Corporation Audio decoder
WO2007025061A2 (en) * 2005-08-25 2007-03-01 Bae Systems Information And Electronics Systems Integration Inc. Coherent multichip rfid tag and method and appartus for creating such coherence
JP5159318B2 (ja) * 2005-12-09 2013-03-06 パナソニック株式会社 固定符号帳探索装置および固定符号帳探索方法
EP1979899B1 (de) 2006-01-31 2015-03-11 Unify GmbH & Co. KG Verfahren und anordnungen zur audiosignalkodierung
EP1979901B1 (de) * 2006-01-31 2015-10-14 Unify GmbH & Co. KG Verfahren und anordnungen zur audiosignalkodierung
US7958164B2 (en) * 2006-02-16 2011-06-07 Microsoft Corporation Visual design of annotated regular expression
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
WO2007114290A1 (ja) * 2006-03-31 2007-10-11 Matsushita Electric Industrial Co., Ltd. ベクトル量子化装置、ベクトル逆量子化装置、ベクトル量子化方法及びベクトル逆量子化方法
US8750387B2 (en) * 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8634463B2 (en) * 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
JPWO2007129726A1 (ja) * 2006-05-10 2009-09-17 パナソニック株式会社 音声符号化装置及び音声符号化方法
US20090198491A1 (en) * 2006-05-12 2009-08-06 Panasonic Corporation Lsp vector quantization apparatus, lsp vector inverse-quantization apparatus, and their methods
JPWO2008001866A1 (ja) * 2006-06-29 2009-11-26 パナソニック株式会社 音声符号化装置及び音声符号化方法
US8335684B2 (en) 2006-07-12 2012-12-18 Broadcom Corporation Interchangeable noise feedback coding and code excited linear prediction encoders
US8112271B2 (en) * 2006-08-08 2012-02-07 Panasonic Corporation Audio encoding device and audio encoding method
JP5061111B2 (ja) * 2006-09-15 2012-10-31 パナソニック株式会社 音声符号化装置および音声符号化方法
JPWO2008047795A1 (ja) * 2006-10-17 2010-02-25 パナソニック株式会社 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
CN101502122B (zh) 2006-11-28 2011-06-01 松下电器产业株式会社 编码装置及编码方法
WO2008065814A1 (en) * 2006-11-30 2008-06-05 Panasonic Corporation Coder
KR101412255B1 (ko) * 2006-12-13 2014-08-14 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치 및 이들의 방법
EP2099025A4 (de) * 2006-12-14 2010-12-22 Panasonic Corp Audiocodierungseinrichtung und audiocodierungsverfahren
EP2101319B1 (de) * 2006-12-15 2015-09-16 Panasonic Intellectual Property Corporation of America Einrichtung zur adaptiven schallquellen-vektorquantisierung und verfahren dafür
WO2008072736A1 (ja) * 2006-12-15 2008-06-19 Panasonic Corporation 適応音源ベクトル量子化装置および適応音源ベクトル量子化方法
US8036886B2 (en) * 2006-12-22 2011-10-11 Digital Voice Systems, Inc. Estimation of pulsed speech model parameters
US8688437B2 (en) 2006-12-26 2014-04-01 Huawei Technologies Co., Ltd. Packet loss concealment for speech coding
GB0703275D0 (en) * 2007-02-20 2007-03-28 Skype Ltd Method of estimating noise levels in a communication system
US8364472B2 (en) * 2007-03-02 2013-01-29 Panasonic Corporation Voice encoding device and voice encoding method
JP5018193B2 (ja) 2007-04-06 2012-09-05 ヤマハ株式会社 雑音抑圧装置およびプログラム
US8489396B2 (en) * 2007-07-25 2013-07-16 Qnx Software Systems Limited Noise reduction with integrated tonal noise reduction
WO2009038136A1 (ja) * 2007-09-19 2009-03-26 Nec Corporation 雑音抑圧装置、その方法及びプログラム
CA2701757C (en) * 2007-10-12 2016-11-22 Panasonic Corporation Vector quantization apparatus, vector dequantization apparatus and the methods
US8429467B2 (en) * 2007-10-19 2013-04-23 Oracle International Corporation User-triggered diagnostic data gathering
EP3261090A1 (de) * 2007-12-21 2017-12-27 III Holdings 12, LLC Codierer, decodierer und codierungsverfahren
US8306817B2 (en) * 2008-01-08 2012-11-06 Microsoft Corporation Speech recognition with non-linear noise reduction on Mel-frequency cepstra
EP2234104B1 (de) * 2008-01-16 2017-06-14 III Holdings 12, LLC Vektorquantisierer, inverser vektorquantisierer und verfahren dafür
KR20090122143A (ko) * 2008-05-23 2009-11-26 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
KR101616873B1 (ko) * 2008-12-23 2016-05-02 삼성전자주식회사 디지털 앰프의 소요 전력량 예측 장치 및 그 방법
CN101604525B (zh) * 2008-12-31 2011-04-06 华为技术有限公司 基音增益获取方法、装置及编码器、解码器
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding
GB2466674B (en) * 2009-01-06 2013-11-13 Skype Speech coding
GB2466672B (en) * 2009-01-06 2013-03-13 Skype Speech coding
GB2466669B (en) * 2009-01-06 2013-03-06 Skype Speech coding
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
US20100174539A1 (en) * 2009-01-06 2010-07-08 Qualcomm Incorporated Method and apparatus for vector quantization codebook search
GB2466671B (en) * 2009-01-06 2013-03-27 Skype Speech encoding
EP2555191A1 (de) 2009-03-31 2013-02-06 Huawei Technologies Co., Ltd. Verfahren und Einrichtung zur Audiosignalentrauschung
CN101538923B (zh) * 2009-04-07 2011-05-11 上海翔实玻璃有限公司 新型墙体装饰安装结构
JP2010249939A (ja) * 2009-04-13 2010-11-04 Sony Corp ノイズ低減装置、ノイズ判定方法
EP2246845A1 (de) * 2009-04-21 2010-11-03 Siemens Medical Instruments Pte. Ltd. Verfahren und akustische Signalverarbeitungsvorrichtung zur Schätzung von linearen prädiktiven Kodierungskoeffizienten
US8452606B2 (en) * 2009-09-29 2013-05-28 Skype Speech encoding using multiple bit rates
WO2011052221A1 (ja) * 2009-10-30 2011-05-05 パナソニック株式会社 符号化装置、復号装置、およびそれらの方法
US9123334B2 (en) * 2009-12-14 2015-09-01 Panasonic Intellectual Property Management Co., Ltd. Vector quantization of algebraic codebook with high-pass characteristic for polarity selection
US9236063B2 (en) 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
US8599820B2 (en) * 2010-09-21 2013-12-03 Anite Finland Oy Apparatus and method for communication
US9972325B2 (en) 2012-02-17 2018-05-15 Huawei Technologies Co., Ltd. System and method for mixed codebook excitation for speech coding
EP3547261B1 (de) * 2012-03-29 2023-08-09 Telefonaktiebolaget LM Ericsson (publ) Vektorquantifizierer
RU2495504C1 (ru) * 2012-06-25 2013-10-10 Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ снижения скорости передачи низкоскоростных вокодеров с линейным предсказанием
MX347921B (es) 2012-10-05 2017-05-17 Fraunhofer Ges Forschung Un aparato para la codificacion de una señal de voz que emplea prediccion lineal excitada por codigos algebraico en el dominio de autocorrelacion.
JP6300031B2 (ja) * 2012-11-27 2018-03-28 日本電気株式会社 信号処理装置、信号処理方法、および信号処理プログラム
WO2014083999A1 (ja) * 2012-11-27 2014-06-05 日本電気株式会社 信号処理装置、信号処理方法、および信号処理プログラム
EP3399522B1 (de) * 2013-07-18 2019-09-11 Nippon Telegraph and Telephone Corporation Vorrichtung zur analyse einer linearen vorhersage, verfahren, programm und speichermedium
CN103714820B (zh) * 2013-12-27 2017-01-11 广州华多网络科技有限公司 参数域的丢包隐藏方法及装置
US10885089B2 (en) * 2015-08-21 2021-01-05 Cortical.Io Ag Methods and systems for identifying a level of similarity between a filtering criterion and a data item within a set of streamed documents
US10394851B2 (en) 2014-08-07 2019-08-27 Cortical.Io Ag Methods and systems for mapping data items to sparse distributed representations
US20190332619A1 (en) * 2014-08-07 2019-10-31 Cortical.Io Ag Methods and systems for mapping data items to sparse distributed representations
US9953660B2 (en) * 2014-08-19 2018-04-24 Nuance Communications, Inc. System and method for reducing tandeming effects in a communication system
US9582425B2 (en) 2015-02-18 2017-02-28 International Business Machines Corporation Set selection of a set-associative storage container
CN104966517B (zh) * 2015-06-02 2019-02-01 华为技术有限公司 一种音频信号增强方法和装置
US20160372127A1 (en) * 2015-06-22 2016-12-22 Qualcomm Incorporated Random noise seed value generation
RU2631968C2 (ru) * 2015-07-08 2017-09-29 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Способ низкоскоростного кодирования и декодирования речевого сигнала
US10044547B2 (en) * 2015-10-30 2018-08-07 Taiwan Semiconductor Manufacturing Company, Ltd. Digital code recovery with preamble
CN105976822B (zh) * 2016-07-12 2019-12-03 西北工业大学 基于参数化超增益波束形成器的音频信号提取方法及装置
US10572221B2 (en) 2016-10-20 2020-02-25 Cortical.Io Ag Methods and systems for identifying a level of similarity between a plurality of data representations
CN106788433B (zh) * 2016-12-13 2019-07-05 山东大学 数字噪声源、数据处理系统及数据处理方法
US10255825B2 (en) 2017-04-17 2019-04-09 Facebook, Inc. Calibration of haptic device using sensor harness
CN110739002B (zh) * 2019-10-16 2022-02-22 中山大学 基于生成对抗网络的复数域语音增强方法、系统及介质
CN110751960B (zh) * 2019-10-16 2022-04-26 北京网众共创科技有限公司 噪声数据的确定方法及装置
US11270714B2 (en) 2020-01-08 2022-03-08 Digital Voice Systems, Inc. Speech coding using time-varying interpolation
US11734332B2 (en) 2020-11-19 2023-08-22 Cortical.Io Ag Methods and systems for reuse of data item fingerprints in generation of semantic maps
US11990144B2 (en) 2021-07-28 2024-05-21 Digital Voice Systems, Inc. Reducing perceived effects of non-voice data in digital speech

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US488751A (en) * 1892-12-27 Device for moistening envelopes
US4797925A (en) * 1986-09-26 1989-01-10 Bell Communications Research, Inc. Method for coding speech at low bit rates
JPH0738118B2 (ja) 1987-02-04 1995-04-26 日本電気株式会社 マルチパルス符号化装置
IL84948A0 (en) * 1987-12-25 1988-06-30 D S P Group Israel Ltd Noise reduction system
US4817157A (en) 1988-01-07 1989-03-28 Motorola, Inc. Digital speech coder having improved vector excitation source
US5276765A (en) * 1988-03-11 1994-01-04 British Telecommunications Public Limited Company Voice activity detection
JP2621376B2 (ja) * 1988-06-30 1997-06-18 日本電気株式会社 マルチパルス符号化装置
JP2859634B2 (ja) 1989-04-19 1999-02-17 株式会社リコー 雑音除去装置
US5212764A (en) * 1989-04-19 1993-05-18 Ricoh Company, Ltd. Noise eliminating apparatus and speech recognition apparatus using the same
DE69029120T2 (de) * 1989-04-25 1997-04-30 Toshiba Kawasaki Kk Stimmenkodierer
US5060269A (en) 1989-05-18 1991-10-22 General Electric Company Hybrid switched multi-pulse/stochastic speech coding technique
US4963034A (en) * 1989-06-01 1990-10-16 Simon Fraser University Low-delay vector backward predictive coding of speech
US5204906A (en) 1990-02-13 1993-04-20 Matsushita Electric Industrial Co., Ltd. Voice signal processing device
CA2010830C (en) 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
US5701392A (en) 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
EP0763811B1 (de) * 1990-05-28 2001-06-20 Matsushita Electric Industrial Co., Ltd. Vorrichtung zur Sprachsignalverarbeitung für die Bestimmung eines Sprachsignals
US5293449A (en) * 1990-11-23 1994-03-08 Comsat Corporation Analysis-by-synthesis 2,4 kbps linear predictive speech codec
JP3077944B2 (ja) * 1990-11-28 2000-08-21 シャープ株式会社 信号再生装置
JP2836271B2 (ja) 1991-01-30 1998-12-14 日本電気株式会社 雑音除去装置
JPH04264597A (ja) * 1991-02-20 1992-09-21 Fujitsu Ltd 音声符号化装置および音声復号装置
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
US5187745A (en) * 1991-06-27 1993-02-16 Motorola, Inc. Efficient codebook search for CELP vocoders
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
US5390278A (en) * 1991-10-08 1995-02-14 Bell Canada Phoneme based speech recognition
US5371853A (en) * 1991-10-28 1994-12-06 University Of Maryland At College Park Method and system for CELP speech coding and codebook for use therewith
JPH0643892A (ja) 1992-02-18 1994-02-18 Matsushita Electric Ind Co Ltd 音声認識方法
JPH0612098A (ja) * 1992-03-16 1994-01-21 Sanyo Electric Co Ltd 音声符号化装置
JP3276977B2 (ja) * 1992-04-02 2002-04-22 シャープ株式会社 音声符号化装置
US5251263A (en) * 1992-05-22 1993-10-05 Andrea Electronics Corporation Adaptive noise cancellation and speech enhancement system and apparatus therefor
US5307405A (en) * 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
JP2779886B2 (ja) * 1992-10-05 1998-07-23 日本電信電話株式会社 広帯域音声信号復元方法
JP3255189B2 (ja) * 1992-12-01 2002-02-12 日本電信電話株式会社 音声パラメータの符号化方法および復号方法
JP3099852B2 (ja) * 1993-01-07 2000-10-16 日本電信電話株式会社 励振信号の利得量子化方法
CN2150614Y (zh) 1993-03-17 1993-12-22 张宝源 磁盘退磁与磁性强度调整控制器
US5428561A (en) * 1993-04-22 1995-06-27 Zilog, Inc. Efficient pseudorandom value generator
US5727122A (en) * 1993-06-10 1998-03-10 Oki Electric Industry Co., Ltd. Code excitation linear predictive (CELP) encoder and decoder and code excitation linear predictive coding method
GB2281680B (en) * 1993-08-27 1998-08-26 Motorola Inc A voice activity detector for an echo suppressor and an echo suppressor
JP2675981B2 (ja) 1993-09-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション スヌープ・プッシュ・オペレーションを回避する方法
US5450449A (en) 1994-03-14 1995-09-12 At&T Ipm Corp. Linear prediction coefficient generation during frame erasure or packet loss
US6463406B1 (en) * 1994-03-25 2002-10-08 Texas Instruments Incorporated Fractional pitch method
JP2956473B2 (ja) * 1994-04-21 1999-10-04 日本電気株式会社 ベクトル量子化装置
US5651090A (en) * 1994-05-06 1997-07-22 Nippon Telegraph And Telephone Corporation Coding method and coder for coding input signals of plural channels using vector quantization, and decoding method and decoder therefor
JP3224955B2 (ja) * 1994-05-27 2001-11-05 株式会社東芝 ベクトル量子化装置およびベクトル量子化方法
JP3001375B2 (ja) 1994-06-15 2000-01-24 株式会社立松製作所 ドアヒンジ装置
JP3360423B2 (ja) 1994-06-21 2002-12-24 三菱電機株式会社 音声強調装置
JP3489748B2 (ja) * 1994-06-23 2004-01-26 株式会社東芝 音声符号化装置及び音声復号化装置
JP3418803B2 (ja) 1994-07-04 2003-06-23 富士通株式会社 音声符号復号化装置
IT1266943B1 (it) 1994-09-29 1997-01-21 Cselt Centro Studi Lab Telecom Procedimento di sintesi vocale mediante concatenazione e parziale sovrapposizione di forme d'onda.
US5550543A (en) 1994-10-14 1996-08-27 Lucent Technologies Inc. Frame erasure or packet loss compensation method
JP3328080B2 (ja) * 1994-11-22 2002-09-24 沖電気工業株式会社 コード励振線形予測復号器
JPH08160994A (ja) 1994-12-07 1996-06-21 Matsushita Electric Ind Co Ltd 雑音抑圧装置
US5774846A (en) * 1994-12-19 1998-06-30 Matsushita Electric Industrial Co., Ltd. Speech coding apparatus, linear prediction coefficient analyzing apparatus and noise reducing apparatus
US5751903A (en) * 1994-12-19 1998-05-12 Hughes Electronics Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset
JPH08279757A (ja) * 1995-04-06 1996-10-22 Casio Comput Co Ltd 階層式ベクトル量子化装置
JP3285185B2 (ja) 1995-06-16 2002-05-27 日本電信電話株式会社 音響信号符号化方法
US5561668A (en) * 1995-07-06 1996-10-01 Coherent Communications Systems Corp. Echo canceler with subband attenuation and noise injection control
US5949888A (en) * 1995-09-15 1999-09-07 Hughes Electronics Corporaton Comfort noise generator for echo cancelers
JP3196595B2 (ja) * 1995-09-27 2001-08-06 日本電気株式会社 音声符号化装置
JP3137176B2 (ja) * 1995-12-06 2001-02-19 日本電気株式会社 音声符号化装置
ATE184140T1 (de) * 1996-03-07 1999-09-15 Fraunhofer Ges Forschung Codierverfahren zur einbringung eines nicht hörbaren datensignals in ein audiosignal, decodierverfahren, codierer und decodierer
JPH09281995A (ja) * 1996-04-12 1997-10-31 Nec Corp 信号符号化装置及び方法
JP3094908B2 (ja) * 1996-04-17 2000-10-03 日本電気株式会社 音声符号化装置
JP3335841B2 (ja) * 1996-05-27 2002-10-21 日本電気株式会社 信号符号化装置
US5742694A (en) * 1996-07-12 1998-04-21 Eatwell; Graham P. Noise reduction filter
US5806025A (en) * 1996-08-07 1998-09-08 U S West, Inc. Method and system for adaptive filtering of speech signals using signal-to-noise ratio to choose subband filter bank
US5963899A (en) * 1996-08-07 1999-10-05 U S West, Inc. Method and system for region based filtering of speech
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
US6098038A (en) * 1996-09-27 2000-08-01 Oregon Graduate Institute Of Science & Technology Method and system for adaptive speech enhancement using frequency specific signal-to-noise ratio estimates
EP1071081B1 (de) * 1996-11-07 2002-05-08 Matsushita Electric Industrial Co., Ltd. Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs
ES2267135T3 (es) 1996-11-11 2007-03-01 Matsushita Electric Industrial Co., Ltd. Convertidor de velocidad de reproduccion de sonido.
JPH10149199A (ja) * 1996-11-19 1998-06-02 Sony Corp 音声符号化方法、音声復号化方法、音声符号化装置、音声復号化装置、電話装置、ピッチ変換方法及び媒体
US6148282A (en) * 1997-01-02 2000-11-14 Texas Instruments Incorporated Multimodal code-excited linear prediction (CELP) coder and method using peakiness measure
US5940429A (en) * 1997-02-25 1999-08-17 Solana Technology Development Corporation Cross-term compensation power adjustment of embedded auxiliary data in a primary data signal
JPH10247098A (ja) * 1997-03-04 1998-09-14 Mitsubishi Electric Corp 可変レート音声符号化方法、可変レート音声復号化方法
US5903866A (en) * 1997-03-10 1999-05-11 Lucent Technologies Inc. Waveform interpolation speech coding using splines
US5970444A (en) * 1997-03-13 1999-10-19 Nippon Telegraph And Telephone Corporation Speech coding method
JPH10260692A (ja) * 1997-03-18 1998-09-29 Toshiba Corp 音声の認識合成符号化/復号化方法及び音声符号化/復号化システム
JPH10318421A (ja) * 1997-05-23 1998-12-04 Sumitomo Electric Ind Ltd 比例圧力制御弁
EA001907B1 (ru) 1997-06-13 2001-10-22 Такара Сузо Ко., Лтд. Производные гидроксициклопентанона и их применение
US6073092A (en) * 1997-06-26 2000-06-06 Telogy Networks, Inc. Method for speech coding based on a code excited linear prediction (CELP) model
WO1999010719A1 (en) * 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
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
JP3922482B2 (ja) * 1997-10-14 2007-05-30 ソニー株式会社 情報処理装置および方法
EP1746583B1 (de) * 1997-10-22 2008-09-17 Matsushita Electric Industrial Co., Ltd. Tonkodierer und Tondekodierer
US6163608A (en) * 1998-01-09 2000-12-19 Ericsson Inc. Methods and apparatus for providing comfort noise in communications systems
US6023674A (en) * 1998-01-23 2000-02-08 Telefonaktiebolaget L M Ericsson Non-parametric voice activity detection
US6301556B1 (en) 1998-03-04 2001-10-09 Telefonaktiebolaget L M. Ericsson (Publ) Reducing sparseness in coded speech signals
US6415252B1 (en) * 1998-05-28 2002-07-02 Motorola, Inc. Method and apparatus for coding and decoding speech
JP3180786B2 (ja) * 1998-11-27 2001-06-25 日本電気株式会社 音声符号化方法及び音声符号化装置
US6311154B1 (en) * 1998-12-30 2001-10-30 Nokia Mobile Phones Limited Adaptive windows for analysis-by-synthesis CELP-type speech coding
JP4245300B2 (ja) 2002-04-02 2009-03-25 旭化成ケミカルズ株式会社 生分解性ポリエステル延伸成形体の製造方法

Also Published As

Publication number Publication date
EP1071081B1 (de) 2002-05-08
DE69730316T2 (de) 2005-09-08
US20050203736A1 (en) 2005-09-15
CA2242345A1 (en) 1998-05-14
US20090012781A1 (en) 2009-01-08
US20060235682A1 (en) 2006-10-19
EP0994462A1 (de) 2000-04-19
CN1495706A (zh) 2004-05-12
EP0883107A4 (de) 2000-07-26
CN1170268C (zh) 2004-10-06
KR100339168B1 (ko) 2002-06-03
KR100306815B1 (ko) 2001-11-09
CA2242345C (en) 2002-10-01
DE69713633T2 (de) 2002-10-31
US8086450B2 (en) 2011-12-27
EP1074977B1 (de) 2003-07-02
US6421639B1 (en) 2002-07-16
CN1170269C (zh) 2004-10-06
EP1071081A3 (de) 2001-01-31
EP1071079A2 (de) 2001-01-24
CN1207195A (zh) 1999-02-03
CN1169117C (zh) 2004-09-29
DE69712537T2 (de) 2002-08-29
EP1071079A3 (de) 2001-01-31
US8370137B2 (en) 2013-02-05
US20010027391A1 (en) 2001-10-04
US20010029448A1 (en) 2001-10-11
EP1094447A3 (de) 2001-05-02
HK1017472A1 (en) 1999-11-19
KR100306816B1 (ko) 2001-11-09
CN1262994C (zh) 2006-07-05
US20100324892A1 (en) 2010-12-23
EP1071080A3 (de) 2001-01-31
CN1677489A (zh) 2005-10-05
DE69710794T2 (de) 2002-08-08
KR20040000406A (ko) 2004-01-03
EP0992981A2 (de) 2000-04-12
EP1136985A2 (de) 2001-09-26
DE69713633D1 (de) 2002-08-01
EP1071081A2 (de) 2001-01-24
EP1071077A3 (de) 2001-01-31
US20010039491A1 (en) 2001-11-08
HK1097945A1 (en) 2007-07-06
US7289952B2 (en) 2007-10-30
US6799160B2 (en) 2004-09-28
DE69715478T2 (de) 2003-01-09
EP0992982A2 (de) 2000-04-12
US6345247B1 (en) 2002-02-05
EP0883107B1 (de) 2004-08-18
KR20030096444A (ko) 2003-12-31
EP1071079B1 (de) 2002-06-26
US6453288B1 (en) 2002-09-17
CN1338727A (zh) 2002-03-06
CN1178204C (zh) 2004-12-01
EP1217614A1 (de) 2002-06-26
EP1071080A2 (de) 2001-01-24
EP1074978A1 (de) 2001-02-07
US20020099540A1 (en) 2002-07-25
DE69723324T2 (de) 2004-02-19
EP0992981A3 (de) 2000-04-26
DE69723324D1 (de) 2003-08-07
CN1223994C (zh) 2005-10-19
AU4884297A (en) 1998-05-29
EP0883107A1 (de) 1998-12-09
EP1071078B1 (de) 2002-02-13
US20010034600A1 (en) 2001-10-25
KR100326777B1 (ko) 2002-03-12
DE69712927D1 (de) 2002-07-04
US8036887B2 (en) 2011-10-11
EP1071077A2 (de) 2001-01-24
DE69712928T2 (de) 2003-04-03
EP1071077B1 (de) 2002-05-08
CN1170267C (zh) 2004-10-06
DE69708697T2 (de) 2002-08-01
WO1998020483A1 (fr) 1998-05-14
DE69721595T2 (de) 2003-11-27
DE69711715T2 (de) 2002-07-18
DE69708693D1 (de) 2002-01-10
DE69711715D1 (de) 2002-05-08
CN1188833C (zh) 2005-02-09
EP0991054B1 (de) 2001-11-28
CN1338722A (zh) 2002-03-06
KR100306817B1 (ko) 2001-11-14
CN102129862A (zh) 2011-07-20
US6330534B1 (en) 2001-12-11
DE69715478D1 (de) 2002-10-17
CN1338723A (zh) 2002-03-06
DE69712927T2 (de) 2003-04-03
CN1338726A (zh) 2002-03-06
CN1338725A (zh) 2002-03-06
EP0992981B1 (de) 2001-11-28
EP1071078A2 (de) 2001-01-24
EP1074978B1 (de) 2002-02-27
DE69712538T2 (de) 2002-08-29
DE69712539T2 (de) 2002-08-29
EP0992982B1 (de) 2001-11-28
EP0991054A3 (de) 2000-04-12
CN1503223A (zh) 2004-06-09
DE69721595D1 (de) 2003-06-05
DE69712535T2 (de) 2002-08-29
EP0991054A2 (de) 2000-04-05
EP1085504B1 (de) 2002-05-29
EP1074977A1 (de) 2001-02-07
EP0994462B1 (de) 2002-04-03
US20120185242A1 (en) 2012-07-19
EP1136985B1 (de) 2002-09-11
DE69710505T2 (de) 2002-06-27
US6757650B2 (en) 2004-06-29
DE69710794D1 (de) 2002-04-04
DE69708693C5 (de) 2021-10-28
EP1071080B1 (de) 2002-05-08
EP1085504A2 (de) 2001-03-21
US6772115B2 (en) 2004-08-03
CN102129862B (zh) 2013-05-29
EP0883107B9 (de) 2005-01-26
DE69708697D1 (de) 2002-01-10
US20020007271A1 (en) 2002-01-17
DE69712928D1 (de) 2002-07-04
DE69708693T2 (de) 2002-08-01
CN1338724A (zh) 2002-03-06
DE69712539D1 (de) 2002-06-13
US6910008B1 (en) 2005-06-21
EP1136985A3 (de) 2001-10-10
US20100256975A1 (en) 2010-10-07
CN1167047C (zh) 2004-09-15
EP1094447A2 (de) 2001-04-25
EP1071078A3 (de) 2001-01-31
KR100304391B1 (ko) 2001-11-09
EP1085504A3 (de) 2001-03-28
US6330535B1 (en) 2001-12-11
EP0992982A3 (de) 2000-04-26
KR100306814B1 (ko) 2001-11-09
EP1094447B1 (de) 2002-05-29
US20080275698A1 (en) 2008-11-06
DE69712538D1 (de) 2002-06-13
US7809557B2 (en) 2010-10-05
DE69712535D1 (de) 2002-06-13
US7398205B2 (en) 2008-07-08
DE69708696D1 (de) 2002-01-10
DE69712537D1 (de) 2002-06-13
DE69730316D1 (de) 2004-09-23
US7587316B2 (en) 2009-09-08
US20070100613A1 (en) 2007-05-03
KR19990077080A (ko) 1999-10-25
DE69710505D1 (de) 2002-03-21
US6947889B2 (en) 2005-09-20

Similar Documents

Publication Publication Date Title
DE69708696T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Vektorquantisierungs-codebuchs
EP1132894B1 (de) Verfahren zur Erzeugung eines Vektorquantisierungs-Codebuchs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP