DE69821068T2 - Vorrichtung und Verfahren zur Sprachkodierung - Google Patents

Vorrichtung und Verfahren zur Sprachkodierung Download PDF

Info

Publication number
DE69821068T2
DE69821068T2 DE69821068T DE69821068T DE69821068T2 DE 69821068 T2 DE69821068 T2 DE 69821068T2 DE 69821068 T DE69821068 T DE 69821068T DE 69821068 T DE69821068 T DE 69821068T DE 69821068 T2 DE69821068 T2 DE 69821068T2
Authority
DE
Germany
Prior art keywords
codebook
subframe
optimal
question
sequences
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 - Fee Related
Application number
DE69821068T
Other languages
English (en)
Other versions
DE69821068D1 (de
Inventor
Ho-Chong Sungnam-City Park
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1019970065487A external-priority patent/KR100277096B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of DE69821068D1 publication Critical patent/DE69821068D1/de
Publication of DE69821068T2 publication Critical patent/DE69821068T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/083Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf einen Sprachkodierer und insbesondere auf ein neues Codebook-Suchverfahren und -System zum Verbessern der Leistungsfähigkeit eines Sprachkodierers mit Kode-erregter linearer Vorhersage (CELP = Code Excited Linear Prediction).
  • Ein Sprachkodierer verringert die Datenmenge, die für die Unterstützung einer Kommunikation erforderlich ist, durch Übertragung eines Restsignals anstelle eines vollständigen eingegebenen Sprachsignals, wobei das Restsignal einem Differenzwert zwischen einem Vorhersagesignal, das aus früherer Information abgeleitet ist, und einem originalen Eingangssignal entspricht.
  • Es ist möglich, einen eingegebenen Sprachsignaltastwert s(n) während eines Zeitintervalls n von zwischen 30 ms und 40 ms vorherzusagen, indem vorangehende Spracheingangssignaltastwerte mit s(n – 1), s(n – 2), ... verwendet werden.
  • Die vorhergesagten Sprachsignale, die unter Verwendung vorangehender Sprachsignaltastwerte abgeleitet werden, lassen sich entsprechend der Gleichung 1 ausdrücken: s'(n) = a1s(n – 1) + a2s(n – 2) + a3s(n – 3) + ...... + a10s(n – 10)
  • Als Ergebnis kann s'(n) gerade durch Übertragung der obigen Koeffizienten rekonstruiert werden, anstelle vollständige Sprachsignale übertragen zu müssen.
  • Ein lineares Vorhersagekoeffizienten-(LPC-)Filter wird zur Bestimmung der obigen Koeffizienten verwendet. Das LPC-Filter, auch Spektrumfilter genannt, verwendet eine Autokorrelationstechnik, um LPC-Koeffizienten bis zu einer Größenordnung von zehn für eine Zeitvariable n zu bestimmen.
  • Das mit dem o. g. Verfahren vorhergesagte s'(n) ist jedoch nicht vollständig identisch mit dem ursprünglichen Signal, und die Sprachtonhöhe ist unvorhersagbar.
  • Es wird eine Tonhöhenanalyse ausgeführt, um Information über die Tonhöhenperiode entsprechend einer lang dauernden Korrelation des Sprachsignals zu erhalten.
  • Da Tonhöhenperioden von Sprache variabel sind und unter Verwendung eines Codebooks modelliert werden, kann die entsprechende Stimmlagenperiode aus dem Codebook durch Übertragung des Index für das Codebook gefunden werden.
  • Ein Tonhöhenfilter entfernt die Korrelation auf der Grundlage der Tonhöhenperiode von Sprachschall vom Restsignal, das durch das LPC-Filter gefiltert wurde.
  • Die ursprüngliche Sprache kann unter Verwendung des sich endlich ergebenden Restsignals, die LPC-Koeffizienten und die Tonhöhenfilterparameter rekonstruiert werden.
  • Die LPC-Koeffizienten und die Tonhöhenfilterparameter sind so bestimmt, dass das Fehlersignal minimiert wird, das das eingegebene Sprachsignal verwendet.
  • Die ermittelten LPC-Koeffizienten, Tonhöhenparameter und Restsignale müssen für die digitale Übertragung quantisiert werden.
  • Sprachkodierer werden nach der Quantisierung der Restsignale unterschieden.
  • Ein CELP-Sprachkodierer verwendet ein Codebook, um ein Restsignal zu quantisieren. Mit anderen Worten, der CELP-Sprachkodierer wählt das Signal, das dem Restsignal am nächsten liegt, aus vorbereiteten Codebook-Sequenzen und überträgt den Codebook-Index der gewählten Codebook-Sequenz zu einem Empfänger.
  • Wenn der Empfänger das gleiche Codebook verwendet, erhält der Empfänger das Restsignal durch Verwendung des übertragenen Index.
  • Der CELP-Sprachkodierer ist so eingerichtet, dass er ein Signal erzeugt, um eine gegebene Wiedergabetreueforderung von Signalen optimiert, indem erregte Eingangssignale, die in einem Codebook gespeichert sind, durch zwei zeitveränderliche lineare rekursive Filter, wie ein Tonhöhenfilter und ein LPC-Filter, leitet.
  • Um die Wiedergabetreue zweier Signale zu ermitteln, werden quadratische Fehlermittelwerte der zwei Signale verglichen. Der CELP-Sprachkodierer erzielt Sprache hoher Qualität durch Verwendung einer Analyse-durch-Synthese, wobei ein eingegebenes Sprachsignal analysiert und mit synthetisierten Signalen unter Verwendung vorbestimmter Parameter verglichen wird.
  • Die Analyse-durch-Synthese umfasst das Berechnen eines synthetisierten Sprachsignals über jede aller möglichen Codebook-Erregungssequenzen und schließlich das Auswählen des synthetisierten Sprachsignals, das dem ursprünglichen Sprachsignal am nächsten kommt.
  • Im Allgemeinen wird ein eingegebenes Sprachsignal in Unterrahmen unterteilt, von denen jeder aus 20 Tastwerten besteht (ein Tastwert wird alle 0,125 ms erzeugt). Eine optimale Codebook-Erregungsfrequenz wird pro Unterrahmen gewählt.
  • Zusammen mit einer Codeword-Erregungssequenz, die zu Synthetisierung eines Signals erforderlich ist, wird auch ein quantisierter Codebook-Gewinn, der zur Rekonstruktion eines Signals erforderlich ist, aus dem Codebook gewählt.
  • Ein Tonhöhensignal wird durch Multiplizieren eines durch Verwendung eines Index ausgewählten Kodeworts mit dem quantisierten Codebook-Gewinn gebildet, der ebenfalls unter Verwendung eines Index gewählt wird.
  • Die Übertragungsfunktion jedes Filters und die Suchstrategie nach Codebook-Erregungsfrequenzen und Codebook-Gewinnen sind bei einem Sprachkodierer zum Kodieren eines Sprachsignals, wie oben beschrieben, wichtig.
  • Eine Codebook-Gewinnsuche, die für jeden Sprachsignaltastwert ausgeführt werden muss, erfordert umfangreiche Rechenarbeit.
  • 1 ist ein Diagramm, das eine Codebook-Suchmethode und ein System nach dem Stand der Technik darstellt. Es wird angenommen, dass die Übertragungs- oder charakteristischen Funktionen eines LPC-Filters, eines Tonhöhenfilters und eines Gewichtungsfilters mit 1/A(z), 1/P(z) bzw. 1/W(z) vor dem Auswählen eines Codebooks bestimmt werden.
  • Wie in 1 beschrieben, enthält das Codebook-Suchsystem Einrichtungen zum Ausgeben einer Null-Eingabe-Antwort von einem Tonhöhenfilter (S110); zum Empfangen des Ausgangs vom Tonhöhenfilter und zum Vorhersagen (S120) eines Sprachsignaltastwerts unter Verwendung eines LPC-Filters; zum Empfangen eines Werts an einem gewichtenden Filter (130), der durch Abziehen eines von einem LPC-Filter (120) vorhergesagten Sprachsignals vom eingegebenen Sprachsignal erzeugt wird; zum Empfangen an einem LPC-Filter (150) des Produkts aller Codebook-Frequenzen, bestimmt von allen Codebook-Indizes, und aller quantisierten Gewinne; zum Auswählen einer optimalen Codebook-Sequenz und quantisierten Gewinns unter Verwendung eines Signals, das durch Subtrahieren des Ausgangs des LPC-Filters von einem Aus gangszielsignal (1), das vom gewichtenden Filter (130) ausgegeben wird, unter Verwendung eines Wählers für einen minimalen mittleren Signalfehler.
  • Zunächst kann man aus 2 entnehmen, dass das Tonhöhenfilter im Schritt S110 eine Null-Eingangs-Antwort erzeugt, die als eine Eingabe an einem LPC-Filter (120) verwendet wird. Nach Abziehen eines Ausgangssignals des LPC-Filters 120 vom eingegebenen Sprachsignal erzeugt ein gewichtendes Filter (S130) ein Zielsignal (1) unter Verwendung des Ergebnisses der Subtraktion. Ein LPC-Filter erzeugt dann (S150) ein Ausgangssignal (2) durch Filtern aller möglichen Codebook-Sequenzen und aller quantisierten Gewinne, die gewählt worden sind, unter Verwendung entsprechender Codebook-Indizes.
  • Eine Codebook-Sequenz und ein quantisierter Gewinn werden so gewählt, dass ein quadratischer Fehlermittelwert zwischen dem Zielsignal (1) und dem Ausgangssignal (2) minimal wird.
  • Ein solcher Vorgang wird für jeden der Unterrahmen ausgeführt, und die Optimierung der Codebook-Sequenz und des Codebook-Gewinns wird auf der Grundlage der Differenz zwischen dem Zielsignal (1) für einen Unterrahmen und einem Ausgangssignal (2) ausgeführt.
  • Somit müssen die Prozedur zum Bestimmen einer optimalen Codebook-Sequenz und quantisierten Gewinn für jeden Unterrahmen durchgeführt werden.
  • Wie oben beschrieben wird eine Codebook-Sequenz unabhängig für jeden Unterrahmen mittels Optimierung innerhalb jeden Unterrahmens bestimmt. Das eingegebene Sprachsignal für einen laufenden Unterrahmen wird dann geliefert, und alle frühere Information wird als Anfangswerte eines jeden Filters zur Verfügung gestellt ohne oder bevor eine Codebook-Suche durchgeführt wird.
  • Eine Codebook-Suche wird jedoch ohne jegliche Information über den nächsten eingegebenen Sprachsignaltastwert ausgeführt. In einem Sprach-variablen Bereich, das ist eine Periode, innerhalb der sich ein Sprachsignal signifikant ändert (um ein vorherbestimmbares Ausmaß), und insbesondere in einem Übergangsbereich, beispielsweise einer Periode, über die sich ein Sprachsignal plötzlich ändert, garantiert eine Optimierung innerhalb eines kurzzeitigen Unterrahmens keine Auswahl einer optimalen Codebook-Sequenz.
  • Ein Problem unabhängiger Optimierung für jeden Unterrahmen besteht auch darin, dass Eigenschaften eines Signals an den Grenzen zwischen Unterrahmen weniger genau wiedergegeben oder modelliert werden. Je kürzer der Unterrahmen ist, um so größer ist das Grenzproblem zwischen Unterrahmen.
  • EP-A-09 573 398 (Hughes Aircraft Co.) vom 08. Dezember 1993 und Mano K et "4,8 kbit/s delayed decision CELP coder using tree coding" ICASSP '90, Band 1, 3–6 April 1990, Seiten 21–24, XP002164738 beschreiben CELP-Kodierer auf der Grundlage verzögerter Entscheidung, bei der eine Anzahl in Frage kommender Erregungen für einen Unterrahmen für jeden in Frage kommenden der vorangehenden Unterrahmen berechnet werden. Die möglichen Kombinationen in Frage kommender Erregungen über die Unterrahmen werden dann beschnitten, um einen verminderten Teilsatz von Kombinationen entsprechend einem globalen Kriterium (auf Rahmenbasis) auszuwählen.
  • Ein CELP-Standardsprachkodierer nach dem Stand der Technik, der in einem Übertragungssystem verwendet wird, ergibt aus den obigen Gründen synthetisierte Sprache geringer Qualität und bietet dementsprechend schlechten Service für das Übertragungssystem.
  • Es ist jedoch ein großer Einsatz an Geld und Zeit erforderlich, um einen neuen Standard-Sprachkodierer einzustellen, weil eine große Zahl mobiler Stationen und Basisstationssysteme bereits den bekannten Sprachkodierer zur Schaffung zellularer Kommunikationsdienste verwendet.
  • Es ist eine Aufgabe der vorliegenden Erfindung, das Problem des Standes der Technik wenigstens zu erleichtern.
  • Dementsprechend gibt ein erster Aspekt der vorliegenden Erfindung ein Verfahren zur Sprachkodierung an, das die folgenden Schritte umfasst:
    Berechnen eines Zielsignals für ein Fenster, wobei das Fenster einen ersten Unterrahmen und einen zweiten Unterrahmen umfasst;
    Bestimmen K optimaler in Frage kommender Codebook-Sequenzen und K optimaler in Frage kommender Codebook-Gewinne für den ersten Unterrahmen aus dem Zielsignal, allen Codebook-Indizes und allen optimalen Codebook-Gewinnen;
    Berechnung von K Zielsignalen für den zweiten Unterrahmen aus dem Zielsignal und der optimalen in Frage kommenden Codebook-Sequenz und den optimalen in Frage kommenden Codebook-Gewinnen für den ersten Unterrahmen;
    Bestimmen L optimaler in Frage kommender Codebook-Sequenzen und L optimaler in Frage kommender Codebook-Gewinne für den zweiten Unterrahmen aus jedem der K Zielsignale für den zweiten Unterrahmen, um so K × L Codebook-Sequenz-Codebook-Gewinnpaare zu erzeugen;
    Auswählen einer optimalen Codebook-Sequenz und eines optimalen Codebook-Gewinns jeweils für die zwei Unterrahmen aus dem Zielsignal für das Fenster;
    Auswählen optimaler in Frage kommender Gewinne und aller möglichen quantisierten Gewinne für den ersten Unterrahmen; und
    Auswählen eines optimalen Codebooks und optimaler in Frage kommender Codebook-Gewinne für den zweiten Unterrahmen.
  • Ein zweiter Aspekt der vorliegenden Erfindung gibt einen Vocoder an, der enthält: eine Einrichtung zum Berechnen eines Zielsignals für ein Fenster, wobei das Fenster einen ersten Unterrahmen und einen zweiten Unterrahmen enthält, eine Einrichtung zum Bestimmung K optimaler in Frage kommender Codebook-Sequenzen und K optimaler in Frage kommender Codebook-Gewinne für den ersten Unterrahmen aus dem Zielsignal, allen Codebook-Indizes und allen optimalen Codebook-Gewinnen, eine Einrichtung zum Berechnen von K Zielsignalen für den zweiten Unterrahmen aus dem Zielsignal und der optimalen in Frage kommende Codebook-Sequenz und den optimalen in Frage kommenden Codebook-Gewinnen für den ersten Unterrahmen, eine Einrichtung zum Bestimmen L optimaler in Frage kommender Codebook-Sequenzen und L optimaler in Frage kommender Codebook-Gewinne für den zweiten Unterrahmen aus jedem der K Signalsignal für den zweiten Unterrahmen, um so K × L Codebook-Sequenz-Codebook-Gewinn-Paare zu erzeugen, eine Einrichtung zum Auswählen jeweils einer optimalen Codebook-Sequenz und eines optimalen Codebook-Gewinns für die zwei Unterrahmen aus dem Zielsignal für das Fenster, eine Einrichtung zum Auswählen optimaler in Frage kommender Gewinne und aller möglichen quantisierten Gewinne für den ersten Unterrahmen, und eine Einrichtung zum Auswählen eines optimalen Codebooks und optimaler in Frage kommender Codebook-Gewinne für den zweiten Unterrahmen.
  • Eine Ausführungsform der vorliegenden Erfindung gibt ein Verfahren zum Verbessern der Leistung eines Sprachkodierers an, umfassend die Schritte: Berechnen eines Zielsignals für ein Fenster, Bestimmen K in Frage kommender optimaler Codebooks und in Frage kommender Codebook-Gewinne für einen ersten Unterrahmen aus dem Zielsignal für ein Fenster, allen Codebook-Indizes und allen optimalen Codebook-Gewinne, Berechnen von K Zielsignalen für einen zweiten Unterrahmen aus dem Zielsignal für ein Fenster und den in Frage kommenden optimalen Codebooks und den in Frage kommenden optimalen Codebook-Gewinnen für einen ersten Unterrahmen, Bestimmen von L in Frage kommenden optimalen Codebooks und in Frage kommenden optimalen Codebook-Gewinnen für einen zweiten Unterrahmen aus dem Zielsignal für einen zweiten Unterrahmen und der in Frage kommenden optimalen Codebooks und in Frage kommenden optimalen Codebook-Gewinnen für einen ersten Unterrahmen, und Auswählen eines optimalen Codebooks und optimalen Codebook-Gewinns für die zwei Unterrahmen jeweils aus dem Zielsignal für ein Fenster, den in Frage kommenden optimalen Gewinnen und allen möglichen quantisierten Gewinnen für den ersten Unterrahmen und dem optimalen Codebook und in Frage kommenden optimalen Codebook-Gewinnen für den zweiten Unterrahmen.
  • In vorteilhafter Weise gibt die vorliegende Erfindung ein Verfahren zum Ausführen einer Optimierung innerhalb zweier aufeinander folgender Unterrahmen, vorzugsweise gleichzeitig, an. Insbesondere sucht das Verfahren nach Codebooks durch Verwendung von Information über einen nächst eingegebenen Sprachsignaltastwert. Ein CELP-Sprachkodierer gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist mit einem konventionellen CELP-Sprachkodierer kompatibel und verbessert die Sprachqualität durch Veränderung der Software des konventionellen CELP-Sprachkodierers.
  • Ausführungsformen der vorliegenden Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. Es zeigt:
  • 1 und 2 ein bekannte Codebook-Suchverfahren;
  • 3 und 4 ein Codebook-Suchverfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 5 und 6 ein optimales Codebook-Suchverfahren über einen ersten Unterrahmen;
  • 7 und 8 ein Verfahren zum Berechnen eines Zielsignals für einen zweiten Unterrahmen;
  • 9 und 10 ein optimales Codebook-Suchverfahren über einen zweiten Unterrahmen; und
  • 11 und 12 ein optimales Codebook- und ein quantisiertes Gewinnsuchverfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Ein Verfahren der vorliegenden Erfindung verbessert die Sprachqualität unter Verwendung einer Codebook-Suche, die Information über die nächste Eingabe und eine simultane Optimierung innerhalb zweier aufeinander folgender Unterrahmen verwendet. Diese Verbesserung der Qualität synthetisierter Sprache wird durch eine Codebook-Suche über ein breiteres Sprachband erreicht.
  • Außerdem gibt die vorliegende Erfindung zwei Verfahren für eine simultane Optimierung zweier aufeinander folgender Unterrahmen an: eines dient der Verminderung des Rechenaufwandes und das andere dient der variablen Einstellung des Rechenaufwandes.
  • Zwei aufeinander folgende Unterrahmen, über die eine Codebook-Suche ausgeführt wird, werden als ein Fenster definiert. Lc ist ein Zeitintervall eines Unterrahmens, und ein Index einer Zeitachse, die von 0 bis 2Lc – 1 läuft. Ein erster Unterrahmen entspricht 0, 1, ..., Lc – 1, und ein zweiter Unterrahmen entspricht Lc, Lc + 1, ..., 2Lc – 1. K in Frage kommender optimaler Codebook-Sequenzen für einen ersten Unterrahmen werden innerhalb eines jeden Fensters ausgewählt, und L in Frage kommender optimaler Codebook-Sequenzen für einen zweiten Unterrahmen werden für jede von K bestimmten in Frage kommenden Codebook-Sequenzen ausgewählt. Als Ergebnis werden K × L Kombinationen gewählt.
  • Eine Suche nach allen möglichen quantisierten Codebook-Gewinnen entsprechend der gewählten K × L Kombination wird für das Fenster ausgeführt, und optimale Codebook-Sequenz-Kombinationen und der entsprechende quantisierte Gewinn werden entsprechend bestimmt.
  • 3 und 4 zeigen ein Codebook-Suchverfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Wie beschrieben, umfasst das Verfahren die Schritte:
    im Schritt S210 Berechnen eines Zielsignals (11) für ein Fenster, wobei das Fenster einen ersten und einen zweiten Unterrahmen enthält;
    im Schritt S220 Bestimmen K in Frage kommender optimaler Codebook-Sequenzen (21) und in Frage kommender optimaler Codebook-Gewinne (22) für den ersten Unterrahmen aus dem Zielsignal (11) für das Fenster aus allen Codebook-Indizes und allen optimalen Codebook-Gewinnen (220);
    im Schritt S230 Berechnung von K Zielsignalen (31) für einen zweiten Unterrahmen auf der Grundlage des Zielsignals (11) des Fensters und der in Frage kommenden Codebook-Sequenzen (21) und der in Frage kommenden Codebook-Gewinne (22) für den ersten Unterrahmen;
    im Schritt S240 Bestimmen von L in Frage kommender Codebook-Sequenzen (41) und in Frage kommender Codebook-Gewinne (42) für den zweiten Unterrahmen aus jedem der K Zielsignale (31) für den zweiten Unterrahmen und die in Frage kommenden optimalen Codebooks (21) und in Frage kommenden optimalen Codebook-Gewinne (22) für den ersten Unterrahmen, um K × L Codebook-Sequenz-Codebook-Gewinn-Paare zu erzeugen; und
    Schritt S250 Auswählen eines optimalen Codebooks (51) (52) und optimalen Codebook-Gewinns (53) (54) jeweils für die zwei Unterrahmen aus den K × L Codebook-Sequenz-Codebook-Gewinn-Paaren entsprechend vorbestimmter Kriterien. Vorzugsweise enthalten die vorbestimmten Kriterien die Minimierung der unten beschriebenen Gleichung 2.
  • Man kann sehen, dass L Paare von Codebook-Sequenzen und -Gewinnen für jedes der K Zielsignale 31 für einen zweiten Unterrahmen berechnet werden, d. h. für jedes der K Codebook-Sequenz-Codebook-Gewinn-Paare für den ersten Unterrahmen.
  • Eine Codebook-Suchtechnik wird nun unter Bezugnahme auf die Zeichnungen erläutert. Ein Tonhöhenfilter erzeugt eine Null-Eingabe-Antwort, die als eine Eingabe in ein LPC-Filter verwendet wird, und das LPC-Filter erzeugt ein LPC-gefiltertes Ausgangssignal in der gleichen Weise, wie in dem in 1 gezeigten bekannten System.
  • Ein Subtrahierer subtrahiert den Ausgang des LPC-Filters von einem Sprachsignal entsprechend zwei Unterrahmen, und der subtrahierte Ausgang wird von einem Gewichtungsfilter dazu verwendet, ein Zielsignal für ein Fenster zu liefern.
  • Es Zielsignal für ein Fenster wird für die optimale Codebook-Suche nach einem ersten Unterrahmen verwendet.
  • 5 und 6 zeigen ein Codebook-Suchverfahren nach einem ersten Unterrahmen gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Wie in den 5 und 6 gezeigt, empfängt im Schritt S140 ein LPC-Filter alle möglichen Codebooks und Codebook-Gewinne und erzeugt im Schritt S150 entsprechende gefilterte Ausgabesignale.
  • Ein Subtrahierer berechnet im Schritt S152 einen Differenzwert zwischen einem Zielsignal (11) für ein Fenster und den entsprechenden gefilterten Ausgabesignalen, und ein quadratischer Mittelwertfehlerwähler wählt in den Schritten S160, S222 und S224 eine in Frage kommende Codebook-Sequenz (21) und einen in Frage kommenden Codebook-Gewinn (22), um den quadratischen Mittelwertfehler zu minimieren. Dieses schließt den Optimierungsprozess für den ersten Unterrahmen ab.
  • Der obige Vorgang bestimmt K in Frage kommende optimale Codebook-Sequenzen und K in Frage kommende optimale Codebook-Gewinne für den ersten Unterrahmen.
  • Für gewählte K Paare in Frage kommender Codebook-Sequenzen und in Frage kommender Codebook-Gewinne wird ein Zielsignal entsprechend jedem zweiten Unterrahmen berechnet.
  • 7 und 8 zeigen ein Berechnungsverfahren für einen zweiten Unterrahmen. Wie dargestellt umfasst das Verfahren für jede in Frage kommende Codebook-Sequenz die Erzeugung eines Signals, das die in Frage kommende Codebook-Sequenz und mehrere Nullen enthält, so dass die Nullen an diskreten Zeitstellen, Lc, Lc + 1, ..., 2Lc – 1 entsprechend einem zweiten Unterrahmen liegen, im Schritt S232 für jede der in Frage kommenden Codebook-Sequenzen für einen ersten, im Schritt 220 gewählten Unterrahmen, und es wird ein Ausgangssignal erzeugt, indem im Schritt S236 die obigen Signale durch ein Tonhöhenfilter und im Schritt S236 durch ein LPC-Filter geleitet werden. Dabei werden alle Anfangswerte des Tonhöhenfilters und des LPC-Filters auf "0" gesetzt und gefiltert.
  • Im Schritt S238 multipliziert ein Multiplizierer das Ausgangssignal mit einem in Frage kommenden optimalen Codebook-Gewinn für den ersten Unterrahmen. Im Schritt S239 subtrahiert ein Subtrahierer das obige Ergebnis von dem Zielsignal und erzeugt ein Zielsignal für einen zweiten Unterrahmen.
  • 9 und 10 zeigen ein optimales Codebook-Suchverfahren für einen zweiten Unterrahmen. Ein LPC-Filter empfängt im Schritt S150 alle möglichen Codebook-Sequenzen und Codebook-Gewinne und erzeugt entsprechende gefilterte Ausgangssignale.
  • Im Schritt S152 berechnet ein Subtrahierer Differenzwerte zwischen den entsprechenden gefilterten Ausgangssignalen und jedem der K Zielsignale für den zweiten Unterrahmen, und ein Wähler für einen minimalen quadratischen Mittelwertfehler wählt im Schritt S160 das subtrahierte Signal, das den minimalen quadratischen Mittelwertfehler hat. Eine in Frage kommende Codebook-Sequenz (41) und ein Frage kommender Codebook-Gewinn (42) werden in den Schritten S222 und S224 für den zweiten Unterrahmen entsprechend dem gewählten subtrahierten Signal, das einen minimalen quadratischen Mittelwertfehler hat, gewählt.
  • Dann wird eine Zeitachse von 0 bis Lc – 1 entsprechend einem ersten Unterrahmen an jedem der in Frage kommenden Codebooks (41) auf "0" gesetzt.
  • Schließlich wird eine Suche nach optimaler Codebook-Sequenz (51) (52) und optimaler Codebook-Gewinne (53) (54) für die zwei Unterrahmen ausgeführt, indem das in Frage kommende Codebook (41) für den zweiten Unterrahmen, in Frage kommende Codebook-Gewinne (42) und weitere Information ausgenutzt wird.
  • 11 und 12 zeigen ein Optimal-Codebook-Sequenz- und Optimal-Codebook-Gewinn-Suchverfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. In Frage kommende Codebook-Sequenzen (41) für einen zweiten Unterrahmen werden im Schritt S234 durch ein Tonhöhenfilter und im Schritt S236 ein LPC-Filter gefiltert. Ein Multiplizierer multipliziert im Schritt S237 das gefilterte Ausgangssignal (55) mit allen Codebook-Gewinnen Gq2b für den zweiten Unterrahmen und erzeugt ein Ausgangssignal (56).
  • Ein Multiplizierer multipliziert im Schritt S239 das Ausgangssignal (32) von Schritt S230 mit allen möglichen quantisierten Gewinnen Gq1a für den ersten Unterrahmen. Das Ergebnis wird im Schritt S241 zum Signal (56) hinzuaddiert, um ein Ausgangssignal (57) zu erzeugen.
  • Ein Subtrahierer berechnet im Schritt S243 einen Differenzwert zwischen einem Zielsignal für das Fenster (11) und dem Ausgangssignal (57), und ein Wähler für quadratischen Mittelwertfehler wählt in den Schritt S160 und S252 Sequenz-Codebooks (51) (52) und Gewinne (53) (54) um den quadratischen Fehlermittelwert zwischen dem Zielsignal und dem Ausgangssignal zu minimieren.
  • Die Werte von k, j, a und b werden bestimmt, um die Wertegleichung 2 zu minimieren, wobei die Gleichung 2 ist:
    Figure 00110001
    wobei n diskrete Zeittastwerte bezeichnet, die von 0 bis 2Lc – 1 laufen;
    x(n) ein Zielsignal für ein Fenster bezeichnet;
    Uk(n) die k-te in Frage kommende optimale Codebook-Sequenz für den ersten Unterrahmen bezeichnet;
    Zj(n) die j-te in Frage kommende optimale Codebook-Sequenz für den zweiten Unterrahmen bezeichnet;
    Gq1a die a-ten quantisierten, in Frage kommenden Codebook-Gewinne für einen ersten Unterrahmen bezeichnet; und
    Gq2b die b-ten quantisierten, in Frage kommenden Codebook-Gewinne für einen zweiten Unterrahmen bezeichnet.
  • In einer bevorzugten Ausführungsform quantisiert die vorliegende Erfindung gleichzeitig zwei Gewinne pro Fenster, das aus zwei Unterrahmen besteht, während eine bekannte Quantisierung auf Basis eines einzelnen Unterrahmens ausgeführt wird. Bei dem Verfahren zur Minimierung von Gleichung 2 werden also alle möglichen quantisierten Gewinne nicht gesucht, d. h. alle Werte von a und b von k bzw. j werden nicht gesucht, sondern nur quantisierte Gewinne, die das gleiche positive oder negative Vorzeichen haben, werden als in Frage kommende optimale Gewinne für jedes Codebook (22) und (42) gesucht. Wenn beispielsweise ein optimaler Gewinn für ein Codebook des ersten Unterrahmens positiv ist, wird eine Suche in Beziehung auf lediglich positive Gewinne aller Gq2a-Werte durchgeführt.
  • Dieses Verfahren vermindert die Suchzeit auf ¼ derjenigen nach dem Stand der Technik, wo Durchsuchungen nach allen optimalen Gewinnen ausgeführt werden.
  • Das Verfahren nach einer bevorzugten Ausführungsform der vorliegenden Erfindung bestimmt zunächst K und L Codebooks für einen ersten Unterrahmen und einen zweiten Unterrahmen innerhalb eines Fensters und wählt später eine optimale Kombination aus K × L Kombinationen. Da die Suchzeit somit von K und L abhängt, stellt die vorliegende Erfindung die Suchzeit pro Rahmen durch Variation von K und L ein.
  • Der CELP-Sprachkodierer der vorliegenden Erfindung ist mit einem früheren Standardkodierer kompatibel und verbessert die Sprachqualität ohne algorithmische Verzögerung.
  • Während die Erfindung für zahlreiche Modifikationen und alternative Ausführungsformen geeignet ist, sind spezielle Ausführungsformen beispielhaft in den Zeichnungen und in der Beschreibung gezeigt worden. Es versteht sich jedoch, dass die vorliegende Erfindung nicht auf die speziellen, dargestellten Ausführungsformen beschränkt ist, sondern beabsichtigt ist, alle Modifikationen, Äquivalente und Alternativen abzudecken, die in den Geist und Umfang der Erfindung fallen, wie sie durch die anhängenden Ansprüche definiert ist.

Claims (22)

  1. Verfahren zur Sprachcodierung, das die folgenden Schritte umfasst: Berechnen eines Zielsignals (11) für ein Fenster, wobei das Fenster einen ersten Unterrahmen und einen zweiten Unterlrahmen umfasst; Bestimmen K optimaler in Frage kommender Codebook-Sequenzen (21) und K optimaler in Frage kommender Codebook-Gewinnen (22) für den ersten Unterrahmen aus dem Zielsignal, allen Codebook-Indizes und allen optimalen Codebook-Gewinnen; Berechnen von K Zielsignalen (31) für den zweiten Unterrahmen aus dem Zielsignal (11) und der ersten optimalen in Frage kommenden Codebook-Sequenz (21) und den optimalen in Frage kommenden Codebook-Gewinnen (22) für den ersten Unterrahmen; Bestimmen L optimaler in Frage kommender Codebook-Sequenzen (41) und L optimaler in Frage kommender Codebook-Gewinne (42) für den zweiten Unterrahmen aus jedem der K Zielsignale (31) für den zweiten Unterrahmen, um so K × L Codebook-Sequenz-Codebook-Gewinn-Paare zu erzeugen; Auswählen jeweils einer optimalen Codebook-Sequenz (51) (52) und eines optimalen Codebook-Gewinns (53) (54) für die zwei Unterrahmen aus dem Zielsignal für das Fenster; Auswählen optimaler in Frage kommender Gewinne und aller möglichen quantisierten Gewinne für den ersten Unterrahmen; und Auswählen eines optimalen Codebooks und optimaler möglicher Codebook-Gewinne für den zweiten Unterrahmen.
  2. Verfahren nach Anspruch 1, wobei K und L variabel sind.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei der Schritt des Bestimmens K in Frage kommender Codebook-Sequenzen (21) und in Frage kommender Codebook-Gewinne (22) für den ersten Unterrahmen die folgenden Schritte einschließt: Leiten aller möglichen Codebook-Sequenzen und Codebook-Gewinne durch ein LPC-Filter, um eine gefiltertes Ausgangssignal zu erzeugen; Berechnen eines Differenzwertes zwischen dem gefilterten Ausgangssignal und dem Zielsignal (11) für jedes Codebook-Sequenz-Codebook-Gewinn-Paar und Auswählen von K Paaren in Frage kommender Codebook-Sequenzen (21) und in Frage kommender Codebook-Gewinne (22), um so einen mittleren quadratischen Fehler der Differenzwerte auf ein Minimum zu verringern.
  4. Verfahren nach Anspruch 3, wobei der Schritt des Auswählens von K Paaren in Frage kommender Codebooks und quantisierter in Frage kommender Gewinne für den ersten Unterrahmen innerhalb des ersten Unterrahmens durchgeführt wird.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt des Berechnens von K Zielsignalen für den zweiten Unterrahmen die folgenden Schritte einschließt: Erzeugen eines Zero-Padding unterzogenen Signals durch Zero-Padding mit Null-Werten an Lc, Lc + 1, ...., 2Lc – 1 entsprechenden Positionen des zweiten Unterrahmens für jede in Frage kommende Codebook-Sequenz für den ersten Unterrahmen, der beim Schritt des Bestimmens K in Frage kommender Codebook-Sequenzen und in Frage kommender Codebook-Gewinne ausgewählt wird; Erzeugen eines Ausgangssignals (32) durch Leiten des Zero-Padding unterzogenen Signals durch ein Pitch-Filter (232) und ein LPC-Filter (234); und Bestimmen jedes der K Zielsignale für den zweiten Unterrahmen durch Subtrahieren des mit dem in Frage kommenden Gewinn für den ersten Unterrahmen multiplizierten Ausgangssignals von den Zielsignalen (11).
  6. Verfahren nach Anspruch 5, wobei der Schritt des Auswählens von K Paaren in Frage kommender Codebook-Sequenzen und in Frage kommender Codebook-Gewinne den Schritt des Initialisierens der Werte sowohl des Pich-Filters (232) als auch des LPC-Filters (234) auf "0" umfasst.
  7. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt des Bestimmens L in Frage kommender Codebook-Sequenzen und in Frage kommender Codebook-Gewinne für den zweiten Unterrahmen die folgenden Schritte einschließt: Leiten aller möglichen Codebook-Sequenzen und Codebook-Gewinne durch ein LPC-Filter, um gefilterte Ausgangssignale zu erzeugen; Berechnen von Differenzwerten zwischen den gefilterten Ausgangssignalen und dem Zielsignal für den zweiten Unterrahmen für jedes der K Zielsignale und Auswählen von L Paaren in Frage kommender Codebook-Sequenzen (41) und in Frage kommender Codebook-Gewinne (42), um so einen mittleren quadratischen Fehler der Differenzwerte auf ein Minimum zu verringern.
  8. Verfahren nach einem der vorangehenden Ansprüche, das des Weiteren den Schritt des Setzens aller Werte von Positionen 0 bis LC – 1, die dem ersten Unterrahmen entsprechen, der beim Schritt des Bestimmens der K in Frage kommenden Codebook-Sequenzen und in Frage kommenden Codebook-Gewinne ausgewählt wird, auf Null.
  9. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt des Auswählens einer Codebook-Sequenz und eines Codebook-Gewinns für die zwei Unterrahmen die folgenden Schritte einschließt: Multiplizieren jedes möglichen Codebook-Gewinns Gq2b mit Pitch-Filterung und LPC-Filterung unterzogenen in Frage kommenden Codebook-Sequenzen (41) für den zweiten Unterrahmen; Multiplizieren aller möglichen Codebook-Gewinne Gq1a mit jedem der K Ausgangssignale (32) aus dem Schritt des Berechnens von K Zielsignalen für den zweiten Unterrahmen und Addieren des Ausgangssignals aus dem Multiplizierschritt zu dem Ergebnis; und Berechnen eines Differenzwertes zwischen dem Zielsignal (11) für das Fenster und dem Ausgangssignal (57) aus dem Addierschritt und Auswählen einer Codebook-Sequenz (51) (53) und eines Codebook-Gewinns (52) (54), um einen mittleren quadratischen Fehler der Differenzwerte auf ein Minimum zu verringern.
  10. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt des Auswählens einer Codebook-Sequenz und eines Codebook-Gewinns zur Verringerung des Fehlers auf ein Minimum den Schritt des Berechnens von Werten von j, k, a und b umfasst, die so bestimmt werden, dass
    Figure 00170001
    auf ein Minimum verringert wird, wobei n separate Zeitabtastungen bezeichnet, die von 0 bis 2Lc – 1 reichen; x(n) ein Zielsignal für ein Fenster bezeichnet; Uk(n) das k-te in Frage kommende optimale Codebook für einen ersten Unterrahmen bezeichnet; Zj(n) das j-te in Frage kommende optimale Codebook für einen zweiten Unterrahmen bezeichnet; Gq1a a-te quantisierte in Frage kommende Codebook-Gewinne für einen ersten Unterrahmen bezeichnet; und Gq2b b-te quantisierte in Frage kommende Codebook-Gewinne für einen zweiten Unterrahmen bezeichnet.
  11. Verfahren nach Anspruch 10, wobei nicht alle Gq1a und Gq2b für jedes k und j gesucht werden, sondern nur in Frage kommende Gewinne mit dem gleichen Vorzeichen wie die in Frage kommenden Gewinne für jeden Unterrahmen gesucht werden.
  12. Vocoder, der eine Einrichtung zum Berechnen eines Zielsignals (11) für ein Fenster, wobei das Fenster einen ersten Unterrahmen und einen zweiten Unterrahmen umfasst, eine Einrichtung zum Bestimmen K optimaler in Frage kommender Codebook-Sequenzen (21) und K optimaler in Frage kommender Codebook-Gewinne (22) für den ersten Unterrahmen aus dem Zielsignal, allen Codebook-Indizes und allen optimalen Codebook-Gewinnen; eine Einrichtung zum Berechnen von K Zielsignalen (31) für den zweiten Unterrahmen aus dem Zielsignal (11) und der optimalen in Frage kommenden Codebook-Sequenz (21) und den optimalen in Frage kommenden Codebook-Gewinnen (22) für den ersten Unterrahmen; eine Einrichtung zum Bestimmen L optimaler in Frage kommender Codebook-Sequenzen (41) und L optimaler in Frage kommender Codebook-Gewinne (42) für den zweiten Unterrahmen aus jedem der K Zielsignale (31) für den zweiten Unterrahmen, um so K × L Codebook-Sequenz-Codebook-Gewinn-Paare zu erzeugen; eine Einrichtung zum Auswählen jeweils einer optimalen Codebook-Sequenz (51) (52) und eines optimalen Codebook-Gewinns (53) (54) für die zwei Unterrahmen aus dem Zielsignal für das Fenster; eine Einrichtung zum Auswählen optimaler in Frage kommender Gewinne und aller möglichen quantisierten Gewinne für den ersten Unterrahmen; und eine Einrichtung zum Auswählen eines optimalen Codebooks und op timaler in Frage kommender Codebook-Gewinne für den zweiten Unterrahmen umfasst.
  13. Vocoder nach Anspruch 12, wobei K und L variabel sind.
  14. Vocoder nach einem der Ansprüche 12 oder 13, wobei die Einrichtung zum Bestimmen K in Frage kommender Codebook-Sequenzen (21) und in Frage kommender Codebook-Gewinne (22) für den ersten Unterrahmen eine Einrichtung zum Leiten aller möglichen Codebook-Sequenzen und Codebook-Gewinne durch ein LPC-Filter, um eine gefiltertes Ausgangssignal zu erzeugen; eine Einrichtung zum Berechnen eines Differenzwertes zwischen dem gefilterten Ausgangssignal und dem Zielsignal (11) für jedes Codebook-Sequenz-Codebook-Gewinn-Paar und zum Auswählen von K Paaren in Frage kommender Codebook-Sequenzen (21) und in Frage kommender Codebook-Gewinne (22), um einen mittleren quadratischen Fehler der Differenzwerte auf ein Minimum zu verringern, umfasst.
  15. Vocoder nach Anspruch 14, wobei die Einrichtung zum Auswählen von K Paaren in Frage kommender Codebooks und quantisierter in Frage kommender Gewinne für den ersten Unterrahmen dies innerhalb des ersten Unterrahmens durchgeführt wird.
  16. Vocoder nach einem der Ansprüche 12 bis 15, wobei die Einrichtung zum Berechnen von K Zielsignalen für den zweiten Unterrahmen, eine Einrichtung zum Erzeugen eines Zero-Padding unterzogenen Signals durch Zero-Padding mit Null-Werten an Lc, Lc + 1, ...., 2Lc – 1 entsprechenden Positionen des zweiten Unterrahmens für jede in Frage kommende Codebook-Sequenz für den ersten Unterrahmen, die beim Schritt des Bestimmens K in Frage kommender Codebook-Sequenzen und in Frage kommender Codebook-Gewinnen ausgewählt wird; eine Einrichtung zum Erzeugen eines Ausgangssignals (32), indem das Zero-Padding unterzogene Signal durch ein Pitch-Filter (232) und ein LPC-Filter (234) geleitet wird; eine Einrichtung zum Bestimmen jedes der K Zielsignale für den zweiten Unterrahmen durch Subtrahieren des mit dem in Frage kommenden Gewinn für den ersten Unterrahmen multiplizierten Ausgangssignals von den Zielsignalen (11) umfasst.
  17. Vocoder nach Anspruch 16, wobei die Einrichtung zum Auswählen von K Paaren in Frage kommender Codebook-Sequenzen und in Frage kommender Codebook-Gewinne eine Einrichtung zum Initialisieren der Werte sowohl des Pitch-Filters (232) als auch des LPC-Filters (234) auf "0" umfasst.
  18. Vocoder nach einem der Ansprüche 12 bis 17, wobei die Einrichtung zum Bestimmen L in Frage kommender Codebook-Sequenzen und in Frage kommender Codebook-Gewinne für den zweiten Unterrahmen, eine Einrichtung zum Leiten aller möglichen Codebook-Sequenzen und Codebook-Gewinne durch ein LPC-Filter, um gefilterte Ausgangssignale zu erzeugen; eine Einrichtung zum Berechnen von Differenzwerten zwischen den gefilterten Ausgangssignalen und den Zielsignalen für jedes der K Zielsignale für den zweiten Unterrahmen und zum Auswählen von L Paaren in Frage kommender Codebook-Sequenzen (41) und in Frage kommender Codebook-Gewinne (42), um einen mittleren quadratischen Fehler der Differenzwerte auf ein Minimum zu verringern, umfasst.
  19. Vocoder nach einem der Ansprüche 12 bis 18, der des Weiteren eine Einrichtung zum Setzen aller Werte von Positionen von 0 bis Lc – 1, die dem ersten Unterrahmen entsprechen, der beim Schritt des Bestimmens der K in Frage kommenden Codebook-Sequenzen und in Frage kommenden Codebook-Gewinne ausgewählt wird, auf Null umfasst.
  20. Vocoder nach einem der Ansprüche 12 bis 19, wobei die Einrichtung zum Auswählen einer Codebook-Sequenz und eines Codebook-Gewinns für die zwei Unterrahmen eine Einrichtung zum Multiplizieren jedes möglichen Codebook-Gewinns Gq2b mit Pitch-Filterung und LPC-Filterung unterzogenen in Frage kommenden Codebook-Sequenzen (41) für den zweiten Unterrahmen; eine Einrichtung zum Multiplizieren aller möglichen Codebook-Gewinne Gq1a mit jedem der K Ausgangssignale (32) aus dem Schritt des Berechnens von K Zielsignalen für den zweiten Unterrahmen und Addieren des Ausgangssignals aus dem Multiplizierschritts zu dem Ergebnis; und eine Einrichtung zum Berechnen eines Differenzwertes zwischen dem Zielsignal (11) für das Fenster und dem Ausgangssignal (57) aus dem Addierschritt und zum Auswählen einer Codebook-Sequenz (51) (53) und eines Codebook-Gewinns (52) (54), so dass ein mittlerer quadratischer Fehler der Differenzwerte auf ein Minimum verringert wird, umfasst
  21. Vocoder nach einem der Ansprüche 12 bis 20, wobei die Einrichtung zum Auswählen einer Codebook-Sequenz und eines Codebook-Gewinns, so dass der Fehler auf ein Minimum verringert wird, eine Einrichtung zum Berechnen von Werten von j, k, a und b umfasst, die so bestimmt werden, dass
    Figure 00210001
    auf ein Minimum verringert wird, wobei n separate Zeitabtastungen bezeichnet, die von 0 bis 2Lc – 1 reichen; x(n) ein Zielsignal für ein Fenster bezeichnet; Uk(n) das k-te in Frage kommende optimale Codebook für einen ersten Unterrahmen bezeichnet; Zj(n) das j-te in Frage kommende optimale Codebook für einen zweiten Unterrahmen bezeichnet; Gq1a a-te quantisierte in Frage kommende Codebook-Gewinne für einen ersten Unterrahmen bezeichnet; und Gq2b b-te quantisierte in Frage kommende Codebook-Gewinne für einen zweiten Unterrahmen bezeichnet.
  22. Vocoder nach Anspruch 21, wobei nicht alle Gq1a und Gq2b für jedes k und j gesucht werden, sondern nur in Frage kommende Gewinne mit dem gleichen Vorzeichen wie die in Frage kommenden Gewinne für jeden Unterrahmen gesucht werden.
DE69821068T 1997-09-10 1998-09-10 Vorrichtung und Verfahren zur Sprachkodierung Expired - Fee Related DE69821068T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR19970046506 1997-09-10
KP9746506 1997-09-10
KP9765487 1997-12-03
KR1019970065487A KR100277096B1 (ko) 1997-09-10 1997-12-03 음성압축을 위한 코드워드와 양자화된 이득 선택방법

Publications (2)

Publication Number Publication Date
DE69821068D1 DE69821068D1 (de) 2004-02-19
DE69821068T2 true DE69821068T2 (de) 2004-11-04

Family

ID=26633073

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69821068T Expired - Fee Related DE69821068T2 (de) 1997-09-10 1998-09-10 Vorrichtung und Verfahren zur Sprachkodierung

Country Status (6)

Country Link
US (1) US6108624A (de)
EP (1) EP0902421B1 (de)
JP (1) JP3335929B2 (de)
CN (1) CN1124590C (de)
CA (1) CA2246901C (de)
DE (1) DE69821068T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6581030B1 (en) * 2000-04-13 2003-06-17 Conexant Systems, Inc. Target signal reference shifting employed in code-excited linear prediction speech coding
US7050969B2 (en) * 2001-11-27 2006-05-23 Mitsubishi Electric Research Laboratories, Inc. Distributed speech recognition with codec parameters
KR101789632B1 (ko) 2009-12-10 2017-10-25 엘지전자 주식회사 음성 신호 부호화 방법 및 장치
US8560134B1 (en) 2010-09-10 2013-10-15 Kwangduk Douglas Lee System and method for electric load recognition from centrally monitored power signal and its application to home energy management

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060269A (en) * 1989-05-18 1991-10-22 General Electric Company Hybrid switched multi-pulse/stochastic speech coding technique
US4980916A (en) * 1989-10-26 1990-12-25 General Electric Company Method for improving speech quality in code excited linear predictive speech coding
US5138661A (en) * 1990-11-13 1992-08-11 General Electric Company Linear predictive codeword excited speech synthesizer
JP3151874B2 (ja) * 1991-02-26 2001-04-03 日本電気株式会社 音声パラメータ符号化方式および装置
FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
US5307460A (en) * 1992-02-14 1994-04-26 Hughes Aircraft Company Method and apparatus for determining the excitation signal in VSELP coders
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
US5598504A (en) * 1993-03-15 1997-01-28 Nec Corporation Speech coding system to reduce distortion through signal overlap
JP2624130B2 (ja) * 1993-07-29 1997-06-25 日本電気株式会社 音声符号化方式
JP2655046B2 (ja) * 1993-09-13 1997-09-17 日本電気株式会社 ベクトル量子化装置
US5651090A (en) * 1994-05-06 1997-07-22 Nippon Telegraph And Telephone Corporation Coding method and coder for coding input signals of plural channels using vector quantization, and decoding method and decoder therefor
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US5751903A (en) * 1994-12-19 1998-05-12 Hughes Electronics Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset
US5701294A (en) * 1995-10-02 1997-12-23 Telefonaktiebolaget Lm Ericsson System and method for flexible coding, modulation, and time slot allocation in a radio telecommunications network

Also Published As

Publication number Publication date
EP0902421A2 (de) 1999-03-17
CN1235335A (zh) 1999-11-17
JPH11167399A (ja) 1999-06-22
JP3335929B2 (ja) 2002-10-21
CN1124590C (zh) 2003-10-15
EP0902421B1 (de) 2004-01-14
DE69821068D1 (de) 2004-02-19
US6108624A (en) 2000-08-22
CA2246901C (en) 2001-12-18
EP0902421A3 (de) 2002-04-03
CA2246901A1 (en) 1999-03-10

Similar Documents

Publication Publication Date Title
DE4492048C2 (de) Vektorquantisierungs-Verfahren
DE69619284T3 (de) Vorrichtung zur Erweiterung der Sprachbandbreite
DE69730316T2 (de) Schallquellengenerator, sprachkodierer und sprachdekodierer
DE69814517T2 (de) Sprachkodierung
DE69836624T2 (de) Audiokodierer und -dekodierer
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69634179T2 (de) Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung
DE69531471T2 (de) Mehrkanalsignalkodierung unter Verwendung gewichteter Vektorquantisierung
DE19604273C2 (de) Verfahren und Vorrichtung zum Durchführen einer Suche in einem Kodebuch im Hinblick auf das Kodieren eines Klangsignales, Zellkommunikationssystem, Zellnetzwerkelement und mobile Zell-Sender-/Empfänger-Einheit
DE2945414C2 (de) Sprachsignal-Voraussageprozessor und Verfahren zur Verarbeitung eines Sprachleistungssignals
DE69636209T2 (de) Vorrichtung zur Sprachkodierung
DE69934608T2 (de) Adaptive kompensation der spektralen verzerrung eines synthetisierten sprachresiduums
DE69628103T2 (de) Verfahren und Filter zur Hervorbebung von Formanten
DE69932460T2 (de) Sprachkodierer/dekodierer
DE19647298C2 (de) Kodiersystem
DE69729527T2 (de) Verfahren und Vorrichtung zur Kodierung von Sprachsignalen
DE69731588T2 (de) Coderienrichtung mit verringerter komplexität für ein signalübertragungssystem
DE69033510T3 (de) Numerischer sprachcodierer mit verbesserter langzeitvorhersage durch subabtastauflösung
DE60309651T2 (de) Verfahren zur Sprachkodierung mittels verallgemeinerter Analyse durch Synthese und Sprachkodierer zur Durchführung dieses Verfahrens
DE69828709T2 (de) Erhöhung der Dichte von kodierten Sprachsignalen
DE69921066T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69725945T2 (de) Sprachkodierer mit niedriger Bitrate
DE4491015C2 (de) Verfahren zum Erzeugen eines Spektralrauschbewertungsfilters zur Verwendung in einem Sprachcoder
DE69732746T2 (de) Signalübertragungssystem mit verringerter komplexität
DE69830816T2 (de) Mehrstufige Audiodekodierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee