[go: up one dir, main page]

DE69900786T2 - Sprachkodierung - Google Patents

Sprachkodierung

Info

Publication number
DE69900786T2
DE69900786T2 DE69900786T DE69900786T DE69900786T2 DE 69900786 T2 DE69900786 T2 DE 69900786T2 DE 69900786 T DE69900786 T DE 69900786T DE 69900786 T DE69900786 T DE 69900786T DE 69900786 T2 DE69900786 T2 DE 69900786T2
Authority
DE
Germany
Prior art keywords
vector
quantized
subframes
gain value
energy
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
DE69900786T
Other languages
English (en)
Other versions
DE69900786D1 (de
Inventor
Pasi Ojala
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.)
Nokia Oyj
Original Assignee
Nokia Mobile Phones 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
Application filed by Nokia Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Publication of DE69900786D1 publication Critical patent/DE69900786D1/de
Application granted granted Critical
Publication of DE69900786T2 publication Critical patent/DE69900786T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients

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 betrifft Sprachcodierung und insbesondere die Codierung von Sprachsignalen in diskreten Zeit-Unterrahmen, die digitalisierte Sprachabtastwerte enthalten. Die vorliegende Erfindung kann insbesondere, jedoch nicht unbedingt, bei der Sprachcodierung mit veränderlicher Bitrate angewendet werden.
  • In Europa ist der anerkannte Standard für digitale Zellentelephonie unter der Abkürzung GSM (Global System for Mobile Communications = Globales System für mobile Kommunikation) bekannt. Eine kürzliche Aktualisierung des GSM- Standards (GSM Phase 2; 06.60) hatte die Spezifikation eines neuen Algorithmus der Sprachcodierung (oder Codec), der als Enhanced Full Rate (EFR = verbesserte Vollrate) bekannt ist, zur Folge. Wie bei herkömmlichen Sprach-Codecs wurde EFR entwickelt, um die Bitrate zu reduzieren, die für eine individuelle Sprach- oder Datenkommunikation benötigt wird. Durch das Minimieren dieser Rate vergrößert sich die Anzahl der separaten Anrufe, die auf einer vorgegebenen Signalbandbreite multiplexiert werden können.
  • Eine sehr allgemeine Darstellung des Aufbaus eines Sprachcodierers, der demjenigen ähnlich ist, der bei EFR verwendet wird, ist in Fig. 1 gezeigt. Ein abgetastetes Sprachsignal wird in 20 ms-Rahmen x unterteilt, die jeweils 160 Abtastwerte enthalten. Jeder Abtastwert wird durch 16 Bits digital dargestellt. Die Rahmen werden nacheinander codiert, indem sie zuerst an einen Codierer mit linearer Prädiktion (linear predictive coder, LPC) 1 angelegt werden, der für jeden Rahmen einen Satz LPC-Koeffizienten a erzeugt. Diese Koeffizienten sind eine Darstellung der Kurzzeitredundanz in dem Rahmen.
  • Der Ausgang vom LPC 1 umfaßt die LPC-Koeffizienten a und ein Restsignal r&sub1;, das erzeugt wird, indem unter Verwendung eines LPC-Analysefilters die Kurzzeitredundanz aus dem Eingangssprachrahmen entfernt wird. Das Restsignal wird dann an eine Langzeit-Prädiktionseinrichtung (LTP) 2 bereitgestellt, die einen Satz LTP-Pararneter b, die eine Darstellung der Langzeitredundanz im Restsignal r&sub1; sind, und außerdem ein Restsignal s, aus dem die Langzeitredundanz entfernt wurde, erzeugt. In der Praxis ist die Langzeitprädiktion ein zweistufiger Vorgang, der (1) eine erste Abschätzung mit offener Schleife eines Satzes LTP-Parameter für den gesamten Rahmen und (2) eine zweite Verfeinerung mit geschlossener Schleife der geschätzten Parameter beinhaltet, um einen Satz LTP-Parameter für jeden aus 40 Abtastwerten bestehenden Unterrahmen des Rahmens zu erzeugen. Das Restsignal s, das durch die LTP 2 bereitgestellt wird, wird seinerseits durch Filter 1/A(z) und W(z) (die in Fig. 1 gemeinsam als Block 2a gezeigt sind) gefiltert, um ein gewichtetes Restsignal zu schaffen. Das erste dieser Filter ist ein LPC-Synthesefilter, während das zweite ein Erkennbarkeits-Gewichtungsfilter ist, das die "Formant"-Struktur des Spektrums hervorhebt. Die Parameter für beide Filter werden durch die LPC-Analysestufe (Block 1) bereitgestellt.
  • Ein algebraisches Anregungs-Codebuch 3 wird verwendet, um Anregungsvektoren (oder Innovationsvektoren) c zu erzeugen. Für jeden der aus 40 Abtastwerten bestehenden Unterrahmen (vier Unterrahmen pro Rahmen) werden mehrere unterschiedliche "Kandidaten" der Anregungsvektoren nacheinander über eine Skaliereinheit 4 an ein LTP-Synthesefilter 5 angelegt. Dieses Filter 5 empfängt die LTP-Parameter für den aktuellen Unterrahmen und führt die durch die LTP- Parameter vorhergesagte Langzeitredundanz in den Anregungsvektor ein. Das resultierende Signal wird dann an ein LPC-Synthesefilter 6 bereitgestellt, das die LPC-Koeffizienten für aufeinanderfolgende Rahmen empfängt. Für einen gegebenen Unterrahmen wird unter Verwendung der Zwischenrahmeninterpolation ein Satz LPC-Koeffizienten erzeugt und die erzeugten Koeffizienten werden nacheinander angelegt, um ein synthetisiertes Signal ss zu erzeugen.
  • Der Codierer von Fig. 1 unterscheidet sich von früheren Codierern der codeangeregten linearen Prädiktion (Code Excited Linear Prediction, CELP), die ein Codebuch verwenden, das einen im voraus definierten Satz Anregungsvektoren enthält. Der frühere Codierertyp vertraut statt dessen auf die algebraische Erzeugung und Spezifikation von Anregungsvektoren (siehe z. B. WO 9 624 925) und wird gelegentlich als algebraischer CELP oder ACELP bezeichnet. Insbesondere werden quantisierte Vektoren d(i) definiert, die 10 Impulse, die von null verschieden sind, enthalten. Alle Impulse können die Amplituden +1 oder -1 aufweisen. Die 40 Abtastpositionen (i = 0 bis 39) in einem Unterrahmen werden in 5 "Ketten" unterteilt, wobei jede Kette zwei Impulse enthält (d. h. an zwei von acht möglichen Positionen), wie in der folgenden Tabelle gezeigt ist. Tabelle 1: Potentielle Positionen der einzelnen Impulse im algebraischen Codebuch
  • Jedes Paar von Impulsen in einer gegebenen Kette wird mit 6 Bits codiert (d. h. 3 Bits für jeden Impuls ergeben eine Gesamtzahl von 30 Bits), während das Vorzeichen des ersten Impulses in der Kette mit 1 Bit codiert wird (eine Gesamtzahl von 5 Bits). Das Vorzeichen des zweiten Impulses wird nicht speziell codiert, sondern wird von seiner Position in bezug auf den ersten Impuls abgeleitet. Wenn die Abtastposition des zweiten Impulses vor der des ersten Impulses liegt, wird der zweite Impuls so definiert, daß er das entgegengesetzte Vorzeichen vom ersten Impuls besitzt, andernfalls werden beide Impulse so definiert, daß sie das gleiche Vorzeichen haben. Alle 3 Bit-Impulspositionen werden Gray-codiert, um die Robustheit gegenüber Kanalfehlern zu verbessern, was ermöglicht, daß die quantisierten Vektoren mit einem algebraischen 35 Bit- Code u codiert werden.
  • Um den Anregungsvektor c(i) zu erzeugen, wird der quantisierte Vektor d(i), der durch den algebraischen Code u definiert ist, durch ein Vorfilter FE(z) gefiltert, wodurch spezielle Sprachkomponenten verstärkt werden, um die Güte der synthetisierten Sprache zu verbessern. Das Vorfilter (das gelegentlich als "Farbgebungs"-Filter bekannt ist) ist in Form von bestimmten LTP-Parametern definiert, die für den Unterrahmen erzeugt werden.
  • Wie beim herkömmlichen CELP-Codierer bestimmt eine Differenzeinheit 7 den Fehler zwischen dem synthetisierten Signal und dem Eingangssignal für jeden Abtastwert (und für jeden Unterrahmen). Ein Gewichtungsfilter 8 wird anschließend verwendet, um das Fehlersignal zu gewichten, damit die menschliche Tonwahrnehmung berücksichtigt wird. Für einen gegebenen Unterrahmen wählt eine Sucheinheit 9 einen geeigneten Anregungsvektor {c(i) mit i = 0 bis 39} aus dem Satz möglicher Vektoren, die durch das algebraische Codebuch erzeugt wurden, indem der Vektor identifiziert wird, der den gewichteten mittleren quadratischen Fehler minimiert. Dieser Vorgang ist gewöhnlich als "Vektorquantisierung" bekannt.
  • Wie bereits angemerkt wurde, werden die Anregungsvektoren in der Skaliereinheit 4 mit einer Verstärkung gc, multipliziert. Es wird ein Verstärkungswert gewählt, der den skalierten Anregungsvektor zur Folge hat, der eine solche Energie besitzt, die gleich der Energie des gewichteten Restsignals ist, das durch die LTP 2 bereitgestellt wird. Die Verstärkung ist gegeben durch:
  • wobei H die Impulsreaktionsmatrix des linearen Prädiktionsmodells (LTP und LPC) ist.
  • Es ist notwendig, zusammen mit dem algebraischen Code, der den Anregungsvektor definiert, Verstärkungsinformationen in den Unterrahmen der codierten Sprache aufzunehmen, um zu ermöglichen, daß der Unterrahmen genau rekonstruiert wird. Anstatt jedoch die Verstärkung gc direkt aufzunehmen, wird in einer Verarbeitungseinheit 10 aus vorhergehenden Unterrahmen eine vorhergesagte Verstärkung c erzeugt und in einer Einheit 11 wird ein Korrekturfaktor bestimmt, d. h.:
  • γgc = gc/ c (2)
  • Der Korrekturfaktor wird dann unter Verwendung der Vektorquantisierung mit einem Verstärkungskorrekturfaktor-Codebuch, das 5 Bit-Codevektoren enthält, quantisiert. Der Indexvektor vγ identifiziert den quantifizierten Verstärkungskorrekturfaktor gc, der in den codierten Rahmen aufgenommen wird. Es wird angenommen, daß sich die Verstärkung gc von Rahmen zu Rahmen nur wenig unterscheidet, gc ∼ 1, und mit einem relativ kurzen Codebuch genau quantisiert werden kann.
  • Das Dokument US-A-5.664.055 offenbart die Verwendung eines Korrekturfaktors zum Berechnen der festen Codebuchverstärkung basierend auf vorhergehenden festen Codebuchenergien.
  • In der Praxis wird die vorhergesagte Verstärkung c unter Verwendung einer Prädiktion bei beweglichem Mittelwert (MA) mit festen Koeffizienten abgeleitet. Eine MA-Prädiktion 4. Ordnung wird an der Anregungsenergie wie folgt ausgeführt. E(n) soll die um den Mittelwert verminderte Anregungsenergie (in dB) im Unterrahmen n sein, die gegeben ist durch:
  • wobei N = 40 die Unterrahmengröße ist, c(i) ist der Anregungsvektor (einschließlich Vorfilterung) und = 36 dB ist ein vorgegebener Mittelwert der typischen Anregungsenergie. Die Energie für den Unterrahmen n kann vorhergesagt werden durch:
  • wobei [b&sub1; b&sub2; b&sub3; b&sub4;] = [0,68 0,58 0,34 0,19] die MA-Prädiktions-Koeffizienten sind und R(j) der Fehler in der vorhergesagten Energie (j) im Unterrahmen j ist. Der Fehler für den aktuellen Unterrahmen wird zur Verwendung bei der Verarbeitung des nachfolgenden Unterrahmens gemäß der folgenden Gleichung berechnet:
  • (n) = E(n) - (n) (5)
  • Die vorhergesagte Energie kann verwendet werden, um die vorhergesagte Verstärkung c zu berechnen, indem in Gleichung (3) E(n) durch (n) ersetzt wird, damit ergibt sich:
  • c = 100,05( (n)+ -Ec)
  • wobei
  • die Energie des Anregungsvektors c(i) ist.
  • Die Codebuchsuche des Verstärkungskorrekturfaktors wird durchgeführt, um den quantifizierten Verstärkungskorrekturfaktor gc zu identifizieren, der den Fehler minimiert:
  • eQ = (gc - gc c)² (8)
  • Der codierte Rahmen umfaßt die LPC-Koeffizienten, die LTP-Parameter, den algebraischen Code, der den Anregungsvektor definiert, und den quantisierten Verstärkungskorrekturfaktor-Codebuchindex. Vor der Übertragung wird in einer Codier- und Multiplexiereinheit 12 an bestimmten Parametern der Codierungsparameter eine weitere Codierung ausgeführt. Insbesondere werden die LPC-Koeffizienten in eine entsprechende Anzahl von Linienspektralpaar- (LSP) Koeffizienten umgesetzt, wie in "Efficient Vector Quantisation of LPC Parameters at 24 Bits/Frame" von Kuldip K. P. und Bishnu S. A., IEEE Trans. Speech and Audio Processing, Bd. 1, Nr. 1, Januar 1993 beschrieben ist. Der gesamte codierte Rahmen wird außerdem codiert, um eine Fehlererkennung und Korrektur zu gewährleisten. Der Codec, der für GSM Phase 2 spezifiziert wurde, codiert jeden Sprachrahmen mit genau der gleichen Anzahl von Bits, d. h. 244, wobei die Anzahl nach der Einführung der Faltungscodierung und dem Hinzufügen von Bits der zyklischen Redundanzprüfung auf 456 ansteigt.
  • Fig. 2 zeigt den allgemeinen Aufbau eines ACELP-Decodierers, der zum Decodieren von Signalen geeignet ist, die mit dem Codierer von Fig. 1 codiert wurden. Ein Demultiplexer 13 unterteilt ein empfangenes Signal in seine verschiedenen Komponenten. Ein algebraisches Codebuch 14, das gleich dem Codebuch 3 am Decodierer ist, bestimmt den Codevektor, der durch den algebraischen 35 Bit-Code im empfangenen codierten Signal spezifiziert ist und filtert diesen vor (unter Verwendung der LTP-Parameter), um den Anregungsvektor zu erzeugen. Ein Verstärkungskorrekturfaktor wird unter Verwendung des empfangenen quantisierten Verstärkungskorrekturfaktors aus einem Codebuch des Verstärkungskorrekturfaktors bestimmt und wird im Block 15 verwendet, um die vorhergesagte Verstärkung zu korrigieren, die aus den zuvor decodierten Unterrahmen abgeleitet und im Block 16 bestimmt wurde. Der Anregungsvektor wird im Block 17 mit der korrigierten Verstärkung multipliziert, bevor das Produkt an ein LTP-Synthesefilter 18 und ein LPC-Synthesefilter 19 angelegt wird. Die LTP- und LPC-Filter empfangen die LTP-Parameter bzw. die LPC-Koeffizienten, die durch das codierte Signal übertragen werden, und führen die Langzeit- und die Kurzzeitredundanz wieder in den Anregungsvektor ein.
  • Die Sprache ist durch ihre eigentliche Natur variabel, wobei sie Perioden mit großer und geringer Aktivität und oftmals eine relative Ruhe enthält. Die Verwendung der Codierung mit fester Bitrate kann deshalb Bandbreiteressourcen verschwenden. Eine Anzahl von Sprach-Codecs sind vorgeschlagen worden, die die Codierungsbitrate für jeden Rahmen oder für jeden Unterrahmen ändern. Zum Beispiel schlägt US 5.657.420 einen Sprach-Codec zur Verwendung im US-CDMA-System vor, bei dem die Codierungsbitrate für einen Rahmen in Abhängigkeit vom Pegel der Sprachaktivität in dem Rahmen aus einer Anzahl möglicher Raten gewählt wird.
  • In Bezug auf den ACELP-Codec ist vorgeschlagen worden, Sprachsignal-Unterrahmen in zwei oder mehr Klassen zu klassifizieren und die verschiedenen Klassen unter Verwendung unterschiedlicher algebraischer Codebücher zu codieren. Genauer können Unterrahmen, bei denen sich das gewichtete Restsignal zeitlich lediglich langsam ändert, unter Verwendung von Codevektoren d(i) mit relativ wenigen Impulsen (z. B. 2) codiert werden, während Unterrahmen, bei denen sich das gewichtete Restsignal relativ schnell ändert, unter Verwendung von Codevektoren d(i) mit einer relativ großen Anzahl von Impulsen (z. B. 10) codiert werden können.
  • Unter Bezugnahme auf die obige Gleichung (7) hat eine Änderung der Anzahl der Anregungsimpulse im Codevektor d(i) von beispielsweise 10 auf 2 eine entsprechende Verminderung der Energie des Anregungsvektors c(i) zu Folge. Da die Energieprädiktion der Gleichung (4) auf vorherigen Rahmen basiert, ist die Prädiktion nach der großen Reduzierung der Anzahl der Anregungsimpulse wahrscheinlich schlecht. Dies wiederum hat einen relativ großen Fehler bei der vorhergesagten Verstärkung c zur Folge, was verursacht, daß der Verstärkungskorrekturfaktor sich über dem Sprachsignal stark ändert. Um diesen sich stark ändernden Verstärkungskorrekturfaktor genau quantisieren zu können, muß die Tabelle zur Quantisierung des Verstärkungskorrekturfaktors relativ groß sein, was einen entsprechend langen Codebuch-Index νγ von beispielsweise 5 Bits erfordert. Dadurch werden den codierten Unterrahmen-Daten zusätzliche Bits angefügt.
  • Es ist selbstverständlich, daß in CELP-Codierern außerdem große Fehler in der vorhergesagten Verstärkung entstehen können, wobei sich die Energie der Codevektoren d(i) von Rahmen zu Rahmen relativ stark ändert, was für das Quantisieren des Verstärkungskorrekturfaktors ein ähnlich großes Codebuch erforderlich macht.
  • Es ist eine Aufgabe der vorliegenden Erfindung, die oben genannten Nachteile der vorhandenen Codecs mit variabler Rate zu überwinden oder wenigstens zu mindern.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Codieren eines Sprachsignals geschaffen, wobei das Signal eine Folge von Unterrahmen mit digitalisierten Sprachabtastwerten umfaßt, wobei das Verfahren für jeden Unterrahmen umfaßt:
  • (a) Wählen eines quantisierten Vektors d(i) mit wenigstens einem Impuls, wobei die Anzahl m und die Position der Impulse im Vektor d(i) in den Unterrahmen verschieden sein kann;
  • (b) Bestimmen eines Verstärkungswerts gc zum Skalieren der Amplitude des quantisierten Vektors d(i) oder eines weiteren Vektors c(i), der vom quantisierten Vektor d(i) abgeleitet wird, wobei der skalierte Vektor ein gewichtetes Restsignal synthetisiert;
  • (c) Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebenen Energiepegels zur Energie des quantisierten Vektors d(i) ist;
  • (d) Bestimmen eines vorhergesagten Verstärkungswerts c auf der Grundlage von einem oder mehreren zuvor verarbeiteten Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder dieses weiteren Vektors c(i), wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
  • (e) Bestimmen eines quantisierten Verstärkungskorrekturfaktors gc unter Verwendung der Verstärkungswerts gc und des vorhergesagten Verstärkungswerts c.
  • Durch das oben dargestellte Skalieren der Energie des Anregungsvektors erreicht die vorliegende Erfindung eine Verbesserung bei der Genauigkeit des vorhergesagten Verstärkungswerts c, wenn die Anzahl der Impulse (oder der Energie), die im quantisierten Vektor d(i) vorhanden sind, sich von Unterrahmen zu Unterrahmen unterscheidet. Dadurch reduziert sich wiederum der Bereich des Verstärkungskorrekturfaktors γgc und seine genaue Quantisierung mit einem kleineren Quantisierungscodebuch als bisher wird ermöglicht. Die Verwendung eines kleineren Codebuchs reduziert die Bitlänge des Vektors, der benötigt wird, um das Codebuch zu indizieren. Alternativ kann eine Verbesserung der Quantisierungsgenauigkeit mit der gleichen Codebuchgröße wie bisher erreicht werden.
  • In einer Ausführungsform der vorliegenden Erfindung hängt die Anzahl m der Impulse im Vektor d(i) von der Natur des Unterrahmen-Sprachsignals ab. In einer weiteren alternativen Ausführungsform wird die Anzahl m der Impulse durch Systemanforderungen oder Eigenschaften bestimmt. Dort, wo z. B. das codierte Signal über einen Übertragungskanal zu übertragen ist, kann die Anzahl der Impulse klein sein, wenn die Kanalstörung groß ist, wodurch ermöglicht wird, daß dem Signal mehr Schutzbits hinzugefügt werden. Wenn die Kanalstörung klein ist und das Signal weniger Schutzbits benötigt, kann die Anzahl der Impulse im Vektor erhöht sein.
  • Das Verfahren der vorliegenden Erfindung ist vorzugsweise ein Verfahren zum Codieren mit veränderlicher Bitrate und umfaßt das Erzeugen des gewichteten Restsignals , indem im wesentlichen die Langzeit- und die Kurzzeitredundanz aus dem Sprachsignal-Unterrahmen entfernt werden, das Klassifizieren des Sprachsignal-Unterrahmens gemäß der im gewichteten Restsignal enthaltenen Energie und das Verwenden der Klassifizierung, um die Anzahl der Impulse m im quantisierten Vektor d(i) zu bestimmen.
  • Das Verfahren umfaßt vorzugsweise das Erzeugen eines Satzes Koeffizienten a der Codierung durch lineare Prädiktion (LPC) für jeden Unterrahmen und eines Satzes Parameter b der Langzeitprädiktion (LTP) für jeden Rahmen, wobei ein Rahmen mehrere Sprach-Unterrahmen umfaßt, und das Erzeugen eines codierten Sprachsignals auf der Grundlage der LPC-Koeffizienten, der LTP-Parameter, des quantisierten Vektors d(i) und des quantisierten Verstärkungskorrekturfaktors gc.
  • Der quantisierte Vektor d(i) ist vorzugsweise durch einen algebraischen Code u definiert, wobei der Code im codierten Sprachsignal enthalten ist.
  • Der Verstärkungswert gc wird vorzugsweise verwendet, um den weiteren Vektor c(i) zu skalieren, wobei dieser weitere Vektor durch Filtern des quantisierten Vektors d(i) erzeugt wird.
  • Der vorhergesagte Verstärkungswert wird vorzugsweise gemäß der folgenden Gleichung bestimmt:
  • c = 100,05( (n)+ -Ec)
  • wobei eine Konstante ist und (n) die Prädiktion der Energie im aktuellen Unterrahmen auf der Grundlage der vorherigen Unterrahmen ist. Die vorhergesagte Energie kann unter Verwendung der folgenden Gleichung bestimmt werden:
  • wobei bi die veränderlichen Koeffizienten der Mittelwertprädiktion sind, p ist die Ordnung der Prädiktion und (j) ist der Fehler in der vorhergesagten Energie (j) am vorherigen Unterrahmen j, der gegeben ist durch:
  • (n) = E(n) - (n)
  • Der Term Ec wird bestimmt unter Verwendung der Gleichung:
  • wobei N die Anzahl der Abtastwerte im Unterrahmen ist. Vorzugsweise gilt:
  • k = M/m
  • wobei M maximal zulässige Anzahl von Impulsen im quantisierten Vektor d(i) ist.
  • Der quantisierte Vektor d(i) umfaßt vorzugsweise zwei oder mehr Impulse, wobei alle Impulse dieselbe Amplitude besitzen.
  • Der Schritt (d) umfaßt vorzugsweise das Durchsuchen eines Verstärkungskorrekturfaktor-Codebuchs, um den quantisierten Verstärkungskorrekturfaktor gc zu bestimmen, der den Fehler minimiert:
  • eQ = (gc - gc c)²
  • und das Codieren des Codebuchindex für den identifizierten Verstärkungskorrekturfaktor.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Decodieren einer Folge codierter Unterrahmen eines digitalisierten abgetasteten Sprachsignals geschaffen, wobei das Verfahren für jeden Unterrahmen umfaßt:
  • (a) Wiederherstellen eines quantisierten Vektors d(i) mit wenigstens einem Impuls aus dem codierten Signal, wobei die Anzahl m und die Position von Impulsen im Vektor d(i) in den Unterrahmen verschieden sein kann;
  • (b) Wiederherstellen eines quantisierten Verstärkungskorrekturfaktors gc aus dem codierten Signal;
  • (c) Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebenen Energiepegels zur Energie im quantisierten Vektor d(i) ist;
  • (d) Bestimmen eines vorhergesagten Verstärkungswerts c auf der Grundlage eines oder mehrerer zuvor verarbeiteter Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder eines weiteren Vektors c(i), der von d(i) abgeleitet ist, wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
  • (e) Korrigieren des vorhergesagten Verstärkungswerts c unter Verwendung des quantisierten Verstärkungskorrekturfaktors gc um einen korrigierten Verstärkungswert gc zu schaffen; und
  • (f) Skalieren des quantisierten Vektors d(i) oder des weiteren Vektors c(i) unter Verwendung des Verstärkungswerts gc, um einen Anregungsvektor zum Synthetisieren eines Restsignals zu erzeugen, das im ursprünglichen Unterrahmen-Sprachsignal verbleibt, nachdem daraus im wesentlichen die redundanten Informationen entfernt wurden.
  • Jeder codierte Unterrahmen des empfangenen Signals umfaßt vorzugsweise einen algebraischen Code u, der den quantisierten Vektor d(i) definiert, und einen Index, der ein quantisiertes Verstärkungskorrekturfaktor-Codebuch adressiert, aus dem der quantisierte Verstärkungskorrekturfaktor gc erhalten wird.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Codieren eines Sprachsignals geschaffen, wobei das Signal eine Folge von Unterrahmen umfaßt, die digitalisierte Sprachabtastwerte enthalten, wobei die Vorrichtung Mittel aufweist, um nacheinander jeden der Unterrahmen zu codieren, wobei die Mittel umfassen:
  • Vektorwählmittel zum Wählen eines quantisierten Vektors d(i), der wenigstens einen Impuls umfaßt, wobei die Anzahl m und die Position von Impulsen im Vektor d(i) in den Unterrahmen verschieden sein können;
  • erste Signalverarbeitungsmittel zum Bestimmen eines Verstärkungswerts gc zum Skalieren der Amplitude des quantisierten Vektors d(i) oder eines weiteren Vektors c(i), der vom quantisierten Vektor d(i) abgeleitet ist, wobei der skalierte Vektor ein gewichtetes Restsignal synthetisiert;
  • zweite Signalverarbeitungsmittel zum Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebenen Energiepegels zur Energie im quantisierten Vektor d(i) ist;
  • dritte Signalverarbeitungsmittel zum Bestimmen eines vorhergesagten Verstärkungswerts c auf der Grundlage eines oder mehrerer zuvor verarbeiteter Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder des weiteren Vektors c(i), wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
  • vierte Signalverarbeitungsmittel zum Bestimmen eines quantisierten Verstärkungskorrekturfaktors gc unter Verwendung des Verstärkungswerts gc und des vorhergesagten Verstärkungswerts c.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Decodieren einer Folge codierter Unterrahmen eines digitalisierten abgetasteten Sprachsignals geschaffen, wobei die Vorrichtung Mittel aufweist, um nacheinander jeden der Unterrahmen zu decodieren, wobei die Mittel umfassen:
  • erste Signalverarbeitungsmittel zum Wiederherstellen eines quantisierten Vektors d(i), der wenigstens einen Impuls enthält, aus dem codierten Signal, wobei die Anzahl m und die Position der Impulse im Vektor d(i) in den Unterrahmen verschieden sein können;
  • zweite Signalverarbeitungsmittel zum Wiederherstellen eines quantisierten Verstärkungskorrekturfaktors gc aus dem codierten Signal;
  • dritte Signalverarbeitungsmittel zum Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebenen Energiepegels zur Energie im quantisierten Vektor d(i) ist;
  • vierte Signalverarbeitungsmittel zum Bestimmen eines vorhergesagten Verstärkungswerts c auf der Grundlage eines oder mehrerer zuvor verarbeiteter Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder eines weiteren Vektors c(i), der vom quantisierten Vektor abgeleitet ist, wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
  • Korrekturmittel zum Korrigieren des vorhergesagten Verstärkungswerts c unter Verwendung des quantisierten Verstärkungskorrekturfaktors gc, um einen korrigierten Verstärkungswerts gc zu schaffen; und
  • Skalierungsmittel zum Skalieren des quantisierten Vektors d(i) oder des weiteren Vektors c(i) unter Verwendung des Verstärkungswerts gc, um einen Anregungsvektor zu schaffen, der ein Restsignal synthetisiert, das im ursprünglichen Unterrahmen-Sprachsignal verbleibt, nachdem daraus im wesentlichen redundante Informationen entfernt wurden.
  • Für ein besseres Verständnis der vorliegenden Erfindung und um zu zeigen, wie diese verwirklicht werden kann, wird nachfolgend lediglich beispielhaft Bezug auf die beigefügte Zeichnung genommen, in der:
  • Fig. 1 einen Blockschaltplan eines ACELP-Sprachcodierers zeigt;
  • Fig. 2 einen Blockschaltplan eines ACELP-Sprachdecodierers zeigt;
  • Fig. 3 einen Blockschaltplan eines modifizierten ACELP-Sprachcodierers zeigt, der bei veränderlicher Bitrate codieren kann; und
  • Fig. 4 einen Blockschaltplan eines modifizierten ACELP-Sprachdecodierers zeigt, der ein Signal decodieren kann, das bei veränderlicher Bitrate codiert wurde.
  • Ein ACELP-Sprachcodec, der jenem ähnlich ist, der für GSM Phase 2 vorgeschlagen wurde, wurde oben unter Bezugnahme auf die Fig. 1 und 2 beschrieben. Fig. 3 veranschaulicht einen modifizierten ACELP-Sprachcodierer, der zum Codieren mit veränderlicher Bitrate eines digitalisierten abgetasteten Sprachsignals geeignet ist, und bei dem Funktionsblöcke, die bereits unter Bezugnahme auf Fig. 1 beschrieben wurden, mit gleichen Bezugszeichen gekennzeichnet sind.
  • Im Codierer von Fig. 3 ist das einzelne algebraische Codebuch 3 von Fig. 1 durch ein Paar algebraischer Codebücher 130, 140 ersetzt. Ein erstes Codebuch 130 ist so beschaffen, daß es Anregungsvektoren c(i) auf der Grundlage von Codevektoren d(i), die zwei Impulse enthalten, erzeugt, während ein zweites Codebuch 14 so beschaffen ist, daß es Anregungsvektoren c(i) auf der Grundlage von Codevektoren d(i), die zehn Impulse enthalten, erzeugt. Für einen gegebenen Unterrahmen erfolgt die Wahl des Codebuchs 130, 140 durch eine Codebuchwähleinheit 150 in Abhängigkeit von der Energie, die im gewichteten Restsignal enthalten ist, das durch die LTP 2 bereitgestellt wird. Wenn die Energie im gewichteten Restsignal einen im voraus definierten (oder adaptiven) Schwellenwert überschreitet, was eine Anzeige eines stark schwankenden Restsignals ist, wird das Codebuch 140 mit zehn Impulsen gewählt. Wenn die Energie im gewichteten Restsignal andererseits unter den definierten Schwellenwert abfällt, wird das Codebuch 130 mit zwei Impulsen gewählt. Es ist selbstverständlich, daß zwei oder mehr Schwellenwertpegel definiert sein können, wobei dann drei oder mehr Codebücher verwendet werden. Für eine genauere Beschreibung eines Vorgangs der Wahl des geeigneten Codebuchs sollte auf "Toll Quality Variable-Rate Speech Codec", Ojala P., Proc. of IEEE International Conference on Acoustics, Speech and Signal Processing, München, Deutschland, 21.-24. April 1997 Bezug genommen werden.
  • Die Ableitung der Verstärkung gc zur Verwendung in der Skalierungseinheit 4 wird in der oben mit Bezug auf Gleichung (1) beschriebenen Weise erreicht. Beim Ableiten der vorhergesagten Verstärkung c wird jedoch Gleichung (7) durch das Anlegen eines Amplitudenskalierungsfaktors k an den Anregungsvektor wie folgt (in einer modifizierten Verarbeitungseinheit 16) modifiziert:
  • Wenn das zehn Impulse umfassende Codebuch gewählt ist, gilt k = 1, und wenn das zwei Impulse umfassende Codebuch gewählt ist, gilt k = 5 Allgemeiner ausgedrückt ist der Skalierungsfaktor gegeben durch:
  • k = 10/m (10)
  • wobei m die Anzahl der Impulse im entsprechenden Codevektor d(i) ist.
  • Beim Berechnen der um den Mittelwert verminderten Anregungsenergie E(n) für einen vorgegebenen Unterrahmen, um die Energieprädiktion mit Gleichung (4) zu ermöglichen, ist es außerdem notwendig, den Skalierungsfaktor k einzuführen. Deswegen wird Gleichung (3) wird wie folgt modifiziert:
  • Die vorhergesagte Verstärkung wird dann unter Verwendung von Gleichung (6) berechnet, der modifizierte Anregungsvektor ist durch Gleichung (9) gegeben und die modifizierte, um den Mittelwert verminderte Anregungsenergie ist durch Gleichung (11) gegeben.
  • Die Einführung des Skalierungsfaktors k in die Gleichungen (9) und (11) verbessert die Verstärkungsprädiktion beträchtlich, so daß im allgemeinen c ∼ gc und γgc ∼ 1. Da der Bereich des Verstärkungskorrekturfaktors im Vergleich zum Stand der Technik reduziert ist, kann ein kleineres Verstärkungskorrekturfaktor-Codebuch verwendet werden, das einen kürzeren Codebuchindex verwendet, z. B. 3 oder 4 Bits.
  • Fig. 4 veranschaulicht einen Decodierer, der zum Decodieren von Sprachsignalen geeignet ist, die mit dem ACELP-Codierer von Fig. 3 codiert wurden, d. h. bei dem die Sprach-Unterrahmen bei veränderlicher Bitrate codiert sind. Ein Großteil der Funktionalität des Decodierers von Fig. 4 ist dieselbe wie jene von Fig. 3 und die Funktionsblöcke, die bereits mit Bezug auf Fig. 2 beschrieben wurden, sind in Fig. 4 mit gleichen Bezugszeichen gekennzeichnet. Der Hauptunterschied liegt im Vorsehen von zwei algebraischen Codebüchern 20, 21, die den 2- und 10-Impuls-Codebüchern des Codierers von Fig. 3 entsprechen. Die Natur des empfangenen algebraischen Codes u bestimmt die Wahl des geeigneten Codebuchs 20, 21, wobei danach der Decodierungsvorgang im wesentlichen in gleicher Weise erfolgt wie zuvor beschrieben wurde. Wie beim Codierer wird jedoch die vorhergesagte Verstärkung c im Block 22 unter Verwendung von Gleichung (6) berechnet, die skalierte Anregungsvektorenergie E0 ist durch Gleichung (9) gegeben und die skalierte, um den Mittelwert verminderte Anregungsenergie E(n) ist durch Gleichung (11) gegeben.
  • Für einen Fachmann ist selbstverständlich, daß an der obenbeschriebenen Ausführungsform zahlreiche Modifikationen ausgeführt werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Es ist insbesondere selbstverständlich, daß der Codierer und der Decodierer der Fig. 3 und 4 in der Hardware oder in der Software oder durch eine Kombination aus Hardware und Software implementiert sein können. Die obige Beschreibung betrifft das GSM- Zellentelephonsystem, obwohl die vorliegende Erfindung außerdem vorteilhaft bei anderen Zellenfunksystemen und tatsächlich auch bei nicht auf Funk basierenden Kommunikationssystemen wie das Internet angewendet werden kann. Die vorliegende Erfindung kann außerdem verwendet werden, um Sprachdaten zum Zweck der Datenspeicherung zu codieren und zu decodieren.
  • Die vorliegende Erfindung kann bei CELP-Codierern sowie bei ACELP-Codierern angewendet werden. Da jedoch CELP-Codierer zum Erzeugen des quantisierten Vektors d(i) ein festes Codebuch aufweisen und die Amplitude der Impulse sich in einem gegebenen quantisierten Vektor ändern kann, ist der Skalierungsfaktor k zum Skalieren der Amplitude des Anregungsvektors c(i) keine einfache Funktion der Anzahl der Impulse m (wie in Gleichung (10)). Statt dessen muß die Energie für jeden quantisierten Vektor d(i) des festen Codebuchs berechnet werden und das Verhältnis dieser Energie beispielsweise zur maximalen Energie des quantisierten Vektors muß bestimmt werden. Die Quadratwurzel dieses Verhältnisses liefert dann den Skalierungsfaktor k.

Claims (16)

1. Verfahren zum Codieren eines Sprachsignals, das eine Folge von Unterrahmen enthält, die digitalisierte Sprachabtastwerte enthalten, wobei das Verfahren für jeden Unterrahmen umfaßt:
(a) Wählen eines quantisierten Vektors d(i), der wenigstens einen Impuls enthält, wobei die Anzahl m und die Position der Impulse im Vektor d(i) in den Unterrahmen verschieden sein kann;
(b) Bestimmen eines Verstärkungswerts gc zum Skalieren der Amplitude des quantisierten Vektors d(i) oder eines anderen Vektors c(i), der vom quantisierten Vektor d(i) abgeleitet ist, wobei der skalierte Vektor ein gewichtetes Restsignal synthetisiert;
(c) Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebenen Energiepegels zur Energie im quantisierten Vektor d(i) ist;
(d) Bestimmen eines vorhergesagten Verstärkungswerts c auf der Grundlage eines oder mehrerer zuvor verarbeiteter Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder des anderen Vektors c(i), wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
(e) Bestimmen eines quantisierten Verstärkungskorrekturfaktors gc unter Verwendung des Verstärkungswerts gc und des vorhergesagten Verstärkungswerts c.
2. Verfahren nach Anspruch 1, wobei das Verfahren ein Verfahren zum Codieren bei veränderlicher Bitrate ist und umfaßt:
Erzeugen des gewichteten Restsignals , indem im wesentlichen die Langzeit- und die Kurzzeitredundanz aus dem Sprachsignal-Unterrahmen entfernt werden; und
Klassifizieren des Sprachsignal-Unterrahmens anhand der Energie, die im gewichteten Restsignal enthalten ist, und Verwenden der Klassifizierung, um die Anzahl der Impulse m im quantisierten Vektor d(i) zu bestimmen.
3. Verfahren nach Anspruch 1 oder 2, umfassend:
Erzeugen eines Satzes Koeffizienten a der Codierung durch lineare Prädiktion (LPC) für jeden Unterrahmen und eines Satzes Parameter b der Langzeitprädiktion (LTP) für jeden Rahmen, wobei ein Rahmen mehrere Unterrahmen enthält; und
Erzeugen eines codierten Sprachsignals auf der Grundlage der LPC-Koeffizienten, der LTP-Parameter, des quantisierten Vektors d(i) und des quantisierten Verstärkungskorrekturfaktors gc.
4. Verfahren nach einem der vorhergehenden Ansprüche, das das Definieren des quantisierten Vektors d(i) im codierten Signal durch einen algebraischen Code u umfaßt.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der vorhergesagte Verstärkungswert gemäß folgender Gleichung definiert ist:
c = 100,05( (n)+ -Ec)
wobei eine Konstante ist und (n) die Prädiktion der Energie im aktuellen Unterrahmen ist, die auf der Grundlage der zuvor verarbeiteten Unterrahmen bestimmt wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der vorhergesagte Verstärkungswert c eine Funktion der um den Mittelwert verminderten Anregungsenergie E(n) des quantisierten Vektors d(i) oder des weiteren Vektors c(i) aus jedem der zuvor verarbeiteten Unterrahmen ist, wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist.
7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Verstärkungswert gc verwendet wird, um den weiteren Vektor c(i) zu skalieren, und wobei der weitere Vektor erzeugt wird, indem der quantisierte Vektor d(i) gefiltert wird.
8. Verfahren nach Anspruch 5, wobei:
der vorhergesagte Verstärkungswert c eine Funktion der um den Mittelwert verminderten Anregungsenergie E(n) des quantisierten Vektors d(i) oder des weiteren Vektors c(i) von jedem der zuvor verarbeiteten Unterrahmen ist, wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist;
der Verstärkungswert gc verwendet wird, um den weiteren Vektor c(i) zu skalieren, und der weitere Vektor erzeugt wird, indem der quantisierte Vektor d(i) gefiltert wird; und
die vorhergesagte Energie unter Verwendung der folgenden Gleichung bestimmt wird:
wobei bi die veränderlichen Koeffizienten der Mittelwertprädiktion sind, p ist die Ordnung der Prädiktion und (j) ist der Fehler in der vorhergesagten Energie (j) am vorherigen Unterrahmen j, der gegeben ist durch:
(n) = E(n) - (n)
wobei
9. Verfahren nach Anspruch 5, wobei der Term Ec unter Verwendung der folgenden Gleichung bestimmt wird:
wobei N die Anzahl der Abtastwerte im Unterrahmen ist.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei dann, wenn der Quantisierungsvektor d(i) zwei oder mehr Impulse enthält, alle Impulse dieselbe Amplitude besitzen.
11. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Skalierungsfaktor gegeben ist durch:
k = M/m
wobei M ist maximal zulässige Anzahl von Impulsen im quantisierten Vektor d(i) ist.
12. Verfahren nach einem der vorhergehenden Ansprüche, umfassend das Durchsuchen eines Verstärkungskorrekturfaktor-Codebuchs, um den quantisierten Verstärkungskorrekturfaktor gc zu bestimmen, der den Fehler
eQ = (gc - gc c)²
minimiert, und das Codieren des Codebuchindex für den identifizierten quantisierten Verstärkungskorrekturfaktor.
13. Verfahren zum Decodieren einer Folge codierter Unterrahmen eines digitalisierten abgetasteten Sprachsignals, wobei das Verfahren für jeden Unterrahmen umfaßt:
(a) Wiederherstellen eines quantisierten Vektors d(i), der wenigstens einen Impuls enthält, aus dem codierten Signal, wobei die Anzahl m und die Position der Impulse im Vektor d(i) in den Unterrahmen verschieden sein können;
(b) Wiederherstellen eines quantisierten Verstärkungskorrekturfaktors gc aus dem codierten Signal;
(c) Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebene Energiepegels zur Energie im quantisierten Vektor d(i) ist;
(d) Bestimmen eines vorgesagten Verstärkungswerts c auf der Grundlage von einem oder mehreren zuvor verarbeiteten Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder eines weiteren Vektors c(i), der vom quantisierten Vektor abgeleitet ist, wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
(e) Korrigieren des vorhergesagten Verstärkungswerts c unter Verwendung des quantisierten Verstärkungskorrekturfaktors gc, um einen korrigierten Verstärkungswert gc zu schaffen; und
(f) Skalieren des quantisierten Vektors d(i) oder des weiteren Vektors c(i) unter Verwendung des Verstärkungswerts gc, um einen Anregungsvektor zu erzeugen, der ein Restsignal synthetisiert, das im ursprünglichen Unterrahmen-Sprachsignal verbleibt, nachdem daraus im wesentlichen die redundanten Informationen entfernt wurden.
14. Verfahren nach Anspruch 13, bei dem jeder codierte Unterrahmen des empfangenen Signals einen algebraischen Code, der den quantisierten Vektor d(i) definiert, und einen Index enthält, der ein Codebuch des quantisierten Verstärkungskorrekturfaktors adressiert, aus dem der quantisierte Verstärkungskorrekturfaktor gc erhalten wird.
15. Vorrichtung zum Codieren eines Sprachsignals, wobei das Signal eine Folge von Unterrahmen mit digitalisierten Sprachabtastwerten enthält, wobei die Vorrichtung Mittel aufweist, um nacheinander jeden dieser Unterrahmen zu codieren, wobei die Mittel umfassen:
Vektorskalierungsmittel zum Wählen eines quantisierten Vektors d(i), der wenigstens einen Impuls enthält, wobei die Anzahl m und die Position der Impulse im Vektor d(i) in den Unterrahmen verschieden sein können;
erste Signalverarbeitungsmittel zum Bestimmen eines Verstärkungswerts gc zum Skalieren der Amplitude des quantisierten Vektors d(i) oder eines weiteren Vektors c(i), der vom quantisierten Vektor d(i) abgeleitet ist, wobei der skalierte Vektor ein gewichtetes Restsignal synthetisiert;
zweite Signalverarbeitungsmittel zum Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebenen Energiepegels zur Energie im quantisierten Vektor d(i) ist;
dritte Signalverarbeitungsmittel zum Bestimmen eines vorhergesagten Verstärkungswerts c auf der Grundlage eines oder mehrerer zuvor verarbeiteter Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder des weiteren Vektors c(i), wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
vierte Signalverarbeitungsmittel zum Bestimmen eines quantisierten Verstärkungskorrekturfaktors gc unter Verwendung des Verstärkungswerts gc und des vorhergesagten Verstärkungswerts c.
16. Vorrichtung zum Decodieren einer Folge codierter Unterrahmen eines digitalisierten abgetasteten Sprachsignals, wobei die Vorrichtung Mittel aufweist, um nacheinander jeden der Unterrahmen zu decodieren, wobei die Mittel umfassen:
erste Signalverarbeitungsmittel zum Wiederherstellen eines quantisierten Vektors d(i), der wenigstens einen Impuls enthält, aus dem codierten Signal, wobei die Anzahl m und die Position der Impulse im Vektor d(i) in den Unterrahmen verschieden sein können;
zweite Signalverarbeitungsmittel zum Wiederherstellen eines quantisierten Verstärkungskorrekturfaktors gc aus dem codierten Signal;
dritte Signalverarbeitungsmittel zum Bestimmen eines Skalierungsfaktors k, der eine Funktion des Verhältnisses eines vorgegebenen Energiepegels zur Energie im quantisierten Vektor d(i) ist;
vierte Signalverarbeitungsmittel zum Bestimmen eines vorhergesagten Verstärkungswerts c auf der Grundlage eines oder mehrerer zuvor verarbeiteter Unterrahmen und als eine Funktion der Energie Ec des quantisierten Vektors d(i) oder eines weiteren Vektors c(i), der vom quantisierten Vektor abgeleitet ist, wenn die Amplitude des Vektors durch den Skalierungsfaktor k skaliert ist; und
Korrekturmittel zum Korrigieren des vorhergesagten Verstärkungswerts c unter Verwendung des quantisierten Verstärkungskorrekturfaktors gc, um einen korrigierten Verstärkungswerts gc zu schaffen; und
Skalierungsmittel zum Skalieren des quantisierten Vektors d(i) oder des weiteren Vektors c(i) unter Verwendung des Verstärkungswerts gc, um einen Anregungsvektor zu schaffen, der ein Restsignal synthetisiert, das im ursprünglichen Unterrahmen-Sprachsignal verbleibt, nachdem daraus im wesentlichen redundante Informationen entfernt wurden.
DE69900786T 1998-03-09 1999-02-12 Sprachkodierung Expired - Lifetime DE69900786T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI980532A FI113571B (fi) 1998-03-09 1998-03-09 Puheenkoodaus
PCT/FI1999/000112 WO1999046764A2 (en) 1998-03-09 1999-02-12 Speech coding

Publications (2)

Publication Number Publication Date
DE69900786D1 DE69900786D1 (de) 2002-02-28
DE69900786T2 true DE69900786T2 (de) 2002-09-26

Family

ID=8551196

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69900786T Expired - Lifetime DE69900786T2 (de) 1998-03-09 1999-02-12 Sprachkodierung

Country Status (11)

Country Link
US (1) US6470313B1 (de)
EP (1) EP1062661B1 (de)
JP (1) JP3354138B2 (de)
KR (1) KR100487943B1 (de)
CN (1) CN1121683C (de)
AU (1) AU2427099A (de)
BR (1) BR9907665B1 (de)
DE (1) DE69900786T2 (de)
ES (1) ES2171071T3 (de)
FI (1) FI113571B (de)
WO (1) WO1999046764A2 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714907B2 (en) * 1998-08-24 2004-03-30 Mindspeed Technologies, Inc. Codebook structure and search for speech coding
AU766830B2 (en) * 1999-09-22 2003-10-23 Macom Technology Solutions Holdings, Inc. Multimode speech encoder
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
EP1796083B1 (de) * 2000-04-24 2009-01-07 Qualcomm Incorporated Verfahren und Vorrichtung zur prädiktiven Quantisierung von stimmhaften Sprachsignalen
US6947888B1 (en) * 2000-10-17 2005-09-20 Qualcomm Incorporated Method and apparatus for high performance low bit-rate coding of unvoiced speech
US7037318B2 (en) * 2000-12-18 2006-05-02 Boston Scientific Scimed, Inc. Catheter for controlled stent delivery
US7054807B2 (en) * 2002-11-08 2006-05-30 Motorola, Inc. Optimizing encoder for efficiently determining analysis-by-synthesis codebook-related parameters
JP3887598B2 (ja) * 2002-11-14 2007-02-28 松下電器産業株式会社 確率的符号帳の音源の符号化方法及び復号化方法
US7249014B2 (en) * 2003-03-13 2007-07-24 Intel Corporation Apparatus, methods and articles incorporating a fast algebraic codebook search technique
FI119533B (fi) * 2004-04-15 2008-12-15 Nokia Corp Audiosignaalien koodaus
US7386445B2 (en) * 2005-01-18 2008-06-10 Nokia Corporation Compensation of transient effects in transform coding
CN101185125B (zh) * 2005-04-01 2012-01-11 高通股份有限公司 用于带宽延伸语音预测激励信号的抗稀疏滤波的方法和设备
WO2007129726A1 (ja) * 2006-05-10 2007-11-15 Panasonic Corporation 音声符号化装置及び音声符号化方法
US8712766B2 (en) * 2006-05-16 2014-04-29 Motorola Mobility Llc Method and system for coding an information signal using closed loop adaptive bit allocation
AU2007318506B2 (en) * 2006-11-10 2012-03-08 Iii Holdings 12, Llc Parameter decoding device, parameter encoding device, and parameter decoding method
WO2008072733A1 (ja) * 2006-12-15 2008-06-19 Panasonic Corporation 符号化装置および符号化方法
JP5434592B2 (ja) * 2007-06-27 2014-03-05 日本電気株式会社 オーディオ符号化方法、オーディオ復号方法、オーディオ符号化装置、オーディオ復号装置、プログラム、およびオーディオ符号化・復号システム
US20090094026A1 (en) * 2007-10-03 2009-04-09 Binshi Cao Method of determining an estimated frame energy of a communication
CN101499281B (zh) * 2008-01-31 2011-04-27 华为技术有限公司 一种语音编码中的增益量化方法及装置
CN101609674B (zh) * 2008-06-20 2011-12-28 华为技术有限公司 编解码方法、装置和系统
CN101741504B (zh) * 2008-11-24 2013-06-12 华为技术有限公司 一种确定信号线性预测编码阶数的方法和装置
US7898763B2 (en) * 2009-01-13 2011-03-01 International Business Machines Corporation Servo pattern architecture to uncouple position error determination from linear position information
US20110051729A1 (en) * 2009-08-28 2011-03-03 Industrial Technology Research Institute and National Taiwan University Methods and apparatuses relating to pseudo random network coding design
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
US8862465B2 (en) 2010-09-17 2014-10-14 Qualcomm Incorporated Determining pitch cycle energy and scaling an excitation signal
US8325073B2 (en) * 2010-11-30 2012-12-04 Qualcomm Incorporated Performing enhanced sigma-delta modulation
US9626982B2 (en) 2011-02-15 2017-04-18 Voiceage Corporation Device and method for quantizing the gains of the adaptive and fixed contributions of the excitation in a CELP codec
JP6072700B2 (ja) * 2011-02-15 2017-02-01 ヴォイスエイジ・コーポレーション Celpコーデックにおける励振信号の適応寄与分および固定寄与分の利得を量子化するための装置および方法
CN112741961A (zh) * 2020-12-31 2021-05-04 江苏集萃智能制造技术研究所有限公司 一种便携式集成tensems功能的电子脉冲刺激器
CN114913863B (zh) * 2021-02-09 2024-10-18 同响科技股份有限公司 数字音信数据编码方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969192A (en) 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
IT1232084B (it) * 1989-05-03 1992-01-23 Cselt Centro Studi Lab Telecom Sistema di codifica per segnali audio a banda allargata
GB2235354A (en) * 1989-08-16 1991-02-27 Philips Electronic Associated Speech coding/encoding using celp
IL95753A (en) * 1989-10-17 1994-11-11 Motorola Inc Digital speech coder
US5754976A (en) 1990-02-23 1998-05-19 Universite De Sherbrooke Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech
CA2010830C (en) 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
FR2668288B1 (fr) * 1990-10-19 1993-01-15 Di Francesco Renaud Procede de transmission, a bas debit, par codage celp d'un signal de parole et systeme correspondant.
US5293449A (en) * 1990-11-23 1994-03-08 Comsat Corporation Analysis-by-synthesis 2,4 kbps linear predictive speech codec
EP1239456A1 (de) 1991-06-11 2002-09-11 QUALCOMM Incorporated Vocoder mit veränderlicher Bitrate
US5255339A (en) * 1991-07-19 1993-10-19 Motorola, Inc. Low bit rate vocoder means and method
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
US5327520A (en) * 1992-06-04 1994-07-05 At&T Bell Laboratories Method of use of voice message coder/decoder
FI96248C (fi) 1993-05-06 1996-05-27 Nokia Mobile Phones Ltd Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin
FI98163C (fi) 1994-02-08 1997-04-25 Nokia Mobile Phones Ltd Koodausjärjestelmä parametriseen puheenkoodaukseen
SE506379C3 (sv) * 1995-03-22 1998-01-19 Ericsson Telefon Ab L M Lpc-talkodare med kombinerad excitation
US5664055A (en) * 1995-06-07 1997-09-02 Lucent Technologies Inc. CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity
CA2177413A1 (en) * 1995-06-07 1996-12-08 Yair Shoham Codebook gain attenuation during frame erasures
US5732389A (en) * 1995-06-07 1998-03-24 Lucent Technologies Inc. Voiced/unvoiced classification of speech for excitation codebook selection in celp speech decoding during frame erasures
US5692101A (en) * 1995-11-20 1997-11-25 Motorola, Inc. Speech coding method and apparatus using mean squared error modifier for selected speech coder parameters using VSELP techniques

Also Published As

Publication number Publication date
US6470313B1 (en) 2002-10-22
WO1999046764A3 (en) 1999-10-21
JP2002507011A (ja) 2002-03-05
BR9907665B1 (pt) 2013-12-31
WO1999046764A2 (en) 1999-09-16
CN1121683C (zh) 2003-09-17
KR20010024935A (ko) 2001-03-26
CN1292914A (zh) 2001-04-25
FI980532A0 (fi) 1998-03-09
KR100487943B1 (ko) 2005-05-04
HK1035055A1 (en) 2001-11-09
EP1062661A2 (de) 2000-12-27
BR9907665A (pt) 2000-10-24
FI980532A7 (fi) 1999-09-10
ES2171071T3 (es) 2002-08-16
DE69900786D1 (de) 2002-02-28
EP1062661B1 (de) 2002-01-09
AU2427099A (en) 1999-09-27
FI113571B (fi) 2004-05-14
JP3354138B2 (ja) 2002-12-09

Similar Documents

Publication Publication Date Title
DE69900786T2 (de) Sprachkodierung
DE69331079T2 (de) CELP-Vocoder
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE60011051T2 (de) Celp-transkodierung
DE69023402T2 (de) Verfahren zur Sprachkodierung und -dekodierung.
DE602004007786T2 (de) Verfahren und vorrichtung zur quantisierung des verstärkungsfaktors in einem breitbandsprachkodierer mit variabler bitrate
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
DE69029232T2 (de) System und Methode zur Sprachkodierung
DE602004003610T2 (de) Halbrätiger Vocoder
DE69928288T2 (de) Kodierung periodischer sprache
DE69530442T2 (de) Vorrichtung zur Sprachkodierung
DE69625874T2 (de) Verfahren und Vorrichtung zur Wiedergabe von Sprachsignalen, zur Dekodierung, zur Sprachsynthese und tragbares Funkendgerät
DE69615839T2 (de) Sprachkodierer
DE68912692T2 (de) Zur Sprachqualitätsmodifizierung geeignetes Übertragungssystem durch Klassifizierung der Sprachsignale.
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE69322313T2 (de) C.E.L.P. - Vocoder
DE69619054T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE60124274T2 (de) Codebuchstruktur und suchverfahren für die sprachkodierung
DE69133058T2 (de) Verfahren zur Kodierung von Sprachsignalen
DE3856211T2 (de) Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE60133757T2 (de) Verfahren und vorrichtung zur kodierung von stimmloser sprache
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE19647298C2 (de) Kodiersystem
DE60012760T2 (de) Multimodaler sprachkodierer

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: NOKIA CORP., ESPOO, FI

8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BECKER, KURIG, STRAUS, 80336 MUENCHEN