DE69634055T2 - Verfahren zur Kodierung von akustischen Signalen - Google Patents

Verfahren zur Kodierung von akustischen Signalen Download PDF

Info

Publication number
DE69634055T2
DE69634055T2 DE69634055T DE69634055T DE69634055T2 DE 69634055 T2 DE69634055 T2 DE 69634055T2 DE 69634055 T DE69634055 T DE 69634055T DE 69634055 T DE69634055 T DE 69634055T DE 69634055 T2 DE69634055 T2 DE 69634055T2
Authority
DE
Germany
Prior art keywords
vector
output
quantization
unit
noise
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
DE69634055T
Other languages
English (en)
Other versions
DE69634055D1 (de
Inventor
Masayuki Shinagawa-ku Nishiguchi
Kazuyuki Shinagawa-ku Iijima
Jun Shinagawa-ku Matsumoto
Shiro Shinagawa-ku Omori
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of DE69634055D1 publication Critical patent/DE69634055D1/de
Publication of DE69634055T2 publication Critical patent/DE69634055T2/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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband 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
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • 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
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Sprachcodierverfahren, bei dem ein Eingangssprachsignal in Form von Blöcken oder Rahmen als Codiereinheiten unterteilt und in Form der Codiereinheiten codiert wird, auf ein Decodierverfahren zum Decodieren des codierten Signals und auf ein Sprachcodierverfahren und auf ein Sprachdecodierverfahren.
  • Es sind bisher eine Vielzahl von Codierverfahren bekannt, um ein Audiosignal (einschließlich der Sprache und akustischen Signalen) zur Signalkompression durch Auswerten von statistischen Eigenschaften der Signale im Zeitbereich und im Frequenzbereich und psychoakustischen Kennlinien des menschlichen Ohrs zu codieren. Das Codierverfahren kann grob in Zeitbereichscodieren, Frequenzbereichscodieren und Analyse-/Synthesecodieren klassifiziert werden.
  • Beispiele des hochwirksamen Codierens von Sprachsignalen umfassen Sinusanalysecodieren, beispielsweise harmonische Codierung oder Multiband-Erregungs-Codierung (MBE), Subbandcodierung (SBC), lineare Vorhersagecodierung (LPC), Diskrete-Kosinus-Transformation (DCT), modifizierte DCT (MDCT) und schnelle Fourier-Transformation (FFT).
  • Bei der früheren MBE-Codierung oder der harmonischen Codierung werden nichtstimmhafte Sprachbereiche durch eine Rauschen-Erzeugungsschaltung erzeugt. Dieses Verfahren hat jedoch einen Nachteil, daß explosive Konsonanten, beispielsweise p, k oder t oder Reibelautkonsonanten nicht einwandfrei erzeugt werden können.
  • Wenn weiter codierte Parameter, die gänzlich unterschiedliche Eigenschaften haben, beispielsweise lineare Spektrumspaare (LSPs) in einem Übergangsbereich zwischen einem stimmhaften Bereich (V) und einem nichtstimmhaften Bereich (UV) interpoliert werden, besteht die Neigung, daß seltsame oder fremde Töne erzeugt werden.
  • Außerdem neigt bei der Sinussynthesecodierung die Sprache mit niedriger Tonhöhe, vor allem die männliche Sprache dazu, zu einer unnatürlichen "vollgestopften" Sprache zu werden.
  • Die EP-A 0673014 offenbart ein Verfahren zum Codieren eines hörbaren Signals nach dem Oberbegriff des Patentanspruchs 1.
  • Die vorliegende Erfindung stellt ein Verfahren zum Codieren eines hörbaren Signals bereit, bei dem ein zugeführtes hörbares Signal durch Parameter dargestellt wird, die von einem zugeführten hörbaren Signal hergeleitet werden, welches in ein Frequenzdomänensignal umgesetzt wurde, und das zugeführte hörbare Signal, welches somit gezeigt wird, unter Verwendung gewichteter Vektorquantisierung dieser Parameter codiert wird, dadurch gekennzeichnet, dass die Wichtung auf der Basis der Parameter-Orthogonaltransformationsergebnisse berechnet wird, die von einer Impulsantwort einer Wichtungsübertragungsfunktion hergeleitet werden.
  • Vorzugsweise ist die Orthogonaltransformation die schnelle Fourier-Transformation, und wobei, wenn ein Realteil und ein Imaginärteil eines Koeffizienten, die von der schnellen Fourier-Transformation resultieren, als re bzw. im ausgedrückt werden, einer von (re, im) selbst, re2 + im2 oder (re2 + im2)1/2, wenn interpoliert, als diese Wichtung verwendet wird.
  • Durch Berechnen der Wichtung im Zeitpunkt der Wichtungsvektorquantisierung der Parameter des Eingangssignals, welches in das Frequenzbereichssignal auf der Basis der Orthogonal-Transformationsergebnisse der Parameter, die von der Impulsantwort der Wichtungsübertragungsfunktion hergeleitet wird, umgesetzt werden, kann das Verarbeitungsvolumen auf einen bruchteiligen Wert vermindert werden, wodurch der Aufbau oder die Schnelligkeit der Verarbeitungsoperationen vereinfacht wird.
  • Die vorliegende Erfindung wird besser aus der folgenden Beschreibung, die lediglich beispielhaft angegeben wird, mit Hilfe der beiliegenden Zeichnungen verstanden, in denen:
  • 1 eine Blockdarstellung ist, die einen Grundaufbau eines Sprachsignal-Codiergeräts (Codierer) zum Ausführen des Codierverfahrens gemäß der vorliegenden Erfindung zeigt;
  • 2 eine Blockdarstellung ist, die eine Basisstruktur eines Sprachsignal-Decodiergeräts (Decoders) zeigt, um das Decodierverfahren gemäß der vorliegenden Erfindung auszuführen;
  • 3 eine Blockdarstellung ist, die eine speziellere Struktur des in 1 gezeigten Sprachsignalcodierers zeigt;
  • 4 eine Blockdarstellung ist, die eine detailiertere Struktur des in 2 gezeigten Sprachsignaldecoders zeigt;
  • 5 eine Blockdarstellung ist, welche eine Basisstruktur eines LPC-Quantisierers zeigt;
  • 6 eine Blockdarstellung ist, die einen detailierteren Aufbau des LPC-Quantisierers zeigt;
  • 7 eine Blockdarstellung ist, welche eine Basisstruktur des Vektorquantisierers zeigt;
  • 8 eine Blockdarstellung ist, die einen detailierteren Aufbau des Vektorquantisierers zeigt;
  • 9 ein Flußdiagramm ist, um ein spezielles Beispiel einer Verarbeitungssequenz zu zeigen, um die Wichtung zu berechnen, die für Vektorquantisierung verwendet wird;
  • 10 eine Blockschaltungsdarstellung ist, welche einen speziellen Aufbau eines CELP-Codierteils (zweites Codierteil) des Sprachsignalcodierers gemäß der vorliegenden Erfindung zeigt;
  • 11 ein Flußdiagramm ist, um den Verarbeitungsfluß in der Anordnung von 10 zu zeigen;
  • 12 den Zustand des Gauß-Rauschens und den Zustand nach dem Abschneiden bei verschiedenen Schwellenwerten zeigt;
  • 13 ein Flußdiagramm ist, welches den Verarbeitungsfluß im Erzeugungszeitpunkt eines Formcodebuchs durch Lernen zeigt;
  • 14 lineare Spektrumspaare (LSPs) 10-ter Ordnung zeigt, die von α-Parametern hergeleitet werden, die durch LPC-Analyse 10-ter Ordnung erhalten werden;
  • 15 die Art und Weise einer Verstärkungsänderung von einem UV-Rahmen zu einem V-Rahmen zeigt;
  • 16 die Interpolationsweise des Spektrums und der künstlich hergestellten Signalform von Rahmen zu Rahmen zeigt;
  • 17 die Art und Weise eines Überlappens an einer Verbindungsstelle zwischen dem stimmhaften Bereich (V) und dem nichtstimmhaften Bereich (UV) zeigt;
  • 18 den Betrieb der Rauschhinzufügung im Synthesezeitpunkt des stimmhaften Tons zeigt;
  • 19 ein Beispiel der Berechnung der Amplitude des Rauschens zeigt, welches im Synthesezeitpunkt des stimmhaften Tons hinzugefügt wurde;
  • 20 ein Aufbaubeispiel eines Nachfilters zeigt;
  • 21 die Verstärkungsfaktor-Aktualisierungsperiode und die Filterkoeffizienten-Aktualisierungsperiode des Nachfilters zeigt;
  • 22 die Verarbeitung für einen Verbindungsbereich an der Rahmengrenze der Verstärkungsfaktor-Filterkoeffizienten eines Nachfilters zeigt;
  • 23 eine Blockdarstellung ist, welche den Aufbau einer Übertragungsseite eines tragbaren Endgeräts zeigt, bei dem ein Sprachsignalcodierer gemäß der vorliegenden Erfindung verwendet wird;
  • 24 eine Blockdarstellung ist, welche den Aufbau einer Empfangsseite eines tragbaren Endgeräts zeigt, bei dem ein Sprachsignaldecoder gemäß der vorliegenden Erfindung verwendet wird.
  • Bezugnehmend auf die Zeichnungen werden bevorzugte Ausführungsformen der vorliegenden Erfindung ausführlich erläutert.
  • 1 zeigt den Basisaufbau eines Codiergeräts (Codierers) zum Ausführen eines Sprachcodierverfahrens gemäß der vorliegenden Erfindung.
  • Das Basiskonzept, welches dem Sprachsignalcodierer von 1 zu Grunde liegt, besteht darin, daß der Codierer eine erste Codiereinheit 110 hat, um kurzzeitige Vorhersagereste zu finden, beispielsweise lineare Vorhersage-Codierreste (LPC) des Eingangssprachsignals, um die Sinusanalyse auszuführen, beispielsweise harmonisches Codieren, und eine zweite Codiereinheit 120, um das Eingangssprachsignal durch Signalformcodierung zu codieren, welches Phasenreproduzierbarkeit hat, und daß die erste Codiereinheit 110 und die zweite Codiereinheit 120 dazu verwendet werden, die stimmhafte Sprache (V) des Eingangssignals bzw. den nichtstimmhaften Bereich (UV) des Eingangssignals zu codieren.
  • Die erste Codiereinheit 110 verwendet einen Codieraufbau, beispielsweise die LPC-Reste mit Sinusanalysecodierung, beispielsweise harmonischer Codierung oder Multiband-Erregungscodierung (MBE). Die zweite Codiereinheit 120 verwendet einen Aufbau, code-erregte lineare Vorhersage (CELP) unter Verwendung der Vektorquantisierung durch Suche mit geschlossenem Regelkreis nach einem optimalen Vektor und auch unter Verwendung beispielsweise eines Analyse-Syntheseverfahrens auszuführen.
  • Bei einer in 1 gezeigten Ausführungsform wird das zu einem Eingangsanschluß 101 gelieferte Sprachsignal zu einem inversen LPC-Filter 111 und einer LPC-Analyse- und Quantisierungseinheit 113 einer ersten Codiereinheit 110 geliefert. Die LPC-Koeffizienten oder die sogenannten α-Parameter, die durch eine LPC-Analysequantisierungseinheit erhalten werden, werden zum inversen LPC-Filter 111 der ersten Codiereinheit 110 geliefert. Vom inversen LPC-Filter 111 werden lineare Vorhersagereste (LPC-Reste) des Eingangssprachsignals herausgenommen. Von der LPC-Analysequantisierungseinheit 113 wird ein quantisiertes Ausgangssignal von linearen Spektrumspaaren (LSPs) herausgenommen und zu einem Ausgangsanschluß 102 geliefert, wie später erläutert wird. Die LPC-Reste vom inversen LPC-Filter 111 werden zu einer Sinusanalyse-Codiereinheit 114 geliefert. Die Sinusanalyse-Codiereinheit 114 führt die Tonhöhenermittlung und Berechnungen der Amplitude der Spektralhüllkurve wie auch die V/UV-Unterscheidung durch eine V/UV-Unterscheidungseinheit 115 durch. Die Spektralhüllkurven-Amplitudendaten von der Sinusanalyse-Codiereinheit 114 werden zu einer Vektorquantisierungseinheit 116 geliefert. Der Codebuch-Index von der Vektorquantisierungseinheit 116 wird als vektor-quantisiertes Ausgangssignal der Spektralhüllkurve über einen Schalter 117 zu einem Ausgangsanschluß 103 geliefert, während ein Ausgangssignal der Sinusanalyse-Codiereinheit 114 über einen Schalter 118 zu einem Ausgangsanschluß 104 geliefert wird. Das V/UV-Unterscheidungsausgangssignal der V/UV-Unterscheidungseinheit 115 wird zu einem Ausgangsanschluß 105 und als Steuersignal zu den Schaltern 117, 118 geliefert. Wenn das Eingangssprachsignal ein stimmhafter Ton (V) ist, wird der Index und die Tonhöhe ausgewählt bzw. an den Ausgangsanschlüssen 103, 104 abgenommen.
  • Die zweite Codiereinheit 120 von 1 hat bei der vorliegenden Ausführungsform eine code-erregte lineare Vorhersagecodier-Konfiguration (CELP-Codierung) und vektor-quantisiert die Zeitbereichs-Signalform unter Verwendung einer Suche mit geschlossenem Regelkreis unter Verwendung eines Analyse-Syntheseverfahrens, bei dem ein Ausgangssignal eines Rausch-Codebuchs 121 durch ein gewichtetes Synthesefilter künstlich hergestellt wird und die resultierende gewichtete Sprache zu einem Subtrahierer 123 geliefert wird, ein Fehler zwischen der gewichteten Sprache und dem Sprachsignal, welches zum Eingangsanschluß 101 und daher über ein wahrnehmbares Wichtungsfilter 125 geliefert wird, herausgenommen wird, wobei der somit gefundene Fehler zu einer Abstandsberechnungsschaltung 124 geliefert wird, um Abstandsberechnungen auszuführen, und nach einem Vektor, mit dem der Fehler minimiert wird, durch das Rausch-Codebuch 121 gesucht. Dieses CELP-Codieren wird dazu verwendet, den nichtstimmhaften Sprachbereich zu codieren, wie oben erläutert wurde. Der Codebuch-Index, beispielsweise die UV-Daten vom Rausch-Codebuch 121, werden an einem Ausgangsanschluß 107 über einen Schalter 127 abgenommen, der eingeschaltet wird, wenn das Ergebnis der V/UV-Unterscheidung nichtstimmhaft ist (UV).
  • 2 ist eine Blockdarstellung, die die Basisstruktur eines Sprachsignaldecoders zeigt, als Gegenstück des Sprachsignalcodierers von 1, um das Sprachdecodierverfahren gemäß der vorliegenden Erfindung auszuführen.
  • Gemäß 2 wird ein Codebuch-Index als Quantisierungsausgangssignal der linearen Spektralpaare (LSPs) vom Ausgangsanschluß 102 von 1 zu einem Eingangsanschluß 202 geliefert. Die Ausgangssignale von den Ausgangsanschlüssen 103, 104 und 105 von 1, d. h., die Tonhöhe, das V/UV-Unterscheidungsausgangssignal und die Indexdaten werden als Hüllkurvenquantisierungs-Ausgangsdaten zu Eingangsanschlüssen 203 bis 205 entsprechend geliefert. Die Indexdaten, wie Daten für die nichtstimmhaften Daten, werden vom Ausgangsanschluß 107 von 1 zu einem Eingangsanschluß 202 geliefert.
  • Der Index als Hüllkurvenquantisierungs-Ausgangssignal des Eingangsanschlusses 203 wird zu einer inversen Vektorquantisierungseinheit 212 zur inversen Vektorquantisierung geliefert, um eine Spektralhüllkurve der LPC-Reste zu finden, der zu einem Stimmhaft-Sprach-Synthesizer 211 geliefert wird. Der Stimmhaft-Sprach-Synthesizer 211 stellt die linearen Vorhersagecodierreste (LPC) des stimmhaften Sprachbereichs durch Sinussynthese künstlich her. Der Synthesizer 211 wird außerdem mit der Tonhöhe und dem V/UV-Unterscheidungsausgangssignal von den Eingangsanschlüssen 204, 205 beliefert. Die LPC-Reste der stimmhaften Sprache von der Stimmhaft-Sprach-Syntheseeinheit 211 werden zu einem LPC-Synthesefilter 214 geliefert. Die Indexdaten der UV-Daten vom Eingangsanschluß 207 werden zu einer Nichtstimmhaft-Ton-Syntheseeinheit 220 geliefert, wo bezuggenommen wird zu dem Rausch-Codebuch, um die LPC-Reste des nichtstimmhaften Bereichs herauszunehmen. Diese LPC-Reste werden außerdem zum LPC-Synthesefilter 214 geliefert. Im LPC-Synthesefilter 214 werden die LPC-Reste des stimmhaften Bereichs und die LPC-Reste des nichtstimmhaften Bereichs durch LPC-Synthese verarbeitet. Alternativ können die LPC-Reste des stimmhaften Bereichs und die LPC-Reste des nichtstimmhaften Bereichs, die miteinander addiert sind, mit LPC-Synthese verarbeitet werden. Die LSP-Indexdaten vom Eingangsanschluß 202 werden zur LPC-Parameter-Wiedergabeeinheit 213 geliefert, wo α-Parameter der LPC herausgenommen werden und zum LPC-Synthesefilter 214 geliefert werden. Die Sprachsignale, die durch das LPC-Synthesefilter 214 künstliche aufgebaut sind, werden an einem Ausgangsanschluß 201 abgenommen.
  • Mit Hilfe von 3 wird ein ausführlicher Aufbau eines Sprachsignalcodierers, der in 1 gezeigt ist, nun erläutert. In 3 sind Teile oder Komponenten, die denjenigen ähnlich sind, die in 1 gezeigt sind, mit den gleichen Bezugszeichen bezeichnet.
  • Im in 3 gezeigten Sprachsignalcodierer werden Sprachsignale, die zum Eingangsanschluß 101 geliefert werden, durch ein Hochpaßfilter HPF 109 gefiltert, um Signale eines nicht benötigten Bereichs zu entfernen, und dann zur LPC-Analyseschaltung 132 der LPC-Analyse-/Quantisierungseinheit 113 und zum inversen LPC-Filter 111 geliefert.
  • Die LPC-Analyseschaltung 132 der LPC-Analyse-/Quantisierungseinheit 130 verwendet ein Hamming-Fenster mit einer Länge der Eingangssignalform in der Größenordnung von 256 Abtastungen als Block und findet einen linearen Vorhersagekoeffizienten, d. h., einen sogenannten α-Parameter durch das Autokorrelationsverfahren. Das Rahmungsintervall als Datenausgabeeinheit wird auf ungefähr 160 Abtastungen (Proben) gesetzt. Wenn die Abtastfrequenz fs gleich 8 kHz beträgt, beträgt beispielsweise ein Rahmenintervall 20 ms oder 160 Abtastungen.
  • Der α-Parameter von der LPC-Analyseschaltung 132 wird zu einer α-LSP-Umsetzungsschaltung 133 zur Umsetzung in lineare Spektrumspaar-Parameter (LSP-Parametern) geliefert. Diese setzt den α-Parameter, der durch den direkten Filterkoeffizienten gefunden wird, in beispielsweise 10, d. h., fünf Paare der LSP-Parameter um. Diese Umsetzung wird beispielsweise durch das Newton-Rhapson-Verfahren ausgeführt. Der Grund dafür, daß α-Parameter in die LSP-Parameter umgesetzt werden, ist der, daß der LSP-Parameter bezüglich der Interpolationscharakteristik gegenüber den α-Parametern überlegen ist.
  • Die LSP-Parameter von der α-LSP-Umsetzungsschaltung 133 werden durch den LSP-Quantisierer 134 matrix- oder vektor-quantisiert. Es ist möglich, eine Rahmen-Rahmen-Differenz vor der Vektorquantisierung herzunehmen oder mehrere Rahmen zu sammeln, um die Matrixquantisierung durchzuführen. Im vorliegenden Fall werden zwei Rahmen, die jeweils 20 ms lang sind, der LSP-Parameter, die alle 20 ms berechnet werden, zusammen gehandhabt und mit der Matrixquantisierung und der Vektorquantisierung verarbeitet.
  • Das quantisierte Ausgangssignal des Quantisierers 134, d. h., die Indexdaten der LSP-Quantisierer werden an einem Anschluß 102 herausgenommen, während der quantisierte LSP-Vektor zu einer LSP-Interpolationsschaltung 136 geliefert wird.
  • Die LSP-Interpolationsschaltung 136 interpoliert die LSP-Vektoren, die alle 20 ms oder 40 ms quantisiert wurden, um eine acht-fache Rate zu liefern. Das heißt, der LSP-Vektor wird alle 2,5 ms aktualisiert. Der Grund dafür ist, daß, wenn die Restsignalform mit der Analyse-Synthese durch das harmonische Codier-/Decodierverfahren verarbeitet wird, die Hüllkurve der synthetischen Signalform eine extrem geglättete Signalform zeigt, so daß, wenn die LPC-Koeffizienten abrupt alle 20 ms geändert werden, ein fremdartiges Rauschen wahrscheinlich erzeugt werden würde. Das heißt, wenn der LPC-Koeffizient allmählich alle 2,5 ms geändert wird, kann verhindert werden, daß solches fremdartiges Rauschen auftreten kann.
  • Zum inversen Filtern der Eingangssprache unter Verwendung der interpolierten LSP-Vektoren, die alle 2,5 ms erzeugt wurden, werden die LSP-Parameter durch eine LSP-zu-α-Umsetzungsschaltung 137 in α-Parameter umgesetzt, die Filterkoeffizienten von bei spielsweise eines Direktfilters 10-ter Ordnung sind. Ein Ausgangssignal der LSP-zu-α-Umsetzungsschaltung 137 wird zur inversen LPC-Filterschaltung 111 geliefert, die dann inverses Filtern durchführt, um ein geglättetes Ausgangssignal zu erzeugen, wobei ein α-Parameter verwendet wird, der alle 2,5 ms aktualisiert wurde. Ein Ausgangssignal des inversen LPC-Filters 111 wird zu einer Orthogonal-Transformationsschaltung 145 geliefert, beispielsweise einer DCT-Schaltung der Sinusanalyse-Codiereinheit 114, beispielsweise einer harmonischen Codierschaltung.
  • Der α-Parameter von der LPC-Analyseschaltung 132 der LPC-Analyse-/Quantisierungseinheit 113 wird zu einer Wahrnehmungswichtungsfilter-Berechnungsschaltung 139 geliefert, wo Daten für wahrnehmbares Wichten gefunden werden. Diese Wichtungsdaten werden zu einem Wahrnehmungswichtungs-Vektorquantisierer 116, einem Wahrnehmungswichtungsfilter 125 und dem Wahrnehmungswichtungs-Synthesefilter 122 der zweiten Codiereinheit 120 geliefert.
  • Die Sinusanalyse-Codiereinheit 114 der harmonischen Codierschaltung analysiert das Ausgangssignal des inversen LPC-Filters 111 durch ein Verfahren einer harmonischen Codierung. Das heißt, die Tonhöhenermittlung, Berechnungen der Amplituden Am der entsprechenden Harmonischen und der stimmhaften (V)/nichtstimmhaften (UV) Unterscheidung werden ausgeführt und die Anzahl der Amplituden Am oder der Hüllkurven der entsprechenden Harmonischen, die mit der Tonhöhe variierten, werden durch zweidimensionale Umsetzung konstant gemacht.
  • Bei einem beispielhaften Beispiel der Sinusanalyse-Codiereinheit 114, die in 3 gezeigt ist, wird alltägliches harmonisches Codieren verwendet. Insbesondere nimmt man bei der Multiband-Erregungs-Codierung (MBE) beim Modellbilden an, daß stimmhafte Bereiche und nichtstimmhafte Bereiche in jedem Frequenzbereich oder Band im gleichen Zeitpunkt (im gleichen Block oder Rahmen) vorhanden sind. Bei anderen harmonischen Codierverfahren wird einmalig beurteilt, ob die Sprache in einem Block oder in einem Rahmen stimmhaft oder nichtstimmhaft ist. In der folgenden Beschreibung wird ein vorgegebener Rahmen beurteilt, nichtstimmhaft zu sein, wenn die Gesamtheit der Bänder UV ist, insoweit das MBE-Codieren betroffen ist. Spezielle Beispiele des Verfahrens des Analyse-Synthese-Verfahrens für MBE, wie oben beschrieben, können in der JP-Patentanmeldung Nr. 4-914 42 gefunden werden, die im Namen des Bevollmächtigten der vorliegenden Anmeldung angemeldet wurde.
  • Die Tonhöhensucheinheit 141 mit offenem Regelkreis und der Nulldurchgangszähler 142 der Sinusanalyse-Codiereinheit 114 von 3 werden mit dem Eingangssprachsi gnal vom Eingangsanschluß 101 bzw. mit dem Signal vom Hochpaßfilter (HPF) 109 beliefert. Die Orthogonal-Transformationsschaltung 145 der Sinusanalyse-Codiereinheit 114 wird mit LPC-Resten oder linearen Vorhersageresten vom inversen LPC-Filter 111 beliefert. Die Tonhöhensucheinheit 141 mit offenem Regelkreis nimmt die LPC-Reste der Eingangssignale, um relativ grobe Tonhöhensuche durch Suche mit offenem Regelkreis durchzuführen. Die extrahierten groben Tonhöhendaten werden zu einer Feintonhöhen-Sucheinheit 146 zur Suche mit geschlossenem Regelkreis geliefert, wie später erläutert wird. Von der Sucheinheit 141 mit offenem Regelkreis werden der Maximalwert der normierten Selbstkorrelation r(p), der durch Normierung des Maximalwerts der Autokorrelation der LPC-Reste gemeinsam mit den Grobtonhöhendaten erhalten wird, gemeinsam mit den Grobtonhöhendaten herausgenommen, die zur V/UV-Unterscheidungseinheit 115 geliefert werden.
  • Die Orthogonal-Transformationsschaltung 145 führt die Orthogonal-Transformation durch, beispielsweise die diskrete Fourier-Transformation (DFT), um die LPC-Reste auf der Zeitachse in Spektralamplitudendaten auf der Frequenzachse umzusetzen. Ein Ausgangssignal der Orthogonal-Transformationsschaltung 145 wird zur Feintonhöhen-Sucheinheit 146 und zu einer Spektralauswertungseinheit 148 geliefert, die ausgebildet ist, die Spektralamplitude oder die Hüllkurve auszuwerten.
  • Die Feintonhöhen-Sucheinheit 146 wird mit relativ groben Tonhöhendaten beliefert, die durch die Tonhöhensucheinheit 141 mit offenem Regelkreis extrahiert wurden, und mit Frequenzbereichsdaten, die durch DFT durch die Orthogonal-Transformationseinheit 145 erhalten wurden. Die Feintonhöhen-Sucheinheit 146 verschwenkt die Tonhöhendaten um ± mehrere Abtastungen mit einer Rate von 0,2 bis 0,5 mit der Mitte um die groben Tonhöhendaten, um schließlich bei dem Wert der Feintonhöhendaten anzukommen, der einen optimalen Dezimalpunkt (Gleitkomma) hat. Das Analyse-Syntheseverfahren wird als Feinsuchverfahren verwendet, um eine Tonhöhe auszuwählen, so daß das Leistungsspektrum am nähesten dem Leistungsspektrum des Ursprungstons sein wird. Tonhöhendaten von der Feintonhöhen-Sucheinheit 146 mit geschlossenem Regelkreis werden zu einem Ausgangsanschluß 104 über einen Schalter 118 geliefert.
  • In der Spektralauswertungseinheit 148 werden die Amplitude aller Harmonischen und die Spektralhüllkurve als Summe der Harmonischen auf der Basis der Spektralamplitude und der Tonhöhe wie die Orthogonal-Transformation, die von den LPC-Resten ausgegeben wird, ausgewertet und zur Feintonhöhen-Sucheinheit 146, zur V/UV-Unterscheidungseinheit 115 und zur Wahrnehmungswichtungs-Vektorquantisierungseinheit 116 geliefert.
  • Die V/UV-Unterscheidungseinheit 115 unterscheidet V/UV eines Rahmens auf der Basis eines Ausgangssignals der Orthogonal-Transformationsschaltung 145, einer optimalen Tonhöhe von der Feintonhöhen-Sucheinheit 146, Spektralamplitudendaten von der Spektralauswertungseinheit 148, des Maximalwerts der normierten Autokorrelation r(p) von der Tonhöhensucheinheit 141 mit offenem Regelkreis und des Nulldurchgangs-Zählwerts vom Nulldurchgangszähler 142. Außerdem kann die Grenzposition der Bandbasis-V/UV-Unterscheidung für MBE ebenfalls als Bedingung zur V/UV-Unterscheidung verwendet werden. Ein Unterscheidungsausgangssignal der V/UV-Unterscheidungseinheit 115 wird an einem Ausgangsanschluß 105 abgenommen.
  • Eine Ausgangssignaleinheit der Spektrumsauswertungseinheit 148 oder eine Eingangseinheit der Vektorquantisierungseinheit 116 wird mit einer Datenumsetzungseinheitsnummer versehen (eine Einheit, welche eine Art von Abtastratenumsetzung durchführt). Die Datenumsetzungseinheitsnummer wird zum Einstellen der Amplitudendaten |Am| einer Hüllkurve auf einen konstanten Wert in Abwägung davon verwendet, daß die Anzahl von Bändern auf der Frequenzachse verteilt sind und die Anzahl von Daten sich mit der Tonhöhe unterscheiden. Das heißt, wenn das effektive Band bis zu 3400 kHz beträgt, kann das effektive Band in 8 bis 63 Bändern in Abhängigkeit von der Tonhöhe aufgespalten werden. Die Anzahl von MX + 1 der Amplitudendaten |Am|, die von Band zu Band erhalten wird, wird in einem Bereich von 8 bis 63 geändert. Somit setzt die Datenanzahl-Umsetzungseinheit die Amplitudendaten der variablen Anzahl mMx + 1 auf einer vorher festgelegte Anzahl M von Daten um, beispielsweise 44 Daten.
  • Die Amplitudendaten oder die Hüllkurvendaten der vorher festgelegten Anzahl M, beispielsweise 44, von der Datenanzahl-Umsetzungseinheit, die in einer Ausgabeeinheit der Spektralauswertungseinheit 148 oder in einer Eingangseinheit der Vektorquantisierungseinheit 116 vorgesehen sind, werden zusammen hinsichtlich einer vorher festgelegten Anzahl von Daten, beispielsweise 44 als Einheit durch die Vektorquantisierungseinheit 116 mittels Durchführen der gewichteten Vektorquantisierung gehandhabt. Diese Wichtung wird durch ein Ausgangssignal der Wahrnehmungswichtungs-Filterberechnungsschaltung 139 geliefert. Der Index der Hüllkurve vom Vektorquantisierer 116 wird durch einen Schalter 117 an einem Ausgangsanschluß 103 abgenommen. Vor der Wichtungsvektorquantisierung ist es empfehlenswert, die Interrahmendifferenz unter Verwendung eines geeigneten Streukoeffizienten für einen Vektor zu nehmen, der aus einer vorher festgelegten Anzahl von Daten besteht.
  • Es wird nun die zweite Codiereinheit 120 erläutert. Die zweite Codiereinheit 120 hat eine sogenannte CELP-Codierstruktur und wird insbesondere zum Codieren des nicht stimmhaften Bereichs des Eingangssprachsignals verwendet. Bei der CELP-Codierstruktur für den nichtstimmhaften Bereich des Eingangssprachsignals wird ein Rausch-Ausgangssignal entsprechend den LPC-Resten des nichtstimmhaften Tons als repräsentativer Ausgangssignalwert des Rausch-Codebuchs oder ein sogenanntes stochastisches Codebuch 121 über eine Gewinnsteuerschaltung 126 zu einem Wahrnehmungswichtungs-Synthesefilter 122 geliefert. Das Wichtungssynthesefilter 122 stellt gemäß LPC das Eingangsrauschen durch LPC-Synthese künstlich her und sendet das erzeugte gewichtete nichtstimmhafte Signal zum Subtrahierer 123. Der Subtrahierer 123 wird mit einem Signal beliefert, welches vom Eingangsanschluß 101 über ein Hochpaßfilter (HPF) 109 geliefert wird und durch ein Wahrnehmungswichtungsfilter 125 wahrnehmungsgewichtet ist. Der Subtrahierer findet die Differenz oder den Fehler zwischen dem Signal und dem Signal vom Synthesefilter 122. In der Zwischenzeit wird eine Nulleingangssignalantwort des Wahrnehmungswichtungs-Synthesefilters vorher von einem Ausgangssignal des Wahrnehmungswichtungs-Filterausgangssignals 125 subtrahiert. Dieser Fehler wird zu einer Distanzberechnungsschaltung 124 geführt, um die Distanz zu berechnen. Ein repräsentativer Vektorwert, der den Fehler minimieren wird, wird im Rausch-Codebuch 121 gesucht. Das obige ist die Zusammenfassung der Vektorquantisierung der Zeitbereichs-Signalform, wobei die Suche mit geschlossenen Regelkreis durch das Analyse-Synthese-Verfahren verwendet wird.
  • Als Daten für den nichtstimmhaften Bereich (UV) vom zweiten Codierer 120 unter Verwendung der CELP-Codierstruktur werden der Formindex des Codebuchs für das Rausch-Codebuch 121 und der Gewinnindex (Verstärkungsindex) des Codebuchs von der Gewinnschaltung 126 abgenommen. Der Formindex, der die UV-Daten vom Rausch-Codebuch 121 ist, wird zu einem Ausgangsanschluß 107s über einen Schalter 127s geliefert, während der Gewinnindex, der die UV-Daten der Gewinnschaltung 126 ist, zu einer Ausgangsanschluß 107g über einen Schalter 127g geliefert wird.
  • Diese Schalter 127s, 127g und die Schalter 117, 118 werden in Abhängigkeit von den Ergebnissen der V/UV-Entscheidung von der V/UV-Unterscheidungseinheit 115 eingeschaltet und ausgeschaltet. Insbesondere werden die Schalter 117, 118 eingeschaltet, wenn die Ergebnisse der V/UV-Unterscheidung des Sprachsignals des laufend übertragenen Rahmens stimmhaft anzeigt (V), während die Schalter 127s, 127g eingeschaltet werden, wenn das Sprachsignal des laufend übertragenen Rahmens nichtstimmhaft ist (UV).
  • 4 zeigt einen ausführlicheren Aufbau eines Sprachsignaldecoders, der in 2 gezeigt ist. In 4 werden die gleichen Bezugszeichen dazu verwendet, um Komponenten, die in 2 gezeigt ist, zu bezeichnen.
  • In 4 wird ein Vektorquantisierungs-Ausgangssignal der LSPs entsprechend dem Ausgangsanschluß 102 von 1 und 3, d. h., der Codebuch-Index zu einem Eingangsanschluß 202 geliefert.
  • Der LSP-Index wird zum Invertierungsvektorquantisierer 231 des LSP für die LSP-Parameterwiedergabeeinheit 213 geliefert, wo er invers vektor-quantisiert wird zu linearen Spektral-Paardaten LSP, die dann zu LSP-Interpolationsschaltungen 232, 233 zur Interpolation geliefert werden. Die resultierenden Interpolationsdaten werden durch die LSP-α-Umsetzungsschaltungen 234, 235 in α-Parameter umgesetzt, die zu einem LPC-Synthesefilter 214 geliefert werden. Die LSP-Interpolationsschaltung 232 und die LSP-α-Umsetzungsschaltung 234 sind für den stimmhaften Ton (V) bestimmt, während die LSP-Interpolationsschaltung 233 und die LSP-α-Umsetzungsschaltung 235 für nichtstimmhaften Ton (UV) bestimmt sind. Das LPC-Synthesefilter 214 besteht aus dem LPC-Synthesefilter 236 des stimmhaften Sprachbereichs und dem LPC-Synthesefilter 237 des nichtstimmhaften Sprachbereichs. Das heißt, die LPC-Koeffizienteninterpolation wird unabhängig für den stimmhaften Sprachbereich und den nichtstimmhaften Sprachbereich ausgeführt, um schlechte Wirkungen zu vermeiden, die ansonsten im Übergangsbereich vom stimmhaften Sprachbereich zum nichtstimmhaften Sprachbereich oder umgekehrt durch Interpolation der LSPs von gänzlich unterschiedlichen Eigenschaften erzeugt werden würden.
  • Zu einem Eingangsanschluß 203 von 1 werden Codeindexdaten entsprechend der gewichteten vektor-quantisierten Spektralhüllkurve Am entsprechend dem Ausgangssignal des Anschlusses 103 des Codierers von 1 und 3 geliefert. Zu einem Eingangsanschluß 204 werden Tonhöhendaten vom Anschluß 104 von 1 und 3 geliefert, und zu einem Eingangsanschluß 205 werden V/UV-Unterscheidungsdaten vom Anschluß 105 von 1 und 3 geliefert.
  • Die vektor-quantisierten Indexdaten der Spektralhüllkurve Am vom Eingangsanschluß 203 werden zu einem inversen Vektorquantisierer 212 zur inversen Vektorquantisierung geliefert, wo eine inverse Umsetzung umgekehrt zur Datenanzahlumsetzung ausgeführt wird. Die resultierenden Spektralhüllkurvendaten werden zur Sinussyntheseschaltung 215 geliefert.
  • Wenn eine Interrahmendifferenz vor der Vektorquantisierung des Spektrums während des Codierens gefunden wird, wird die Interrahmendifferenz nach der inversen Vektorquantisierung decodiert, um die Spektralhüllkurvendaten zu erzeugen.
  • Die Sinussyntheseschaltung 215 wird mit der Tonhöhe vom Eingangsanschluß 204 und den V/UV-Unterscheidungsdaten vom Eingangsanschluß 205 beliefert. Von der Sinus syntheseschaltung 215 werden die LPC-Restdaten entsprechend dem Ausgangssignal des inversen LPC-Filters 111, welches in 1 und 3 gezeigt ist, herausgenommen und zu einem Addierer 218 geliefert. Das spezielle Verfahren der Sinussynthese ist beispielsweise in der JP-Patentanmeldung Nr. 4-914 42 und der 6-198 451 offenbart, die durch die vorliegende Bevollmächtigte vorgeschlagen wurden.
  • Die Hüllkurvendaten des inversen Vektorquantisierers 212 und die Tonhöhe und die V/UV-Unterscheidungsdaten von den Eingangsanschlüssen 204, 205 werden zu einer Rausch-Syntheseschaltung 216 geliefert, die zur Rausch-Addition für den stimmhaften Bereich (V) konfiguriert ist. Ein Ausgangssignal der Rausch-Syntheseschaltung 216 wird über eine Wichtungsüberlappungs- und Addierschaltung 217 zu einem Addierer 218 geliefert. Insbesondere wird das Rauschen zum stimmhaften Bereich der LPC-Restsignale in Erwägung addiert, daß, wenn die Erregung als ein Eingangssignal zur LPC-Synthesefilter des stimmhaften Tons durch Sinuswellensynthese erzeugt wird, ein vollgestopftes Gefühl im Ton mit niedriger Tonhöhe erzeugt wird, beispielsweise der männlichen Sprache, und die Tonqualität abrupt zwischen dem stimmhaften Ton und dem nichtstimmhaften Ton geändert wird, wodurch ein unnatürliches Hörgefühl erzeugt wird. Dieses Rauschen zieht die Parameter in betracht, die mit den Sprachcodierdaten befaßt sind, beispielsweise die Tonhöhen, die Amplituden der Spektralhüllkurve, die Maximalamplitude in einem Rahmen oder den Restsignalpegel in Verbindung mit dem LPC-Synthesefiltereingangssignal des stimmhaften Sprachbereichs, d. h., Erregung.
  • Ein Summenausgangssignal des Addierers 218 wird zu einem Synthesefilter 236 für den stimmhaften Ton des LPC-Synthesefilters 214 geliefert, wo die LPC-Synthese ausgeführt wird, um Zeitsignalformdaten zu bilden, die dann durch ein Nachfilter 238v für die stimmhafte Sprache gefiltert und zum Addierer 239 geliefert werden.
  • Der Formindex und der Verstärkungsmaßindex werden als UV-Daten von den Ausgangsanschlüssen 107s und 107g von 3 zu den Eingangsanschlüssen 207s und 207g von 4 entsprechend geliefert, und dann zur nichtstimmhaften Sprachsyntheseeinheit 220 geliefert. Der Formindex vom Anschluß 207s wird zum Rausch-Codebuch 221 der nichtstimmhaften Sprachsyntheseeinheit 220 geliefert, während der Gewinnindex vom Anschluß 207g zur Gewinnschaltung 222 geliefert wird. Das repräsentative Wertausgangssignal, welches vom Rausch-Codebuch 221 gelesen wird, ist eine Rausch-Signalkomponente entsprechend den LPC-Resten der nichtstimmhaften Sprache. Dieses wird zu einer voreingestellten Gewinnamplitude in der Gewinnschaltung 222 und wird zu einer Fensterbildungsschaltung 223 geliefert, wo ein Fenster gebildet wird, um die Verbindung zum stimmhaften Sprachbereich zu glätten.
  • Ein Ausgangssignal der Fensterbildungsschaltung 223 wird zu einem Synthesefilter 237 für die nichtstimmhafte Sprache (UV) des LPC-Synthesefilters 214 geliefert. Die Daten, die zum Synthesefilter 237 geliefert werden, werden mit LPC-Synthese verarbeitet, um zu Zeitsignalformdaten für den nichtstimmhaften Bereich zu werden. Die Zeitsignalformdaten des nichtstimmhaften Bereichs werden durch ein Nachfilter für den nichtstimmhaften Bereich 238u gefiltert, bevor sie zu einem Addierer 239 geliefert werden.
  • Im Addierer 239 wird das Zeitschwingungsformsignal vom Nachfilter 238u für die stimmhafte Sprache und die Zeitsignalformdaten für den nichtstimmhaften Sprachbereich vom Nachfilter 238u für die nichtstimmhafte Sprache miteinander addiert, und die resultierenden Summendaten werden am Ausgangsanschluß 201 abgenommen.
  • Der oben beschriebene Sprachsignalcodierer kann Daten unterschiedlicher Bitdaten in Abhängigkeit von der gewünschten Tonqualität ausgeben. Das heißt, die Ausgangsdaten können mit variablen Bitraten ausgegeben werden. Wenn beispielsweise die niedrige Bitrate 2 kbps beträgt und die hohe Bitrate 6 kbps beträgt, sind die Ausgangsdaten Daten von Bitraten, welche die folgenden Bitraten haben, die in der Tabelle 1 gezeigt sind.
  • Figure 00150001
  • Die Tonhöhendaten vom Ausgangsanschluß 104 werden immer mit einer Bitrate von 8 Bits/20 ms für die stimmhafte Sprache ausgegeben, wobei das V/UV-Unterscheidungsausgangssignal vom Ausgangsanschluß 105 immer 1 Bit/20 ms ist. Der Index für die LSP-Quantisierung, der am Ausgangsanschluß 102 ausgegeben wird, wird zwischen 32 Bits/40 ms und 48 Bits/40 ms umgeschaltet. Dagegen wird der Index während der stimmhaften Sprache (V), der durch den Ausgangsanschluß 103 ausgegeben wird, zwischen 15 Bits/20 ms und 87 Bits/20 ms umgeschaltet. Der Index für die nichtstimmhafte Sprache (UV), der am Ausgangsanschluß 107s und 107g ausgegeben wird, wird zwischen 11 Bits/10 ms und 23 Bits/5 ms umgeschaltet. Die Ausgangsdaten für den stimmhaften Ton (UV) sind 40 Bits/20 ms für 2 kbps und 120 Bits/20 ms für 6 kbps. Auf der anderen Seite sind die Ausgangsdaten für den stimmhaften Ton (UV) 39 Bits/20 ms für 2 kbps und 117 Bits/20 ms für 6 kbps.
  • Der Index für die LSP-Quantisierung, der Index für die stimmhafte Sprache (V) und der Index für die nichtstimmhafte Sprache (UV) werden später in Verbindung mit der Anordnung von sachdienlichen Bereichen erläutert.
  • Mit Hilfe von 5 und 6 wird die Matrixquantisierung und die Vektorquantisierung im LSP-Quantisierer 134 ausführlich erläutert.
  • Der α-Parameter von der LPC-Analyseschaltung 132 wird zu einer α-LSP-Schaltung 133 geliefert, um in LSP-Parametern umgesetzt zu werden. Wenn die P-Ordnung-LPC-Analyse in einer LPC-Analyseschaltung 132 durchgeführt wird, werden P α-Parameter berechnet. Diese P α-Parameter werden in LSP-Parameter umgesetzt, die in einem Pufferspeicher 610 gehalten werden.
  • Der Puffer 610 gibt 2 Rahmen von LSP-Parametern aus. Die beiden Rahmen der LSP-Parameter werden durch einen Matrixquantisierer 620 matrix-quantisiert, der aus einem ersten Matrixquantisierer 6201 und einem zweiten Matrixquantisierer 6202 besteht. Die beiden Rahmen der LSP-Parameter werden im ersten Matrixquantisierer 6201 matrix-quantisiert, und der resultierende Quantisierungsfehler wird weiter im zweiten Matrixquantisierer 6202 matrix-quantisiert. Die Matrixquantisierung wertet die Korrelation sowohl in der Zeitachse als auch in der Frequenzachse aus. Der Quantisierungsfehler für die beiden Rahmen vom Matrixquantisierer 6202 gelangt in eine Vektorquantisierungseinheit 640, die aus einem ersten Vektorquantisierer 6401 und einem zweiten Vektorquantisierer 6402 besteht. Der erste Vektorquantisierer 6401 besteht aus zwei Vektorquantisierungsbereichen 650, 660, während der zweite Vektorquantisierer 6402 aus zwei Vektorquantisierungsbereichen 670, 680 besteht. Der Quantisierungsfehler von der Matrixquantisierungseinheit 620 wird auf Rahmenbasis durch die Vektorquantisierungsbereiche 650, 660 des ersten Vektorquantisierers 6401 quantisiert. Der resultierende Quantisierungsfehlervektor wird weiter durch die Vektorquantiserungsbereiche 670, 680 des zweiten Vektorquantisierers 6402 vektor-quantisiert. Die oben beschriebene Vektorquantisierung wertet die Korrelation längs der Frequenzachse aus.
  • Die Matrixquantisierungseinheit 620, die die oben beschriebene Matrixquantisierung ausführt, weist zumindest einen ersten Matrixquantisierer 6201 auf, um einen ersten Matrixquantisierungsschritt durchzuführen, und einen zweiten Matrixquantisierer 6202 , um einen zweiten Matrixquantisierungsschritt durchzuführen, um den Quantisierungsfehler, der durch die erste Matrixquantisierung erzeugt wird, matrix-zu-quantisieren. Die Vektorquantisierungseinheit 640, die die Vektorquantisierung wie oben beschrieben ausführt, weist zumindest einen ersten Vektorquantisierer 6401 auf, um einen ersten Vektorquantisierungsschritt durchzuführen, und einen zweiten Vektorquantisierer 6402 , um einen zweiten Matrixquantisierungsschritt durchzuführen, um den Quantisierungsfehler, der durch die erste Vektorquantisierung erzeugt wird, matrix-zu-quantisieren.
  • Die Matrixquantisierer und die Vektorquantisierer werden nun ausführlich erläutert.
  • Die LSP-Parameter für zwei Rahmen, die im Puffer 600 gespeichert sind, d. h., einer 10 × 2 Matrix, werden zum ersten Matrixquantisierer 6201 geliefert. Der erste Matrixquantisierer 6201 liefert LSP-Parameter für zwei Rahmen über einen LSP-Parameteraddierer 621 zu einer Wichtungsdistanz-Berechnungseinheit 623, um die gewichtete Distanz des Minimalwerts zu finden.
  • Das Verzerrungsmaß dMQ1 während der Codebuchsuche durch den ersten Matrixquantisierer 6201 wird durch die Gleichung (1) angegeben:
    Figure 00170001
    wobei X1 der LSP-Parameter und X1' der Quantisierungswert ist, wobei t und i die Nummern der P-Dimension sind.
  • Die Wichtung w, bei der die Wichtungsbegrenzung in der Frequenzachse und der Zeitachse nicht in betracht gezogen wird, wird durch Gleichung (2) angegeben:
    Figure 00170002
    wobei x(t, 0) = 0, x(t, p + 1) = π unabhängig von t.
  • Die Wichtung w der Gleichung (2) wird außerdem für die stromabwärtige Matrixquantisierung und Vektorquantisierung verwendet.
  • Die berechnete gewichtete Distanz wird zu einem Matrixquantisierer MQ1 622 zur Matrixquantisierung geliefert. Ein 8-Bit-Index, der durch diese Matrixquantisierung geliefert wird, wird zu einem Signalumschalter 690 geliefert. Der quantisierte Wert durch die Matrixquantisierung wird in einem Addierer 621 von den LSP-Parametern für zwei Rahmen vom Puffer 610 subtrahiert. Eine Wichtungsdistanz-Berechnungseinheit 623 berechnet die Wichtungsdistanz jeweils bei zwei Rahmen, so daß die Matrixquantisierung in der Matrixquantisierungseinheit 622 ausgeführt wird. Außerdem wird ein Quantisierungswert, der die Wichtungsdistanz minimiert, ausgewählt. Ein Ausgangssignal des Addierers 621 wird zu einem Addierer 631 des zweiten Matrixquantisierers 6202 geliefert.
  • Ähnlich wie bei dem ersten Matrixquantisierer 6201 führt der zweite Matrixquantisierer 6202 die Matrixquantisierung durch. Ein Ausgangssignal der Addierers 621 wird über einen Addierer 631 zu einer Wichtungsdistanz-Berechnungseinheit 633 geliefert, wo die Minimalwichtungsdistanz berechnet wird.
  • Das Verzerrungsmaß dMQ2 während der Codebuchsuche durch den zweiten Matrixquantisierer 6202 wird durch die Gleichung (3) angegeben:
  • Figure 00180001
  • Die Wichtungsdistanz wird zu einer Matrixquantisierungseinheit MQ2 632 zur Matrixquantisierung geliefert. Ein 8-Bit-Index, der von der Matrixquantisierung ausgegeben wird, wird zu einem Signalumschalter 690 geliefert. Die Wichtungsdistanz-Berechnungseinheit 633 berechnet nacheinander die Wichtungsdistanz unter Verwendung des Ausgangssignals des Addierers 631. Der Quantisierungswert, der die Wichtungsdistanz minimiert, wird ausgewählt. Ein Ausgangssignal des Addierers 631 wird zu den Addierern 651, 661 des ersten Vektorquantisierers 6401 rahmenweise geliefert.
  • Der erste Vektorquantisierer 6401 führt die Vektorquantisierung rahmenweise durch. Ein Ausgangssignal des Addierers 631 wird rahmenweise zu jeder der Wichtungsdistanz-Berechnungseinheiten 653, 663 über Addierer 651, 661 geliefert, um die Minimalwichtungsdistanz zu berechnen.
  • Die Differenz zwischen dem Quantisierungsfehler X2 und dem Quantisierungsfehler X2' ist eine Matrix von (10 × 2). Wenn die Differenz als X2 – X2' = [x3–bx3–2] dargestellt wird, werden die Verzerrungsmaße dVQ1DVQ2 während der Codebuchsuche durch die Vektorquantisierungseinheiten 652, 662 des ersten Vektorquantisierers 6401 durch die Gleichungen (4) und (5) angegeben:
  • Figure 00190001
  • Die gewichtete Distanz wird zu einer Vektorquantisierungseinheit VQ1 652 und zu einer Vektorquantisierungseinheit VQ2 662 zur Vektorquantisierung geliefert. Jeder 8-Bit-Index, der durch diese Vektorquantisierung ausgegeben wird, wird zum Signalumschalter 690 geliefert. Der Quantisierungswert wird durch die Addierer 651, 661 vom gelieferten Zwei-Rahmen-Quantisierungsfehlervektor subtrahiert. Die Wichtungsdistanz-Berechnungseinheiten 653, 663 berechnen sequentiell die gewichtete Distanz unter Verwendung der Ausgangssignale der Addierer 651, 661, um den Quantisierungswert auszuwählen, der die Wichtungsdistanz minimiert. Die Ausgangssignale der Addierer 651, 661 werden zu Addierern 671, 681 des zweiten Vektorquantisierers 6402 geliefert.
  • Das Verzerrungsmaß dVQ3, dVQ4 während der Codebuchsuche durch die Vektorquantisierer 672, 682 des zweiten Vektorquantisierers 6402 für x 4–1 = x3–1x 3–1' x 4–2 = x3–2x 3–2'wird durch die Gleichungen (6) und (7) angegeben:
  • Figure 00190002
  • Diese gewichteten Distanzen werden zum Vektorquantisierer VQ3 672 und zum Vektorquantisierer VQ4 682 zur Vektorquantisierung geliefert. Die 8-Bit-Ausgangsindexdaten vom Vektorquantisierer werden durch die Addierer 671, 681 vom Eingangsquantisierungs-Fehlervektor für zwei Rahmen subtrahiert. Die Wichtungsdistanz-Berechnungseinheiten 653, 683 berechnen nacheinander die Wichtungsdistanzen unter Verwendung der Ausgangssignale der Addierer 671, 681, um den quantisierten Wert auszuwählen, der die Wichtungsdistanzen minimiert.
  • Während des Codebuchlernens wird Lernen durch den allgemeinen Lloyd-Algorithmus auf der Basis der entsprechenden Verzerrungsmaße durchgeführt.
  • Die Verzerrungsmaße während der Codebuchsuche und während des Lernens können unterschiedliche Werte sein.
  • Die 8-Bit-Indexdaten von den Matrixquantisierungseinheiten 622, 632 und den Vektorquantisierungseinheiten 652, 662, 672 und 682 werden durch den Signalumschalter 690 umgeschaltet und an einem Ausgangsanschluß 691 ausgegeben.
  • Insbesondere werden für eine niedrige Bitrate Ausgangssignale des ersten Matrixquantisierers 6201 , der den ersten Matrixquantisierungsschritt ausführt, des zweiten Matrixquantisierers 6202 , der den zweiten Matrixquantisierungsschritt ausführt, und des ersten Vektorquantisierer 6401 , der den ersten Vektorquantisierungsschritt ausführt, herausgenommen, während, für eine hohe Bitrate das Ausgangssignal für die niedrige Bitrate mit einem Ausgangssignal des zweiten Vektorquantisierers 6402 addiert wird, der den zweiten Vektorquantisierungsschritt ausführt, und die resultierende Summe wird herausgenommen.
  • Damit wird ein Index von 32 Bits/40 ms bzw. Ein Index von 48 Bits/40 ms für 2 kbps bzw. 6 kbps ausgegeben.
  • Die Matrixquantisierungseinheit 620 und die Vektorquantisierungseinheit 640 führen eine Wichtung durch, die bezüglich der Frequenzachse und/oder der Zeitachse gemäß den Charakteristiken der Parameter, die die LPC-Koeffizienten zeigen, begrenzt ist.
  • Die Wichtung, die bezüglich der Frequenzachse gemäß der Kennlinie der LSP-Parameter begrenzt wird, wird zunächst erläutert. Wenn die Anzahl von Ordnungen P = 10 ist, werden die LSP-Parameter X(i) gruppiert in L1 = {X(i)|1 ≤ i ≤ 2} L2 = {X(i)|3 ≤ i ≤ 6} L3 = {X(i)|7 ≤ i ≤ 10}für drei Bereiche von niedrigen, mittleren und hohen Bereichen gruppiert. Wenn das Wichten der Gruppen L1, L2 und L3 gleich 1/4, 1/2 bzw. 1/4 ist, wird die Wichtung, die lediglich in der Frequenzachse begrenzt ist, durch die Gleichungen (8), (9) und (10) angegeben:
  • Figure 00210001
  • Die Wichtung der jeweiligen LSP-Parameter wird lediglich in jeder Gruppe durchgeführt, und diese Wichtung ist durch Wichten für jede Gruppe beschränkt.
  • Wenn man in die Zeitachsenwichtung schaut, ist die Gesamtsumme der jeweiligen Rahmen notwendigerweise 1, so daß Begrenzung der Zeitachsenrichtung rahmen-basierend ist. Die Wichtung, die lediglich in der Zeitachsenrichtung begrenzt ist, wird durch die Gleichung (11) angegeben:
    Figure 00210002
    wobei ein 1 ≤ i ≤ 10 und 0 ≤ t ≤ 1.
  • Durch diese Gleichung (11) wird das Wichten, welches nicht in der Frequenzachsenrichtung begrenzt ist, zwischen zwei Rahmen ausgeführt, die Rahmennummern von t = 0 und t = 1 haben. Diese Wichtung, die lediglich in der Zeitachsenrichtung begrenzt ist, wird zwischen zwei Rahmen ausgeführt, die durch Matrixquantisierung verarbeitet sind.
  • Während des Lernens wird die Gesamtheit von Rahmen, die als Lerndaten verwendet werden, die die Gesamtzahl T haben, gemäß der Gleichung (12) gewichtet:
    Figure 00220001
    wobei 1 ≤ i ≤ 10 und 0 ≤ t ≤ T
  • Die Wichtung, die in der Frequenzachsenrichtung und in der Zeitachsenrichtung begrenzt ist, wird nun erläutert. Wenn die Anzahl von Ordnungen P = 10, werden die LSP-Parameter x(i, t) gruppiert in L1 = {x(i, t)|1 ≤ i ≤ 2, 0 ≤ t ≤ 1} L2 = {x(i, t)|3 ≤ i ≤ 6, 0 ≤ t ≤ 1} L3 = {x(i, t)|7 ≤ i ≤ 10, 0 ≤ t ≤ 1}für drei Bereiche niedriger, mittlerer und höherer Bereiche. Wenn die Wichtungen für die Gruppen L1, L2 und L3 1/4, 1/2 und 1/4 sind, wird die Wichtung, die lediglich in der Frequenzachse begrenzt ist, durch die Gleichungen (13), (14) und (15) angegeben:
  • Figure 00220002
  • Durch diese Gleichungen (13) bis (15) wird das Wichten, welches alle drei Rahmen in der Frequenzachsenrichtung und über zwei Rahmen, die mit Matrixquantisierung ver arbeitet wurden, begrenzt ist, ausgeführt. Dies ist sowohl während der Codebuchsuche als auch während des Lernens effektiv.
  • Während des Lernens wird das Wichten für die Gesamtzahl von Rahmen der Gesamtdaten durchgeführt. Die LSP-Parameter x(i, t) sind gruppiert in L1 = {x(i, t)|1 ≤ i ≤ 2, 0 ≤ t ≤ T} L2 = {x(i, t)|3 ≤ i ≤ 6, 0 ≤ t ≤ T} L3 = {x(i, t)|7 ≤ i ≤ 10, 0 ≤ t ≤ T}für niedrige, mittlere hohe Bereiche. Wenn das Wichten der Gruppen L1, L2 und L3 gleich 1/4, 1/2 bzw. 1/4 beträgt, wird das Wichten für die Gruppen L1, L2 und L3, welches lediglich in der Frequenzachse begrenzt ist, durch die Gleichungen (16), (17) und (18) angegeben:
  • Figure 00230001
  • Durch diese Gleichungen (16) bis (18) kann das Wichten für drei Bereiche in der Frequenzachsenrichtung und über die Gesamtzahl von Rahmen in der Zeitachsenrichtung durchgeführt werden.
  • Außerdem führen die Matrixquantisierungseinheiten 620 und die Vektorquantisierungseinheit 640 das Wichten in Abhängigkeit von der Größe von Änderungen in den LSP-Parametern aus. In V- bis UV- oder UV- bis V-Übergangsbereichen, die Minoritätsrahmen unter der Gesamtzahl von Sprachrahmen darstellen, werden die LSP-Parameter signifikant aufgrund der Differenz der Frequenzantwort zwischen Konsonanten und Vokalen geändert. Daher kann die Wichtung, die in der Gleichung (19) gezeigt ist, mit der Wichtung W'(i, t) multipliziert werden, um die wichtungs-stattfindende Emphasis in Übergangsregionen auszuführen:
  • Figure 00240001
  • Die folgende Gleichung (20)
    Figure 00240002
    kann anstelle der Gleichung (19) verwendet werden.
  • Damit führt die LSP-Quantisierungseinheit 134 eine Zwei-Stufenmatrix-Quantisierung und eine Zwei-Stufenvektor-Quantisierung durch, um die Anzahl von Bits des Ausgabeindex variabel zu machen.
  • Die Basisstruktur der Vektorquantisierungseinheit 116 ist in 7 gezeigt, während eine ausführlicherer Aufbau der Vektorquantisierungseinheit 116, die in 7 gezeigt ist, in 8 gezeigt ist. Ein beispielhafter Aufbau der Wichtungsvektorquantisierung für die Spektralhüllkurve Am in der Vektorquantisierungseinheit 116 wird anschließend erläutert.
  • Zunächst wird in der Sprachsignal-Codiereinheit, die in 3 gezeigt ist, eine beispielhafte Anordnung für die Datenzahlumsetzung zum Bereitstellen einer konstanten Anzahl von Daten der Amplitude der Spektralhüllkurve auf einer Ausgabeseite der Spektralauswerteeinheit 148 oder einer Eingangsseite der Vektorquantisierungseinheit 116 erläutert.
  • Für diese Datenanzahlumsetzung kann man sich eine Vielzahl von Verfahren ausdenken. Bei der vorliegenden Erfindung werden Dummydaten, welche die Werte von den letzten Daten in einem Block zu den ersten Daten im Block interpolieren, vorher festgelegte Daten, beispielsweise Daten, welche die letzten Daten oder die ersten Daten in einem Block wiederholen, an die Amplitudendaten eines Blocks eines effektiven Bandes auf der Frequenzachse angehängt, um die Anzahl von Daten auf NF zu verbessern, Amplitudendaten, die gleich bezüglich der Anzahl dem Os-fachen sind, beispielsweise dem 8-fachen, werden durch Os-faches, beispielsweise 8-faches Überabtasten der begrenzten Bandbreitenart gefunden. Die ((mMx + 1) × Os)-Amplitudendaten werden linear interpoliert, um diese auf eine größere Zahl NM zu erweitern, beispielsweise 2048. Diese NM-Daten werden zur Umsetzung in die oben erwähnte vorher festgelegte Anzahl M von Daten unterabgetastet, beispielsweise 44 Daten. In Wirklichkeit werden lediglich Daten, die zum Formulieren von M Daten schließlich erforderlich sind, durch Überabtasten und linearer Interpolation berechnet, ohne alle oben erwähnten NM Daten zu finden.
  • Die Vektorquantisierungseinheit 116 zum Ausführen der Wichtungsvektorquantisierung von 7 umfaßt zumindest eine erste Vektorquantisierungseinheit 500, um den ersten Vektorquantisierungsschritt durchzuführen, und eine zweite Vektorquantisierungseinheit 510, um den zweiten Vektorquantisierungsschritt durchzuführen, um den Quantisierungsfehlervektor zu quantisieren, der während der ersten Vektorquantisierung durch die erste Vektorquantisierungseinheit 500 erzeugt wird. Diese erste Vektorquantisierungseinheit 500 ist eine sogenannte erststufige Vektorquantisierungseinheit, während die zweite Vektorquantisierungseinheit 510 eine sogenannte zweistufige Vektorquantisierungseinheit ist.
  • Ein Ausgangsvektor x der Spektralauswertungseinheit 148, d. h., Hüllkurvendaten, die eine vorher festgelegte Anzahl M aufweisen, treten in einen Eingangsanschluß 501 der ersten Vektorquantisierungseinheit 500 ein. Dieser Ausgangsvektor x wird mit Wichtungsvektorquantisierung durch die Vektorquantisierungseinheit 502 quantisiert. Somit wird ein Formindex, der durch die Vektorquantisierungseinheit 502 ausgegeben wird, an einem Ausgangsanschluß 503 ausgegeben, während ein quantisierter Wert x 0' an einem Ausgangsanschluß 504 ausgegeben wird und zu Addierern 505, 513 geliefert wird. Der Addierer 505 subtrahiert den quantisierten Wert x 0' vom Quellenvektor x, um einen Multiordnungs-Quantisierungsfehlervektor y zu ergeben.
  • Der Quantisierungsfehlervektor y wird zu einer Vektorquantisierungseinheit 511 in der zweiten Vektorquantisierungseinheit 510 geliefert. Diese zweite Vektorquantisierungseinheit 511 besteht aus mehreren Vektorquantisierern oder aus zwei Vektorquantisierern 5111 , 5112 in 7. Der Quantisierungsfehlervektor y wird dimensional aufgespalten, um durch Wichtungsvektorquantisierung in den beiden Vektorquantisierern 5111 , 5112 quantisiert zu werden. Der Formindex, der durch diese Vektorquantisierer 5111 , 5112 ausgegeben wird, wird an Ausgangsanschlüssen 5121 , 5122 ausgegeben, während die quantisierten Werte y 1', y 2' in der Dimensionierungsrichtung verbunden werden und zu einem Addierer 513 geliefert werden. Der Addierer 513 addiert die quantisierten Werte y 1', y 2' mit dem quantisierten Wert x 0', um einen quantisierten Wert x 1' zu erzeugen, der an einem Ausgangsanschluß 514 ausgegeben wird.
  • Somit wird für die niedrige Bitrate ein Ausgangssignal des ersten Vektorquantisierungsschritts durch die erste Vektorquantisierungseinheit 500 herausgenommen, während für die hohe Bitrate ein Ausgangssignal des ersten Vektorquantisierungsschritts und ein Ausgangssignal des zweiten Quantisierungsschritts durch die zweite Quantisierungseinheit 510 ausgegeben werden.
  • Insbesondere ist der Vektorquantisierer 502 in der ersten Vektorquantisierungseinheit 500 im Vektorquantisierungsabschnitt 116 von L-Ordnung, beispielsweise einer 44-dimensionalen zweistufigen Struktur, wie in 8 [7] gezeigt ist.
  • Das heißt, die Summe von Ausgangsvektoren 44-dimensoionalen Vektorquantisierungs-Codebuchs mit der Codebuchgröße von 32 multipliziert mit einem Gewinn gi wird als Quantisierungswert x 0' des 44-dimensionalen Spektralhüllkurvenvektors x verwendet. Somit gibt es, wie in 8 [7] gezeigt ist, die beiden Codebücher CB0 und CB1, während die Ausgangsvektoren s 1i, s 1j sind, wobei 0 ≤ i und j ≤ 31 ist. Dagegen ist ein Ausgangssignal des Gewinncodebuchs CBg gleich g1, wobei 0 ≤ 1 ≤ 31 ist, wobei g1 eines skalare Größe ist. Ein endgültiges Ausgangssignal x 0' ist g1(s 1i + s 1j).
  • Die Spektralhüllkurve Am, welche durch die obige MBE-Analyse der LPC-Reste erhalten wird und die in eine vorher festgelegte Dimension umgesetzt wird, ist x. Es ist entscheidend wie effektiv x quantisiert wird.
  • Die Quantisierungsfehlerenergie E ist definiert durch E = ||W{Hx – Hg1((s 01 + s 1j}||2 = ||WH{x – {x – g1(s 0i + s 1j}||2 (21)wobei H Kennlinien auf der Frequenzachse des LPC-Synthesefilters bezeichnet und W eine Matrix ist, um zu wichten, um Kennlinien für prozentuale Wichtung auf der Frequenzachse zu zeigen.
  • Wenn der α-Parameter durch die Ergebnisse der LPC-Analysen des laufenden Rahmens als αi(1 ≤ i ≤ P) bezeichnet wird, werden die Werte der L-Dimension, beispielsweise der 44-Dimension, entsprechend den Punkten von der Frequenzantwort der Gleichung (22) abgetastet:
  • Figure 00270001
  • Für die Berechnungen werden Nullen im Anschluß an eine Folge 1, α1, α2 ... αP gefüllt, um eine Folge von 1, α1, α2, ... αP, 0, 0, ..., 0 zu ergeben, um beispielsweise 256 Punktdaten zu ergeben. Dann wird durch 256-Punkt-FFT (rc 2 + im2)1/2 für Punkte berechnet, die mit einem Bereich von 0 bis π verknüpft sind, und es werden die Reziprokwerte der Ergebnisse gefunden. Diese Reziprokwerte werden unterabgetastet auf L Punkte, beispielsweise 44 Punkte, und es wird eine Matrix gefunden, welche diese L Punkte als Diagonalelemente hat:
  • Figure 00270002
  • Eine wahrnehmbar-gewichtete Matrix W wird durch die Gleichung (23) angegeben:
    Figure 00270003
    wobei αi das Ergebnis der LPC-Analyse ist, und λa, λb Konstanten sind, so daß gilt λa = 0,4 und λb = 0,9.
  • Die Matrix W kann aus der Frequenzantwort der obigen Gleichung (23) berechnet werden. Beispielsweise wird FFT bezüglich 256-Punktdaten von 1, α1λb, α2λ12, ... αpλbP, 0, 0, ..., 0 ausgeführt, um zu finden (rc 2[i] + Im2[i])1/2 für einen Bereich von 0 bis π, wobei 0 ≤ i ≤ 128 ist. Die Frequenzantwort des Nenners wird durch 256-Punkt-FFT für einen Bereich von 0 bis π für 1, α1λa, α2λa2, ..., αpλP, 0, 0, ..., 0 bei 128 Punkten gefunden, um zu finden (re'2[i] + im'2[i])1/2, wobei 0 ≤ i ≤ 128.
  • Die Frequenzantwort der Gleichung (23) kann gefunden werden durch
    Figure 00280001
    wobei 0 ≤ i ≤ 128. Dies wird für jeden verknüpften Punkt von beispielsweise dem 44-Dimensionsvektor durch das folgende Verfahren gefunden. Genauer ausgedrückt sollte die lineare Interpolation verwendet werden. Im folgenden Beispiel wird anstelle davon jedoch der näheste Punkt verwendet.
  • Das heißt, ω[i] = ω0[nint{128i/L}], wobei 1 ≤ i ≤ L.
  • In der Gleichung ist nint(X) eine Funktion, die zu einem Wert am nähesten zu X zurückehrt.
  • Wie für H werden h(1), h(2), ... h(L) durch ein ähnliches Verfahren gefunden. Das heißt:
  • Figure 00280002
  • Als weiteres Beispiel wird H(z)W('z) gefunden und dann wird die Frequenzantwort gefunden, um die Anzahl der Häufigkeit von FFT zu vermindern. Das heißt, der Nenner der Gleichung (25):
    Figure 00290001
    wird erweitert auf
    Figure 00290002
    beispielsweise werden 256 Punktdaten unter Verwendung einer Folge von 1, (β1, β2, ..., β2p, 0, 0, ..., 0 erzeugt. Dann wird die 256-Punkt-FFT ausgeführt, wobei die Frequenzantwort der Amplitude ist
    Figure 00290003
    wobei 0 ≤ i ≤ 128. Daraus ergibt sich
    Figure 00290004
    wobei 0 ≤ i ≤ 128. Dies wird für jeden entsprechenden Punkt des L-Dimensionsvektors gefunden. Wenn die Anzahl der Punkte der FFT klein ist, sollte die lineare Interpolation verwendet werden. Der engste Wert jedoch wird hier gefunden durch
    Figure 00290005
    wobei 1 ≤ i ≤ L. Wenn eine Matrix, die diese als Diagonalelemente hat, W' ist:
  • Figure 00290006
  • Die Gleichung (26) ist die gleiche Matrix wie die obige Gleichung (24).
  • Alternativ kann |H(exp(jω))W(exp(jω))| unmittelbar aus der Gleichung (25) in Bezug auf ω ≡ iπ berechnet werden, wobei 1 ≤ i ≤ L ist, um so für wh[i] verwendet zu werden.
  • Alternativ kann eine geeignete Länge, beispielsweise 40 Punkte einer Impulsantwort der Gleichung (25) gefunden werden und der FFT unterworfen werden, um die Frequenzantwort der Amplitude, die verwendet wird, zu finden.
  • Das Verfahren zum Reduzieren des Verarbeitungsvolumens bei den Berechnungskennlinien eines Wahrnehmungswichtungsfilters und eines LPC-Synthesefilters wird nun erläutert.
  • H(z)W(z) in der Gleichung (25) ist Q(z), das heißt,
    Figure 00300001
    um die Impulsantwort Q(z) zu finden, die auf Q(z) gesetzt wird, wobei 0 ≤ n < Limp, wobei Limp eine Impulsantwortlänge ist und beispielsweise ist: Limp = 40.
  • Bei der vorliegenden Ausführungsform zeigt, da P = 10, die Gleichung (a1) ein unendliches Impulsantwortfilter (IIR) mit der Ordnung 20, welches 30 Koeffizienten hat. Durch ungefähr Limp × 3P = 1200 Summen-Produkt-Operationen können Limp Abtastungen der Impulsantwort q(n) der Gleichung (a1) gefunden werden. Durch Füllen von Nullen in q(n), wird q'(n), wobei 0 ≤ n < 2m ist, erzeugt. Wenn beispielsweise m = 7, werden 2m – Limp = 128 – 40 = 88 Nullen an q(n) (Nullfüllen) angehängt, um q'(n) zu liefern.
  • Dieses q'(n) wird einer FFT unterworfen mit 2m (= 128 Punkte). Der Real- und Imaginärteil des Ergebnisses der FFT sind re[i] und im[i], wobei 0 ≤ i ≤ 2m–1. Daraus ergibt sich: rm[i] = √re²[i] + im²[i] (a2)
  • Dies ist die Amplitudenfrequenzantwort von Q(z), die durch 2m–1 Punkte dargestellt wird. Durch lineare Interpolation von Nachbarwerten von rm[i] wird die Frequenzantwort durch 2m Punkte dargestellt. Obwohl eine Interpolation höherer Ordnung anstelle der linearen Interpolation verwendet werden kann, wird das Verarbeitungsvolumen entsprechend vergrößert.
  • Wenn eine Matrix, die durch diese Interpolation erhalten wird, wlpc[i] ist, wobei 0 ≤ i ≤ 2m ist, gilt: wplpc[2i] = rm[i], wobei 0 ≤ i ≤ 2m–1 (a3) wlpc[2i + 1] =(rm[i] + rm[i + 1])/2, wobei 0 ≤ i ≤ 2m–1 (a4)
  • Dies ergibt wlpc[i] wobei 0 ≤ i ≤ 2m–1
  • Daraus kann wh[i] hergeleitet werden durch: wh[i] = wlpc[nint(1281i/L)], where 1 ≤ i ≤ L (a5)wobei nint(x) eine Funktion ist, die eine ganze Zahl am nähesten x zurückbringt. Dies zeigt, daß durch Ausführen einer 128-Punkt-FFT-Operation W' der Gleichung (26) gefunden werden kann, wobei eine 128-Punkt-FFT-Operation ausgeführt wird.
  • Das Verarbeitungsvolumen, welches für N-Punkt-FFT erforderlich ist, ist eine allgemeine komplexe (N/2)log2N Multiplikation und eine komplexe Nlog2N Addition, die äquivalent zur (N/2)log2N × 4 Realanzahl-Multiplikation und zur Nlog2N × 2 Realanzahl-Addition ist.
  • Durch dieses Verfahren beträgt das Volumen der Summen-Produkt-Operationen, um die obigen Impulsantwort q(n) zu finden, 1200. Dagegen beträgt das Verarbeitungsvolumen von FFT für N = 27 = 128 ungefähr 128/2 × 7 × 4 = 1792 und 128 × 7 × 2 = 1792. Wenn die Anzahl des Summen-Produkt eins ist, beträgt das Verarbeitungsvolumen ungefähr 1792. Wie für die Verarbeitung für die Gleichung (a2) werden die Quadratsummenoperation, dessen Verarbeitungsvolumen ungefähr 3 ist, und die Quadratwurzeloperation, dessen Verarbeitungsvolumen ungefähr 50 ist, 2m–1 = 26 = 64 fach ausgeführt, so daß das Verarbeitungsvolumen für die Gleichung (a2) beträgt: 64 × (3 + 50) = 3392
  • Dagegen ist die Interpolation der Gleichung (a4) in der Größenordnung von 64 × 2 = 128.
  • Somit ist in der Gesamtsumme das Verarbeitungsvolumen gleich 1200 + 1792 + 3392 = 128 = 6512.
  • Da die Wichtungsmatrix W in einem Muster von W'TW verwendet wird, kann lediglich rm2[i] gefunden werden und verwendet werden, ohne die Verarbeitung für die Quadratwurzel auszuführen. In diesem Fall werden die obigen Gleichungen (a3) und (a4) für rm2[i] anstelle für rm[i] ausgeführt, wobei es nicht wh[i] ist, sondern wh2[i], die durch die obige Gleichung (a5) gefunden wird. Das Verarbeitungsvolumen zum Finden von rm2[i] in diesem Fall beträgt 192, so daß insgesamt das Verarbeitungsvolumen wird zu: 1200 + 1792 + 192 + 128 = 3312
  • Wenn die Verarbeitung von der Gleichung (25) zur Gleichung (26) unmittelbar ausgeführt wird, beträgt die Gesamtsumme des Verarbeitungsvolumens ungefähr 2160. Das heißt, die 256-Punkt-FFT wird sowohl für den Zähler als auch für den Nenner der Gleichung (25) ausgeführt. Diese 256-Punkt-FFT liegt in der Größenordnung von 256/2 × 8 × 4 = 4096. Dagegen erfordert die Verarbeitung für wh0[i] zwei Quadratsummenoperationen, die jeweils das Verarbeitungsvolumen von 3 haben, die Division, die das Verarbeitungsvolumen von ungefähr 25 hat, und Quadratsummenoperationen mit dem Verarbeitungsvolumen von ungefähr 50. Wenn die Quadratwurzelberechnungen in einer Weise wie oben beschrieben weggelassen werden, liegt das Verarbeitungsvolumen in der Größenordnung von 128 × (3 + 3 + 25) = 3968. Somit ist insgesamt das Verarbeitungsvolumen gleich 4096 × 2 + 3968 = 12160.
  • Wenn somit die obige Gleichung (25) unmittelbar berechnet wird, um wh0 2[i] anstelle von wh0[i] herauszufinden, ist ein Verarbeitungsvolumen in der Größenordnung von 12160 erforderlich, während, wenn die Berechnungen von (a1) bis (a5) ausgeführt werden, wird das Verarbeitungsvolumen reduziert auf ungefähr 3312, d. h., daß das Verarbeitungsvolumen auf ein viertel reduziert werden kann. Die Wichtungsberechnungsprozedur mit dem reduzierten Verarbeitungsvolumen kann zusammengefaßt werden, wie in einem Flußdiagramm von 9 gezeigt ist.
  • Gemäß 9 wird die obige Gleichung (a1) der Wichtungsübertragungsfunktion in einem ersten Schritt S91 hergeleitet, und im nächsten Schritt S92 wird die Impulsantwort von (a1) hergeleitet. Nach dem Nullenanhängen (das Füllen mit Nullen) zu dieser Impulsantwort im Schritt S93 wird die FFT im Schritt S94 ausgeführt. Wenn die Impulsantwort einer Länge gleich einer Leistung von 2 hergeleitet wird, kann die FFT unmittelbar ausgeführt werden, ohne Nullen einzufüllen. Im nächsten Schritt S95 werden die Frequenzcharakteristik der Amplitude oder das Quadrat der Amplitude gefunden. Im nächsten Schritt S96 wird die lineare Interpolation ausgeführt, um die Anzahl von Punkten der Frequenzkennlinie zu vergrößern.
  • Diese Berechnungen zum Verfeinern der gewichteten Vektorquantisierung kann nicht nur bei der Sprachcodierung, sondern auch bei der Codierung von hörbaren Signalen, beispielsweise Audiosignalen angewandt werden. Das heißt, bei der Audiosignalcodierung, bei der die Sprache oder das Audiosignal durch DFT-Koeffizienten, durch DCT-Koeffizien ten oder MDCT-Koeffizienten als Frequenzbereichsparameter dargestellt wird, oder als Parameter, die von diesen Parametern hergeleitet sind, beispielsweise Amplituden von Harmonischen oder Amplituden von Harmonischen von LPC-Resten, können die Parameter durch gewichtete Vektorquantisierung durch FFT-Verarbeitung der Impulsantwort der Übertragungsfunktion oder der Impulsantwort, die teilweise unterbrochen wurde oder die mit Nullen angefüllt wurde, und durch Berechnung der Wichtung auf der Basis der Ergebnisse der FFT quantisiert werden. In diesem Fall wird bevorzugt, daß, nachdem FFT-Verarbeiten der Wichtungsimpulsantwort die FFT-Koeffizienten selbst, (re, im), wobei re und im Real- beziehungsweise Imaginärteile der Koeffizienten darstellen, re2 + im2 oder (re2 + im2)1/2 interpoliert werden und als Wichtung verwendet werden.
  • Wenn die Gleichung (21) unter Verwendung der Matrix W' der obigen Gleichung (26) umgeschrieben wird, d. h., die Frequenzantwort des Wichtungssynthesefilters, kann man erhalten: E = ||Wk'(x – gk(s 0c + s 1k))||2
  • Das Verfahren zum Lernen des Formcodebuchs und des Gewinncodebuchs wird erläutert.
  • Der erwartete Wert der Verzerrung wird für alle Rahmen k minimiert, für welche ein Codevektor s0c für CB0 ausgewählt wird. Wenn es M solcher Rahmen gibt, genügt es, wenn
    Figure 00330001
    minimiert wird. In der Gleichung (28) bezeichnen Wk, X k, gk und s ik die Wichtung für den k-ten Rahmen, ein Eingangssignal für den k-ten Rahmen, den Gewinn des k-ten Rahmens bzw. ein Ausgangssignal des Codebuchs CB1 für den k-ten Rahmen.
  • Um die Gleichung (28) zu minimieren, gilt:
    Figure 00340001
    daher
    Figure 00340002
    so daß
    Figure 00340003
    wobei () eine inverse Matrix bezeichnet und Wk'T eine umgestellte Matrix von Wk' bezeichnet.
  • Anschließend wird die Gewinnoptimierung betrachtet.
  • Der erwartete Wert der Verzerrung, der den k-ten Rahmen betrifft, wobei das Codewort gc des Gewinns gewählt wird, wird angegeben durch:
    Figure 00350001
    durch Lösen
    Figure 00350002
    erhält man
  • Figure 00350003
  • Die obigen Gleichungen (31) und (32) ergeben optimale zentrale Zustände für die Form s oi, s 1i, und den Gewinn g1 für 0 ≤ i ≤ 31, 0 < j < 31 und 0 ≤ 1 ≤ 31, d. h., ein optimales Decoderausgangssignal. s 1i kann der gleichen Weise wie s oi herausgefunden werden.
  • Es wird nun der optimale Codierzustand, d. h., der nächstbenachbarte Zustand, betrachtet.
  • Die obige Gleichung (27) zum Finden des Verzerrungsmaßes, d. h., s 0i und s 1i, die die Gleichung E = ||W'(X – g1(s 1i + s 1J||2 minimieren, werden jedesmal dann gefunden, wenn das Eingangssignal x und die Wichtungsmatrix W' angegeben werden, d. h., auf Rahmen-Rahmen-Basis.
  • Eigentlich wird E in der Petitionsweise für alle Kombinationen von g1 (0 ≤ 1 ≤ 31), s 01 (0 ≤ i ≤ 31) und s 0j (0 ≤ j ≤ 31) gefunden, d. h., 32 × 32 × 32 = 32768, um den Satz s 0i, s 1j zu finden, der den Minimalwert von E ergibt. Da dies jedoch voluminöse Berechnungen erfordert, wird die Form und der Gewinn sequentiell in der vorliegenden Ausführungsform gesucht. Die Petitionssuche wird für die Kombination von s 0i und s 1i, verwendet. Es gibt 32 × 32 = 1024 Kombinationen für s 0i und s 1i. In der folgenden Beschreibung werden s 1i und s 1j aus Einfachheitsgründen als s m gezeigt.
  • Die obige Gleichung (27) wird zu E = ||W' (x – g1sm)||2. Wenn weiter aus Einfachheitsgründen gelten soll: x w = W'x und s w = W's m, erhält man E = ||x w – g1 s w||2 (33)
  • Figure 00360001
  • Wenn daher g1 ausreichend genau gemacht werden kann, kann die Suche in zwei Schritten durchgeführt werden:
    • (1) Suchen von s w, was maximieren wird
      Figure 00360002
      und
    • (1) Suchen von g1, welches am nächsten ist vom
      Figure 00360003
  • Wenn die obige Gleichung unter Verwendung der Ursprungsbezeichnung umgeschrieben wird,
    • (1)' wird das Suchen durchgeführt für einen Satz von s 0i und s 1i, was maximieren wird
      Figure 00360004
      und
    • (2)' wird das Suchen von g1 durchgeführt, welches am nächsten ist von
      Figure 00370001
  • Die obige Gleichung (35) stellt einen optimalen Codierzustand dar (nähester Nachbarzustand).
  • Unter Verwendung der Bedingungen (Zentralbedingung) der Gleichungen (31) und (32) und der Bedingung der Gleichung (35) können Codebücher (CB0, CB1 und CBg) simultan unter Verwendung des sogenannten generalisierten Lloyd-Algorithmus (GLA) geschult werden.
  • Bei der vorliegenden Ausführungsform wird W', welches durch eine Normierung eines Eingangssignals x unterteilt wird, als W' verwendet. Das heißt, W'/||x|| wird ersetzt durch W' in den Gleichungen (31), (32) und (35).
  • Alternativ wird das Wichten W', welches für wahrnehmbares Wichten im Zeitpunkt der Vektorquantisierung durch den Vektorquantisierer 116 verwendet wird, durch die obige Gleichung (26) definiert. Außerdem kann das Wichten W', bei dem ein temporäres Maskieren in betracht gezogen wird, auch durch Herausfinden der laufenden Wichtung W' gefunden werden, bei dem die vergangene W' in betracht gezogen wurde.
  • Die Werte von wh(1), wh(2), ... wh(L) in der obigen Gleichung (26), wie im Zeitpunkt n gefunden, d. h., im n-ten Rahmen, sind als whn(1), whn(2), ..., whn(L) angedeutet.
  • Wenn die Wichtungen im Zeitpunkt n, wobei vergangene Werte in Betracht gezogen werden, als An(i) definiert werden, wobei 1 ≤ i ≤ L, An(i) = λAn–1(i) + (1 – λ)whn(i), ≤ An–1(i) = whn(i), (whn(i) > An–1(i))wobei λ auf beispielsweise λ = 0,2 gesetzt wird. In An(i), mit 1 ≤ i ≤ L, was damit gefunden ist, kann eine Matrix, die dieses An(i) als Diagonalelemente hat, als obige Wichtung verwendet werden.
  • Die Formindexwerte s 0i und s 1i, die durch die Wichtungsvektorquantisierung in dieser Weise erhalten werden, werden entsprechend an den Ausgangsanschlüssen 520, 522 ausgegeben, während der Gewinnindex g1 an einem Ausgangsanschluß 521 ausgegeben wird. Außerdem wird der quantisierte Wert x 0' am Ausgangsanschluß 504 ausgegeben, wobei er zum Addierer 505 geliefert wird.
  • Der Addierer 505 subtrahiert den quantisierten Wert vom Spektralhüllkurvenvektor x, um einen Quantisierungsfehlervektor y zu erzeugen. Insbesondere wird dieser Quanti sierungsfehlervektor y zur Vektorquantisierungseinheit 511 geliefert, um so dimensional aufgespalten und durch Vektorquantisierer 5111 bis 5118 mit gewichteter Vektorquantisierung quantisiert zu werden.
  • Die zweite Vektorquantisierungseinheit 510 verwendet eine größere Anzahl von Bits als die erste Vektorquantisierungseinheit 500. Folglich wird die Speicherkapazität des Codebuchs und das Verarbeitungsvolumen (Komplexität) zur Codebuchsuche signifikant vergrößert. Damit wird es unmöglich, die Vektorquantisierung mit der 44-Dimension auszuführen, welche die gleiche ist wie die für die erste Vektorquantisierungseinheit 500. Daher besteht die Vektorquantisierungseinheit 511 in der zweiten Vektorquantisierungseinheit 510 aus mehreren Vektorquantisierern, und die gelieferten quantisierten Werte werden dimensionsmäßig in mehrere niedrig-dimensionsmäßige Vektoren aufgespalten, um gewichtete Vektorquantisierung durchzuführen.
  • Die Relation zwischen den quantisierten Werten y 0 bis y 7, die bei den Vektorquantisierern 5111 bis 5118 verwendet wird, die Anzahl von Dimensionen und die Anzahl Bits sind in der folgenden Tabelle 2 gezeigt.
  • Tabelle 2
    Figure 00380001
  • Die Indexwerte Idvq0 bis Idvq7, die von den Vektorquantisierern 5111 bis 5118 ausgegeben werden, werden an Ausgangsanschlüssen 5231 bis 5238 ausgegeben. Die Summe der Bits dieser Indexdaten beträgt 72.
  • Wenn ein Wert, welcher durch Verbinden der ausgegebenen quantisierten Werte y 0' bis y 7' der Vektorquantisierer 5111 bis 5118 in der Dimensionsrichtung erhalten wird, y' beträgt, werden die Quantisierungswerte y' und x 0' durch den Addierer 513 addiert, um einen quantisierten Wert y 1' zu erhalten. Daher wird der quantisierte Wert x 1' dargestellt durch x 1' = x 0' + y' = xy + y'
  • Das heißt, der letztliche Quantisierungsfehlervektor beträgt y' – y.
  • Wenn der quantisierte Wert x 1' vom zweiten Vektorquantisierer 510 decodiert werden soll, besteht für das Sprachsignal-Decodiergerät nicht die Notwendigkeit des quantisierten Werts x 1' von der ersten Quantisierungseinheit 500. Jedoch benötigt es Indexdaten von der ersten Quantisierungseinheit 500 und der zweiten Quantisierungseinheit 510.
  • Das Lernverfahren und die Codebuchsuche in dem Vektorquantisierungsabschnitt 511 wird anschließend erläutert.
  • Wie für das Lernverfahren wird der Quantisierungsfehlervektor in 8 niedrig-dimensionierte Vektoren y 0 bis y 7 unter Verwendung der Wichtung W' unterteilt, wie in Tabelle 2 gezeigt ist. Wenn die Wichtung W' eine Matrix ist, welche 44-Punkt-Unterabtastwerte als Diagonalelemente hat,
    Figure 00390001
    wird die Wichtung W' in folgende acht Matrizen aufgespalten:
    Figure 00400001
    Figure 00410001
    y und W', die somit in niedrige Dimensionen aufgespalten sind, werden als Yi und Wi' bezeichnet, wobei gilt 1 ≤ i ≤ 8.
  • Das Verzerrungsmaß E wird definiert als E = ||Wi' (y is)||2 (37)
  • Der Codebuchvektor s ist das Quantisierungsergebnis von y i. Nach diesem Codevektor des Codebuchs, der das Verzerrungsmaß E minimiert, wird gesucht.
  • Beim Codebuchlernen wird weiteres Wichten unter Verwendung des allgemeinen Lloyd-Algorithmus (GLA) durchgeführt. Die optimale Zentralbedingung zum Lernen wird zunächst erläutert. Wenn es M Eingangsvektoren y gibt, welche den Codevektor s als optimale Quantisierungsergebnisse ausgewählt haben, und die Schulungsdaten y k sind, wird der erwartete Verzerrungswert J durch die Gleichung (38) angegeben, indem die Verzerrungsmitte beim Wichten in bezug auf alle Rahmen k minimiert wird:
  • Figure 00420001
  • Durch Lösen von
    Figure 00420002
    erhält man
  • Figure 00420003
  • Wenn transformierte Werte beider Seiten hergenommen werden, erhält man
  • Figure 00420004
  • Daher gilt:
  • Figure 00420005
  • In der obigen Gleichung (39) ist s ein optimaler repräsentativer Vektor und stellt einen optimalen Zentralzustand dar.
  • Wie für den optimalen Codierzustand genügt es, nach s zu suchen, um den Wert von ||Wi'(y is)||2 zu minimieren. Wi' muß während der Suche nicht gleich Wi' während des Lernens sein und kann eine nichtgewichtete Matrix sein:
  • Figure 00430001
  • Durch Bilden der Vektorquantisierungseinheit 116 im Sprachsignalcodierer durch die zweistufigen Vektorquantisierungseinheiten wird es möglich, die Anzahl von Ausgangsindexbits variabel zu machen.
  • Die zweite Codiereinheit 120, bei welcher der oben beschriebene CELP-Codieraufbau der vorliegenden Erfindung verwendet wird, besteht aus mehrfach-stufigen Vektorquantisierungsprozessoren, wie in 9 gezeigt ist. Diese mehrfachstufigen Vektorquantisierungsprozessoren werden als zweistufige Codiereinheiten 1201 , 1202 bei der Ausführungsform von 9 gebildet, bei der eine Anordnung, um mit der Übertragungsbitrate von 6 kbps fertig zuwerden, in dem Fall, wo die Übertragungsbitrate zwischen beispielsweise 2 kbps und 6 kbps umgeschaltet werden kann, gezeigt ist. Zusätzlich kann die Form und das Gewinnindex-Ausgangssignal zwischen 23 Bits/5 ms und 15 Bits/5 ms umgeschaltet werden. Der Verarbeitungsfluß in der Anordnung von 10 ist in 11 gezeigt.
  • Gemäß 10 ist eine erste Codiereinheit 300 von 10 äquivalent der ersten Codiereinheit 113 von 3, eine LPC-Analyseschaltung 302 von 10 entspricht der LPC-Analyseschaltung 132, die in 3 gezeigt ist, während eine LSP-Parameter-Quantisierungsschaltung 303 dem Aufbau von der α-LSP-Umsetzungsschaltung 133 bis zur LSP-α-Umsetzungsschaltung 137 von 3 entspricht, und ein Wahrnehmungswichtungsfilter 304 von 10 entspricht dem Wahrnehmungswichtungsfilter-Berechnungsschaltung 139 und dem Wahrnehmungswichtungsfilter 125 von 3. Daher wird in 10 ein Ausgangssignal, welches das gleiche ist, wie das der LSP-α-Umsetzungsschaltung 137 der ersten Codiereinheit 113 von 1 ist, zu einem Anschluß 305 geliefert, während ein Ausgangssignal, welches das gleiche ist wie das Ausgangssignal der Wahrnehmbar-Wichtungsfilter-Berechnungsschaltung 139 von 3, zu einem Anschluß 307 geliefert wird, und ein Ausgangssignal, welches das gleiche ist, wie das Ausgangssignal des Wahrnehmungswichtungsfilters 125 von 3 ist, wird zu einem Anschluß 306 geliefert. Im Unterschied jedoch gegenüber dem Wahrnehmungswichtungsfilter 125 erzeugt das Wahrnehmungswichtungsfilter 304 von 10 das Wahrnehmungswichtungssignal, welches das gleiche Signal ist wie das Ausgangssignal des Wahrnehmungswichtungsfilters 125 von 3, wobei die Eingangssprach daten und der Vorquantisierungs-α-Parameter anstelle der Verwendung eines Ausgangssignals der LSP-α-Umsetzungsschaltung 137 verwendet wird.
  • In den zwei-stufigen zweiten Codiereinheiten 1201 und 1202 , die in 10 gezeigt sind, entsprechen die Subtrahierer 313 und 323 dem Subtrahierer 123 von 3, während die Distanzberechnungsschaltungen 314, 324 der Distanzberechnungsschaltung 124 von 3 entsprechen. Zusätzlich entsprechen den Gewinnschaltungen 311, 321 der Gewinnschaltung 126 von 3, während stochastische Codebücher 310, 320 und Codebücher 315, 325 dem Rausch-Codebuch 121 von 3 entsprechen.
  • Beim Aufbau von 10 spaltet die LPC-Analyseschaltung 302 im Schritt S1 von 11 die Eingangssprachdaten x, die vom Anschluß 301 geliefert werden, in Rahmen auf, wie oben beschrieben wurde, um LPC-Analysen durchzuführen, um einen α-Parameter zu finden. Die LSP-Parameter-Quantisierungsschaltung 303 setzt den α-Parameter von der LPC-Analyseschaltung 302 in LSP-Parameter um, um die LSP-Parameter zu quantisieren. Die quantisierten LSP-Parameter werden interpoliert und in α-Parameter umgesetzt. Die LSP-Parameter-Quantisierungsschaltung 303 erzeugt eine LPC-Synthesefilterfunktion 1/H(z) von den α-Parametern, die von den quantisierten LSP-Parametern umgesetzt wurden, d. h., die quantisierten LSP-Parameter, und sendet die erzeugte LPC-Synthesefilterfunktion 1/H(z) zum Wahrnehmungswichtungs-Synthesefilter 312 der ersten Stufe der zweiten Codiereinheit 1201 über den Anschluß 305.
  • Das Wahrnehmungswichtungsfilter 304 findet Daten zur Wahrnehmungswichtung, die die gleichen sind wie die, die durch die Wahrnehmungswichtungsfilter-Berechnungsschaltung 139 von 3 erzeugt wurden, vom α-Parameter von der LPC-Analyseschaltung 302, d. h., dem Vorquantisierungs-α-Parameter. Diese Wichtungsdaten werden über den Anschluß 307 zum Wahrnehmungswichtungs-Synthesefilter 312 der ersten Stufe zweiten Codiereinheit 1201 geliefert. Das Wahrnehmungswichtungsfilter 304 erzeugt das Wahrnehmungssignal, welches das gleiche Signal ist, wie das, welches durch das Wahrnehmungswichtungsfilter 125 von 3 ausgegeben wurde, von den Eingangssprachdaten und dem Vorquantisierungs-α-Parameter, wie im Schritt S2 in 11 gezeigt ist. Das heißt, die LPC-Synthesefilterfunktion W(z) wird zunächst vom Vorquantisierungs-α-Parameter erzeugt. Die erzeugte Filterfunktion W(z) wird für Eingangssprachdaten x verwendet, um xw zu erzeugen, welches als Wahrnehmungswichtungssignal über den Anschluß 306 zum Subtrahierer 313 der ersten Stufe der zweiten Codiereinheit 1201 geliefert wird. In der ersten Stufe der zweiten Codiereinheit 1201 wird ein repräsentatives Werteausgangssignal des stochastischen Codebuchs 310 des 9-Bit-Formindex-Ausgangssignals zur Gewinnschaltung 311 geliefert, welche dann das repräsentative Ausgangssignal vom stochastischen Codebuch 310 mit dem Gewinn (Skalar) vorn Gewinncodebuch 315 des 6-Bit-Gewinnindex-Ausgangssignals multipliziert. Das repräsentative Werteausgangssignal, welches mit dem Gewinn durch die Gewinnschaltung 311 multipliziert wird, wird zum Wahrnehmungswichtungs-Synthesefilter 312 geliefert mit 1/A(z) =(1/H(z))*W(z). Das Wichtungssynthesefilter 312 liefert das 1/A(z) – Nullantwort-Ausgangssignal zum Subtrahierer, wie im schritt S3 von 11 gezeigt ist. Der Subtrahierer 313 führt eine Subtraktion bezüglich des Nulleingangs-Antwortausgangssignals des Wahrnehmungswichtungs-Synthesefilters 312 und des Wahrnehmungswichtungssignals xw vom Wahrnehmungswichtungsfilter 304 durch, und die resultierende Differenz oder der Fehler wird als Referenzvektor r abgenommen. Während der Suche in der ersten Stufe der zweiten Codiereinheit 120 wird dieser Referenzvektor r zur Distanzberechnungsschaltung 314 geliefert, wo die Distanz berechnet wird und nach dem Formvektor s und dem Gewinn, der die Quantisierungsfehlerenergie E minimiert, gesucht wird, wie im Schritt S4 in 11 gezeigt ist. Hier ist 1/A(z) im Nullzustand. Das heißt, wenn der Formvektor s im Codebuch, der künstlich hergestellt ist mit 1/A(z), im Nullzustand s syn ist, wird nach dem Formvektor s und dem Gewinn g, welche die Gleichung (40) minimieren, gesucht:
  • Figure 00450001
  • Obwohl nach s und nach g, die die Quantisierungsfehlerenergie E minimieren, voll gesucht werden kann, kann das folgende Verfahren dazu verwendet werden, um den Berechnungsaufwand zu reduzieren.
  • Das erste Verfahren besteht darin, nach dem Formvektor s, der E minimiert, zu suchen, der durch die folgende Gleichung (41) definiert ist:
  • Figure 00450002
  • Aus s, welches durch das obige Verfahren erhalten wird, ist der ideale Gewinn so, wie durch die Gleichung (42) gezeigt ist:
  • Figure 00460001
  • Daher wird beim zweiten Verfahren nach diesem g, welches die Gleichung (43) minimiert, gesucht: Eg = (gref – g)2 (43)
  • Da E eine quadratische Funktion von g ist, minimiert dieses g, welches Eg minimiert, E.
  • Aus s und g, die durch das erste und zweite Verfahren erhalten werden, kann der Quantisierungsfehlervektor e durch die folgende Gleichung (44) berechnet werden: e = r – gs syn (44)
  • Dieser ist als Referenz der zweiten Stufe der zweiten Codiereinheit 1202 wie in der ersten Stufe quantisiert.
  • Das heißt, das Signal, welches zu den Anschlüssen 305 und 307 geliefert wird, wird unmittelbar vom Wahrnehmungswichtungs-Synthesefilter 312 der ersten Stufe der zweiten Codiereinheit 1201 zu einem Wahrnehmungswichtungs-Synthesefilter 322 der zweiten Stufe der zweiten Codiereinheit 1202 geliefert. Der Quantisierungsfehlervektor e, der durch die erste Stufe der zweiten Codiereinheit 1201 gefunden wird, wird zu einem Subtrahierer 323 der zweiten Stufe der zweiten Codiereinheit 1202 geliefert.
  • Im Schritt S5 von 11 wird eine Verarbeitung ähnlich der, die in der ersten Stufe durchgeführt wird, die in der zweiten Codiereinheit 1202 in der zweiten Stufe vorkommt, durchgeführt. Das heißt, ein repräsentatives Wertausgangssignal vom stochastischen Codebuch 320 des 5-Bitformindex-Ausgangsisgnals wird zur Gewinnschaltung 321 geliefert, wo das repräsentative Wertausgangssignal des Codebuchs 320 mit dem Gewinn vom Ge winncodebuch 325 des 3-Bit-Gewinnindex-Ausgangssignals multipliziert wird. Ein Ausgangssignal des Wichtungssynthesefilters 322 wird zum Subtrahierer 323 geliefert, wo eine Differenz zwischen dem Ausgangssignal des Wahrnehmungswichtungs-Synthesefilters 322 und dem Quantisierungsfehlervektor e der ersten Stufe gefunden wird. Diese Differenz wird zu einer Distanzberechnungsschaltung 324 zur Distanzberechnung geliefert, um den Formvektor s und den Gewinn g zu suchen, um die Quantisierungsfehlerenergie E zu minimieren.
  • Das Formindex-Ausgangssignal des stochastischen Codebuchs 310 und das Gewinnindex-Ausgangssignal des Gewinncodebuchs 315 der ersten Stufe der zweiten Codiereinheit 120 und das Indexausgangssignal des stochastischen Codebuchs 320 und das Indexausgangssignal des Gewinncodebuchs 325 der zweiten Stufe der zweiten Codiereinheit 1202 werden zu einer Indexausgangssignal-Schaltschaltung 330 geliefert. Wenn 23 Bits von der zweiten Codiereinheit 120 ausgegeben sind, werden die Indexdaten der stochastischen Codebücher 310, 320 und der Gewinncodebücher 315, 325 der ersten Stufe und der zweiten Stufe der zweiten Codiereinheiten 1201 , 1202 addiert und ausgegeben. Wenn 15 Bits ausgegeben werden, werden die Indexdaten des stochastischen Codebuchs 310 und des Gewinncodebuchs 315 der ersten Stufe der zweiten Codiereinheit 1201 ausgegeben.
  • Der Filterungszustand wird dann aktualisiert, um das Nulleingangs-Antwortausgangssignal zu berechnen, wie im Schritt S6 gezeigt ist.
  • Bei der vorliegenden Ausführungsform ist die Anzahl von Indexbits der zweiten Stufe der zweiten Codiereinheit 1202 für den Formvektor gleich 5, während die für den Gewinn gleich 3 ist. Wenn eine geeignete Form und Gewinn in diesem Fall im Codebuch nicht vorhanden sind, ist es wahrscheinlich, daß der Quantisierungsfehler vergrößert wird, anstelle daß er abnimmt.
  • Obwohl die 0 in dem Gewinn vorgesehen sein kann, um zu verhindern, daß dieses Problem auftritt, gibt es lediglich 3 Bits für den Gewinn. Wenn eines dieser auf 0 gesetzt wird, wird die Quantisiererleistung signifikant verschlechtert. In Abwägung darüber wird ein Vektor mit Nullen für den Formvektor vorgesehen, dem eine größere Anzahl von Bits zugeteilt wird. Die oben erwähnte Suche wird durchgeführt, mit Ausnahme des Vektors mit Nullen, und der Vektor mit Nullen wird ausgewählt, wenn der Quantisierungsfehler sich schließlich vergrößert hat. Der Gewinn ist beliebig. Dies ermöglicht es, zu verhindern, daß der Quantisierungsfehler in der zweiten Stufe der zweiten Codiereinheit 1202 ansteigt.
  • Obwohl die zweistufige Anordnung oben beschrieben wurde, kann die Anzahl von Stufen größer als zwei sein. In diesem Fall wird, wenn die Vektorquantisierung durch die erste Stufe der Suche mit geschlossenem Regelkreis zu einem Abschluß kommt, die Quantisie rung der N-ten Stufe, wobei 2 ≤ N ist, mit dem Quantisierungsfehler, der (N – 1)-Stufe als Referenzeingangssignal ausgeführt, und der Quantisierungsfehler der der N-ten Stufe wird Referenzeingangssignal für die (N + 1)-ten Stufe verwendet.
  • Aus 10 und 11 erkannt man, daß durch Anwenden von Mehrfachstufen-Vektorquantisierern für die zweite Codiereinheit der Rechenaufwand im Vergleich zu dem vermindert wird, bei dem die geradlinige Vektorquantisierung mit der gleichen Anzahl von Bits verwendet wird oder bei der Verwendung eines zugeordneten Codebuchs. Insbesondere ist bei der CELP-Codierung, bei der die Vektorquantisierung der Zeitachsen-Signalform, bei der die Suche mit geschlossenem Regelkreis verwendet wird, durch das Analyse-Syntheseverfahren durchgeführt wird, eine weniger häufige Anzahl von Suchoperationen entscheidend. Zusätzlich kann die Anzahl von Bits leicht durch Umschalten zwischen Verwenden sowohl von Indexausgangssignalen der zweistufigen zweiten Codiereinheiten 1201 , 1202 als auch durch Verwenden lediglich des Ausgangssignals der ersten Stufe der zweiten Codiereinheit 1201 umgeschaltet werden, ohne daß Ausgangssignal der zweiten Stufe der zweiten Codiereinheit 1201 zu verwenden. Wenn die Indexausgangssignale der ersten Stufe und der zweiten Stufe der zweiten Codiereinheiten 1201 , 1202 kombiniert und ausgegeben werden, kann der Decoder leicht mit dem Aufbau fertig werden, indem er eines der Indexausgangssignale auswählt. Das heißt, der Decoder kann leicht mit dem Aufbau fertig werden, indem er die Parameter decodiert, welche mit beispielsweise 6 kbps unter Verwendung eines Decoders codiert sind, der bei 2 kbps arbeitet. Wenn außerdem ein Nullvektor im Formcodebuch der zweiten Stufe der zweiten Codiereinheit 1202 enthalten ist, wird es möglich, zu verhindern, daß der Quantisierungsvektor vergrößert wird, und zwar mit weniger Verschlechterung bezüglich der Leistung, als wenn eine Null zum Gewinn hinzugefügt wird.
  • Der Codevektor des stochastischen Codebuchs (Formvektor) kann beispielsweise durch das folgende Verfahren erzeugt werden.
  • Der Codevektor des stochastischen Codebuchs kann beispielsweise durch Abschneiden des sogenannten Gaußschen Rauschens erzeugt werden. Insbesondere kann das Codebuch durch Erzeugen des Gaußschen-Rauschens, durch Abschneiden des Gaußschen-Rauschens durch einen geeigneten Schwellenwert und durch Normierung des abgeschnittenen Gaußschen-Rauschens erzeugt werden.
  • Es gibt jedoch eine Vielzahl von Arten in der Sprache. Beispielsweise kann das Gaußsche-Rauschen mit der Sprache von Konsonantentönen in der Nähe des Rauschens fertig werden, beispielsweise "sa, shi, su, se und so", während das Gaußsche-Rauschen nicht mit der Sprache von aktuell ansteigenden Konsonanten fertig werden kann, beispielsweise "pa, pi, pu, pe und po".
  • Gemäß der vorliegenden Erfindung wird das Gaußsche-Rauschen bei einigen der Codevektoren angewendet, während der verbleibende Bereich der Codevektoren sich mit dem Lernen befaßt, so daß sowohl die Konsonanten, die scharf ansteigende Konsonantentöne haben, als auch die Konsonanten, die in der Nähe des Rauschens sind, damit fertig werden können. Wenn beispielsweise der Schwellenwert ansteigt, wird dieser Vektor erhalten, der mehrere größere Spitzen hat, während, wenn der Schwellenwert abnimmt, der Codevektor in der Nähe des Gaußschen-Rauschens ist. Somit ist es, wenn die Variation beim Abschneiden des Schwellenwerts vergrößert wird, möglich, mit Konsonanten fertig zu werden, die scharf ansteigende Bereiche haben, beispielsweise "pa, pi, pu, pe, po", oder mit Konsonanten in der Nähe des Rauschens, beispielsweise "sa, shi, su, se und so", wodurch die Klarheit ansteigt. 12 zeigt die Erscheinungsform des Gaußschen-Rauschens und des abgeschnittenen Rauschens durch eine durchgezogene Linie bzw. eine unterbrochene Linie. 12A und 12B zeigen das Rauschen, wobei der Abschneide-Schwellenwert gleich 1,0 ist, d. h., mit einem größeren Schwellenwert, und das Rauschen mit dem Abschneideschwellenwert gleich 0,4, d. h., mit einem kleineren Schwellenwert. Aus 12A und 12B sieht man, daß, wenn man den Schwellenwert so auswählt, daß dieser größer ist, ein Vektor erhalten wird, der mehrere größere Spitzen hat, während, wenn der Schwellenwert so ausgewählt ist, daß dieser ein kleinerer Wert ist, sich das Rauschen dem Gaußschen-Rauschen nähert.
  • Um dies zu realisieren, ist ein Anfangscodebuch vorbereitet, um das Gaußsche-Rauschen abzuschneiden, und es wird eine geeignete Anzahl von Nichtlern-Codevektoren eingestellt. Die Nichtlern-Codevektoren werden in der Reihenfolge des ansteigenden Variationswerts ausgewählt, um mit Konsonanten in der Nähe des Rauschens fertig zu werden, beispielsweise "sa, shi, su, se und so". Die durch das Lernen gefundenen Vektoren verwenden den LBG-Algorithmus zum Lernen. Das Codieren unter dem nächsten Nachbarzustand verwendet sowohl den festen Codevektor als auch den Codevektor, der durch Lernen erhalten wird. Im Zentralzustand wird lediglich der Codevektor, der gelernt wird, aktualisiert. Somit kann der zu lernende Codevektor mit scharf ansteigenden Konsonanten fertig werden, beispielsweise "pa, pi, pu, pe und po".
  • Ein optimales Verstärkungsmaß kann für diese Codevektoren durch übliches Lernen gelernt werden.
  • 13 zeigt den Verarbeitungsfluß zum Aufbau des Codebuchs durch Abschneiden des Gaußschen-Rauschens.
  • In 13 wird die Häufigkeit des Lernens n auf n = 0 im Schritt S10 zur Initialisierung eingestellt. Mit einem Fehler D0 = ∞ wird die maximale Häufigkeit des Lernens nmax eingestellt und es wird ein Schwellenwert ∊, der den Lernendezustand einstellt, eingestellt.
  • Im nächsten Schritt S11 wird das Anfangscodebuch durch Schneiden des Gaußschen-Rauschens erzeugt. Im Schritt S12 wird ein Teil der Codevektoren als Nichtlern-Codevektoren fixiert.
  • Im nächsten Schritt S13 wird codiert unter Verwendung des obigen Codebuchs. Im Schritt S14 wird der Fehler berechnet. Im Schritt S15 wird beurteilt, ob (Dn–1 – Dn/Dn < ∊, oder n = nmax). Wenn das Ergebnis Ja ist, wird die Verarbeitung beendet. Wenn das Ergebnis Nein ist, läuft die Verarbeitung weiter zum Schritt S16.
  • Im Schritt S16 werden diejenigen Vektoren nicht verwendet, die für das Codieren verarbeitet wurden. Im nächsten Schritt S17 werden die Codebücher aktualisiert. Im Schritt S18 wird die Häufigkeit des Lernens n inkrementiert, bevor zum Schritt S13 zurückgekehrt wird.
  • Für den Sprachcodierer von 3 wird ein spezielles Beispiel einer Stimmhaft-/Nichtstimmhaft-Unterscheidungseinheit (V/UV) 115 erläutert.
  • Die V/UV-Unterscheidungseinheit 115 führt die V/UV-Unterscheidung eines Rahmens auf der Basis eines Ausgangssignals der orthogonalen Transformationsschaltung 145, einer optimalen Tonhöhe von der Hochgenau-Tonhöhensucheinheit 146, der Spektralamplitudendaten von der Spektralhüllkurveneinheit 148, des maximalen normierten Autokorrelationswerts r(p) von der Tonhöhensucheinheit 141 mit geschlossenem Regelkreis und des Nulldurchgangszählwerts vom Nulldurchgangszähler 412 durch. Die Grenzposition der Ergebnisse auf Bandbasis der V-/UV-Entscheidung wird ähnlich wie die, die für MBE verwendet wird, auch als eine der Bedingungen für den betreffenden Rahmen verwendet.
  • Die Bedingung für die V-/UV-Unterscheidung für MBE, bei der die Ergebnisse der V-/UV-Unterscheidung auf Bandbasis verwendet werden, wird anschließend erläutert.
  • Die Parameter oder die Amplitude |Am|, die die Größe der m-ten Harmonischen im Fall von MBE zeigen, können dargestellt werden durch
  • Figure 00500001
  • In dieser Gleichung ist |S(j)| ein Spektrum, welches durch DFT Verarbeiten von LPC-Resten erhalten wird, und |E(j)| ist das Spektrum des Basissignals, insbesondere ein 256-Punkt-Hamming-Fenster, während am, bm kleinere und höhere Grenzwerte sind, die durch einen In dex j der Frequenz dargestellt werden, die dem m-ten Band entspricht, entsprechend wiederum der m-ten Harmonischen. Für die V/UV-Unterscheidung auf Bandbasis wird ein Rausch-Signal-Verhältnis (NSR) verwendet. Das NSR des m-ten Bands wird dargestellt durch
  • Figure 00510001
  • Wenn der NSR-Wert größer ist als ein vorher eingestellter Schwellenwert, beispielsweise 0,3, d. h., wenn ein Fehler größer ist, kann man beurteilen, daß die Näherung von |S(j(| durch |Am| |E(j)| im betreffenden Band nicht gut ist, d. h., daß das Erregungssignal |E(j)| als Basis nicht geeignet ist. Somit wird bestimmt, daß das betreffende Band nichtstimmhaft (UV) ist. Ansonsten kann man beurteilen, daß die Näherung gut ausgeführt ist und daher bestimmt wird, stimmhaft zu sein (V).
  • Es sei angemerkt, daß das NSR der jeweiligen Bänder (Harmonische) Ähnlichkeit der Harmonischen von einer Harmonischen zur anderen zeigt. Die Summe der verstärkungsgewichteten Harmonischen des NSR wird als NSRall definiert durch: NSRall = (Σm|Am|NSRm)/(Σm|Am|)
  • Die Regelbasis, die für die V/UV-Unterscheidung verwendet wird, wird in Abhängigkeit davon bestimmt, ob diese Spektralähnlichkeit NSRall größer oder kleiner als ein bestimmter Schwellenwert ist. Dieser Schwellenwert wird hier auf ThNSR = 0,3 festgelegt. Die Regelbasis befaßt sich mit dem Maximalwert der Autokorrelation der LPC-Reste, der Rahmenleistung und des Nulldurchgangs. Im Fall der Regelbasis, die für NSRall < ThNSR verwendet wird, wird der betreffende Rahmen zu V und UV, wenn die Regel angewandt wird bzw. wenn es keine passende Regel gibt.
  • Eine spezielle Regel ist wie folgt:
    Für NSRall < THNSR
    wenn numZero XP < 24, frmPow > 340 und r0 > 0,32 gilt, ist der betreffende Rahmen V;
    Für NSRall > THNSR
    wenn numZero XP > 30, frmPow < 900 und r0 > 0,23 ist, ist der betreffende Rahmen UV;
    wobei die entsprechenden Variablen wie folgt definiert sind:
    numZero XP: Anzahl der Nulldurchgänge pro Rahmen
    frmPow: Rahmenleistung
    r0: Autokorrelations-Maximalwert
  • Die Regel, die einen Satz von speziellen Regeln zeigt, beispielsweise die, die oben angegeben wurden, sind ratsam, die V/UV-Unterscheidung auszuführen.
  • Der Aufbau wesentlicher Bereiche und der Betrieb des Sprachsignaldecoders von 4 wird nun ausführlicher erläutert.
  • Das LPC-Synthesefilter 214 ist in das Synthesefilter 236 für die stimmhafte Sprache (V) und in das Synthesefilter 237 für die nichtstimmhafte Sprache (UV), wie oben erläutert, getrennt. Wenn die LSPs fortlaufend alle 20 Abtastungen interpoliert werden, d. h., alle 2,5 ms, ohne das Synthesefilter zu trennen, ohne die V/UV-Bestimmung zu treffen, werden LSPs von gänzlich unterschiedlichen Eigenschaften bei Übergangsbereichen von V zu UV oder von V zu V interpoliert. Das Ergebnis ist, daß die LPC von UV und V als Reste von V bzw. UV verwendet werden, so daß die Neigung besteht, daß ein fremdartiger Ton erzeugt wird. Um das Auftreten solcher schlechten Effekte zu verhindern, ist das LPC-Synthesefilter in V und UV getrennt, und die LPC-Koeffzienteninterpolation wird unabhängig für V und UV durchgeführt.
  • Das Verfahren zur Koeffizienteninterpolation der LPC-Filter 236, 237 in diesem Fall wird nun erläutert. Insbesondere wird die LSP-Interpolation in Abhängigkeit vom V/UV-Zustand umgeschaltet, wie in Tabelle 3 gezeigt ist.
  • Tabelle 3
    Figure 00530001
  • Wenn man ein Beispiel der LPC-Analyse 10-ter Ordnung heranzieht, sind die gleichen Intervall-LSP solche LSP, welche α-Parametern für flache Filtercharakteristik und dem Verstärkungsmaß gleich der Einheit entsprechen, d. h., α0 = 1, α1 = α = ... = α10 = 0, mit 0 ≤ α ≤ 10.
  • Eine derartige LPC-Analyse 10-ter Ordnung d. h., eine LSP 10-ter Ordnung ist das LSP, das einem vollständig flachen Spektrum entspricht, wobei LSPs in gleichen Intervallen bei 11 gleichmäßig beabstandeten voreinander getrennten Positionen zwischen 0 und π aufgereiht sind. In diesem Fall hat das gesamte Bandverstärkungsmaß des Synthesefilters die minimale Durchlaßcharakteristik in diesem Zeitpunkt.
  • 15 zeigt schematisch die Art und Weise der Verstärkungsmaßänderung. Insbesondere zeigt 15, wie das Verstärkungsmaß von 1/HUV(z) und das Verstärkungsmaß von 1/HV(z) während des Übergangs vom nichtstimmhaften Bereich (UV zum stimmhaften Bereich (V) geändert werden.
  • Wie für die Interpolationseinheit beträgt es 2,5 ms (20 Abtastungen) für den Koeffizienten von 1/HV(z), während es 10 ms (80 Abtastungen) für die Bitraten von 2 kbps und 5 ms (40 Abtastungen) für die Bitrate von 6 kbps für den Koeffizienten von 1/HUV(z) beträgt. Für UV kann, da die zweite Codiereinheit 120 Signalformanpassung durchführt, wobei ein Analyse-Synthese-Verfahren verwendet wird, die Interpolation mit den LSPs der Nachbarbereiche V durchgeführt werden, ohne die Interpolation mit den Gleichintervall-LSPs durchzu führen. Es sei angemerkt, daß beim Codieren des UV-Bereichs des zweiten Codierbereichs 120 die Nulleingangsantwort auf Null gesetzt wird, wobei der innere Zustand des 1/A(z) Wichtungssynthesefilters 122 am Übergangsbereich von V zu UV aufgehoben wird.
  • Ausgangssignale dieser LPC-Synthesefilter 236, 237 werden zu den entsprechenden unabhängig-vorgesehenen Nachfiltern 238u, 238v geliefert. Die Intensität und Frequenzantwort der Nachfilter werden auf Werte eingestellt, die für V und UV unterschiedlich sind, um die Intensität und die Frequenzantwort der Nachfilter auf unterschiedliche Werte für V und UV einzustellen.
  • Die Fensterbildung von Verbindungsbereichen zwischen dem V- und dem UV-Bereich der LPC-Restsignale, d. h., die Erregung als ein LPC-Synthesefilter-Eingangssignal wird nun erläutert. Die Fensterbildung wird durch die Sinussyntheseschaltung 215 der Stimmhaftsprache-Syntheseeinheit 211 und durch die Fensterbildungsschaltung 223 der Nichtstimmhaftsprache-Syntheseeinheit 220 ausgeführt. Das Verfahren zur Synthese des V-Bereichs der Erregung wird ausführlich in der japanischen Patentanmeldung Nr. 4-91 422 erläutert, die durch die Bevollmächtigte dieser Anmeldung vorgeschlagen wurde, während das Verfahren zur schnellen Synthese des V-Bereichs der Erregung ausführlich in der japanischen Patentanmeldung Nr. 6-19 84 51 erläutert wurde, die ebenso durch die vorliegende Bevollmächtigte vorgeschlagen wurde. Bei der vorliegenden beispielhaften Ausführungsform wird dieses Verfahren der schnellen Synthese dazu verwendet, die Erregung des V-Bereichs unter Verwendung dieser schnellen Synthesemethode zu erzeugen.
  • Im stimmhaften Bereich (V) können, in welchem die Sinussynthese durch Interpolation unter Verwendung des Spektrums der benachbarten Rahmen durchgeführt wird, alle Signalformen zwischen dem n-ten und (n + 1)-ten Rahmen erzeugt werden. Für den Signalbereich rittlings von dem V- und UV-Bereich, beispielsweise dem (n + 1)-ten Rahmen und dem (n + 2)-ten Rahmen in 16, oder für den Bereich rittlings vom UV-Bereich und vom V-Bereich codiert und decodiert der UV-Bereich lediglich Daten von ±80 Abtastungen (eine Gesamtsumme von 160 Abtastungen ist gleich einem Rahmenintervall). Die Folge davon ist, daß die Fensterbildung über einem Zentralpunkt CN zwischen benachbarten Rahmen auf der V-Seite ausgeführt wird, während diese bis zum Zentralpunkt CN auf der UV-Seite ausgeführt wird, um die Verbindungsbereiche zu überlappen, wie in 17 gezeigt ist. Die umgekehrte Prozedur wird für den Übergangsbereich von UV nach V verwendet. Die Fensterbildung auf der V-Seite kann auch so sein, wie durch eine gestrichelte Linie in 17 gezeigt ist.
  • Die Rauschsynthese und die Rauschhinzufügung im stimmhaften Bereich (V) wird nun erläutert. Diese Operationen werden durch die Rauschsyntheseschaltung 216, die Wichtungsüberlappungs- und Additionsschaltung 217 und durch den Addierer 218 von 4 durchgeführt, wobei zum stimmhaften Bereich des LPC-Restsignals das Rauschen hinzugefügt wird, welches die folgende Parameter in Verbindung mit der Erregung des stimmhaften Bereichs als LPC-Synthesefilter für das Eingangssignal in betracht zieht.
  • Das heißt, die obigen Parameter können durch die Tonhöhe lag Pch, die Spektralamplitude Am[i] des stimmhaften Tons, die maximale Spektralamplitude in einem Rahmen Amax und den Restsignalpegel Lev spezifiziert werden. Die Tonhöhe lag Pch ist die Anzahl von Abtastungen in einer Tonhöhenperiode für eine vorher festgelegte Abtastfrequenz fs, beispielsweise fs = 8 kHz, während i in der Spektralamplitude Am[i] eine ganze Zahl ist, beispielsweise 0 < i < I für die Anzahl von Harmonischen im Band von fs/2 gleich I = Pch/2.
  • Die Verarbeitung durch die Rauschsyntheseschaltung 216 wird auf fast die gleiche Weise wie die Synthese des nichtstimmhaften Tons durch beispielsweise Multiband-Codierung (MBE) ausgeführt. 18 zeigt eine spezielle Ausführungsform der Rauschsyntheseschaltung 216.
  • Das heißt, wie in 18 gezeigt ist, gibt ein Weißrausch-Generator 401 das Gaußsche-Rauschen aus, welches dann mit der kurzzeitigen Fourier-Transformation (STFT) durch einen STFT-Prozessor 402 verarbeitet wird, um ein Leistungsspektrum des Rauschens auf der Frequenzachse zu erzeugen. Das Gaußsche-Rauschen ist ein Zeitbereichs-Weißrauschen-Signalform, die durch eine geeignete Fensterbildungsfunktion zu einem Fenster gebildet ist, beispielsweise ein Hamming-Fenster, welches eine vorher festgelegte Länge, beispielsweise 256 Abtastungen hat. Das Leistungsspektrum vom STFT-Prozessor 402 wird zur Amplitudenverarbeitung zu einem Multiplizierer 403 geliefert, wo es mit einem Ausgangssignal der Rauschamplituden-Steuerschaltung 410 multipliziert wird. Ein Ausgangssignal des Verstärkers 403 wird zu einem inversen STFT-Prozessor (ISTFT) 404 geliefert, wo es ISTFT-verarbeitet wird, wobei die Phase des ursprünglichen Weißrauschens als Phase zum Umsetzen in ein Zeitbereichssignal verwendet wird. Ein Ausgangssignal des ISTFT-Prozessors 404 wird zu einer Wichtungsüberlappungs-Addierschaltung 217 geliefert.
  • In der Ausführungsform von 18 wird ein Zeitbereichsrauschen vom Weißrausch-Generator 401 erzeugt und mit Orthogonaltransformation, beispielsweise STFT verarbeitet, um das Frequenzbereichsrauschen zu erzeugen. Alternativ kann das Frequenzbereichsrauschen auch unmittelbar durch den Rauschgenerator erzeugt werden. Durch unmittelbares Erzeugen des Frequenzbereichsrauschens kann auf die Orthogonaltransformationsverarbeitungsoperationen, beispielsweise auf STFT oder ISTFT verzichtet werden.
  • Insbesondere kann ein Verfahren zum Erzeugen von Zufallszahlen in einem Bereich von ±x und zum Handhaben der erzeugten Zufallszahlen als Real- und Imaginärteile des FFT-Spektrums oder ein Verfahren zum Erzeugen positiver Zufallszahlen im Bereich von 0 bis zu einer Maximalzahl (max), um diese als Amplitude des FFT-Spektrums zu handhaben und zum Erzeugen von Zufallszahlen im Bereich von –π bis +π und zum Handhaben dieser Zufallszahlen als Phase des FFT-Spektrums verwendet werden.
  • Dies macht es möglich, auf den STFT-Prozessor 402 von 18 zu verzichten, um den Aufbau zu vereinfachen oder um das Verarbeitungsvolumen zu reduzieren.
  • Die Rauschamplituden-Steuerschaltung 410 hat einen Basisaufbau, der beispielsweise in 19 gezeigt ist, und findet die künstlich hergestellt Rauschamplitude Am_Rauschen[i], wobei der Multiplikationskoeffizient im Multiplizierer 403 auf der Basis der Spektralamplitude Am[i] des stimmhaften Tons (V) über einen Anschluß 411 vom Quantisierer 212 der Spektralhüllkurve von 4 gesteuert wird. Das heißt, ein Ausgangssignal einer Berechnungsschaltung 416 für einen optimalen Rausch-Mischwert, zu welcher die Spektralamplitude Am[i] und Tonhöhe lag Pch geliefert wird, wird durch eine Rauschwichtungsschaltung 417 gewichtet, und das resultierende Ausgangssignal wird zu einem Multiplizierer 418 geliefert, wo es mit einer Spektralamplitude Am[i] multipliziert wird, um eine Rauschamplitude Am_Rauschen[i] zu erzeugen. Wie bei der ersten speziellen Ausführungsform für die Rauschsynthese und Addition wird ein Fall, bei die Rauschamplitude Am_Rauschen[i] zu einer Funktion von zwei der obigen vier Parametern wird, nämlich zu Tonhöhen lag Pch und zur Spektralamplitude Am[i], nun erläutert.
  • Unter diesen Funktionen f1(Pch, Am[i]) gibt es: f1(Pch, Am[i]) = 0 wobei 0 < i < Rauschen_b × I), f1(Pch, Am[i]) = Am[i] × noise_mix wobei Rauschen_b × I ≤ i < I,und Rauschen_mix = K × Pch/2,0.
  • Es sei angemerkt, daß der Maximalwert von Rauschen max ist Rauschen_mix_max, bei dem es abgeschnitten wird. Als Beispiel gilt: K = 0,02, Rauschen_mix max = 0,3 und Rauschen_b = 0,7, wobei Rauschen b eine Konstante ist, die festgelegt, von welchem Bereich des Gesamtbandes dieses Rauschens addiert werden soll. Bei der vorliegen den Ausführungsform wird das Rauschen in einem Frequenzbereich hinzugefügt, der höher ist als eine Position von 70%, d. h., wenn fs = 8 kHz, wird das Rauschen in einem Bereich von 4000 × 0,7 = 2800 kHz bis 4000 kHz hinzugefügt.
  • Eine zweite spezielle Ausführungsform zur Rauschsynthese- und Addition, bei der die Rauschamplitude Am_Rauschen[i] eine Funktion f2(Pch, Am[i], Amax) von drei von vier Parametern ist, nämlich von Tonhöhen lag Pch, Spektralamplitude Am[i] und maximaler Spektralamplitude Amax, erläutert.
  • Unter diesen Funktionen f2(Pch, Am[i], Amax) gibt es: f2(Pch, Am[i], Amax) = 0, wobei 0 < j < Rauschen_b × I), f1(Pch, Am[i], Amax) = Am[i] × noise_mix wobei Rauschen_b × I ≤ i < I,und Rauschen_mix = K × Pch/2,0.
  • Es sei angemerkt, daß der Maximalwert von Rauschen_mix = Rauschen_mix_max ist, und als Beispiel ist K = 0,02, Rauschen_mix_max = 0,3 und Rauschen_b = 0,7.
  • Wenn Am[i] × Rauschen_mix > A max × C × Rauschen_mix, f2(Pch, Am[i], Amax) = Amax × C × Rauschen_mix, wobei die Konstante C auf 0,3 (C = 0,3) festgelegt ist. Da verhindert werden kann, daß der Pegel durch diese Zustandsgleichung übermäßig groß wird, können die obigen Werte K und Rauschen_mix_max weiter vergrößert werden, und der Rauschpegel kann weiter vergrößert werden, wenn der Hochbereichspegel höher ist.
  • Als dritte spezielle Ausführungsform der Rauschsynthese- und Addition kann die obige Rauschamplitude Am_Rauschen[i] eine Funktion aller vier Parameter sein, d. h., f3(Pch, Am[i], Amax, Lev).
  • Die speziellen Beispiele der Funktion f3(Pch, Am[i], Amax, Lev) sind grundsätzlich ähnlich denjenigen der obigen Funktion f2(Pch, Am[i], Amax). Der Restsignalpegel Lev ist die mittlere Quadratwurzel (RMS) der Spektralamplituden Am[i] oder der Signalpegel gemessen auf der Zeitachse. Der Unterschied gegenüber der zweiten speziellen Ausführungsform ist der, daß die Werte von K und Rauschen_mix_max so eingestellt sind, Funktionen von Lev zu sein. Das heißt, wenn Lev kleiner oder größer ist, werden die Werte K und das Rauschen_mix_max so eingestellt, größere bzw. kleinere Werte zu sein. Alternativ kann der Wert von Lev so eingestellt sein, um umgekehrt proportional zu Werten von K und Rauschen_mix_max zu sein.
  • Die Nachfilter 238v, 238u werden nun erläutert.
  • 20 zeigt ein Nachfilter, welches als Nachfilter 238u, 238v in der Ausführungsform von 4 verwendet werden kann. Ein Spektralformungsfilter 640 besteht als wesentliches Teil des Nachfilters aus einem Formantverstärkungsfilter 441 und einem Hochbereichs-Verstärkungsfilter 442. Ein Ausgangssignal des Spektralformungsfilters 440 wird zu einer Verstärkungsmaßeinstellungsschaltung 443 geliefert, die ausgebildet ist, Verstärkungsänderungen zu korrigieren, die durch Spektralformen verursacht werden. Der Verstärkungsfaktor G der Verstärkungsmaß-Einstellungsschaltung 443 wird durch eine Verstärkungsmaß-Steuerungsschaltung 445 bestimmt, wobei ein Eingangssignal x mit einem Ausgangssignal y des Spektrumsformungsfilters 440 verglichen wird, um Verstärkungsmaßänderungen zu berechnen, um Korrekturwerte zu berechnen.
  • Wenn die Koeffizienten der Nenner Hv(z) und Huv(z) des LPC-Synthesefilters, d. h., die ||-Parameter als ausgedrückt α1 werden, können die Kennlinien PF(z) des Spektralformungsfilters 440 ausgedrückt werden durch:
  • Figure 00580001
  • Der Bruchbereich dieser Gleichung zeigt die Kennlinie des Formatierungsanhebungsfilters, während der Bereich (1 – kz–1) die Kennlinien eines Hochbereichs-Anhebungsfilters zeigt. β, γ und k sind Konstanten, so daß wenn beispielsweise gilt β = 0,6, γ = 0,8 und k = 0,3:
  • Das Verstärkungsmaß der Verstärkungsmaßeinstellungsschaltung 443 wird angegeben durch:
  • Figure 00580002
  • In der obigen Gleichung zeigen x(i) und y(i) ein Eingangssignal bzw. ein Ausgangssignal des Spektralformungsfilters 440.
  • Es sei angemerkt, daß, während die Koeffizientenaktualisierungsperiode des Spektralformungsfilters 440 gleich 20 Abtastungen oder 2,5 ms beträgt, wie dies ist bei der Aktualisierungsperiode für den α-Parameter, der der Koeffizient des LPC-Synthesefilters ist, die Aktualisierungsperiode des Verstärkungsmaßes G der Verstärkungsmaßeinstellungsschaltung 443 160 Abtastungen oder 20 ms beträgt.
  • Durch Einstellen der Koeffizientenaktualisierungsperiode des Spektralformungsfilter 443, damit diese länger ist als die des Koeffizienten des Spektralformungsfilters 440 als Nachfilter, wird es möglich, schlechte Wirkungen zu verhindern, die ansonsten durch Verstärkungsmaß-Einstellungsschwankungen verursacht werden würden.
  • Das heißt, bei einem allgemeinen Nachfilter wird die Koeffizientenaktualisierungsperiode des Spektralformungsfilters so eingestellt, damit diese gleich der Verstärkungsmaßaktualisierungsperiode ist, und, wenn die Verstärkungsmaßaktualisierungsperiode so ausgewählt ist, um 20 Abtastungen und 2,5 ms zu sein, werden Variationen bei den Verstärkungswerten sogar in einer Tonhöhenperiode verursacht, wodurch das Klick-Rauschen erzeugt wird. Bei der vor der vorliegenden Ausführungsform kann durch Einstellen der Verstärkungsschaltperiode, damit diese länger ist, beispielsweise gleich einem Rahmen oder 160 Abtastungen und 20 ms, verhindert werden, daß abrupte Verstärkungsänderungen auftreten. Wenn umgekehrt die Aktualisierungsperiode der Spektralformungsfilterkoeffizienten 160 Abtastungen oder 20 ms beträgt, können keine sanften Änderungen der Filtercharakteristik erzeugt werden, wodurch schlechte Wirkungen in der Synthese-Signalform erzeugt werden. Durch Einstellen der Filterkoeffizienten-Aktualisierungsperiode auf kürzere Werte von 20 Abtastungen oder 2,5 ms wird es möglich, effizientere Nachfilterung zu realisieren.
  • Mittels Verstärkungsverbindungsverarbeitung zwischen benachbarten Rahmen werden der Filterkoeffizient und das Verstärkungsmaß des vorherigen Rahmens und die des laufenden Rahmens mit Dreiecksfenstern von
    W(i) = i/20 (0 ≤ i ≤ 20) multipliziert und
    1 – W(i), wobei 0 ≤ i ≤ 20 zum Einblenden und zum Ausblenden, und die resultierenden Produkte werden miteinander addiert. 22 zeigt, wie das Verstärkungsmaß G1 des vorherigen Rahmens mit dem Verstärkungsmaß G1 des laufenden Rahmens verschmilzt. Insbesondere nimmt die Proportion unter Verwendung des Verstärkungsmaßes und der Filterkoeffizienten des vorhergehenden Rahmens graduell ab, während die unter Verwendung der Verstärkungs-Filterkoeffizienten des laufenden Filters allmählich ansteigen. Die Innenzustände des Filters für den laufenden Rahmen und die für den vorhergehenden Rahmen im Zeitpunkt T von 22 werden von den gleichen Zuständen aus gestartet, d. h., von den Endzuständen des vorhergehenden Rahmens.
  • Das oben beschriebene Signalcodier- und Signaldecodiergerät kann als Sprachcodebuch verwendet werden, welches beispielsweise bei einem portablen Kommunikationsgerät oder einem portablen Telefongerät, welches in 23 und 24 gezeigt ist, verwendet werden kann.
  • 23 zeigt eine Übertragungsseite eines tragbaren Endgeräts, bei dem eine Sprachcodiereinheit 160 verwendet wird, die aufgebaut ist, wie in 1 und 3 gezeigt ist. Die Sprachsignale, die durch ein Mikrophon 161 aufgenommen werden, werden durch einen Verstärker 162 verstärkt und durch einen Analog-Digital-Umsetzer (A/D) 163 in Digitalsignale umgesetzt, welche zur Sprachcodiereinheit 160 geliefert werden, die aufgebaut ist, wie in 1 und 3 gezeigt ist. Die Digitalsignale vom A/D-Umsetzer 163 werden zum Eingangsanschluß 101 geliefert. Die Sprachcodiereinheit 160 führt das Codieren durch, wie dies in Verbindung mit 1 und 3 erläutert wurde. Die Ausgangssignale der Ausgangsanschlüsse von 1 und 3 werden als Ausgangssignale der Sprachcodiereinheit 160 zu einer Übertragungskanal-Codiereinheit 164 geliefert, die Kanalcodierung bezüglich der gelieferten Signale durchführt. Ausgangssignale der Übertragungskanal-Codiereinheit 164 werden zu einer Modulationsschaltung 165 zur Modulation geliefert und dann zu einer Antenne 168 über einen Digital-Analog-Umsetzer (D/A) 166 und einem HF-Verstärker 167 geliefert.
  • 24 eine Empfangsseite des portablen Endgeräts, bei dem eine Sprachdecodiereinheit 260 verwendet wird, die aufgebaut ist, wie in 4 gezeigt ist. Die Sprachsignale, welche durch die Antenne 261 von 14 empfangen werden, werden durch einen HF-Verstärker 262 verstärkt und über einen Analog-Digital-Umsetzer (A/D) 263 zu einer Demodulationsschaltung 264 geliefert, von welcher demodulierte Signale zu einer Übertragungskanal-Decodiereinheit 265 geliefert werden. Ein Ausgangssignal der Decodiereinheit 265 wird zu einer Sprachdecodiereinheit 260 geliefert, die aufgebaut ist, wie in 2 und 4 gezeigt ist. Die Sprachdecodiereinheit 260 decodiert die Signale in einer Weise, wie dies in Verbindung mit 2 und 4 erläutert wurde. Ein Ausgangssignal an einem Ausgangsanschluß 201 von 2 und 4 wird als Signal der Sprachdecodiereinheit 260 zu einem Digital-Analog-Umsetzer (D/A) 266 geliefert. Ein analoges Sprachsignal vom D/A-Umsetzer 266 wird zu einem Lautsprecher 268 geliefert.
  • Die vorliegende Erfindung ist nicht auf die oben beschriebenen Ausführungsfor men beschränkt. Beispielsweise kann der Aufbau der Sprachanalysenseite (Codierer) von 1 und 3 oder der Sprachsyntheseseite (Decodierer) von 2 und 4, die oben als Hardware beschrieben wurden, durch ein Software-Programm realisiert werden, wobei beispielsweise ein Digitalsignalprozessor (DSP) verwendet wird. Die Synthesefilter 236, 237 oder die Nachfilter 238v, 238u auf der Decodierseite können als einziges LPC-Synthesefilter oder als einziges Nachfilter ohne Trennung in diejenigen für die stimmhafte Sprache oder die nichtstimm hafte Sprache ausgebildet werden. Die vorliegende Erfindung ist außerdem nicht auf die Übertragung oder das Aufzeichnen/die Reproduktion begrenzt, und sie kann bei einer Vielzahl von Anwendungen angewandt werden, beispielsweise bei Tonhöhenumsetzung, Sprachumsetzung, Synthese der computerisierten Sprache oder bei Rauschunterdrückung.

Claims (2)

  1. Verfahren zum Codieren eines hörbaren Signals, bei dem ein zugeführtes hörbares Signal durch Parameter dargestellt wird, die von einem zugeführten hörbaren Signal hergeleitet werden, welches in ein Frequenzdomänensignal umgesetzt wurde, und das zugeführte hörbare Signal, welches somit gezeigt wird, unter Verwendung gewichteter Vektorquantisierung dieser Parameter codiert wird, dadurch gekennzeichnet, dass die Wichtung auf der Basis der Parameter-Orthogonaltransformationsergebnisse berechnet wird, die von einer Impulsantwort einer Wichtungsübertragungsfunktion hergeleitet werden.
  2. Verfahren zum Codieren des hörbaren Signals nach Anspruch 1, wobei die Orthogonaltransformation die schnelle Fourier-Transformation ist, und wobei, wenn ein Realteil und ein Imaginärteil eines Koeffizienten, die von der schnellen Fourier-Transformation resultieren, als re bzw. im ausgedrückt werden, einer von (re, im) selbst, re2 + im2 oder (re2 + im2)1/2, wenn interpoliert, als diese Wichtung verwendet wird.
DE69634055T 1995-10-26 1996-10-25 Verfahren zur Kodierung von akustischen Signalen Expired - Lifetime DE69634055T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP30212995 1995-10-26
JP30212995A JP3707116B2 (ja) 1995-10-26 1995-10-26 音声復号化方法及び装置

Publications (2)

Publication Number Publication Date
DE69634055D1 DE69634055D1 (de) 2005-01-20
DE69634055T2 true DE69634055T2 (de) 2005-12-22

Family

ID=17905273

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69634179T Expired - Lifetime DE69634179T2 (de) 1995-10-26 1996-10-25 Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung
DE69634055T Expired - Lifetime DE69634055T2 (de) 1995-10-26 1996-10-25 Verfahren zur Kodierung von akustischen Signalen
DE69625875T Expired - Lifetime DE69625875T2 (de) 1995-10-26 1996-10-25 Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69634179T Expired - Lifetime DE69634179T2 (de) 1995-10-26 1996-10-25 Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69625875T Expired - Lifetime DE69625875T2 (de) 1995-10-26 1996-10-25 Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung

Country Status (10)

Country Link
US (1) US7454330B1 (de)
EP (3) EP1164579B1 (de)
JP (1) JP3707116B2 (de)
KR (1) KR100427754B1 (de)
CN (1) CN100409308C (de)
AU (1) AU725140B2 (de)
CA (1) CA2188493C (de)
DE (3) DE69634179T2 (de)
MX (1) MX9605122A (de)
RU (1) RU2233010C2 (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124092A (ja) * 1996-10-23 1998-05-15 Sony Corp 音声符号化方法及び装置、並びに可聴信号符号化方法及び装置
KR100429978B1 (ko) * 1996-12-26 2004-07-27 엘지전자 주식회사 음성합성시스템의음질저하방지장치
DE19706516C1 (de) * 1997-02-19 1998-01-15 Fraunhofer Ges Forschung Verfahren und Vorricntungen zum Codieren von diskreten Signalen bzw. zum Decodieren von codierten diskreten Signalen
JPH11122120A (ja) * 1997-10-17 1999-04-30 Sony Corp 符号化方法及び装置、並びに復号化方法及び装置
US7072832B1 (en) 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
EP1543497B1 (de) * 2002-09-17 2006-06-07 Koninklijke Philips Electronics N.V. Verfahren zur synthese eines stationären klangsignals
AU2003208517A1 (en) * 2003-03-11 2004-09-30 Nokia Corporation Switching between coding schemes
JP3827317B2 (ja) * 2004-06-03 2006-09-27 任天堂株式会社 コマンド処理装置
ES2476992T3 (es) * 2004-11-05 2014-07-15 Panasonic Corporation Codificador, descodificador, método de codificación y método de descodificaci�n
US9886959B2 (en) * 2005-02-11 2018-02-06 Open Invention Network Llc Method and system for low bit rate voice encoding and decoding applicable for any reduced bandwidth requirements including wireless
KR100707184B1 (ko) * 2005-03-10 2007-04-13 삼성전자주식회사 오디오 부호화 및 복호화 장치와 그 방법 및 기록 매체
AU2006232364B2 (en) 2005-04-01 2010-11-25 Qualcomm Incorporated Systems, methods, and apparatus for wideband speech coding
TWI317933B (en) 2005-04-22 2009-12-01 Qualcomm Inc Methods, data storage medium,apparatus of signal processing,and cellular telephone including the same
KR100713366B1 (ko) * 2005-07-11 2007-05-04 삼성전자주식회사 모폴로지를 이용한 오디오 신호의 피치 정보 추출 방법 및그 장치
JP2007150737A (ja) * 2005-11-28 2007-06-14 Sony Corp 音声信号ノイズ低減装置及び方法
US9454974B2 (en) 2006-07-31 2016-09-27 Qualcomm Incorporated Systems, methods, and apparatus for gain factor limiting
RU2426179C2 (ru) * 2006-10-10 2011-08-10 Квэлкомм Инкорпорейтед Способ и устройство для кодирования и декодирования аудиосигналов
BRPI0717954A2 (pt) 2006-11-06 2013-11-05 Qualcomm Inc Transmissão mimo com permutação de camada em um sistema de comunicação sem fio
US8005671B2 (en) 2006-12-04 2011-08-23 Qualcomm Incorporated Systems and methods for dynamic normalization to reduce loss in precision for low-level signals
US20080162150A1 (en) * 2006-12-28 2008-07-03 Vianix Delaware, Llc System and Method for a High Performance Audio Codec
KR101221919B1 (ko) * 2008-03-03 2013-01-15 연세대학교 산학협력단 오디오 신호 처리 방법 및 장치
KR101400484B1 (ko) * 2008-07-11 2014-05-28 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 시간 워프 활성 신호의 제공 및 이를 이용한 오디오 신호의 인코딩
MY154452A (en) 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
FR2938688A1 (fr) * 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
CN102415005B (zh) * 2009-08-17 2015-04-08 上海贝尔股份有限公司 在通信网络中用于保持预编码信道相干性的方法及装置
GB2473267A (en) * 2009-09-07 2011-03-09 Nokia Corp Processing audio signals to reduce noise
CA2796147C (en) 2010-04-13 2016-06-07 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and encoder and decoder for gap - less playback of an audio signal
KR101696632B1 (ko) * 2010-07-02 2017-01-16 돌비 인터네셔널 에이비 선택적인 베이스 포스트 필터
RU2445718C1 (ru) * 2010-08-31 2012-03-20 Государственное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ выделения сегментов обработки речи на основе анализа корреляционных зависимостей в речевом сигнале
KR101826331B1 (ko) 2010-09-15 2018-03-22 삼성전자주식회사 고주파수 대역폭 확장을 위한 부호화/복호화 장치 및 방법
WO2012037515A1 (en) 2010-09-17 2012-03-22 Xiph. Org. Methods and systems for adaptive time-frequency resolution in digital data coding
EP2657933B1 (de) * 2010-12-29 2016-03-02 Samsung Electronics Co., Ltd Kodiervorrichtung und dekodiervorrichtung mit bandbreitenerweiterung
US20120197643A1 (en) * 2011-01-27 2012-08-02 General Motors Llc Mapping obstruent speech energy to lower frequencies
EP3244405B1 (de) * 2011-03-04 2019-06-19 Telefonaktiebolaget LM Ericsson (publ) Audiodecodierung mit verstärkungskorrektur nach quantisierung
US9015042B2 (en) 2011-03-07 2015-04-21 Xiph.org Foundation Methods and systems for avoiding partial collapse in multi-block audio coding
US9009036B2 (en) * 2011-03-07 2015-04-14 Xiph.org Foundation Methods and systems for bit allocation and partitioning in gain-shape vector quantization for audio coding
US8838442B2 (en) 2011-03-07 2014-09-16 Xiph.org Foundation Method and system for two-step spreading for tonal artifact avoidance in audio coding
CN104885150B (zh) * 2012-08-03 2019-06-28 弗劳恩霍夫应用研究促进协会 用于多声道缩混/上混情况的通用空间音频对象编码参数化概念的解码器和方法
US9640190B2 (en) * 2012-08-29 2017-05-02 Nippon Telegraph And Telephone Corporation Decoding method, decoding apparatus, program, and recording medium therefor
JP6218855B2 (ja) * 2013-01-29 2017-10-25 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. 摩擦音または破擦音のオンセットまたはオフセットの時間的近接性における増大した時間分解能を使用するオーディオエンコーダ、オーディオデコーダ、システム、方法およびコンピュータプログラム
US9495968B2 (en) 2013-05-29 2016-11-15 Qualcomm Incorporated Identifying sources from which higher order ambisonic audio data is generated
CN104299614B (zh) * 2013-07-16 2017-12-29 华为技术有限公司 解码方法和解码装置
US9224402B2 (en) 2013-09-30 2015-12-29 International Business Machines Corporation Wideband speech parameterization for high quality synthesis, transformation and quantization
ES2709329T3 (es) 2014-04-25 2019-04-16 Ntt Docomo Inc Dispositivo de conversión de coeficiente de predicción lineal y procedimiento de conversión de coeficiente de predicción lineal
US9697843B2 (en) * 2014-04-30 2017-07-04 Qualcomm Incorporated High band excitation signal generation
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
EP2980797A1 (de) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiodecodierer, Verfahren und Computerprogramm mit Zero-Input-Response zur Erzeugung eines sanften Übergangs
US10741192B2 (en) * 2018-05-07 2020-08-11 Qualcomm Incorporated Split-domain speech signal enhancement
US11280833B2 (en) * 2019-01-04 2022-03-22 Rohde & Schwarz Gmbh & Co. Kg Testing device and testing method for testing a device under test

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067158A (en) * 1985-06-11 1991-11-19 Texas Instruments Incorporated Linear predictive residual representation via non-iterative spectral reconstruction
US4912764A (en) * 1985-08-28 1990-03-27 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech coder with different excitation types
US4797926A (en) 1986-09-11 1989-01-10 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech vocoder
US5125030A (en) * 1987-04-13 1992-06-23 Kokusai Denshin Denwa Co., Ltd. Speech signal coding/decoding system based on the type of speech signal
US5228086A (en) * 1990-05-18 1993-07-13 Matsushita Electric Industrial Co., Ltd. Speech encoding apparatus and related decoding apparatus
JPH0491442A (ja) 1990-08-02 1992-03-24 Fujitsu Ltd 結晶製造装置
WO1992005541A1 (fr) * 1990-09-14 1992-04-02 Fujitsu Limited Systeme de codage de la parole
US5138661A (en) * 1990-11-13 1992-08-11 General Electric Company Linear predictive codeword excited speech synthesizer
US5537509A (en) * 1990-12-06 1996-07-16 Hughes Electronics Comfort noise generation for digital communication systems
US5127053A (en) * 1990-12-24 1992-06-30 General Electric Company Low-complexity method for improving the performance of autocorrelation-based pitch detectors
US5487086A (en) * 1991-09-13 1996-01-23 Comsat Corporation Transform vector quantization for adaptive predictive coding
JP3343965B2 (ja) * 1992-10-31 2002-11-11 ソニー株式会社 音声符号化方法及び復号化方法
JP2878539B2 (ja) 1992-12-08 1999-04-05 日鐵溶接工業株式会社 チタンクラッド鋼の溶接方法
FR2702590B1 (fr) * 1993-03-12 1995-04-28 Dominique Massaloux Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP.
JP3137805B2 (ja) * 1993-05-21 2001-02-26 三菱電機株式会社 音声符号化装置、音声復号化装置、音声後処理装置及びこれらの方法
US5479559A (en) * 1993-05-28 1995-12-26 Motorola, Inc. Excitation synchronous time encoding vocoder and method
US5684920A (en) * 1994-03-17 1997-11-04 Nippon Telegraph And Telephone Acoustic signal transform coding method and decoding method having a high efficiency envelope flattening method therein
US5701390A (en) * 1995-02-22 1997-12-23 Digital Voice Systems, Inc. Synthesis of MBE-based coded speech using regenerated phase information
JP3653826B2 (ja) * 1995-10-26 2005-06-02 ソニー株式会社 音声復号化方法及び装置

Also Published As

Publication number Publication date
JPH09127991A (ja) 1997-05-16
CA2188493A1 (en) 1997-04-27
KR970024628A (ko) 1997-05-30
EP1164579A3 (de) 2002-01-09
EP1164579A2 (de) 2001-12-19
US7454330B1 (en) 2008-11-18
DE69625875D1 (de) 2003-02-27
DE69634179T2 (de) 2006-03-30
DE69634055D1 (de) 2005-01-20
EP1164578B1 (de) 2005-01-12
RU2233010C2 (ru) 2004-07-20
AU7037296A (en) 1997-05-01
EP0770990B1 (de) 2003-01-22
CN1156303A (zh) 1997-08-06
CA2188493C (en) 2009-12-15
MX9605122A (es) 1998-05-31
CN100409308C (zh) 2008-08-06
DE69625875T2 (de) 2003-10-30
EP0770990A2 (de) 1997-05-02
EP1164578A3 (de) 2002-01-02
AU725140B2 (en) 2000-10-05
EP0770990A3 (de) 1998-06-17
DE69634179D1 (de) 2005-02-17
EP1164579B1 (de) 2004-12-15
JP3707116B2 (ja) 2005-10-19
EP1164578A2 (de) 2001-12-19
KR100427754B1 (ko) 2004-08-11

Similar Documents

Publication Publication Date Title
DE69634055T2 (de) Verfahren zur Kodierung von akustischen Signalen
DE69726525T2 (de) Verfahren und Vorrichtung zur Vektorquantisierung und zur Sprachkodierung
DE69729527T2 (de) Verfahren und Vorrichtung zur Kodierung von Sprachsignalen
DE69023402T2 (de) Verfahren zur Sprachkodierung und -dekodierung.
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69934608T2 (de) Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums
DE60124274T2 (de) Codebuchstruktur und suchverfahren für die sprachkodierung
DE3856211T2 (de) Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen
DE69932460T2 (de) Sprachkodierer/dekodierer
DE69332994T2 (de) Hocheffizientes Kodierverfahren
DE69934320T2 (de) Sprachkodierer und verfahren zur codebuch-suche
DE69727895T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE602004007786T2 (de) Verfahren und vorrichtung zur quantisierung des verstärkungsfaktors in einem breitbandsprachkodierer mit variabler bitrate
DE69309557T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69815242T2 (de) Verfahren zur Quantisierung der LPC Parameter mittels geschalteter prädiktiver Quantisierung
DE60126149T2 (de) Verfahren, einrichtung und programm zum codieren und decodieren eines akustischen parameters und verfahren, einrichtung und programm zum codieren und decodieren von klängen
DE69928288T2 (de) Kodierung periodischer sprache
DE60011051T2 (de) Celp-transkodierung
DE69915400T2 (de) Vorrichtung zur Kodierung und Dekodierung von Audiosignalen
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE68912692T2 (de) Zur Sprachqualitätsmodifizierung geeignetes Übertragungssystem durch Klassifizierung der Sprachsignale.
DE69029232T2 (de) System und Methode zur Sprachkodierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition