[go: up one dir, main page]

DE69132013T2 - Verfahren für sprachquantisierung und fehlerkorrektur - Google Patents

Verfahren für sprachquantisierung und fehlerkorrektur

Info

Publication number
DE69132013T2
DE69132013T2 DE69132013T DE69132013T DE69132013T2 DE 69132013 T2 DE69132013 T2 DE 69132013T2 DE 69132013 T DE69132013 T DE 69132013T DE 69132013 T DE69132013 T DE 69132013T DE 69132013 T2 DE69132013 T2 DE 69132013T2
Authority
DE
Germany
Prior art keywords
segment
speech
spectral
model parameters
spectral amplitudes
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
DE69132013T
Other languages
English (en)
Other versions
DE69132013D1 (de
Inventor
C. Hardwick
S. Lim
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.)
Digital Voice Systems Inc
Original Assignee
Digital Voice Systems Inc
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 Digital Voice Systems Inc filed Critical Digital Voice Systems Inc
Publication of DE69132013D1 publication Critical patent/DE69132013D1/de
Application granted granted Critical
Publication of DE69132013T2 publication Critical patent/DE69132013T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/087Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using mixed excitation models, e.g. MELP, MBE, split band LPC or HVXC
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
    • G10L21/0364Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0232Processing in the frequency domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Error Detection And Correction (AREA)

Description

  • Diese Erfindung betrifft ein Verfahren zum Codieren von Sprache und stellt Beispiele von Verfahren bereit, die die Qualität von Sprache während der Anwesenheit von Bitfehlern in einem Sprachsignal bewahren können.
  • Einschlägige Veröffentlichungen umfassen: J. L. Flanagan, Speech Analysis, Synthesis and Perception, Springer-Verlag, 1972, S. 378-386 (erörtert einen Phasenvocoder - ein auf der Frequenz basierendes Sprach-Analyse/Synthese- System); Quatieri, et al., "Speech Transformations Based on a Sinusoidal Representation", IEEE TASSP, Band ASSP34, Nr. 6, Dez. 1986, S. 1449-1986, (erörtert ein Analyse-Synthese-Verfahren auf der Basis einer sinusförmigen Darstellung); Griffin, "Multiband Excitation Vocoder", Ph.D. Thesis, M. I. T., 1987, (erörtert einen Mehrbandanregungs-Sprachcodierer mit 8000 Bit/s); Griffin, et al., "A High Quality 9.6 kbps Speech Coding System", Proc. ICASSP 86, S. 125-128, Tokyo, Japan, 13.-20. April 1986 (erörtert einen Mehrbandanregungs-Sprachcodierer mit 9600 Bit/s); Griffin, et al. "A New Model-Based Speech Analysis/Synthesis System", Proc. ICASSP 85, S. 513-516, Tampa, FL., 26.-29. März 1985 (erörtert ein Mehrbandanregungssprachmodell); Hardwick, "A 4.8 kbps Multi-Band Excitation Speech Coder", S. M. Thesis, M. I. T., Mai 1988 (erörtert einen Mehrbandanregungs-Sprachcodierer mit 4800 Bit/s); McAulay et al., "Mid- Rate Coding Based on a Sinusoidal Representation of Speech", Proc. ICASSP 85, S. 945-948, Tampa, FL., 26.-29. März 1985 (erörtert Sprachcodierung auf der Basis einer sinusförmigen Darstellung); Campbell et al., "The New 4800 bps Voice Coding Standard", Mil Speech Tech Conference, Nov. 1989 (erörtert Fehlerkorrektur in Sprachcodierern mit niedriger Rate); Campbell et al., "CELP Coding for Land Mobile Radio Applications", Proc. ICASSP 90, S. 465-468, Albequerque, NM, 3.-6. April 1990 (erörtert Fehlerkorrektur in Sprachcodierern mit niedriger Rate); Levesque et al., Error-Control Technigues for Digital Communication, Wiley, 1985, S. 157-170 (erörtert Fehlerkorrektur im allgemeinen); Jayant et al., Digital Coding of Waveforms, Prentice-Hall, 1984 (erörtert Quantisierung im allgemeinen); Makhoul, et al. "Vector Quantization in Speech Coding", Proc. IEEE, 1985, S. 1551-1588 (erörtert Vektorquantisierung im allgemeinen); Jayant et al., "Adaptive Postfiltering of 16 kb/s-ADPCM Speech", Proc. ICASSP 86, S. 829-832, Tokyo, Japan, 13.-20. April 1986 (erörtert adaptive Nachfilterung von Sprache). Der Inhalt dieser Veröffentlichungen wird durch die Bezugnahme hierin aufgenommen.
  • Das Problem der Sprachcodierung (Komprimierung von Sprache in eine kleine Anzahl von Bits) besitzt eine große Anzahl von Anwendungen und hat folglich in der Literatur eine beträchtliche Aufmerksamkeit erlangt. Eine Klasse von Sprachcodierern (Vocodern), die in der Praxis ausgedehnt untersucht und verwendet wurden, basiert auf einem zugrundeliegenden Sprachmodell. Beispiele aus dieser Klasse von Vocodern umfassen Vocoder mit linearer Vorhersage, homomorphe Vocoder und Kanalvocoder. Bei diesen Vocodern wird die Sprache auf Kurzzeitbasis als Antwort eines linearen Systems, das durch eine periodische Impulsfolge für stimmhafte Laute oder statistisches Rauschen für stimmlose Laute angeregt wird, modelliert. Für diese Klasse von Vocodern wird die Sprache durch zuerst Teilen der Sprache in Abschnitte unter Verwendung eines Fensters, wie z. B. eines Hamming-Fensters, analysiert. Dann werden für jedes Sprachsegment die Anregungsparameter und Systemparameter abgeschätzt und quantisiert. Die Anregungsparameter bestehen aus der Entscheidung Stimme/keine Stimme und der Tonhöhenperiode. Die Systemparameter bestehen aus der Spektralhüllkurve oder der Impulsantwort des Systems. Um Sprache zu rekonstruieren, werden die quantisierten Anregungsparameter verwendet, um ein Anregungssignal zu synthetisieren, das aus einer periodischen Impulsfolge in stimmhaften Bereichen oder statistischem Rauschen in stimmlosen Bereichen besteht. Dieses Anregungssignal wird dann unter Verwendung der quantisierten Systemparameter gefiltert.
  • Obwohl Vocoder, die auf diesem zugrundeliegenden Sprachmodell basieren, bei der Erzeugung von verständlicher Sprache ziemlich erfolgreich waren, waren sie bei der Erzeugung von Sprache mit hoher Qualität nicht erfolgreich. Folglich wurden sie für Sprachcodierung mit hoher Qualität nicht umfangreich verwendet. Die schlechte Qualität der rekonstruierten Sprache ist teilweise auf die ungenaue Ab schätzung der Modellparameter und teilweise auf Begrenzungen des Sprachmodells zurückzuführen.
  • Ein neues Sprachmodell, das als Sprachmodell mit Mehrbandanregung (MBE) bezeichnet wird, wurde 1984 von Griffin und Lim entwickelt. Sprachcodierer, die auf diesem neuen Sprachmodell basieren, wurden 1986 von Griffin und Lim entwickelt, und es wurde gezeigt, daß sie in der Lage sind, Sprache mit hoher Qualität mit Raten oberhalb von 8000 Bit/s (Bits pro Sekunde) zu erzeugen. Die anschließende Arbeit von Hardwick und Lim brachte einen MBE-Sprachcodierer mit 4800 Bit/s hervor, der ebenfalls in der Lage war, Sprache mit hoher Qualität zu erzeugen. Dieser Sprachcodierer mit 4800 Bit/s verwendete raffiniertere Quantisierungsverfahren, um bei 4800 Bit/s eine ähnliche Qualität zu erreichen, die frühere MBE-Sprachcodierer bei 8000 Bit/s erreicht hatten.
  • Der MBE-Sprachcodierer mit 4800 Bit/s verwendete ein MBE-Analyse/Synthese- System, um die MBE-Sprachmodellparameter abzuschätzen und die Sprache aus den abgeschätzten MBE-Sprachmodellparametern zu synthetisieren. Ein diskretes Sprachsignal, welches mit s(n) bezeichnet wird, wird durch Abtasten eines analogen Sprachsignals erhalten. Dies wird typischerweise mit einer Abtastfrequenz von 8 kHz durchgeführt, obwohl andere Abtastfrequenzen durch eine problemlose Änderung der verschiedenen Systemparameter leicht angepaßt werden können. Das System unterteilt das diskrete Sprachsignal in kleine überlappende Segmente oder Segmente durch Multiplizieren von s(n) mit einem Fenster w(n) (wie z. B. einem Hamming-Fenster oder einem Kaiser-Fenster), um ein ausschnittweise dargestelltes Signal sw(n) zu erhalten. Jedes Sprachsegment wird dann analysiert, um eine Gruppe von MBE-Sprachmodellparametern zu erhalten, die dieses Segment charakterisieren. Die MBE-Sprachmodellparameter bestehen aus einer Grundfrequenz, die zur Tonhöhenperiode äquivalent ist, einer Gruppe von Entscheidungen Stimme/keine Stimme, einer Gruppe von Spektralamplituden und gegebenenfalls einer Gruppe von Spektralphasen. Diese Modellparameter werden dann unter Verwendung einer festen Anzahl von Bits für jedes Segment quantisiert. Die resultierenden Bits können dann verwendet werden, um das Sprachsignal zu rekonstruieren, und zwar durch zuerst Rekonstruieren der MBE-Modellparameter aus den Bits und dann Synthetisieren der Sprache aus den Modellparametern. Ein Blockdiagramm eines typischen MBE-Sprachcodierers ist in Fig. 1 gezeigt.
  • Der MBE-Sprachcodierer mit 4800 Bit/s erforderte die Verwendung eines raffinierten Verfahrens, um die Spektralamplituden zu quantisieren. Für jedes Sprachsegment variierte die Anzahl der Bits, die zur Quantisierung der Spektralamplituden verwendet werden konnten, zwischen 50 und 125 Bits. Außerdem variiert die Anzahl der Spektralamplituden für jedes Segment zwischen 9 und 60. Ein Quantisierungsverfahren wurde entworfen, das alle Spektralamplituden mit der für jedes Segment verfügbaren Anzahl an Bits effizient darstellen konnte. Obwohl dieses Spektralamplituden-Quantisierungsverfahren zur Verwendung in einem MBE-Sprachcodierer ausgelegt war, sind die Quantisierungsverfahren gleichermaßen bei einer Anzahl von verschiedenen Sprachcodierverfahren tauglich, wie z. B. dem Sinustransformations-Codierer und dem Oberwellencodierer. Für ein spezielles Sprachsegment bezeichnet die Anzahl der Spektralamplituden in diesem Segment. Der Wert von wird von der Grundfrequenz &sub0; gemäß der Beziehung
  • abgeleitet, wobei 0 ≤ β ≤ 1,0 die Sprachbandbreite relativ zur halben Abtastfrequenz bestimmt. Die in Gleichung (1) angegebene Funktion x ist gleich der größten ganzen Zahl kleiner als oder gleich x. Die Spektralamplituden werden mit &sub1; für 1 ≤ I ≤ bezeichnet, wobei &sub1; die Spektralamplitude mit der niedrigsten Frequenz ist und die Spektralamplitude mit der höchsten Frequenz ist.
  • Die Spektralamplituden für das aktuelle Sprachsegment werden durch zuerst Berechnen einer Gruppe von Vorhersageabweichungen, die das Ausmaß angeben, in dem sich die Spektralamplituden zwischen dem aktuellen Sprachsegment und dem vorherigen Sprachsegment geändert haben, quantisiert. Wenn &sup0; die Anzahl der Spektralamplituden im aktuellen Sprachsegment bezeichnet und &supmin;¹ die Anzahl der Spektralamplituden im vorherigen Sprachsegment bezeichnet, dann sind die Vorhersageabweichungen &sub1; für 1 ≤ I ≤ &sup0; durch
  • gegeben, wobei die Spektralamplituden des aktuellen Sprachsegments bezeichnet und die quantisierten Spektralamplituden des vorherigen Sprachsegments bezeichnet. Die Konstante γ ist typischerweise gleich 0,7, es kann jedoch ein beliebiger Wert im Bereich von 0 ≤ γ ≤ 1 verwendet werden.
  • Die Vorhersageabweichungen werden in Blöcke von K Elementen unterteilt, wobei der Wert von K typischerweise im Bereich von 4 ≤ K ≤ 12 liegt. Wenn nicht gleichmäßig durch K teilbar ist, dann enthält der Block mit der höchsten Frequenz weniger als K Elemente. Dies ist in Fig. 2 für = 34 und K = 8 gezeigt.
  • Jeder der Vorhersageabweichungsblöcke wird dann unter Verwendung einer Diskreten Cosinustransformation (DCT), welche durch
  • definiert ist, transformiert. Die Länge der Transformation für jeden Block, J, ist gleich der Anzahl der Elemente im Block. Daher werden alle bis auf den Block mit der höchsten Frequenz mit einer DCT der Länge K transformiert, während die Länge der DCT für den Block mit der höchsten Frequenz geringer als oder gleich K ist. Da die DCT eine invertierbare Transformation ist, legen die DCT-Koeffizienten die Spektralamplituden-Vorhersageabweichungen für das aktuelle Segment vollständig fest.
  • Die Gesamtzahl der zur Quantisierung der Spektralamplituden verfügbaren Bits wird unter den DCT-Koeffizienten gemäß einer Bitzuordnungsregel aufgeteilt. Diese Regel versucht, den wahrnehmbar wichtigeren Niederfrequenzblöcken mehr Bits zuzuteilen als den wahrnehmbar weniger wichtigen Hochfrequenzblöcken. Außerdem verteilt die Bitzuordnungsregel die Bits innerhalb eines Blocks an die DCT-Koeffizienten gemäß ihrer relativen Langzeitvarianzen. Diese Lösungsmethode stimmt die Bitzuordnung auf die Wahrnehmungseigenschaften der Sprache und auf die Quantisierungseigenschaften der DCT ab.
  • Jeder DCT-Koeffizient wird unter Verwendung der durch die Bitzuordnungsregel festgelegten Anzahl an Bits quantisiert. Typischerweise wird eine gleichmäßige Quantisierung verwendet, es kann jedoch auch eine ungleichmäßige oder Vektorquantisierung verwendet werden. Die Schrittweite für jeden Quantisierer wird aus der Langzeitvarianz der DCT-Koeffizienten und aus der Anzahl der zur Quantisierung jedes Koeffizienten verwendeten Bits bestimmt. Tabelle 1 zeigt die typische Variation der Schrittweite als Funktion der Anzahl an Bits für eine Langzeitvarianz gleich σ².
  • Tabelle 1: Schrittweite von gleichmäßigen Quantisierern Anzahl der Bits Schrittweite
  • 1 1,2σ
  • 2 0,85σ
  • 3 0,65σ
  • 4 0,42σ
  • 5 0,28σ
  • 6 0,14σ
  • 7 0,07σ
  • 8 0,035σ
  • 9 0,0175σ
  • 10 0,00875σ
  • 11 0,00438σ
  • 12 0,00219σ
  • 13 0,00110σ
  • 14 0,000550σ
  • 15 0,000275σ
  • 16 0,000138σ
  • Sobald jeder DCT-Koeffizient unter Verwendung der durch die Bitzuordnungsregel festgelegten Anzahl von Bits quantisiert wurde, kann die Binärdarstellung in Abhängigkeit von der Anwendung übertragen, gespeichert, usw. werden. Die Spektralamplituden können aus der Binärdarstellung rekonstruiert werden durch zuerst Rekonstruieren der quantisierten DCT-Koeffizienten für jeden Block, Durchführen der inversen DCT an jedem Block und dann Kombinieren mit den quantisierten Spektralamplituden des vorherigen Segments unter Verwendung des Inversen von Gleichung (2). Die inverse DCT ist durch
  • gegeben, wobei die Länge J für jeden Block so gewählt wird, daß sie die Anzahl der Elemente in diesem Block ist, und α(j) durch
  • gegeben ist.
  • Ein potentielles Problem bei dem MBE-Sprachcodierer mit 4800 Bit/s besteht darin, daß die wahrgenommene Qualität der rekonstruierten Sprache signifikant verringert werden kann, wenn Bitfehler zur Binärdarstellung der MBE-Modellparameter hinzugefügt werden. Da Bitfehler in vielen Sprachcodiereranwendungen existieren, muß ein unempfindlicher Sprachcodierer Bitfehler korrigieren, erkennen und/oder tolerieren können. Ein Verfahren, das als sehr erfolgreich festgestellt wurde, besteht darin, Fehlerkorrekturcodes in der Binärdarstellung der Modellparameter zu verwenden. Fehlerkorrekturcodes ermöglichen, daß seltene Bitfehler korrigiert werden, und sie ermöglichen, daß das System die Fehlerrate abschätzt. Die Abschätzung der Fehlerrate kann dann verwendet werden, um die Modellparameter adaptiv zu verarbeiten, um die Wirkung von irgendwelchen verbleibenden Bitfehlern zu verringern. Typischerweise wird die Fehlerrate durch Zählen der Anzahl der durch die Fehlerkorrekturcodes korrigierten (oder erkannten) Fehler im aktuellen Segment und dann Verwenden dieser Information, um die aktuelle Abschätzung der Fehlerrate zu aktualisieren, abgeschätzt. Wenn beispielsweise jedes Segment einen (23,12)-Golay-Code enthält, der drei Fehler aus den 23 Bits korrigieren kann, und εT die Anzahl der Fehler (0-3) bezeichnet, die im aktuellen Segment korrigiert wurden, dann wird die aktuelle Abschätzung der Fehlerrate εR gemäß
  • aktualisiert, wobei β eine Konstante im Bereich von 0 ≤ β ≤ 1 ist, die die Anpassungsfähigkeit von εR steuert.
  • Wenn Fehlerkorrekturcodes oder Fehlererkennungscodes verwendet werden, werden die Bits, die die Sprachmodellparameter darstellen, in eine andere Gruppe von Bits umgewandelt, die gegenüber Bitfehlern unempfindlicher sind. Die Verwendung von Fehlerkorrektur- oder -erkennungscodes erhöht typischerweise die Anzahl der Bits, die übertragen oder gespeichert werden müssen. Die Anzahl der zusätzlichen Bits, die übertragen werden müssen, steht gewöhnlich mit der Unempfindlichkeit des Fehlerkorrektur- oder -erkennungscodes in Beziehung. Bei den meisten Anwendungen ist es erwünscht, die Gesamtzahl der Bits, die übertragen oder gespeichert werden, zu minimieren. In diesem Fall müssen die Fehlerkorrektur- oder -erkennungscodes so ausgewählt werden, daß die Gesamtsystemleistung maximiert wird.
  • Ein weiteres Problem bei dieser Klasse von Sprachcodiersystemen besteht darin, daß Begrenzungen bei der Abschätzung der Sprachmodellparameter eine Qualitätsverschlechterung der synthetisierten Sprache verursachen können. Die an schließende Quantisierung der Modellparameter ruft eine weitere Verschlechterung hervor. Diese Verschlechterung kann die Form von einer nachhallenden oder gedämpften Qualität für die synthetisierte Sprache annehmen. Außerdem können Hintergrundrauschen oder andere Fehler vorliegen, die in der ursprünglichen Sprache nicht vorhanden waren. Diese Form der Verschlechterung tritt selbst dann auf, wenn keine Bitfehler in den Sprachdaten vorliegen, Bitfehler können dieses Problem jedoch verschlimmern. Typischerweise versuchen Sprachcodiersysteme, die Parameterabschätzer und Parameterquantisierer zu optimieren, um diese Form der Verschlechterung zu minimieren. Andere Systeme versuchen, die Verschlechterungen durch Nachfiltern zu verringern. Bei der Nachfilterung wird die Ausgangssprache im Zeitbereich mit einem adaptiven Allpolfilter gefiltert, um die Formatspitzen zu verschärfen. Dieses Verfahren ermöglicht keine feine Steuerung über den Spektralverstärkungsprozeß und ist rechenaufwendig und ineffizient für Frequenzbereichs-Sprachcodierer.
  • Die hierin beschriebene Erfindung gilt für viele verschiedene Sprachcodierverfahren, die Sprachcodierer mit linearer Vorhersage, Kanalvocoder, homomorphe Vocoder, Sinustransformationscodierer, Mehrbandanregungs-Sprachcodierer und verbesserte Mehrbandanregungs- (IMBE) Sprachcodierer einschließen, aber nicht darauf begrenzt sind. Für den Zweck der Beschreibung dieser Erfindung im einzelnen verwenden wir den IMBE-Sprachcodierer mit 6,4 kBit/s, der vor kurzem als Teil des INMARSAT-M (International Marine Satellite Organization) Satelliten- Kommunikationssystems normiert wurde. Dieser Codierer verwendet ein unempfindliches Sprachmodell, das als Mehrbandanregungs- (MBE) Sprachmodell bezeichnet wird.
  • Effiziente Verfahren zur Quantisierung der MBE-Modellparameter wurden entwickelt. Diese Verfahren sind in der Lage, die Modellparameter mit theoretisch jeder Bitrate oberhalb 2 kBit/s zu quantisieren. Der IMBE-Sprachcodierer mit 6,4 kBit/s, der im INMARSAT-M-Satelliten-Kommunikationssystem verwendet wird, verwendet eine Rahmenfrequenz von 50 Hz. Daher sind pro Rahmen 128 Bits verfügbar. Von diesen 128 Bits sind 45 Bits für die Vorwärtsfehlerkorrektur reserviert. Die übrigen 83 Bits pro Rahmen werden zur Quantisierung der MBE-Modell parameter verwendet, die aus einer Grundfrequenz &sub0;, einer Gruppe von V/UV- Entscheidungen k für 1 ≤ k ≤ , und einer Gruppe von Spektralamplituden &sub1; für 1 ≤ I ≤ bestehen. Die Werte von und variieren in Abhängigkeit von der Grundfrequenz jedes Rahmens. Die 83 verfügbaren Bits werden unter den Modellparametern aufgeteilt, wie in Tabelle 2 gezeigt.
  • Tabelle 2: Bitzuordnung unter Modellparametern Parameter Anzahl der Bits
  • Grundfrequenz 8
  • Entscheidungen Stimme/keine
  • Stimme
  • Spektralamplituden 75 -
  • Die Grundfrequenz wird durch zunächst Umwandeln derselben in ihre äquivalente Tonhöhenperiode unter Verwendung von Gleichung (7) quantisiert.
  • &sub0; = 2π/ &sub0; (7)
  • Der Wert von &sub0; ist typischerweise auf den Bereich 20 ≤ &sub0; ≤ 120 beschränkt, wenn eine Abtastfrequenz von 8 kHz angenommen wird. In dem IMBE-System mit 6,4 kBit/s wird dieser Parameter unter Verwendung von 8 Bits und einer Schrittweite von 0,5 gleichmäßig quantisiert. Dies entspricht einer Tonhöhengenauigkeit von einem halben Abtastwert.
  • Die V/UV-Entscheidungen sind Binärwerte. Daher können sie unter Verwendung eines einzigen Bits pro Entscheidung codiert werden. Das System mit 6,4 kBit/s verwendet maximal 12 Entscheidungen, und die Breite jedes Frequenzbandes ist gleich 3 &sub0;. Die Breite des höchsten Frequenzbandes wird so eingestellt, daß es Frequenzen bis zu 3,8 kHz enthält.
  • Die Spektralamplituden werden durch Bilden einer Gruppe von Vorhersageabweichungen quantisiert. Jede Vorhersageabweichung ist die Differenz zwischen dem Logarithmus der Spektralamplitude für den aktuellen Rahmen und dem Logarithmus der Spektralamplitude, welche dieselbe Frequenz im vorherigen Sprachrahmen darstellt. Die Spektralamplituden-Vorhersageabweichungen werden dann in sechs Blöcke unterteilt, die jeweils ungefähr dieselbe Anzahl von Vorhersageabweichungen enthalten. Jeder der sechs Blöcke wird dann mit einer Diskreten Cosinustransformation (DCT) transformiert und die DC-Koeffizienten von jedem der sechs Blöcke werden zu einem Vorhersageabweichungsblock- Mittelwert- (PRBA) Vektor aus 6 Elementen kombiniert. Der Mittelwert wird von dem PRBA-Vektor subtrahiert und unter Verwendung eines ungleichmäßigen Quantisierers aus 6 Bits quantisiert. Der PRBA-Vektor mit einem Mittelwert von Null wird dann unter Verwendung eines Vektorquantisierers aus 10 Bits vektorquantisiert. Das PRBA-Codebuch für 10 Bits wurde unter Verwendung eines k- Mittel-Clusteralgorithmus an einer großen Trainingsgruppe, die aus PRBA-Vektoren mit einem Mittelwert von Null bestand, aus einer Vielfalt von Sprachmaterial entworfen. Die DCT-Koeffizienten höherer Ordnung, die nicht im PRBA-Vektor enthalten sind, werden mit gleichmäßigen Skalarquantisierern unter Verwendung der 59 - restlichen Bits quantisiert. Die Bitzuordnung und Quantisiererschrittweiten basieren auf den Langzeitvarianzen der DCT-Koeffizienten höherer Ordnung.
  • Es gibt verschiedene Vorteile bei diesem Quantisierungsverfahren. Erstens stellt es eine sehr gute Wiedergabetreue unter Verwendung einer kleinen Anzahl von Bits bereit und es behält diese Wiedergabetreue bei, wenn über seinen Bereich variiert. Außerdem sind die Rechenanforderungen dieser Lösungsmethode gut innerhalb der Grenzen, die für eine Echtzeit-Implementierung unter Verwendung eines einzigen DSP, wie z. B. des AT&T DSP32C, erforderlich sind. Schließlich zerlegt dieses Quantisierungsverfahren die Spektralamplituden in ein paar Komponenten, wie z. B. den Mittelwert des PRBA-Vektors, die für Bitfehler empfindlich sind, und eine große Anzahl von anderen Komponenten, die für Bitfehler nicht sehr empfindlich sind. Die Vorwärtsfehlerkorrektur kann dann durch Bereitstellung eines hohen Grades an Schutz für die wenigen empfindlichen Komponenten und eines geringeren Grades an Schutz für die restlichen Komponenten in effizienter Weise verwendet werden. Dies wird im nächsten Abschnitt erörtert.
  • Die Erfindung zeichnet sich durch ein verbessertes Verfahren zur Quantisierung der Vorhersageabweichungen aus. Die Vorhersageabweichungen werden in Blöcke gruppiert, der Mittelwert der Vorhersageabweichungen innerhalb jedes Blocks wird ermittelt, die Mittelwerte aller Blöcke werden zu einem Vorhersageabweichungsblock-Mittelwert- (PRBA) Vektor gruppiert und der PRBA-Vektor wird codiert. Bei bevorzugten Ausführungsformen wird der Mittelwert der Vorhersageabweichungen durch Addieren der Spektralamplituden-Vorhersageabweichungen innerhalb des Blocks und Dividieren durch die Anzahl der Vorhersageabweichungen innerhalb dieses Blocks oder durch Berechnen der DCT der Spektralamplituden-Vorhersageabweichungen innerhalb eines Blocks und Verwenden des ersten Koeffizienten der DCT als Mittelwert erhalten. Der PRBA-Vektor wird vorzugsweise unter Verwendung von einem von zwei Verfahren codiert: (1) Durchführung einer Transformation, wie z. B. der DCT, des PRBA-Vektors und Skalarquantisierung der Transformationskoeffizienten; (2) Vektorquantisierung des PRBA-Vektors. Die Vektorquantisierung wird vorzugsweise durch Bestimmen des Mittelwerts des PRBA-Vektors, Quantisieren des Mittelwerts unter Verwendung einer Skalarquantisierung und Quantisieren des PRBA-Vektors mit einem Mittelwert von Null unter Verwendung der Vektorquantisierung mit einem Codebuch mit Mittelwert Null durchgeführt. Ein Vorteil dieses Aspekts der Erfindung besteht darin, daß er ermöglicht, daß die Vorhersageabweichungen für eine gegebene Anzahl von Bits mit einer geringeren Verzerrung quantisiert werden.
  • In einem bevorzugten Aspekt zeichnet sich die Erfindung durch ein verbessertes Verfahren zum Bilden der vorhergesagten Spektralamplituden aus. Sie basieren auf der Interpolation der Spektralamplituden eines vorherigen Segments, um die Spektralamplituden im vorherigen Segment bei den Frequenzen des aktuellen Segments abzuschätzen. Dieses neue Verfahren korrigiert Verschiebungen der Frequenzen der Spektralamplituden zwischen den Segmenten, mit dem Ergebnis, daß die Vorhersageabweichungen eine geringere Varianz aufweisen und daher für eine gegebene Anzahl von Bits mit einer geringeren Verzerrung quantisiert werden können. Bei bevorzugten Ausführungsformen sind die Frequenzen der Spektralamplituden die Grundfrequenz und deren Vielfache.
  • Die Erfindung kann sich auch durch ein verbessertes Verfahren zum Aufteilen der Vorhersageabweichungen in Blöcke auszeichnen. Anstatt die Länge jedes Blocks festzulegen und dann die Vorhersageabweichungen in eine variable Anzahl von Blöcken aufzuteilen, werden die Vorhersageabweichungen in eine vorbestimmte Anzahl von Blöcken aufgeteilt und die Größe der Blöcke variiert von Segment zu Segment. Bei bevorzugten Ausführungsformen werden in allen Segmenten sechs (6) Blöcke verwendet; die Anzahl der Vorhersageabweichungen in einem Block mit niedrigerer Frequenz ist nicht größer als die Anzahl der Vorhersageabweichungen in einem Block mit höherer Frequenz; die Differenz zwischen der Anzahl an Elementen im Block mit der höchsten Frequenz und der Anzahl an Elementen im Block mit der niedrigsten Frequenz ist geringer als oder gleich Eins. Dieses neue Verfahren stimmt die Eigenschaften der Sprache genauer ab, und es ermöglicht daher, daß die Vorhersageabweichungen für eine gegebene Anzahl von Bits mit einer geringeren Verzerrung quantisiert werden. Außerdem kann es leicht mit einer Vektorquantisierung verwendet werden, um die Quantisierung der Spektralamplituden weiter zu verbessern.
  • Die Erfindung zeichnet sich vorzugsweise durch ein verbessertes Verfahren zum Bestimmen der Entscheidungen Stimme/keine Stimme in Gegenwart einer hohen Bitfehlerrate aus. Die Bitfehlerrate wird für ein aktuelles Sprachsegment abgeschätzt und mit einer vorbestimmten Fehlerratenschwelle verglichen, und die Entscheidungen Stimme/keine Stimme für Spektralamplituden über einer vorbestimmten Energieschwelle werden alle für das aktuelle Segment als Stimme deklariert, wenn die abgeschätzte Bitfehlerrate über der Fehlerratenschwelle liegt. Dies verringert die wahrnehmbare Auswirkung von Bitfehlern. Verzerrungen, die durch Umschalten von Stimme auf keine Stimme verursacht werden, werden verringert.
  • Die Erfindung kann sich auch durch ein verbessertes Verfahren zur Fehlerkorrektur- (oder Fehlererkennungs-) Codierung der Sprachmodellparameter auszeichnen. Das neue Verfahren verwendet mindestens zwei Arten einer Fehlerkorrek turcodierung, um die quantisierten Modellparameter zu codieren. Eine erste Codierungsart, die eine größere Anzahl von zusätzlichen Bits hinzufügt als eine zweite Codierungsart, wird für eine Gruppe von Parametern verwendet, die für Bitfehler empfindlicher ist. Die andere Art der Fehlerkorrekturcodierung wird für eine zweite Gruppe von Parametern verwendet, die für Bitfehler weniger empfindlich ist als die erste. Verglichen mit existierenden Verfahren verbessert das neue Verfahren die Qualität der synthetisierten Sprache in Gegenwart von Bitfehlern, während die Menge an zusätzlichen Fehlerkorrektur- oder -erkennungsbits, die hinzugefügt werden müssen, verringert wird. Bei bevorzugten Ausführungsformen umfassen die verschiedenen Arten der Fehlerkorrektur Golay-Codes und Hamming-Codes.
  • Die Erfindung zeichnet sich vorzugsweise durch ein weiteres Verfahren zur Verbesserung der Qualität von synthetisierter Sprache in Gegenwart von Bitfehlern aus. Die Fehlerrate wird aus der Fehlerkorrekturcodierung abgeschätzt und ein oder mehrere Modellparameter aus einem vorherigen Segment werden in einem aktuellen Segment wiederholt, wenn die Fehlerrate für die Parameter ein vorbestimmtes Niveau überschreitet. Bei bevorzugten Ausführungsformen werden alle Modellparameter wiederholt.
  • Die Erfindung kann sich auch durch ein neues Verfahren zur Verringerung der Verschlechterung, die durch die Abschätzung und Quantisierung der Modellparameter verursacht wird, auszeichnen. Dieses neue Verfahren verwendet eine Frequenzbereichsdarstellung der Spektralhüllkurvenparameter, um Bereiche des Spektrums zu verstärken, die wahrnehmbar wichtig sind, und Bereiche des Spektrums zu dämpfen, die wahrnehmbar unbedeutend sind. Das Ergebnis ist, daß die Verschlechterung der synthetisierten Sprache verringert wird. Eine geglättete Spektralhüllkurve des Segments wird durch Glätten der Spektralhüllkurve erzeugt, und eine verstärkte Spektralhüllkurve wird durch Erhöhen gewisser Frequenzbereiche der Spektralhüllkurve, für die die Spektralhüllkurve eine größere Amplitude aufweist als die geglättete Hüllkurve, und Verringern gewisser Frequenzbereiche, für die die Spektralhüllkurve eine geringere Amplitude aufweist als die geglättete Hüllkurve, erzeugt. Bei bevorzugten Ausführungsformen wird die geglättete Spektralhüllkurve durch Abschätzen eines Modells niedriger Ordnung (z. B. eines Allpolmodells) von der Spektralhüllkurve erzeugt. Verglichen mit existierenden Verfahren ist dieses neue Verfahren rechnerisch effizienter für Frequenzbereich-Sprachcodierer. Außerdem verbessert dieses neue Verfahren die Sprachqualität durch Beseitigen der Frequenzbereichsbedingungen, die durch Zeitbereichsverfahren auferlegt werden.
  • Weitere Merkmale und Vorteile der Erfindung sind aus der folgenden Beschreibung der bevorzugten Ausführungsformen ersichtlich.
  • In den Zeichnungen gilt:
  • Fig. 1-2 sind Diagramme, die Sprachcodierverfahren des Standes der Technik zeigen.
  • Fig. 3 ist ein Ablaufplan, der eine bevorzugte Ausführungsform der Erfindung zeigt, bei der die Spektralamplituden-Vorhersage jede Änderung der Grundfrequenz berücksichtigt.
  • Fig. 4 ist ein Ablaufplan, der eine bevorzugte Ausführungsform der Erfindung zeigt, bei der die Spektralamplituden in eine feste Anzahl von Blöcken unterteilt werden.
  • Fig. 5 ist ein Ablaufplan, der eine bevorzugte Ausführungsform der Erfindung zeigt, bei der ein Vorhersageabweichungsblock-Mittelwertvektor gebildet wird.
  • Fig. 6 ist ein Ablaufplan, der eine bevorzugte Ausführungsform der Erfindung zeigt, bei der der Vorhersageabweichungsblock-Mittelwertvektor vektorquantisiert wird.
  • Fig. 7 ist ein Ablaufplan, der eine bevorzugte Ausführungsform der Erfindung zeigt, bei der der Vorhersageabweichungsblock-Mittelwertvektor mit einer DCT und einer Skalarquantisierung quantisiert wird.
  • Fig. 8 ist ein Ablaufplan, der eine bevorzugte Ausführungsform des erfindungsgemäßen Codierers zeigt, wobei verschiedene Fehlerkorrekturcodes für verschiedene Modellparameterbits verwendet werden.
  • Fig. 9 ist ein Ablaufplan, der eine bevorzugte Ausführungsform des erfindungsgemäßen Decodierers zeigt, wobei verschiedene Fehlerkorrekturcodes für verschiedene Modellparameterbits verwendet werden.
  • Fig. 10 ist ein Ablaufplan, der eine bevorzugte Ausführungsform der Erfindung zeigt, wobei eine Verbesserung der Frequenzbereich-Spektralhüllkurvenparameter dargestellt ist.
  • Im Stand der Technik wurden die Spektralamplituden-Vorhersageabweichungen unter Verwendung von Gleichung (2) gebildet. Dieses Verfahren berücksichtigt keine Veränderung der Grundfrequenz zwischen dem vorherigen Segment und dem aktuellen Segment. Um die Änderung der Grundfrequenz zu berücksichtigen, wurde ein neues Verfahren entwickelt, das zunächst die Spektralamplituden des vorherigen Segments interpoliert. Dies wird typischerweise unter Verwendung einer linearen Interpolation durchgeführt, es könnten jedoch auch verschiedene andere Interpolationsformen verwendet werden. Dann werden die interpolierten Spektralamplituden des vorherigen Segments bei den Frequenzpunkten, die den Vielfachen der Grundfrequenz des aktuellen Segments entsprechen, erneut abgetastet. Diese Kombination einer Interpolation und erneuten Abtastung erzeugt eine Gruppe von vorhergesagten Spektralamplituden, die hinsichtlich jeglicher Änderung der Grundfrequenz zwischen den Segmenten korrigiert wurden.
  • Typischerweise wird ein Bruchteil des Logarithmus mit der Basis Zwei der vorhergesagten Spektralamplituden von dem Logarithmus mit der Basis Zwei der Spektralamplituden des aktuellen Segments subtrahiert. Wenn eine lineare Interpolation verwendet wird, um die vorhergesagten Spektralamplituden zu berechnen, dann kann dies mathematisch folgendermaßen ausgedrückt werden:
  • wobei δI durch
  • gegeben ist, wobei γ eine Konstante ist mit der Bedingung 0 ≤ γ ≤ 1. Typischerweise gilt γ = 0,7, es können jedoch auch andere Werte für γ verwendet werden. Beispielsweise könnte γ von Segment zu Segment adaptiv verändert werden, um die Leistung zu verbessern. Die Parameter und in Gleichung (9) beziehen sich auf die Grundfrequenz des aktuellen Segments bzw. des vorherigen Segments. In dem Fall, in dem die zwei Grundfrequenzen gleich sind, ist das neue Verfahren identisch dem alten Verfahren. In anderen Fällen erzeugt das neue Verfahren eine Vorhersageabweichung mit niedrigerer Varianz als das alte Verfahren. Dies ermöglicht, daß die Vorhersageabweichungen für eine gegebene Anzahl von Bits mit einer geringeren Verzerrung quantisiert werden.
  • In einem weiteren Aspekt der Erfindung wurde ein neues Verfahren entwickelt, um die Spektralamplituden-Vorhersageabweichungen in Blöcke aufzuteilen. Bei dem alten Verfahren wurden die Vorhersageabweichungen aus dem aktuellen Segment in Blöcke aus K Elementen aufgeteilt, wobei K = 8 ein typischer Wert ist. Unter Verwendung dieses Verfahrens wurde festgestellt, daß die Eigenschaften jedes Blocks für große und kleine Werte von signifikant unterschiedlich sind. Dies verringerte die Quantisierungsleistung, wodurch die Verzerrung der Spektralamplituden vergrößert wurde. Um die Eigenschaften jedes Blocks gleichmäßiger zu machen, wurde ein neues Verfahren entworfen, das die Vorhersageabweichungen in eine feste Anzahl von Blöcken aufteilt. Die Länge jedes Blocks wird derart gewählt, daß alle Blöcke innerhalb eines Segments nahezu dieselbe Länge aufweisen und die Summe der Längen aller Blöcke innerhalb eines Segments gleich ist. Typischerweise wird die Gesamtzahl der Vorhersageabweichungen in 6 Blöcke aufgeteilt, wobei die Länge jedes Blocks gleich ist. Wenn nicht gleichmäßig durch 6 teilbar ist, dann wird die Länge von einem oder mehreren Blöcken mit höherer Frequenz um Eins erhöht, so daß alle Spektralamplituden in einem der sechs Blöcke enthalten sind. Dieses neue Verfahren ist in Fig. 4 für den Fall dargestellt, daß 6 Blöcke verwendet werden und = 34 ist. Bei diesem neuen Verfahren ist der ungefähre Prozentsatz der in jedem Block enthaltenen Vorhersageabweichungen von unabhängig. Dies verringert die Variation der Eigenschaften jedes Blocks und ermöglicht eine effizientere Quantisierung der Vorhersageabweichungen.
  • Die Quantisierung der Vorhersageabweichungen kann durch Bilden eines Vorhersageabweichungsblock-Mittelwert- (PRBA) Vektors weiter verbessert werden. Die Länge des PRBA-Vektors ist gleich der Anzahl an Blöcken im aktuellen Segment. Die Elemente dieses Vektors entsprechen dem Mittelwert der Vorhersageabweichungen innerhalb jedes Blocks. Da der erste DCT-Koeffizient gleich dem Mittelwert (oder DC-Wert) ist, kann der PRBA-Vektor aus dem ersten DCT-Koeffizienten aus jedem Block gebildet werden. Dies ist in Fig. 5 für den Fall gezeigt, daß 6 Blöcke im aktuellen Segment vorliegen und = 34 ist. Dieser Prozeß kann durch Bilden von zusätzlichen Vektoren aus dem zweiten (oder dritten, vierten usw.) DCT-Koeffizienten aus jedem Block verallgemeinert werden.
  • Die Elemente des PRBA-Vektors sind stark korreliert. Daher kann eine Anzahl von Verfahren verwendet werden, um die Quantisierung der Spektralamplituden zu verbessern. Ein Verfahren, das verwendet werden kann, um eine sehr geringe Verzerrung mit einer kleinen Anzahl von Bits zu erzielen, ist die Vektorquantisierung. Bei diesem Verfahren wird ein Codebuch konstruiert, das eine Anzahl von typischen PRBA-Vektoren enthält. Der PRBA-Vektor für das aktuelle Segment wird mit jedem der Codebuch-Vektoren verglichen, und derjenige mit dem geringsten Fehler wird als quantisierter PRBA-Vektor gewählt. Der Codebuchindex des gewählten Vektors wird verwendet, um die Binärdarstellung des PRBA-Vektors zu bilden. Es wurde ein Verfahren zur Durchführung der Vektorquantisierung des PRBA-Vektors entwickelt, welches die Reihe eines ungleichmäßigen Quantisierers aus 6 Bits für den Mittelwert des Vektors und einen Vektorquantisierer aus 10 Bits für die restliche Information verwendet. Dieses Verfahren ist in Fig. 6 für den Fall dargestellt, daß der PRBA-Vektor immer 6 Elemente enthält. Typische Werte für die Quantisierer aus 6 Bits und 10 Bits sind im beigefügten Anhang angegeben.
  • Ein alternatives Verfahren zur Quantisierung des PRBA-Vektors wurde ebenfalls entwickelt. Dieses Verfahren erfordert weniger Berechnung und Speicherung als das Verfahren der Vektorquantisierung. Bei diesem Verfahren wird der PRBA- Vektor zuerst mit einer DCT, wie in Gleichung (3) definiert, transformiert. Die Länge der DCT ist gleich der Anzahl der Elemente im PRBA-Vektor. Die DCT- Koeffizienten werden dann in einer Weise ähnlich der im Stand der Technik erörterten quantisiert. Zuerst wird eine Bitzuordnungsregel verwendet, um die Gesamtzahl der zur Quantisierung des PRBA-Vektors verwendeten Bits unter den DCT-Koeffizienten aufzuteilen. Eine Skalarquantisierung (entweder gleichmäßig oder ungleichmäßig) wird dann verwendet, um jeden DCT-Koeffizienten unter Verwendung der durch die Bitzuordnungsregel festgelegten Anzahl an Bits zu quantisieren. Dies ist in Fig. 7 für den Fall gezeigt, daß der PRBA-Vektor immer 6 Elemente enthält.
  • Verschiedene andere Verfahren können verwendet werden, um den PRBA-Vektor effizient zu quantisieren. Beispielsweise könnten andere Transformationen, wie z. B. die Diskrete Fouriertransformation, die Schnelle Fouriertransformation, die Karhunen-Louve-Transformation, anstelle der DCT verwendet werden. Außerdem kann die Vektorquantisierung mit der DCT oder einer anderen Transformation kombiniert werden. Die aus diesem Aspekt der Erfindung gewonnenen Verbesserungen können mit einer breiten Vielfalt von Quantisierungsverfahren verwendet werden.
  • In einem weiteren Aspekt wurde ein neues Verfahren zum Verringern der wahrnehmbaren Wirkung von Bitfehlern entwickelt. Fehlerkorrekturcodes werden wie im Stand der Technik verwendet, um seltene Bitfehler zu korrigieren und eine Abschätzung der Fehlerrate εR vorzusehen. Das neue Verfahren verwendet die Abschätzung der Fehlerrate, um die Entscheidungen Stimme/keine Stimme zu glätten, um die wahrgenommene Wirkung von irgendwelchen verbleibenden Bitfehlern zu verringern. Dies wird durch zunächst Vergleichen der Fehlerrate mit einer Schwelle, welche die Rate bezeichnet, bei der die Verzerrung von nicht korrigier ten Bitfehlern in den Entscheidungen Stimme/keine Stimme signifikant ist, durchgeführt. Der exakte Wert dieser Schwelle hängt von der Menge an Fehlerkorrektur ab, die auf die Entscheidungen Stimme/keine Stimme angewendet wird, aber ein Schwellenwert von 0,003 ist typisch, wenn wenig Fehlerkorrektur angewendet wurde. Wenn die abgeschätzte Fehlerrate εR unter dieser Schwelle liegt, dann werden die Entscheidungen Stimme/keine Stimme nicht gestört. Wenn εR über dieser Schwelle liegt, dann wird jede Spektralamplitude, für die die Gleichung (10) erfüllt ist, als Stimme deklariert.
  • Obwohl Gleichung (10) einen Schwellenwert von 0,003 annimmt, kann dieses Verfahren leicht modifiziert werden, um es an andere Schwellen anzupassen. Der Parameter SE ist ein Maß für die lokale mittlere Energie, die in den Spektralamplituden enthalten ist. Dieser Parameter wird typischerweise bei jedem Segment gemäß:
  • aktualisiert, wobei R&sub0; durch
  • gegeben ist.
  • Der Anfangswert von SE wird auf einen willkürlichen Anfangswert im Bereich von 0 ≤ SE ≤ 10000,0 gesetzt. Der Zweck dieses Parameters besteht darin, die Abhängigkeit von Gleichung (10) vom mittleren Signalpegel zu verringern. Dies gewähr leistet, daß das neue Verfahren für Signale mit niedrigem Pegel ebenso gut funktioniert wie für Signale mit hohem Pegel.
  • Die speziellen Formen der Gleichungen (10), (11) und (12) und die in diesen enthaltenen Konstanten können leicht modifiziert werden, während die wesentlichen Bestandteile des neuen Verfahrens beibehalten werden. Die Hauptbestandteile dieses neuen Verfahrens sind zuerst die Verwendung einer Abschätzung der Fehlerrate, um zu bestimmen, ob die Entscheidungen Stimme/keine Stimme geglättet werden müssen. Wenn eine Glättung erforderlich ist, dann werden die Entscheidungen Stimme/keine Stimme gestört, so daß alle Spektralamplituden mit hoher Energie als Stimme deklariert werden. Dies beseitigt jegliche hochenergetischen Übergänge von Stimme zu keine Stimme oder keine Stimme zu Stimme zwischen den Segmenten, und es verbessert folglich die wahrgenommene Qualität der rekonstruierten Sprache in Gegenwart von Bitfehlern.
  • In unserer Erfindung teilen wir die quantisierten Sprachmodellparameterbits gemäß ihrer Empfindlichkeit für Bitfehler in drei oder mehr verschiedene Gruppen auf und dann verwenden wir verschiedene Fehlerkorrektur- oder -erkennungscodes für jede Gruppe. Typischerweise wird die Gruppe von Datenbits, die als am meisten empfindlich für Bitfehler bestimmt wird, unter Verwendung von sehr wirksamen Fehlerkorrekturcodes geschützt. Weniger wirksame Fehlerkorrektur- oder -erkennungscodes, die weniger zusätzliche Bits benötigen, werden verwendet, um die weniger empfindlichen Datenbits zu schützen. Dieses neue Verfahren ermöglicht, daß die Menge an Fehlerkorrektur oder -erkennung, die jeder Gruppe gegeben wird, auf ihre Empfindlichkeit für Bitfehler abgestimmt wird. Verglichen mit dem Stand der Technik besitzt dieses Verfahren den Vorteil, daß die durch Bitfehler verursachte Verschlechterung verringert wird und die Anzahl der für eine Vorwärtsfehlerkorrektur erforderlichen Bits ebenfalls verringert wird.
  • Die spezielle Wahl der Fehlerkorrektur- oder -erkennungscodes, die verwendet wird, hängt von der Bitfehlerstatistik des Übertragungs- oder Speichermediums und der gewünschten Bitrate ab. Die empfindlichste Gruppe von Bits wird typischerweise mit einem wirksamen Fehlerkorrekturcode, wie z. B. einem Hamming-Code, einem BCH-Code, einem Golay-Code oder einem Reed- Solomon-Code, geschützt. Weniger empfindliche Gruppen von Datenbits können diese Codes oder einen Fehlererkennungscode verwenden. Schließlich können die am wenigsten empfindlichen Gruppen Fehlerkorrektur- oder -erkennungscodes verwenden oder sie können keine Form einer Fehlerkorrektur oder -erkennung verwenden. Die Erfindung wird hierin unter Verwendung einer speziellen Wahl von Fehlerkorrektur und -erkennungscodes beschrieben, die sich für einen IMBE-Sprachcodierer für Satellitenübertragungen mit 6,4 kBit/s gut eignete.
  • Bei dem IMBE-Sprachcodierer mit 6,4 kBit/s, der für das INMARSAT-M-Satellitenkommunikationssystem normiert wurde, werden die 45 Bits pro Rahmen, die für eine Vorwärtsfehlerkorrektur reserviert sind, unter [23,12]-Golay-Codes, welche bis zu 3 Fehler korrigieren können, [15,11]-Hamming-Codes, die einzelne Fehler und Paritätsbits korrigieren können, aufgeteilt. Die sechs höchstwertigen Bits von der Grundfrequenz und die drei höchstwertigen Bits vom Mittelwert des PRBA-Vektors werden zuerst mit drei Paritätskontrollbits kombiniert und dann in einem [23,12]-Golay-Code codiert. Ein zweiter Golay-Code wird verwendet, um die drei höchstwertigen Bits von dem PRBA-Vektor und die neun empfindlichsten Bits von den DCT-Koeffizienten höherer Ordnung zu codieren. Alle restlichen Bits außer den sieben am wenigsten empfindlichen Bits werden dann in fünf [15,11]- Hamming-Codes codiert. Die sieben niedrigstwertigen Bits werden nicht mit Fehlerkorrekturcodes geschützt.
  • Vor der Übertragung werden die 128 Bits, die ein spezielles Sprachsegment darstellen, derart verschachtelt, daß mindestens fünf Bits irgendwelche zwei Bits von demselben Codewort trennen. Dieses Merkmal verteilt die Wirkung von kurzen Fehlerbündeln über mehrere verschiedene Codeworte, wodurch die Wahrscheinlichkeit, daß die Fehler korrigiert werden können, erhöht wird.
  • Am Decodierer werden die empfangenen Bits durch Golay- und Hamming-Decodierer geleitet, die versuchen, jegliche Bitfehler aus den Datenbits zu entfernen. Die drei Paritätskontrollbits werden geprüft, und wenn keine unkorrigierbaren Bitfehler erkannt werden, dann werden die empfangenen Bits verwendet, um die MBE-Modellparameter für den aktuellen Rahmen zu rekonstruieren. Ansonsten, wenn ein unkorrigierbarer Bitfehler erkannt wird, dann werden die empfangenen Bits für den aktuellen Rahmen ignoriert und die Modellparameter aus dem vorherigen Rahmen werden für den aktuellen Rahmen wiederholt.
  • Es wurde festgestellt, daß die Verwendung von Rahmenwiederholungen die wahrnehmbare Qualität der Sprache verbessert, wenn Bitfehler vorliegen. Somit untersuchen wir jeden Rahmen von empfangenen Bits und bestimmen, ob der aktuelle Rahmen wahrscheinlich eine große Anzahl von unkorrigierbaren Bitfehlern enthält. Ein Verfahren, das zur Erkennung von unkorrigierbaren Bitfehlern verwendet wird, besteht darin, zusätzliche Paritätsbits zu prüfen, die in die Daten eingefügt werden. Somit bestimmen wir auch, ob ein großes Bündel von Bitfehlern angetroffen wurde, durch Vergleichen der Anzahl von korrigierbaren Bitfehlern mit der lokalen Abschätzung der Fehlerrate. Wenn die Anzahl von korrigierbaren Bitfehlern im wesentlichen größer ist als die lokale Abschätzung der Fehlerrate, dann wird eine Rahmenwiederholung durchgeführt. Außerdem prüfen wir jeden Rahmen auf ungültige Bitsequenzen (d. h. Gruppen von Bits, die der Codierer niemals überträgt). Wenn eine ungültige Bitsequenz erkannt wird, wird eine Rahmenwiederholung durchgeführt.
  • Die Golay- und Hamming-Decodierer stellen auch eine Information über die Anzahl der korrigierbaren Bitfehler in den Daten bereit. Diese Information wird vom Decodierer verwendet, um die Bilfehlerrate abzuschätzen. Die Abschätzung der Bitfehlerrate wird verwendet, um adaptive Glättungsvorrichtungen zu steuern, die die wahrgenommene Sprachqualität in Gegenwart von unkorrigierbaren Bitfehlern erhöhen. Außerdem kann die Abschätzung der Fehlerrate zur Durchführung von Rahmenwiederholungen in schlechten Fehlerumgebungen verwendet werden.
  • Dieser Aspekt der Erfindung kann mit einer Weichentscheidungscodierung verwendet werden, um die Leistung weiter zu verbessern. Die Weichentscheidungsdecodierung verwendet eine zusätzliche Information über die Wahrscheinlichkeit für jedes Bit, daß es fehlerhaft ist, um die Fehlerkorrektur- und -erkennungsfähigkeiten von vielen verschiedenen Codes zu verbessern. Da diese zusätzliche Information häufig von einem Demodulator in einem digitalen Übertragungssystem erhältlich ist, kann sie eine verbesserte Unempfindlichkeit für Bitfehler bereitstellen, ohne zusätzliche Bits zum Fehlerschutz zu benötigen.
  • Wir verwenden ein neues Verfahren zur Frequenzbereichsparameter-Verbesserung, das die Qualität der synthetisierten Sprache verbessert. Wir machen zunächst die wahrnehmbar wichtigen Bereiche des Sprachspektrums ausfindig. Wir erhöhen dann die Amplitude der wahrnehmbar wichtigen Frequenzbereiche relativ zu anderen Frequenzbereichen. Das bevorzugte Verfahren zur Durchführung einer Frequenzbereichsparameter-Verbesserung besteht darin, die Spektralhüllkurve zu glätten, um die allgemeine Form des Spektrums abzuschätzen. Das Spektrum kann durch Anpassen eines Modells niedriger Ordnung, wie z. B. eines Allpolmodells, eines Cepstral-Modells oder eines Polynommodells, an die Spektralhüllkurve geglättet werden. Die geglättete Spektralhüllkurve wird dann mit der ungeglätteten Spektralhüllkurve verglichen und wahrnehmbar wichtige Spektralbereiche werden als Bereiche identifiziert, wo die ungeglättete Spektralhüllkurve eine größere Energie aufweist als die geglättete Spektralhüllkurve. Ebenso werden Bereiche, wo die ungeglättete Spektralhüllkurve weniger Energie aufweist als die geglättete Spektralhüllkurve, als wahrnehmbar weniger wichtig identifiziert. Die Parameterverbesserung wird durch Erhöhen der Amplitude von wahrnehmbar wichtigen Frequenzbereichen und Senken der Amplitude von wahrnehmbar weniger wichtigen Frequenzbereichen durchgeführt. Dieses neue Verbesserungsverfahren erhöht die Sprachqualität durch Beseitigen oder Verringern von vielen der Fehlern, die während der Abschätzung und Quantisierung der Sprachparameter eingeführt werden. Außerdem verbessert dieses neue Verfahren die Sprachverständlichkeit durch Verschärfen der wahrnehmbar wichtigen Sprachformanten.
  • Beim IMBE-Sprachdecodierer wird ein Allpolmodell erster Ordnung für jeden Rahmen an die Spektralhüllkurve angepaßt. Dies wird durch Abschätzen der Korrelationsparameter R&sub0; und R&sub1; aus den decodierten Modellparametern gemäß den folgenden Gleichungen durchgeführt,
  • wobei &sub1; für 1 ≤ I ≤ die decodierten Spektralamplituden für den aktuellen Rahmen sind und &sub0; die decodierte Grundfrequenz für den aktuellen Rahmen ist. Die Korrelationsparameter R&sub0; und R&sub1; können zur Abschätzung eines Allpolmodells erster Ordnung verwendet werden. Dieses Modell wird bei den Frequenzen ausgewertet, die den Spektralamplituden für den aktuellen Rahmen entsprechen (d. h. k &sub0; für 1 ≤ I ≤ ), und zur Erzeugung einer Gruppe von Gewichten WI gemäß der folgenden Formel verwendet.
  • Diese Gewichte geben das Verhältnis des geglätteten Allpolspektrums zu den IMBE-Spektralamplituden an. Sie werden dann verwendet, um das Ausmaß der Parameterverbesserung, die auf jede Spektralamplitude angewendet wird, individuell zu steuern. Diese Beziehung wird in der folgenden Gleichung ausgedrückt.
  • wobei &sub1; für 1 ≤ I ≤ die verbesserten Spektralamplituden für den aktuellen Rahmen sind.
  • Die verbesserten Spektralamplituden werden dann zur Durchführung der Sprachsynthese verwendet. Die Verwendung der verbesserten Modellparameter verbessert die Sprachqualität relativ zur Synthese aus den nicht verbesserten Modellparametern.
  • Eine weitere Beschreibung einer speziellen Ausführungsform eines Sprachcodierungssystems, das diese Erfindung verwendet, ist in dem Dokument mit dem Titel "INMARSAT M Voice Codec" zu finden, von dem eine Kopie in die Datei dieser Anmeldung gegeben wurde.

Claims (34)

1. Verfahren zum Codieren von Sprache, wobei die Sprache in Segmente zerlegt wird, wobei jedes der Segmente eines von einer Folge von Zeitintervallen darstellt und ein Spektrum von Frequenzen aufweist, und für jedes Segment das Spektrum bei einer Gruppe von Frequenzen abgetastet wird, um eine Gruppe von tatsächlichen Spektralamplituden zu bilden, wobei sich die Frequenzen, bei denen das Spektrum abgetastet wird, im allgemeinen von einem Segment zum nächsten unterscheiden, und wobei die Spektralamplituden für mindestens ein vorheriges Segment verwendet werden, um eine Gruppe von vorhergesagten Spektralamplituden für ein aktuelles Segment zu erzeugen, und wobei eine Gruppe von Vorhersageabweichungen für das aktuelle Segment auf der Basis einer Differenz zwischen den tatsächlichen Spektralamplituden für das aktuelle Segment und den vorhergesagten Spektralamplituden für ein aktuelles Segment bei der anschließenden Codierung verwendet wird, dadurch gekennzeichnet, daß die Vorhersageabweichungen für ein Segment in Blöcke gruppiert werden, ein Mittelwert der Vorhersageabweichungen innerhalb jedes Blocks bestimmt wird, die Mittelwerte von jedem der Blöcke zu einem Vorhersageabweichungsblock-Mittelwert-(PRBA)-Vektor gruppiert werden und der PRBA-Vektor codiert wird.
2. Verfahren nach Anspruch 1, wobei es eine vorbestimmte Anzahl von Blöcken gibt, wobei die Anzahl der Blöcke von der Anzahl der in spezielle Blöcke gruppierten Vorhersageabweichungen unabhängig ist.
3. Verfahren nach Anspruch 2, wobei die vorhergesagten Spektralamplituden für das aktuelle Segment zumindest teilweise auf der Interpolation der Spektralamplituden eines vorherigen Segments basieren, um die Spektralamplituden in dem vorherigen Segment bei den Frequenzen des aktuellen Segments abzuschätzen.
4. Verfahren nach einem der vorangehenden Ansprüche, wobei die Differenz zwischen den tatsächlichen Spektralamplituden für das aktuelle Segment und den vorhergesagten Spektralamplituden für das aktuelle Segment durch Subtrahieren eines Bruchteils der vorhergesagten Spektralamplituden von den tatsächlichen Spektralamplituden gebildet wird.
5. Verfahren nach einem der vorangehenden Ansprüche, wobei die Spektralamplituden unter Verwendung eines Mehrbandanregungs- Sprachmodells erhalten werden.
6. Verfahren nach einem der vorangehenden Ansprüche, wobei nur Spektralamplituden von dem letzten vorherigen Segment bei der Bildung der vorhergesagten Spektralamplituden des aktuellen Segments verwendet werden.
7. Verfahren nach einem der vorangehenden Ansprüche, wobei das Spektrum eine Grundfrequenz umfaßt und die Gruppe von Frequenzen für ein gegebenes Segment Vielfache der Grundfrequenz des Segments sind.
8. Verfahren nach einem der Ansprüche 2 oder 3, wobei die Anzahl der Vorhersageabweichungen in einem Block mit niedrigerer Frequenz nicht größer ist als die Anzahl der Vorhersageabweichungen in einem Block mit höherer Frequenz.
9. Verfahren nach einem der Ansprüche 2, 3 oder 8, wobei die Anzahl der Blöcke gleich sechs (6) ist.
10. Verfahren nach Anspruch 9, wobei die Differenz zwischen der Anzahl der Elemente im Block mit der höchsten Frequenz und der Anzahl der Elemente im Block mit der niedrigsten Frequenz weniger als oder gleich Eins ist.
11. Verfahren nach einem der vorangehenden Ansprüche, wobei der Mittelwert durch Addieren der Vorhersageabweichungen innerhalb des Blocks und Dividieren durch die Anzahl der Vorhersageabweichungen innerhalb dieses Blocks berechnet wird.
12. Verfahren nach Anspruch 11, wobei der Mittelwert durch Berechnen einer Diskreten Cosinustransformation (DCT) der Spektralamplituden- Vorhersageabweichungen innerhalb eines Blocks und Verwenden des ersten Koeffizienten der DCT als Mittelwert erhalten wird.
13. Verfahren nach einem der vorangehenden Ansprüche, wobei die Codierung des PRBA-Vektors die Vektorquantisierung des PRBA-Vektors umfaßt.
14. Verfahren nach Anspruch 13, wobei die Vektorquantisierung unter Verwendung eines Verfahrens durchgeführt wird, welches die folgenden Schritte umfaßt:
Bestimmen eines Mittelwerts des PRBA-Vektors;
Quantisieren des Mittelwerts unter Verwendung einer Skalarquantisierung;
Subtrahieren des Mittelwerts vom PRBA-Vektor, um einen PRBA- Vektor mit einem Mittelwert von Null zu bilden; und
Quantisieren des PRBA-Vektors mit einem Mittelwert von Null unter Verwendung einer Vektorquantisierung mit einem Codebuch mit Mittelwert Null.
15. Verfahren nach einem der vorangehenden Ansprüche, wobei der PRBA- Vektor unter Verwendung einer linearen Transformation des PRBA-Vektors und einer Skalarquantisierung der Transformationskoeffizienten codiert wird.
16. Verfahren nach Anspruch 15, wobei die lineare Transformation eine Diskrete Cosinustransformation umfaßt.
17. Verfahren nach einem der vorangehenden Ansprüche, wobei die vorhergesagten Spektralamplituden für das aktuelle Segment zumindest teilweise auf der Interpolation der Spektralamplituden eines vorherigen Segments basieren, um die Spektralamplituden in dem vorherigen Segment bei den Frequenzen des aktuellen Segments abzuschätzen.
18. Verfahren nach einem der vorangehenden Ansprüche, wobei die Anzahl der Blöcke von der Anzahl der Abweichungen für spezielle Blöcke unabhängig ist.
19. Verfahren nach Anspruch 18, wobei die vorhergesagten Spektralamplituden für das aktuelle Segment zumindest teilweise auf der Interpolation der Spektralamplituden eines vorherigen Segments basieren, um die Spektralamplituden in dem vorherigen Segment bei den Frequenzen des aktuellen Segments abzuschätzen.
20. Verfahren nach einem der vorangehenden Ansprüche, wobei eine Bitfehlerrate für ein aktuelles Sprachsegment abgeschätzt und mit einer vorbestimmten Fehlerratenschwelle verglichen wird und die Entscheidungen Stimme/keine Stimme für Spektralamplituden oberhalb einer vorbestimmten Energieschwelle alle als Stimme für das aktuelle Segment deklariert werden, wenn die abgeschätzte Bitfehlerrate über der Fehlerratenschwelle liegt.
21. Verfahren nach Anspruch 20, wobei die vorbestimmte Energieschwelle von der Abschätzung der Bitfehlerrate für das aktuelle Segment abhängt.
22. Verfahren nach einem der vorangehenden Ansprüche, wobei die Sprache unter Verwendung eines Sprachmodells codiert wird, welches durch Modellparameter gekennzeichnet ist, wobei die Sprache in Zeitsegmente zerlegt wird und für jedes Segment Modellparameter abgeschätzt und quantisiert werden, und wobei zumindest einige der quantisierten Modellparameter unter Verwendung einer Fehlerkorrekturcodierung codiert werden, mindestens zwei Arten einer Fehlerkorrekturcodierung verwendet werden, um die quantisierten Modellparameter zu codieren, und eine erste Codierungsart, die eine größere Anzahl von zusätzlichen Bits hinzufügt als eine zweite Codierungsart, für eine erste Gruppe von quantisierten Modellparametern verwendet wird, die gegenüber Bitfehlern empfindlicher ist als eine zweite Gruppe von quantisierten Modellparametern.
23. Verfahren nach Anspruch 22, wobei die verschiedenen Arten der Fehlerkorrekturcodierung Golay-Codes und Hamming-Codes umfassen.
24. Verfahren nach einem der vorangehenden Ansprüche, wobei die Sprache unter Verwendung eines Sprachmodells codiert wird, welches durch Modellparameter gekennzeichnet ist, wobei die Sprache in Zeitsegmente zerlegt wird und für jedes Segment Modellparameter abgeschätzt und quantisiert werden, wobei zumindest einige der quantisierten Modellparameter unter Verwendung einer Fehlerkorrekturcodierung codiert werden, und wobei die Sprache aus den decodierten quantisierten Modellparametern synthetisiert wird, die Fehlerkorrekturcodierung bei der Synthese verwendet wird, um die Fehlerrate abzuschätzen, und einer oder mehrere Modellparameter von einem vorherigen Segment in einem aktuellen Segment wiederholt werden, wenn die Fehlerrate für den Parameter eine vorbestimmte Stufe übersteigt.
25. Verfahren nach einem der Ansprüche 22 bis 24, wobei die quantisierten Modellparameter jene sind, die zum Mehrbandanregungs-(MBE)- Sprachcodierer oder zum verbesserten Mehrbandanregungs-(IMBE)- Sprachcodierer gehören.
26. Verfahren nach Anspruch 22 oder 23, wobei die Fehlerraten unter Verwendung der Fehlerkorrekturcodes abgeschätzt werden.
27. Verfahren nach Anspruch 26, wobei einer oder mehrere Modellparameter über eine Vielzahl von Segmenten auf der Basis der abgeschätzten Fehlerrate geglättet werden.
28. Verfahren nach Anspruch 27, wobei die geglätteten Modellparameter Entscheidungen Stimme/keine Stimme umfassen.
29. Verfahren nach Anspruch 27, wobei die geglätteten Modellparameter Parameter für den Mehrbandanregungs-(MBE)-Sprachcodierer oder den verbesserten Mehrbandanregungs-(IMBE)-Sprachcodierer umfassen.
30. Verfahren nach Anspruch 29, wobei der Wert von einem oder mehreren Modellparametern in einem vorherigen Segment in einem aktuellen Segment wiederholt wird, wenn die abgeschätzte Fehlerrate für die Parameter eine vorbestimmte Stufe überschreitet.
31. Verfahren nach einem der vorangehenden Ansprüche zum Verbessern von Sprache, wobei ein Sprachsignal in Segmente zerlegt wird und wobei Frequenzbereichsdarstellungen eines Segments bestimmt werden, um eine Spektralhüllkurve des Segments bereitzustellen, und die Sprache aus einer verbesserten Spektralhüllkurve synthetisiert wird, eine geglättete Spektralhüllkurve des Segments durch Glätten der Spektralhüllkurve erzeugt wird, und eine verbesserte Spektralhüllkurve durch Erhöhen einiger Frequenzbereiche der Spektralhüllkurve, für die die Spektralhüllkurve eine größere Amplitude besitzt als die geglättete Hüllkurve, und Verringern einiger Frequenzbereiche, für die die Spektralhüllkurve eine geringere Amplitude besitzt als die geglättete Hüllkurve, erzeugt wird.
32. Verfahren nach Anspruch 31, wobei die Frequenzbereichsdarstellung der Spektralhüllkurve die Gruppe der Spektralamplitudenparameter des Mehrbandanregungs-(MBE)-Sprachcodierers oder des verbesserten Mehrbandanregungs-(IMBE)-Sprachcodierers ist.
33. Verfahren nach Anspruch 26 oder 32, wobei die geglättete Spektralhüllkurve durch Abschätzen eines Modells niedriger Ordnung von der Spektralhüllkurve erzeugt wird.
34. Verfahren nach Anspruch 33, wobei das Modell niedriger Ordnung ein Allpolmodell ist.
DE69132013T 1990-12-05 1991-12-04 Verfahren für sprachquantisierung und fehlerkorrektur Expired - Lifetime DE69132013T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/624,878 US5226084A (en) 1990-12-05 1990-12-05 Methods for speech quantization and error correction
PCT/US1991/009135 WO1992010830A1 (en) 1990-12-05 1991-12-04 Methods for speech quantization and error correction

Publications (2)

Publication Number Publication Date
DE69132013D1 DE69132013D1 (de) 2000-04-06
DE69132013T2 true DE69132013T2 (de) 2000-11-02

Family

ID=24503712

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69133058T Expired - Lifetime DE69133058T2 (de) 1990-12-05 1991-12-04 Verfahren zur Kodierung von Sprachsignalen
DE69133458T Expired - Lifetime DE69133458T2 (de) 1990-12-05 1991-12-04 Verfahren zur Sprachquantisierung und Fehlerkorrektur
DE69132013T Expired - Lifetime DE69132013T2 (de) 1990-12-05 1991-12-04 Verfahren für sprachquantisierung und fehlerkorrektur

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69133058T Expired - Lifetime DE69133058T2 (de) 1990-12-05 1991-12-04 Verfahren zur Kodierung von Sprachsignalen
DE69133458T Expired - Lifetime DE69133458T2 (de) 1990-12-05 1991-12-04 Verfahren zur Sprachquantisierung und Fehlerkorrektur

Country Status (7)

Country Link
US (1) US5226084A (de)
EP (3) EP0560931B1 (de)
JP (1) JP3467270B2 (de)
AU (1) AU657508B2 (de)
CA (1) CA2096425C (de)
DE (3) DE69133058T2 (de)
WO (1) WO1992010830A1 (de)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247579A (en) * 1990-12-05 1993-09-21 Digital Voice Systems, Inc. Methods for speech transmission
US5630011A (en) * 1990-12-05 1997-05-13 Digital Voice Systems, Inc. Quantization of harmonic amplitudes representing speech
US5765127A (en) * 1992-03-18 1998-06-09 Sony Corp High efficiency encoding method
ES2078834B1 (es) * 1992-10-30 1997-04-16 Alcatel Standard Electrica Metodo de segmentacion de cadenas de palabras en la fase de entrenamiento de un reconocedor de palabras conectadas.
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
JP2746033B2 (ja) * 1992-12-24 1998-04-28 日本電気株式会社 音声復号化装置
JP3336617B2 (ja) * 1993-05-31 2002-10-21 ソニー株式会社 信号符号化又は復号化装置,及び信号符号化又は復号化方法,並びに記録媒体
WO1995001680A1 (fr) * 1993-06-30 1995-01-12 Sony Corporation Dispositif de codage de signaux numeriques, son dispositif de decodage, et son support d'enregistrement
TW327223B (en) * 1993-09-28 1998-02-21 Sony Co Ltd Methods and apparatus for encoding an input signal broken into frequency components, methods and apparatus for decoding such encoded signal
US5715365A (en) * 1994-04-04 1998-02-03 Digital Voice Systems, Inc. Estimation of excitation parameters
US5787387A (en) * 1994-07-11 1998-07-28 Voxware, Inc. Harmonic adaptive speech coding method and system
JP3528258B2 (ja) * 1994-08-23 2004-05-17 ソニー株式会社 符号化音声信号の復号化方法及び装置
JP3557662B2 (ja) * 1994-08-30 2004-08-25 ソニー株式会社 音声符号化方法及び音声復号化方法、並びに音声符号化装置及び音声復号化装置
AU696092B2 (en) * 1995-01-12 1998-09-03 Digital Voice Systems, Inc. Estimation of excitation parameters
US5701390A (en) * 1995-02-22 1997-12-23 Digital Voice Systems, Inc. Synthesis of MBE-based coded speech using regenerated phase information
US5754974A (en) * 1995-02-22 1998-05-19 Digital Voice Systems, Inc Spectral magnitude representation for multi-band excitation speech coders
US5774837A (en) * 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
AT403969B (de) * 1995-12-04 1998-07-27 Ericsson Schrack Aktiengesells Verfahren zur kompression eines analogen signals
WO1997027578A1 (en) * 1996-01-26 1997-07-31 Motorola Inc. Very low bit rate time domain speech analyzer for voice messaging
US6035007A (en) * 1996-03-12 2000-03-07 Ericsson Inc. Effective bypass of error control decoder in a digital radio system
KR100438801B1 (ko) * 1996-10-30 2004-07-16 삼성전자주식회사 랜덤에러에견고한부호화및복호화장치
KR100389898B1 (ko) * 1996-10-31 2003-10-17 삼성전자주식회사 음성부호화에 있어서 선스펙트럼쌍 계수의 양자화 방법
US5968199A (en) * 1996-12-18 1999-10-19 Ericsson Inc. High performance error control decoder
US5839098A (en) 1996-12-19 1998-11-17 Lucent Technologies Inc. Speech coder methods and systems
KR100437900B1 (ko) * 1996-12-24 2004-09-04 엘지전자 주식회사 음성코덱의음성데이터복원방법
JPH10233692A (ja) * 1997-01-16 1998-09-02 Sony Corp オーディオ信号符号化装置および符号化方法並びにオーディオ信号復号装置および復号方法
US6131084A (en) * 1997-03-14 2000-10-10 Digital Voice Systems, Inc. Dual subframe quantization of spectral magnitudes
US6161089A (en) * 1997-03-14 2000-12-12 Digital Voice Systems, Inc. Multi-subframe quantization of spectral parameters
FR2768545B1 (fr) * 1997-09-18 2000-07-13 Matra Communication Procede de conditionnement d'un signal de parole numerique
US6199037B1 (en) 1997-12-04 2001-03-06 Digital Voice Systems, Inc. Joint quantization of speech subframe voicing metrics and fundamental frequencies
KR19990065424A (ko) * 1998-01-13 1999-08-05 윤종용 저지연 다중밴드 여기 보코더를 위한 피치 결정방식
FR2796194B1 (fr) * 1999-07-05 2002-05-03 Matra Nortel Communications Procedes et dispositifs d'analyse et de synthese audio
JP4449108B2 (ja) * 1999-08-05 2010-04-14 パナソニック株式会社 音声復号装置
KR100474833B1 (ko) * 1999-11-17 2005-03-08 삼성전자주식회사 예측 및 멜-스케일 이진 벡터를 이용한 가변 차원스펙트럼 진폭 양자화 방법 및 그 장치
US6377916B1 (en) 1999-11-29 2002-04-23 Digital Voice Systems, Inc. Multiband harmonic transform coder
CN1193347C (zh) * 2000-06-20 2005-03-16 皇家菲利浦电子有限公司 正弦编码
US6735563B1 (en) * 2000-07-13 2004-05-11 Qualcomm, Inc. Method and apparatus for constructing voice templates for a speaker-independent voice recognition system
US6732071B2 (en) * 2001-09-27 2004-05-04 Intel Corporation Method, apparatus, and system for efficient rate control in audio encoding
US7027980B2 (en) * 2002-03-28 2006-04-11 Motorola, Inc. Method for modeling speech harmonic magnitudes
CA2388439A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
US7970606B2 (en) 2002-11-13 2011-06-28 Digital Voice Systems, Inc. Interoperable vocoder
US7634399B2 (en) * 2003-01-30 2009-12-15 Digital Voice Systems, Inc. Voice transcoder
US6961696B2 (en) * 2003-02-07 2005-11-01 Motorola, Inc. Class quantization for distributed speech recognition
US6915256B2 (en) * 2003-02-07 2005-07-05 Motorola, Inc. Pitch quantization for distributed speech recognition
US8359197B2 (en) 2003-04-01 2013-01-22 Digital Voice Systems, Inc. Half-rate vocoder
TWI275074B (en) * 2004-04-12 2007-03-01 Vivotek Inc Method for analyzing energy consistency to process data
US8825482B2 (en) 2005-09-15 2014-09-02 Sony Computer Entertainment Inc. Audio, video, simulation, and user interface paradigms
KR100857112B1 (ko) * 2005-10-05 2008-09-05 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
EP1949367B1 (de) * 2005-10-05 2013-07-10 LG Electronics Inc. Verfahren und Vorrichtung zur Audiosignalverarbeitung
US8068569B2 (en) 2005-10-05 2011-11-29 Lg Electronics, Inc. Method and apparatus for signal processing and encoding and decoding
US7970072B2 (en) 2005-10-13 2011-06-28 Lg Electronics Inc. Method and apparatus for processing a signal
WO2007043841A1 (en) * 2005-10-13 2007-04-19 Lg Electronics Inc. Method and apparatus for signal processing
US8194754B2 (en) 2005-10-13 2012-06-05 Lg Electronics Inc. Method for processing a signal and apparatus for processing a signal
US7590523B2 (en) * 2006-03-20 2009-09-15 Mindspeed Technologies, Inc. Speech post-processing using MDCT coefficients
JP4769673B2 (ja) * 2006-09-20 2011-09-07 富士通株式会社 オーディオ信号補間方法及びオーディオ信号補間装置
US8036886B2 (en) * 2006-12-22 2011-10-11 Digital Voice Systems, Inc. Estimation of pulsed speech model parameters
JP2008281552A (ja) * 2007-04-09 2008-11-20 Seiko Epson Corp 初回測位出力位置演算決定方法、プログラム、記憶媒体、測位装置及び電子機器
CN101221765B (zh) * 2008-01-29 2011-02-02 北京理工大学 一种基于语音前向包络预测的差错隐藏方法
DE102010041435A1 (de) * 2010-09-27 2012-03-29 Siemens Medical Instruments Pte. Ltd. Verfahren zum Rekonstruieren eines Sprachsignals und Hörvorrichtung
US9948920B2 (en) 2015-02-27 2018-04-17 Qualcomm Incorporated Systems and methods for error correction in structured light
US10068338B2 (en) 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
US9530215B2 (en) 2015-03-20 2016-12-27 Qualcomm Incorporated Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
US9635339B2 (en) 2015-08-14 2017-04-25 Qualcomm Incorporated Memory-efficient coded light error correction
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
US11270714B2 (en) 2020-01-08 2022-03-08 Digital Voice Systems, Inc. Speech coding using time-varying interpolation
US12254895B2 (en) 2021-07-02 2025-03-18 Digital Voice Systems, Inc. Detecting and compensating for the presence of a speaker mask in a speech signal
US11990144B2 (en) 2021-07-28 2024-05-21 Digital Voice Systems, Inc. Reducing perceived effects of non-voice data in digital speech

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3982070A (en) * 1974-06-05 1976-09-21 Bell Telephone Laboratories, Incorporated Phase vocoder speech synthesis system
US3975587A (en) * 1974-09-13 1976-08-17 International Telephone And Telegraph Corporation Digital vocoder
US3995116A (en) * 1974-11-18 1976-11-30 Bell Telephone Laboratories, Incorporated Emphasis controlled speech synthesizer
US4276647A (en) * 1979-08-02 1981-06-30 Xerox Corporation High speed Hamming code circuit and method for the correction of error bursts
US4454609A (en) * 1981-10-05 1984-06-12 Signatron, Inc. Speech intelligibility enhancement
AU570439B2 (en) * 1983-03-28 1988-03-17 Compression Labs, Inc. A combined intraframe and interframe transform coding system
US4856068A (en) * 1985-03-18 1989-08-08 Massachusetts Institute Of Technology Audio pre-processing methods and apparatus
US4885790A (en) * 1985-03-18 1989-12-05 Massachusetts Institute Of Technology Processing of acoustic waveforms
JPS61252596A (ja) * 1985-05-02 1986-11-10 株式会社日立製作所 文字音声通信方式及び装置
US4720861A (en) * 1985-12-24 1988-01-19 Itt Defense Communications A Division Of Itt Corporation Digital speech coding circuit
US4797926A (en) * 1986-09-11 1989-01-10 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech vocoder
FR2616993B1 (fr) * 1987-06-16 1989-11-24 Radiotechnique Ind & Comm Procede et dispositif de correction d'erreurs dans les donnees numeriques d'un signal de television
US5023910A (en) * 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
JPH02203400A (ja) * 1989-02-01 1990-08-13 Japan Radio Co Ltd 音声符号化方法
US5823910A (en) * 1995-11-23 1998-10-20 Hyundai Motor Company Transmission including planetary gear sets

Also Published As

Publication number Publication date
CA2096425C (en) 2005-03-22
DE69133458D1 (de) 2005-06-09
EP0893791B1 (de) 2002-07-03
EP1211669B1 (de) 2005-05-04
EP0560931A1 (de) 1993-09-22
JP3467270B2 (ja) 2003-11-17
WO1992010830A1 (en) 1992-06-25
DE69133058D1 (de) 2002-08-08
DE69132013D1 (de) 2000-04-06
EP0560931B1 (de) 2000-03-01
CA2096425A1 (en) 1992-06-06
JPH06507252A (ja) 1994-08-11
DE69133458T2 (de) 2006-02-23
DE69133058T2 (de) 2002-10-31
EP1211669A3 (de) 2003-02-05
EP0560931A4 (de) 1995-07-26
US5226084A (en) 1993-07-06
AU657508B2 (en) 1995-03-16
AU9147091A (en) 1992-07-08
EP1211669A2 (de) 2002-06-05
EP0893791A2 (de) 1999-01-27
EP0893791A3 (de) 1999-05-19

Similar Documents

Publication Publication Date Title
DE69132013T2 (de) Verfahren für sprachquantisierung und fehlerkorrektur
DE602004003610T2 (de) Halbrätiger Vocoder
DE69331886T2 (de) Kodierung mit Modulation, Fehlerkontrolle, Gewichtung und Bitzuordnung
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE69815650T2 (de) Sprachkodierer
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE60316396T2 (de) Interoperable Sprachkodierung
EP2022043B1 (de) Informationssignalcodierung
DE69331079T2 (de) CELP-Vocoder
US5491772A (en) Methods for speech transmission
DE69619054T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69900786T2 (de) Sprachkodierung
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
DE69815242T2 (de) Verfahren zur Quantisierung der LPC Parameter mittels geschalteter prädiktiver Quantisierung
DE69625880T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69718307T2 (de) Verfahren und zusammenstellung zur wiederherstellung eines empfangenen sprachsignals
DE69522979T2 (de) Erzeugung von linearen Prädiktionskoeffizienten bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE69518452T2 (de) Verfahren für die Transformationskodierung akustischer Signale
DE69625874T2 (de) Verfahren und Vorrichtung zur Wiedergabe von Sprachsignalen, zur Dekodierung, zur Sprachsynthese und tragbares Funkendgerät
DE69634055T2 (de) Verfahren zur Kodierung von akustischen Signalen
DE69618422T2 (de) Verfahren zur Sprachdekodierung und tragbares Endgerät
DE602004006211T2 (de) Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem
DE69132885T2 (de) CELP-Kodierung niedriger Verzögerung und 32 kbit/s für ein Breitband-Sprachsignal
DE60319590T2 (de) Verfahren zur codierung und decodierung von audio mit variabler rate
DE60133757T2 (de) Verfahren und vorrichtung zur kodierung von stimmloser sprache

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DIGITAL VOICE SYSTEMS, INC., WESTFORD, MASS., US