DE69900786T2 - Sprachkodierung - Google Patents
SprachkodierungInfo
- 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
Links
- 239000013598 vector Substances 0.000 claims description 155
- 238000012937 correction Methods 0.000 claims description 45
- 230000005284 excitation Effects 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 22
- 230000007774 longterm Effects 0.000 claims description 10
- 238000013139 quantization Methods 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101710196810 Non-specific lipid-transfer protein 2 Proteins 0.000 description 3
- 101710125352 Probable non-specific lipid-transfer protein 2 Proteins 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011045 prefiltration Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101100379142 Mus musculus Anxa1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/06—Determination 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.
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)
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)
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 |
-
1998
- 1998-03-09 FI FI980532A patent/FI113571B/fi not_active IP Right Cessation
-
1999
- 1999-02-12 WO PCT/FI1999/000112 patent/WO1999046764A2/en active IP Right Grant
- 1999-02-12 CN CN99803763A patent/CN1121683C/zh not_active Expired - Lifetime
- 1999-02-12 EP EP99903710A patent/EP1062661B1/de not_active Expired - Lifetime
- 1999-02-12 AU AU24270/99A patent/AU2427099A/en not_active Abandoned
- 1999-02-12 JP JP2000536069A patent/JP3354138B2/ja not_active Expired - Lifetime
- 1999-02-12 ES ES99903710T patent/ES2171071T3/es not_active Expired - Lifetime
- 1999-02-12 KR KR10-2000-7008992A patent/KR100487943B1/ko not_active Expired - Lifetime
- 1999-02-12 BR BRPI9907665-9B1A patent/BR9907665B1/pt active IP Right Grant
- 1999-02-12 DE DE69900786T patent/DE69900786T2/de not_active Expired - Lifetime
- 1999-03-04 US US09/263,439 patent/US6470313B1/en not_active Expired - Lifetime
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 |