DE69726525T2 - Verfahren und Vorrichtung zur Vektorquantisierung und zur Sprachkodierung - Google Patents

Verfahren und Vorrichtung zur Vektorquantisierung und zur Sprachkodierung Download PDF

Info

Publication number
DE69726525T2
DE69726525T2 DE69726525T DE69726525T DE69726525T2 DE 69726525 T2 DE69726525 T2 DE 69726525T2 DE 69726525 T DE69726525 T DE 69726525T DE 69726525 T DE69726525 T DE 69726525T DE 69726525 T2 DE69726525 T2 DE 69726525T2
Authority
DE
Germany
Prior art keywords
vector
code
coding
quantization
input
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
DE69726525T
Other languages
English (en)
Other versions
DE69726525D1 (de
Inventor
Masayuki Shinagawa-ku Nishiguchi
Kazuyuki Shinagawa-ku Iijima
Jun Shinagawa-ku Matsumoto
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
Publication of DE69726525D1 publication Critical patent/DE69726525D1/de
Application granted granted Critical
Publication of DE69726525T2 publication Critical patent/DE69726525T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/0204Speech 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 subband decomposition
    • G10L19/0208Subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Description

  • Die Erfindung bezieht sich auf ein Vektor-Quantisierungsverfahren, bei dem ein Eingangsvektor mit in einem Codebuch gespeicherten Codevektoren verglichen wird, um einen Index eines optimalen Codevektors der betreffenden Codevektoren abzugeben. Die vorliegende Erfindung bezieht sich außerdem auf ein Sprachcodierungsverfahren und eine Sprachcodierungsvorrichtung, bei dem bzw. der ein eingangsseitiges Sprachsignal in Terme einer zuvor festgelegten Codierungseinheit aufgeteilt wird, wie als Block oder Rahmen, und bei dem bzw. der eine Codierungsverarbeitung, die eine Vektor-Quantisierung umfasst, auf der Codierungseinheitsbasis ausgeführt wird.
  • Es ist bisher eine Vektor-Quantisierung bekannt geworden, bei der zur Digitalisierung und Kompressionscodierung von Audio- oder Videosignalen eine Vielzahl von Eingangsdaten zusammen zu einem Vektor für eine Darstellung als alleiniger Code (Index) gruppiert wird.
  • Bei einer derartigen Vektor-Quantisierung werden repräsentative Muster einer Vielzahl von Eingangsvektoren zuvor bestimmt, beispielsweise durch Lernen und dadurch, dass Codes oder Indices vergeben werden, die dann in einem Codebuch gespeichert werden. Der Eingangsvektor wird dann mit den jeweiligen Mustern (Codevektoren) mittels eines Mustervergleichs verglichen, um den Code des Musters abzugeben, welches die stärkste Ähnlichkeit oder Korrelation aufweist. Diese Ähnlichkeit oder Korrelation wird durch Berechnung des Verzerrungsmaßes oder einer Fehlerenergie zwischen dem Eingangsvektor und den jeweiligen Codevektoren er mittelt; sie ist um so höher, je kleiner die Verzerrung oder der Fehler ist.
  • Bisher ist eine Vielzahl von Codierungsverfahren bekannt geworden, die statistische Eigenschaften im Zeitbereich oder im Frequenzbereich und psychoakustische Eigenschaften des Menschen bei der Signalkompression ausnutzen. Dieses Codierungsverfahren ist grob in eine Codierung im Zeitbereich, in eine Codierung im Frequenzbereich und in eine Analyse-durch-Synthese-Codierung klassifiziert.
  • Unter den Beispielen einer hocheffizienten Codierung eines Sprachsignals gibt es eine analytische Sinuswellen-Codierung, wie eine Oberwellencodierung, eine Subband-Codierung (SBC), eine lineare prädiktive Codierung (LPC), eine diskrete Kosinustransformation (DCT), eine modifizierte DCT (MDCT) oder eine schnelle Fourier-Transformation (FFT).
  • Bei der hocheffizienten Codierung von Sprachsignalen wird die oben erwähnte Vektor-Quantisierung für Parameter, wie für Spektralkomponenten der Oberwellen herangezogen.
  • Falls unterdessen die Anzahl der im Codebuch gespeicherten Muster, das heißt die Anzahl der Codevektoren groß ist oder falls die Vektor-Quantisierungseinrichtung einen mehrstufigen Aufbau besitzt, der aus einer Vielzahl von Codebüchern besteht, die zusammen kombiniert werden, ist die Anzahl bzw. Häufigkeit der Codevektor-Suchoperationen für einen Mustervergleich erhöht, womit das Verarbeitungsvolumen erhöht ist. Falls eine Vielzahl von Codebüchern zusammen kombiniert wird, wird insbesondere die Durchführung einer Verarbeitung zur Ermittlung der Ähnlichkeit der Anzahl von Multiplikationen der Anzahl von Codevektoren in den Codebüchern erforderlich, was das Codebuch-Suchverarbeitungsvolumen signifikant steigert.
  • "Ein 8-K Bit pro S-Sprachcodierer auf der Grundlage einer konjugierten Struktur CELP" von Akitoshi Kataoka und anderen gibt ein zweistufiges Vektor-Quantisierungsverfahren an, welches einen Vorauswahlschritt und einen Endauswahlschritt umfasst.
  • "Eine Oberwellen- und Rauschcodierung von LPC-Resten mit einer klassifizierten Vektor-Quantisierung" von Masayuki Nishiguchi und anderen gibt ein Verfahren zur Codierung von Sprachsignalen an, bei dem Spektralkomponenten der Oberwellen der Sprachsignale durch eine sinusförmige Analyse ermittelt werden.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, wie sie in den beigefügten Patentansprüchen beansprucht ist, ein Vektor-Quantisierungsverfahren, ein Sprachcodierungsverfahren und eine Sprachcodierungsvorrichtung bereitzustellen, wobei die betreffenden Verfahren und die betreffende Vorrichtung imstande sind, das Codebuch-Suchverarbeitungsvolumen niedrig zu halten.
  • Zur Lösung der obigen Aufgabe stellt die vorliegende Erfindung ein Sprachcodierungsverfahren bereit, bei dem ein eingangsseitiges Sprachsignal auf der Zeitachse hinsichtlich zuvor festgelegter Codierungseinheiten aufgeteilt und hinsichtlich der zuvor festgelegten Codierungseinheiten codiert wird, umfassend die Schritte:
    Feststellen von Spektralkomponenten der Harmonischen bzw. Oberwellen durch sinusförmige Analyse eines aus dem eingangsseitigen Sprachsignal abgeleiteten Signals
    und Vektorquantisierung von Parametern, die aus auf Codierungseinheit basierten Spektralkomponenten der Harmonischen als ein Eingangsvektor für die Codierung abgeleitet sind,
    wobei die genannte Vektorquantisierung enthält:
    einen Vorauswahlschritt zum Feststellen eines Grades an Ähnlichkeit zwischen dem Eingangsvektor und sämtlichen in einem Codebuch gespeicherten Codevektoren zur Auswahl einer Vielzahl von Codevektoren, die einen hohen Grad an Ähnlichkeit zeigen,
    und einen Endauswahlschritt zur Auswahl eines solchen Codevektors aus den durch den genannten Vorauswahlschritt ausgewählten Codevektoren, der einen Fehler davon aus dem Eingangsvektor minimiert.
  • Dieses Sprachcodierungsverfahren ist dadurch gekennzeichnet, dass als der genannte Grad an Ähnlichkeit ein gewichtetes inneres Produkt des Eingangsvektors und des genannten Codevektors herangezogen wird, der durch eine Norm des Codevektors geteilt wird, welcher mit einem Gewichtswert entsprechend einer Energie gewichtet ist, die zum Bereich niedriger Frequenz des Parameters auf der Frequenzachse konzentriert und zum Bereich hoher Frequenz hin abgesenkt ist.
  • Durch Ausführen der letzten Auswahl nach der Vorwahl wird eine geringere Anzahl von Kandidaten-Codevektoren durch die einbezogene Vorauswahl ausgewählt, was die Verarbeitung vereinfacht, und einer letzten Auswahl hoher Genauigkeit unterzogen, um das Verarbeitungsvolumen für die Codebuch-Suche zu verringern.
  • Das Codebuch besteht aus einer Vielzahl von Codebüchern, aus deren jedem eine Vielzahl von Codevektoren ausgewählt werden kann, die eine optimale Kombination repräsentieren.
  • Die Erfindung wird aus der folgenden Beschreibung, die lediglich als Beispiel gegeben wird, unter Bezugnahme auf die beigefügten Zeichnungen näher verständlich werden. In den Zeichnungen zeigen
  • 1 ein Blockdiagramm, welches eine Grundstruktur einer Sprachsignal-Codierungsvorrichtung (Codierer) zur Ausführung des Codierungsverfahrens gemäß der vorliegenden Erfindung veranschaulicht,
  • 2 ein Blockdiagramm, welches eine Grundstruktur einer Sprachsignal-Decodierungsvorrichtung (Decoder) zur Ausführung des Decodierungsverfahrens gemäß der vorliegenden Erfindung veranschaulicht,
  • 3 ein Blockdiagramm, welches eine spezifiziertere Struktur des in 1 dargestellten Sprachsignal-Codierers veranschaulicht,
  • 4 ein Blockdiagramm, welches einen detaillierteren Aufbau des in 2 dargestellten Sprachsignal-Decoders veranschaulicht,
  • 5 eine Tabelle, die Bitraten der Sprachsignal-Codierungsvorrichtung veranschaulicht,
  • 6 ein Blockdiagramm, welches einen detaillierteren Aufbau der LSP-Quantisierungsvorrichtung veranschaulicht,
  • 7 ein Blockdiagramm, welches einen Grundaufbau der LSP-Quantisierungsvorrichtung veranschaulicht,
  • 8 ein Blockdiagramm, welches einen detaillierteren Aufbau der Vektor-Quantisierungsvorrichtung veranschaulicht,
  • 9 ein Blockdiagramm, welches einen detaillierteren Aufbau der Vektor-Quantisierungsvorrichtung veranschaulicht,
  • 10 ein Diagramm, welches ein spezifiziertes Beispiel des Gewichtswertes von W[i] zur Gewichtung veranschaulicht,
  • 11 eine Tabelle, welche die Beziehung zwischen den Quantisierungswerten, der Anzahl von Dimensionen und den Zahlen von Bits veranschaulicht,
  • 12 ein Blockdiagramm, welches einen veranschaulichenden Aufbau einer Vektor-Quantisierungsvorrichtung für eine eine Codebuch-Wiederauffindung eines Codebuchs von variabler Abmessung zeigt,
  • 13 ein Blockschaltungsdiagramm, welches einen weiteren veranschaulichenden Aufbau einer Vektor-Quantisierungsvorrichtung für eine Codebuch-Wiederauffindung bei einem Codebuch mit variabler Dimension zeigt,
  • 14 ein Blockdiagramm, welches einen ersten veranschaulichenden Aufbau einer Vektor-Quantisierungsvorrichtung zeigt, die ein Codebuch für eine variable Dimension und ein Codebuch für eine feste Dimension verwendet,
  • 15 ein Blockschaltungsdiagramm, welches einen zweiten veranschaulichenden Aufbau einer Vektor-Quantisierungsvorrichtung zeigt, die ein Codebuch für eine variable Dimension und ein Codebuch für eine feste Dimension verwendet,
  • 16 ein Blockschaltungsdiagramm, welches einen dritten veranschaulichenden Aufbau einer Vektor-Quantisierungsvorrichtung zeigt, die ein Codebuch für eine variable Dimension und ein Codebuch für eine feste Dimension verwendet,
  • 17 ein Blockschaltungsdiagramm, welches einen vierten veranschaulichenden Aufbau einer Vektor-Quantisierungsvorrichtung zeigt, die ein Codebuch für eine variable Dimension und ein Codebuch für eine feste Dimension verwendet,
  • 18 ein Blockschaltungsdiagramm, welches einen spezifizierten Aufbau eines CULP-Codierungsbereichs (zweiter Codierer) der Sprachcodierungsvorrichtung gemäß der vorliegenden Erfindung zeigt,
  • 19 ein Flussdiagramm, welches den Verarbeitungsablauf bei der in 18 dargestellten Anordnung veranschaulicht,
  • 20 den Zustand des weißen Rauschens und des Rauschens nach einer Begrenzung bei unterschiedlichen Schwellwerten,
  • 21 ein Flussdiagramm, welches den Verarbeitungsablauf zum Zeitpunkt der Erzeugung eines Form-Codebuchs durch Lernen veranschaulicht,
  • 22 eine Tabelle, die den Zustand des LSP-Schaltens in Abhängigkeit von U/UV-Übergängen veranschaulicht,
  • 23 lineare Spektralpaare (LSPs) 10. Ordnung auf der Grundlage von α-Parametern, die durch die LPC-Analyse der 10. Ordnung erhalten werden,
  • 24 den Zustand einer Verstärkungsänderung von einem stimmlosen Rahmen (UV) zu einem stimmhaften Rahmen (V),
  • 25 die Interpolationsoperation für die Wellenform oder Spekatralkomponenten, die von Rahmen zu Rahmen synthetisiert werden,
  • 26 eine Überlappung an einem Verbindungsbereich zwischen dem stimmhaften Rahmen (V) und dem stimmlosen Rahmen (UV),
  • 27 eine Rausch-Hinzufügungsverarbeitung zum Zeitpunkt einer Synthese von stimmhafter Sprache,
  • 28 ein Beispiel einer Amplitudenberechnung des zum Zeitpunkt der Synthese von stimmhafter Sprache hinzugefügten Rauschens,
  • 29 einen veranschaulichenden Aufbau eines Nachfilters,
  • 30 die Zeitspanne zur Aktualisierung der Filterkoeffizienten und die Verstärkungs-Aktualisierungszeitspanne eines Nachfilters,
  • 31 die Verarbeitung zum Zusammenfügen eines Teiles der Verstärkungs- und Filterkoeffizienten des Nachfilters an einer Rahmengrenze,
  • 32 ein Blockdiagramm, welches einen Aufbau einer Sendeseite eines transportablen Endgeräts veranschaulicht, das eine die vorliegende Erfindung verkörpernde Sprachsignal-Codierungsvorrichtung verwendet, und
  • 33 ein Blockdiagramm, welches einen Aufbau einer Empfangsseite eines transportablen Endgeräts veranschaulicht, das eine die vorliegende Erfindung verkörpernde Sprachsignal-Decodierungsvorrichtung verwendet.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • Unter Bezugnahme auf die Zeichnungen werden nunmehr bevorzugte Ausführungsformen der vorliegenden Erfindung im Einzelnen erläutert.
  • 1 zeigt die Grundstruktur bzw. den Grundaufbau einer Codierungsvorrichtung (Codierer) zur Ausführung eines Sprachcodierungsverfahrens gemäß der vorliegenden Erfindung.
  • Das Grundkonzept, welches dem Sprachsignalcodierer gemäß 1 zugrunde liegt, besteht darin, dass der Codierer eine erste Codierungseinheit 110 zur Ermittlung von Kurzterm-Prädiktionsresten, wie linearen Prädiktionscodierungs-(LPC)-Resten des Eingangs-Sprachsignals zur Vornahme einer sinusförmigen Analyse, wie einer Oberwellencodierung, und eine zweite Codierungseinheit 120 zur Codierung des Eingangs-Sprachsignals durch eine Wellenform-Codierung aufweist, die eine Phasen-Wiederholbarkeit besitzt, und dass die erste Codierungseinheit 110 und die zweite Codierungseinheit 120 zur Codierung der stimmhaften (V) Sprache des Eingangssignals und zur Codierung des stimmlosen (UV) Teiles des Eingangssignals herangezogen werden.
  • Die erste Codierungseinheit 110 verwendet einen Codierungsaufbau, beispielsweise die LPC-Reste, mit einer sinusförmigen analytischen Codierung, wie eine Oberwellen-Codierung oder eine Mehrband-Erregungs-(MBE)-Codierung. Die zweite Codierungseinheit 120 verwendet einen Aufbau zur Ausführung einer code-erregten linearen Prädiktion (CELP) unter Heranziehung einer Vektor-Quantisierung durch eine Suche in einer geschlossenen Schleife nach einem optimalen Vektor durch eine geschlossene Schleifensuche und außerdem durch Anwendung beispielsweise eines Analyse-durch-Synthese-Verfahrens.
  • Bei einer Ausführungsform, wie sie in 1 veranschaulicht ist, wird das einem Eingangsanschluss 101 zugeführte Sprachsignal einem invertierten bzw. invertierenden LPC-Filter 111 und einer LPC-Analyse- und -Quantisierungseinheit 113 einer ersten Codierungseinheit 110 zugeführt. Die LPC-Koeffizienten oder die sogenannten α-Parameter, die durch eine LPC-Analyse-Quantisierungseinheit 113 erhalten werden, werden zu dem invertierten bzw. invertierenden LPC-Filter 111 der ersten Codierungseinheit 110 übertragen. Von dem invertierten bzw. invertierenden LPC-Filter 111 werden lineare Prädiktionsreste (LPC-Reste) des Eingangs-Sprachsignals abgenommen. Von der LPC-Analyse-Quantisierungseinheit 113 werden quantisierte Ausgangssignale der linearen Spektrumspaare (LSPs) abgenommen, und zu einem Ausgangsanschluss 102 übertragen, wie dies später erläutert wird. Die LPC-Reste von dem invertierenden LPC-Filter 111 werden zu einer eine sinusförmige Analyse vornehmenden Codierungseinheit 114 übertragen. Die eine sinusförmige Analyse vornehmende Codierungseinheit 114 führt eine Tonhöhen-Ermittlung und Berechnungen bezüglich der Amplitude der Spektral-Hüllkurve sowie eine V/UV-Diskriminierung durch eine V/UV-Diskriminierungseinheit 115 aus. Die Spektral-Hüllkurven-Amplitudendaten von der eine sinusförmige analytische Verarbeitung vornehmenden Codierungseinheit 114 werden zu einer Vektor-Quantisierungseinheit 116 übertragen. Der Codebuch-Index von der Vektor-Quantisierungseinheit 116 wird als vektorquantisiertes Ausgangssignal der Spektral-Hüllkurve über einen Schalter 117 an einen Ausgangsanschluss 103 abgegeben, während ein Ausgangssignal der eine sinusförmige analytische Verarbeitung durchführenden Codierungseinheit 114 über einen Schalter 118 an einen Ausgangsanschluss 104 abgegeben wird. Ein V/UV-Diskriminierungs-Ausgangssignal der V/UV-Diskriminierungseinheit 115 wird zu einem Ausgangsanschluss 105 und als Steuersignal zu den Schaltern 117, 118 übertragen. Falls das Eingangs-Sprachsignal ein stimmhafter (V) Laut ist, werden der Index und die Tonhöhe ausgewählt und an den Ausgangsanschlüssen 103 bzw. 104 abgenommen.
  • Die zweite Codierungseinheit 120 gemäß 1 weist bei der vorliegenden Ausführungsform einen Aufbau entsprechend einer code-angeregten linearen Prädiktionscodierung (CELP-Codierung) auf und nimmt eine Vektor-Quantisierung der Zeitbereichs-Wellenform unter Heranziehung einer geschlossenen Schleifensuche vor, bei der ein Analyse-durch-Synthese-Verfahren angewandt wird, bei welchem ein Ausgangssignal eines Rausch-Codebuchs 121 durch ein gewichtetes Synthesefilter synthetisiert wird; die resultierende gewichtete Sprache wird zu einer Subtrahiereinrichtung 123 übertragen. Ein Fehler zwischen der gewichteten Sprache und dem Sprachsignal, welches dem Eingangsanschluss 101 und damit durch ein Wahrnehmungs-Gewichtungsfilter 125 zugeführt wird, wird abgenommen. Der so ermittelte Fehler wird zu einer Distanz-Rechenschaltung 124 übertragen, um Distanz-Berechnungen auszuführen, und ein Vektor, der den Fehler minimiert, wird mittels des Rausch-Codebuches 121 gesucht. Diese CELP-Codierung wird zur Codierung des stimmlosen Sprachteiles, wie zuvor erläutert, genutzt. Der Codebuch-Index, wie die UV-Daten von dem Rausch-Codebuch 121, wird bzw. werden an einem Ausgangsanschluss 107 über einen Schalter 127 abgenommen, der dann eingeschaltet wird, wenn das Ergebnis der V/UV-Diskriminierung auf stimmlos (UV) lautet.
  • 2 veranschaulicht in einem Blockdiagramm den Grundaufbau eines Sprachsignaldecoders als Gegenvorrichtung zum Sprachsignalcodierer gemäß 1, um das Sprachdecodierungsverfahren gemäß der vorliegenden Erfindung auszuführen.
  • Gemäß 2 wird ein Codebuchindex als Quantifizierungs-Ausgangssignal der linearen Spektralpaare (LSPs) vom Ausgangsanschluss 102 gemäß 1 einem Eingangsanschluss 202 zugeführt wird. Ausgangssignale der Ausgangsanschlüsse 103, 104 und 105 gemäß 1, das heißt die Tonhöhe, das V/UV-Diskriminierungs-Ausgangssignal und die Indexdaten als Hüllkurven-Quantisierungs- Ausgangsdaten bzw. -Abgabedaten werden Eingangsanschlüssen 203 bis 205 zugeführt. Die Indexdaten als Daten für die stimmlosen Daten werden vom Ausgangsanschluss 107 gemäß 1 einem Eingangsanschluss 207 zugeführt.
  • Der Index als Hüllkurven-Quantisierungsausgangssignal des Eingangsanschlusses 203 wird einer Invers-Vektor-Quantisierungseinheit 212 zur inversen Vektorquantisierung zugeführt, um eine Spektral-Hüllkurve der LPC-Reste zu ermitteln, die zu einem Synthesizer 211 für die stimmhafte Sprache übertragen werden. Der Synthesizer 211 für die stimmhafte Sprache synthetisiert die linearen Prädiktions-Codierungs-(LPC)-Reste des stimmhaften Sprachanteiles durch eine sinusförmige Synthese. Dem Synthesizer 211 werden außerdem die Tonhöhe und das V/UV-Diskriminierungs-Ausgangssignal von den Eingangsanschlüssen 204, 205 zugeführt. Die LPC-Reste der stimmhaften Sprache von der Syntheseeinheit 211 für die stimmhafte Sprache werden zu einem LPC-Synthesefilter 214 übertragen. Die Indexdaten der UV-Daten vom Eingangsanschluss 207 werden zu einer Syntheseeinheit 220 für einen stimmlosen Laut übertragen, in der Bezug genommen wird auf das Rausch-Codebuch, um die LPC-Reste des stimmlosen Anteiles herauszunehmen. Diese LPC-Reste werden außerdem zu dem LPC-Synthesefilter 214 übertragen. In dem LPC-Synthesefilter 214 werden die LPC-Reste des stimmhaften Anteiles und die LPC-Reste des stimmlosen Anteiles durch eine LPC-Synthese verarbeitet. Alternativ können die LPC-Reste des stimmhaften Anteils und die LPC-Reste des stimmlosen Anteils, die zusammen summiert sind, mittels einer LPC-Synthese verarbeitet werden. Die LSP-Index-daten vom Eingangsanschluss 202 werden zu der LPC-Parameter-Wiedergabeeinheit 213 übertragen, in der α-Parameter der LPC-Codierung herausgenommen und zu dem LPC-Synthesefilter 214 übertragen werden. Die durch das LPC-Synthesefilter 214 synthetisierten Sprachsignale werden an einem Ausgangsanschluss 201 abgenommen.
  • Unter Bezugnahme auf 3 wird nunmehr ein detaillierter Aufbau des in 1 dargestellten Sprachsignalcodierers erläutert. In 3 sind diejenigen Einzelteile oder Komponenten, die jenen entsprechen bzw. ähnlich sind, welche in 1 dargestellt sind, mit denselben Bezugszeichen bezeichnet.
  • Bei dem in 3 dargestellten Sprachsignalcodierer werden die dem Eingangsanschluss 101 zugeführten Sprachsignale mittels eines Hochpassfilters HPF 109 gefiltert, um Signale eines nicht benötigten Bereiches zu entfernen, und sodann werden die betreffenden Signale an eine LPC-(lineare Prädiktionscodierungs-)-Analyseschaltung 132 der LPC-Analyse-/-Quantisierungseinheit 113 und an das invertierende LPC-Filter 111 abgegeben.
  • Die LPC-Analyseschaltung 132 der LPC-Analyse-/-Quantisierungseinheit 113 wendet ein Hamming-Fenster bei einer Länge der Eingangssignalfolge in der Größenordnung von 256 Abtastproben pro Block an, und sie ermittelt durch die Autokorrelationsmethode einen linearen Prädiktionskoeffizienten, das heißt, einen sogenannten α-Parameter. Das Rahmenintervall als Datenabgabeeinheit wird auf etwa 160 Abtastproben festgelegt. Falls die Abtastfrequenz fs beispielsweise 8 kHz beträgt, dauert ein Rahmenintervall 20 ms oder es umfasst 160 Abtastproben.
  • Der α-Parameter von der LPC-Analyseschaltung 132 wird zu einer α-LSP-Umsetzschaltung 133 zur Umsetzung in lineare Spektrumspaar-(LSP)-Parameter übertragen. Diese Schaltung setzt den α-Parameter, wie er durch einen direkten Filterkoeffiziententyp ermittelt wird, beispielsweise in 10, das heißt in fünf Paare der LSP-Parameter um. Die Umsetzung wird beispielsweise nach dem Newton-Rhapson-Verfahren vorgenommen. Der Grund dafür, dass die α-Parameter in die LSP-Parameter umgesetzt werden, liegt darin, dass der LSP-Parameter in den Interpolationscharakteristiken den α-Parametern gegenüber überlegen ist.
  • Die LSP-Parameter von der α-LSP-Umsetzschaltung 133 werden durch die LSP-Quantisierungsvorrichtung 134 matrix- oder vektor-quantisiert. Es ist möglich, vor der Vektor-Quantisierung eine Rahmen-zu-Rahmen-Differenz heranzuziehen, oder eine Vielzahl von Rahmen zu sammeln, um eine Matrix-Quantisierung auszuführen. Im vorliegenden Fall werden zwei Rahmen, die jeweils 20 ms lang sind, der LSP-Parameter, die alle 20 ms berechnet sind, zusammen behandelt und mittels einer Matrix-Quantisierung und einer Vektor-Quantisierung verarbeitet.
  • Das quantisierte Ausgangssignal der Quantisiereinrichtung 134, das sind die Indexdaten der LSP-Quantisierung, wird an einem Anschluss 102 abgenommen, während der quantisierte LSP-Vektor zu einer LSP-Interpolationsschaltung 136 übertragen wird.
  • Die LSP-Interpolationsschaltung 136 interpoliert die LSP-Vektoren, die alle 20 ms oder 40 ms quantisiert sind, um eine achtfache Rate zu liefern. Dies bedeutet, dass der LSP-Vektor alle 2,5 ms aktualisiert wird. Der Grund dafür liegt darin, dass dann, wenn die Rest-Wellenform durch das Oberwellen-Codierungs-/Decodierungsverfahren mit der Analyse/Synthese verarbeitet wird, die Hüllkurve der synthetischen Wellenform eine extrem glatte Wellenform liefert, so dass dann, wenn die LPC-Koeffizienten alle 20 ms abrupt geändert werden, ein Fremdrauschen mit Wahrscheinlichkeit erzeugt wird. Dies heißt dass dann, wenn der LPC-Koeffizient allmählich alle 2,5 ms geändert wird, das Auftreten eines derartigen Fremdrauschens verhindert werden kann.
  • Zur invertierten Filterung der eingangsseitigen Sprache unter Verwendung der alle 2,5 ms erzeugten interpolierten LSP-Vektoren werden die LSP-Parameter durch eine LSP-α-Umsetzschaltung 137 in α-Parameter umgesetzt, bei denen es sich um Filterkoeffizienten beispielsweise eines Direkttyp-Filters zehnter Ordnung handelt. Ein Ausgangssignal der LSP-α-Umsetzschaltung 137 wird zu der invertierenden LPC-Filterschaltung 111 übertragen, die dann eine inverse Filterung vornimmt, um ein gleichmäßiges Ausgangssignal unter Heranziehung eines alle 2,5 ms aktualisierten α-Parameters vorzunehmen. Ein Ausgangssignal des inversen LPC-Filters 111 wird zu einer eine orthogonale Transformation vornehmenden Transformationsschaltung 145 übertragen, wie zu einer DCT-Schaltung, der eine sinusförmige Analyse vornehmenden Codierungseinheit 114, wie einer Oberwellen-Codierungsschaltung.
  • Der α-Parameter von der LPC-Analyseschaltung 132 der LPC-Analyse-/-Quantisierungseinheit 113 wird einer Wahrnehmungs-Gewichtungsfilter-Rechenschaltung 139 zugeführt, in der die Daten für eine Wahrnehnmungs-Gewichtung ermittelt werden. Diese Gewichtungsdaten werden zu einer Wahrnehmungs-Gewichtungsvektor-Quantisierungseinrichtung 116, einem Wahrnehmungs-Gewichtungsfilter 125 und dem Wahrnehmungs-Gewichtungs-Synthesefilter 122 der zweiten Codierungseinheit 120 übertragen.
  • Die eine sinusförmige Analyse vornehmende Codierungseinheit 114 der Oberwellen-Codierungsschaltung analysiert das Ausgangssignal des invertierenden LPC-Filters 111 nach einem Verfahren der Oberwellencodierung. Dies heißt, dass eine Tonhöhenermittlung, Berechnungen der Amplituden Am der jeweiligen Oberwellen und eine Stimmhaft-(V)-/Stimmlos-(UV)-Diskriminierung vorgenommen werden und dass die Zahlen der Amplituden Am oder der Hüllkurven der jeweiligen Oberwellen, mit der Tonhöhe variiert, durch eine Dimensionsumsetzung konstant gemacht werden.
  • Bei einem veranschaulichenden Beispiel der eine sinusförmige Analyse vornehmenden, in 3 dargestellten Codierungseinheit 114 wird eine gewöhnliche Oberwellencodierung angewandt. Insbesondere bei einer Mehrband-Erregungs-(MBE)-Codierung wird bei der Modellierung angenommen, dass stimmhafte Anteile und stimmlose Anteile in jedem Frequenzbereich oder -band zum selben Zeitpunkt vorhanden sind (im selben Block oder Rahmen). Bei anderen Oberwellen-Codierungsverfahren wird klar entschieden, ob die Sprache in einem Block oder in einem Rahmen stimmhaft oder stimmlos ist. In der folgenden Beschreibung wird bezüglich eines gegebenen Rahmens entschieden, dass er ein UV-Rahmen ist, falls die Gesamtheit der Bänder stimmlos (UV) ist, und zwar insoweit, wie die MBE-Codierung betroffen ist. Spezifizierte Beispiele der Technik des Analyse-Synthese-Verfahrens für MBE, wie sie oben beschrieben sind, finden sich in der JP-Patentanmeldung Nr. 4-91442, die im Namen der Anmelderin vorliegender Anmeldung getätigt worden ist.
  • Der Tonhöhen-Sucheinheit 141 mit offener Schleife und dem Nulldurchgangszähler 142 der eine sinusförmige Analyse vornehmenden Codierungseinheit 114 gemäß 3 werden das eingangsseitige Sprachsignal vom Eingangsanschluss 101 bzw. das Signal vom Hochpassfilter (HPF) 109 zugeführt. Der eine orthogonale Transformation vornehmenden Transformationsschaltung 145 der eine sinusförmige Analyse vornehmenden Codierungseinheit 114 werden die LPC-Reste oder die linearen Prädiktionsreste von dem invertierenden LPC-Filter 111 zugeführt. Die eine offene Schleife besitzende Tonhöhen-Sucheinheit 141 nimmt die LPC-Reste der Eingangssignale auf, um eine relativ grobe Tonhöhensuche durch eine offene Schleifensuche vorzunehmen. Die gewonnenen groben Tonhöhendaten werden zu einer eine feine Tonhöhensuche vornehmenden Sucheinheit 146 durch eine geschlossene Schleifensuche, wie später erläutert, übertragen. Von der eine offene Schleife aufweisenden Tonhöhen-Sucheinheit 141 wird der Maximalwert der normierten Selbstkorrelation r(p), die durch Normierung des Maximalwertes der Autokorrelation der LPC-Reste zusammen mit den groben Tonhöhendaten erhalten wird, zusammen mit den groben Tonhöhendaten abgenommen, um zu der V/UV-Diskriminierungseinheit 115 übertragen zu werden.
  • Die für eine orthogonale Transformation vorgesehene Transformationsschaltung 145 führt eine orthogonale Transformation aus, wie eine diskrete Fouriertransformation (DFT), um die LPC-Reste auf der Zeitachse in Spektralamplitudendaten auf der Frequenzachse umzusetzen. Ein Ausgangssignal der eine orthogonale Transformation vornehmenden Transformationsschaltung 145 wird zu der eine feine Tonhöhensuche vornehmenden Sucheinheit 146 und zu einer Spektral-Bewertungseinheit 148 übertragen, die zur Bewertung der Spektralamplitude oder -hüllkurve konfiguriert ist.
  • Der eine feine Tonhöhensuche vornehmenden Sucheinheit 146 werden die relativ groben Tonhöhendaten, die durch die eine offene Schleife aufweisende Tonhöhen-Sucheinheit 141 gewonnen sind, und Frequenzbereichsdaten zugeführt, die durch die DFT-Transformation mittels der eine orthogonale Transformation vornehmenden Transformationseinheit 145 erhalten werden. Die eine feine Tonhöhensuche vornehmende Sucheinheit 146 lenkt die Tonhöhendaten um ± mehrere Abtastproben mit einer Rate von 0,2 bis 0,5 um die groben Tonhöhen-Wertdaten zentriert aus, um letztlich beim Wert der feinen Tonhöhendaten mit einem optimalen Dezimalpunkt (Gleitpunkt) anzukommen. Das Verfahren der Analyse durch Synthese wird als feine Suchtechnik bzw. als Fein-Suchverfahren zur Auswahl einer Tonhöhe angewandt, so dass das Leistungsspektrum dem Leistungsspektrum des Originalklangs am nächsten sein wird. Die Tonhöhendaten von der eine geschlossene Schleife aufweisenden Fein-Tonhöhen-Sucheinheit 146 wird über einen Schalter 118 zu einem Ausgangsanschluss 104 hin übertragen.
  • In der Spektral-Bewertungseinheit 148 werden die Amplitude der jeweiligen Oberwelle und der Spektral-Hüllkurve als Summe der Oberwellen auf der Grundlage der Spektralamplitude und der Tonhöhe als orthogonales Transformations-Ausgangssignal der LPC-Reste bewertet und an die Fein-Tonhöhen-Sucheinheit 146, die V/UV-Diskriminierungseinheit 115 und die Wahrnehmungs-Gewichtungs-Vektor-Quantisierungseinheit 116 abgegeben.
  • Die V/UV-Diskriminierungseinheit 115 diskriminiert V/UV eines Rahmens auf der Grundlage eines Ausgangssignals von der eine or thogonale Transformation vornehmenden Transformationsschaltung 145, einer optimalen Tonhöhe von der Fein-Tonhöhen-Sucheinheit 146, den Spektral-Amplitudendaten von der Spektral-Bewertungseinheit 148, dem Maximalwert der normierten Autokorrelation r(p) von der eine offene Schleife aufweisenden Tonhöhen-Sucheinheit 141 und dem Nulldurchgangs-Zählwert von dem Nulldurchgangs-Zähler 142. Darüber hinaus kann die Grenzposition der band-basierten V/UV-Diskriminierung für MBE auch als eine Bedingung für eine V/UV-Diskriminierung genutzt werden. Ein Diskriminierungs-Ausgangssignal der V/UV-Diskriminierungseinheit 115 wird an einem Ausgangsanschluss 105 abgenommen.
  • Eine Ausgangs- bzw. Abgabeeinheit der Spektrum-Bewertungseinheit 148 oder eine Eingangs- bzw. Eingabeeinheit der Vektor-Quantisierungseinheit 116 ist mit einer Anzahl von Datenumsetzeinheiten versehen (eine Einheit führt eine Art von Abtastratenumsetzung durch). Die Anzahl der Datenumsetzeinheiten wird zur Festlegung der Amplitudendaten |Am| einer Hüllkurve auf einen konstanten Wert unter Berücksichtigung des Umstandes herangezogen, dass die Anzahl von auf der Frequenzachse aufgeteilten Bändern und die Anzahl von Daten mit der Tonhöhe differieren. Dies bedeutet, dass dann, wenn das effektive Band bis zur 3400 Hz reicht, das effektive Band in Abhängigkeit von der Tonhöhe in 8 bis 63 Bänder aufgeteilt werden bzw. sein kann. Die Anzahl von mMX + 1 der Amplitudendaten |Am|, die von Band zu Band erhalten werden, ändert sich im Bereich von 8 bis 63. Somit setzt die Datenzahl-Umsetzeinheit die Amplitudendaten der variablen Anzahl mMX + 1 in eine zuvor festgelegte Anzahl M von Daten, wie 44 Daten um.
  • Die Amplitudendaten oder die Hüllkurvendaten der zuvor festgelegten Anzahl M, wie 44, von der Datenzahl-Umsetzeinheit, die an einer Abgabeeinheit der Spektral-Bewertungseinheit 148 oder an einer Eingabeeinheit der Vektor-Quantisierungseinheit 116 bereitgestellt werden, werden zusammen hinsichtlich einer zuvor festgelegten Anzahl von Daten, wie 44 Daten als einer Einheit mittels der Vektor-Quantisierungseinheit 116 durch Ausführen einer gewichteten Vektor-Quantisierung verarbeitet. Dieses Gewicht wird durch ein Ausgangssignal der Wahrnehmungs-Gewichtungs-Filterberechnungsschaltung 139 abgegeben. Der Index der Hüllkurve von der Vektor-Quantisierungseinrichtung 116 wird über einen Schalter 117 am Ausgangsanschluss 103 abgenommen. Vor der gewichteten Vektor-Quantisierung ist es ratsam, eine Interrahmen-Differenz unter Heranziehung eines geeigneten Leck-Koeffizienten für einen Vektor vorzunehmen, der aus einer zuvor festgelegten Anzahl von Daten besteht.
  • Die zweite Codierungseinheit 120 wird erläutert. Die zweite Codierungseinheit 120 besitzt einen sogenannten CELP-Codierungsaufbau. Sie wird insbesondere zur Codierung des stimmlosen Anteiles des eingangsseitigen Sprachsignals herangezogen. Beim CELP-Codierungsaufbau für den stimmlosen Anteil des eingangsseitigen Sprachsignals wird ein Rauschsignal entsprechend den LPC-Resten des stimmlosen Lautes als repräsentativer Ausgangswert des Rausch-Codebuchs oder eines sogenannten stochastischen Codebuches 121 über eine Verstärkungs-Steuerschaltung 126 zu einem Wahrnehmungs-Gewichtungs-Synthesefilter 122 übertragen. Das eine gewichtete Synthese vornehmende Synthesefilter 122 nimmt eine LPC-Synthese des Eingangsrauschens durch eine LPC-Synthese vor und überträgt das erzeugte gewichtete stimmlose Signal zu der Subtrahiereinrichtung 123. Der Subtrahiereinrichtung 123 wird ein Signal zugeführt, welches von einem Eingangsanschluss 101 über ein Hochpassfilter (HPF) 109 gelangt und durch ein Wahrnehmungs-Gewichtungsfilter 125 wahrnehmbar gewichtet. Die Subtrahiereinrichtung ermittelt die Differenz oder den Fehler zwischen dem betreffenden Signal und dem Signal vom Synthesefilter 122. Unterdessen wird ein Null-Eingangs-Antwortsignal des Wahrnehmungs-Gewichtungs-Synthesefilters zuvor von einem Ausgangssignal des Wahrnehmungs-Gewichtungsfilters 125 subtrahiert. Dieser Fehler wird einer Distanz-Rechenschaltung 124 zur Berechnung der Distanz zugeführt. Ein repräsentativer Vektorwert, der den Fehler minimieren wird, wird im Rausch-Codebuch 121 gesucht. Der obige Vorgang ist die Zusammenfassung der Vektor-Quantisierung der Zeitbereichs-Wellenform unter Anwendung der geschlossenen Schleifensuche durch die Analyse mittels des Syntheseverfahrens.
  • Als Daten für den stimmlosen (UV)-Anteil vom zweiten Codierer 120 unter Verwendung des CELP-Codierungsaufbaus werden der Formindex des Codebuches von dem Rausch-Codebuch 121 und der Verstärkungsindex des Codebuches von der Verstärkungsschaltung 126 herangezogen. Der Formindex, bei dem es sich um die UV-Daten aus dem Rausch-Codebuch 121 handelt, wird über einen Schalter 127s zu einem Ausgangsanschluss 107s übertragen, während der Verstärkungsindex, bei dem es sich um die UV-Daten der Verstärkungsschaltung 126 handelt, über einen Schalter 127g zu einem Ausgangsanschluss 107g übertragen wird.
  • Diese Schalter 127s, 127g sowie die Schalter 117, 118 werden in Abhängigkeit von den Ergebnissen der V/UV-Entscheidung von der V/UV-Diskriminierungseinheit 115 ein- und ausgeschaltet. Genauer gesagt werden die Schalter 117, 118 eingeschaltet, falls die Ergebnisse der V/UV-Diskriminierung des Sprachsignals des gegenwärtig übertragenen Rahmens Stimmhaftigkeit (V) anzeigt, während die Schalter 127s, 127g eingeschaltet werden, falls das Sprachsignal des gegenwärtig übertragenen Rahmens Stimmlosigkeit (UV) anzeigt.
  • 4 zeigt einen detaillierteren Aufbau des in 2 dargestellten Sprachsignaldecoders. In 4 sind dieselben Bezugszeichen zur Bezeichnung der in 2 dargestellten Komponenten verwendet.
  • In 4 wird ein Vektor-Quantisierungsausgangssignal der LSP-Paare entsprechend dem Ausgangsanschluss 102 gemäß 1 und 3, das heißt der Codebuch-Index, einem Eingangsanschluss 202 zugeführt.
  • Der LSP-Index wird zu der invertierten bzw. invertierenden Vektor-Quantisiereinrichtung 231 des LSP für die LPC-Parameter-Wiedergabeeinheit 213 übertragen, um eine inverse Vektor-Quantisierung zu Leitungs-Spektralpaar-(LSP)-Daten zu erfahren, die dann an LSP-Interpolationsschaltungen 232, 233 zur Interpolation abgegeben werden. Die resultierenden interpolierten Daten werden durch die LSP-α-Umsetzschaltungen 234, 235 in α-Parameter umgesetzt, die zu dem LPC-Synthesefilter 214 übertragen werden. Die LSP-Interpolationsschaltung 232 und die LSP-α-Umsetzschaltung 234 sind für den stimmhaften (V) Laut ausgelegt, während die LSP-Interpolationsschaltung 233 und die LSP-α-Umsetzschaltung 235 für den stimmlosen (UV)-Laut ausgelegt sind. Das LPC-Synthesefilter 214 besteht aus dem LPC-Synthesefilter 236 für den stimmhaften Sprachanteil und aus dem LPC-Synthesefilter 237 für den stimmlosen Sprachanteil. Dies bedeutet, dass eine LPC-Koeffizienteninterpolation unabhängig vom stimmhaften Sprachteil und stimmlosen Sprachteil durchgeführt wird, um nachteilige Effekte zu unterbinden, die ansonsten im Übergangsbereich vom stimmhaften Sprachteil zum stimmlosen Sprachteil oder umgekehrt durch Interpolation der LSP-Paare von gänzlich unterschiedlichen Eigenschaften erzeugt werden könnten.
  • Einem Eingangsanschluss 203 gemäß 4 werden Code-Indexdaten entsprechend der gewichteten vektor-quantisierten Spektral-Hüllkurve Am zugeführt, die dem Ausgangssignal des Anschlusses 103 des Codierers gemäß 1 und 3 entspricht. Einem Eingangsanschluss 204 werden Tonhöhendaten vom Anschluss 104 gemäß 1 und 3 zugeführt, und einem Eingangsanschluss 205 werden V/UV-Diskriminierungsdaten vom Anschluss 105 gemäß 1 und 3 zugeführt.
  • Die vektor-quantisierten Indexdaten der Spektral-Hüllkurve Am vom Eingangsanschluss 203 werden zu einer invertierenden Vektor-Quantisiereinrichtung 212 für eine inverse Vektor-Quantisierung übertragen, bei der eine Umsetzung, die von der Datenzahlumsetzung invertiert ist, ausgeführt wird. Die resultierenden Spektral-Hüllkurvendaten werden zu einer eine sinusförmige Synthese vornehmenden Syntheseschaltung 215 übertragen.
  • Falls die Inter- bzw. Zwischenrahmen-Differenz vor einer Vektor-Quantisierung des Spektrums während der Codierung ermittelt wird, wird die Zwischen- bzw. Interrahmen-Differenz nach der inversen Vektor-Quantisierung decodiert, um Spektral-Hüllkurvendaten zu erzeugen.
  • Der eine sinusförmige Synthese vornehmenden Syntheseschaltung 215 werden die Tonhöhe vom Eingangsanschluss 204 und die V/UV-Diskriminierungsdaten vom Eingangsanschluss 205 zugeführt. von der eine sinusförmige Synthese vornehmenden Syntheseschaltung 215 werden die LPC-Restdaten entsprechend dem Ausgangssignal des inversen LPC-Filters 111, wie in 1 und 3 veranschaulicht, abgenommen und zu einem Addierer 218 übertragen. Die spezifizierte Technik der sinusförmigen Synthese ist beispielsweise in den JP-Patentanmeldungen Nr. 4-91442 und Nr. 6-198451 von der Anmelderin vorliegender Anmeldung vorgeschlagen worden.
  • Die Hüllkurvendaten der inversen Vektor-Quantisiereinrichtung 212 und die Tonhöhe sowie die V/UV-Diskriminierungsdaten von den Eingangsanschlüssen 204, 205 werden zu einer Rausch-Syntheseschaltung 216 übertragen, die für eine Rausch-Hinzufügung zum stimmhaften Anteil (V) ausgelegt ist. Ein Ausgangssignal der Rausch-Syntheseschaltung 216 wird einem Addierer 218 über eine eine gewichtete Überlappung und Addition vornehmende Schaltung 217 zugeführt. Genauer gesagt wird das Rauschen dem stimmhaften Anteil der LPC-Restsignale unter Berücksichtigung des Umstandes hinzugefügt, dass dann, wenn die Erregung als ein Eingangssignal des LPC-Synthesefilters für den stimmhaften Laut durch eine Sinuswellen-Synthese erzeugt wird, ein verstopfter Eindruck im Klang niedriger Tonhöhe, wie bei einer männlichen Sprache, hervorgerufen wird und dass die Tonqualität zwischen dem stimmhaften Laut und dem stimmlosen Laut abrupt geändert wird, was somit einen unnatürlichen Höreindruck hervorruft. Ein derartiges Rauschen berücksichtigt die mit den Sprachcodierungsdaten betroffenen Parameter, wie die Tonhöhe, die Amplituden der Spektral-Hüllkurve, die maximale Amplitude in einem Rahmen oder den Restsignalpegel in Verbindung mit dem LPC-Synthesefilter-Eingangssignal des stimmhaften Sprachanteils, das heißt der Erregung.
  • Ein Summen-Ausgangssignal des Addierers 218 wird einem Synthesefilter 236 für den stimmhaften Laut des LPC-Synthesefilters 114 zugeführt, in welchem eine LPC-Synthese ausgeführt wird, um Zeit-Wellenformdaten zu bilden, die dann durch ein Nachfilter 238v für die stimmhafte Sprache gefiltert und dem Addierer 239 zugeführt werden.
  • Der Formindex und der Verstärkungsindex als UV-Daten von den Ausgangsanschlüssen 107s und 107g gemäß 3 werden den Eingangsanschlüssen 207s bzw. 207g gemäß 4 zugeführt und sodann an die für eine stimmlose Sprachsynthese vorgesehene Sprachsyntheseeinheit 220 abgegeben. Der Formindex vom Anschluss 207s wird zum Rausch-Codebuch 221 der für eine stimmlose Sprachsynthese vorgesehene Sprachsyntheseeinheit 220 übertragen, während der Verstärkungsindex vom Anschluss 207g zur Verstärkungsschaltung 222 übertragen wird. Das aus dem Rausch-Codebuch 221 ausgelesene repräsentative Wert-Ausgangssignal stellt eine Rauschsignalkomponente entsprechend den LPC-Resten der stimmlosen Sprache dar. Dieses Ausgangssignal erhält in der Verstärkungsschaltung 222 eine zuvor festgelegte Verstärkungs-Amplitude und gelangt dann zu einer Fensterfestlegungsschaltung 223, um in einem Fenster zur Glättung des Übergangs zum stimmhaften Sprachanteil erfasst zu werden.
  • Ein Ausgangssignal der Fensterfestlegungsschaltung 223 wird an ein Synthesefilter 237 für die stimmlose (UV)-Sprache des LPC-Synthesefilters 214 abgegeben. Die zu dem Synthesefilter 237 übertragenen Daten werden mittels einer LPC-Synthese verarbeitet, um zu Zeit-Wellenformdaten für den stimmlosen Anteil zu werden. Die Zeit-Wellenformdaten des stimmlosen Anteils werden durch ein Nachfilter 238u für den stimmlosen Anteil gefiltert, bevor sie zu einem Addierer 239 übertragen werden.
  • In dem Addierer 239 werden das Zeit-Wellenformsignal von dem Nachfilter 238v für die stimmhafte Sprache und die Zeit-Wellenformdaten für den stimmlosen Sprachanteil von dem Nachfilter 238u für die stimmlose Sprache zusammenaddiert, und die resultierenden Summendaten werden an dem Ausgangsanschluss 201 abgenommen.
  • Der oben beschriebene Sprachsignalcodierer kann in Abhängigkeit von der geforderten Tonqualität Daten unterschiedlicher Bitraten abgeben. Dies bedeutet, dass die Ausgangs- bzw. Abgabedaten mit variablen Bitraten abgegeben werden können.
  • Genauer gesagt kann die Bitrate der Abgabedaten zwischen einer niedrigen Bitrate und einer hohen Bitrate umgeschaltet werden. Falls die niedrige Bitrate beispielsweise 2 kbps und die hohe Bitrate beispielsweise 6 kbps betragen, stellen die Abgabedaten Daten mit Bitraten dar, welche die in der Tabelle 1 angegebenen folgenden Bitraten aufweisen.
  • Die Tonhöhen-Daten vom Ausgangsanschluss 104 werden zu sämtlichen Zeitpunkten mit einer Bitrate von 8 Bits/20 ms für die stimmhafte Sprache abgegeben, wobei das V/UV-Diskriminierungsausgangssignal vom Ausgangsanschluss 105 zu sämtlichen Zeitpunkten 1 Bit/20 ms beträgt. Der Index für die LSP-Quantisierung, der vom Ausgangsanschluss 102 abgegeben wird, wird zwischen 32 Bits/40 ms und 48 Bits/40 ms umgeschaltet. Andererseits wird der vom Ausgangsanschluss 103 abgegebene Index während der stimmhaften Sprache (V) zwischen 15 Bits/20 ms und 87 Bits/20 ms umgeschaltet. Die Indices für die stimmlose Sprache (UV), die von den Ausgangsanschlüssen 107s und 107g abgegeben werden, werden zwischen 11 Bits/10 ms und 23 Bits/5 ms umgeschaltet. Die Abgabedaten für den stimmhaften Laut (V) betragen 40 Bits/20 ms für 2 kbps und 120 kbps/20 ms für 6 kbps. Andererseits betragen die Ausgangs- bzw. Abgabedaten für den stimmlosen Laut (UV) 39 Bits/20 ms für 2 kbps und 117 kbps/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 stimmlose Sprache (UV) werden später in Verbindung mit der Anordnung von relevanten Bereichen bzw. Anteilen erläutert.
  • Unter Bezugnahme auf 6 und 7 werden eine Matrix-Quantisierung und eine Vektor-Quantisierung in der LSP-Quantisiereinrichtung 134 im Einzelnen erläutert.
  • Der α-Parameter von LPC-Analyseschaltung 132 wird zu einer α-LSP-Schaltung 133 zur Umsetzung in LSP-Parameter übertragen. Falls die LPC-Analyse der P-ten Ordnung in einer LPC-Analyseschaltung 132 ausgeführt wird, werden P α-Parameter berechnet. Diese P α-Parameter werden in LSP-Parameter umgesetzt, die in einem Puffer 610 festgehalten werden.
  • Der Puffer 610 gibt zwei Rahmen von LSP-Parametern ab. Die beiden Rahmen der LSP-Parameter werden einer Matrix-Quantisierung in einer Matrix-Quantisiereinrichtung 620 unterzogen, die aus einer ersten Matrix Quantisiereinrichtung 6201 und einer zweiten Matrix-Quantisiereinrichtung 6202 besteht. Die beiden Rahmen der LSP-Parameter werden in der ersten Matrix-Quantisiereinrichtung 6201 einer Matrix-Quantisierung unterzogen, und der resultierende Quantisierungsfehler wird in der zweiten Matrix-Quantisier einrichtung 6202 einer weiteren Matrix-Quantisierung unterzogen. Die Matrix-Quantisierung nutzt die Korrelation sowohl in der Zeitachse als auch in der Frequenzachse aus.
  • Der Quantisierungsfehler für zwei Rahmen von der Matrix-Quantisiereinrichtung 6202 gelangt zu einer Vektor-Quanti-sierungseinheit 640, die aus einer ersten Vektor-Quantisier-einrichtung 6401 und einer zweiten Vektor-Quantisiereinrichtung 6402 besteht. Die erste Vektor-Quantisiereinrichtung 6401 besteht aus zwei Vektor-Quantisierungsbereichen 650, 660, während die zweite Vektor-Quantisiereinrichtung 6402 aus zwei Vektor-Quantisierungsbereichen 670, 680 besteht. Der Quantisierungsfehler von der Matrix-Quantisierungseinheit 620 wird auf Rahmenbasis durch die Vektor-Quantisierungsbereiche 650, 660 der ersten Vektor-Quantisiereinrichtung 6401 quantisiert. Der resultierende Quantisierungs-Fehlervektor wird einer weiteren Vektor-Quantisierung durch die Vektor-Quantisierungsbereiche 670, 680 der zweiten Vektor-Quantisiereinrichtung 6402 unterzogen. Die oben beschriebene Vektor-Quantisierung nutzt die Korrelation längs der Frequenzachse aus.
  • Die Matrix-Quantisierungseinheit 620, die die Matrix-Quantisierung ausführt, wie dies oben beschrieben worden ist, enthält zumindest eine erste Matrix-Quantisiereinrichtung 6201 zur Ausführung eines ersten Matrix-Quantisierungsschritts und eine zweite Matrix-Quantisiereinrichtung 6202 zur Ausführung eines zweiten Matrix-Quantisierungsschritts zur Matrix-Quantisierung des durch die erste Matrix-Quantisierung erzeugten Quantisierungsfehlers. Die Vektor-Quantisierungseinheit 640, die die Vektor-Quantisierung ausführt, wie dies oben beschrieben worden ist, enthält zumindest eine erste Vektor-Quantisiereinrichtung 6401 zur Ausführung eines ersten Vektor-Quantisierungsschritts und eine zweite Vektor-Quantisiereinrichtung 6402 zur Ausführung eines zweiten Matrix-Quantisierungsschritts zur Matrix-Quanti sierung des durch die erste Vektor-Quantisierung erzeugten Quantisierungsfehlers.
  • Nunmehr werden die Matrix-Quantisierung und die Vektor-Quantisierung im Einzelnen erläutert.
  • Die LSP-Parameter für zwei Rahmen, die im Puffer 600 gespeichert sind, das heißt eine 10 × 2-Matrix wird zur ersten Matrix-Quantisiereinrichtung 6201 übertragen. Die erste Matrix-Quantisiereinrichtung 6201 überträgt LSP-Parameter für zwei Rahmen über den LSP-Parameter-Addierer 621 zu einer eine gewichtete Distanz berechnenden Distanz-Recheneinheit 623, um die gewichtete Distanz des Minimalwertes zu ermitteln.
  • Das Verzerrungsmaß dMQ1 während der Codebuch-Suche durch die erste Matrix-Quantisiereinrichtung 6201 ist durch die Gleichung (1) gegeben:
  • Figure 00260001
  • Hierbei bedeuten X1 den LSP-Parameter und X1 ' den Quantisierungswert, wobei t und i die Zahlen der P-Dimension darstellen.
  • Das Gewicht w, bei dem eine Gewichtsbeschränkung in der Frequenzachse und in der Zeitachse nicht berücksichtigt ist, ist gegeben durch die Gleichung (2):
  • Figure 00260002
  • Hierbei gilt x(t,0) = 0,x(t,p + 1) = π unabhängig von t.
  • Das Gewicht w gemäß der Gleichung (2) wird außerdem für die auf der Abwärtsseite liegende Matrix-Quantisierung und Vektor-Quantisierung herangezogen.
  • Die berechnete gewichtete Distanz wird zu einer Matrix-Quantisiereinrichtung MQ1 622 für eine Matrix-Quantisierung übertragen. Ein durch diese Matrix-Quantisierung abgegebener 8-Bit-Index wird zu einem Signalumschalter 690 übertragen. Der durch die Matrix-Quantisierung quantisierte Wert wird in einem Addierer 621 von den LSP-Parametern für zwei Rahmen aus dem Puffer 610 subtrahiert. Eine eine gewichtete Distanz berechnende Recheneinheit 623 berechnet die gewichtete Distanz alle zwei Rahmen, so dass eine Matrix-Quantisierung in der Matrix-Quantisierungseinheit 622 ausgeführt wird. Außerdem wird ein die gewichtete Distanz minimierender Quantisierungswert ausgewählt. Ein Ausgangssignal des Addierers 621 wird zu einem Addierer 631 der zweiten Matrix-Quantisiereinrichtung 6202 übertragen.
  • Entsprechend der ersten Matrix-Quantisiereinrichtung 6201 führt die zweite Matrix-Quantisiereinrichtung 6202 eine Matrix-Quantisierung aus. Ein Ausgangssignal des Addierers 621 wird über einen Addierer 631 zu einer eine gewichtete Distanz berechnenden Recheneinheit 633 übertragen, in der die minimale gewichtete Distanz berechnet wird.
  • Das Verzerrungsmaß dMQ2 während der Codebuch-Suche durch die zweite Matrix-Quantisiereinrichtung 6202 ist durch die Gleichung (3) gegeben:
  • Figure 00270001
  • Die gewichtete Distanz wird zu einer Matrix-Quantisierungseinheit (MQ2) 632 für eine Matrix-Quantisierung übertragen. Ein durch die Matrix-Quantisierung abgegebener 8-Bit-Index wird zu dem Signalumschalter 690 übertragen. Die eine gewichtete Distanz berechnende Recheneinheit 633 berechnet sequentiell die gewichtete Distanz unter Heranziehung des Ausgangssignals des Addierers 631. Der die gewichtete Distanz minimierende Quantisierungswert wird ausgewählt. Ein Ausgangssignal des Addierers 631 wird rahmenweise zu den Addierern 651, 661 der ersten Vektor-Quantisiereinrichtung 6401 übertragen.
  • Die erste Vektor-Quantisiereinrichtung 6401 führt eine Vektor-Quantisierung rahmenweise aus. Ein Ausgangssignal des Addierers 631 wird rahmenweise zu jeder der eine gewichtete Distanz berechnenden Recheneinheiten 653, 663 über die Addierer 651, 661 zur Berechnung der minimalen gewichteten Distanz übertragen.
  • Die Differenz zwischen dem Quantisierungsfehler X2 und dem Quantisierungsfehler X2 ' stellt eine Matrix von (10 × 2) dar. Falls die Differenz dargestellt wird als X2 – X2 ' = [x3-1, x3-2], dann sind die Verzerrungsmaße dVQ1, dVQ2 während der Codebuch-Suche durch die Vektor-Quantisierungseinheiten 652, 662 der ersten Vektor-Quantisiereinrichtung 6401 durch die Gleichungen (4) und (5) gegeben:
  • Figure 00280001
  • Die gewichtete Distanz wird zu einer Vektor-Quantisierungseinheit VQ1 652 und zu einer Vektor-Quantisierungseinheit VQ2 662 zur Vektor-Quantisierung übertragen. Jeder durch diese Vektor-Quantisierung abgegebene 8-Bit-Index wird zu dem Signalumschalter 690 übertragen. Der Quantisierungswert wird durch die Addierer 651, 661 von dem eingangsseitigen 2-Rahmen-Quantisierungsfehler-Vektor subtrahiert. Die eine gewichtete Distanz berechnenden Recheneinheiten 653, 663 berechnen sequentiell die gewichtete Distanz unter Heranziehung der Ausgangssignale der Addierer 651, 661, um den die gewichtete Distanz minimierenden Quantisierungswert auszuwählen. Die Ausgangssignale der Addierer 651, 661 werden Addierern 671, 681 der zweiten Vektor-Quantisiereinrichtung 6402 zugeführt.
  • Das Verzerrungsmaß dVQ3, dVQ4 während der Codebuch-Suche durch die Vektor-Quantisiereinrichtungen 672, 682 der zweiten Vektor-Quantisiereinrichtung 6402 für x4-1 = x3-1 – x3-1' x4-2 = x3-2 – x3-2'sind durch die Gleichungen (6) und (7) gegeben:
  • Figure 00290001
  • Diese gewichteten Distanzen werden zu der Vektor-Quantisiereinrichtung (VQ3) 672 und zu der Vektor-Quantisiereinrichtung (VQ4) 682 zur Vektor-Quantisierung übertragen. Die 8-Bit-Aus gangs-Indexdaten von der Vektor-Quantisierung werden mittels der Addierer 671, 681 von dem eingangsseitigen Quantisierungsfehler-Vektor für zwei Rahmen subtrahiert. Die eine gewichtete Distanz berechnenden Recheneinheiten 673, 683 berechnen sequentiell die gewichteten Distanzen unter Heranziehung der Ausgangssignale der Addierer 671, 681, um den die gewichteten Distanzen minimierenden quantisierten Wert auszuwählen.
  • Während des Codebuch-Lernens wird das Lernen durch den generellen Lloyd-Algorithmus auf der Grundlage der jeweiligen Verzerrungsmaße ausgeführt.
  • Die Verzerrungsmaße während der Codebuch-Suche und während des Lernens können unterschiedliche Werte aufweisen.
  • Die 8-Bit-Indexdaten von den Matrix-Quantisierungseinheiten 622, 632 und den Vektor-Quantisierungseinheiten 652, 662, 672 und 682 werden durch den Signalumschalter 690 geschaltet und an einem Ausgangsanschluss 691 abgegeben.
  • Genauer gesagt werden für eine niedrige Bitrate Ausgangssignale der ersten Matrix-Quantisiereinrichtung 6201 , die den ersten Matrix-Quantisierungsschritt ausführt, der zweiten Matrix-Quantisiereinrichtung 6202 , die den zweiten Matrix-Quantisierungsschritt ausführt, und der ersten Vektor-Quanti-siereinrichtung 6401 , die den ersten Vektor-Quantisierungs-schritt ausführt, abgenommen, während für eine hohe Bitrate das Ausgangssignal für die niedrige Bitrate mit einem Ausgangssignal der zweiten Vektor-Quantisiereinrichtung 6402 , welche den zweiten Vektor-Quantisierungsschritt ausführt, summiert, und die resultierende Summe wird abgenommen.
  • Dies liefert ausgangsseitig einen Index von 32 Bit/40 ms sowie einen Index von 48 Bit/40 ms für 2 kbps bzw. 6 kbps.
  • Die Matrix-Quantisierungseinheit 620 und die Vektor-Quantisierungseinheit 640 führen eine in der Frequenzachse und/oder der Zeitachse begrenzte Gewichtung in Übereinstimmung mit den Charakteristiken der die LPC-Koeffizienten darstellenden Parameter durch.
  • Die in der Frequenzachse in Übereinstimmung mit den Charakteristiken der LSP-Parameter beschränkte Gewichtung wird zuerst erläutert. Falls die Anzahl der Grade bzw. Ordnungen P = 10 gegeben ist, sind 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, einen niedrigen, einen mittleren und einen hohen Bereich. Falls die Gewichtung der Gruppen L1, L2 und L3 gegeben ist mit 1/4, 1/2 bzw. 1/4, ist die lediglich in der Frequenzachse beschränkte Gewichtung durch die Gleichungen (8), (9) und (10) gegeben.
  • Figure 00310001
  • Die Gewichtung der jeweiligen LSP-Parameter wird lediglich in jeder Gruppe ausgeführt, und ein derartiges Gewicht wird bzw. ist durch die Gewichtung für die jeweilige Gruppe beschränkt.
  • Betrachtet man die Richtung in der Zeitachse, so beträgt die Gesamtsumme der jeweiligen Rahmen notwendigerweise 1, so dass eine Beschränkung in Richtung der Zeitachse rahmen-basiert ist. Das lediglich in Richtung der Zeitachse beschränkte Gewicht ist gegeben durch die Gleichung (11):
  • Figure 00320001
  • Hierbei gilt 1 ≤ i ≤ 10 und 0 ≤ t ≤ 1.
  • Durch diese Gleichung (11) wird eine Gewichtung, die nicht in Richtung der Frequenzachse beschränkt ist, zwischen zwei Rahmen ausgeführt, welche die Rahmennummern t = 0 und t = 1 aufweisen. Diese lediglich in Richtung der Zeitachse beschränkte Gewichtung wird zwischen zwei Rahmen ausgeführt, die mittels einer Matrix-Quantisierung verarbeitet werden.
  • Während des Lernens wird die Gesamtheit der Rahmen, die als Lerndaten verwendet werden und deren Gesamtanzahl T beträgt, entsprechend der Gleichung (12) gewichtet:
  • Figure 00320002
  • Hierbei gilt 1 ≤ i ≤ 10 und 0 ≤ t ≤ T.
  • Nunmehr wird die in Richtung der Frequenzachse und in Richtung der Zeitachse beschränkte Gewichtung erläutert. Falls die Anzahl der Grade bzw. Ordnungen P = 10 gegeben ist, 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, einen niedrigen, einen mittleren und einen hohen Bereich. Falls die Gewichte für die Gruppen L1, L2 und L3 gegeben sind mit 1/4, 1/2 bzw. 1/4, ist die lediglich in der Frequenzachse beschränkte Gewichtung durch die Gleichungen (13), (14) und (15) gegeben:
  • Figure 00330001
  • Durch diese Gleichungen (13) bis (15) wird eine Gewichtungsbeschränkung alle drei Rahmen in Richtung der Frequenzachse und über zwei Rahmen, die durch eine Matrix-Quantisierung in Richtung der Zeitachse verarbeitet werden, ausgeführt. Dies ist sowohl während der Codebuch-Suche als auch während des Lernens wirksam.
  • Während des Lernens erfolgt die Gewichtung für die Gesamtheit der Rahmen der gesamten Daten. Die LSP-Parameter x(i, t) werden bzw. 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 und hohe Bereiche. Falls die Gewichtung der Gruppen L1, L2 und L3 gegeben ist mit 1/4, 1/2 bzw. 1/4, ist die Gewichtung für die Gruppen L1, L2 und L3, die in Richtung der Frequenzachse und in Richtung der Frequenz beschränkt ist, gegeben durch die Gleichungen (16), (17) und (18):
  • Figure 00340001
  • Durch diese Gleichungen (16) bis (18) kann eine Gewichtung für drei Bereiche in Richtung der Frequenzachse und über die Gesamtheit von Rahmen in Richtung der Zeitachse ausgeführt werden.
  • Darüber hinaus führen die Matrix-Quantisierungseinheit 620 und die Vektor-Quantisierungseinheit 640 eine Gewichtung in Abhängigkeit von der Größe der Änderungen der LSP-Parameter durch. In den V-UV- oder UV-V-Übergangsbereichen, die Minderheitsrahmen unter der Gesamtheit von Sprachrahmen darstellen, werden die LSP-Parameter aufgrund der Differenz im Frequenzgang zwischen Konsonanten und Vokalen signifikant geändert. Deshalb kann die durch Gleichung (19) angegebene Gewichtung mit der Gewichtung W'(i, t) multipliziert werden, um die eine Anhebung in den Übergangsbereichen unterbringende Gewichtung auszuführen.
  • Figure 00340002
  • Die folgende Gleichung (20):
    Figure 00350001
    kann anstelle der Gleichung (19) verwendet werden.
  • Somit führt die LSP-Quantisierungseinheit 134 eine zweistufige Matrix-Quantisierung und eine zweistufige Vektor-Quantisierung aus, um die Anzahl der Bits des Abgabe- bzw. Ausgangs-Indexes variabel zu machen.
  • Der Grundaufbau der Vektor-Quantisierungseinheit 116 ist in 8 veranschaulicht, während ein detaillierterer Aufbau der in 8 dargestellten Vektor-Quantisierungseinheit 116 in 9 gezeigt ist. Nunmehr wird ein veranschaulichender Aufbau einer gewichteten Vektor-Quantisierung für eine Spektral-Hüllkurve Am in der Vektor-Quantisierungseinheit 116 erläutert.
  • Zunächst wird bei der in 3 dargestellten Sprachsignal-Codierungsvorrichtung eine anschauliche Anordnung für eine Datenzahlumsetzung zur Lieferung einer konstanten Anzahl von Daten der Amplitude der Spektral-Hüllkurve an einer Ausgangsseite der Spektral-Bewertungseinheit 148 oder an einer Eingangsseite der Vektor-Quantisierungseinheit 116 erläutert.
  • Man kann sich eine Vielzahl von Verfahren für eine derartige Datenzahl-Umsetzung vorstellen. Bei der vorliegenden Ausführungsform werden Leerdaten, welche die Werte von den letzten Daten in einem Block bis zu den ersten Daten im Block interpolieren, oder zuvor festgelegte Daten, wie Daten, welche die letzten Daten oder die ersten Daten in einem Block wiederholen, den Amplituden-Daten eines Blockes eines effektiven Bandes auf der Frequenzachse angehängt, um die Anzahl von Daten auf NF zu steigern, wobei die Amplituden-Daten, die in der Anzahl gleich dem Os-fachen, wie dem 8-fachen sind, als Os-fache, wie als 8-fache Überabtastung des begrenzten bzw. beschränkten Bandbreitetyps ermittelt werden. Die ((mMx + 1) × Os)-Amplituden-Daten werden zur Dehnung in eine große NM-Zahl, wie 2048, linear interpoliert. Diese NM-Daten erfahren eine Sub-Abtastung zur Umsetzung in die oben erwähnte zuvor festgelegte Anzahl M von Daten, wie in 44 Daten. Tatsächlich werden lediglich die für die Formulierung der M-Daten, die letztlich erforderlich sind, durch Überabtastung und lineare Interpolation berechnet, ohne sämtliche der oben erwähnten NM-Daten zu ermitteln.
  • Die Vektor-Quantisierungseinheit 116 zur Ausführung einer gewichteten Vektor-Quantisierung gemäß 8 enthält zumindest eine erste Vektor-Quantisierungseinheit 500 zur Ausführung des ersten Vektor-Quantisierungsschritts und eine zweite Vektor-Quantisierungseinheit 510 zur Ausführung des zweiten Vektor-Quantisierungsschritts für die Quantisierung des Quantisierungsfehler-Vektors, der während der ersten Vektor-Quantisierung durch die erste Vektor-Quantisierungseinheit 500 erzeugt wird bzw. ist. Diese erste Vektor-Quantisierungseinheit 500 stellt eine sogenannte Vektor-Quantisierungseinheit einer ersten Stufe dar, während die zweite Vektor-Quantisierungseinheit 510 eine sogenannte Vektor-Quantisierungseinheit einer zweiten Stufe darstellt.
  • Ein Ausgangs-Vektor x der Spektral-Bewertungseinheit 148, das sind Hüllkurven-Daten mit einer zuvor festgelegten Anzahl M, gelangt zu einem Eingangsanschluss 501 der ersten Vektor-Quantisierungseinheit 500. Dieser Ausgangsvektor x wird durch eine gewichtete Vektor-Quantisierung mittels der Vektor-Quantisierungseinheit 502 quantisiert. Damit wird ein Form-Index von der Vektor-Quantisierungseinheit 502 an einem Ausgangsanschluss 503 abgegeben, während ein quantisierter Wert x0 ' an einem Ausgangsanschluss 504 abgegeben und Addierern 505, 513 zugeführt wird. Der Addierer 505 subtrahiert den quantisierten Wert x0 ' von dem Quellvektor x, um einen Quantisierungsfehler-Vektor y mehrfacher Ordnung abzugeben.
  • Der Quantisierungsfehler-Vektor y wird einer Vektor-Quantisierungseinheit 511 in der zweiten Vektor-Quantisierungseinheit 510 zugeführt. Die zweite Vektor-Quantisierungseinheit 511 besteht aus einer Vielzahl von Vektor-Quantisiereinrichtungen oder aus zwei Vektor-Quantisiereinrichtungen 5111 , 5112 gemäß 8. Der Quantisierungsfehler-Vektor y wird dimensional aufgeteilt, um durch eine gewichtete Vektor-Quantisierung in den beiden Vektor-Quantisiereinrichtungen 5111 , 5112 quantisiert zu werden. Der durch diese Vektor-Quantisiereinrichtungen 5111 , 5112 abgegebene Form-Index wird an Ausgangsanschlüssen 5121 , 5122 abgegeben, während die quantisierten Werte y1 ', y2 ' in der dimensionalen Richtung verbunden und dem Addierer 513 zugeführt werden. Der Addierer 513 addiert die quantisierten Werte y1 ', y2 ' zu dem quantisierten Wert x0 ', um einen quantisierten Wert x1 ' zu erzeugen, der an einem Ausgangsanschluss 514 abgegeben wird.
  • Somit wird für die niedrige Bitrate ein Ausgangssignal des ersten Vektor-Quantisierungsschritts von der ersten Vektor-Quantisierungseinheit 500 abgenommen, während für die hohe Bitrate ein Ausgangssignal des ersten Vektor-Quantisierungsschritts und ein Ausgangssignal des zweiten Quantisierungsschritts von der zweiten Quantisierungseinheit 510 abgegeben werden.
  • Genauer gesagt ist die Vektor-Quantisiereinrichtung 502 in der ersten Vektor-Quantisierungseinheit 500 im Vektor-Quantisierungsabschnitt 116 von einer L-ten Ordnung, wie von einem 44-dimensionalen zweistufigen Aufbau, wie dies in 9 veranschaulicht ist.
  • Dies bedeutet, dass die Summe der Ausgangsvektoren des 44-dimensionalen Vektor-Quantisierungs-Codebuchs mit der Codebuch größe 32 multipliziert mit einer Verstärkung gi als quantisierter Wert x0 ' des 44-dimensionalen Spektral-Hüllkurvenvektors x verwendet wird. Somit sind, wie in 9 gezeigt, die beiden Codebücher gegeben mit CB0 und CB1, während die Ausgangsvektoren gegeben sind mit s1i, s1j, wobei 0 ≤ i und j ≤ 31 gilt. Andererseits ist ein Ausgangssignal des Verstärkungs-Codebuchs CB8 gegeben mit gl, wobei 0 ≤ l ≤ 31 gilt; dabei stellt gl einen Skalar dar. Ein schließlich abgegebenes Ausgangssignal x0 ' ist gegeben mit gl (s1i + s1j).
  • Die Spektral-Hüllkurve Am, die durch die obige MBE-Analyse der LPC-Reste erhalten und in eine zuvor festgelegte Dimension umgesetzt wird, ist gegeben mit x. Es ist entscheidend, wie effizient x zu quantisieren ist.
  • Die Quantisierungsfehlerenergie E ist festgelegt durch
  • Figure 00380001
  • Hierin bezeichnet H die Charakteristiken auf der Frequenzachse des LPC-Synthesefilters, und W stellt eine Matrix zur Gewichtung dar, um die Charakteristiken für eine wahrnehmbare Gewichtung auf der Frequenzachse darzustellen.
  • Falls der α-Parameter durch die Ergebnisse der LPC-Analyse des gegenwärtigen Rahmens als αi(1 ≤ i ≤ P) bezeichnet wird, werden die Werte der L-Dimension, beispielsweise die Punkte entsprechende 44-Dimension von dem Frequenzgang gemäß der Gleichung (22) abgetastet:
  • Figure 00380002
  • Für Berechnungen werden Nullen nächst einer Folge von 1, α1, α2, ..., αp gestopft, um eine Folge von 1, α1, α2, ..., αP, 0,0, ..., 0 und damit beispielsweise 256-Punkt-Daten zu liefern. Sodann werden durch eine 256-Punkt-FFT-Transformation die Werte (rc2 + im2)1/2 für Punkte berechnet, die einem Bereich von 0 bis n zugeordnet sind, und die Reziprokwerte der Ergebnisse werden ermittelt. Diese Reziprokwerte werden einer Sub-Abtastung an L-Punkten, wie 44 Punkten unterzogen, und es wird eine Matrix gebildet, die diese L-Punkte als Diagonalelemente aufweist:
  • Figure 00390001
  • Eine wahrnehmbar gewichtete Matrix W ist durch die Gleichung (23) gegeben:
  • Figure 00390002
  • Hierbei stellt αi das Ergebnis der LPC-Analyse dar, und λa, λb sind Konstanten, wie λa = 0,4 und λb = 0,9.
  • Die Matrix W kann aus dem Frequenzgang der obigen Gleichung (23) berechnet werden. So wird beispielsweise eine FFT-Transformation bei 256-Punkt-Daten von 1, α1λb, α2λ1b2, ... αpλbp, 0,0, ..., 0 ausgeführt, um (rc2[i] + Im2[i])1/2 für einen Bereich von 0 bis π zu ermitteln, wobei 0 ≤ i ≤ 128 gilt. Der Frequenzgang im Nenner wird durch eine 256-Punkt-FFT-Transformation für einen Bereich von 0 bis π für 1, α1λa, α2λa2, ... αpλap, 0,0, ..., 0 bei 128 Punk ten ermittelt, um (re'2[i] + im'2[i])1/2 zu ermitteln, wobei 0 ≤ i ≤ 128 gilt. Der Frequenzgang gemäß der Gleichung (23) kann ermittelt werden zu
  • Figure 00400001
  • Hierbei gilt 0 ≤ i ≤ 128.
  • Dies wird für jeden zugehörigen Punkt des beispielsweise 44-dimensionalen Vektors nach dem folgenden Verfahren ermittelt. Genauer gesagt sollte eine lineare Interpolation angewandt werden. Beim folgenden Beispiel wird jedoch stattdessen der nächste Punkt herangezogen.
  • Dies bedeutet, dass
    ω[i] = ω0[nint{128i/L}] gegeben ist, wobei 1 ≤ i ≤ L gilt.
  • In der Gleichung stellt nint(X) eine Funktion dar, die zu einem Wert zurückführt, der am nächsten bei X liegt.
  • Im Hinblick auf H werden h(1), h(2), ..., h(L) durch ein ähnliches bzw. entsprechendes Verfahren ermittelt. Dies heißt:
  • Figure 00400002
  • Als weiteres Beispiel wird zunächst H(z)W(z) ermittelt, und der Frequenzgang wird dann ermittelt, um die Anzahl der schnellen Fouriertransformationen zu verringern. Dies bedeutet, dass der Nenner der Gleichung (25):
    Figure 00410001
    erweitert wird zu
  • Figure 00410002
  • Es werden beispielsweise 256-Punkt-Daten durch Heranziehen einer Folge von 1, β1, β2, ..., β2p, 0,0, ..., 0 erzeugt. Sodann wird eine 256-Punkt-FFT-Transformation ausgeführt, wobei der Frequenzgang der Amplitude gegeben ist mit
  • Figure 00410003
  • Hierbei gilt 0 ≤ i ≤ 128. Hieraus folgt
  • Figure 00410004
  • Dabei gilt 0 ≤ i ≤ 128. Dies wird für jeden der entsprechenden Punkte des L-dimensionalen Vektors ermittelt. Falls die Anzahl der Punkte der FFT-Transformation gering ist, sollte eine lineare Interpolation angewandt werden. Der nächste bzw. dichteste Punkt wird hier jedoch gefunden durch:
  • Figure 00420001
  • Hierbei gilt 1 ≤ i ≤ L. Falls eine Matrix mit diesen Diagonal-Elementen gegeben ist mit W', erhält man:
  • Figure 00420002
  • Die Gleichung (26) stellt dieselbe Matrix wie die obige Gleichung (24) dar. Alternativ kann |H(exp(jω))W(exp(jω))| direkt aus der Gleichung (25) im Hinblick auf ω ≡ iπ berechnet werden, wobei 1 ≤ i ≤ gilt, um für wh[i] verwendet zu werden.
  • Alternativ kann eine geeignete Länge, wie von 40 Punkten einer Impulsantwort gemäß der Gleichung (25) ermittelt und einer schnellen Fouriertransformation unterzogen werden, um den Frequenzgang der Amplitude zu ermitteln, die verwendet wird. E = ∥W' k(x – gk(S0c + S1k))∥2
  • Durch Umschreiben der Gleichung (21) unter Heranziehung dieser Matrix, das heißt der Frequenzcharakteristik des gewichteten Synthesefilters, erhält man: E = ∥W'(x – g1(S0i + S1j))∥ (27)
  • Das Verfahren zum Lernen des Form-Codebuchs und des Verstärkungs-Codebuchs wird erläutert.
  • Der erwartete Wert der Verzerrung wird für sämtliche Rahmen k minimiert, für die ein Codevektor s0c für CB0 ausgewählt ist. Falls es M derartige Rahmen gibt, genügt es, wenn
    Figure 00430001
    minimiert wird. In der Gleichung (28) sind mit Wk ', Xk, gk und sik die Gewichtung für den k-ten Rahmen, ein Eingangssignal für den k-ten Rahmen, die Verstärkung des k-ten Rahmens bzw. ein Ausgangssignal des Codebuchs CB1 für den k-ten Rahmen bezeichnet. Zur Minimierung der Gleichung (28) erhält man:
  • Figure 00430002
  • Folglich gilt
    Figure 00430003
    so dass
    Figure 00440001
    gilt, wobei
    Figure 00440002
    eine inverse Matrix bezeichnet und wobei Wk 'T eine transponierte Matrix von Wk ' bezeichnet.
  • Anschließend wird eine Verstärkungsoptimierung betrachtet.
  • Der erwartete Wert der Verzerrung betreffend den k-ten Rahmen zur Auswahl des Codewortes gc der Verstärkung ist gegeben durch:
    Figure 00440003
  • Durch Auflösung von
    Figure 00440004
    erhält man
  • Figure 00440005
  • Figure 00450001
  • Die obigen Gleichungen (31) und (32) liefern optimale Schwerpunktsbedingungen für die Form s0i, s1i und die Verstärkung gl für 0 ≤ i ≤ 31, 0 ≤ j ≤ 31 und 0 ≤ 1 ≤ 31, was ein optimales Decoder-Ausgangssignal darstellt. Unterdessen kann s1i in derselben Weise ermittelt werden wie s0i.
  • Anschließend wird die optimale Codierungsbedingung, das heißt die nächste Nachbarbedingung betrachtet.
  • Die obige Gleichung (27) zur Ermittlung des Verzerrungsmaßes, das sind s0i und s1i, welche die Gleichung E = ∥W'(X – gl(s1i + s1j))∥2 minimieren, wird jedes mal ermittelt, wenn das Eingangssignal x und die Gewichtsmatrix W' gegeben sind, das heißt auf einer Rahmen-zu-Rahmen-Basis.
  • An sich wird E in einer umlaufenden Weise für sämtliche Kombinationen von gl (0 ≤ l ≤ 31), s0i (0 ≤ i ≤ 31) und s0j (0 ≤ j ≤ 31) ermittelt, das heißt für 32 × 32 × 32 = 32768 Kombinationen, um den Satz von s0i, s1i zu ermitteln, der den Minimalwert von E liefert. Da diese voluminöse Berechnungen erfordert, werden die Form und die Verstärkung bei der vorliegenden Ausführungsform indessen sequentiell gesucht. Unterdessen wird eine Umlaufsuche für die Kombination von s0i und s1i angewandt. Es gibt 32 × 32 = 1024 Kombinationen für s0i und s1i. In der folgenden Beschreibung sind s1i + s1j der Einfachheit halber als sm bezeichnet.
  • Die obige Gleichung (27) wird zu E = ∥W'(x – glsm)∥2. Falls zur weiteren Vereinfachung xw = W'x und sw = W'sm gesetzt werden, erhält man E = ∥xw – glSw2 (33)
  • Figure 00460001
  • Falls gl hinreichend genau gemacht werden kann, kann daher eine Suche in zwei Schritten ausgeführt werden,
    • (1) Suche nach sw, das
      Figure 00460002
      maximieren wird, und
    • (2) Suche nach gj, das zu
      Figure 00460003
      am nächsten ist.
  • Falls der obige Ausdruck unter Heranziehung der ursprünglichen Schreibweise umgeschrieben wird, erfolgt
    • (1') eine Suche nach einem Satz von s0i und s1i, der
      Figure 00460004
      maximieren wird, und
    • (2)' eine Suche nach gl, das zu
      Figure 00470001
      am nächsten ist.
  • Die obige Gleichung (35) stellt einen optimalen Codierungszustand (nächster Nachbarzustand) dar.
  • Nunmehr wird das Verarbeitungsvolumen im Falle der Ausführung einer Codebuch-Suche für eine Vektor-Quantisierung betrachtet.
  • Mit der Dimension von s0i und s1i von K und mit den Größen der Codebücher CB0, CB1 von L0 bzw. L1, das heißt mit
    0 ≤ i ≤ L0, 0 ≤ j ≤ L1,
    sowie mit dem Verarbeitungsvolumen für eine Addition, eine Summierung von Produkten und eine Quadrierung des Zählers, die jeweils 1 sind, sowie mit dem Verarbeitungsvolumen des Produkts und der Summe der Produkte des Nenners, die jeweils 1 sind, ist das Verarbeitungsvolumen von (1)' der Gleichung (35) etwa so, dass sich folgendes ergibt:
    Zähler: L0·L1·(K·(1 + 1) +1)
    Nenner: L0·L1·(K·(1 + 1)
    Größenvergleich: L0·L1,
    um eine Summe von L0·L1·(4k + 2) zu liefern. Falls L0 = L1 = 32 und K = 44 ist, liegt das Verarbeitungsvolumen in der Größenordnung von 182272.
  • Somit wird die gesamte Verarbeitung von (i)' gemäß der Gleichung (35) nicht ausgeführt; indessen wird die P-Zahl jedes der Vektoren s0i und s1i zuvor ausgewählt. Da der negative Verstärkungseintrag nicht angenommen (oder zugelassen) ist, wird (1)' der Gleichung (35) gesucht, so dass der Wert des Zählers von (2)' in der Gleichung (35) stets einen positiven Wert aufweisen wird. Dies bedeutet, dass (1)' der Gleichung (35) maximiert ist, einschließlich der Polarität von xtWtW(s0i + s1i) Als veranschaulichendes Beispiel der Vorauswahlmethode kann ein Verfahren bzw. eine Methode angegeben werden aus einer (Sequenz 1) zur Auswahl der P0-Zahl von s0i, von der Seite der oberen Ordnung aus gezählt, was xtWts0i maximiert; (Sequenz 2) zur Auswahl der P1-Zahl von s1i, gezählt von der Seite der oberen Ordnung, was xtWtWs1i maximiert; und (Sequenz 3) zur Bewertung der Gleichung (1)' der Gleichung (35) für sämtliche Kombinationen der P0-Zahl von s0i und P1-Zahl von s1i.
  • Dies ist effektiv gegeben, falls bei der Bewertung von
    Figure 00480001
    was die Quadratwurzel der Gleichung (1)' der Gleichung (35) darstellt, die Annahme vorliegt, dass der Nenner, das ist die gewichtete Norm bzw. Form von s0i + s1i ohne Bezug auf i oder j im wesentlichen konstant ist. Tatsächlich ist die Größe des Zählers der Gleichung (a1) nicht konstant. Die Vorauswahlmethode, die dies berücksichtigt, wird anschließend erläutert.
  • Hier wird der Effekt der Verringerung des Verarbeitungsvolumens in dem Fall erläutert, dass bezüglich des Nenners der Gleichung (a1) angenommen ist, dass er konstant ist. Da das Verarbeitungsvolumen von L0·k zum Suchen der (Sequenz 1) erforderlich ist, während das Verarbeitungsvolumen von (L0 – 1) + (L0 + 2) + ... + (L0 – P0) = P0·L0 – P0 (1 + P0)/2für den Größenvergleich erforderlich ist, beträgt die Summe der Verarbeitungsvolumen L0(K + P0) – P0(1 + P0)/2. Die Sequenz 2 benö tigt ebenfalls das entsprechende Verarbeitungsvolumen. Die gemeinsame Summierung dieser Werte liefert das Verarbeitungsvolumen für die Vorauswahl zu L0(K + P0) + L1(K + P1) – P0(1 + P0)/2 – P1(1 + P1)/2.
  • Nunmehr sei auf die Verarbeitung der letzten Auswahl der Sequenz 3 eingegangen; es betragen
    der Zähler: P0·P1·(1 + K + 1),
    der Nenner: P0·P1·K·(1 + 1),
    der Größenvergleich: P0·P1
    im Hinblick auf die Verarbeitung von (1)' der Gleichung (35), um insgesamt P0·P1(3K + 3) zu liefern.
  • Falls beispielsweise P0 = P1 + 6, L0 = L1 = 32 und K = 44 gegeben sind, beträgt das Verarbeitungsvolumen für die letzte Auswahl und jenes für die Vorauswahl 4860 bzw. 3158, was einen Gesamtwert in der Größe von 8018 liefert. Falls die Zahlen für die Vorauswahl auf 10 erhöht werden, so dass P0 = P1 = 10 gilt, beträgt das Verarbeitungsvolumen für die letzte Auswahl bzw. Endauswahl 13500, während jenes für die Vorauswahl 3346 beträgt, was einen Gesamtwert in der Größe von 16846 liefert.
  • Falls die Zahlen der vorausgewählten Vektoren auf 10 für die jeweiligen Codebücher festgelegt werden, ist das Verarbeitungsvolumen im Vergleich zu jenem für eine nicht-weggelassene Berechnung von 182272 gegeben mit 16846/182272, was etwa ein Zehntel des früheren Volumens darstellt.
  • Im übrigen ist die Größe des Nenners in der Gleichung (1)' der Gleichung (35) nicht konstant, sondern sie ändert sich in Abhängigkeit vom ausgewählten Codevektor. Die Vorauswahlmethode, die die ungefähre Größe dieser Norm in gewissem Ausmaß berücksichtigt, wird nun erläutert.
  • Um den Maximalwert der Gleichung (a1) zu ermitteln, bei dem es sich um die Quadratwurzel gemäß der Gleichung (1)' der Gleichung (35) handelt, da
    Figure 00500001
    gilt, genügt es, die linke Seite der Gleichung (a2) zu maximieren. Damit wird diese linke Seite erweitert zu
  • Figure 00500002
  • Die ersten und zweiten Terme dieses Ausdrucks sind dann maximiert.
  • Da der Zähler des ersten Terms in der Gleichung (a3) die Funktion lediglich von s0i darstellt, wird bzw. ist der erste Term in Bezug auf s0i maximiert. Da andererseits der Zähler des zweiten Terms in der Gleichung (a3) die Funktion lediglich von s1j darstellt, ist der zweite Termin in Bezug auf s1j maximiert. Dies bedeutet, dass hier ein solches Verfahren spezifiziert ist, bei dem
    Figure 00500003
    gilt, umfassend
    (Sequenz 1): Auswahl der Q0-Zahl von s0i von den Vektoren der oberen Ordnung, die die Gleichung (a4) maximieren;
    (Sequenz 2): Auswahl der Q1-Zahl von s1j von den Vektoren der oberen Ordnung, die die Gleichung (a5) maximieren; und
    (Sequenz 3): Bewerten der Gleichung (1)' der Gleichung (35) für sämtliche Kombinationen der ausgewählten Q0-Zahl von s0i und der ausgewählten Q1-Zahl von s1j.
  • Im Übrigen gilt W' = WH/∥x∥, wobei W und H beides Funktionen des eingangsseitigen Vektors x sind und wobei W natürlich die Funktion des eingangsseitigen Vektors x ist.
  • Deshalb sollte W eigens von einem eingangsseitigen Vektor x zu einem anderen berechnet werden, um die Nenner der Gleichungen (a4) und (a5) zu berechnen. Es ist indessen nicht erwünscht, das Verarbeitungsvolumen für die Vorauswahl übermäßig zu verbrauchen. Daher werden diese Nenner vorab für jeden Wert von s0i und s1j berechnet, und zwar unter Heranziehung von typischen oder repräsentativen Werten von W', und sie werden in der Tabelle zusammen mit den Werten s0i und s1j gespeichert. Da eine Division bei der tatsächlichen Suchverarbeitung eine Belastung hinsichtlich der Verarbeitung bedeutet, werden unterdessen die Werte der Gleichungen (a6) und (a7):
    Figure 00510001
    mit 0 = i < L0 (a6)
    Figure 00510002
    mit 0 = j < L1 (a7) gespeichert. In den obigen Gleichungen ist W* durch die folgende Gleichung (a8) gegeben:
  • Figure 00520001
  • Hierin ist Wk ' gegeben mit W' eines Rahmens, für den U/UV als stimmhaft ermittelt worden ist, so dass
    Figure 00520002
    gilt.
  • 10 zeigt ein spezifiziertes Beispiel jeweils von W[0] bis W[43] in dem Fall, dass W* durch die folgende Gleichung (a10) beschrieben wird:
  • Figure 00520003
  • Hinsichtlich der Zähler der Gleichungen (a4) und (a5) ist W' ermittelt und wird von einem eingangsseitigen Vektor x zum anderen genutzt. Der Grund hierfür liegt darin, dass mit Rücksicht darauf, dass bei jeder Rate eines inneren Produkts von s0i und s1j, wobei x berechnet werden muss, das Verarbeitungsvolumen lediglich geringfügig erhöht ist, falls xtWtW' einmal berechnet ist.
  • Bei einer ungefähren Abschätzung des Verarbeitungsvolumens, das bei dem Vorauswahlverfahren benötigt wird, ist das Verarbeitungsvolumen von L0(K + 1) für die Suche der Sequenz 1 erforderlich, während das Volumen von Q0·L0 + Q0 (1 + Q0)/2für den Größenvergleich erforderlich ist. Die obige Sequenz 2 benötigt ebenfalls eine entsprechende Verarbeitung. Die Zusammensummierung dieser Verarbeitungsvolumen führt zum Verarbeitungsvolumen für die Vorauswahl zu L0(K + Q0 + 1) + L1(K + Q1 + 1) – Q0(1 + Q0)/2 – Q1(1 + Q1)/2
  • Hinsichtlich der Verarbeitung der letzten Auswahl der Sequenz 3 gilt
    Zähler: Q0·Q1·(1 + K + 1),
    Nenner: Q0·Q1·K·(1 + 1),
    Größenvergleich: Q0·Q1,
    insgesamt Q0·Q1(3K + 3).
  • Falls beispielsweise Q0 = Q1 = 6, L0 = L1 = 32 und K = 44 vorliegen, beträgt das Verarbeitungsvolumen der letzten Auswahl und jenes der Vorauswahl 4860 bzw. 3222, was insgesamt 8062 ergibt (und von der achten Größenordnung der Größe ist). Falls die Anzahl der Vektoren für die Vorauswahl auf 10 erhöht wird, so dass Q0 = Q1 = 10 ist, beträgt das Verarbeitungsvolumen der letzten Auswahl und jenes der Vorauswahl 13500 bzw. 3410 und damit insgesamt 16910 (was von achter Größenordnung ist).
  • Diese berechneten Ergebnisse sind in der Größe von derselben Größenordnung wie das Verarbeitungsvolumen von etwa 8018 für P0 = P1 = 6 oder etwa 16846 für P0 = P1 = 10 bei fehlender Normierung (das heißt bei Fehlen einer Division durch die gewichtete Norm). Falls beispielsweise die Zahlen der Vektoren für die jeweiligen Codebücher auf 10 festgelegt sind, wird das Verarbeitungsvolumen um 16910/182272 verringert, wobei 182272 das Verarbeitungsvolumen ohne Auslassung ist. Somit ist das Verarbei tungsvolumen auf nicht mehr als ein Zehntel des ursprünglichen Verarbeitungsvolumens herabgesetzt.
  • Bei einem spezifizierten Beispiel der SNR-Angabe (S/N-Verhältnis bzw. Störabstand) im Falle der Vornahme einer Vorauswahl und bei einem segmentalen SNR-Wert für ein 20 ms-Segment beträgt bei Anwendung der analysierten und synthetisierten Sprache bei Fehlen der oben beschriebenen Vorauswahl als Referenz der SNR-Wert 16,8 dB, und der segmentale SNR-Wert beträgt 18,7 dB bei Vorhandensein einer Normierung und bei fehlender Gewichtung, während der SNR-Wert 17,8 dB und der segmentale SNR-Wert 19,6 dB bei Vorhandensein einer Gewichtung und Normierung betragen, und zwar mit derselben Anzahl von Vektoren für eine Vorauswahl, im Vergleich zu dem SNR-Wert von 14,8 dB und dem segmentalen SNR-Wert von 17,5 dB bei Fehlen einer Normierung und bei P0 = P1 = 6. Dies bedeutet, dass der SNR-Wert und der segmentale SNR-Wert durch die Operation bei Vorhandensein einer Gewichtung und Normierung anstelle der Operation bei fehlender Normierung um 2 bis 3 dB verbessert sind.
  • Unter Heranziehung der Bedingungen (Schwerpunktsbedingungen) der Gleichungen (31) und (32) und der Bedingung der Gleichung (35) können die Codebücher (CB0, CB1 und CBg) gleichzeitig mit der Anwendung des sogenannten generalisierten Lloyd-Algorithmus (GLA) ausgebildet werden.
  • Bei der vorliegenden Ausführungsform wird W' durch eine Norm eines Eingangssignals x dividiert als W' verwendet. Dies bedeutet, dass W'/∥x∥ anstelle von W' in den Gleichungen (31), (32) und (35) gesetzt wird.
  • Alternativ wird die Gewichtung W', die für eine wahrnehmbare Gewichtung zum Zeitpunkt der Vektor-Quantisierung durch die Vektor-Quantisiereinrichtung 116 benutzt wird, durch die obige Gleichung (26) festgelegt. Die Gewichtung W', die eine temporäre Maskierung berücksichtigt, kann indessen ebenfalls dadurch ermittelt werden, dass die gegenwärtige Gewichtung W' ermittelt wird, in der ein ehemaliges W' berücksichtigt worden ist.
  • Die Werte von wh(1), wh(2), ..., wh(L) in der obigen Gleichung (26), wie sie zum Zeitpunkt n ermittelt sind, das heißt im n-ten Rahmen werden angegeben als whn(1), whn(2), ..., whn(L).
  • Falls die Gewichte zum Zeitpunkt n unter Berücksichtigung von früheren Werten festgelegt sind als An(i), wobei 1 ≤ i ≤ L gilt, dann ergibt sich
    Figure 00550001
    wobei λ beispielsweise auf λ = 0,2 festgelegt sein kann. Bei so ermitteltem An(i) mit 1 ≤ i ≤ L kann eine Matrix, die einen derartigen Wert An(i) als Diagonal-Elemente aufweist, als die obige Gewichtung verwendet werden.
  • Die Form-Indexwerte s0i, s1j, die durch die gewichtete Vektor-Quantisierung auf diese Art und Weise erhalten werden, werden an Ausgangsanschlüssen 520 bzw. 522 abgegeben, während der Verstärkungs-Index gl an einem Ausgangsanschluss 521 abgegeben wird. Außerdem wird der quantisierte Wert x0 ' am Ausgangsanschluss 504 abgegeben, während er zu dem Addierer 505 übertragen wird.
  • Der Addierer 505 subtrahiert den quantisierten Wert vom Spektral-Hüllkurvenvektor x, um einen Quantisierungsfehler-Vektor y zu erzeugen. Dieser Quantisierungsfehler-Vektor y wird zu der Vektor-Quantisierungseinheit 511 übertragen, um dimensionsmäßig aufgeteilt und durch die Vektor-Quantisiereinrichtungen 5111 bis 5118 mittels gewichteter Vektor-Quantisierung quantisiert zu werden. Die zweite Vektor-Quantisierungseinheit 510 verwendet eine größere Anzahl von Bits als die erste Vektor-Quantisie rungseinheit 500. Infolgedessen sind die Speicherkapazität des Codebuchs und das Verarbeitungsvolumen (Komplexheit) für die Codebuch-Suche signifikant erhöht. Damit wird es unmöglich, eine Vektor-Quantisierung mit der 44-Dimension auszuführen, bei der es sich um dieselbe handelt, wie um jene der ersten Vektor-Quantisierungseinheit 500. Deshalb ist die Vektor-Quantisierungseinheit 511 in der zweiten Vektor-Quantisierungseinheit 510 aus einer Vielzahl von Vektor-Quantisiereinrichtungen aufgebaut, und die eingangsseitigen quantisierten Werte werden dimensionsmäßig in eine Vielzahl von eine geringe Dimension aufweisenden Vektoren aufgeteilt, um eine gewichtete Vektor-Quantisierung auszuführen.
  • Die Beziehung zwischen den quantisierten Werten y0 bis y7, die in den Vektor-Quantisiereinrichtungen 5111 bis 5118 verwendet werden, die Zahl der Dimensionen und die Zahl der Bits sind in der folgenden Tabelle 2 veranschaulicht.
  • Die von den Vektor-Quantisiereinrichtungen 5111 bis 5118 abgegebenen Indexwerte Idvq0 bis Idvq7 werden an Ausgangsanschlüssen 5231 bis 5238 abgegeben. Die Summe dieser Bits dieser Indexdaten beträgt 72.
  • Falls ein Wert, der durch Verbinden der abgegebenen quantisierten Werte y0 ' bis y7 ' der Vektor-Quantisiereinrichtungen 5111 bis 5118 in der dimensionalen Richtung erhalten wird, gegeben ist mit y', werden die quantisierten Werte y' und x0 ' durch den Addieren 513 summiert, um einen quantisierten Wert x1 ' abzugeben. Deshalb ist der quantisierte Wert x1 ' dargestellt durch
  • Figure 00560001
  • Dies bedeutet, dass der letzte Quantisierungsfehler-Vektor gegeben ist mit y' – y.
  • Falls der quantisierte Wert x1 ' von der zweiten Vektor-Quantisiereinrichtung 510 zu decodieren ist, benötigt die Sprachsignal-Decodierungsvorrichtung nicht den quantisierten Wert x1 ' von der ersten Quantisierungseinheit 500. Es werden jedoch Indexdaten von der ersten Quantisierungseinheit 500 und der zweiten Quantisierungseinheit 510 benötigt.
  • Nachstehend werden das lernende Verfahren und die Codebuchsuche im Vektor-Quantisierungsabschnitt 511 erläutert.
  • Hinsichtlich des lernenden Verfahrens wird der Quantisierungsfehler-Vektor y in acht Vektoren y0 bis y7 geringer Dimension unter Heranziehung des Gewichts W' aufgeteilt, wie dies in der Tabelle 2 veranschaulicht ist. Falls das Gewicht W' eine Matrix ist, die sub-abgetastete 44-Punkt-Werte als Diagonalelemente enthält:
    Figure 00570001
    dann wird das Gewicht W' in die folgenden acht Matrizen aufgeteilt:
    Figure 00570002
    Figure 00580001
    Figure 00590001
    y und W', die so in niedrige Dimensionen aufgeteilt sind, werden als Yi bzw. Wi ' bezeichnet, wobei 1 ≤ i ≤ 8 gilt.
  • Das Verzerrungsmaß E ist definiert als E = ∥Wi'(yi – s)∥2 (37)
  • Der Codebuch-Vektor s stellt das Ergebnis der Quantisierung von yi dar. Ein derartiger Codevektor des Codebuchs, der das Verzerrungsmaß E minimiert, wird gesucht.
  • Beim Codebuch-Lernvorgang wird eine weitere Gewichtung unter Heranziehung des generellen Lloyd-Algorithmus (GLA) ausgeführt. Die optimale Schwerpunktsbedingung zum Lernen wird zunächst erläutert. Falls M Eingangsvektoren y vorhanden sind, die den Codevektor s als optimale Quantisierungsergebnisse ausgewählt haben, und Trainings- bzw. Ausbildungsdaten gegeben sind mit yk, ist der erwartete Wert der Verzerrung J durch die Gleichung (38) gegeben, welche die Mitte der Verzerrung auf eine Gewichtung bezüglich sämtlicher Rahmen k hin minimiert:
  • Figure 00590002
  • Figure 00600001
  • Durch Auflösen von
    Figure 00600002
    erhält man
  • Figure 00600003
  • Unter Heranziehung von transponierten Werten beider Seiten erhält man
  • Figure 00600004
  • Deshalb gilt
  • Figure 00600005
  • In der obigen Gleichung (39) stellt s einen optimalen repräsentativen Vektor dar, der eine optimale Schwerpunktsbedingung angibt.
  • Hinsichtlich der optimalen Codierungsbedingung genügt es, nach einem Wert s zu suchen, der den wert von ∥Wi '(yi – s)∥2 minimiert. Wi ' braucht während der Suche nicht derselbe Wert wie Wi ' während des Lernens zu sein; er kann eine nicht-gewichtete Matrix sein:
  • Figure 00610001
  • Durch Bildung der Vektor-Quantisierungseinheit 116 in dem Sprachsignalcodierer durch zweistufige Vektor-Quantisierungseinheiten wird es möglich, die Anzahl der ausgangsseitigen Indexbits variabel zu gestalten.
  • Im übrigen wird die Anzahl der Daten der Spektralkomponenten der Oberwellen, die in der Spektral-Hüllkurven-Bewertungseinheit 148 erhalten werden, mit der Tonhöhe geändert, so dass dann, wenn beispielsweise das effektive Frequenzband 3400 Hz beträgt, die Anzahl der Daten von 8 bis 63 reicht. Der Vektor v, der diese Daten in Blöcken zusammengefasst umfasst, ist der variable dimensionale Vektor. Bei dem obigen spezifizierten Beispiel geht der Vektor-Quantisierung eine dimensionale Umsetzung in eine zuvor festgelegte Anzahl von Daten, wie als 44-dimensionalen Eingangsvektor x voraus. Diese variable/feste Dimensionsumsetzung bedeutet die oben erwähnte Datenanzahl-Umsetzung, und sie kann speziell unter Heranziehung der oben erwähnten Überabtastung und der linearen Interpolation realisiert werden.
  • Falls eine Fehlerverarbeitung bezüglich des Vektors x, der so in die feste Dimension umgesetzt ist, für eine Codebuch-Suche zur Minimierung des Fehlers vorgenommen wird, dann wird nicht notwendigerweise der Codevektor ausgewählt, der den Fehler in Bezug auf den ursprünglichen Vektor v variabler Dimension minimiert.
  • Somit wird mit der vorliegenden Ausführungsform eine Vielzahl von Codevektoren bei der Auswahl der Codevektoren fester Dimen sion temporär ausgewählt, und die letzten optimalen Codevektoren variabler Abmessung werden schließlich aus dieser temporär ausgewählten Vielzahl von Codevektoren ausgewählt. Unterdessen kann lediglich eine variable dimensionsselektive Verarbeitung ausgeführt werden, ohne dass eine Übergangsauswahl fester Dimension ausgeführt wird.
  • 12 zeigt einen veranschaulichenden Aufbau für die ursprüngliche optimale Vektorauswahl bei variabler Dimension. Einem Eingangsanschluss 541 werden Daten einer variablen Anzahl von Daten der Spektral-Hüllkurve zugeführt, die durch die Spektral-Hüllkurven-Bewertungseinheit 148 erhalten wird, das ist der variable dimensionale Vektor v. Dieser variable dimensionale Eingangsvektor v wird durch eine eine variable/feste Dimensionsumsetzung vornehmende Umsetzschaltung 542, wie die oben erwähnte Datenanzahl-Umsetzschaltung, in einen Vektor x fester Dimension umgesetzt (wie in einen 44-dimensionalen Vektor, der aus 44 Daten besteht), welcher zu einem Anschluss 501 übertragen wird. Der Eingangsvektor x fester Dimension und der Codevektor fester Dimension, die aus einem Codebuch 530 für eine feste Dimension ausgelesen sind, werden zu einer Auswahlschaltung 535 für eine feste Dimension übertragen, in der eine selektive Operation oder eine Codebuchsuche ausgeführt wird, die aus dem Codebuch 530 einen solchen Codevektor auswählt, der den gewichteten Fehler oder die Verzerrung dazwischen auf ein Minimum reduziert.
  • Bei der Ausführungsform gemäß 12 wird der feste zweidimensionale Codevektor, der von dem dimensionsmäßig festliegenden Codebuch 530 erhalten wird, mittels einer eine feste/variable Dimensionsumsetzung vornehmenden Umsetzschaltung 544 umgesetzt, die von derselben variablen Dimension ist wie die ursprüngliche Dimension. Die umgesetzten dimensionalen Codevektoren werden zu einer eine variable Dimensionsumsetzung vornehmenden Umsetzschaltung 545 übertragen, um die gewichtete Verzerrung zwischen dem Codevektor und dem Eingangsvektor v zu berechnen, und sodann wird eine selektive Verarbeitung oder eine Codebuch-Suche ausgeführt, um aus dem Codebuch 530 den Codevektor auszuwählen, der die Verzerrung auf ein Minimum reduzieren wird.
  • Dies bedeutet, dass die für eine feste Dimension vorgesehene Auswahlschaltung 535 durch eine Übergangs-Auswahl mehrere Codevektoren als Kandidaten-Codevektoren auswählt, die die gewichtete Verzerrung minimieren, und gewichtete Verzerrungsberechnungen in der für die variable Dimension vorgesehenen Umsetzschaltung 545 bezüglich dieser Kandidaten-Codevektoren ausführt, um schließlich den Codevektor auszuwählen, der die Verzerrung auf ein Minimum reduziert.
  • Der Anwendungsbereich der Vektor-Quantisierung unter Verwendung der Übergangsauswahl und der Endauswahl wird nunmehr kurz erläutert. Diese Vektor-Quantisierung kann nicht nur bei einer gewichteten Vektor-Quantisierung der Oberwellen variabler Dimension unter Heranziehung der Dimensionsabmessung bezüglich der Spektralkomponenten der Oberwellen bei der Oberwellencodierung, der Oberwellencodierung von LPC-Resten, der Multiband-Erregungs-(MBE)-Codierung, wie sie in der japanischen Offenlegungsschrift 4-91422 der Anmelderin angegeben ist, oder bei einer MBE-Codierung der LPC-Reste angewandt werden, sondern bei einer Vektor-Quantisierung des Eingangsvektors variabler Dimension unter Heranziehung des Codebuchs für die feste Dimension.
  • Für eine Übergangsauswahl ist es möglich, einen Teil der mehrstufigen Quantisierungskonfiguration auszuwählen oder lediglich ein Form-Codebuch für eine Übergangsauswahl zu suchen, falls ein Codebuch aus dem Form-Codebuch und einem Verstärkungs-Codebuch besteht, und die Verstärkung durch Verzerrungsberechnungen bezüglich der variablen Dimension zu bestimmen. Alternativ kann die oben erwähnte Vorauswahl für die Übergangsauswahl angewandt werden. Genauer gesagt kann die Ähnlichkeit zwischen dem Vektor x der festen Dimension und sämtlichen in diesem Codebuch gespei cherten Codevektoren durch Approximationen (Approximation der gewichteten Verzerrung) ermittelt werden, um eine Vielzahl von Codevektoren auszuwählen, die einen hohen Grad an Ähnlichkeit mit sich führen. In diesem Falle ist es möglich, die übergangsmäßige feste Dimensionsauswahl durch die oben erwähnte Vorauswahl auszuführen und eine Endauswahl der vorausgewählten Kandidaten-Codevektoren auszuführen, die die gewichtete Verzerrung für die variable Dimension minimieren. Es ist alternativ möglich, nicht nur die Vorauswahl auszuführen, sondern auch die hoch-genauen Verzerrungsberechnungen für eine präzise Auswahl vor der Vornahme der Endauswahl auszuführen.
  • Unter Bezugnahme auf die Zeichnungen werden nunmehr spezifizierte Beispiele der Vektor-Quantisierung unter Anwendung der Übergangsauswahl und der Endauswahl im Einzelnen erläutert.
  • Gemäß 12 besteht das Codebuch 530 aus einem Form-Codebuch 531 und einem Verstärkungs-Codebuch 532. Das Form-Codebuch 531 besteht aus zwei Codebüchern CB0, CB1. Die Ausgangs-Codevektoren dieser Form-Codebücher CB0 und CB1 sind mit s0, s1 bezeichnet, während die Verstärkung einer Verstärkungsschaltung 533, wie sie durch das Verstärkungs-Codebuch 532 festgelegt wird, mit g bezeichnet ist. Der Eingangsvektor v variabler Dimension vom Eingangsanschluss 541 wird mittels einer Dimensionsumsetzung (hier als D1 bezeichnet) mittels der eine variable/feste Dimensionsumsetzung vornehmenden Umsetzschaltung 542 verarbeitet und sodann über den Anschluss 501 als Vektor x fester Dimension an eine Subtrahiereinrichtung 536 einer Auswahlschaltung 535 abgegeben, in der die Differenz des Vektors x von dem Codevektor fester Dimension, der aus dem Codebuch 530 ausgelesen ist, ermittelt und mittels einer Gewichtungsschaltung 537 gewichtet wird, um an eine Fehlerminimierungsschaltung 538 abgegeben zu werden. Die Gewichtungsschaltung 537 wendet ein Gewicht W' an. Der Codevektor fester Dimension, der aus dem Codebuch 530 ausgelesen worden ist, wird mittels der dimensionalen Umsetzung (hier als D2 be zeichnet) von der eine variable/feste Dimensionsumsetzung vornehmenden Umsetzschaltung 549 verarbeitet und sodann an eine Auswahleinrichtung 546 der Auswahlschaltung 545 für die variable Dimension abgegeben, in der die Differenz des Codevektors von dem eingangsseitigen Vektor v variabler Dimension herangezogen und mittels einer Gewichtungsschaltung 547 gewichtet wird, um sodann an eine Fehlerminimierungsschaltung 548 abgegeben zu werden. Die Gewichtungsschaltung 537 wendet ein Gewicht Wv an.
  • Der Fehler der Fehlerminimierungsschaltungen 538, 548 bedeutet die oben erwähnte Verzerrung oder das oben erwähnte Verzerrungsmaß. Die Tatsache, dass der Fehler oder die Verzerrung klein wird, ist äquivalent einer zunehmenden bzw. gesteigerten Ähnlichkeit oder Korrelation.
  • Die Auswahlschaltung 535, die eine Übergangs-Auswahl fester Dimension ausführt, sucht s0, s1, g, welche das Verzerrungsmaß E1 minimieren, wie dies durch die Gleichung (b1) angegeben ist, E1 = ∥W'(x – g(s0 + s1))∥2 (b1)wie dies im wesentlichen unter Bezugnahme auf die Gleichung (27) erläutert worden ist.
  • Es sei darauf hingewiesen, dass das Gewicht W in der Gewichtungsschaltung 537 gegeben ist durch W' = WH/∥x∥ (b2)
  • Hierin bezeichnet H eine Matrix mit einem Frequenzgang bzw. einer Frequenzcharakteristik eines LPC-Synthesefilters als einem diagonalen Element, und W bezeichnet eine Matrix mit einem Fre quenzgang bzw. einer Frequenzcharakteristik eines Wahrnehmungs-Gewichtungsfilters als diagonalem Element.
  • Zunächst werden s0, s1, g, die das Verzerrungsmaß E1 gemäß der Gleichung (b1) minimieren, gesucht. Es sei darauf hingewiesen, dass L Sätze von so, s1, g herangezogen werden, und zwar beginnend von den Seiten höherer Ordnung, um das Verzerrungsmaß E1 zu verringern, und zwar mittels einer Übergangsauswahl in der festen Dimension. Sodann wird eine Endauswahl bezüglich des Satzes von L Sätzen von s0, s1, g ausgeführt, der E2 = ∥Wv(v – D2g(s0 + s1))∥2 (b3)als optimalen Codevektor minimiert.
  • Die Suche und das Lernen bezüglich der Gleichung (b1) werden unter Bezugnahme auf die Gleichung (27) und die folgenden Gleichungen erläutert.
  • Nunmehr wird die Schwerpunktsbedingung für das Codebuch-Lernen auf der Grundlage der Gleichung (b3) erläutert.
  • Für das Codebuch CB0 als einem der Form-Codebücher 531 im Codebuch 530 wird ein erwarteter Wert der sämtliche Rahmen k betreffenden Verzerrung, von dem der Codevektor so ausgewählt wird, minimiert. Falls M derartige Rahmen vorhanden sind, genügt es,
    Figure 00660001
    zu minimieren.
  • Zur Minimierung der Gleichung (b4) wird die Gleichung (b5)
    Figure 00670001
    aufgelöst, um
    Figure 00670002
    zu liefern.
  • In dieser Gleichung (b6) bezeichnet {}–1 eine inverse Matrix, und Wvk T bezeichnet eine transponierte Matrix von Wvk. Diese Gleichung (b6) repräsentiert eine optimale Schwerpunktsbedingung bzw. einen optimalen Schwerpunktszustand für den Form-Vektor so.
  • Die Auswahl des Codevektors s1 für das Codebuch CB1 eines anderen Form-Codebuches 531 im Codebuch 530 wird in derselben Weise ausgeführt, wie dies oben beschrieben worden ist, und folglich wird die Beschreibung der Einfachheit halber weggelassen.
  • Nunmehr wird die Schwerpunktsbedingung für die Verstärkung g von dem Verstärkungs-Codebuch 532 im Codebuch 530 betrachtet.
  • Ein erwarteter Wert der Verzerrung für den k'-ten Rahmen, aus dem das Codewort gc auszuwählen ist, ist gegeben durch die Gleichung (b7):
  • Figure 00670003
  • Zur Minimierung der Gleichung (b7) wird die folgende Gleichung (b8)
    Figure 00680001
    aufgelöst, um
    Figure 00680002
    zu liefern.
  • Diese Gleichung (b9) repräsentiert den Schwerpunktszustand für die Verstärkung.
  • Anschließend wird der nächste Nachbarzustand auf der Grundlage der Gleichung (b3) betrachtet.
  • Da die Anzahl der nach der Gleichung (b3) zu suchenden Sätze von s0, s1, g durch die Übergangsauswahl der festen Dimension auf L begrenzt ist, wird die Gleichung (b3) unmittelbar in Bezug auf die L-Sätze von s0, s1, g berechnet, um den Satz von s0, s1, g auszuwählen, der die Verzerrung E2 als optimaler Codevektor minimiert.
  • Das Verfahren der sequentiellen Suche nach der Form und der Verstärkung, die als effektiv akzeptiert werden, wenn L für eine Übergangsauswahl sehr groß ist, oder falls s0, s1, g bei der variablen Dimension ohne Ausführung der Übergangsauswahl direkt ausgewählt werden, wird nunmehr erläutert.
  • Falls Indices i, j und l zu s0, s1, g in der Gleichung (b3) hinzugefügt werden und die Gleichung (b3) in dieser Form neu geschrieben wird, erhält man: E2 = ∥Wv(v – D2gl(s0i + s1j))∥2 (b10)
  • Obwohl g, s0i, s1j, die die Gleichung (b10) minimieren, in einer umlaufenden Weise gesucht werden können, falls 0 ≤ 1 < 32, 0 ≤ i, < 32 und 0 ≤ j < 32 gilt, muss die obige Gleichung (b10) für 323 = 32768 Muster berechnet werden, was zu einer umfangreichen Verarbeitung führt. Das Verfahren der sequentiellen Suche der Form und der Verstärkung wird nunmehr erläutert.
  • Die Verstärkung gl wird nach der Entscheidung der Form-Codevektoren s0i, s1j, entschieden. Durch Festlegung von s0i + s1j = sm kann die Gleichung (b10) angegeben werden mit E2 = ∥Wv(v – D2glsm)∥2 (b11)
  • Falls vw = Wvvvsw = WvD2sm gesetzt werden, wird die Gleichung (b11) zu
  • Figure 00690001
  • Daher werden, falls gl von hinreichender Genauigkeit sein kann, der Wert sw, der
    Figure 00690002
    maximiert, und gl, das zu
    Figure 00690003
    am nächsten ist, gesucht.
  • Durch Umschreiben der Gleichungen (b13) und (b14) unter Substituierung der ursprünglichen Variablen erhält man die folgenden Gleichungen (b15) und (b16).
  • Die Sätze von s0i, s1j, die
    Figure 00700001
    maximieren, und der Wert gl, der
    Figure 00700002
    am nächsten ist, werden gesucht.
  • Unter Heranziehung der Schwerpunktsbedingungen bzw. -zustände für die Form und die Verstärkung gemäß den Gleichungen (b6) und (b9) und der optimalen Codierungsbedingungen (nächster Nachbarzustand) gemäß den Gleichungen (b15) und (b16) können die Codebücher (CB0, CB1, CBg) durch den generalisierten Lloyd-Algorithmus (GLA) gleichzeitig gebildet werden.
  • Im Vergleich zu dem Verfahren, dass die Gleichung (27) und so weiter und insbesondere die Gleichungen (31), (32) und (35) anwendet, wie dies zuvor beschrieben worden ist, stellen die Lernverfahren, welche die obigen Gleichungen (b6), (b9), (b15) und (b16) anwenden, ausgezeichnete Verfahren hinsichtlich der Minimierung der Verzerrung nach Umsetzung des ursprünglichen Eingangsvektors v in einen Vektor variabler Dimension dar.
  • Da die Verarbeitung gemäß den Gleichungen (b6) und (b9), insbesondere gemäß der Gleichung (b6) komplex ist, kann indessen der Schwerpunktszustand, der aus der Optimierung der Gleichung (b27) abgeleitet wird, das ist (b1), unter Heranziehung lediglich des nächsten Nachbarzustands der Gleichungen (b15) und (b16) verwendet werden.
  • Es ist außerdem empfehlenswert, dass unter Bezugnahme auf die Gleichung (27) und so weiter während des Codebuch-Lernvorgangs bzw. während der Bildung des Codebuchs erläuterte Verfahren anzuwenden und das Verfahren unter Verwendung der Gleichungen (b15), (b16) lediglich während des Suchens anzuwenden. Es ist außerdem möglich, eine Übergangs-Auswahl bei der festen Dimension durch das unter Bezugnahme auf die Gleichung (27) und so weiter erläuterte Verfahren auszuführen und die Gleichung (b3) lediglich für den Satz einer ausgewählten Vielzahl (L) von Vektoren zur Suche unmittelbar zu bewerten.
  • In jedem Falle wird es durch Anwendung der Suche mittels Verzerrungsbewertung gemäß der Gleichung (b3) nach der Übergangs-Auswahl oder in einer umlaufenden Art und Weise schließlich möglich, dass Lernen bzw. die Bildung oder die Codevektor-Suche mit weniger Verzerrung auszuführen.
  • Der Grund dafür, warum es erwünscht ist, Verzerrungsberechnungen in derselben variablen Dimension auszuführen, wie jener des ursprünglichen Eingangsvektors v, wird kurz erläutert.
  • Falls die Minimierung der Verzerrung bezüglich der festen Dimension mit jener bezüglich der variablen Dimension koinzidiert, ist die Verzerrungsminimierung in der variablen Dimension unnötig. Da die dimensionale Umsetzung D2 durch die eine feste/variable Dimensionsumsetzung vornehmende Umsetzschaltung 544 keine orthogonale Matrix darstellt, sind indessen die beiden Minimierungen nicht miteinander koinzident. Falls die Verzerrung in der festliegenden Dimension minimiert wird, ist somit eine solche Minimierung nicht notwendigerweise eine Verzerrungsminimierung in der variablen Dimension, so dass es dann, wenn der Vektor des resultierenden variablen Dimensions-Vektors zu optimieren ist, erforderlich wird, die Verzerrung in der variablen Dimension zu optimieren.
  • 13 zeigt einen Fall, bei dem die Verstärkung dann, wenn das Codebuch in ein Form-Codebuch und in eine Verstärkungs-Codebuch unterteilt wird bzw. ist, die Verstärkung in der variablen Dimension ist und bei dem die Verzerrung in der variablen Dimension optimiert ist.
  • Genauer gesagt wird der der aus dem Form-Codebuch 531 ausgelesene Codevektor fester Dimension zu der eine Umsetzung der festen/ variablen Dimension vornehmenden Umsetzschaltung 544 zur Umsetzung in den Vektor variabler Dimension übertragen, der dann zur Verstärkungs-Steuerschaltung 533 übertragen wird. Es genügt, falls die Auswahlschaltung 545 die optimale Verstärkung in der Verstärkungsschaltung 533 für den Codevektor auswählt, der mittels der festen/variablen Dimensionsumsetzung auf der Grundlage des Codevektors der variablen Dimension von der Verstärkungssteuerschaltung 533 und dem Eingangsvektor v verarbeitet wird. Alternativ kann die optimale Verstärkung auf der Grundlage des inneren Produkts des Eingangsvektors für die Verstärkungsschaltung 533 und des Eingangsvektors v ausgewählt werden. Der Aufbau und die Arbeitsweise sind ansonsten die gleichen wie jene bei der in 12 dargestellten Ausführungsform.
  • Nunmehr wird auf das Form-Codebuch 531 eingegangen; der einzige Codevektor kann während der Auswahl in der variablen Dimension in der Auswahlschaltung 535 ausgewählt werden, während die Auswahl in der variablen Dimension lediglich bezüglich der Verstärkung vorgenommen werden kann.
  • Durch Multiplizieren des Codevektors, der durch die eine Umsetzung der festen/variablen Dimension vornehmende Umsetzschaltung 544 umgesetzt worden ist, mit der Verstärkung kann eine optimale Verstärkung mit der berücksichtigten Auswirkung der festen/variablen Dimensionsumsetzung im Unterschied zu dem Verfahren der festen/variablen Dimensionsumsetzung des mit der Verstärkung multiplizierten Codevektors ausgewählt werden, wie dies in 12 gezeigt ist.
  • Ein weiteres spezifiziertes Beispiel einer Vektorquantisierungs-Kombinations-Übergangsauswahl in der festen Dimension und eine Endauswahl in der variablen Dimension wird nunmehr erläutert.
  • Bei dem folgenden spezifizierten Beispiel wird der erste Codevektor der festen Dimension, der aus dem ersten Codebuch ausgelesen ist, in eine variable Dimension des Eingangsvektors umgesetzt, und der zweite Codevektor in der festen Dimension, der aus dem zweiten Codebuch ausgelesen ist, wird zu dem ersten Codevektor der variablen Dimension summiert, welcher durch die feste/variable Dimensionsumsetzung, wie dies oben beschrieben worden ist, verarbeitet worden ist. Von den resultierenden Summencodevektoren, die aus der Addition resultieren, wird ein optimaler Codevektor, der den Fehler im Eingangsvektor minimiert, zumindest aus dem zweiten Codebuch ausgewählt.
  • Bei dem Beispiel gemäß 14 wird der erste Codevektor so in der festen Dimension, der aus dem ersten Codebuch CB0 ausgelesen ist, zu der eine feste/variable Dimensionsumsetzung vornehmenden Umsetzschaltung 544 übertragen, um in eine variable Dimension am Anschluss 541 umgesetzt zu werden, die gleich jener des Eingangsvektors v ist. Der zweite Codevektor der festen Dimension, der aus dem zweiten Codebuch CB1 ausgelesen ist, wird einem Addierer 549 zugeführt, um zum Codevektor der variablen Dimension der eine feste/variable Dimensionsumsetzung vornehmenden Umsetzschaltung 544 summiert zu werden. Die resultierende Codevektor summe des Addierer 549 wird zur Auswahlschaltung 545 übertragen, in der der Summenvektor vom Addierer 549 oder der optimale Codevektor, der den Fehler vom Eingangsvektor v minimiert, ausgewählt wird. Der Codevektor des zweiten Codebuchs CB1 wird einem Bereich von der unteren Seite der Oberwellen des Eingangsvektors bis zur Dimension des Codebuchs CB1 angewandt. Die Verstärkungsschaltung 533 mit der Verstärkung g ist lediglich zwischen dem ersten Codebuch CB0 und der eine feste/variable Dimensionsumsetzung vornehmenden Umsetzschaltung 544 vorgesehen. Da der Aufbau ansonsten derselbe ist wie jener von 12, sind entsprechende Teile mit denselben Bezugszeichen bezeichnet, und die entsprechende Beschreibung wird der Einfachheit halber weggelassen.
  • Durch Addieren des in der festen Dimension von dem Codebuch CB1 verbleibenden Codevektors und des aus dem Codebuch CB0 ausgelesenen und in die variable Dimension umgesetzten Codes erfolgt eine Zusammensummierung zur Subtraktion der Verzerrung, die durch die feste/variable Dimensionsumsetzung mittels des Codevektors der festen Dimension erzeugt ist, vom Codebuch CB1.
  • Eine durch die Auswahlschaltung 545 gemäß 14 berechnete Verzerrung E3 ist gegeben durch: E3 = ∥Wv(v – (D2gs0 + s1))∥2 (b17)
  • Bei dem Beispiel gemäß 15 ist die Verstärkungsschaltung 533 auf einer Außenseite des Addierers 549 angeordnet. Damit werden das Ergebnis der Addition des aus dem ersten Codebuch CB0 ausgelesenen und durch die eine feste/variable Dimensionsumsetzung vornehmende Umsetzschaltung 544 umgesetzten Codevektors und des aus dem zweiten Codebuch CB1 ausgelesenen Codevektors mit der Verstärkung g multipliziert. Die gemeinsame Verstärkung wird genutzt, da die mit dem Codevektor von CB0 zu multiplizierende Verstärkung eine starke Ähnlichkeit mit der Verstärkung zeigt, mit der der Codevektor vom Codebuch CB1 multipliziert wird, und zwar für den korrigierenden Teil (Quantisierung des Quantisierungsfehlers). Die durch die Auswahlschaltung 545 gemäß 15 berechnete Verzerrung E4 ist gegeben mit E4 = ∥Wv(v – g(D2gs0 + s1))∥2 (b18)
  • Dieses Beispiel ist im Übrigen dem Beispiel gemäß 14 gleich, weshalb die Erläuterung der Einfachheit halber weggelassen wird.
  • Bei dem Beispiel gemäß 16 ist nicht nur eine Verstärkungsschaltung 535A mit einer Verstärkung g auf einer Abgabeseite des ersten Codebuchs CB0 wie beim Beispiel gemäß 14 vorgesehen, sondern es ist eine Verstärkungsschaltung 533B mit einer Verstärkung g auf der Abgabeseite des zweiten Codebuchs CB1 vorgesehen. Die durch die Auswahlschaltung 545 gemäß 16 berechnete Verzerrung ist gleich der Verzerrung E4, wie dies in der Gleichung (b18) angegeben ist. Die Konfiguration des Beispiels gemäß 16 ist im Übrigen dieselbe wie die des Beispiels gemäß 14, so dass die entsprechende Beschreibung der Einfachheit halber weggelassen wird.
  • 17 zeigt ein Beispiel, bei dem das erste Codebuch gemäß 14 durch zwei Form-Codebücher CB0, CB1 aufgebaut ist. Die Codevektoren s0, s1 von diesem Form-Codebüchern werden zusammen summiert, und die resultierende Summe wird mit der Verstärkung g durch die Verstärkungsschaltung 533 multipliziert, bevor sie an die eine feste/variable Dimensionsumsetzung vornehmende Umsetzschaltung 544 abgegeben wird. Der variable Dimensionscodevektor von der eine feste/variable Dimensionsumsetzung vornehmende Umsetzschaltung 544 und der Codevektor s2 von dem zweiten Codebuch CB2 werden mittels des Addierers 549 zusammen summiert, bevor sie an die Auswahlschaltung 545 abgegeben werden. Die durch die Auswahlschaltung 545 gemäß 17 ermittelte Verzerrung E5 ist gegeben durch: E5 = ∥Wv(v – (gD2(S0 + s1) + s2))∥2 (b19)
  • Die Konfiguration bzw. der Aufbau gemäß dem Beispiel von 16 ist im Übrigen die- bzw. derselbe wie beim Beispiel gemäß 14, so dass die entsprechende Beschreibung der Einfachheit halber weggelassen wird.
  • Nunmehr wird das Suchverfahren gemäß der Gleichung (b18) erläutert.
  • Als Beispiel umfasst das erste Suchverfahren die Suche von s0i, gl, was E' 4 = ∥W'(x – gls0i)∥2 (b20)minimiert, und sodann die Suche von s0i, was E4 – ∥Wv(v – gl(D2s0i + s0i))∥2 (b21)minimiert.
  • Als weiteres Beispiel wird ein solches s0i gesucht, welches
    Figure 00760001
    maximiert, sowie s1j, welches
    Figure 00760002
    maximiert, und eine solche Verstärkung gl, die
    Figure 00770001
    am nächsten ist.
  • Gemäß einem dritten Suchverfahren werden solche Werte von s0i und gl gesucht, die E' 4 = ∥W(x – gls0i)∥2 (b25)minimieren, und sodann wird ein solcher Wert s1j gesucht, dass
    Figure 00770002
    minimiert ist, und schließlich wird die Verstärkung gl ausgewählt, die
    Figure 00770003
    am nächsten ist.
  • Anschließend wird die Schwerpunktsbedingung bzw. der Schwerpunktszustand gemäß der Gleichung (b20) des ersten Suchverfahrens erläutert. Bei dem Schwerpunkt s0c des Codevektors s0i ist
    Figure 00770004
    minimiert. Für diese Minimierung wird
    Figure 00780001
    gelöst, was zu
    Figure 00780002
    führt.
  • In entsprechender Weise erhält man für den Schwerpunkt gc der Verstärkung g
    Figure 00780003
    aus der obigen Gleichung (b20) aufgelöst, um
    Figure 00780004
    zu erhalten.
  • Andererseits werden als Schwerpunktszustand gemäß der Gleichung (b21) bei dem ersten Suchverfahren
    Figure 00790001
    für den Schwerpunkt s1c des Vektors slj aufgelöst, um
    Figure 00790002
    zu liefern.
  • Aus der Gleichung (b21) wird der Schwerpunkt s0c des Vektors s0i ermittelt, um
    Figure 00790003
    zu liefern.
  • In entsprechender Weise kann der Schwerpunkt gc der Verstärkung g ermittelt werden aus
  • Figure 00800001
  • Das Verfahren zur Berechnung des Schwerpunkts des Codevektors s0i durch die obige Gleichung (b20) und das Verfahren zur Berechnung des Schwerpunkts gc der Verstärkung g sind durch die Gleichung (b33) veranschaulicht. Als Verfahren zur Berechnung des Schwerpunkts durch die Gleichung (b21), des Schwerpunkts s1c des Vektors slj, des Schwerpunkts slc des Vektors s1j und des Schwerpunkts gc der Verstärkung g sind durch die Gleichungen (b36), (b39) bzw. (b40) veranschaulicht.
  • Beim Ausbilden des Codebuchs durch das tatsächliche GLA kann ein Verfahren zum gleichzeitigen Lernen bzw. Ausbilden von s0, s1, g unter Heranziehung der Gleichungen (b30), (b36) und (b40) angeführt werden. Es sei darauf hingewiesen, dass die obigen Gleichungen (b22), (b23) und (b24) für das Suchverfahren (nächster Nachbarzustand) herangezogen werden können. Darüber hinaus können optional verschiedene Kombinationen der Schwerpunktsbedingungen bzw. -zustände angewandt werden, wie dies durch die Gleichungen (b30), (b33), (b36), (b39), (b36) oder (b40) veranschaulicht ist.
  • Das Suchverfahren bezüglich des Verzerrungsmaßes gemäß der Gleichung (b17) entsprechend der 14 wird erläutert. In diesem Falle genügt es, s0i, gl zu suchen, die E' 3 = ∥W'(x – gls0i)∥2 (b41)minimieren, und anschließend s1j zu suchen, was E3 = ∥Wv(x – gl(D2s0i + s0j))∥2 (b42)minimiert.
  • In der obigen Gleichung (b41) ist es nicht praktisch, sämtliche Sätze von gl und s0i abzurufen, wie eine obere L-Zahl von Vektoren s0i, die
    Figure 00810001
    maximieren, und eine L-Zahl der Verstärkung, die am nächsten liegt zu
    Figure 00810002
    in Verbindung mit der obigen Gleichung (b43), sowie slj zu suchen, was E3 = ∥Wv(v – (D2gs0i + s1j))∥2 (b45)minimiert.
  • Anschließend werden die Schwerpunktsbedingungen bzw. -zustände aus den Gleichungen (b41) und (b42) abgeleitet. In diesem Falle variiert die Prozedur in Abhängigkeit davon, welche Gleichung benutzt wird.
  • Falls zunächst die Gleichung (b41) angewendet wird und wenn der Schwerpunkt der Codevektoren s0i gegeben ist mit s0i, dann ist
    Figure 00820001
    minimiert, um
    Figure 00820002
    zu erhalten.
  • In entsprechender Weise wird hinsichtlich des Schwerpunkts gc folgende Gleichung
    Figure 00820003
    durch die bzw. aus der obigen Gleichung (b41) erhalten, und zwar wie im Falle der Gleichung (b43).
  • Falls der Schwerpunkt slc des Vektors s1j unter Heranziehung der Gleichung (b42) ermittelt wird, dann werden
    Figure 00820004
    aufgelöst, um
    Figure 00820005
    zu liefern.
  • In entsprechender Weise können der Schwerpunkt s0c des Codevektors s0i und der Schwerpunkt gc der Verstärkung g aus der Gleichung (b42) ermittelt werden.
  • Figure 00830001
  • Im Übrigen kann das Codebuch-Lernen bzw. -Ausbilden durch GLA unter Heranziehung der obigen Gleichungen (b47), (b48) oder (b51) oder unter Heranziehung der obigen Gleichungen (b51), (b52) oder (b55) ausgeführt werden.
  • Die zweite Codierungseinheit 120, die den CELP-Codierungsaufbau gemäß der vorliegenden Erfindung verwendet, weist einen mehrstufigen Vektor-Quantisierungs-Verarbeitungsabschnitt bzw. -bereich (zweistufige Codierungsbereiche 1201 und 1202 bei der Ausführungsform gemäß 18) auf. Die Konfiguration gemäß 18 ist so ausgelegt, dass sie mit der Übertragungsbitrate von 6 kbps in dem Fall fertig wird, dass die Übertragungsbitrate zwischen beispielsweise 2 kbps und 6 kbps umgeschaltet werden kann und dass das Form- und Verstärkungs-Indexausgangssignal zwischen 23 Bits/5 ms und 15 Bits/5 ms umgeschaltet wird. Der Verarbeitungsablauf bei dem Aufbau gemäß 18 ist in 19 veranschaulicht.
  • Gemäß 18 ist eine erste Codierungseinheit 300 der ersten Codierungseinheit 113 von 3 äquivalent; eine LPC-Analyseschaltung 302 gemäß 18 entspricht der LPC-Analyseschaltung 132, wie sie in 3 gezeigt ist, während eine LSP-Parameter-Quantisierungsschaltung 303 dem Aufbau von der α-LSP-Umsetzschaltung 133 bis zur LSP-α-Umnsetzschaltung 137 gemäß 3 entspricht, und ein Wahrnehmungs-Gewichtungsfilter 304 gemäß 18 entspricht der Wahrnehmungs-Gewichtungsfilter-Rechenschaltung 139 und dem Wahrnehmungs-Gewinnungsfilter 125 gemäß 3. Daher wird in 18 ein Ausgangssignal, bei dem es sich um dasselbe handelt wie um jenes der LSP-α-Umsetzschaltung 137 der ersten Codierungseinheit 113 gemäß 3, einem Anschluss 305 zugeführt, während ein Ausgangssignal, bei dem es sich um dasselbe handelt, wie um das Ausgangssignal der Wahrnehmungs-Gewichtungsfilter-Rechenschaltung 139 gemäß 3, einem Anschluss 307 zugeführt wird. Ein Ausgangssignal, bei dem es sich um dasselbe handelt wie um das Ausgangssignal des Wahrnehmungs-Gewichtungsfilters 125 gemäß 3, wird einem Anschluss 306 zugeführt. Im Unterschied zu dem Wahrnehmungs-Gewichtungsfilter 125 erzeugt jedoch das Wahrnehmungs-Gewichtungsfilter 304 gemäß 18 ein wahrnehmbares gewichtetes Signal, bei dem es sich um dasselbe Signal handelt wie um das Ausgangssignal des Wahrnehmungs-Gewichtungsfilters 125 gemäß 3, indem die Eingangssprachdaten und der Vorquantisierungs-α-Parameter anstelle eines Ausgangssignals der LSP-α-Umsetzschaltung 137 verwendet werden.
  • In den zweistufigen zweiten Codierungseinheiten 1201 und 1202 , wie sie in 18 dargestellt sind, entsprechen Subtrahiereinrichtungen 313 und 323 der Subtrahiereinrichtung 123 gemäß 3, während die Distanz-Rechenschaltungen 314, 324 der Distanz-Rechenschaltung 124 gemäß 3 entsprechen. Darüber hinaus entsprechen die Verstärkungsschaltungen 311, 321 der Verstärkungsschaltung 126 gemäß 3, während stochastische Codebücher 310, 320 und Verstärkungs-Codebücher 315, 325 dem Rausch-Codebuch 121 gemäß 3 entsprechen.
  • Bei dem Aufbau gemäß 18 werden in der LPC-Analyseschaltung 302 beim Schritt S1 gemäß 19 die von einem Anschluss 301 her zugeführten Eingangssprachdaten x in Rahmen aufgeteilt, wie dies oben beschrieben worden ist, um eine LPC-Analyse auszuführen, damit ein α-Parameter ermittelt wird. 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) aus den α-Parametern, die aus den quantisierten LSP-Parametern umgesetzt sind, das sind die quantisierten LSP-Parameter, und überträgt die erzeugte LPC-Synthesefilterfunktion 1/H(z) zu einem Wahrnehmungs-Gewichtungs-Synthesefilter 312 der zweiten Codierungseinheit 1201 der ersten Stufe über den Anschluss 305.
  • Das Wahrnehmungs-Gewichtungsfilter 304 ermittelt Daten zur wahrnehmbaren Gewichtung, bei der es sich um dieselbe Gewichtung handelt, die durch die Wahrnehmungs-Gewichtungsfilter-Recheneinheit 139 gemäß 3 erzeugt wird, aus dem α-Parameter von der LPC-Analyseschaltung 302, das ist der Vorquantisierungs-α-Parameter. Diese Gewichtungsdaten werden über den Anschluss 307 an das Wahrnehmungs-Gewichtungs-Synthesefilter 312 der zweiten Codierungseinheit 1201 der ersten Stufe abgegeben. Das Wahrnehmungs-Gewichtungsfilter 304 erzeugt das wahrnehmbare gewichtete Signal, bei dem es sich um dasselbe Signal handelt, wie um jenes, das von dem Wahrnehmungs-Gewichtungsfilter 125 gemäß 3 abgegeben wird, aus den Eingangssprachdaten und dem Vorquantisierungs-α-Parameter, wie dies beim Schritt S2 in 19 angegeben ist. Dies bedeutet, dass die LPC-Synthesefilterfunktion W(z) zuerst aus dem Vorquantisierungs-α-Parameter erzeugt wird. Die so erzeugte Filterfunktion W(z) wird auf die Eingangssprachdaten x angewandt, um den Wert xw zu erzeugen, der als wahrnehmbares gewichtetes Signal über den Anschluss 306 an die Subtrahiereinrichtung 313 der zweiten Codierungseinheit 1201 der ersten Stufe abgegeben wird.
  • In der zweiten Codierungseinheit 1201 der ersten Stufe wird ein repräsentativer Ausgangswert des stochastischen Codebuchs 310 vom 9-Bit-Form-Indexausgangssignal zu der Verstärkungsschaltung 311 übertragen, die dann das betreffende repräsentative Ausgangssignal von dem stochastischen Codebuch 310 mit der Verstärkung (Skalar) von dem Verstärkungs-Codebuch 315 des 6-Bit-Verstärkungsindex-Ausgangssignals multipliziert. Der abgegebene und mittels der Verstärkungsschaltung 311 mit der Verstärkung multiplizierte repräsentative Wert, wird zu dem Wahrnehmungs-Gewichtungs-Synthesefilter 312 mit 1/A(z) = (1/H(z))·W(z) übertragen. Das Gewichtungs-Synthesefilter 312 überträgt das 1/A(z)-Null-Eingangs-Antwortausgangssignal zu der Subtrahiereinrichtung 313, wie dies beim Schritt S3 in 19 angedeutet ist. Die Subtrahiereinrichtung 313 nimmt eine Subtraktion bezüglich des Null-Eingangs-Antwortausgangssignals des Wahrnehmungs-Gewichtungs-Synthesefilters 312 und des wahrnehmbaren gewichteten Signals xw von dem Wahrnehmungs-Gewichtungsfilter 304 vor, und die resultierende Differenz oder der resultierende Fehler wird als Referenzvektor r abgenommen. Während der Suche in der zweiten Codierungseinheit 1201 der ersten Stufe wird dieser Referenzvek tor r zu der Distanz-Rechenschaltung 314 übertragen, in der die Distanz berechnet wird, und der Form-Vektor s sowie die Verstärkung g, die die Quantisierungsfehlerenergie E minimieren, werden gesucht, wie dies beim Schritt S4 in 19 angegeben ist. Hier befindet sich 1/A(z) im Null-Zustand. Dies bedeutet, dass dann, wenn der Form-Vektor s im Codebuch, mit 1/A(z) synthetisiert im Null-Zustand gegeben ist mit ssyn, der Form-Vektor s und die Verstärkung g gesucht werden, die die Gleichung (40) minimieren:
  • Figure 00870001
  • Obwohl s und g, die die Quantisierungsfehlerenergie minimieren, voll gesucht werden können, kann das folgende Verfahren angewandt werden, um die Menge der Berechnungen zu verringern.
  • Das erste Verfahren besteht darin, den Form-Vektor s zu suchen, der E3 minimiert und der durch die folgende Gleichung (41) festgelegt ist.
  • Figure 00870002
  • Aus s, das nach dem ersten Verfahren erhalten wird, ergibt sich die ideale Verstärkung, wie sie durch die Gleichung (42) angegeben ist:
  • Figure 00870003
  • Daher wird gemäß dem zweiten Verfahren ein solches g gesucht, welches die Gleichung (43) minimiert: Eg = (gref .. g)2 (43)
  • Da E eine quadratische Funktion von g ist, minimiert ein solches g, welches Eg minimiert, E.
  • Aus s und g, die nach den ersten und zweiten Verfahren erhalten werden bzw. sind, kann der Quantisierungsfehler-Vektor e durch folgende Gleichung (44) berechnet werden: e = r – gssyn (44)
  • Dieser Wert ist bzw. wird als Referenzwert der zweiten Codierungseinheit 1202 der zweiten Stufe wie in der ersten Stufe quantisiert.
  • Dies bedeutet, dass das an den Anschlüssen 305 und 307 gelieferte Signal direkt von dem Wahrnehmungs-Gewichtungs-Synthesefilter 312 der zweite Codierungseinheit 1201 der ersten Stufe an ein Wahrnehmungs-Gewichtungs-Synthesefilter 322 der zweiten Codierungseinheit 1202 der zweiten Stufe gegeben wird. Der Quantisierungsfehler-Vektor e, der durch die zweite Codierungseinheit 1201 der ersten Stufe ermittelt wird, wird an eine Subtrahiereinrichtung 323 der zweiten Codierungseinheit 1202 der zweiten Stufe abgegeben.
  • Beim Schritt S5 gemäß 19 wird eine entsprechende bzw. ähnliche Verarbeitung wie jene, die in der ersten Stufe ausgeführt wird, in der zweiten Codierungseinheit 1202 der zweiten Stufe ausgeführt. Dies heißt, dass ein repräsentativer Abgabewert aus dem stochastischen Codebuch 320 des 5-Bit-Form-Index-Ausgangs signals an die Verstärkungsschaltung 321 abgegeben wird, in der der repräsentative abgegebene Wert des Codebuchs 320 mit der Verstärkung aus dem Verstärkungs-Codebuch 325 des 3-Bit-Verstärkungs-Index-Ausgangssignals multipliziert wird. Ein Ausgangssignal des gewichteten Synthesefilters 322 wird zu der Subtrahiereinrichtung 323 übertragen, in der eine Differenz zwischen dem Ausgangssignal des Wahrnehmungs-Gewichtungs-Synthesefilters 322 und dem Quantisierungsfehler-Vektor e der ersten Stufe ermittelt wird. Diese Differenz zu einer Distanz-Rechenschaltung 324 zur Distanzberechnung übertragen, um den Form-Vektor s und die Verstärkung g zu suchen, die die Quantisierungsfehlerenergie E minimieren.
  • Das Form-Index-Ausgangssignal des stochastischen Codebuchs 310 und das Verstärkungs-Index-Ausgangssignal des Verstärkungs-Codebuchs 315 der zweiten Codierungseinheit 1201 der ersten Stufe sowie das Index-Ausgangssignal des stochastischen Codebuches 320 und das Index-Ausgangssignal des Verstärkungs-Codebuches 325 der zweiten Codierungseinheit 1202 der zweiten Stufe werden zu einem Index-Ausgangssignal-Umschaltkreis 330 übertragen. Falls 23 Bits der zweiten Codierungseinheit 120 abgegeben werden, werden die Indexdaten der stochastischen Codebücher 310, 320 und der Verstärkungs-Codebücher 315, 325 der zweiten Codierungseinheiten 1201 , 1202 der ersten Stufe und der zweiten summiert und abgegeben. Falls 15 Bits abgegeben werden, werden die Indexdaten des stochastischen Codebuchs 310 und des Verstärkungs-Codebuchs 315 der zweiten Codierungseinheit 1201 der ersten Stufe abgegeben.
  • Sodann wird der Filterzustand aktualisiert, um das Null-Eingangs-Antwortausgangssignal zu berechnen, wie dies beim Schritt S6 veranschaulicht ist.
  • Bei der vorliegenden Ausführungsform ist die Anzahl der Indexbits der zweiten Codierungseinheit 1202 der zweiten Stufe für den Form-Vektor so klein wie 5, während sie für die Verstärkung so klein ist wie 3. Falls eine geeignete Form und Verstärkung in diesem Falle im Codebuch nicht vorhanden sind, ist es wahrscheinlich, dass der Quantisierungsfehler zunimmt anstatt verkleinert zu werden.
  • Obwohl in der Verstärkung eine 0 vorgesehen sein kann, um das Auftreten dieses Problems zu verhindern, gibt es lediglich drei Bits für die Verstärkung. Falls eines dieser Bits auf 0 gesetzt ist, ist die Leistung der Quantisierungseinrichtung signifikant verschlechtert. In Anbetracht dieses Umstands ist ein Gesamt-Null-Vektor für den Form-Vektor vorgesehen, dem eine größere Anzahl von Bits zugeordnet worden ist. Die oben erwähnte Suche wird unter Ausschluss des Gesamt-Null-Vektors ausgeführt, und der Gesamt-Null-Vektor wird ausgewählt, falls der Quantisierungsfehler schließlich erhöht worden ist. Die Verstärkung ist beliebig. Dies ermöglicht es, eine Erhöhung des Quantisierungsfehlers in der zweiten Codierungseinheit 1202 der zweiten Stufe zu verhindern.
  • Obwohl oben die zweistufige Anordnung unter Bezugnahme auf 18 beschrieben worden ist, kann die Anzahl an Stufen größer als 2 sein. Wenn in einem solchen Falle die Vektor-Quantisierung durch die geschlossene Schleifensuche der ersten Stufe zu einem Ende gelangt ist, wird die Quantisierung der N-ten Stufe, mit 2 ≤ N ausgeführt, wobei der Quantisierungsfehler der (N – 1)-Stufe als Referenz-Eingangssignal dient und wobei der Quantisierungsfehler der N-ten Stufe als Referenz-Eingangssignal für die (N + 1)-te Stufe dient.
  • Aus 18 und 19 ist zu ersehen, dass durch die Anwendung von mehrstufigen Vektor-Quantisiereinrichtungen für die zweite Codierungseinheit die Menge der Berechnungen im Vergleich zu jenen verringert ist, die bei der Anwendung der direkten Vektor-Quantisierung mit derselben Anzahl von Bits oder mit der Verwendung eines konjugierten Codebuchs ausgeführt werden. Insbesondere bei der CELP-Codierung, bei der eine Vektor-Quantisierung der Zeitachsen-Wellenform unter Anwendung der geschlossenen Schleifensuche durch das Verfahren der Analyse durch Synthese ausgeführt wird, ist eine geringere Häufigkeit von Suchoperationen äußerst wichtig. Darüber hinaus kann die Anzahl der Bits durch Umschaltung zwischen der Anwendung beider Index-Ausgangssignale der zweistufigen zweiten Codierungseinheit 1201 , 1202 und der Anwendung lediglich des Ausgangssignals der zweiten Codierungseinheit 1201 der ersten Stufe ohne Anwendung des Ausgangssignals der zweiten Codierungseinheit 1201 der zweiten Stufe ohne weiteres umgeschaltet werden. Falls die Index-Ausgangssignale der zweiten Codierungseinheiten 1201 , 1202 der ersten Stufe und der zweiten Stufe kombiniert und abgegeben werden, kann der Decoder ohne weiteres mit der Konfiguration durch Auswahl eines der Index-Ausgangssignale fertig werden. Dies bedeutet, dass der Decoder durch Decodieren des beispielsweise mit 6 kbps codierten Parameters unter Heranziehung eines Decoders, der bei bzw. mit 2 kbps arbeitet, ohne weiteres mit der Konfiguration fertig werden kann. Falls ein Null-Vektor in dem Form-Codebuch der zweiten Codierungseinheit 1202 der zweiten Stufe enthalten ist, wird es überdies möglich, ein Ansteigen des Quantisierungsfehlers bei geringerer Verschlechterung in der Leistung zu verhindern, als in dem Fall, dass 0 zur Verstärkung hinzuaddiert wird.
  • Der Codevektor des stochastischen Codebuchs (Form-Vektor) kann beispielsweise durch das folgende Verfahren erzeugt werden.
  • Der Codevektor des stochastischen Codebuchs kann beispielsweise dadurch erzeugt werden, dass das sogenannte Gaußsche Rauschen bzw. weißes Rauschen geklemmt bzw. abgeschnitten wird. Genauer gesagt kann das Codebuch dadurch erzeugt werden, dass weißes Rauschen erzeugt wird, dass das weiße Rauschen mit bzw. bei einem geeigneten Schwellwert geklemmt wird und dass das geklemmte weiße Rauschen normiert wird.
  • Es gibt jedoch eine Vielzahl von Sprachtypen. Das weiße Rauschen kann beispielsweise mit der Sprache von Konsonantenklängen nahe des Rauschens fertig werden, wie mit "sa, shi, su, se und so", während das weiße Rauschen nicht mit der Sprache von scharf ansteigenden Konsonanten fertig wird, wie mit "pa, pi, pu, pe und po".
  • Gemäß der vorliegenden Erfindung wird das weiße Rauschen auf einige der Codevektoren angewandt, während der übrige Teil der Codevektoren durch Lernen bzw. Ausbilden behandelt wird, so dass man sowohl mit den Konsonanten, die scharf ansteigende Konstantenklänge aufweisen, als auch mit den Konsonantenklängen fertig werden kann, die nahe des Rauschens sind. Falls beispielsweise der Schwellwert erhöht wird, wird ein solcher Vektor erhalten, der mehrere größere Spitzen aufweist, während in dem Fall, dass der Schwellwert verringert wird, der Codevektor an das weiße Rauschen approximiert wird. Durch Vergrößern der Änderung im Klemm-Schwellwert wird es somit möglich, mit Konstanten, die scharf ansteigende Anteile aufweisen, wie "pa, pi, pu, pe und po", oder mit Konsonanten nahe des Rauschens fertig zu werden wie mit "sa, shi, su, se und so", wodurch die Klarheit gesteigert ist. 20 zeigt das Auftreten des weißen Rauschens und das geklemmte Rauschen durch eine voll ausgezogene Linie bzw. durch eine gestrichelte Linie. Die 20A und 20B zeigen das Rauschen bei einem Klemm-Schwellwert gleich 1,0, das heißt bei einem großen Schwellwert, und das Rauschen bei einem Klemm-Schwellwert gleich 0,4, das heißt bei einem kleineren Schwellwert. Aus 20A und 20B ist ersichtlich, dass dann, wenn der Schwellwert größer gewählt ist, ein Vektor mit mehreren größeren Spitzen erhalten wird, während dann, wenn der Schwellwert auf einen geringeren Wert ausgewählt ist, das Rauschen sich an das weiße Rauschen selbst annähert.
  • Um dies zu realisieren, wird ein Ausgangs- bzw. Anfangs-Codebuch dadurch erstellt, dass das weiße Rauschen geklemmt wird und dass eine geeignete Anzahl von nicht-lernenden Codevektoren festgelegt wird. Die nicht-lernenden Codevektoren werden in der Reihenfolge des zunehmenden Varianzwertes ausgewählt, um mit Konsonanten fertig zu werden, die nahe des Rauschens liegen, wie "sa, shi, su, se und so". Die durch Lernen bzw. Ausbildung ermittelten bzw. gefundenen Vektoren nutzen den LBG-Algorithmus zum Lernen bzw. zur Ausbildung. Die Codierung unter der Bedingung des nächsten Nachbarn nutzt sowohl den festen Codevektor als auch den Codevektor, der auf ein Lernen hin erhalten wird. Beim Schwerpunktszustand wird lediglich der Codevektor, der zu erlernen bzw. auszubilden ist, aktualisiert. Somit kann der zu-erlernende bzw. auszubildende Codevektor mit scharf ansteigenden Konsonanten fertig werden, wie mit "pa, pi, pu, pe und po".
  • Eine optimale Verstärkung kann für diese Codevektoren durch übliches Lernen erlernt bzw. ausgebildet werden.
  • 21 veranschaulicht den Verarbeitungsablauf für den Aufbau des Codebuchs durch Klemmen des weißen Rauschens.
  • In 21 ist die Häufigkeit der Ausbildungen bzw. des Lernens oder der Lernvorgänge n auf n = 0 beim Schritt S10 zur Initialisierung festgelegt. Bei einem Fehler D0 = ∞ ist die maximale Häufigkeit des Lernens bzw. der Lernvorgänge auf nmax festgelegt, und ein Schwellwert ε, der den Ausbildungs- bzw. Lernendzustand festlegt, wird gesetzt.
  • Beim nächsten Schritt S11 wird das Ausgangs- bzw. Anfangs-Codebuch durch Klemmen des weißen Rauschens erzeugt. Beim Schritt S12 wird ein Teil der Codevektoren als nicht-lernende Codevektoren festgelegt.
  • Beim nächsten Schritt S13 erfolgt eine Codierung im obigen Codebuch. Beim Schritt S14 wird der Fehler berechnet. Beim Schritt S15 wird entschieden, ob (Dn-1 – Dn/Dn) < ε oder n = nmax vorliegt.
  • Falls das Ergebnis JA lautet, wird die Verarbeitung beendet. Falls das Ergebnis NEIN lautet, geht die Verarbeitung weiter zum Schritt 516.
  • Beim Schritt S16 werden die nicht für die Codierung genutzten Codevektoren verarbeitet. Beim nächsten Schritt 517 werden die Code-Bücher aktualisiert. Beim Schritt S18 wird die Anzahl bzw. Häufigkeit des Lernens bzw. der Lernvorgänge n erhöht, bevor zum Schritt S13 zurückgekehrt wird.
  • Nunmehr wird in dem Sprachcodierer gemäß 3 ein spezifiziertes Beispiel der Stimmhaft-/Stimmlos-(V/UV)-Diskriminierungseinheit 115 erläutert.
  • Die V/UV-Diskriminierungseinheit 115 führt eine V/UV-Diskriminierung eines Rahmens auf der Grundlage eines Ausgangssignals der orthogonalen Transformationsschaltung 145, einer optimalen Tonhöhe von der hochgenauen Tonhöhen-Sucheinheit 146, der Spektral-Amplitudendaten von der Spektral-Bewertungseinheit 148, eines maximalen normierten Autokorrelationswertes r(p) von der offenen Schleifen-Tonhöhen-Sucheinheit 141 und eines Nulldurchgangs-Zählwertes von dem Nulldurchgangs-Zähler 412 aus. Die Grenzposition der band-basierten Ergebnisse der V/UV-Entscheidung, die ähnlich jenen sind, die für MBE verwendet sind, werden ebenfalls als eine der Bedingungen für den gegenständlichen Rahmen genutzt.
  • Die Bedingung bzw. der Zustand zur V/UV-Diskriminierung für die MBE unter Heranziehung der Ergebnisse der band-basierten V/UV-Diskriminierung wird nunmehr erläutert.
  • Der Parameter oder die Amplitude |Am|, der bzw. die die Größe der m-ten Oberwellen im Falle von MBE angibt, kann dargestellt werden durch
  • Figure 00950001
  • In dieser Gleichung stellt |S(j)| ein Spektrum dar, das durch eine DFT-Verarbeitung der LPC-Reste erhalten wird, und |E(j)| stellt das Spektrum des Grund- bzw. Basissignals dar, speziell ein 256-Punkt-Hamming-Fenster, während am, bm untere bzw. obere Grenzwerte sind, dargestellt durch einen Index j der Frequenz entsprechend dem m-ten Band, welches seinerseits den m-ten Oberwellen entspricht. Für eine band-basierte V/UV-Diskriminierung wird ein Störabstand (NSR) angewandt. Das NSR-Verhältnis des m-ten Bandes ist dargestellt durch
  • Figure 00950002
  • Falls der NSR-Wert größer ist als ein zuvor festgelegter Schwellwert, wie 0,3, das heißt dann, wenn ein Fehler größer ist, kann entschieden werden, dass die Approximation von |S(j)| durch |Am| |E(j)| in dem betreffenden Band nicht gut ist, das heißt dass das Erregungssignal |E(j)| als Grundlage nicht geeignet ist. Damit wird das betreffende Band als stimmlos (UV) bestimmt. Andererseits kann in dem Fall, dass entschieden wird, dass die Approximation ziemlich gut erfüllt worden ist, das betreffende Band folglich als stimmhaft (V) bestimmt werden.
  • Es sei darauf hingewiesen, dass der NSR-Wert der jeweiligen Bänder (Oberwellen) eine Ähnlichkeit der Oberwellen von einer Oberwelle zur anderen zeigt. Die Summe der hinsichtlich der Verstärkung gewichteten Oberwellen des NSR-Wertes ist definiert als NSRall durch: NSRall = (Σm|Am|NSRm)/(Σm|Am|)
  • Die für die V/UV-Diskriminierung angewandte Regel-Grundlage wird in Abhängigkeit davon bestimmt, ob diese spektrale Ähnlichkeit NSRall größer oder kleiner als ein bestimmter Schwellwert ist. Dieser Schwellwert ist hier auf ThNSR = 0,3 festgelegt. Die Regelgrundlage hat mit dem maximalen Wert der Autokorrelation der LPC-Reste, der Rahmenleistung und dem Nulldurchgang zu tun. Im Falle der Regelgrundlage, die für NSRall < ThNSR angewandt wird, wird der betreffende Rahmen zu V und UV, falls die Regel angewandt wird bzw. falls es keine anwendbare Regel gibt.
  • Eine spezifizierte Regel lautet wie folgt:
    Für NSRall < THNSR ist dann, wenn
    numZero XP < 24, frmPow > 340 und r0 > 0,32 vorliegt, der betreffende Rahmen V.
  • Für NSRall ≥ THNSR gilt,
    dass dann, wenn
    numZero XP > 30 frmPow < 900 und r0 > 0,23 vorliegen, der betreffende Rahmen UV ist.
  • Hierbei sind die betreffenden Variablen wie folgt festgelegt:
    numZeroXP: Anzahl der Nulldurchgänge pro Rahmen
    frmPow: Rahmenleistung
    r0: maximaler Wert der Autokorrelation.
  • Die Regel stellt einen Satz von spezifizierten Regeln dar, wie jene, die oben angegeben worden sind, und die zur Vornahme der V/UV-Diskriminierung konsultiert werden.
  • Der Aufbau der wesentlichen Teile und die Arbeitsweise des Sprachsignaldecoders gemäß 4 werden nunmehr in weiteren Einzelheiten erläutert.
  • Die Invers-Vektor-Quantisiereinrichtung 212 zur Quantisierung der spektralen Hüllkurve, eine Invers-Vektor-Quantisiereinrichtungskonfiguration entsprechend der Vektor-Quantisiereinrichtung des Sprachcodierers wird angewandt.
  • Falls beispielsweise die Vektor-Quantisierung durch den in 12 dargestellten Aufbau angewandt wird, liest die Entscheiderseite die Codevektoren s0, s1 aus, und die Verstärkung g aus den Form-Codebüchern CB0 und CB1 bzw. aus dem Verstärkungs-Codebuch DBg aus, wobei die betreffenden Vektoren als Vektoren einer festen Dimension von g(s0 + s1), wie als 44-Dimension, entnommen werden, um in Vektoren variabler Dimension entsprechend der Zahl der Dimensionen des Vektors des ursprünglichen Oberwellenspektrums umgesetzt zu werden (feste/variable Dimensions-Umsetzung).
  • Falls der Codierer den Aufbau einer Vektor-Quantisiereinrichtung zur Summierung des festen Dimensions-Codevektors zu dem variablen Dimensions-Codevektor aufweist, wie dies in 14 bis 17 veranschaulicht ist, wird der aus dem Codebuch für die variable Dimension ausgelesene Codevektor (Codebuch CB0 gemäß 14) einer festen/variablen Dimensionsumsetzung unterzogen und zu einer Anzahl der Codevektoren für eine feste Dimension summiert, die aus dem Codebuch für die feste Dimension (Codebuch CB1 in 14) ausgelesen sind, und zwar entsprechend der Anzahl der Dimensionen von dem unteren Bereich der Oberwellen. Die resultierende Summe wird abgenommen.
  • Das LPC-Synthesefilter 214 gemäß 4 ist in das Synthesefilter 236 für die stimmhafte Sprache (V) und in das Synthesefilter 237 für die stimmlose Sprache (UV) aufgeteilt, wie dies zuvor erläutert worden ist. Falls die LSP-Werte kontinuierlich alle 20 Abtastproben interpoliert werden, das heißt alle 2,5 ms, ohne dass das Synthesefilter eine V/UV-Unterscheidung vornimmt, werden die LSP-Werte von gänzlich unterschiedlichen Eigenschaften an den Übergangsbereichen V zu UV oder UV zu V interpoliert. Das Ergebnis besteht darin, dass LPC von UV und V als Reste von V bzw. UV genutzt werden, so dass die Neigung zur Erzeugung eines fremden bzw. merkwürdigen Klanges gegeben ist. Zur Verhinderung des Auftretens derartiger nachteiliger Effekte ist das LPC-Synthesefilter in V und UV aufgeteilt, und eine LPC-Koeffizienteninterpolation wird unabhängig für V und UV ausgeführt.
  • Nunmehr wird das Verfahren zur Koeffizienteninterpolation der LPC-Filter 236, 237 in diesem Falle erläutert. Genauer gesagt wird die LSP-Interpolation in Abhängigkeit vom V/UV-Zustand umgeschaltet, wie dies in 22 veranschaulicht ist.
  • Unter Heranziehung eines Beispiels der LPC-Analyse 10. Ordnung ist das gleiche Intervall LSP in 22 ein solches LSP-Intervall, welches α-Parametern für eine flache Filtercharakteristik entspricht, und die Verstärkung ist gleich 1, das heißt es gilt α0 = 1, α1 = α2 = ... = α10 = 0, mit 0 ≤ α ≤ 10.
  • Eine derartige LPC-Analyse 10. Ordnung, das heißt ein LSP 10. Ordnung stellt die LSP entsprechend einem vollständig flachen Spektrum dar, wobei LSPs in gleichen Intervallen an 11 in gleichen Abständen voneinander vorgesehenen Positionen zwischen 0 und n angeordnet sind, wie dies in 23 dargestellt ist. In einem solchen Fall weist die Verstärkung des gesamten Bandes des Synthesefilters eine minimale Durchgangscharakteristik zu diesem Zeitpunkt auf.
  • 24 zeigt schematisch die Art und Weise einer Verstärkungsänderung. Genauer gesagt zeigt 24, wie die Verstärkung von 1/Huv(z) und die Verstärkung von 1/Hv(Z) während des Übergangs vom stimmlosen (UV) Anteil bzw. Bereich zum stimmhaften (V) Anteil bzw. Bereich geändert wird.
  • Im Hinblick auf die Interpolationseinheit sind es 2,5 ms (20 Abtastproben) für den Koeffizienten von 1/Hv(Z), während es 10 ms (80 Abtastproben) für die Bitraten von 2 kbps und 5 ms (40 Abtastproben) für die Bitrate von 6 kbps für den Koeffizienten von 1/HHuv(z) sind. Im Hinblick auf UV kann mit Rücksicht darauf, dass die zweite Codierungseinheit 120 einen Wellenform-Abgleich bzw. -Vergleich unter Anwendung des Verfahrens der Analyse durch Synthese ausführt, die Interpolation mit den LSPs der benachbarten V-Bereiche ohne Ausführung einer Interpolation bei gleichen Intervallen LSPs ausgeführt werden. Es sei darauf hingewiesen, dass bei der Codierung des UV-Anteils in dem zweiten Codierungsabschnitt bzw. -bereich 120 das Null-Eingangs-Antwortsignal dadurch auf Null gesetzt wird, dass der innere Zustand des 1/A(z)-gewichteten Synthesefilters 122 in dem Übergangsbereich von V zu UV gelöscht wird.
  • Die Ausgangssignale dieser LPC-Synthesefilter 236, 237 werden an die unabhängig vorgesehenen Nachfilter 238u, 238v abgegeben. Die Intensität und der Frequenzgang der Nachfilter sind auf unterschiedliche Werte für V und UV dadurch festgelegt, dass die Intensität und der Frequenzgang der Nachfilter auf unterschiedliche Werte für V und UV festgelegt bzw. eingestellt sind.
  • Die Fensterfestlegung der bzw. für die Übergangsbereiche zwischen den V- und UV-Anteilen der LPC-Restsignale, das heißt die Erregung als LPC-Synthesefilter-Eingangssignal wird nunmehr erläutert. Diese Fensterfestlegung wird durch die sinusförmige Syntheseschaltung 215 der Stimmhaft-Sprachsyntheseeinheit 211 sowie durch die Fensterfestlegungsschaltung 223 der Stimmlos-Sprachsyntheseeinheit 220 vorgenommen, wie dies in 4 veranschaulicht ist. Das Verfahren zur Synthese des V-Anteiles der Erregung ist im Einzelnen in der JP-Patentanmeldung Nr. 4-91422 der Anmelderin erläutert, während das Verfahren zur schnellen Synthese des V-Anteiles der Erregung im Einzelnen in der JP-Patentanmeldung Nr. 6-198451 der Anmelderin erläutert ist. Bei der vorliegenden veranschaulichenden Ausführungsform wird dieses Verfahren der schnellen Synthese zur Erzeugung der Erregung des V-Anteiles unter Anwendung dieses schnellen Syntheseverfahrens angewandt.
  • In dem stimmhaften (V)-Teil, in welchem eine sinusförmige Synthese durch Interpolation unter Heranziehung des Spektrums der benachbarten Rahmen vorgenommen wird, können sämtliche Wellenformen zwischen den n-ten und (n + 1)-ten Rahmen erzeugt werden, wie dies in 25 dargestellt ist. Für den Signalanteil über den V- und UV-Bereichen, wie in dem (n + 1)-ten Rahmen und in dem (n + 2)-ten Rahmen in 25 oder für den Bereich über dem UV-Bereich und dem V-Bereich werden im UV-Bereich lediglich Daten von ±80 Abtastproben (eine Summe von insgesamt 160 Abtastproben ist gleich ein Rahmenintervall) codiert und decodiert. Das Ergebnis besteht darin, dass eine Fensterfestlegung jenseits eines Mittelpunkts CN zwischen benachbarten Rahmen auf der V-Seite vorgenommen wird, während sie vorgenommen wird, soweit der Mittelpunkt CN auf der UV-Seite betroffen ist, um die Verbindungsbereiche zu überlappen, wie dies in 26 veranschaulicht ist. Die umgekehrte Prozedur wird für den Übergangsbereich von UV zu V angewandt. Die Fensterfestlegung auf der V-Seite kann außerdem so sein, wie dies in 26 durch eine gestrichelte Linie dargestellt ist.
  • Die Rauschsynthese und die Rauschhinzufügung im stimmhaften (V)-Bereich wird erläutert. Diese Operationen werden durch die Rauschsyntheseschaltung 216, die Gewichtungs-Überlappungs- und -Addierschaltung 217 und durch den Addierer 218 gemäß 4 dadurch ausgeführt, dass zum stimmhaften Anteil bzw. Bereich des LPC-Restsignals das Rauschen hinzuaddiert wird, welches die fol genden Parameter in Verbindung mit der Erregung des stimmhaften Anteiles des LPC-Synthesefilter-Eingangssignals berücksichtigt.
  • Dies bedeutet, dass die obigen Parameter durch die Stimmhöhenverzögerung Pch, die Spektralamplitude Am[i] des stimmhaften Lautes, die maximale Spektralamplitude Amax in einem Rahmen und dem Restsignalpegel Lev aufgezählt werden können. Die Tonhöhenverzögerung Pch ist die Anzahl der Abtastproben in einer Tonhöhenperiode für eine zuvor festgelegte Abtastfrequenz fs, wie für fs = 8 kHz, während i in der Spektralamplitude Am[i] eine ganze Zahl ist, so dass 0 < i < I für die Anzahl von Oberwellen im Band von fs/2 gleich I = Pch/2 gilt.
  • Die Verarbeitung durch diese Rauschsyntheseschaltung 216 wird in beinahe derselben Art und Weise wie bei der Synthese des stimmlosen Lautes ausgeführt, beispielsweise durch eine Multibandcodierung (MBE). 27 veranschaulicht ein spezifiziertes Ausführungsbeispiel der Rauschsyntheseschaltung 216.
  • Dies bedeutet, dass gemäß 27 ein weißes Rauschen erzeugender Rauschgenerator 401 das Gaußsche Rauschen bzw. weißes Rauschen abgibt, welches dann mittels der Kurzterm-Fouriertransformation (STFT) in einem STFT-Prozessor 402 verarbeitet wird, um ein Leitungsspektrum des Rauschens auf der Frequenzachse zu erzeugen. Das Gaußsche bzw. weiße Rauschen ist die weiße Rauschsignalwellenform im Zeitbereich; es wird durch eine geeignete Fensterfestlegungsfunktion im Fenster festgelegt, wie durch ein Hamming-Fenster mit einer zuvor festgelegten Länge, wie mit 256 Abtastproben. Das Leistungsspektrum von dem STFT-Prozessor 402 wird zur Amplitudenverarbeitung zu einer Multipliziereinrichtung 403 übertragen, um mit einem Ausgangssignal der Rauschamplituden-Steuerschaltung 410 multipliziert zu werden. Ein Ausgangssignal des Verstärkers 403 wird an einen Invers-STFT-(ISTFT)- Prozessor 404 abgegeben, in welchem eine ISTFT-Verarbeitung unter Heranziehung der Phase des ursprünglichen weißen Rauschens als Phase für die Umsetzung in ein Zeitbereichssignal vorgenommen wird. Ein Ausgangssignal des ISTFT-Prozessors 404 wird an eine eine gewichtete Überlappungs-Addition vornehmende Schaltung 217 abgegeben.
  • Bei der Ausführungsform gemäß 27 wird Rauschen im Zeitbereich von dem weißes Rauschen erzeugenden Rauschgenerator 401 erzeugt und mittels orthogonaler Transformation, wie mittels der STFT-Transformation zur Erzeugung des Rauschens im Frequenzbereich verarbeitet. Alternativ kann das Rauschen im Frequenzbereich auch direkt durch den Rauschgenerator erzeugt werden. Durch direkte Erzeugung des Rauschens im Frequenzbereich können orthogonale Transformationsverarbeitungsoperationen, wie die Operationen STFT oder ISTFT eliminiert werden.
  • Genauer gesagt können ein Verfahren zur Erzeugung von Zufallszahlen in einen Bereich von ±x und zur Behandlung bzw. Verarbeitung der erzeugten Zufallszahlen als reelle und imaginären Anteile des FFT-Spektrums oder ein Verfahren zur Erzeugung von positiven Zufallszahlen im Bereich von 0 bis zu einer maximalen Zahl (max) zur Behandlung oder Verarbeitung als Amplitude des FFT-Spektrums und zur Erzeugung von Zufallszahlen im Bereich von –π bis +π und zur Behandlung bzw. Verarbeitung dieser Zufallszahlen als Phase des FFT-Spektrums angewandt werden.
  • Dies ermöglicht es, den STFT-Prozessor 402 gemäß 27 zu eliminieren, um den Aufbau zu vereinfachen oder um das Verarbeitungsvolumen zu verringern.
  • Die Rauschamplituden-Steuerschaltung 410 besitzt einen Grundaufbau, wie er beispielsweise in 28 gezeigt ist; sie ermittelt die synthetisierte Rauschamplitude Am_Rausch[i] durch Steuern des Multiplikationskoeffizienten in der Multipliziereinrichtung 403 auf der Grundlage der Spektralamplitude Am[i] des stimmhaften (V)-Klanges bzw. Lautes, der über einen Anschluss 411 von der Quantisiereinrichtung 212 der spektralen Hüllkurve gemäß 4 geliefert wird. Dies bedeutet, dass in 28 ein Ausgangssignal einer Rechenschaltung 416 zur Berechnung eines optimalen Rausch_Mischwertes, der die Spektralamplitude Am[i] und die Tonhöhenverzögerung Pch zugeführt werden, durch eine Rauschgewichtungsschaltung 417 gewichtet wird, und das resultierende Ausgangssignal wird einer Multipliziereinrichtung 418 zugeführt, um mit der Spektralamplitude Am[i] multipliziert zu werden, damit eine Rauschamplitude Am_Rausch[i] erzeugt wird.
  • Nunmehr wird als erste spezifizierte Ausführungsform für eine Rauschsynthese und -addition ein Fall erläutert, bei dem die Rauschamplitude Am_Rausch[i] eine Funktion von zwei der obigen vier Parameter wird, nämlich der Tonhöhenverzögerung Pch und der Spektralamplitude Am[i]. unter diesen Funktionen f1(Pch, Am[i]) sind
    f1(Pch, Am[i]) = 0, wobei 0 < i < Rausch_b × I) gilt,
    f1(Pch, Am[i]) = Am[i] × Rausch_Misch, wobei Rausch_b × I ≤ i < I gilt, und
    Rausch_Misch = K × Pch/2,0.
  • Es sei darauf hingewiesen, dass der Maximalwert von Rausch_max gegeben ist mit Rausch_Misch_max, bei dem eine Klemmung erfolgt. Als Beispiel sind K = 0,02, Rausch_Misch_max = 0,3 und Rausch_b = 0,7, wobei Rausch_b eine Konstante ist, die bestimmt, von welchem Teil des Gesamtbandes dieses Rauschen hinzuzufügen ist. Bei der vorliegenden Ausführungsform wird das Rauschen in einem Frequenzbereich hinzugefügt, der höher ist als die 70%-Position; dies heißt, dass dann, wenn fs = 8 kHz beträgt, das Rauschen in einem Bereich von 4000 × 0,7 = 2800 Hz hinzuaddiert wird, so weit dies 4000 Hz betrifft.
  • Nunmehr wird eine zweite spezifizierte Ausführungsform zur Rauschsynthese und -addition erläutert, bei der die Rauschamplitude Am_Rausch[i] eine Funktion f2(Pch, Am[i], Amax) von drei der vier Parameter ist, nämlich der Tonhöhenverzögerung Pch, der Spektralamplitude Am[i] und der maximalen Spektralamplitude Amax.
  • Unter diesen Funktionen f2(Pch, Am[i], Amax) sind:
    f2(Pch, Am[i], Amax) = 0, wobei 0 < i < Rausch_b × I) gilt,
    f1(Pch, Am[i], Amax) = Am[i] × Rausch_Misch, wobei Rausch_b × I ≤ i < I gilt, und
    Rausch_Misch = K × Pch/2,0.
  • Es sei darauf hingewiesen, dass der Maximalwert von Rausch_Misch gegeben ist mit Rausch_Misch_max und als Beispiel sind K = 0,02, Rausch_Misch_max = 0,3 und Rausch_b = 0,7 gegeben.
  • Falls Am[i] × Rausch_Misch > Amax × C × Rausch_Misch vorliegt, gilt f2(Pch, Am[i], Amax) = Amax × C × Rausch_Misch, wobei die Konstante C auf 0,3 (C = 0,3) festgelegt ist. Da der Pegel durch diese Bedingungsgleichung daran gehindert werden kann, übermäßig groß zu sein, können die obigen Werte von K und Rausch_Misch_max weiter erhöht werden, und der Rauschpegel kann weiter gesteigert werden, falls der Pegel des hohen Bereichs höher ist.
  • Als dritte spezifizierte Ausführungsform der Rauschsynthese und -addition kann die obige Rauschamplitude Am_Rausch[i] eine Funktion sämtlicher der obigen vier Parameter sein, das heißt f3(Pch, Am[i], Amax, Lev).
  • Spezifizierte Beispiele der Funktion f3(Pch, Am[i], An[max], Lev) sind grundsätzlich ähnlich jenen der obigen Funktion f2(Pch, Am[i], Amax). Der Restsignalpegel Lev stellt den quadratischen Mittelwert (RMS) der Zentralamplituden Am[i] oder des Signalpegels dar, wie er auf der Zeitachse gemessen wird. Der Unterschied zur zweiten spezifizierten Ausführungsform liegt darin, dass die Werte von K und Rausch_Misch_max so festgelegt sind, dass sie Funktionen Lev sind. Dies bedeutet, dass dann, wenn Lev größer oder kleiner ist, die Werte von K und Rausch_Misch_max auf größere bzw. kleinere Werte festgelegt werden. Alternativ kann der Wert von Lev so festgelegt werden, dass er umgekehrt proportional den Werten von K und Rausch_Misch_max ist.
  • Nunmehr werden die Nachfilter 238v, 238u erläutert.
  • 29 zeigt ein Nachfilter, welches als Nachfilter 238u, 238v bei der Ausführungsform gemäß 4 verwendet werden kann. Ein Spektrumformungsfilter 440 als wesentlicher Teil des Nachfilters besteht aus einem Formanten-Anhebungsfilter 441 und aus einem Anhebungsfilter 442 des hohen Bereiches. Ein Ausgangssignal des Spektrumformungsfilters 440 wird zu einer Verstärkungseinstellschaltung 443 übertragen, die imstande ist, Verstärkungsänderungen zu korrigieren, die durch die Spektrumsformung hervorgerufen werden. Die Verstärkungseinstellschaltung 443 wird in ihrer Verstärkung G durch eine Verstärkungssteuerschaltung 445 festgelegt, und zwar durch einen Vergleich eines Eingangssignals x mit einem Ausgangssignal y des Spektrumformungsfilters 440 zur Berechnung von Verstärkungsänderungen für die Berechnung von Korrekturwerten.
  • Falls die Koeffizienten des Nenners Hv(z) und Huv(z) des LPC-Synthesefilters, das sind die ∥-Parameter als αi ausgedrückt werden, dann kann die Charakteristik bzw. Kennlinie PF(z) des Spektrumformungsfilters 440 ausgedrückt werden durch:
  • Figure 01050001
  • Der Bruchteil bzw. Bruch dieser Gleichung repräsentiert die Kennlinie bzw. Charakteristik des Formanten-Anhebungsfilters, während der Anteil (1 – kz–1) die Charakteristik eines Anhebungsfilters des hohen Bereiches repräsentiert. Mit β, γ und k sind Konstanten bezeichnet, wie beispielsweise mit β = 0,6, γ = 0,8 und k = 0,3.
  • Die Verstärkung der Verstärkungseinstellschaltung 433 ist gegeben durch
  • Figure 01060001
  • In der obigen Gleichung repräsentieren x(i) und y(i) ein Eingangssignal bzw. ein Ausgangssignal des Spektrumformungsfilters 440.
  • Es sei darauf hingewiesen, dass, wie in 30 veranschaulicht, die Koeffizienten-Aktualisierungszeitspanne des Spektrumformungsfilters 440 gegeben ist mit 20 Abtastproben oder 2,5 ms, wie bei der Aktualisierungszeitspanne bzw. -periode für den α-Parameter, bei dem es sich um den Koeffizienten des LPC-Synthesefilters handelt; die Aktualisierungszeitspanne bzw. -periode der Verstärkung G der Verstärkungseinstellschaltung 443 ist gegeben mit 160 Abtastproben oder 20 ms.
  • Durch Festlegen der Koeffizienten-Aktualisierungszeitspanne des Spektrumformungsfilters 443 so, dass sie länger ist als jene des Koeffizienten des Spektrumformungsfilters 440 als Nachfilter, wird es möglich, nachteilige Effekte zu verhindern, die sonst durch Verstärkungseinstellschwankungen hervorgerufen werden.
  • Dies heißt, dass bei einem gattungsmäßigen Nachfilter die Koeffizienten-Aktualisierungszeitspanne des Spektrumformungsfilters so festgelegt wird bzw. ist, dass sie gleich der Verstärkungs-Aktualisierungszeitspanne ist. Falls die Verstärkungs-Aktualisierungszeitspanne so ausgewählt ist, dass sie 20 Abtastproben und 2,5 ms beträgt, werden Veränderungen in den Verstärkungswerten sogar in einer Tonhöhenperiode hervorgerufen, was das Klick-Geräusch erzeugt, wie dies in 30 veranschaulicht ist. Bei der vorliegenden Ausführungsform kann dadurch, dass die Verstärkungs-Schaltzeitspanne länger festgelegt wird, beispielsweise gleich einem Rahmen oder 160 Abtastproben oder 20 ms, das Auftreten von abrupten Verstärkungswertänderungen verhindert werden. Wenn umgekehrt die Aktualisierungszeitspanne der Spektrumformungsfilterkoeffizienten 160 Abtastproben oder 20 ms beträgt, können keine gleichmäßigen Änderungen in den Filtercharakteristiken hervorgerufen werden, womit nachteilige Auswirkungen in der synthetisierten Wellenform erzeugt werden. Durch Festlegen der Filterkoeffizienten-Aktualisierungszeitspanne auf kürzere Werte von 20 Abtastproben oder 2,5 ms wird es indessen möglich, eine effektivere Nachfilterung zu realisieren.
  • Durch eine Verstärkungs-Übergangsverarbeitung zwischen benachbarten Rahmen werden der Filterkoeffizient und die Verstärkung des vorangehenden Rahmens und jene Werte des gegenwärtigen Rahmens mittels eines dreieckförmigen Fensters von W(i) = i/20(0 ≤ i ≤ 20) und1 – W(i), wobei 0 ≤ i ≤ 20 gilt, für ein Einblenden und Ausblenden multipliziert, und die resultierenden Ergebnisse werden zusammen summiert. 31 zeigt, wie die Verstärkung G1 des vorangehenden Rahmens mit der Verstärkung G1 des gegenwärtigen Rahmens verschmilzt. Genauer gesagt wird der Anteil der Nutzung der Verstärkung und der Filterkoeffizienten des vorangehenden Rah mens allmählich verringert, während der Anteil der Nutzung der Verstärkung und der Filterkoeffizienten des gegenwärtigen Filters allmählich erhöht wird. Die inneren Zustände des Filters für den gegenwärtigen Rahmen und jene für den vorhergehenden Rahmen zu einem Zeitpunkt T gemäß 31 beginnen von denselben Zuständen, das heißt von den Endzuständen des vorangehenden Rahmens.
  • Die oben beschriebene Signalcodierungs- und Signaldecodierungsvorrichtung kann als Sprach-Codebuch genutzt werden, welches beispielsweise als transportables Kommunikationsterminal oder als transportables Telefonset verwendet wird, wie dies in 32 und 33 veranschaulicht ist.
  • 32 zeigt eine Sendeseite eines transportablen Terminals bzw. Endgeräts unter Verwendung einer Sprachcodierungseinheit 160, die so aufgebaut bzw. konfiguriert ist, wie dies in 1 und 3 gezeigt ist. Die von einem Mikrofon 161 aufgenommenen Sprachsignale werden mittels eines Verstärkers 162 verstärkt und durch einen Analog-/Digital-A/D-Wandler 163 in digitale Signale umgesetzt, die zu der Sprachcodierungseinheit 160 hin geleitet werden, welche so aufgebaut ist, wie dies in 1 und 3 veranschaulicht ist. Die digitalen Signale von dem A/D-Wandler 163 werden dem Eingangsanschluss 101 zugeführt. Die Sprachcodierungseinheit 160 führt eine Codierung aus, wie sie in Verbindung mit 1 und 3 erläutert worden ist. Die Ausgangssignale an Ausgangsanschlüssen gemäß 1 und 2 werden als Ausgangssignale der Sprachcodierungseinheit 160 an eine Übertragungskanal-Codierungseinheit 164 abgegeben, die sodann eine Kanalcodierung bezüglich der zugeführten Signale ausführt. Die Ausgangssignale der Übertragungskanal-Codierungseinheit 164 werden zu einer Modulationsschaltung 165 zur Modulation übertragen und sodann über einen Digital/Analog-(D/A)-Wandler 166 und einen HF-Verstärker 167 an eine Antenne 168 abgegeben.
  • 33 zeigt eine Empfangsseite des transportablen Terminals bzw. Endgeräts unter Verwendung einer Sprachdecodierungseinheit 260, die so aufgebaut bzw. konfiguriert ist, wie dies in 2 und 4 veranschaulicht ist. Die Sprachsignale, die von der Antenne 261 gemäß 33 empfangen werden, werden in einem HF-Verstärker 262 verstärkt und über einen Analog-/Digital-(A/D)-Wandler 263 an eine Demodulationsschaltung 264 abgegeben, von der demodulierte Signale zu einer Übertragungskanal-Decodierungseinheit 265 übertragen werden. Ein Ausgangssignal des Decodierungseinheit 265 wird an eine Sprachdecodierungseinheit 260 abgegeben, die so aufgebaut bzw. konfiguriert ist, wie dies in 2 und 4 gezeigt ist. Die Sprachdecodierungseinheit 260 decodiert die Signale in einer Art und Weise, wie dies in Verbindung mit 2 und 4 erläutert worden ist. Ein Ausgangssignal an einem Ausgangsanschluss 201 gemäß 2 und 4 wird als Signal der Sprachdecodierungseinheit 260 zu einem Digital/Analog-(D/A)-Wandler 266 übertragen. Ein analoges Sprachsignal von dem D/A-Wandler 266 wird an einen Lautsprecher 268 abgegeben.
  • Die vorliegende Erfindung ist auf die oben beschriebenen Ausführungsformen nicht beschränkt. So kann beispielsweise der Aufbau auf der Sprachanalyseseite (Codierer) gemäß 1 und 3 oder auf der Sprachsyntheseseite (Decoder) gemäß 2 und 4, der oben als Hardware beschrieben worden ist, mittels eines Software-Programms unter Verwendung beispielsweise eines digitalen Signalprozessors (DSP) realisiert werden bzw. sein. Die Synthesefilter 236, 237 oder die Nachfilter 238v, 238u auf der Decodierungsseite können als ein einziges LPC-Synthesefilter oder als ein einziges Nachfilter ohne eine Aufteilung in solche Filter für die stimmhafte Laute oder die stimmlose Laute ausgelegt werden bzw. sein. Die vorliegende Erfindung ist außerdem nicht auf die Übertragung oder Aufzeichnung/Wiedergabe beschränkt; sie kann bei einer Vielzahl von Anwendungen angewandt werden, wie zur Tonhöhenumsetzung, Geschwindigkeitsumsetzung, Synthese der computerisierten Sprache oder zur Rauschunterdrückung bzw. zur Geräuschunterdrückung.

Claims (6)

  1. Sprachcodierungsverfahren, bei dem ein eingangsseitiges Sprachsignal auf der Zeitachse hinsichtlich zuvor festgelegter Codierungseinheiten aufgeteilt und hinsichtlich der zuvor festgelegten Codierungseinheiten codiert wird, umfassend die Schritte: Feststellen von Spektralkomponenten der Harmonischen durch sinusförmige Analyse eines aus dem eingangsseitigen Sprachsignal abgeleiteten Signals und Vektorquantisierung eines Satzes von Parametern, die aus auf Codierungseinheit basierten Spektralkomponenten der Harmonischen als ein Eingangsvektor für die Codierung abgeleitet sind, wobei die genannte Vektorquantisierung enthält: einen Vorauswahlschritt zum Feststellen eines Grades an Ähnlichkeit zwischen dem Eingangsvektor und sämtlichen in einem Codebuch gespeicherten Codevektoren zur Auswahl einer Vielzahl von Codevektoren, die einen hohen Grad an Ähnlichkeit zeigen, und einen Endauswahlschritt zur Auswahl eines solchen Codevektors aus den durch den genannten Vorauswahlschritt ausgewählten Codevektoren, der einen Fehler in Bezug auf den Eingangsvektor minimiert, dadurch gekennzeichnet, dass als der genannte Grad an Ähnlichkeit ein gewichtetes inneres Produkt des Eingangsvektors und des genannten Codevektors herangezogen wird, der durch eine Norm des Codevektors geteilt wird, welcher mit einem Gewichtswert entsprechend einer Energie gewichtet ist, die zum Bereich niedriger Frequenz des Parameters auf der Frequenzachse konzentriert und zum Bereich hoher Frequenz hin abgesenkt ist.
  2. Verfahren nach Anspruch 1, wobei der genannte Eingangsvektor der Vektor eines Parameters auf der Frequenzachse ist, der aus einem Sprachsignal abgeleitet ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei das genannte gewichtete innere Produkt ein variabel gewichtetes inneres Produkt ist und wobei der genannte Gewichtswert ein festliegender Gewichtswert ist.
  4. Sprachcodierungsvorrichtung, in der ein eingangsseitiges Sprachsignal auf der Zeitachse hinsichtlich zuvor festgelegter Codierungseinheiten unterteilt und hinsichtlich der zuvor festgelegten Codierungseinheiten codiert ist, umfassend: eine Prädiktions-Codierungseinrichtung (110) zum Feststellen von Kurzzeit-Prädiktionsresten des eingangsseitigen Sprachsignals und eine eine sinusförmige analytische Codierung ausführende Codierungseinrichtung (114) zur Verarbeitung der so mit der bzw. durch die sinusförmige analytische Codierung ermittelten Kurzzeit-Prädiktionsreste, wobei die genannte eine sinusförmige analytische Codierung ausführende Codierungseinrichtung eine Vektor-Quantisierungseinrichtung (116) aufweist, die durch Approximation einen Grad an Ähnlichkeit zwischen einem Eingangsvektor, der ein Satz von Parametern ist, welche von den Spektralkomponenten der Harmonischen abgeleitet sind, die durch sinusförmige Analyse erhalten sind bzw. werden, und sämtlichen in einem Codebuch gespeicherten Codevektoren zur Vorauswahl einer Vielzahl von Codevektoren feststellt, die einen hohen Grad an Ähnlichkeit zeigen, wobei die genannte Vektor-Quantisierungseinrichtung einen der vorausgewählten Codevektoren auswählt, der einen Fehler in Bezug auf den genannten Eingangsvektor minimiert, dadurch gekennzeichnet, dass als der genannte Grad an Ähnlichkeit ein gewichtetes inneres Produkt des Eingangsvektors und des genannten Codevektors verwendet wird, der durch eine Norm des Codevektors geteilt ist, welcher mit ei nem Gewichtswert entsprechend einer Energie gewichtet ist, die zum Bereich niedriger Frequenz des Parameters auf der Frequenzachse konzentriert und zum Bereich hoher Frequenz hin abgesenkt ist.
  5. Vorrichtung nach Anspruch 4, wobei der genannte Eingangsvektor der Vektor eines Parameters auf der Frequenzachse ist, der aus einem Sprachsignal abgeleitet ist.
  6. Vorrichtung nach Anspruch 4 oder 5, wobei das genannte gewichtete innere Produkt ein variabel gewichtetes inneres Produkt ist und wobei der genannte Gewichtswert ein festliegender Gewichtswert ist.
DE69726525T 1996-09-24 1997-09-23 Verfahren und Vorrichtung zur Vektorquantisierung und zur Sprachkodierung Expired - Lifetime DE69726525T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP25161496 1996-09-24
JP25161496A JP3707153B2 (ja) 1996-09-24 1996-09-24 ベクトル量子化方法、音声符号化方法及び装置

Publications (2)

Publication Number Publication Date
DE69726525D1 DE69726525D1 (de) 2004-01-15
DE69726525T2 true DE69726525T2 (de) 2004-09-30

Family

ID=17225449

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69726525T Expired - Lifetime DE69726525T2 (de) 1996-09-24 1997-09-23 Verfahren und Vorrichtung zur Vektorquantisierung und zur Sprachkodierung

Country Status (9)

Country Link
US (1) US6611800B1 (de)
EP (1) EP0831457B1 (de)
JP (1) JP3707153B2 (de)
KR (1) KR100543982B1 (de)
CN (1) CN1145142C (de)
DE (1) DE69726525T2 (de)
ID (1) ID18313A (de)
MY (1) MY120520A (de)
TW (1) TW360859B (de)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3784583B2 (ja) * 1999-08-13 2006-06-14 沖電気工業株式会社 音声蓄積装置
CA2290037A1 (en) * 1999-11-18 2001-05-18 Voiceage Corporation Gain-smoothing amplifier device and method in codecs for wideband speech and audio signals
AU2001239077A1 (en) * 2000-03-15 2001-09-24 Digital Accelerator Corporation Coding of digital video with high motion content
HUP0003009A2 (en) * 2000-07-31 2002-08-28 Herterkom Gmbh Method for the compression of speech without any deterioration of quality
US7020605B2 (en) * 2000-09-15 2006-03-28 Mindspeed Technologies, Inc. Speech coding system with time-domain noise attenuation
EP1338001B1 (de) * 2000-11-03 2007-02-21 Koninklijke Philips Electronics N.V. Kodierung von audiosignalen
AU2002218501A1 (en) * 2000-11-30 2002-06-11 Matsushita Electric Industrial Co., Ltd. Vector quantizing device for lpc parameters
US7644003B2 (en) 2001-05-04 2010-01-05 Agere Systems Inc. Cue-based audio coding/decoding
US8605911B2 (en) 2001-07-10 2013-12-10 Dolby International Ab Efficient and scalable parametric stereo coding for low bitrate audio coding applications
SE0202159D0 (sv) 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
US7110942B2 (en) * 2001-08-14 2006-09-19 Broadcom Corporation Efficient excitation quantization in a noise feedback coding system using correlation techniques
US7617096B2 (en) * 2001-08-16 2009-11-10 Broadcom Corporation Robust quantization and inverse quantization using illegal space
US7647223B2 (en) 2001-08-16 2010-01-12 Broadcom Corporation Robust composite quantization with sub-quantizers and inverse sub-quantizers using illegal space
US7610198B2 (en) 2001-08-16 2009-10-27 Broadcom Corporation Robust quantization with efficient WMSE search of a sign-shape codebook using illegal space
DE60202881T2 (de) 2001-11-29 2006-01-19 Coding Technologies Ab Wiederherstellung von hochfrequenzkomponenten
US7206740B2 (en) * 2002-01-04 2007-04-17 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
US7275036B2 (en) * 2002-04-18 2007-09-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
FR2839836B1 (fr) * 2002-05-16 2004-09-10 Cit Alcatel Terminal de telecommunication permettant de modifier la voix transmise lors d'une communication telephonique
SE0202770D0 (sv) 2002-09-18 2002-09-18 Coding Technologies Sweden Ab Method for reduction of aliasing introduces by spectral envelope adjustment in real-valued filterbanks
WO2004084467A2 (en) * 2003-03-15 2004-09-30 Mindspeed Technologies, Inc. Recovering an erased voice frame with time warping
JP2005202262A (ja) * 2004-01-19 2005-07-28 Matsushita Electric Ind Co Ltd 音声信号符号化方法、音声信号復号化方法、送信機、受信機、及びワイヤレスマイクシステム
CN1906855B (zh) * 2004-01-30 2014-04-02 法国电信 空间矢量和可变分辨率量化
US7805313B2 (en) 2004-03-04 2010-09-28 Agere Systems Inc. Frequency-based coding of channels in parametric multi-channel coding systems
ES2945463T3 (es) * 2004-04-05 2023-07-03 Koninklijke Philips Nv Método de codificación de señales de entrada de audio izquierda y derecha, codificador, decodificador y producto de programa informático correspondientes
WO2006006528A1 (ja) * 2004-07-09 2006-01-19 Nippon Telegraph And Telephone Corporation 音響信号検出システム、音響信号検出サーバ、映像信号探索装置、映像信号探索方法、映像信号探索プログラムと記録媒体、信号探索装置、信号探索方法、及び、信号探索プログラムと記録媒体
US7937271B2 (en) * 2004-09-17 2011-05-03 Digital Rise Technology Co., Ltd. Audio decoding using variable-length codebook application ranges
US20060080090A1 (en) * 2004-10-07 2006-04-13 Nokia Corporation Reusing codebooks in parameter quantization
US7720230B2 (en) 2004-10-20 2010-05-18 Agere Systems, Inc. Individual channel shaping for BCC schemes and the like
US8204261B2 (en) 2004-10-20 2012-06-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Diffuse sound shaping for BCC schemes and the like
US7983904B2 (en) * 2004-11-05 2011-07-19 Panasonic Corporation Scalable decoding apparatus and scalable encoding apparatus
EP2752849B1 (de) * 2004-11-05 2020-06-03 Panasonic Intellectual Property Management Co., Ltd. Encoder und Kodierungsverfahren
KR20070109982A (ko) * 2004-11-09 2007-11-15 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 코딩 및 디코딩
KR101215868B1 (ko) 2004-11-30 2012-12-31 에이저 시스템즈 엘엘시 오디오 채널들을 인코딩 및 디코딩하는 방법, 및 오디오 채널들을 인코딩 및 디코딩하는 장치
WO2006060278A1 (en) 2004-11-30 2006-06-08 Agere Systems Inc. Synchronizing parametric coding of spatial audio with externally provided downmix
KR100707174B1 (ko) * 2004-12-31 2007-04-13 삼성전자주식회사 광대역 음성 부호화 및 복호화 시스템에서 고대역 음성부호화 및 복호화 장치와 그 방법
US7903824B2 (en) 2005-01-10 2011-03-08 Agere Systems Inc. Compact side information for parametric coding of spatial audio
JP4761506B2 (ja) * 2005-03-01 2011-08-31 国立大学法人北陸先端科学技術大学院大学 音声処理方法と装置及びプログラム並びに音声システム
US20060235685A1 (en) * 2005-04-15 2006-10-19 Nokia Corporation Framework for voice conversion
US20080161057A1 (en) * 2005-04-15 2008-07-03 Nokia Corporation Voice conversion in ring tones and other features for a communication device
EP1955321A2 (de) * 2005-11-30 2008-08-13 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Effiziente sprach-strom-umsetzung
US7660371B2 (en) * 2006-09-07 2010-02-09 Intel Corporation Normalized auto-correlators
KR101131880B1 (ko) * 2007-03-23 2012-04-03 삼성전자주식회사 오디오 신호의 인코딩 방법 및 장치, 그리고 오디오 신호의디코딩 방법 및 장치
ATE500588T1 (de) * 2008-01-04 2011-03-15 Dolby Sweden Ab Audiokodierer und -dekodierer
FR2931964A1 (fr) * 2008-06-02 2009-12-04 Centre Nat Rech Scient Procede de denombrement des vecteurs dans les reseaux reguliers de points.
CA2729751C (en) * 2008-07-10 2017-10-24 Voiceage Corporation Device and method for quantizing and inverse quantizing lpc filters in a super-frame
CN101430881B (zh) * 2008-11-10 2013-04-17 华为技术有限公司 一种编码、解码、编解码方法、编解码系统以及相关装置
CN102906812B (zh) * 2010-04-08 2016-08-10 Lg电子株式会社 处理音频信号的方法和装置
US9236063B2 (en) * 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
CN103443856B (zh) 2011-03-04 2015-09-09 瑞典爱立信有限公司 音频编码中的后量化增益校正
PL2727106T3 (pl) * 2011-07-01 2020-03-31 Nokia Technologies Oy Wieloskalowe wyszukiwanie w książce kodów
US9020818B2 (en) 2012-03-05 2015-04-28 Malaspina Labs (Barbados) Inc. Format based speech reconstruction from noisy signals
US9437213B2 (en) 2012-03-05 2016-09-06 Malaspina Labs (Barbados) Inc. Voice signal enhancement
US9384759B2 (en) 2012-03-05 2016-07-05 Malaspina Labs (Barbados) Inc. Voice activity detection and pitch estimation
CN105745705B (zh) * 2013-10-18 2020-03-20 弗朗霍夫应用科学研究促进协会 编码和解码音频信号的编码器、解码器及相关方法
JP6366705B2 (ja) * 2013-10-18 2018-08-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 確定的及びノイズ状情報を用いてオーディオ信号を符号化/復号化する概念
NZ726879A (en) * 2014-07-28 2017-10-27 ERICSSON TELEFON AB L M (publ) Pyramid vector quantizer shape search
CA2991341A1 (en) 2015-07-06 2017-01-12 Nokia Technologies Oy Bit error detector for an audio signal decoder
CN108388942A (zh) * 2018-02-27 2018-08-10 四川云淞源科技有限公司 基于大数据的信息智能处理方法
USD883015S1 (en) 2018-08-09 2020-05-05 Sharkninja Operating Llc Food preparation device and parts thereof
CN111143597B (zh) * 2019-12-13 2023-06-20 浙江大华技术股份有限公司 图像检索方法、终端及存储装置
CN111247581B (zh) * 2019-12-23 2023-10-10 深圳市优必选科技股份有限公司 一种多语言文本合成语音方法、装置、设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307441A (en) 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
CA2091754C (en) * 1990-09-28 2002-01-29 Patrick W. Elliot Method of, and system for, coding analogue signals
JP3148322B2 (ja) * 1992-01-24 2001-03-19 株式会社日立製作所 音声認識装置
JP3471889B2 (ja) * 1994-04-01 2003-12-02 株式会社東芝 音声符号化方法及び装置
JP3224955B2 (ja) * 1994-05-27 2001-11-05 株式会社東芝 ベクトル量子化装置およびベクトル量子化方法
CA2159571C (en) * 1994-09-30 2000-03-14 Kimio Miseki Vector quantization apparatus
JPH08179796A (ja) * 1994-12-21 1996-07-12 Sony Corp 音声符号化方法
JP3285072B2 (ja) * 1994-12-28 2002-05-27 日本電信電話株式会社 重み付きベクトル量子化法
US5890110A (en) * 1995-03-27 1999-03-30 The Regents Of The University Of California Variable dimension vector quantization
JP3747492B2 (ja) * 1995-06-20 2006-02-22 ソニー株式会社 音声信号の再生方法及び再生装置
JP3680380B2 (ja) 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
EP0788091A3 (de) * 1996-01-31 1999-02-24 Kabushiki Kaisha Toshiba Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung
US5778335A (en) * 1996-02-26 1998-07-07 The Regents Of The University Of California Method and apparatus for efficient multiband celp wideband speech and music coding and decoding
US5960386A (en) * 1996-05-17 1999-09-28 Janiszewski; Thomas John Method for adaptively controlling the pitch gain of a vocoder's adaptive codebook
JPH1020891A (ja) * 1996-07-09 1998-01-23 Sony Corp 音声符号化方法及び装置
JP3707154B2 (ja) * 1996-09-24 2005-10-19 ソニー株式会社 音声符号化方法及び装置

Also Published As

Publication number Publication date
EP0831457A3 (de) 1998-12-16
CN1188957A (zh) 1998-07-29
JPH1097298A (ja) 1998-04-14
JP3707153B2 (ja) 2005-10-19
EP0831457B1 (de) 2003-12-03
EP0831457A2 (de) 1998-03-25
KR100543982B1 (ko) 2006-07-21
CN1145142C (zh) 2004-04-07
DE69726525D1 (de) 2004-01-15
KR19980024885A (ko) 1998-07-06
US6611800B1 (en) 2003-08-26
ID18313A (id) 1998-03-26
MY120520A (en) 2005-11-30
TW360859B (en) 1999-06-11

Similar Documents

Publication Publication Date Title
DE69726525T2 (de) Verfahren und Vorrichtung zur Vektorquantisierung und zur Sprachkodierung
DE69634179T2 (de) Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung
DE69729527T2 (de) Verfahren und Vorrichtung zur Kodierung von Sprachsignalen
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69839407T2 (de) Verfahren und Vorrichtung zum Generieren von Vektoren für die Sprachdekodierung
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE69815242T2 (de) Verfahren zur Quantisierung der LPC Parameter mittels geschalteter prädiktiver Quantisierung
DE69915400T2 (de) Vorrichtung zur Kodierung und Dekodierung von Audiosignalen
DE60019268T2 (de) Breitbandiges audio-übertragungssystem
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69133458T2 (de) Verfahren zur Sprachquantisierung und Fehlerkorrektur
DE69932460T2 (de) Sprachkodierer/dekodierer
DE69910058T2 (de) Verbesserung der periodizität eines breitbandsignals
DE69934608T3 (de) Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums
DE19647298C2 (de) Kodiersystem
DE69724126T2 (de) Audiosignalkodier- und dekodierverfahren und audiosignalkodierer und -dekodierer
DE69332994T2 (de) Hocheffizientes Kodierverfahren
DE69928288T2 (de) Kodierung periodischer sprache
DE60011051T2 (de) Celp-transkodierung
DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE60124274T2 (de) Codebuchstruktur und suchverfahren für die sprachkodierung
DE60133757T2 (de) Verfahren und vorrichtung zur kodierung von stimmloser sprache
WO2007131564A1 (de) Informationssignalcodierung
KR19980024519A (ko) 벡터양자화 방법, 음성부호화 방법 및 장치

Legal Events

Date Code Title Description
8364 No opposition during term of opposition