DE69233502T2 - Vocoder mit veränderlicher Bitrate - Google Patents

Vocoder mit veränderlicher Bitrate Download PDF

Info

Publication number
DE69233502T2
DE69233502T2 DE69233502T DE69233502T DE69233502T2 DE 69233502 T2 DE69233502 T2 DE 69233502T2 DE 69233502 T DE69233502 T DE 69233502T DE 69233502 T DE69233502 T DE 69233502T DE 69233502 T2 DE69233502 T2 DE 69233502T2
Authority
DE
Germany
Prior art keywords
rate
bits
frame
pitch
mentioned
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
DE69233502T
Other languages
English (en)
Other versions
DE69233502D1 (de
Inventor
Paul E. Jacobs
Klein S. Gilhousen
William R. Gardener
S. Katherine Lam
Chong U. Lee
Ming-Chang Tsai
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24866989&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69233502(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of DE69233502D1 publication Critical patent/DE69233502D1/de
Application granted granted Critical
Publication of DE69233502T2 publication Critical patent/DE69233502T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/012Comfort noise or silence coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0046Code rate detection or code type detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision
    • G10L2025/786Adaptive threshold

Description

  • I. Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf ein Verfahren und Vorrichtung zur Sprachsignalkomprimierung. Insbesondere bezieht sich die Erfindung auf ein neues und verbessertes Verfahren und System zum Komprimieren von Sprache, wobei der Umfang der Kompression dynamisch variiert und gleichzeitig die Qualität der rekonstruierten Sprache minimal beeinträchtigt wird.
  • II. Beschreibung verwandter Techniken
  • Die Übertragung von Sprache mittels digitaler Verfahren ist weit verbreitet, besonders bei Langstrecken- und digitalen Funktelefon-Anwendungen. Dies wiederum hat ein Interesse erzeugt, die geringste Informationsmenge zu bestimmen, die über einen Kanal übertragen werden kann, welche die empfangene Qualität der rekonstruierten Sprache beibehält. Falls Sprache durch einfaches Abtasten und Digitalisieren übertragen wird, wird eine Datenrate in der Größenordnung von 64 Kilobit pro Sekunde (kbps) benötigt, um eine Sprachqualität des konventionellen analogen Telefons zu erreichen. Allerdings kann durch die Verwendung von Sprachanalyse, gefolgt von der geeigneten Kodierung, Übertragung und Re-Synthese beim Empfänger eine signifikante Reduzierung der Datenrate erreicht werden.
  • Vorrichtungen, die Verfahren zum Komprimieren stimmhafter Sprache durch Extrahieren von Parametern, die sich auf ein Modell der menschlichen Spracherzeugung beziehen, einsetzen, werden typischerweise Vocoder genannt. Solche Vorrichtungen bestehen aus einem Kodierer, welcher die eingehende Sprache analysiert, um die relevanten Parameter zu extrahieren, und einem Decoder, welcher die Sprache unter Verwendung der Parameter, welche er über den Übertragungskanal empfängt, re-synthetisiert. Um akkurat zu sein, muß sich das Modell ständig ändern. Daher wird die Sprache in Zeitblöcke oder Analyserahmen aufgeteilt, über welche die Parameter berechnet werden. Die Parameter werden dann für jeden neuen Rahmen aktualisiert.
  • Unter den verschiedenen Klassen von Sprachkodierern sind das codeerregte lineare Vorhersagekodieren (CELP = Code Excited Linear Predictive Coding) und das stochastische Kodieren (Stochastic Coding) oder vektorerregte Sprachkodieren (Vector Excited Speech Coding) von einer Klasse. Ein Beispiel eines Kodieralgorithmus dieser speziellen Klasse ist in der Veröffentlichung "A 4.8 kbps Code Excited Linear Predictive Coder" von Thomas E. Tremain et al., Proceedings of the Mobile Satellite Conference, 1988, beschrieben.
  • Die Funktion des Vocoders ist es, das digitalisierte Sprachsignal in ein Signal niedriger Bitrate durch Entfernen aller natürlichen Redundanzen, die in Sprache enthalten sind, zu komprimieren. Sprache weist typischerweise Kurzzeit-Redundanzen auf, hauptsächlich aufgrund des Filter-Vorgangs im Vokaltrakt, und Langzeit-Redundanzen aufgrund der Erregung des Vokaltrakts durch die Stimmbänder. In einem CELP Kodierer werden diese Vorgänge durch zwei Filter modelliert: ein Kurzzeit-Formantenfilter und ein Langzeit-Pitch- bzw. -Tonhöhenfilter. Sobald diese Redundanzen entfernt wurden, kann das verbleibende restliche Signal als weißes Gauß'sches Rauschen modelliert werden, welches ebenfalls kodiert werden muß. Die Grundlage dieses Verfahrens ist das Berechnen der Parameter eines Filters, genannt das LPC Filter (LPC = Linear Predictive Coding), welches eine Kurzzeit-Vorhersage der Sprachwellenform unter Verwendung eines Modells des menschlichen Vokaltrakts ausführt. Zusätzlich werden Langzeit-Effekte, in Beziehung stehend mit dem Pitch bzw. Tonhöhe der Sprache, durch Berechnen der Parameter eines Pitchfilters modelliert, welches im wesentlichen die menschlichen Stimmbänder modelliert. Schließlich müssen diese Filter erregt werden, und dies wird ausgeführt, indem bestimmt wird, welche aus einer Anzahl zufälliger Erregungs-Wellenformen in einem Codebook die beste Annäherung an die originale Sprache liefert, wenn die Wellenform die beiden oben erwähnten Filter erregt. Folglich stehen die übertragenen Parameter in Beziehung mit drei Elementen: (1) dem LPC Filter, (2) dem Pitchfilter und (3) der Codebook-Erregung.
  • Obgleich die Verwendung von Vocoder-Verfahren das Ziel fördert, die Reduzierung der über den Kanal gesendeten Informationsmenge bei Erhalt der Qualität der rekonstruierten Sprache zu versuchen, müssen andere Verfahren eingesetzt werden, um weitere Reduzierung zu erreichen. Ein früher verwendetes Verfahren zur Reduzierung der gesendeten Informationsmenge ist das Sprachaktivitäts-Ansteuern bzw. -Umschalten (voice activity gating). Bei diesem Verfahren wird während Sprachpausen keine Information übertragen. Obgleich dieses Verfahren das gewünschte Ergebnis der Daten-Reduzierung erreicht, leidet es unter mehreren Unzulänglichkeiten.
  • In vielen Fällen wird die Qualität der Sprache reduziert aufgrund des Abschneidens bzw. Clipping deren Anfangsteile eines Wortes. Ein anderes Problem beim Abschalten des Kanals während Inaktivität besteht darin, daß Nutzer des Systems das Fehlen des Hintergrundrauschens feststellen, welches normalerweise die Sprache begleitet, und die Qualität des Kanals als niedriger als die einer normalen Telefonverbindung bewerten. Ein weiteres Problem beim Aktivitäts-Umschalten besteht darin, daß mitunter plötzliche Geräusche im Hintergrund den Übertrager auslösen können, obgleich keine Sprache auftritt, was zu störenden Rauschimpulsen beim Empfänger führt.
  • Bei einem Versuch zur Verbesserung der Qualität der synthetisierten Sprache in Systemen mit Sprachaktivitäts-Umschalten wird synthetisiertes Annehmlichkeits-Rauschen während des Dekodierprozesses zugefügt. Obgleich durch das Zufügen von Annehmlichkeits-Rauschen eine etwas verbesserte Qualität erreicht werden kann, wird die gesamte Qualität nicht grundlegend verbessert, da das Annehmlichkeits-Rauschen nicht das tatsächliche Hintergrundrauschen beim Kodierer modelliert.
  • Ein bevorzugteres Verfahren zum Erreichen von Datenkompression, mit dem Ziel der Reduzierung der Information, die übertragen werden muß, ist das Durchführen von Sprachkodierung mit variabler Rate. Da Sprache inhärent Stilleperioden, d.h. Pausen, umfaßt, kann die Datenmenge reduziert werden, die erforderlich ist, um diese Perioden zu repräsentieren. Sprachkodierung mit variabler Rate nutzt diese Tatsache effektiv aus, indem die Datenrate für diese Stilleperioden reduziert wird. Eine Reduzierung der Datenrate für Stilleperioden, im Gegensatz zu einer kompletten Unterbrechung der Datenübertragung, überwindet die mit Sprachaktivitäts-Umschalten assoziierten Probleme und ermöglicht gleichzeitig eine Reduzierung der übertragenen Information.
  • Weiterhin wird auf die europäische Patentanmeldung EP 0 449 043 aufmerksam gemacht, die ein Stand der Technik gemäß Artikel 54 (3) und (4) EPÜ ist. Die EP 0 449 043 beschreibt ein Verfahren und Vorrichtung zum Digitalisieren von Sprache. Die Sprachdigitalisierung wird ausgeführt unter Verwendung von beidem, Signalformcodierung und Quellcodierung, und zwar mit einem Codierer für die Digitalisierung und einen Decoder zur Rekonstruktion des Sprachsignals. Das Sprachsignal wird in Segmente in dem Codierer aufgeteilt und in einem Teil der Segmente verarbeitet, und zwar mit einer Nährung der abgetasteten Werte, die so genau wie möglich ist, wobei ein geschätzter Wert für die momentanen abgetasteten Werte unter Verwendung von abgetasteten Werten berechnet wird. In dem anderen Teil der Segmente werden Parameter für die Sprachsimulation nur durch die Quellcodierung hergeleitet. Die individuellen Signalsegmente werden mit variablen Bitraten verarbeitet, die verschieden Betriebsmodi zugeordnet sind und jedes Signalsegment wird als eines der Betriebsmodi kategorisiert. Die individuellen Sprachsegmente werden somit gemäß Anforderungen mit einer größeren oder kleineren Anzahl von Bits codiert, was ein Hybridcodierverfahren vorsieht, dass die Quellcodierung und die Signalformcodierung vereinigt. Zusammen mit der Signalquantisierung von vorhergehenden und nachfolgenden Signalverarbeitungsstufen wird somit eine durchschnittliche Bitrate von 6 kbit/s und einer ähnlichen Sprachqualität zu der von Telefonübertragungen erzeugt.
  • Weiterhin wird auf den Artikel, betitelt "Phonetically-based vector excitation coding of speech at 3.6 kbps" von Shihua Wang et al, Sprachverarbeitung 1, Glasgow, Mai 23–26, 1989, ICASSP'89, New York, IEEE, US, Band 1 conf. 14, 23. Mai 1989, Seiten 49–54, XP00089669 aufmerksam gemacht. Der Artikel beschreibt eine phonetisch basierte Segmentierung von Sprache, die ausge führt wird, um Segmente in fünf Klassen zu klassifizieren, Anfang, unstimmhaft, tiefpassstimmhaft, eingeschwungen stimmhaft und transienten stimmhaft. Die Segmentlängen werden auf ein ganzzahliges Vielfaches eines Einheitsrahmens beschränkt. Für jede Segmentklasse wird ein unverwechselbares Codierschema basierend auf der Vektor Excitation Coding (VXC) eingesetzt. Gemäß der vorliegenden Erfindung wird ein Verfahren zur Sprachsignalcomprimierung, gemäß Anspruch 1 und eine Vorrichtung zur Komprimierung eines akustischen Signals, gemäß Anspruch 17, vorgesehen. Bevorzugte Ausführungsbeispiele der Erfindung werden in den Unteransprüchen offenbart.
  • Zusammenfassung der Erfindung
  • Die Erfindung wird insbesondere in den beigefügten Ansprüchen dargelegt. Die vorliegende Erfindung zielt darauf ab, ein neues und verbessertes Verfahren und System für das Komprimieren von Sprache unter Verwendung eines Sprachkodier-Verfahrens mit variabler Rate vorzusehen.
  • Im Folgenden wird ein Vocoder beschrieben, der einen Sprachkodier-Algorithmus bzw. Vocoding-Algorithmus implementiert, und zwar gemäß der zuvor erwähnten Klasse von Sprachkodierern, codeerregtes lineares Vorhersagekodieren (CELP = Code Excited Linear Predictive Coding), stochastisches Kodieren (Stochastic Coding) oder vektorerregtes Sprachkodieren (Vector Excited Speech Coding). Das CELP Verfahren liefert für sich genommen eine signifikante Reduktion der Datenmenge, die erforderlich ist, um Sprache in einer Weise zu repräsentieren, daß bei der Re-Synthese Sprache hoher Qualität resultiert. Wie zuvor erwähnt werden die Vocoder-Parameter für jeden Rahmen aktualisiert. Der Vocoder der vorliegenden Erfindung sieht eine variable Ausgabe-Datenrate vor durch Verändern der Frequenz und der Präzision der Modellparameter.
  • Die Implementierung unterscheidet sich merklich von dem CELP Basisverfahren durch Erzeugen einer variablen Ausgabe-Datenrate basierend auf Sprachaktivität. Die Struktur ist so definiert, daß die Parameter während Sprachpausen weniger oft, oder mit geringerer Präzision, aktualisiert werden. Dieses Verfahren erlaubt eine noch größere Verringerung der zu übertragenden Informationsmenge. Das Phänomen, welches ausgenutzt wird, um die Datenrate zu reduzieren, ist der Sprachaktivitätsfaktor, welcher der durchschnittliche Prozentsatz von Zeit ist, die ein gegebener Sprecher während einer Konversation tatsächlich spricht. Für typische Zweiwege-Telefonkonversationen wird die durchschnittliche Datenrate um einen Faktor von 2 oder mehr reduziert. Während Sprachpausen wird nur Hintergrundrauschen durch den Vocoder kodiert. Zu diesen Zeiten müssen einige der Parameter, die sich auf das Modell des menschlichen Vokaltrakts beziehen, nicht übertragen werden.
  • Wie zuvor erwähnt wird ein früherer Ansatz zum Begrenzen der während Stille übertragenen Informationsmenge Sprachaktivitäts-Umschalten bzw. -Ansteuerung genannt, ein Verfahren, bei welchem keine Information während Momenten von Stille übertragen wird. Auf der empfangenden Seite kann die Periode mit synthetisiertem "Annehmlichkeits-Rauschen" gefüllt werden. Im Gegensatz dazu überträgt in einem im Folgenden im Detail beschriebenen Ausführungsbeispiel der Erfindung ein Vocoder mit variabler Rate kontinuierlich Daten, welches mit Raten erfolgt, die zwischen ungefähr 8 kbps und 1 kbps liegen. Ein Vocoder, der eine kontinuierliche Übertragung von Daten liefert, eliminiert den Bedarf für synthetisiertes "Annehmlichkeits-Rauschen", wobei das Kodieren des Hintergrundrauschens eine natürlichere Qualität der re-synthetisierten Sprache liefert. Daher wird eine signifikante Verbesserung der re-synthetisierten Sprachqualität gegenüber dem Sprachaktivitäts-Umschalten, indem sie einen sanften Übergang zwischen Sprache und Hintergrund ermöglicht.
  • Das zu beschreibende Ausführungsbeispiel umfaßt weiterhin ein neuartiges Verfahren zum Maskieren des Auftretens von Fehlern. Da die Daten für die Übertragung über einen Kanal vorgesehen sind, der rauschbehaftet sein kann, zum Beispiel eine Funkverbindung, müssen Fehlern in den Daten Rechnung getragen werden. Frühere Verfahren, die Kanalkodierung verwen den, um die Anzahl auftretender Fehler zu reduzieren, können einigen Erfolg bei der Fehlerreduktion liefern. Allerdings liefert Kanalkodierung allein nicht den Grad von Fehlersicherung, der nötig ist, um eine hohe Qualität der rekonstruierten Sprache sicherzustellen. In dem Vocoder mit variabler Rate, in dem die Sprachkodierung kontinuierlich erfolgt, kann ein Fehler Daten zerstören, die sich auf ein interessantes Sprachereignis wie z.B. den Beginn eines Wortes oder einer Silbe beziehen. Ein typisches Problem von Vocodern vom Typ der linearen Vorhersagekodierung (LPC = Linear Predictive Coding) besteht darin, das Fehler in den Parametern, die sich auf das Modell des Vokaltrakts beziehen, Geräusche erzeugen werden, die vage menschlich sind, und die den Klang des originalen Wortes hinreichend ändern können, um den Zuhörer zu verwirren. In dem folgenden Ausführungsbeispiel werden Fehler maskiert, um deren Wahrnehmbarkeit für den Zuhörer zu verringern. Diese Fehlermaskierung liefert daher eine drastische Verringerung des Einflusses von Fehlern auf die Verständlichkeit der Sprache.
  • Da der maximale Betrag, um den sich ein Parameter ändern kann, bei niedrigen Raten auf geringere Bereiche begrenzt ist, werden Fehler in den Parametern, die mit diesen Raten übertragen werden, die Sprachqualität weniger beeinflussen. Da Fehler in den verschiedenen Raten verschieden wahrgenommene Einflüsse auf die Sprachqualität haben, kann das Übertragungssystem optimiert werden, um mehr Sicherung für die höhere Datenrate zu liefern. Daher ist ein zusätzliches Merkmal das Vorsehen einer Robustheit gegenüber Kanalfehlern.
  • Das Implementieren einer Version des CELP Algorithmus mit Ausgabe mit variabler Rate ergibt eine Sprachkompression, die abhängig von der Sprachaktivität dynamisch zwischen 8:1 bis 64:1 variiert. Die eben erwähnten Kompressionsfaktoren sind mit Bezug auf eine μ-law Eingabe genannt, wobei die Kompressionsfaktoren um einen Faktor von 2 höher sind für eine lineare Eingabe. Die Bestimmung der Rate wird Rahmen für Rahmen durchgeführt, um den Sprachaktivitätsfaktor vollständig vorteilhaft auszunutzen. Obgleich weniger Daten für Sprachpausen produziert werden, wird die wahrgenommene ter Verwendung der Verfahren der vorliegenden Erfindung kann fernverbindungsnahe (near-toll) Sprachqualität bei einer maximalen Datenrate von 8 kbps und einer durchschnittlichen Datenrate in der Größenordnung von 3,5 kbps in normaler Konversation erreicht werden.
  • Da der Vocodor das Detektieren kurzer Pausen in der Sprache erlaubt, wird eine Verringerung des effektiven Sprachaktivitätsfaktors realisiert. Entscheidungen über die Rate können ohne Überlappungen Rahmen für Rahmen getroffen werden, und die Datenrate kann so für kurze Sprachpausen bis zur Dauer eines Rahmens, was typischerweise 20 ms ist, verringert werden. Daher können Pausen, wie beispielsweise die Pausen zwischen Silben, erfaßt werden. Dieses Verfahren verringert den Sprachaktivitätsfaktor über das hinaus, was traditionell betrachtet wurde, da nicht nur Pausen langer Dauer zwischen Phrasen, sondern auch kürzere Pausen mit geringeren Raten kodiert werden können.
  • Da Entscheidungen über die Rate auf Rahmenbasis durchgeführt werden, gibt es kein Clipping des anfänglichen Teils des Wortes wie z.B. in einem Sprachaktivitäts-Umschaltesystem (voice activity gating system). Ein Clipping dieser Natur tritt im Sprachaktivitäts-Umschaltesystem aufgrund einer Verzögerung zwischen der Detektion der Sprache und einem Neustart der Datenübertragung auf. Mit einer Entscheidung über die Rate basierend auf jedem Rahmen ergibt sich Sprache, bei der alle Übergänge einen natürlichen Klang haben.
  • Mit dem immer übertragenden Vocoder wird des Sprechers umgebendes Hintergrundrauschen kontinuierlich beim empfangenden Ende gehört werden, wodurch sich ein natürlicherer Klang während Sprachpausen ergibt. Der Vocodor sieht somit einen sanften Übergang zum Hintergrundrauschen vor. Was der Zuhörer im Hintergrund während Sprache hört, wird während Pausen nicht plötzlich zu einem synthetisierten Annehmlichkeits-Rauschen wechseln wie in einem Sprachaktivitäts-Umschaltesystem.
  • Da Hintergrundrauschen kontinuierlich durch den Vocoder für die Übertragung kodiert wird, können interessante Ereignisse im Hintergrund mit voller Klarheit gesendet werden. In bestimmten Fällen kann das interessante Hintergrundrauschen sogar mit der höchsten Rate kodiert werden. Kodieren mit maximaler Rate kann beispielsweise auftreten, wenn jemand im Hintergrund laut spricht oder falls ein Krankenwagen an einem an einer Straßenecke stehenden Benutzer vorbei fährt. Konstantes oder langsam variierendes Hintergrundrauschen wird jedoch mit niedrigen Raten kodiert.
  • Die Verwendung von Sprachkodierern mit variabler Rate verspricht, die Kapazität eines digitalen zellularen Telefonsystems vom Codevielfachzugriff-Typ (CDMA = Code Division Multiple Access) um mehr als einen Faktor von zwei zu erhöhen. CDMA und Sprachkodierung mit variabler Rate passen einzigartig zueinander, da bei CDMA die Interferenz zwischen Kanälen automatisch fällt, wenn sich die Rate der Datenübertragung über irgendeinen Kanal verringert. Als Gegensatz seien Systeme betrachtet, in denen Übertragungs-Schlitze zugewiesen sind, wie zum Beispiel TDMA oder FDMA. Um in einem solchen System irgendeine Verringerung in der Rate der Datenübertragung vorteilhaft auszunutzen, ist externer Eingriff erforderlich, um die Neuzuweisung der nicht genutzten Schlitze an andere Benutzer zu koordinieren. Die inhärente Verzögerung in einem solchen Schema impliziert, daß der Kanal nur während langer Sprachpausen neu zugewiesen werden kann. Daher kann der volle Vorteil des Sprachaktivitätsfaktors nicht ausgeschöpft werden. Mit externer Koordination jedoch ist Sprachkodierung mit variabler Rate aus den anderen genannten Gründen in anderen als CDMA Systemen nützlich.
  • In CDMA Systemen kann die Sprachqualität leicht herabgesetzt werden, wenn zusätzliche Systemkapazität erwünscht ist. Abstrakt gesprochen kann der Vocoder als mehrere Vocoder betrachtet werden, die alle mit verschiedenen Raten mit verschiedenen resultierenden Sprachqualitäten operieren. Daher können die Sprachqualitäten gemischt werden, um die durchschnittliche Rate der Datenübertragung weiter zu reduzieren. Erste Experimente zeigen, daß durch die Mischung Vocoder kodierter Sprache mit Vollrate und Halbrate, zum Bei spiel wird die maximal erlaubte Datenrate Rahmen für Rahmen zwischen 8 kbps und 4 kbps variiert, die resultierende Sprache eine Qualität hat, die besser als variable mit Halbrate, 4 kbps Maximum, aber nicht so gut wie variable mit Vollrate, 8 kbps Maximum, ist.
  • Es ist wohlbekannt, daß in den meisten Telefonkonversationen nur eine Person zu einer bestimmten Zeit spricht. Als eine zusätzliche Funktion für Vollduplex-Telefonverbindungen kann einer Ratensperre bzw. Ratenverriegelung (rate interlock) vorgesehen werden. Falls eine Richtung der Verbindung mit der höchsten Übertragungsrate überträgt, dann wird die andere Richtung der Verbindung gezwungen, mit der geringsten Rate zu übertragen. Eine Sperre zwischen den beiden Richtungen der Verbindung kann garantieren, daß die durchschnittliche Benutzung jeder Richtung der Verbindung nicht größer als 50% ist. Wenn der Kanal jedoch umgeschaltet bzw. ausgeschaltet wird, wie dies der Fall ist für eine Ratensperre beim Aktivitäts-Umschalten, gibt es keine Möglichkeit für den Zuhörer, den Sprecher zu unterbrechen, um die Rolle des Sprechers in der Konversation zu übernehmen. Der Vocodor, der im Folgenden beschrieben wird, sieht auf einfache Weise die Fähigkeit einer Ratensperre durch Steuerungssignale vor, welche die Sprachkodier-Rate vorgeben.
  • Schließlich sei darauf hingewiesen, daß durch die Verwendung eines Sprachkodier-Schemas mit variabler Rate Signalisierungsinformation den Kanal gemeinsam mit Sprachdaten benutzen kann und dabei die Sprachqualität sehr minimal beeinflußt. Zum Beispiel kann ein Rahmen mit hoher Rate in zwei Teile aufgeteilt werden, eine Hälfte zum Senden der Sprachdaten mit geringer Rate um die andere Hälfte für die Signalisierungsdaten. In dem Vocoder aus dem bevorzugten Ausführungsbeispiel wird nur eine geringe Verringerung der Sprachqualität zwischen Vollrate und Halbrate kodierter Sprache realisiert. Daher resultiert das Kodieren der Sprache mit dem Vocoder mit einer geringeren Rate für die gemeinsame Übertragung mit anderen Daten in einem fast nicht wahrnehmbaren Unterschied der Sprachqualität für den Nutzer.
  • Kurzbeschreibung der Zeichnungen
  • Die obigen und weiteren Ziele, Gegenstände und Vorteile der vorliegenden Erfindung werden durch Betrachtung der folgenden detaillierten Beschreibung im Zusammenhang mit den Zeichnungen schneller deutlich, in welchen gleiche Bezugszeichen durchweg entsprechend kennzeichnen und worin:
  • 1a1e stellen in grafischer Form die Analyserahmen und Subrahmen des Vocoders für verschiedene Raten dar;
  • 2a2d sind eine Reihe von Tabellen, die die Bitverteilung der Vocoder-Ausgabe für verschiedene Raten illustrieren;
  • 3 ist ein verallgemeinertes Blockdiagramm eines beispielhaften Kodierers;
  • 4 ist ein Flußdiagramm des Kodierers;
  • 5 ist ein verallgemeinertes Blockdiagramm eines beispielhaften Decoders;
  • 6 ist ein Flußdiagramm des Decoders;
  • 7 ist ein detaillierteres funktionales Blockdiagramm des Kodierers;
  • 8 ist ein Blockdiagramm eines beispielhaften Hamming-Window und Autokorrelation-Subsystems;
  • 9 ist ein Blockdiagramm eines beispielhaften Subsystems zur Bestimmung der Rate;
  • 10 ist ein Blockdiagramm eines beispielhaften Subsystems zur LPC Analyse;
  • 11 ist ein Blockdiagramm eines beispielhaften Subsystems zur LPC zu LSP Transformation;
  • 12 ist ein Blockdiagramm eines beispielhaften Subsystems zur LPC Quantisierung;
  • 13 ist ein Blockdiagramm beispielhafter Subsysteme für die LSP Interpolation und die LSP zu LPC Transformation;
  • 14 ist ein Blockdiagramm des adaptiven Codebook für die Pitch-Suche;
  • 15 ist ein Blockdiagramm des Decoders des Kodierers;
  • 16 ist ein Blockdiagramm des Subsystems zur Pitch-Suche;
  • 17 ist ein Blockdiagramm des Subsystems zur Codebook-Suche;
  • 18 ist ein Blockdiagramm des Subsystems zum Packen der Daten;
  • 19 ist ein detaillierteres funktionales Blockdiagramm des Decoders;
  • 20a20d sind Tabellen, die die vom Decoder empfangenen Parameter und die Dekodier-Daten der Subrahmen für verschiedene Raten darstellen;
  • 21a21c sind Tabellen, die weitergehend die vom Decoder empfangenen Parameter und die zu dekodierenden Daten der Subrahmen für verschiedene Raten darstellen;
  • 22 ist ein Blockdiagramm des Subsystems zur LSP inversen Quantisierung;
  • 23 ist ein detaillierteres Blockdiagramm des Decoders mit Post-Filtern und automatischer Verstärkungssteuerung; und
  • 24 ist ein Diagramm, das die Kennlinie des adaptiven Helligkeitsfilters darstellt.
  • Detaillierte Beschreibung des bevorzugten Ausführungsbeispiels
  • Ein Vocodor wird nun beschrieben, in dem Geräusche wie z.B. Sprache und/oder Hintergrundrauschen abgetastet und digitalisiert unter Verwendung wohlbekannter Verfahren. Zum Beispiel kann das analoge Signal in ein digitales Format konvertiert werden durch eine Standard 8 Bit/μlaw Formatkonvertierung, gefolgt von einer μlaw/uniformer Code Konvertierung. In der Alternative kann das analoge Signal direkt in digitale Form konvertiert werden in ein uniformes Pulscode-Modulation (PCM) Format. Jeder Abtastwert wird daher durch ein 16-Bit Datenwort repräsentiert. Die Abtastwerte sind in Rahmen von Eingabedaten organisiert, worin jeder Rahmen eine vorherbestimmte Anzahl von Abtastwerten aufweist. In der folgenden Beschreibung wird eine 8 kHz Abtastrate betrachtet. Jeder Rahmen weist 160 Abtastwerte oder 20 ms Sprache bei der 8 kHz Abtastrate auf. Es versteht sich, daß andere Abtastraten und Rahmengrößen verwendet werden können.
  • Das Feld der Vocoder umfaßt viele verschiedene Verfahren zur Sprachkodierung. Eins davon ist das CELP Kodierverfahren. Eine Zusammenfassung des CELP Kodierverfahrens ist in der zuvor genannten Veröffentlichung "A 4.8 kbps Code Excited Linear Predictive Coder" beschrieben. Der Vocoder implementiert eine Form der CELP Kodierverfahren, um eine variable Rate der kodierten Sprachdaten vorzusehen, worin die LPC-Analyse über eine konstante Anzahl von Abtastwerten durchgeführt wird und die Pitch- und Codebook-Suchen werden abhängig von der Übertragungsrate mit variierenden Anzahlen von Abtastwerten durchgeführt. Das Konzept der CELP Kodierverfahren, wie in dem Vocodor angewendet, wird mit Bezug auf die 3 und 5 erläutert.
  • In der folgenden Beschreibung sind die Sprachanalyse-Rahmen 20 ms lang, was impliziert, daß die extrahierten Parameter in einem Burst bzw. Bitbündel 50 mal pro Sekunde übertragen werden. Darüberhinaus wird die Rate der Datenübertragung variiert von ungefähr 8 kbps zu 4 kbps zu 2 kbps und zu 1 kbps. Bei Vollrate (auch bezeichnet als Rate 1) erfolgt die Datenübertragung mit einer Rate von 8,55 kbps, wobei die Parameter für jeden Rahmen unter Verwendung von 171 Bit inklusive eines 11 Bit internen CRC (Cyclic Redundancy Check, zyklische Redundanzprüfung) kodiert werden. Bei Fehlen des CRC würde die Rate 8 kbps sein. Bei Halbrate (auch bezeichnet als Rate 1/2) erfolgt die Datenübertragung mit einer Rate von 4 kbps, wobei die Parameter für jeden Rahmen unter Verwendung von 80 Bit kodiert werden. Bei Viertelrate (auch bezeichnet als Rate 1/4) erfolgt die Datenübertragung mit einer Rate von 2 kbps, wobei die Parameter für jeden Rahmen unter Verwendung von 40 Bit kodiert werden. Bei Achtelrate (auch bezeichnet als Rate 1/8) erfolgt die Datenübertragung mit einer Rate von etwas weniger als 1 kbps, wobei die Parameter für jeden Rahmen unter Verwendung von 16 Bit kodiert werden.
  • 1 stellt einen beispielhaften Analyserahmen von Sprachdaten 10 und die Relation eines Hamming-Window 12 verwendet bei LPC Analyse grafisch dar. Der LPC Analyserahmen und die Pitch- und Codebook-Subrahmen für die verschiedenen Raten sind in grafischer Form in den 2a2d dargestellt. Es sei darauf hingewiesen, daß der LPC Analyserahmen für alle Raten die gleiche Größe aufweist.
  • Im folgenden wird auf die Zeichnungen Bezug genommen, insbesondere auf 1a. LPC Analyse wird ausgeführt unter Verwendung der 160 Sprachdaten-Abtastwerte des Rahmens 10, welche unter Verwendung des Hamming-Window 12 einer Fensteroperation unterzogen werden. Wie in 1a dargestellt sind die Abtastwerte s(n) innerhalb jeden Rahmens mit 0–159 numeriert. Das Hamming-Window 12 ist so positioniert, daß es innerhalb des Rahmens 10 einen Offset von 60 Abtastwerten hat. Daher beginnt das Hamming-Window 12 bei dem 60. Abtastwert, s(59), des aktuellen Datenrahmens 10 und setzt sich fort bis einschließlich zum 59. Abtastwert, s(58), des folgenden Datenrahmens 14. Die für den aktuellen Rahmen, Rahmen 10, erzeugten gewichteten Daten enthalten also auch Daten, die auf Daten des nächsten Rahmens, Rahmen 14, basieren.
  • Abhängig von der Datenübertragungsrate werden Suchen zur Berechnung der Pitch-Filterparameter und Codebook-Erregungsparameter mehrfach für verschiedene Subrahmen des Datenrahmens 10 durchgeführt, wie in 1b1e gezeigt. Es sei darauf hingewiesen, daß nur eine Rate für den Rahmen 10 ausgewählt wird, so daß die Pitch- und Codebook-Suchen in Subrahmen verschiedener Größen entsprechend einer gewählten Rate durchgeführt werden, wie unten beschrieben. Für Zwecke der Darstellung jedoch wird die Subrahmen-Struktur der Pitch- und Codebook-Suchen für die verschiedenen erlaubten Raten für Rahmen 10 in den 1b1e gezeigt.
  • Für alle Raten findet eine LPC Berechnung pro Rahmen 10 statt, wie in 1a dargestellt. Wie in 1b dargestellt, gibt es bei Vollrate 2 Codebook-Subrahmen 18 für jeden Pitch-Subrahmen 16. Bei Vollrate gibt es vier Pitch-Aktualisierungen, jeweils eine für die vier Pitch-Subrahmen 16, die jeweils 40 Abtastwerte lang sind (5 ms). Darüberhinaus gibt es bei Vollrate 8 Codebook-Aktualisierungen, jeweils eine für die acht Codebook-Subrahmen 18, die jeweils 20 Abtastwerte lang sind (2,5 ms).
  • Bei Halbrate, wie in 1c dargestellt, gibt es zwei Codebook-Subrahmen 22 für jeden Pitch-Subrahmen 20. Der Pitch wird zweimal aktualisiert, jeweils einmal für die beiden Pitch-Rahmen 20, wohingegen das Codebook viermal aktualisiert wird, jeweils einmal für die vier Codebook-Subrahmen 22. Bei Viertelrate, wie in 1d dargestellt, gibt es zwei Codebook-Subrahmen 26 für einen einzigen Pitch-Subrahmen 20. Der Pitch wird einmal für den Pitch-Subrahmen 24 aktualisiert, wohingegen das Codebook zweimal, jeweils einmal für die beiden Codebook-Subrahmen 26, aktualisiert wird. Wie in 1e dargestellt, wird bei Achtelrate der Pitch nicht bestimmt und das Codebook wird nur einmal im Rahmen 28 aktualisiert, welcher dem Rahmen 10 entspricht.
  • Obwohl die LPC Koeffizienten nur einmal pro Rahmen berechnet werden, werden sie zusätzlich als Spektrallinienpaar bzw. in einer Line Spectral Pair (LSP) Repräsentation linear interpoliert, bis zu vier mal unter Verwendung der resultierenden LSP Frequenzen des vorhergehenden Rahmens, um die Ergebnisse einer LPC Analyse anzunähern, bei der das Hamming-Window für jeden Subrahmen zentriert ist. Die Ausnahme ist, daß die LPC Koeffizienten bei Vollrate für die Codebook-Subrahmen nicht interpoliert werden. Weitere Details der Berechnung der LSP Frequenzen ist später hierin beschrieben.
  • Zusätzlich zur weniger häufigen Durchführung der Pitch- und Codebook-Suchen bei niedrigeren Raten werden auch weniger Bits für die Übertragung der LPC Koeffizienten reserviert. Die Anzahl der bei den verschiedenen Raten reservierten Bits wird in den 2a2d gezeigt. Jede der 2a2d repräsentiert die Anzahl der durch den Vocoder kodierten Datenbits, die für jeden Sprachrahmen mit 160 Abtastwerten reserviert sind. In den 2a2d ist die Zahl im entsprechenden LPC Block 30a30d die Anzahl der Bits, die bei der entsprechenden Rate verwendet wird, um die Kurzzeit LPC Koeffizienten zu berechnen. Die Anzahl der Bits, die verwendet wird, um die LPC Koeffizienten bei Vollrate, Halbrate, Viertelrate und Achtelrate zu kodieren, entsprechen 40, 20, 10 und 10.
  • Um das Kodieren mit variabler Rate zu implementieren, werden die LPC zuerst in Spektrallinienpaare bzw. Line Spectrum Pairs (LSP) transformiert, und die resultierenden LSP Frequenzen werden unter Verwendung von DPCM Kodierern individuell kodiert. Die LPC Ordnung ist 10, so daß 10 LSP Frequenzen und 10 unabhängige DPCM Kodierer existieren. Die Zuordnung der Bits für die DPCM Kodierer ist entsprechend der Tabelle I.
  • TABELLE I
    Figure 00160001
  • Sowohl beim Kodierer als auch beim Decoder werden die LSP Frequenzen vor der Verwendung für die Pitch- und Codebook-Suchen zurück in LPC Filterkoeffizienten konvertiert.
  • Bezogen auf die Pitch-Suche, bei Vollrate wie in 2a dargestellt, wird die Pitch-Aktualisierung viermal berechnet, einmal für jedes Viertel eines Sprachrahmens. Für jede Pitch-Aktualisierung bei Vollrate werden 10 Bits verwendet, um die neuen Pitch-Parameter zu kodieren. Pitch-Aktualisierungen werden verschieden oft für die anderen Raten durchgeführt, wie in 2b2d gezeigt. Mit dem Abnehmen der Rate verringert sich auch die Anzahl der Pitch-Aktualisierungen. 2b stellt die Pitch-Aktualisierungen für Halbrate dar, welche zweimal berechnet werden, je einmal für jede Hälfte des Sprachrahmens. In gleicher Weise stellt 2c die Pitch-Aktualisierungen für Viertelrate dar, welche einmal für jeden vollen Sprachrahmen berechnet wird. Wie dies der Fall ist bei Vollrate, werden 10 Bits verwendet, um die neuen Pitch-Parameter für jede Pitch-Aktualisierung bei Halbrate und Viertelrate zu kodieren. Für Achtelrate, wie in 2d dargestellt, wird jedoch keine Pitch-Aktualisierung berechnet, da diese Rate verwendet wird, um Rahmen zu kodieren, wenn wenig oder keine Sprache präsent ist und Pitch-Redundanzen nicht existieren.
  • Für jede 10 Bit Pitch-Aktualisierung repräsentieren 7 Bits die Pitch-Verzögerung bzw. den Pitch-Lag und 3 Bits repräsentieren die Pitch-Verstärkung. Die Pitch-Verzögerung ist begrenzt auf Werte zwischen 17 und 143. Die Pitch-Verstärkung ist linear zwischen 0 und 2 quantisiert zur Repräsentation durch den 3 Bit Wert.
  • Bezogen auf die Codebook-Suche, bei Vollrate wie in 2a dargestellt, wird die Codebook-Aktualisierung achtmal berechnet, einmal für jedes achtel des Sprachrahmens. Für jede Codebook-Aktualisierung bei Vollrate werden 10 Bits verwendet, um die neuen Codebook-Parameter zu kodieren. Codebook-Aktualisierungen werden verschieden oft für die anderen Raten durchgeführt, wie in den 2b2d Zeit. Mit dem Abnehmen der Rate verringert sich jedoch auch die Anzahl der Codebook-Aktualisierungen. 2b stellt die Codebook-Aktualisierungen für Halbrate dar, welche viermal berechnet werden, einmal für jedes Viertel des Sprachrahmens. 2c stellt die Codebook-Aktualisierungen für Viertelrate dar, welche zweimal berechnet werden, einmal für jede Hälfte des Sprachrahmens. Wie dies der Fall bei Vollrate ist, werden 10 Bits verwendet, um die neuen Codebook-Parameter für jede Pitch-Aktualisierung bei Halbrate und Viertelrate zu kodieren. Schließlich stellt 2d die Codebook-Aktualisierungen für Achtelrate dar, welche einmal für jeden vollen Sprachrahmen berechnet wird. Es sei festgestellt, daß bei Achtelrate 6 übertragen werden, 2 Bits repräsentativ für die Codebook-Verstärkung, während die anderen vier Bits zufällige Bits sind. Eine weitere Erläuterung der Zuordnung der Bits für die Codebook-Aktualisierungen ist mit weiteren Details unten beschrieben.
  • Die für die Codebook-Aktualisierung reservierten Bits repräsentieren die Datenbits, die benötigt werden, um den Pitch-Vorhersage-Rest zu Vektorquantisieren. Für Vollrate, Halbrate und Viertelrate besteht jede Codebook-Aktualisierung aus 7 Bits Codebook-Index plus 3 Bits Codebook-Verstärkung, in der Summe 10 Bits. Die Codebook-Verstärkung wird unter Verwendung eines differentiellen Pulscode-Modulation-Kodierers (DPCM) kodiert, der im logarithmischen Bereich arbeitet. Obgleich eine gleiche Bit-Anordnung für Ach telrate verwendet werden kann, wird ein alternatives Schema bevorzugt. Bei Achtelrate wird die Codebook-Verstärkung durch zwei Bits repräsentiert, während vier zufällig erzeugte Bits mit den empfangenen Daten als Initialisierung (Seed) für einen Generator von Pseudo-Zufallszahlen verwendet werden, welcher das Codebook ersetzt.
  • Bezogen auf das in 3 dargestellte Blockdiagramm des Kodierers wird die LPC Analyse in einem offene Schleife-Modus durchgeführt. Für jeden Rahmen von Eingabe-Sprach-Abtastwerten s(n) werden die LPC Koeffizienten (α1–α10) berechnet, wie später beschrieben, durch LPC Analyse/-Quantisierung 50, zur Verwendung im Formanten-Synthesefilter 60.
  • Die Berechnung der Pitch-Suche wird allerdings in einem geschlossene Schleife-Modus durchgeführt, oft als Analyse-durch-Synthese Methode bezeichnet. In der beispielhaften Implementierung allerdings wird ein neuartiges hybrides geschlossene Schleife/offene Schleife Verfahren beim Ausführen der Pitch-Suche verwendet. Bei der Pitch-Suche wird die Kodierung ausgeführt, indem Parameter ausgewählt werden, die den mittleren quadratischen Fehler zwischen der Eingabesprache und der synthetisierten Sprache minimieren. Zur Vereinfachung wird in diesen Teil der Erläuterung die Thematik der Rate nicht betrachtet. Weitere Erläuterungen zum Effekt der gewählten Rate auf die Pitch- und Codebook-Suchen sind jedoch hierin später detaillierter erläutert.
  • In dem konzeptionellen Ausführungsbeispiel, das in 3 dargestellt ist, wird das wahrnehmungsgewichtende Filter 52 durch die folgenden Gleichungen charakterisiert:
    Figure 00180001
    worin
    Figure 00180002
    das Formanten-Vorhersage-Filter und μ ein wahrnehmungsgewichtender Parameter ist, welcher in der folgenden Beschreibung μ = 0.8. Das Pitch-Synthesefilter 58 wird durch die folgende Gleichung charakterisiert:
  • Figure 00190001
  • Das Formanten-Synthesefilter 60, ein gewichtetes Filter wie unten erläutert, wird durch die folgende Gleichung charakterisiert:
  • Figure 00190002
  • Die Eingabe-Sprach-Abtastwerte s(n) werden durch das wahrnehmungsgewichtende Filter 52 gewichtet, so daß die gewichteten Sprach-Abtastwerte x(n) an eine Summen-Eingabe des Addierers 62 geliefert werden. Wahrnehmungsgewichtung wird verwendet, um den Fehler bei den Frequenzen zu gewichten, bei denen weniger Signalleistung ist. Für diese Frequenzen mit niedriger Signalleistung ist das Rauschen stärker wahrnehmbar. Die synthetisierten Sprach-Abtastwerte x'(n) werden vom Formanten-Synthesefilter 60 an eine Differenz-Eingabe des Addierers 62 ausgegeben, wo sie von den Abtastwerten x(n) subtrahiert werden. Die vom Addierer 62 ausgegebene Differenz der Abtastwerte wird in ein Element 64 zur Bestimmung des mittleren quadratischen Fehlers (MSE = Mean Square Error) eingegeben, wo sie quadriert und anschließend summiert werden. Die Ergebnisse des MSE Elements 64 werden an ein Minimierungs-Element 66 geliefert, welches Werte für die Pitch-Verzögerung L, Pitch-Verstärkung b, Codebook-Index Ι und Codebook-Verstärkung erzeugt.
  • In Minimierungs-Element 66 werden alle möglichen Werte für L, den Pitch-Verzögerungs-Parameter in P(z), in das Pitch-Synthesefilter 58 zusammen mit dem Wert c(n) von Multiplizierer 56 eingegeben. Während der Pitch-Suche gibt es keinen Beitrag vom Codebook, d.h. c(n) = 0. Die Werte für L und b, die den gewichteten Fehler zwischen der Eingabesprache und der synthetisierten Sprache minimieren, werden durch das Minimierungs-Element 66 ausgewählt. Das Pitch-Synthesefilter 58 erzeugt den Wert p(n) und gibt ihn an das Formanten-Synthesefilter 60 aus. Sobald die Pitch-Verzögerung L und die Pitch-Verstärkung b für das Pitch-Filter gefunden worden, wird die Codebook-Suche in einer ähnlichen Weise durchgeführt.
  • Es sei darauf hingewiesen, daß 3 eine konzeptionelle Repräsentation des gewählten Analyse-durch-Synthese Ansatzes ist. In der beispielhaften Implementierung werden die Filter in der typischen Konfiguration zur Rückführung mit geschlossener Schleife (closed loop feedback) nicht verwendet. In der vorliegenden Erfindung ist die Verbindung zur Rückführung (feedback connection) während der Suche unterbrochen und wird durch einen offene Schleife Formanten-Rest (open loop formant residual) ersetzt, dessen Details später hierin geliefert werden.
  • Das Minimierungs-Element 66 erzeugt dann Werte für den Codebook-Index Ι und die Codebook-Verstärkung G. Die Ausgabewerte des Codebook 54, entsprechend des Codebook-Index Ι aus einer Mehrzahl von Werten Gauß'scher Zufallsvektoren ausgewählt, werden im Multiplizierer 56 mit der Codebook-Verstärkung G multipliziert, um die Sequenz von Werten c(n) zu produzieren, die im Pitch-Synthesefilter 58 verwendet werden. Der Codebook-Index Ι und die Codebook-Verstärkung G, die den mittleren quadratischen Fehler minimieren, werden für die Übertragung ausgewählt.
  • Es sei darauf hingewiesen, daß Wahrnehmungsgewichtung W(z) sowohl auf die Eingabesprache durch das wahrnehmungsgewichtende Filter 52 angewendet wird als auch auf die synthetisierte Sprache durch die Gewichtsfunktion, die innerhalb des Formanten-Synthesefilters 60 eingebunden ist. Das Formanten-Synthesefilter 60 ist daher tatsächlich ein gewichtetes Formanten-Synthesefilter, welches die Gewichtsfunktion aus Gleichung 1 mit der typischen Charakteristik
    Figure 00200001
    eines Formanten-Vorhersagefilters kombiniert, um die gewichtete Formanten-Synthesefunktion aus Gleichung 3 zu ergeben.
  • Es versteht sich, daß als Alternative das wahrnehmungsgewichtende Filter 52 zwischen den Addierer 62 und das MSE Element 64 plaziert werden kann. In diesem Fall würde das Formanten-Synthesefilter 60 die normale Filtercharakteristik von
    Figure 00210001
    aufweisen.
  • 4 stellt ein Flußdiagramm der beim Kodieren von Sprache mit dem Kodierer aus 3 umfaßten Schritte dar. Zu Zwecken der Erläuterung sind die Schritte, die eine Entscheidung zur Rate aufweisen, in das Flußdiagramm aus 4 einbezogen. Die digitalisierten Sprach-Abtastwerte werden von der Abtastschaltung erhalten, Block 80, aus welchen dann die LPC Koeffizienten berechnet werden, Block 82. Als Teil der Berechnung der LPC Koeffizienten werden Hamming-Window und Autokorrelation-Verfahren verwendet. Eine anfängliche Entscheidung zur Rate wird getroffen, Block 84, für den Rahmen von Interesse, basierend auf der Energie des Rahmens.
  • Um die LPC Koeffizienten effizient in einer geringen Anzahl von Bits zu kodieren, werden die LPC Koeffizienten in Spektrallinienpaar- bzw. Line Spectrum Pair (LSP) Frequenzen transformiert, Block 86, und dann quantisiert, Block 88, für die Übertragung. Als eine Option kann eine zusätzliche Entscheidung zur Rate gemacht werden, Block 90, wobei die Rate erhöht wird, falls die Quantisierung der LSP für die anfängliche Rate für unzureichend gehalten wird, Block 92.
  • Für den ersten Pitch-Subrahmen des zu analysierenden Sprachrahmens werden die LSP Frequenzen interpoliert und in LPC Koeffizienten transformiert, Block 94, zur Verwendung beim Ausführen der Pitch-Suche. In der Pitch-Suche wird die Codebook-Erregung auf Null gesetzt. In der Pitch-Suche, Blöcke 96 und 98, welche ein Analyse-durch-Synthese Verfahren wie vorstehend erläutert ist, wird für jede mögliche Pitch-Verzögerung L die synthetisierte Sprache mit der originalen Sprache verglichen. Für jeden Wert von L, einem ganzzahligen Wert, für die optimale Pitch-Verstärkung b bestimmen. Unter den Sätzen von Werten L und b liefert der optimale Satz von Werten L und b den minimalen wahrnehmungsgewichteten mittleren quadratischen Fehler zwischen der synthetisierten Sprache und der originalen Sprache. Für die be stimmten optimalen Werte von L und b für diesen Pitch-Subrahmen wird der Wert b quantisiert, Block 100, für die Übertragung gemeinsam mit dem entsprechenden Wert für L. In einer alternativen Implementierung der Pitch-Suche können die Werte b und L quantisierte Werte sein, als Teil der Pitch-Suche, wobei diese quantisierten Werten beim Ausführen der Pitch-Suche verwendet werden. Daher wird in dieser Implementierung das Erfordernis der Quantisierung des ausgewählten Wertes für b nach der Pitch-Suche, Block 100, eliminiert.
  • Für den ersten Codebook-Subrahmen des analysierenden Sprachrahmens werden die LSP Frequenzen interpoliert und in LPC Koeffizienten transformiert, Block 102, zur Verwendung beim Ausführen der Codebook-Suche. In der folgenden Beschreibung werden jedoch bei Vollrate die LSP Frequenzen nur auf die Ebene der Pitch-Subrahmen herunter interpoliert. Dieser Schritt zur Interpolation und Transformation wird für die Codebook-Suche zusätzlich zu dem der Pitch-Suche durchgeführt aufgrund eines Unterschieds der Größen der Subrahmen für Pitch und Codebook für jede Rate, außer Rate 1/8, bei der diese Frage nicht relevant ist, da keine Pitch-Daten berechnet werden. In der Codebook-Suche, Blöcke 104 und 106, werden die optimalen Werte für die Pitch-Verzögerung L und die Pitch-Verstärkung b im Pitch-Synthesefilter verwendet, so daß für jeden möglichen Codebook-Index I die synthetisierte Sprache mit der originalen Sprache verglichen wird. Für jeden Wert von I, ein ganzzahliger Wert, wird die optimale Codebook-Verstärkung G bestimmt. Unter den Sätzen von Werten I und G liefert der optimale Satz von Werten I und G den minimalen Fehler zwischen der synthetisierten Sprache und der originalen Sprache. Für die bestimmten optimalen Werte von I und G für diesen Codebook-Subrahmen wird der Wert G quantisiert, Block 108, für die Übertragung gemeinsam mit dem korrespondierenden Wert für I. Wiederum in einer alternativen Implementierung der Codebook-Suche können die Werte für G quantisiert sein, als Bestandteil der Codebook-Suche, wobei diese quantisierten Werten beim Ausführen der Codebook-Suche verwendet werden. In dieser alternativen Implementierung ist das Erfordernis der Quantisierung des ausgewählten Wertes für G nach der Codebook-Suche, Block 108, eliminiert.
  • Nach der Codebook-Suche wird ein Decoder innerhalb des Kodierers mit den optimalen Werten für I, G, L und b ausgeführt. Das Ausführen des Decoders des Kodierers rekonstruiert die Speicher der Filter des Kodierers zur Verwendung in zukünftigen Subrahmen.
  • Eine Überprüfung wird dann ausgeführt, Block 110, um zu bestimmen, ob der Codebook-Subrahmen, dessen Analyse gerade beendet wurde, der letzte Codebook-Subrahmen aus dem Satz von Codebook-Subrahmen war, die mit dem Pitch-Subrahmen korrespondieren, für welchen die Pitch-Suche ausgeführt wurde. Anders ausgedrückt wird eine Bestimmung durchgeführt, ob es irgendwelche weiteren Codebook-Subrahmen gibt, die mit dem Pitch-Subrahmen korrespondieren. In folgenden Beschreibung gibt es nur zwei Codebook-Subrahmen pro Pitch-Subrahmen. Falls bestimmt wurde, daß es einen weiteren Codebook-Subrahmen gibt, der mit dem Pitch-Rahmen korrespondiert, werden die Schritte 102108 für diesen Codebook-Subrahmen wiederholt.
  • Sollte es keine weiteren Codebook-Subrahmen geben, die mit dem Pitch-Rahmen korrespondieren, wird eine Überprüfung durchgeführt, Block 112, um zu bestimmen, ob irgendwelche weiteren Pitch-Subrahmen innerhalb des zu analysierenden Sprachrahmens existieren. Falls es einen weiteren Pitch-Subrahmen in dem aktuellen zu analysierenden Sprachrahmen gibt, werden die Schritte 94110 für jeden Pitch-Subrahmen und die korrespondierenden Codebook-Subrahmen wiederholt. Wenn alle Berechnungen für den aktuellen zu analysierenden Sprachrahmen beendet sind, werden die Werte, die die LPC Koeffizienten für den Sprachrahmen repräsentieren, die Pitch-Verzögerung L und Verstärkung b für jeden Pitch-Subrahmen, und der Codebook-Index I und Verstärkung G für jeden Codebook-Subrahmen, für die Übertragung gepackt, Block 114.
  • In 5 ist ein Blockdiagramm eines Decoders dargestellt, in welchem die empfangenen Werte für die LPC Koeffizienten (αi's), Pitch-Verzögerungen und Verstärkungen (L & b) und Codebook-Indizes und Verstärkungen (I & G) ver wendet werden, um die Sprache zu synthetisieren. Wiederum werden in 5, wie schon in 3, Informationen zur Rate zu Zwecken der Vereinfachung der Erläuterung nicht betrachtet. Informationen zur Datenrate kann als Seiten-Information gesendet werden und kann in einigen Fällen in der Demodulationsstufe des Kanals abgeleitet werden.
  • Der Decoder besteht aus einem Codebook 130, an welches die empfangenen Codebook-Indizes geliefert werden, oder für Achtelrate die zufällige Initialisierung (random seed). Die Ausgabe des Codebook 130 wird an eine Eingabe des Multiplizierers 132 geliefert, während die andere Eingabe des Multiplizierers 132 die Codebook-Verstärkung G empfängt. Die Ausgabe des Multiplizierers 132 wird gemeinsam mit der Pitch-Verzögerung L und Verstärkung b an das Pitch-Synthesefilter 134 geliefert. Die Ausgabe des Pitch-Synthesefilters 134 wird gemeinsam mit den LPC Koeffizienten αi an das Formanten-Synthesefilter 136 geliefert. Die Ausgabe des Formanten-Synthesefilters 136 wird an das adaptive Post-Filter 138 geliefert, wo sie gefiltert wird, und von wo aus die rekonstruierte Sprache ausgegeben wird. Wie später hierin erläutert wird eine Version des Decoders innerhalb des Kodierers implementiert. Der Decoder des Kodierers umfaßt nicht das adaptive Post-Filter 138, sondern umfaßt ein wahrnehmungsgewichtendes Filter.
  • 6 ist ein Flußdiagramm korrespondierend zum Betrieb des Decoders aus 5. Im Decoder wird Sprache aus den empfangenen Parametern rekonstruiert, Block 150. Im einzelnen wird der empfangene Wert des Codebook-Index in das Codebook eingegeben, welches einen Codevektor oder Codebook-Ausgabewert erzeugt, Block 152. Der Multiplizierer empfängt den Codevektor gemeinsam mit der empfangenen Codebook-Verstärkung G und multipliziert diese Werte, Block 154, wobei das resultierende Signal an das Pitch-Synthesefilter geliefert wird. Es sei darauf hingewiesen, daß die Codebook-Verstärkung G durch Dekodieren und inverse Quantisierung der empfangenen DPCM Parameter rekonstruiert wird. An das Pitch-Synthesefilter werden die empfangenen Werte der Pitch-Verzögerung L und Verstärkung b gemeinsam mit dem Ausgabesignal des Multiplizierers geliefert, um die Ausgabe des Multiplizierers zu filtern, Block 156.
  • Die sich aus dem Filtern des Codebook-Vektors mittels des Pitch-Synthesefilters ergebenden Werte sind Eingaben des Formanten-Synthesefilters. Ebenfalls an das Formanten-Synthesefilter werden die LPC Koeffizienten αi's zur Verwendung beim Filtern des Ausgabesignals des Pitch-Synthesefilters geliefert, Block 158. Die LPC Koeffizienten werden im Decoder rekonstruiert zur Interpolation durch Dekodieren der empfangenen DPCM Parameter in quantisierte LSP Frequenzen, inverses Quantisieren der LSP Frequenzen und Transformation der LSP Frequenzen in LPC Koeffizienten αi's. Die Ausgabe des Formanten-Synthesefilters wird an das adaptive Post-Filter geliefert, wo Quantisierungsrauschen maskiert wird, und die Verstärkung der rekonstruierten Sprache wird geregelt, Block 160. Die rekonstruierte Sprache wird ausgegeben, Block 162, zur Konvertierung in analoge Form.
  • Mit Bezug auf die Blockdiagramm-Darstellung der 7a und 7b werden weitere Details der Verfahren zur Sprachkodierung beschrieben. In 7a wird jeder Rahmen digitalisierter Sprach-Abtastwerte an ein Hamming-Window-Subsystem 200 geliefert, wo Eingabesprache einer Fensteroperation unterzogen wird, bevor die Berechnung der Autokorrelation-Koeffizienten im Autokorrelation-Subsystem 202 erfolgt.
  • Das Hamming-Window-Subsystem 200 und das Autokorrelation-Subsystem 202 werden in einer beispielhaften Implementierung in 8 dargestellt. Das Hamming-Window-Subsystem 200 besteht aus einer Nachschlagetabelle 250, typischerweise in einem 80 × 16 Bit Read Only Memory (ROM), und einem Multiplizierer 252. Für jede Rate wird das Fenster bzw. Window der Sprache zwischen den 139. und den 140. Abtastwert eines jeden Analyserahmens zentriert, welcher 160 Abtastwerte lang ist. Das Fenster zum Berechnen der Autokorrelation-Koeffizienten weist somit einen Offset zum Analyserahmen von 60 Abtastwerten auf.
  • Die Fensteroperation wird unter Verwendung einer ROM Tabelle ausgeführt, die 80 der 160 Werte WH(n) enthält, da das Hamming-Window symmetrisch um das Zentrum ist. Der Offset für das Hamming-Window wird erreicht, indem der Adreßzeiger des ROM um 60 Positionen bezogen auf den ersten Abtastwert des Analyserahmens verschoben wird. Diese Werte werden mit einfacher Genauigkeit (single precision) mit den Abtastwerten der Eingabesprache im Multiplizierer 252 multipliziert. Es sei s(n) das Eingabe-Sprachsignal für das Analysefenster. Daß der Fensteroperation unterzogene Sprachsignal sw(n) ist folglich definiert durch: sw(n) = s(n + 60)WH(n) for 0 <= n <= 79 (5)und sw(n) = s(n + 60)WH(159 – n) for 80 <= n <= 159. (6)
  • Beispielhafte Werte, in hexadezimaler Form, der Inhalte der Nachschlagetabelle 250 sind in Tabelle II dargelegt. Diese Werte werden als Zahlen im Zweierkomplement mit 14 gebrochenen Bits interpretiert, wobei die Tabelle in der Reihenfolge Links nach Rechts, Oben nach Unten gelesen wird.
  • TABELLE II
    Figure 00260001
  • Das Autokorrelation-Subsystem 202 besteht aus einem Register 254, einem Multiplexer 256, einem Schieberegister 258, einem Multiplizierer 260, einem Addierer 262, einem Ringschieberegister 264 und einem Puffer 266. Die der Fensteroperation unterzogenen Sprach-Abtastwerte sw(n) werden aller 20 ms berechnet und in das Register 254 eingeklinkt (latched into register 254). Beim Abtastwert sw(0), dem ersten Abtastwert eines LPC Analyserahmens, werden die Schieberegister 258 und 264 auf 0 zurückgesetzt. Für jeden neuen Abtastwert sw(n) empfängt der Multiplexer 256 ein neues Abtastwert-Auswahlsignal, welches den Eintritt des Abtastwertes vom Register 254 erlaubt. Der neue Abtastwert sw(n) wird auch an den Multiplizierer 260 geliefert, wo er mit dem Abtastwert sw(n – 10) multipliziert wird, welcher sich in der letzten Position SR10 des Schieberegisters 258 befindet. Der resultierende Wert wird im Addierer 262 zum Wert in der letzten Position CSR11 des Ringschieberegisters 264 addiert.
  • Schieberegister 258 und 260 einmal getaktet, ersetzen sw(n – 1) mit sw(n) in der ersten Position SR1 des Schieberegisters 258 und ersetzen den Wert, der zuvor in Position CSR10 war. Bei Takten des Schieberegisters 258 wird das neue Abtastwert-Auswahlsignal von der Eingabe des Multiplexers 256 entfernt, so daß ermöglicht wird, daß der Abtastwert sw(n – 9), der sich aktuell in der Position SR10 des Schieberegisters 260 befindet, in den Multiplexer 256 eintritt. Im Ringschieberegister 264 wird der Wert, der sich zuvor in Position CSR11 befand, in die erste Position CSR1 verschoben. Mit dem vom Multiplexer entfernten neuen Abtastwert-Auswahlsignal ist das Schieberegister 258 eingestellt, eine ringförmige Verschiebung der Daten in dem Schieberegister wie jene des Ringschieberegisters 264 zu liefern.
  • Schieberegister 258 und 264 werden insgesamt 11 mal getaktet für jeden Abtastwert, so daß 11 Multiplizieren/Akkumulieren Operationen ausgeführt werden. Nach dem 160 Abtastwerte eingetaktet worden, werden die Autokorrelation-Ergebnisse, die im Ringschieberegister 264 enthalten sind, in den Puffer 266 als die Werte R(0)–R(10) getaktet. Alle Schieberegister werden auf Null zurückgesetzt, und der Prozeß wiederholt sich für den nächsten Rahmen von Sprach-Abtastwerten, die der Fensteroperation unterzogen wurden.
  • Bezogen auf 7a, sobald die Autokorrelation-Koeffizienten für den Sprachrahmen berechnet wurden, verwendet ein Subsystem zur Bestimmung der Rate 204 und ein LPC Analyse-Subsystem 206 diese Daten, um entspre chend Datenrate des Rahmens und die LPC Koeffizienten zu berechnen. Da diese Operationen voneinander unabhängig sind, können sie in beliebiger Reihenfolge oder auch gleichzeitig berechnet werden. Aus Gründen der Erläuterung in diesem Dokument wird zuerst die Bestimmung der Rate beschrieben.
  • Das Subsystem zur Bestimmung der Rate 204 hat zwei Funktionen: (1) die Rate des aktuellen Rahmens zu bestimmen, und (2) eine neue Schätzung des Hintergrundrauschpegels zu berechnen. Die Rate für den aktuellen Analyserahmen wird anfänglich bestimmt basierend auf der Energie des aktuellen Rahmens, der vorhergehenden Schätzung des Hintergrundrauschpegels, der vorhergehenden Rate und dem Raten-Kommando von einem steuernden Mikroprozessor. Der neue Hintergrundrauschpegel wird geschätzt unter Verwendung der vorhergehenden Schätzung des Hintergrundrauschpegels und der Energie des aktuellen Rahmens.
  • Der Vocodor verwendet ein adaptives Schwellwert-Verfahren zur Bestimmung der Rate. Mit einer Änderung des Hintergrundrauschens ändern sich auch die Schwellwerte, welche beim Auswählen der Rate verwendet werden. In der folgenden Beschreibung werden drei Schwellwerte berechnet, um eine vorläufige Auswahl der Rate RTp zu berechnen. Die Schwellwerte sind quadratische Funktionen der vorhergehenden Schätzung des Hintergrundrauschens, und sind im folgenden gezeigt: TI(B) = –5.544613(10–6)B2 + 4.047152B + 363.1293; (7) T2(B) = –1.529733(10–5)B2 + 8.750045B + 1136.214; (8)und T3(B) = –3.957050(10–5)B2 + 18.89962B + 3346.789 (9)worin B die vorhergehende Schätzung des Hintergrundrauschens ist.
  • Die Energie des Rahmens wird mit den drei Schwellwerten T1(B), T2(B) und T3(B) verglichen. Falls die Energie des Rahmens niedriger als alle drei Schwellwerte ist, wird die niedrigste Rate der Übertragung (1 kbps), Rate 1/8 ausgewählt, wobei RTp = 4. Falls die Energie des Rahmens niedriger als zwei Schwellwerte ist, wird die zweite Rate der Übertragung (2 kbps), Rate 1/4 ausgewählt, wobei RTp = 3. Falls die Energie des Rahmens nur niedriger als ein Schwellwert ist, wird die dritte Rate der Übertragung (4 kbps), Rate 1/2 ausgewählt, wobei RTp = 2. Falls die Energie des Rahmens über allen drei Schwellwerten liegt, wird die höchste Rate der Übertragung (8 kbps), Rate 1 ausgewählt, wobei RTp = 1.
  • Die vorläufige Rate RTp kann dann basierend auf der vorhergehenden endgültigen Rate RTr modifiziert werden. Falls die vorläufige Rate RTp kleiner ist als die vorhergehende endgültige Rahmenrate minus eins (RTr – 1), wird eine zwischenzeitliche Rate RTm gesetzt, wobei RTm = RTm – 1. Dieser Modifikationsprozeß bewirkt, daß sich die Rate langsam rampenförmig nach unten bewegt, wenn ein Übergang von einem Signal hoher Energie zu einem Signal niedriger Energie auftritt. Sollte jedoch die anfängliche Auswahl der Rate gleich oder größer als die vorhergehende Rate minus eins (RTr – 1) sein, wird die zwischenzeitliche Rate RTm auf den gleichen Wert wie die vorläufige Rate RTp gesetzt, d.h. RTm = RTp. In dieser Situation erhöht sich daher die Rate sofort, wenn ein Übergang von einem Signal niedriger Energie zu einem Signal hoher Energie auftritt.
  • Schließlich wird die zwischenzeitliche Rate RTm durch Rate beschränkende Kommandos (rate bound commands) von einem Mikroprozessor weiter modifiziert. Falls die Rate RTm größer als die höchste durch den Mikroprozessor erlaubte Rate ist, wird die anfängliche Rate RTi auf den höchsten möglichen Wert gesetzt. Gleichermaßen wird, falls die zwischenzeitliche Rate RTm kleiner als die geringste durch den Mikroprozessor erlaubte Rate ist, die anfängliche Rate RTi auf den kleinsten möglichen Wert gesetzt.
  • In bestimmten Fällen kann es wünschenswert sein, die gesamte Sprache mit einer durch den Mikroprozessor bestimmten Rate zu kodieren. Die Rate beschränkenden Kommandos können verwendet werden, um die Rahmenrate auf die gewünschte Rate zu setzen, indem die maximale und minimale erlaubte Rate auf die gewünschte Rate gesetzt wird. Die Rate beschränkenden Kommandos können für spezielle Situationen der Steuerung der Rate verwendet werden, wie z.B. Ratenverriegelung (rate interlock), und abschwächende Übertragung (dim transmission) und Burst-Übertragung, beide später beschrieben.
  • 9 liefert eine beispielhafte Implementierung des Algorithmus zur Entscheidung über die Rate. Um die Berechnung zu starten, wird Register 270 mit dem Wert 1 vorgeladen, welcher an den Addierer 272 geliefert wird. Ringschieberegister 274, 276 und 278 werden entsprechend mit dem ersten, zweiten und dritten Koeffizienten der quadratischen Schwellwert-Gleichungen (7)–(9) geladen. Zum Beispiel sind die letzte, mittlerer und erste Position des Ringschieberegisters 274 entsprechend mit dem ersten Koeffizienten der Gleichungen geladen, mit denen T1, T2 und T3 berechnet werden. Gleichermaßen sind die letzte, mittlere und erste Position des Ringschieberegisters 276 entsprechend mit den zweiten Koeffizienten der Gleichungen geladen, mit denen T1, T2 und T3 berechnet werden. Schließlich sind die letzte, mittlere und erste Position des Ringschieberegisters 278 entsprechend mit dem konstanten Term der Gleichungen geladen, mit denen T1, T2 und T3 berechnet werden. In jedem der Ringschieberegister 274, 276 und 278 wird der Wert von der letzten Position ausgegeben.
  • Beim Berechnen des ersten Schwellwerts T1 wird die Schätzung des Hintergrundrauschens B des vorhergehenden Rahmens durch Multiplizieren des Werts mit sich selbst in Multiplizierer 280 quadriert. Der resultierende Wert B2 wird mit dem ersten Koeffizienten –5,544613(10–6) multipliziert, welcher von der letzten Position des Ringschieberegisters 274 ausgegeben wird. Dieser resultierende Wert wird im Addierer 286 addiert zum Produkt von Multiplizierer 284 des Hintergrundrauschens B und des zweiten Koeffizienten 4,047152, ausgegeben von der letzten Position des Ringschieberegisters 276. Der Ausgabewert des Addierers 286 wird dann im Addierer 288 zu dem konstanten Term 363,1293 addiert, ausgegeben von der letzten Position des Ringschie beregisters 278. Die Ausgabe des Addierers 288 ist der berechnete Wert für T1.
  • Der berechnete Wert für T1, ausgegeben vom Addierer 290, wird im Addierer 288 vom Energiewert Ef des Rahmens subtrahiert, der in der folgenden Beschreibung der Wert R(0) in linearen Bereich ist, geliefert vom Autokorrelation-Subsystem.
  • In einer alternativen Implementierung kann die Energie Ef des Rahmens auch im logarithmischen Bereich in dB repräsentiert werden, wobei sie durch den Logarithmus des ersten Autokorrelation-Koeffizienten R(0), normalisiert auf die effektive Länge des Fensters, angenähert wird:
    Figure 00310001
    wobei LA die Länge des Autokorrelation-Fensters ist. Es versteht sich, daß die Sprachaktivität auch aus verschiedenen anderen Parametern gemessen werden kann, inklusive der Pitch-Vorhersage-Verstärkung oder der Formanten-Vorhersage-Verstärkung Ga:
    Figure 00310002
    worin E(10) die restliche Energie der Vorhersage nach der 10. Iteration ist und E(0) ist die anfängliche restliche Energie der LPC Vorhersage, wie später im Zusammenhang mit der LPC Analyse beschrieben, welche die gleiche ist wie R(0).
  • Von der Ausgabe des Addierers 290 wird das Komplement des Vorzeichenbits der sich ergebenden Differenz im Zweierkomplement durch den Komparator oder Begrenzer 292 extrahiert und an den Addierer 272 geliefert, wo es zu der Ausgabe des Registers 270 addiert wird. Daher wird, falls die Differenz zwischen R(0) und T1 positiv ist, das Register 270 um eins inkrementiert. Falls die Differenz negativ ist, bleibt das Register 270 unverändert.
  • Ringregister 274, 276 und 278 werden dann einen Zyklus weiter geschaltet, so daß die Koeffizienten der Gleichung für T2, Gleichung (8) an deren Ausgaben erscheinen. Der Prozeß des Berechnens des Schwellwertes T2 und das Vergleichen mit der Energie des Rahmens wird wiederholt, wie dies mit Bezug auf den Prozeß für den Schwellwert T1 erörtert wurde. Ringregister 274, 276 und 278 werden dann erneut einen Zyklus weiter geschaltet, so daß die Koeffizienten der Gleichung für T3, Gleichung (9) an deren Ausgaben erscheinen. Die Berechnung für den Schwellwert T3 und der Vergleich mit der Energie des Rahmens erfolgt wie oben beschrieben. Nach Komplettierung aller drei Schwellwert-Berechnungen und -Vergleiche enthält das Register 270 die anfängliche Schätzung der Rate RTi. Die vorläufige Schätzung der Rate RTp wird an die Raten-Abwärtsrampen-Logik 294 (rate ramp down logic) geliefert. Ebenfalls an die Logik 294 wird die finale Rate des vorhergehenden Rahmens RTr vom Subsystem zur Quantisierung der LSP Frequenzen geliefert, die im Register 298 gespeichert ist. Die Logik 296 berechnet den Wert (RTr – 1) und liefert als eine Ausgabe den größeren der Werte vorläufige Schätzung der Rate RTp und (RTr – 1). Der Wert RTm wird an die Logik zur Begrenzung der Rate 296 geliefert.
  • Wie zuvor erwähnt liefert der Mikroprozessor Rate beschränkende Kommandos (rate bound commands) an den Vocoder, insbesondere an die Logik 296. In einer Implementierung mit digitalem Signalprozessor wird dieses Kommando in der Logik 296 empfangen, bevor der Anteil der LPC Analyse des Prozesses zur Kodierung komplettiert ist. Die Logik 296 stellt sicher, daß die Rate die Begrenzungen der Rate nicht überschreitet und modifiziert den Wert RTm, sollte dieser die Begrenzungen überschreiten. Sollte der Wert RTm innerhalb der erlaubten Raten sein, wird er von der Logik 296 als der Wert RTi der anfänglichen Rate ausgegeben. Der Wert der anfänglichen Rate RTi wird von der Logik 296 an das Subsystem 210 zur LSP Quantisierung aus 7a ausgegeben.
  • Die Schätzung des Hintergrundrauschens wird, wie zuvor erwähnt, zur Berechnung der adaptiven Schwellwerte der Rate verwendet. Für den aktuellen Rahmen wird die Schätzung B des Hintergrundrauschens des vorhergehenden Rahmens verwendet, um die Schwellwerte der Rate für den aktuellen Rahmen aufzustellen. Jedoch wird für jeden Rahmen die Schätzung des Hintergrundrauschens aktualisiert zur Verwendung beim Bestimmen der Schwellwerte der Rate für den nächsten Rahmen. Diese neue Schätzung B' des Hintergrundrauschens wird im aktuellen Rahmen basierend auf der Schätzung B des Hintergrundrauschens des vorhergehenden Rahmens und der Energie Ef des aktuellen Rahmens bestimmt.
  • Beim Bestimmen der neuen Schätzung B' des Hintergrundrauschens zur Verwendung während des nächsten Rahmens (als die Schätzung B des Hintergrundrauschens des vorhergehenden Rahmens) werden zwei Werte berechnet. Der erste Wert V1 entspricht einfach der Energie Ef des aktuellen Rahmens. Der zweite Wert V2 ist der größere der beiden Ausdrücke B + 1 und KB, wobei K = 1,00547. Um zu verhindern, daß der zweite Wert zu groß wird, wird dieser zwingend unterhalb einer großen Konstante M = 160000 gehalten. Der kleinere der beiden Werte V1 oder V2 wird als die neue Schätzung B' des Hintergrundrauschens ausgewählt.
  • Mathematisch, V1 = R(0) (12) V2 = min(160000, max(KB, B + 1)) (13)und die neue Schätzung B' des Hintergrundrauschens ist: B' = min(V1, V2) (14)worin min(x, y) das Minimum von x und y ist, und max(x, y) ist das Maximum von x und y.
  • 9 zeigt eine beispielhafte Implementierung des Algorithmus zur Schätzung des Hintergrundrauschens. Der erste Wert V1 ist einfach die Energie Ef des aktuellen Rahmens, direkt geliefert an eine Eingabe des Multiplexers 300. Der zweite Wert V2 wird aus den Werten KB und B + 1 berechnet, welche zuerst berechnet werden. Beim Berechnen der Werte KB und B + 1 wird die in Register 302 gespeicherte Schätzung B des Hintergrundrauschens des vorhergehenden Rahmens an den Addierer 304 und den Multiplizierer 306 ausgegeben. Es sei darauf hingewiesen, daß die in Register 302 gespeicherte Schätzung B des Hintergrundrauschens des vorhergehenden Rahmens zur Verwendung im aktuellen Rahmen dieselbe ist wie die neue Schätzung B' des Hintergrundrauschens, berechnet für den vorhergehenden Rahmen. An den Addierer 304 wird außerdem ein Eingabewert von 1 geliefert zur Addition zum Wert B, um den Term B + 1 zu erzeugen. An den Multiplizierer 304 wird außerdem ein Eingabewert für K zum Multiplikation mit dem Wert B geliefert, um den Term KB zu erzeugen. Die Terme B + 1 und KB werden entsprechend aus dem Addierer 304 und dem Multiplizierer 306 an separate Eingaben sowohl des Multiplexers 308 als auch des Addierers 310 ausgegeben.
  • Addierer 310 und Komparator oder Begrenzer 312 werden zum Auswählen des größeren der Terme B + 1 und KB verwendet. Addierer 310 subtrahiert den Term B + 1 von KB und liefert den resultierenden Wert an den Komparator oder Begrenzer 312. Der Begrenzer 312 liefert ein Steuerungssignal an den Multiplexer 308, um eine Ausgabe dessen auszuwählen als die größere der Terme B + 1 und KB. Der ausgewählte Term B + 1 oder KB wird vom Multiplexer 308 an den Begrenzer 314 ausgegeben, welcher ein Begrenzer vom Sättigungstyp ist, welcher entweder den ausgewählten Term liefert, falls unter einem konstanten Wert M, oder den Wert M, falls oberhalb des Wertes M. Die Ausgabe von Begrenzer 314 wird als die zweite Eingabe an den Multiplexer 300 und als eine Eingabe an den Addierer 316 geliefert.
  • Addierer 316 empfängt an einem weiteren Eingang ebenfalls den Wert Ef für die Energie des Rahmens. Addierer 316 und Komparator oder Begrenzer 318 werden zum Auswählen des kleineren der beiden Werte Ef und des vom Be grenzer 314 ausgegebenen Terms verwendet. Addierer 316 subtrahiert den Wert der Energie des Rahmens von dem von Begrenzer 314 ausgegebenen Wert und liefert den resultierenden Wert an den Komparator oder Begrenzer 318. Begrenzer 318 liefert ein Steuerungssignal an den Multiplexer 300 zum Auswählen des kleineren der beiden Werte Ef und Ausgabe des Begrenzers 314. Der vom Multiplexer 300 ausgegebene, gewählte Wert wird als die neue Schätzung B' des Hintergrundrauschens an Register 302 geliefert, wo er gespeichert wird zur Verwendung während des nächsten Rahmens als die Schätzung B des Hintergrundrauschens des vorhergehenden Rahmens.
  • Mit Rückbezug auf 7, jeder der Autokorrelation-Koeffizienten R(0)–R(10) werden vom Autokorrelation-Subsystem 202 an das Subsystem zur LPC Analyse 206 ausgegeben. Die im Subsystem zur LPC Analyse 206 berechneten LPC Koeffizienten sowohl in das wahrnehmungswichtende Filter 52 als auch das Formanten-Synthesefilter 60.
  • Die LPC Koeffizienten können mit der Autokorrelation-Methode erhalten werden unter Verwendung der Durbin'schen Rekursion, erläutert in Digital Processing of Speech Signals, Rabiner & Schafer, Prentice-Hall, Inc., 1978. dieses Verfahren ist eine effiziente Berechnungsmethode zum Erhalten der LPC Koeffizienten. Der Algorithmus kann durch die folgenden Gleichungen ausgedrückt werden: E(0) = R(0), i = 1; (15)
    Figure 00350001
    αi (i) = ki; (17) αj (i) = αj (i-1) – kiαi-j (i-1) for 1 <= j <= i – 1; (18) E(i) = (1 – ki 2)E(i-1); and (19) Wenn i < 10 dann gehe zur Gleichung (16) mit i = i + 1 (20)
  • Die zehn LPC Koeffizienten werden mit αj (10) für 1 <= j <= 10 bezeichnet.
  • Vor dem Kodieren der LPC Koeffizienten muß die Stabilität des Filters sichergestellt sein. Die Stabilität des Filters wird durch radiales Skalieren der Pole des Filters um einen geringen Betrag nach innen erreicht, was dem Betrag der Spitzenwerte der Frequenzantworten reduziert, während es die Bandbreite der Spitzenwerte expandiert. Dieses Verfahren ist allgemein als Bandbreiten-Expansion bekannt und weitergehend beschrieben in dem Artikel "Spectral Smoothing in PARCOR Speech Analysis-Synthesis" von Tohkura et. al., ASSP Transactions, Dezember 1978. Im vorliegenden Fall kann die Bandbreiten-Expansion effizient vorgenommen werden durch Skalierung jedes LPC Koeffizienten. Daher werden, wie in Tabelle III dargelegt, die resultierenden LPC Koeffizienten jeweils mit einem korrespondierenden Hex-Wert multipliziert, um die endgültigen Ausgabe LPC Koeffizienten α1–α10 des Subsystems zur LPC Analyse 206 zu erhalten. Es sei darauf hingewiesen, daß die in Tabelle III repräsentierten Werte in hexadezimal mit 15 gebrochenen Bits in Zweierkomplement-Notation gegeben sind. In dieser Form repräsentiert der Wert 0x8000 den Wert –1,0, und der Wert 0x7333 (oder 29491) repräsentiert 0,899994 = 29491/32768.
  • TABELLE III
    • α1 = α1 (10)·0x7333
    • α2 = α2 (10)·0x67ae
    • α3 = α3 (10)·0x5d4f
    • α4 = α4 (10)·0x53fb
    • α5 = α5 (10)·0x4b95
    • α6 = α6 (10)·0x4406
    • α7 = α7 (10)·0x3d38
    • α8 = α8 (10)·0x3719
    • α9 = α9 (10)·0x3196
    • α10 = α10 (10)·0x2ca1
  • Die Operationen werden vorzugsweise in doppelter Genauigkeit ausgeführt, d.h. 32 Bit Divisionen, Multiplikationen und Additionen. Die Akkuratheit doppelter Präzision wird bevorzugt, um den dynamischen Bereich der Autokorrelationsfunktionen und Filterkoeffizienten zu bewahren.
  • In 10 wird ein Blockdiagramm des LPC Subsystems 206 gezeigt, welches die oben stehenden Gleichungen (15)–(20) implementiert. LPC Subsystem 206 besteht aus drei Schaltungsteilen, einer Hauptberechnungsschaltung 330 und zwei Schaltungen 332 und 334 für Pufferaktualisierungen, welche verwendet werden, um die Register der Hauptberechnungsschaltung 330 zu aktualisieren. Die Berechnung wird gestartet, indem zuerst die Werte R(1)–R(10) in den Puffer 340 geladen werden. Um die Berechnung zu starten, wird das Register 348 mit dem Wert R(1) via Multiplexer 344 vorgeladen. Register wird mit R(0) via Multiplexer 350 initialisiert, Puffer 352 (welcher 10 Werte αj (i-1) enthält) wird via Multiplexer 354 mit einem Nullvektor (all zeroes) initialisiert, Puffer 356 (welcher 10 Werte αj (i) enthält) wird via Multiplexer 358 mit einem Nullvektor initialisiert, und i wird auf 1 gesetzt für den Rechenzyklus. Aus Gründen der Übersichtlichkeit werden die Zähler für i und j und andere Steuerungen des Rechenzyklus nicht dargestellt, aber der Entwurf und die Integration logischer Schaltungen dieses Typs liegt deutlich im Fähigkeitsbereich eines Fachmanns der Technik des Entwurfs digitaler Logik.
  • Der Wert αj (i-1) wird vom Puffer 356 ausgegeben, um den Term ki E(i-1) zu berechnen, wie in Gleichung (14) dargelegt. Jeder Wert R(i – j) wird vom Puffer 340 zur Multiplikation mit dem Wert αj (i-1) im Multiplizierer 360 ausgegeben. Jeder resultierende Wert wird im Addierer 362 von dem Wert in Register 346 subtrahiert. Das Ergebnis jeder Subtraktion wird dem Register 346 gespeichert, von dem der nächste Term subtrahiert wird. Es gibt i – 1 Multiplikationen und Akkumulationen im i-ten Zyklus, wie durch den Summations-Term aus Gleichung (14) bezeichnet. Am Ende dieses Zyklus wird der Wert im Register 346 im Dividierer 364 durch den Wert E(i-1) aus dem Register 348 dividiert, um den Wert ki zu erhalten.
  • Der Wert ki wird dann in der Schaltung 332 für Pufferaktualisierungen verwendet, um den Wert E(i) wie in obiger Gleichung (19) zu berechnen, welcher als der Wert E(i-1) während des nächsten Rechenzyklus von ki verwendet wird. Der Wert ki des aktuellen Zyklus wird im Multiplizierer 366 mit sich selbst multipliziert, um den Wert ki 2 zu erhalten. Der Wert ki 2 wird dann von dem Wert 1 im Addierer 368 subtrahiert. Das Ergebnis dieser Addition wird im Multiplizierer 370 mit dem Wert E(i) aus dem Register 348 multipliziert. Der resultierende Wert E(i) ist Eingabe für das Register 348 via Multiplexer 350 zur Speicherung als der Wert E(i-1) für den nächsten Zyklus.
  • Der Wert ki wird anschließend verwendet, um den Wert αi (i) wie in Gleichung (15) zu berechnen. In diesem Fall wird der Wert ki via Multiplexer 358 in den Puffer 356 eingegeben. Der Wert ki wird außerdem in der Schaltung 334 für Pufferaktualisierungen verwendet, um die Werte αj (i) aus den Werten αj (i-1) wie in Gleichung (18) zu berechnen. Die aktuell in Puffer 352 gespeicherten Werte werden zum Berechnen der Werte αj (i) verwendet. Wie in Gleichung 18 bezeichnet, gibt es i – 1 Berechnungen im i-ten Zyklus. In der Iteration i = 1 sind keine derartigen Berechnungen erforderlich. Für jeden Wert von j für den i-ten Zyklus wird ein Wert für αj (i) berechnet. Für das Berechnen eines jeden Wertes von αj (i) wird jeder Wert von αi-j (i-1) mit dem Wert ki im Multiplizierer 372 multipliziert zur Ausgabe an den Addierer 374. Im Addierer 374 wird der Wert kiαi-j (i-1) von dem Wert αj (i-1) subtrahiert, der auch in den Addierer 374 eingegeben wird. Das Ergebnis jeder Multiplikation und Addition wird als der Wert für αj (i) an den Puffer 356 via Multiplexer 358 geliefert.
  • Sobald die Werte αi (i) und αj (i) für den aktuellen Zyklus berechnet wurden, werden die eben berechneten und in Puffer 356 gespeicherten Werte an den Puffer 352 via Multiplexer 354 ausgegeben. Die in Puffer 356 gespeicherten wehrte werden in entsprechenden Positionen im Puffer 352 gespeichert. Puf fer 352 ist somit für das Berechnen des Werts ki für den Zyklus i + 1 aktualisiert.
  • Es ist wichtig, darauf hinzuweisen, daß die am Ende eines vorhergehenden Zyklus erzeugten Daten αj (i-1) im aktuellen Zyklus verwendet werden, um die Aktualisierungen αj (i) für einen nächsten Zyklus zu erzeugen. Die Daten des vorhergehenden Zyklus müssen aufbewahrt werden, um die aktualisierten Daten für den nächsten Zyklus komplett zu erzeugen. Daher werden zwei Puffer 356 und 352 verwendet, um diese Daten des vorhergehenden Zyklus aufzubewahren, bis die aktualisierten Daten komplett erzeugt sind.
  • Die oben stehende Beschreibung ist mit Bezug auf einen parallelen Transfer von Daten aus dem Puffer 356 zum Puffer 352 zum Ende der Berechnung der aktualisierten Werte geschrieben. Diese Implementierung stellt sicher, daß die alten Daten während des gesamten Prozesses des Berechnens der neuen Daten aufbewahrt werden, ohne den Verlust der alten Daten vor dem vollständigen Verwenden, wie dies in einer Anordnung mit einem einzigen Puffer auftreten würde. Die beschriebene Implementierung ist eine von mehreren Implementierungen, die zur Erreichung des gleichen Ergebnisses einfach ersichtlich sind. Zum Beispiel können die Puffer 352 und 356 multiplext werden, so daß beim Berechnen des Wertes ki für einen aktuellen Zyklus aus in einem ersten Puffer gespeicherten Werten die aktualisierten Werte in dem zweiten Puffer zur Verwendung im nächsten Rechenzyklus gespeichert werden. In diesem nächsten Zyklus wird der Wert ki aus den in dem zweiten Puffer gespeicherten Werten berechnet. Die Werte in dem zweiten Puffer und der Wert ki werden verwendet, um die Aktualisierungen für den nächsten Zyklus zu generieren, wobei diese Aktualisierungen in dem ersten Puffer gespeichert werden. Dieses Alternieren der Puffer ermöglicht das Zurückbehalten von Werten vorhergehender Rechenzyklen, aus welchen Aktualisierungen erzeugt werden, bei gleichzeitigem Speichern der aktualisierten Werte ohne Überschreiben der vorhergehenden Werte, welche benötigt werden, um die Aktualisierungen zu erzeugen. Die Verwendung dieses Verfahrens kann die mit der Berechnung des Wertes ki für den nächsten Zyklus assoziierte Verzögerung mi nimieren. Daher können die Aktualisierungen für die Multiplikationen/Akkumulationen beim Berechnen von ki zur gleichen Zeit vorgenommen werden, zu der der nächste Wert von αj (i-1) berechnet wird.
  • Die zehn LPC Koeffizienten αj (10), die im Puffer 356 bei Vollendung des letzten Rechenzyklus (i = 10) gespeichert sind, werden skaliert, um zu den korrespondierenden endgültigen LPC Koeffizienten αj zu gelangen. Skalierung wird erreicht, indem ein Skalier-Auswahlsignal an die Multiplexer 344, 376 und 378 geliefert wird, so daß die skalierenden, in Nachschlagetabelle 342 gespeicherten Werte, die Hex-Werte aus Tabelle III, durch den Multiplexer 344 zur Ausgabe ausgewählt werden. Die in der Nachschlagetabelle 342 gespeicherten Werte werden in Reihenfolge ausgetaktet (clocked out in sequence) und in den Multiplizierer 360 eingegeben. Der Multiplizierer 360 empfängt via Multiplexer 376 außerdem die Werte αj (10), sequentiell ausgegeben von Register 356. Die skalierten Werte werden vom Multiplizierer 360 via Multiplexer 378 als eine Ausgabe an das Subsystem 208 zur LPC zu LSP Transformation (7) ausgegeben.
  • Um jeden der zehn skalierten LPC Koeffizienten effizient in einer kleinen Anzahl von Bits zu kodieren, werden die Koeffizienten in Spektrallinienpaar-Frequenzen bzw. Line Spectrum Pair Frequencies transformiert, wie beschrieben in dem Artikel "Line Spectrum Pair (LSP) and Spech Data Compression" von Soon und Juang, ICASSP '84. Die Berechnung der LSP Parameter ist untenstehend in Gleichungen (21) und (22) gemeinsam mit Tabelle IV gezeigt.
  • Die LSP Frequenzen sind die zehn Lösungen, die zwischen 0 und π für die folgenden Gleichungen existieren: P(ω) = cos5ω + p1cos4ω + ... + p4cosω + p5/2; (21) Q(ω) = cos5ω + q1cos4ω + ... + q4cosω + q5/2; and (22) wobei die Werte pn und qn für n = 1, 2, 3, 4 und rekursiv in Tabelle IV definiert sind. TABELLE IV
    p1 = –(α1 + α10) – 1 q1 = –(α1 – α10) + 1
    p2 = –(α2 + α9) – p1 q2 = –(α2 – α9) + p1
    p3 = –(α3 + α8) – p2 q3 = –(α3 – α8) + p2
    p4 = –(α4 + α7) – p3 q4 = –(α4 – α7) + p3
    p5 = –(α5 + α6) – p4 q5 = –(α5 – α6) + p4
  • In Tabelle IV sind die Werte α1, ..., α10) die skalierten Koeffizienten resultierend aus der LPC Analyse. Die zehn Lösungen der Gleichungen (21) und (22) werden zur Einfachheit auf zwischen 0 und 0,5 skaliert. Eine Eigenschaft der LSP Frequenzen ist, daß, falls das LPC Filter stabil ist, die Lösungen der zwei Funktionen alternieren, d.h. die kleinste Lösung, ω1, ist die kleinste Lösung von P(ω), die nächstkleinste Lösung, ω2, ist die kleinste Lösung von Q(ω) und so fort. Von den zehn Frequenzen sind die ungeraden Frequenzen die Lösungen von P(ω), und die geraden Frequenzen sind die Lösungen von Q(ω).
  • Die Suche der Lösungen wird wie folgt ausgeführt. Zuerst werden die Koeffizienten p und q in doppelter Genauigkeit berechnet, indem die LPC Koeffizienten wie oben dargestellt addiert werden. P(ω) wird dann aller π/256 (Angabe im Bogenmaß) ausgewertet, um diese Werte werden dann auf Wechsel des Vorzeichens hin ausgewertet, welche eine Lösung in dieser Subregion identifizieren. Wenn eine Lösung gefunden wurde, wird anschließend eine lineare Interpolation zwischen den zwei Grenzen dieser Region ausgeführt, um die Position der Lösung zu approximieren. Eine Lösung für Q existiert mit Sicherheit zwischen jedem Paar von Lösungen für P (die fünfte Lösung für Q existiert zwischen der fünften Lösung für P und π) aufgrund der Anordnungs-Eigenschaft der Frequenzen. Eine binäre Suche wird zwischen jedem Paar von Lösungen für P ausgeführt, um die Position der Lösungen für Q zu bestimmen. Zur Vereinfachung bei der Implementierung wird jede Lösung für P durch den am nächsten liegenden Wert π/256 approximiert, und die binäre Suche wird zwischen diesen Approximationen ausgeführt. Falls keine Lösung gefunden wird, werden die vorhergehenden nicht-quantisierten Werte für die LSP Frequenzen von dem letzten Rahmen, in welchem die Lösungen gefunden wurden, verwendet.
  • Mit Bezug auf 11 wird eine beispielhafte Implementierung der Schaltung dargestellt, die zur Erzeugung der LSP Frequenzen verwendet wird. Die oben beschriebenen Operationen erfordern insgesamt 257 mögliche Cosinus-Werte zwischen 0 und π, welche mit doppelter Genauigkeit in einer Nachschlagetabelle, Cosinus-Nachschlagetabelle 400, gespeichert sind und welche durch einen mod 256 Zähler 402 adressiert wird. Für jeden in die Nachschlagetabelle 40 eingegebenen Wert j wird eine Ausgabe von cos ω, cos 2ω, cos 3ω, cos 4ω und cos 5ω geliefert, wobei: ω = jπ/256 (23)wobei j ein Zählwert ist.
  • Die Werte cos ω, cos 2ω, cos 3ω und cos 4ω, ausgegeben von Nachschlagetabelle 400, werden in einen entsprechenden Multiplizierer 404, 406, 408 und 410 eingegeben, wohingegen der Wert cos 5ω direkt in den Summierer 412 eingegeben wird. Dieser Werte werden in einem entsprechenden Multiplizierer 404, 406, 408 und 410 mit einem entsprechenden der Werte p4, p3, p2, und p1 multipliziert, die dahin via Multiplexer 414, 416, 418 und 420 eingegeben wurden. Die resultierenden Werte dieser Multiplikation sind ebenfalls Eingaben für den Summierer 412. Weiterhin wird der Wert p5 durch den Multiplexer 422 an den Multiplizierer 424 geliefert, wobei der konstante Wert 0,5, d.h. 1/2, ebenfalls an den Multiplizierer 424 geliefert wird. Der resultierende, vom Multiplizierer 424 ausgegebene Wert wird als eine weitere Eingabe an den Summierer 412 geliefert. Multiplexer 414422 wählen zwischen den Werten p1–p5 oder q1–q5 ansprechend auf ein p/q Koeffizienten-Auswahlsignal aus, um die gleiche Schaltung für die Berechnung sowohl der Werte für P(ω) als auch der für Q(ω) zu verwenden. Die Schaltung für das Erzeugen der Werte p1–p5 oder q1–q5 ist nicht dargestellt, jedoch ohne weiteres implementierbar unter Verwendung einer Reihe von Addierern für das Addieren und Subtrahieren der LPC Koeffizienten und Werte p1–p5 oder q1–q5, gemeinsam mit Registern zum Speichern der Werte p1–p5 oder q1–q5.
  • Summierer 412 summiert die eingegebenen Werte, um den Ausgabewert P(ω) oder Q(ω) zu liefern, je nachdem. Zur Vereinfachung der weiteren Erläuterungen wird der Fall der Werte für P(ω) betrachtet, wobei die Werte für Q(ω) in ähnlicher Weise unter Verwendung der Werte q1–q5 berechnet werden. Der aktuelle Wert für P(ω) wird vom Summierer 412 ausgegeben, wo im Register 426 gespeichert. Der vorhergehende Wert von P(ω), zuvor in Register 426 gespeichert, wird zum Register 428 verschoben. Die Vorzeichenbits des aktuellen und des vorhergehenden Wertes von P(ω) werden exklusiv ODER verknüpft im exklusiv ODER Gatter 430, um eine Indikation eines Nulldurchgangs oder eines Vorzeichenwechsels in Form eines Freigabesignals zu liefern, das an den linearen Interpolator 434 gesendet wird. Der aktuelle und der vorhergehende Wert von P(ω) werden ebenfalls aus den Registern 426 und 428 an den linearen Interpolator 434 ausgegeben, welcher ansprechend auf ein Freigabesignal den Punkt zwischen den zwei Werten von P(ω) interpoliert, bei dem der Nulldurchgang auftritt. Das Ergebnis dieser linearen Interpolation, der Abstand vom Wert j – 1 – ein gebrochener Wert –, wird an den Puffer 436 gemeinsam mit dem Wert j vom Zähler 256 geliefert. Das Gatter 430 liefert außerdem ein Freigabesignal an den Puffer 436, welches das Speichern des Wertes j und des korrespondierenden gebrochenen Wertes FVj erlaubt.
  • Der gebrochene Wert wird vom Wert j, wie vom Puffer 436 ausgegeben, in dem Addierer 438 subtrahiert, oder kann als Alternative davon als Eingabe in den Puffer 436 subtrahiert werden. In der Alternative kann ein Register in der j-Eingabeleitung des Puffers 436 verwendet werden, so daß der Wert j – 1 in den Puffer 436 eingegeben wird, wobei der gebrochene Wert auch dahin eingegeben wird. Der gebrochene Wert kann zu dem Wert j – 1 entweder vor Speicherung im Register 436 oder nach Ausgabe aus diesem addiert werden. Auf jeden Fall wird der kombinierte Wert von j + FV oder (j – 1) + FVj an den Dividierer 440 ausgegeben, wo er durch den eingegebenen konstanten Wert von 512 dividiert wird. Die Operation der Division kann einfach ausgeführt werden, indem nur die Position des binären Punktes in dem repräsentativen binären Wort geändert wird. Dieser Operation der Division liefert die notwendige Skalierung, um eine LSP Frequenz zwischen 0 und 0,5 zu erhalten.
  • Jede Auswertung der Funktionen für P(ω) oder Q(ω) erfordert das Nachschlagen von 5 Cosinus-Werten, 4 Multiplikationen mit doppelter Genauigkeit, und 4 Additionen. Die berechneten Lösungen sind typischerweise nur bis ungefähr 13 Bits akkurat und werden in einfacher Genauigkeit gespeichert. Die LSP Frequenzen werden an das Subsystem 210 zur LSP Quantisierung (7) zur Quantisierung geliefert.
  • Wenn die LSP Frequenzen berechnet wurden, müssen sie zur Übertragung quantisiert werden. Jede der zehn LSP Frequenzen ist ungefähr um einen vor geprägten Wert beziehungsweise Bias-Wert zentriert. Es sei festgestellt, daß die LSP Frequenzen sich diesen Bias-Werten annähern, wenn die Eingabesprache flache spektrale Charakteristika aufweist und keine Kurzzeit-Vorhersage ausgeführt werden kann. Die Bias-Werte werden in dem Kodierer heraussubtrahiert, und ein einfacher DPCM Quantisierer wird verwendet. Im Decoder wird der Bias-Wert zurückaddiert. Das Negative des Bias-Wertes, in hexadezimal, für jede LSP Frequenz ω1–ω10, wie vom Subsystem zur LPC zu LSP Transformation geliefert, ist in Tabelle V aufgeführt. Die in Tabelle V gegebenen Werte sind erneut in Zweierkomplement mit 15 gebrochenen Bits. Der Hex-Wert 0x8000 (oder –32768) repräsentiert –1,0. Daher repräsentiert der erste Wert in Tabelle V, der Wert 0xfa2f (oder –1489) den Wert –0,045441 = –1489/32768.
  • TABELLE V
    Figure 00440001
  • Figure 00450001
  • Der in dem Subsystem verwendete Vorhersager ist 0,9 mal die quantisierte LSP Frequenz aus dem vorhergehenden Rahmen, gespeichert in einem Puffer in den Subsystem. Die Abklingkonstante von 0,9 wird eingefügt, so daß Kanalfehler letztendlich abklingen.
  • Die verwendeten Quantisierer sind linear, variieren aber hinsichtlich des Dynamikumfangs und der Schrittweite mit der Rate. Außerdem werden in Rahmen hoher Rate mehr Bits für jede LSP Frequenz übertragen, und daher ist die Anzahl der Quantisierungsstufen von der Rate abhängig. In Tabelle VI wird für jede Frequenz mit jeder Rate die Bit-Zuordnung und der Dynamikumfang der Quantisierung gezeigt. Beispielsweise wird für Rate 1 ω1 unter Verwendung von 4 Bits uniform quantisiert (d.h. in 16 Stufen), wobei die höchste Quantisierungsstufe 0,025 ist und die niedrigste –0,025.
  • TABELLE VI
    Figure 00450002
  • Falls die durch den Algorithmus zur Entscheidung über die Rate ausgewählten Bereiche der Quantisierung nicht groß genug sind oder Neigungsüberlauf (slope overflow) auftritt, wird die Rate auf die nächsthöhere Rate erhöht (bumped up). Das Erhöhen der Rate wird fortgesetzt, bis der Dynamikumfang berücksichtigt ist oder Vollrate erreicht wurde. In 12 wird eine beispielhafte Darstellung einer Implementierung des optimalen Verfahrens zur Erhöhung der Rate als Blockdiagramm geliefert.
  • 12 stellt in Form eines Blockdiagramms eine beispielhafte Implementierung des Subsystems 210 zur LSP Quantisierung dar, welches die Schaltung zur Erhöhung der Rate (rate bump up circuitry) enthält. 12 werden die LSP Frequenzen des aktuellen Rahmens vom Dividierer 440 (11) an das Register 442 ausgegeben, wo sie gespeichert werden zur Ausgabe während der Bestimmung der Erhöhung der Rate im nächsten Rahmen. Die LSP Frequenzen des vorhergehenden Rahmens und die LSP Frequenzen des aktuellen Rahmens werden entsprechend vom Register 440 und Dividierer 440 zur Logik 442 zur Erhöhung der Rate ausgegeben zur Bestimmung der Erhöhung der Rate des aktuellen Rahmens. Die Logik 442 zur Erhöhung der Rate in fängt außerdem die anfängliche Entscheidung zur Rate, gemeinsam mit der Rate die Kommandos zur Begrenzung der Rate vom Subsystem zur Bestimmung der Rate 204. Zur Bestimmung, ob eine Erhöhung der Rate notwendig ist, vergleicht die Logik 442 die LSP Frequenzen des vorhergehenden Rahmens mit den LSP Frequenzen des aktuellen Rahmens basierend auf der Summe des Quadrats der Differenz zwischen den LSP Frequenzen des aktuellen und des vorhergehenden Rahmens. Der resultierende Wert wird dann mit einem Schwellwert verglichen, der, falls überschritten, anzeigt, daß eine Erhöhung der Rate notwendig ist, um eine hohe Qualität beim Kodieren der Sprache sicherzustellen. Beim Überschreiten des Schwellwertes inkrementiert die Logik 442 die anfängliche Rate um eine Stufe der Rate, um als Ausgabe die endgültige Rate zur Verwendung im gesamten Kodierer zu liefern.
  • In 12 wird jeder Wert der LSP Frequenz ω1–ω10 – jeweils einer zu einem bestimmten Zeitpunkt – in den Addierer 450 gemeinsam mit dem korres pondierenden Bias-Wert eingegeben. Der Bias-Wert wird von dem eingegebenen LSP Wert subtrahiert und das Ergebnis davon wird an den Addierer 452 ausgegeben. Addierer 452 empfängt außerdem als eine Eingabe einen Wert des Vorhersagers, einen mit einer Abklingkonstante multiplizierten korrespondierenden LSP Wert des vorhergehenden Rahmens. Der Wert des Vorhersagers wird von der Ausgabe des Addierers 450 durch den Addierer 452 subtrahiert. Die Ausgabe des Addierers 452 wird als eine Eingabe an den Quantisierer 454 geliefert.
  • Der Quantisierer 454 besteht aus einem Begrenzer 456, einer Nachschlagetabelle 458 für den minimalen Dynamikumfang, einer Nachschlagetabelle 460 für die inverse Schrittweite, einem Addierer 462, einem Multiplizierer 464 und einer Bitmaske 466. Die Quantisierung wird im Quantisierer 454 ausgeführt, indem zuerst bestimmt wird, ob der Eingabewert innerhalb des Dynamikumfangs des Quantisierers 454 ist. Der Eingabewert wird an den Begrenzer 456 geliefert, welcher den Eingabewert auf die oberen und unteren Begrenzungen des Dynamikumfangs begrenzt, falls die Eingabe die durch Nachschlagetabelle 458 gelieferten Begrenzungen überschreitet. Die Nachschlagetabelle 458 liefert die gespeicherten Begrenzungen, entsprechend Tabelle VI, an den Begrenzer 456 ansprechend auf die eingegebene Rate und den dahin eingegebenen Index i der LSP Frequenz. Der vom Begrenzer 456 ausgegebene Wert wird an den Addierer 462 eingegeben, wo das Minimum des Dynamikumfangs, geliefert durch Nachschlagetabelle 458, davon subtrahiert wird. Der von der Nachschlagetabelle 458 ausgegebene Wert wird wiederum durch die Rate und den Index i der LSP Frequenz in Übereinstimmung mit den minimalen Werten des Dynamikumfangs bestimmt, unter Vernachlässigung des Vorzeichens des Wertes, dargelegt in Tabelle VI. Zum Beispiel ist der Wert in der Nachschlagetabelle 458 für (Vollrate, ω1) 0,025.
  • Die Ausgabe von Addierer 462 wird dann im Multiplizierer 464 mit einem aus der Nachschlagetabelle 460 ausgewählten Wert multipliziert. Die Nachschlagetabelle 460 enthält Werte, die mit dem inversen der Schrittweite für jeden LSP Wert bei jeder Rate in Übereinstimmung mit den in Tabelle VI dargeleg ten Werten korrespondieren. Der von Nachschlagetabelle 460 ausgegebene Wert wird durch die Rate und den Index i der LSP Frequenz ausgewählt. Für jede Rate und jeden Index i der LSP Frequenz ist der in Nachschlagetabelle 460 gespeicherte Wert die Quantität ((2n – 1)/Dynamikumfang), worin n die Anzahl der Bits ist, die den quantisierten Wert repräsentieren. Als weiteres Beispiel ist der Wert in Nachschlagetabelle für (Rate 1, ω1) (15/0,05) oder 300.
  • Die Ausgabe vom Multiplizierer 464 ist ein Wert zwischen 0 und 2n – 1, welcher an die Bitmaske 466 geliefert wird. Die Bitmaske 466 extrahiert ansprechend auf die Rate und den Index der LSP Frequenz aus dem Eingabewert die passende Anzahl von Bits entsprechend der Tabelle VI. Die extrahierten Bits sind die n Bits mit ganzzahligem Wert des Eingabewertes, um eine bitbegrenzte Ausgabe Δωi zu liefern. Die Werte für Δωi sind die quantisierten, differentiell kodierten LSP Frequenzen ohne Bias-Wert, die über den Kanal repräsentativ für die LPC Koeffizienten übertragen werden.
  • Der Wert Δωi wird außerdem durch einen Vorhersager bestehend aus einem inversen Quantisierer 468, einem Addierer 470, einem Puffer 472 und einem Multiplizierer 474 zurückgeführt. Der inverse Quantisierer 468 besteht aus einer Nachschlagetabelle 476 für die Schrittweite, einer Nachschlagetabelle 478 für den minimalen Dynamikumfang, einem Multiplizierer 480 und einem Addierer 482.
  • Der Wert Δωi wird in den Multiplizierer 480 gemeinsam mit einem ausgewählten Wert aus der Nachschlagetabelle 476 eingegeben. Nachschlagetabelle 476 enthält Werte, die mit der Schrittweite für jeden LSP Wert bei jeder Rate in Übereinstimmung mit den in Tabelle VI dargelegten Werten korrespondieren. Der von der Nachschlagetabelle 476 ausgegebene Wert wird durch die Rate und den Index i der LSP Frequenz ausgewählt. Für jede Rate und Index i der LSP Frequenz ist der Nachschlagetabelle 460 gespeicherte Wert die Quantität (Dynamikumfang/2n – 1), worin n die Anzahl der Bits ist, die den quantisierten Wert repräsentieren. Multiplizierer 480 multipliziert die eingegebenen Werte und liefert eine Ausgabe an den Addierer 482.
  • Addierer 482 empfängt als eine weitere Eingabe einen Wert aus der Nachschlagetabelle 478. Der von der Nachschlagetabelle 478 ausgegebene Wert wird durch die Rate und den Index i der LSP Frequenz in Übereinstimmung mit den minimalen Werten des Dynamikumfangs bestimmt, unter Vernachlässigung des Vorzeichens des Wertes, wie in Tabelle VI dargelegt. Addierer 482 addiert den von der Nachschlagetabelle 478 gelieferten minimalen Wert des Dynamikumfangs zu dem von Multiplizierer 480 ausgegebenen Wert, wobei der resultierende Wert an den Addierer 470 ausgegeben wird.
  • Addierer 470 empfängt als eine weitere Eingabe den Ausgabewert des Vorhersagers vom Multiplizierer 474. Diese Werte werden im Addierer 470 addiert und in einem 10-Wort-Speicherpuffer 472 gespeichert. Jeder Wert eines vorhergehenden Rahmens, ausgegeben vom Puffer 472 während des aktuellen Rahmens, wird im Multiplizierer 474 mit einer Konstante 0,9 multipliziert. Die Werte des Vorhersagers, wie vom Multiplizierer 474 ausgegeben, werden zu beiden Addierern 452 und 470 geliefert, wie vorstehend erläutert. Im aktuellen Rahmen ist der in Puffer 472 gespeicherte Wert die rekonstruierten LSP Werte des vorhergehenden Rahmens minus der Bias-Wert. In gleicher Weise ist der vom Addierer 470 ausgegebene Wert im aktuellen Rahmen die rekonstruierten LSP Werte des aktuellen Rahmens, ebenfalls ohne Bias-Wert. Im aktuellen Rahmen werden die Ausgaben von Puffer 472 und Addierer 470 entsprechend an die Addierer 484 und 486 geliefert, wo der Bias-Wert zu diesen Werten addiert wird. Die von den Addierern 484 und 486 ausgegebenen Werte sind entsprechend die rekonstruierten Werte der LSP Frequenzen des vorhergehenden Rahmens und die rekonstruierten Werte der LSP Frequenzen des aktuellen Rahmens. Bei den niedrigeren Raten wird LSP Glättung entsprechend der Gleichung ausgeführt: geglättetes LSP = a(aktuelles LSP) + (1 – a)(vorhergehendes LSP) (24) worin a = 0 für Vollrate;
    a = 0,1 für Halbrate;
    a = 0,5 für Viertelrate; und
    a = 0,85 für Achtelrate.
  • Die rekonstruierten Werte der LSP Frequenzen ω'i,f-1 des vorhergehenden Rahmens (f – 1) und die rekonstruierten Werte ω'i,f der LSP Frequenzen des aktuellen Rahmens (f) werden vom Subsystem 210 zur Quantisierung an das Subsystem 216 zur Pitch Subrahmen LSP Interpolation und an das Subsystem 226 zur Codebook Subrahmen LSP Interpolation ausgegeben. Die quantisierten Werte der LSP Frequenz werden vom Subsystem 210 zur LSP Quantisierung an das Subsystem 236 zur Assemblierung der Daten zur Übertragung ausgegeben.
  • Die in dem gewichtenden Filter und dem Formanten-Synthesefilter, später beschrieben, verwendeten LPC Koeffizienten sind für den Pitch-Subrahmen geeignet, welcher kodiert wird. Für Pitch-Subrahmen erfolgt die Interpolation der LPC Koeffizienten einmal für jeden Pitch-Subrahmen und sind wie folgend in Tabelle VII:
  • TABELLE VII
  • Rate 1:
    • ωi = 0,75ω'i,f-1 + 0,25ω'i,f für Pitch-Subrahmen 1
    • ωi = 0,5ω'i,f-1 + 0,5ω'i,f für Pitch-Subrahmen 2
    • ωi = 0,25ω'i,f-1 + 0,75ω'i,f für Pitch-Subrahmen 3
    • ωi = ω'i,f für Pitch-Subrahmen 4
  • Rate 1/2:
    • ωi = 0,625ω'i,f-1 + 0,375ω'i,f für Pitch-Subrahmen 1
    • ωi = 0,125ω'i,f-1 + 0,875ω'i,f für Pitch-Subrahmen 2
  • Rate 1/4:
    • ωi = 0,625ω'i,f-1 + 0,375ω'i,f für Pitch-Subrahmen 1
  • Rate 1/8:
    • Pitch-Suche wird nicht ausgeführt.
  • Ein Zähler 224 für die Pitch-Subrahmen wird verwendet, um zu verfolgen, für welche Pitch-Subrahmen die Pitch-Parameter berechnet werden, wobei die Ausgabe des Zählers an das Subsystem 216 zur Pitch Subrahmen LSP Interpolation geliefert wird zur Verwendung bei der LSP Interpolation der Pitch-Subrahmen. Der Zähler 224 für die Pitch-Subrahmen liefert außerdem eine Ausgabe an das Subsystem 236 zum Packen der Daten, welche die Vollendung des Pitch-Subrahmens für die gewählte Rate anzeigt.
  • 13 stellt eine beispielhafte Implementierung des Subsystems 216 zur Pitch Subrahmen LSP Interpolation dar, welches die LSP Frequenzen für den relevanten Pitch-Subrahmen interpoliert. In 13 werden die vorhergehenden und aktuellen LSP Frequenzen ω'i,f-1 und ω'i,f entsprechend vom Subsystem zur LSP Quantisierung an die Multiplizierer 500 und 502 ausgegeben, wo sie entsprechend mit einer Konstante multipliziert werden, die vom Speicher 504 geliefert wird. Der Speicher 504 speichert einen Satz konstanter Werte und liefert in Übereinstimmung mit einer Eingabe der Nummer des Pitch-Subrahmens vom Zähler des Pitch-Subrahmens, später erörtert, eine Ausgabe von Konstanten, wie in Tabelle VII dargelegt, zur Multiplikation mit den vorhergehenden und aktuellen LSP Werten. Die Ausgaben der Multiplizierer 500 und 500 zweiten werden im Addierer 506 addiert, um die Werte der LSP Frequenz für den Pitch-Subrahmen in Übereinstimmung mit den Gleichungen aus Tabelle VII zu liefern. Für jeden Pitch-Subrahmen wird, sobald die Interpolation der LSP Frequenzen erfolgt ist, eine umgekehrte LSP zu LPC Transformation durchgeführt, um die aktuellen Koeffizienten für A(z) und das wahrnehmungswichtende Filter zu erhalten. Die interpolierten Werte der LSP Frequenzen werden daher in das Subsystem 218 zur LSP zu LPC Transformation aus 7 geliefert.
  • Das Subsystem 218 zur LSP zu LPC Transformation konvertiert die interpolierten LSP Frequenzen zurück in LPC Koeffizienten zur Verwendung beim Re-Synthetisieren der Sprache. Der zuvor erwähnte Artikel "Line Spectrum Pair (LSP) and Spech Data Compression" von Soon und Juang liefert wiederum eine volle Erläuterung und Ableitung des in der vorliegenden Erfindung für den Prozeß der Transformation implementierten Algorithmus. Die rechentechnischen Aspekte sind derart, daß P(z) und Q(z) als LSP Frequenzen durch die folgenden Gleichungen ausgedrückt werden können:
    Figure 00520001
    worin ωi die Lösungen des Polynoms P' (ungerade Frequenzen) sind, und
    Figure 00520002
    worin ωi die Lösungen des Polynoms Q' (gerade Frequenzen) sind, und
  • Figure 00520003
  • Die Berechnung wird ausgeführt, indem zunächst die Werte 2cos(ωi) für alle ungeraden Frequenzen i berechnet werden. Diese Berechnung wird mittels einer Taylorreihen-Entwicklung der fünften Ordnung des Cosinus um Null (0) mit einfacher Genauigkeit durchgeführt. Eine Taylorreihen-Entwicklung um den nächstliegenden Punkt in der Cosinus-Tabelle könnte potentiell akkurater sein, aber die Entwicklung um 0 erreicht hinreichende Akkuratheit und ist nicht mit einer übermäßigen Menge an Berechnungen verknüpft.
  • Als nächstes werden die Koeffizienten des Polynoms P berechnet. Die Koeffizienten eines Produkts von Polynomen ist die Faltung der Sequenzen der Koeffizienten der individuellen Polynome. Die Faltung der 6 Sequenzen von z polynomialen Koeffizienten in oben stehender Gleichung (25), {1, –2cos(ω1)1}, {1, –2cos(ω3), 1} ... {1, –2cos(ω9), 1}, und {1, 1} wird dann berechnet.
  • Nachdem das Polynom P berechnet wurde, wird die gleiche Prozedur für das Polynom Q wiederholt, wobei die 6 Sequenzen von z polynomialen Koeffizienten in oben stehender Gleichung (26), {1, –2cos(ω2), 1}, {1, –2cos(ω4), 1} ... {1, –2cos(ω10), 1}, und {1, –1}, und die zugehörigen Koeffizienten summiert und durch 2 geteilt, d.h. um 1 Bit verschoben werden, um die LPC Koeffizienten zu erzeugen.
  • 13 zeigt ferner eine beispielhafte Implementierung des Subsystems zur LSP zu LPC Transformation im Detail. Schaltungsteil 508 berechnet den Wert –2cos(ωi) aus dem eingegebenen Wert von ωi. Schaltungsteil 508 besteht aus einem Puffer 509; Addierern 510 und 515; Multiplizierern 511, 512, 514, 516 und 518; und Registern 513 und 515. Zum Berechnen der Werte für –2cos(ωi) werden die Register 513 und 515 mit Null initialisiert. Da diese Schaltung sin(ωi) berechnet, wird ωi zunächst im Addierer 510 von dem konstanten Eingabewert π/2 subtrahiert. Dieser Wert wird durch den Multiplizierer 511 quadriert, und anschließend werden die Werte (π/2 – ωi)2, (π/2 – ωi)4, (π/2 – ωi)6, und (π/2 – ωi)8 unter Verwendung von Multiplizierer 512 und Register 513 nacheinander berechnet.
  • Die Koeffizienten c[1]–c[4] der Taylorreihen-Entwicklung werden nacheinander gemeinsam mit den vom Multiplizierer 512 ausgegebenen Werten in den Multiplizierer 514 eingegeben. Die vom Multiplizierer 514 ausgegebenen Werte werden in den Addierer 515 eingegeben, wo die Werte gemeinsam mit der Ausgabe des Registers 516 summiert werden, um die Ausgabe c[1](π/2 – ωi)2 + c[2](π/2 – ωi)4 + c[3](π/2 – ωi)6 + c[4](π/2 – ωi)8 an den Multiplizierer 517 zu liefern. Die Eingabe vom Register 516 an den Multiplizierer 517 wird im Multiplizierer 517 mit der Ausgabe (π/2 – ωi) vom Addierer 510 multipliziert. Die Ausgabe vom Multiplizierer 517, der Wert cos(ωi), wird im Multiplizierer 518 mit der Konstante –2 multipliziert, um die Ausgabe –2cos(ωi) zu liefern. Der Wert –2cos(ωi) wird an den Schaltungsteil 520 geliefert.
  • Der Schaltungsteil 520 wird zur Berechnung der Koeffizienten des Polynoms P verwendet. Schaltungsteil 520 besteht aus einem Speicher 521, einem Multiplizierer 522, und einem Addierer 523. Ein Array von Speicherstellen P(1) ... P(11) wird mit 0 initialisiert, ausgenommen P(1), welche auf 1 gesetzt wird. Die alten indizierten Werte –2cos(ωi) werden in den Multiplizierer 524 geleitet, um die Faltung von (1, –2cos(ωi), 1) auszuführen, worin 1 ≤ i ≤ 5, 1 ≤ j ≤ 2i + 1, P(j) = 0 für j < 1. Der Schaltungsteil 520 ist für die Berechnung der Koeffizienten für das Polynom Q der doppelt ausgeführt (nicht dargestellt). Die resultierenden endgültigen neuen Werte für P(1)–P(11) und Q(1)–Q(11) werden am Schaltungsteil 524 geliefert.
  • Der Schaltungsteil 524 ist für das Vollenden der Berechnung der zehn LPC Koeffizienten αi für i = 1 bis i = 10 des Pitch-Subrahmens vorgesehen. Der Schaltungsteil 524 besteht aus den Puffern 525 und 526; Addierern 527, 528 und 529; und einem Dividierer oder Bit-Shifter 530. Die endgültigen Werte für P(i) und Q(i) werden in den Puffern 525 und 526 gespeichert. Die Werte P(i) und P(i + 1) werden im Addierer 527 summiert, während die korrespondierenden Werte Q(i) und Q(i + 1) im Addierer 528 subtrahiert werden, für 1 ≤ i ≤ 10. Die Ausgaben der Addierer 527 und 528, entsprechend P(z) und Q(z), werden in den Addierer 529 eingegeben, wo sie summiert und als der Wert (P(z) + Q(z)) ausgegeben werden. Die Ausgabe des Addierers wird durch zwei geteilt, indem die Bits um eine Position verschoben werden. Jeder Bit-verschobene Wert (P(z) + Q(z))/2 ist ein ausgegebener LPC Koeffizient αi. Die LPC Koeffizienten des Pitch-Subrahmens werden an das Subsystem 220 zur Pitch-Suche aus 7 geliefert.
  • Die LSP Frequenzen werden ebenfalls für jeden Codebook-Subrahmen interpoliert, wie durch die ausgewählte Rate festgelegt, ausgenommen bei Vollrate. Die Interpolation wird in einer Weise berechnet, die mit der Berechnung der LSP Interpolationen der Pitch-Subrahmen identisch ist. Die LSP Interpolationen der Codebook-Subrahmen werden im Subsystem 226 zur LSP Interpolation der Codebook-Subrahmen berechnet und an das Subsystem 228 zur LSP zu LPC Transformation geliefert, wo die Transformation in einer Weise berechnet wird, die ähnlich der Berechnung im Subsystem 218 zur LSP zu LPC Transformation ist.
  • Wie mit Bezug auf 3 erörtert, ist die Pitch-Suche eine Analyse-durch-Synthese Methode, bei welcher die Kodierung ausgeführt wird, indem Parameter gewählt werden, die den Fehler zwischen der Eingabesprache und der unter Verwendung dieser Parameter synthetisierten Sprache minimieren. Bei der Pitch-Suche wird die Sprache unter Verwendung eines Pitch-Synthesefilters synthetisiert, dessen Antwort in Gleichung (2) ausgedrückt ist. Jeder 20 ms Sprachrahmen wird in einer Anzahl von Pitch-Subrahmen unterteilt, was, wie vorstehend beschrieben, von der für den Rahmen gewählten Datenrate abhängig ist. Einmal pro Pitch-Subrahmen werden die Parameter b und L berechnet, entsprechend Pitch-Verstärkung und Pitch-Verzögerung. In der beispielhaften Implementierung hierin liegt die Pitch-Verzögerung L im Bereich zwischen 17 und 143, aus Gründen der Übertragung ist L = 16 reserviert für den Fall, in dem b = 0 gilt.
  • Der Sprachkodierer benutzt ein wahrnehmungsgewichtendes Rauschfilter der in Gleichung (1) dargelegten Form. Wie zuvor erwähnt ist es der Zweck des wahrnehmungsgewichtenden Filters, den Fehler bei Frequenzen geringerer Leistung zu gewichten, um den Einfluß fehlerbezogenen Rauschens zu vermindern. Daß wahrnehmungsgewichtende Filter wird aus dem zuvor gefundenen Kurzzeit-Vorhersagefilter abgeleitet. Die in dem gewichtenden bzw. Gewichtungsfilter und in dem später beschriebenen Formanten-Synthesefilter verwendeten LPC Koeffizienten sind jene interpolierten Werte, die dem Subrahmen zugeordnet sind, der gerade kodiert wird.
  • Zum Ausführen des Analyse-durch-Synthese Verfahrens wird eine Kopie des Sprachdecoders/Synthesizers in dem Kodierer verwendet. Die Form des in Sprachkodierer verwendeten Synthesefilters ist durch die Gleichungen (3) und (4) gegeben. Gleichungen (3) und (4) korrespondieren mit einem Synthesefilter eines Sprachdecoders gefolgt von einem wahrnehmungswichtenden Filter, daher gewichtetes Synthesefilter genannt.
  • Die Pitch-Suche wird ausgeführt, indem eine Null Verteilung aus dem Codebook beim aktuellen Rahmen angenommen wird, d.h. G = 0. für jede mögliche Pitch-Verzögerung L wird die Sprache synthetisiert und mit der originalen Sprache verglichen. Der Fehler zwischen der Eingabesprache und der synthetisierten Sprache wird durch das wahrnehmungswichtende Filter gewichtet, bevor der mittlere quadratische Fehler (MSE) berechnet wird. Das Ziel ist, Werte für L und b aus allen möglichen Werten für L und b zu wählen, die den Fehler zwischen der wahrnehmungsgewichteten Sprache und der wahrnehmungsgewichteten synthetisierten Sprache minimieren. Die Minimierung des Fehlers kann durch die folgende Gleichung ausgedrückt werden:
    Figure 00560001
    worin LP die Anzahl der Abtastwerte im Pitch-Subrahmen ist, welche in der beispielhaften Ausführung 40 für einen Pitch-Subrahmen bei Vollrate ist. Die Pitch-Verstärkung b wird berechnet, welche den MSE minimiert. Diese Berechnungen werden für alle erlaubten Werte von L wiederholt, und die L und b, die den minimalen MSE erzeugen, werden für das Pitch-Filter ausgewählt.
  • Das Berechnen der optimalen Pitch-Verzögerung umfaßt den Formanten-Rest (formant residual) (p(n) in 3) für alle Zeiten zwischen n = –Lmax bis n = (LP – Lmin) – 1, wobei Lmax der maximale Wert der Pitch-Verzögerung ist, Lmin ist der minimale Wert der Pitch-Verzögerung und LP ist die Länge des Pitch-Subrahmens für die ausgewählte Rate, und wobei n = 0 der Anfang des Pitch-Subrahmens ist. In der folgenden Beschreibung ist Lmax = 143 und Lmin = 17. Unter Verwendung des in 14 gelieferten Schemas zur Numerierung gilt für Rate 1/4, n = –143 bis n = 142; für Rate ½, n = –143 bis n = 62; und für Rate 1, n = –143 bis n = 22. Für n < 0 ist der Formanten-Rest einfach die Ausgabe des Pitch-Filters von den vorhergehenden Pitch-Subrahmen, welche im Pitch-Filter-Speicher vorgehalten und als der geschlossene Schleife Formanten-Rest (closed loop formant residual) bezeichnet wird. Für n ≥ 0 ist der Formanten-Rest die Ausgabe eines Formanten-Analysefilters mit einer Filtercharakteristik von A(z), wobei die Eingabe die Sprach-Abtastwerte des aktuellen Analyserahmens sind. Für n ≥ 0 wird der Formanten-Rest als der offene Schleife Formanten-Rest bezeichnet und wäre genau p(n), falls das Pitch-Filter und das Codebook eine perfekte Vorhersage für diesen Subrahmen leisten. Weitere Erläuterungen zur Berechnung der optimalen Pitch-Verzögerung aus den zugeordneten Werten des Formanten-Rests wird mit Bezug auf 1417 geliefert.
  • Die Pitch-Suche wird über 143 rekonstruierte Abtastwerte des geschlossene Schleife Formanten-Rests ausgeführt, p(n) für n < 0, plus LP – Lmin nicht-quantisierte Abtastwerte des offene Schleife Formanten-Rests, pO(n) für n ≥ 0. die Suche ändert sich in wirksamer Weise allmählich von einer überwiegend offene Schleife Suche, bei der L klein ist und folglich die meisten verwendeten Rest-Abtastwerte (residual samples) n > 0 sind, zu einer überwiegend geschlossene Schleifensuche, bei der L groß ist und Daher alle verwendeten erst-Abtastwerte n < 0 sind. Beispielsweise beginnt die Pitch-Suche, unter Verwendung des in 14 gelieferten Schemas zur Numerierung bei Vollrate, bei der ein Pitch-Subrahmen aus 40 Sprach-Abtastwerten besteht, mit einem Satz von Abtastwerten des Formanten-Rests, die mit n = –17 bis n = 22 numeriert sind. In diesem Schema sind die Abtastwerte von n = –17 bis n = –1 Abtastwerte des geschlossene Schleife Formanten-Rests, wohingegen die Abtastwerte von n = 0 bis n = 22 Abtastwerte des offene Schleife Formanten-Rests sind. Der nächste Satz von Abtastwerten des Formanten-Rests, verwendet zur Bestimmung der optimalen Pitch-Verzögerung, sind die Abtastwerte, die mit n = –18 bis n = 21 numeriert sind. Die Abtastwerte von n = –18 bis n = –1 sind wiederum die Abtastwerte des geschlossene Schleife Formanten-Rests, wohingegen die Abtastwerte von n = 0 bis n = 21 Abtastwerte des offene Schleife Formanten-Rests sind. Dieser Prozeß setzt sich durch die Sätze von Abtastwerten fort, bis die Pitch-Verzögerung für den letzten Satz von Abtastwerten des Formanten-Rests, n = –143 bis n = –104, berechnet wird.
  • Wie vorstehend mit Bezug auf Gleichung (28) erörtert, ist das Ziel, den Fehler zwischen x(n), der wahrnehmungsgewichteten Sprache minus die Nulleingabeantwort (ZIR = zero input response) des gewichteten Formantenfilters, und x'(n), der wahrnehmungsgewichteten synthetisierten Sprache – unter der Vor aussetzung, es gibt keine Speicher in den Filtern –, über alle möglichen Werte von L und b zu minimieren, unter Voraussetzung einer Null Verteilung von dem stochastischen Codebook (G = 0). Gleichung (28) kann mit Bezug auf b umgeschrieben werden, wobei:
    Figure 00580001
    worin y(n) = h(n)·p(n – L) for 0 ≤ n ≤ LP – 1 (30)worin y(n) die gewichtete synthetisierte Sprache mit Pitch-Verzögerung L bei b = 1 ist, und h(n) ist die Impulsantwort des gewichteten Formanten-Synthesefilters, welches eine Filtercharakteristik entsprechend Gleichung (3) aufweist.
  • Dieser Prozeß der Minimierung ist äquivalent zur Maximierung des Wertes EL, wobei:
    Figure 00580002
    worin
    Figure 00580003
    und
  • Figure 00580004
  • Das Optimum b für das gegebene L ergibt sich als:
  • Figure 00580005
  • Diese Suche wird für alle erlaubten Werte von L wiederholt. Das Optimum b ist auf positive Werte beschränkt, und so werden L in der Suche ignoriert, die in irgendeinem negativen Exy resultieren. Schließlich werden die Verzögerung L und die Pitch-Verstärkung b, die EL maximieren, für die Übertragung ausgewählt.
  • Wie zuvor erwähnt ist x(n) in Wirklichkeit die wahrnehmungsgewichtete Differenz zwischen der Eingabesprache und der ZIR des gewichteten Formantenfilters, da für die rekursive Faltung, untenstehend in Gleichungen (35)–(38) aufgeführt, die Annahme gemacht wird, daß das Filter A(z) stets mit 0 im Filterspeicher startet. Allerdings ist das Starten des Filters mit einer 0 in dem Filterspeicher in Wirklichkeit nicht der Fall. Bei der Synthese wird das Filter einen Zustand aufweisen, verbleibend von dem vorhergehenden Subrahmen. In der Implementierung werden die Effekte des anfänglichen Zustands zu Beginn von der wahrnehmungsgewichteten Sprache subtrahiert. Auf diese Weise muß nur die Antwort des Filters A(z) im eingeschwungenen Zustand, alle Speicher anfänglich = 0, auf p(n) für jedes L berechnet werden, und rekursive Faltung kann verwendet werden. Dieser Wert für x(n) muß nur einmal berechnet werden, aber y(n), die Nullzustandsantwort des Formantenfilters auf die Ausgabe des Pitchfilters, muß für jede Verzögerung L berechnet werden. Die Berechnung jedes Wertes y(n) umfaßt viele redundante Multiplikationen, welche nicht für jede Verzögerung berechnet werden müssen. Das untenstehend beschriebene Verfahren der rekursiven Faltung wird verwendet, um den erforderlichen Rechenaufwand zu minimieren.
  • Mit Bezug auf rekursive Faltung wird der Wert yL(n) durch den Wert y(n) definiert, wobei: yL(n) = h(n)·p(n – L) 17 ≤ L ≤ 143 (35)oder yL(n) = Σh(i)p(n – L – i) 17 ≤ L ≤ 143 (36)
  • Aus Gleichungen (32 und (33) ergibt sich: yL(0) = p(–L)h(0) (37) yL(n) = yL-1(n – 1) + p(–L)h(n) 1 ≤ n ≤ Lp, 17 < L ≤ 143 (38)
  • Auf diese Weise können die verbleibenden Faltungen rekursiv ausgeführt werden, sobald die anfängliche Faltung für y17(n) ausgeführt wurde, was die Anzahl erforderlicher Berechnungen stark reduziert. Für das oben gegebene Beispiel bei Rate 1 wird der Wert y17(n) durch Gleichung (36) unter Verwendung des mit n = –17 bis n = 22 numerierten Satzes von Abtastwerten des Formanten-Rests berechnet.
  • Bezugnehmend auf 15, der Kodierer umfaßt ein Duplikat des Decoders aus 5, Decoder-Subsystem 235 aus 7, jedoch fehlt das adaptive Post-Filter. in 15 ist die Eingabe an das Pitch-Synthesefilter 550 das Produkt des Codebook-Wertes cl(n) und der Codebook-Verstärkung G. Die ausgegebenen Abtastwerte p(n) des Formanten-Rests werden in das Formanten-Synthesefilter 552 eingegeben, wo sie gefiltert und als rekonstruierte Sprach-Abtastwerte s'(n) ausgegeben werden. Die rekonstruierten Sprach-Abtastwerte s'(n) werden von den korrespondierenden eingegebenen Sprach-Abtastwerten s(n) im Addierer 554 subtrahiert. Die Differenz zwischen den Abtastwerten s(n)' und s(n) wird in das wahrnehmungswichtende Filter 556 eingegeben. Bezogen auf das Pitch-Synthesefilter 550, das Formanten-Synthesefilter 552 und das wahrnehmungswichtende Filter 556, jedes Filter umfaßt einen Speicher für den Zustand des Filters, wobei MP der Speicher in dem Pitch-Synthesefilter 550 ist; Ma ist der Speicher in dem Formanten-Synthesefilter 552; und Mw ist der Speicher in dem wahrnehmungswichtenden Filter 556.
  • Der Zustand Ma des Filters des Formanten-Synthesefilters 552 des Decoder-Subsystems wird an das Subsystem 220 zur Pitch-Suche aus 7 geliefert. In 16 ist der Zustand Ma des Filters vorgesehen, um die Nulleingabeantwort (ZIR) des Filters 560 zu berechnen, welches die ZIR das Formanten-Synthesefilters 552 berechnet. Der berechnete Wert ZIR wird von den eingegebenen Sprach-Abtastwerten s(n) im Addierer 562 subtrahiert, und das Ergebnis wird durch das wahrnehmungswichtende Filter 564 gewichtet. Die Ausgabe des wahrnehmungswichtenden Filters 564, xp(n), wird als die ge wichtete Eingabesprache in den Gleichungen (28) bis (34) verwendet, wobei x(n) = xp(n).
  • Mit Rückbezug auf die 14 und 15, das Pitch-Synthesefilter 550, wie in 14 dargestellt, liefert an das adaptive Codebook 568, welches im Grundsatz ein Speicher zum Aufbewahren der Abtastwerte des geschlossene und offene Schleife Formanten-Rests ist, welche wie oben erläutert berechnet wurden. Der geschlossene Schleife Formanten-Rest wird in Speicherabschnitt 570 gespeichert, wohingegen der offene Schleife Formanten-Rest in Speicherabschnitt 572 gespeichert wird. Die Abtastwerte werden entsprechend des beispielhaften Schemas zur Numerierung gespeichert, wie oben erläutert. Der geschlossene Schleife Formanten-Rest wird wie oben erörtert in Hinsicht auf die Verwendung für jede Suche der Pitch-Verzögerung L organisiert. Der offene Schleife Formanten-Rest wird aus den eingegebenen Sprach-Abtastwerten s(n) für jeden Pitch-Subrahmen unter Verwendung des Formanten-Analysefilters 574 berechnet, welches den Speicher Ma des Formanten-Synthesefilters 552 des Decoder-Subsystems für die Berechnung der Werte von po(n) verwendet. Die Werte von po(n) für den aktuellen Pitch-Subrahmen werden durch eine Serie von Verzögerungselementen 576 geschoben, um in den Speicherabschnitt 572 des adaptiven Codebook 568 geliefert zu werden. Die offene Schleife Formanten-Reste werden mit dem ersten erzeugten Rest-Abtastwert numeriert als 0 und dem letzten numeriert als 142 gespeichert.
  • Nunmehr Bezug nehmend auf 16, die Impulsantwort h(n) des Formantenfilters wird in Filter 566 berechnet und an das Schieberegister 580 ausgegeben. Wie oben mit Bezug auf die Impulsantwort h(n) des Formantenfilters erörtert, Gleichungen (29)–(30) und (35)–(38), werden diese Werte für jeden Pitch-Subrahmen in Filter berechnet. Um die rechentechnischen Anforderungen an das Pitchfilter-Subsystem weiter zu reduzieren, wird die Impulsantwort h(n) des Formantenfilters nach 20 Abtastwerten abgeschnitten.
  • Das Schieberegister 580 ist gemeinsam mit dem Multiplizierer 582, dem Addierer 584 und dem Schieberegister 586 konfiguriert, um die rekursive Faltung zwischen den Werten h(n) von Schieberegister 580 und den Werten c(m) vom adaptiven Codebook 568 auszuführen, wie oben erläutert. Diese Faltungsoperation wird ausgeführt, um die Nullzustandsantwort (ZSR = zero-state response) des Formantenfilters auf die aus dem Speicher des Pitch-Filters kommende Eingabe zu finden, in der Annahme, daß die Pitch-Verstärkung auf 1 gesetzt ist. Im Ablauf der Schaltung zur Faltung durchläuft n die Werte Lp bis 1 für jedes m, während m die Werte von (Lp – 17) – 1 bis –143 durchläuft. Daten im Register 586 werden nicht weitergeleitet, wenn n = 1, und Daten werden nicht gespeichert (not latched), wenn n = Lp. Die Daten werden als eine Ausgabe der Schaltung zur Faltung geliefert, wenn m ≤ –17.
  • Nachfolgend der Schaltung zur Faltung ist eine Schaltung für Korrelation und Vergleich angeordnet, welche die Suche zum Auffinden der optimalen Pitch-Verzögerung L und Pitch-Verstärkung b durchführt. Die Schaltung zur Korrelation, auch bezeichnet als die Schaltung für den mittleren quadratischen Fehler (MSE), berechnet die Autokorrelation und die Kreuzkorrelation der ZSR mit der wahrnehmungsgewichteten Differenz zwischen der ZIR des Formantenfilters und der Eingabesprache, d.h. x(n). Unter Verwendung dieser Werte berechnet die Schaltung zur Korrelation den Wert b für die optimale Pitch-Verstärkung für jeden Wert der Pitch-Verzögerung. Die Schaltung zur Korrelation besteht aus einem Schieberegister 588, Multiplizierern 590 und 592, Addierern 594 und 596, Registern 598 und 600 und einem Dividierer 602. In der Schaltung zur Korrelation sind die Berechnungen so, daß n von Lp bis 1 durchläuft, während m von (Lp – 17) – 1 bis –143 durchläuft.
  • Auf die Schaltung zur Korrelation folgt die Vergleichsschaltung, welche die Vergleiche durchführt und die Daten speichert, um den optimalen Wert der Pitch-Verzögerung L und Verstärkung b zu bestimmen. Die Vergleichsschaltung besteht aus einem Multiplizierer 604; einem Komparator 606; Registern 608, 610 und 612; und einem Quantisierer 614. Die Vergleichsschaltung gibt für jeden Pitch-Subrahmen die Werte für L und b aus, die den Fehler zwischen der synthetisierten Sprache und der Eingabesprache minimieren. Der Wert b wird durch Quantisierer 614 in acht Stufen quantisiert und durch einen 3-bit Wert repräsentiert, wobei eine zusätzliche Stufe, Stufe b = 0, gefolgert wird, wenn L = 16 ist. Diese Werte für L und b werden an das Subsystem 230 zur Codebook-Suche und einen Datenpuffer 222 geliefert. Diese Werte werden mittels des Subsystems 238 zum Packen der Daten oder des Datenpuffers 222 an den Decoder 234 zur Verwendung bei der Pitch-Suche geliefert. Wie die Pitch-Suche ist auch die Codebook-Suche ein Analyse-durch-Synthese Kodiersystem, in welchem eine Kodierung erfolgt, indem Parameter ausgewählt werden, die den Fehler zwischen der Eingabesprache und der unter Verwendung dieser Parameter synthetisierten Sprache minimieren. Für Rate 1/8 wird die Pitch-Verstärkung b auf Null gesetzt.
  • Wie vorstehend erörtert, werden jeweils 20 ms in eine Anzahl von Codebook-Subrahmen unterteilt, was wie vorstehend erörtert von der für den Rahmen ausgewählten Datenrate abhängig ist. Einmal pro Codebook-Subrahmen werden die Parameter G und I, entsprechend die Codebook-Verstärkung und der Codebook-Index, berechnet. Bei der Berechnung dieser Parameter werden die LSP Frequenzen für den Subrahmen interpoliert, außer bei Vollrate, in dem Subsystem 226 zur Codebook Subrahmen LSP Interpolation in einer Weise, die ähnlich zu der mit Bezug auf das Subsystem 216 zur Pitch Subrahmen LSP Interpolation beschriebenen ist. Die interpolierten LSP Frequenzen des Codebook-Subrahmens werden ebenfalls für jeden Codebook-Subrahmen durch das Subsystem 228 zur LSP zu LPC Transformation in LPC Koeffizienten konvertiert. Ein Zähler 232 für die Codebook-Subrahmen wird verwendet, um zu verfolgen, für welche Codebook-Subrahmen die Codebook-Parameter berechnet werden, wobei die Ausgabe des Zählers an das Subsystem 226 zur Codebook Subrahmen LSP Interpolation geliefert wird zur Verwendung bei der LSP Interpolation der Codebook-Subrahmen. Der Zähler 232 für die Codebook-Subrahmen liefert außerdem eine Ausgabe an den Zähler 224 für die Pitch-Subrahmen, welche die Vollendung des Codebook-Subrahmens für die gewählte Rate anzeigt.
  • Das Erregungs-Codebook (excitation codebook) besteht aus 2M Codevektoren, die aus einer weißen Gauß'schen Zufallssequenz mit Varianz Eins (unit- variant) konstruiert werden. Es gibt 128 Einträge in dem Codebook für M = 7. Das Codebook ist in einer rekursiven Art und Weise organisiert, so daß jeder Codevektor von dem benachbarten Codevektor in einem Abtastwert abweicht; das heißt, die Abtastwerte in einem Codevektor werden um eine Position verschoben, so daß ein neuer Abtastwert an einem Ende eingeschoben wird und ein Abtastwert an dem anderen verworfen wird. Aus diesem Grund kann ein rekursives Codebook als ein lineares Array gespeichert werden, welches 2M + (LC – 1) lang ist, wobei LC die Länge eines Codebook-Subrahmens ist. Allerdings wird, um die Implementierung zu vereinfachen und Speicherplatz zu sparen, ein umlaufendes Codebook (circular codebook) mit einer Länge von 2M Abtastwerten (128 Abtastwerten) verwendet.
  • Um die Berechnungen zu verringern, sind die Gauß'schen Werte in dem Codebook einem Mitten-Clipping (center clipping) unterworfen. Die Werte sind ursprünglich aus einem weißen Gauß'schen Prozeß mit Varianz 1 ausgewählt. Anschließend wird jeder Wert mit einem Betrag von kleiner als 1,2 auf Null gesetzt. Dieses setzt letztendlich ungefähr 75% der Werte auf Null, wodurch ein Codebook von Impulsen entsteht. Dieses Mitten-Clipping des Codebook reduziert die Anzahl der Multiplikationen, die benötigt werden, um die rekursive Faltung bei der Codebook-Suche auszuführen, um einen Faktor 4, da Multiplikationen mit Null nicht ausgeführt werden müssen. Das in der aktuellen Implementierung verwendete Codebook ist unten in Tabelle VII gegeben.
  • TABELLE VII
    Figure 00640001
  • Figure 00650001
  • Der Sprachkodierer verwendet ein wahrnehmungswichtendes Rauschfilter der in Gleichung (1) angegebenen Form, welches ein gewichtetes Synthesefilter der in Gleichung (3) angegebenen Form umfaßt. Für jeden Codebook-Index I wird die Sprache synthetisiert und mit der originalen Sprache verglichen. Der Fehler wird durch das wahrnehmungswichtende Filter gewichtet, bevor sein MSE berechnet wird.
  • Wie vorstehend festgestellt besteht das Ziel darin, den Fehler zwischen x(n) und x'(n) über alle möglichen Werte von I und G zu minimieren. Die Minimierung des Fehlers kann durch die folgende Gleichung ausgedrückt werden:
    Figure 00650002
    worin LC die Anzahl der Abtastwerte in dem Codebook-Subrahmen ist. Gleichung (38) kann mit Bezug auf G umgeschrieben werden, wobei:
    Figure 00650003
    worin y durch Faltung der Impulsantwort des Formantenfilters mit dem I-ten Codevektor abgeleitet wird, unter der Annahme, daß G = 1 gilt. Minimieren des MSE ist gleichbedeutend mit dem Maximieren von:
    Figure 00650004
    worin
    Figure 00650005
    und
  • Figure 00650006
  • Das Optimum für G für das gegebene I kann entsprechend der folgenden Gleichung gefunden werden:
  • Figure 00660001
  • Diese Suche wird für alle erlaubten Werte von I wiederholt. Im Gegensatz zur Pitch-Suche ist es möglich, daß die optimale Verstärkung G sowohl positiv als auch negativ sein kann. Schließlich werden der Index I und die Codebook-Verstärkung G, die E, maximieren, für die Übertragung ausgewählt.
  • Es sei wiederum darauf hingewiesen, daß x(n), die wahrnehmungsgewichtete Differenz zwischen der Eingabesprache und der ZIR des gewichteten Pitch- und des Formantenfilters, nur einmal berechnet zu werden braucht. Demgegenüber muß y(n), die Nullzustandsantwort des Pitch- und des Formantenfilters für jeden Codevektor, für jeden Index I berechnet werden. Da ein umlaufendes Codebook verwendet wird, kann die für die Pitch-Suche beschriebene Methode der rekursiven Faltung verwendet werden, um die erforderliche Berechnung zu minimieren.
  • Nochmals bezugnehmend auf 15, der Kodierer umfaßt ein Duplikat des Decoders aus 5, Decoder-Subsystem 235 aus 7, in welchem die Zustände der Filter berechnet werden, worin: Mp der Speicher des Pitch-Synthesefilters 550 ist; Ma ist der Speicher in dem Formanten-Synthesefilter 552; und Mw ist der Speicher in dem wahrnehmungsgewichtenden Filter 556.
  • Die Zustände Mp und Ma der Filter, entsprechend von dem Pitch-Synthese- und Formantenfilter 550 und 552 des Decoder-Subsystems (15) werden an das Subsystem 230 zur Codebook-Suche aus 7 geliefert. In 17 werden die Zustände Mp und Ma der Filter an das Nullimpulsantwort (ZIR) Filter 620 geliefert, welches die ZIR des Pitch- und des Formanten-Synthesefilters 550 und 552 berechnet. Die berechnete ZIR des Pitch- und des Formanten-Synthesefilters wird von den eingegebenen Abtastwerten s(n) der Eingabesprache im Addierer 622 subtrahiert, und das Ergebnis wird im wahrnehmungsgewichtenden Filter 624 gewichtet. Die Ausgabe vom wahrnehmungsgewichtenden Filter 564, xc(n), wird als gewichtete Eingabesprache in den obigen MSE Gleichungen (39)–(44) verwendet, wobei x(n) = xc(n).
  • 17, die Impulsantwort h(n) des Formantenfilters wird im Filter 626 berechnet und an das Schieberegister 628 ausgegeben. Die Impulsantwort h(n) des Formantenfilters wird für jeden Codebook-Subrahmen berechnet. Um die rechentechnischen Anforderungen weiter zu reduzieren, wird die Impulsantwort h(n) des Formantenfilters nach 20 Abtastwerten abgeschnitten.
  • Des Schieberegister 628 ist gemeinsam mit den Multiplizierer 630, dem Addierer 632 und dem Schieberegister 634 so konfiguriert, daß das Ausführen der rekursiven Faltung zwischen den Werten h(n) von Schieberegister 628 und den Werten c(m) vom Codebook 636, welches wie oben erörtert die Codebook Vektoren enthält, ermöglicht wird. Diese Faltungsoperation wird ausgeführt, um die Nullzustandsantwort (ZSR) des Formantenfilters auf jeden Codevektor zu finden, unter der Annahme, daß die Codebook-Verstärkung auf 1 gesetzt ist. Im Ablauf der Schaltung zur Faltung durchläuft n die Werte LC bis 1 für jedes m, während m die Werte von 1 bis 256 durchläuft. Daten im Register 586 werden nicht weitergeleitet, wenn n = 1, und Daten werden nicht gespeichert (not latched), wenn n = LC. Die Daten werden als eine Ausgabe der Schaltung zur Faltung geliefert, wenn m ≤ 1. Es sei festgestellt, daß die Schaltung zur Faltung initialisiert werden muß, um die rekursive Faltungsoperation durchzuführen, indem m Subrahmen-Größe Zyklen durchlaufen werden, bevor die Schaltung für Korrelation und Vergleich gestartet wird, die auf die Schaltung zur Faltung folgt.
  • Die Schaltung für Korrelation und Vergleich führt die eigentliche Codebook-Suche durch, um die Werte für den Codebook-Index I und die Codebook-Verstärkung G zu erhalten. Die Schaltung zur Korrelation, auch bezeichnet als die Schaltung für den mittleren quadratischen Fehler (MSE), berechnet die Autokorrelation und die Kreuzkorrelation der ZSR mit der wahrnehmungsge wichteten Differenz zwischen der ZIR des Pitch- und des Formantenfilters und der Eingabesprache x'(n). Mit anderen Worten ausgedrückt, die Schaltung zur Korrelation berechnet den Wert der Codebook-Verstärkung G für jeden Wert des Codebook-Index I. Die Schaltung zur Korrelation besteht aus einem Schieberegister 638, Multiplizierern 640 und 642, Addierern 644 und 646, Registern 648 und 650 und einem Dividierer 652. In der Schaltung zur Korrelation sind die Berechnungen so, daß n von LC bis 1 durchläuft, während m von 1 bis 256 durchläuft.
  • Auf die Schaltung zur Korrelation folgt die Vergleichsschaltung, welche die Vergleiche durchführt und die Daten speichert, um den optimalen Wert des Codebook-Index I und Verstärkung G zu bestimmen. Die Vergleichsschaltung besteht aus einem Multiplizierer 654; einem Komparator 656; Registern 658, 660 und 662; und einem Quantisierer 664. Die Vergleichsschaltung gibt für jeden Codebook-Subrahmen die Werte für I und G aus, die den Fehler zwischen der synthetisierten Sprache und der Eingabesprache minimieren. Die Codebook-Verstärkung G wird durch den Quantisierer 614 quantisiert, welcher die Werte während der Quantisierung DPCM kodiert in einer Weise, die ähnlich ist der Quantisierung und Kodierung der vom Bias-Wert befreiten LSP Frequenz, wie mit Bezug auf 12 beschrieben. Diese Werte für I und G werden an den Datenpuffer 222 geliefert.
  • Bei der Quantisierung und DPCM Kodierung der Codebook-Verstärkung G wird gemäß der folgenden Gleichung gerechnet: Quantisiertes Gi = 20logGi – 0,45(20logGi-1 + 20logGi-2) (45)worin 20 log Gi-1 und 20 log Gi-2 die jeweiligen Werte sind, berechnet entsprechenden für den unmittelbar vorhergehenden Rahmen (i – 1) und den Rahmen, der dem unmittelbar vorhergehenden Rahmen vorhergeht (i – 2).
  • Die Werte für LSP, I, G, L und b werden gemeinsam mit der Rate an das Subsystem 236 zum Packen der Daten geliefert, wo die Daten für die Übertragung arrangiert werden. In einer Implementierung können die Werte für LSP, I G, L und b gemeinsam mit der Rate an den Decoder 234 via Subsystem 236 zum Packen der Daten geliefert werden. In einer anderen Implementierung können die Werte via Datenpuffer 222 an den Decoder zur Verwendung bei der Pitch-Suche geliefert werden. In der folgenden Beschreibung wird allerdings eine Sicherung des Vorzeichenbits des Codebook innerhalb des Subsystems 236 zum Packen der Daten verwendet, die den Codebook-Index beeinflussen kann. Daher muß diese Sicherung beachtet werden, sollten die Daten für I und G direkt vom Datenpuffer 222 geliefert werden.
  • Im Subsystem 236 zum Packen der Daten können die Daten in Übereinstimmung mit verschiedenen Formaten für die Übertragung gepackt werden. 18 stellt das funktionale Element des Subsystems 236 zum Packen der Daten dar. Das Subsystem 236 zum Packen der Daten besteht aus einem Pseudorauschen-Generator (PN) 670, einem Berechnungselement 672 für die zyklische Redundanzprüfung bzw. Cyclic Redundancy Check (CRC), einer Datensicherungslogik 674 und einem Datenkombinierer 676. Der PN Generator 670 empfängt die Rate und erzeugt für Achtelrate eine 4 Bit Zufallszahl, die an den Datenkombinierer 676 geliefert wird. Das CRC Element 672 empfängt die Codebook-Verstärkung und die LSP Werte gemeinsam mit der Rate, und erzeugt für Vollrate einen internen 11 Bit CRC Code, der an den Datenkombinierer 676 geliefert wird.
  • Der Datenkombinierer 676 empfängt die Zufallszahl; CRC Code; und gemeinsam mit der Rate und den Werten für LSP, I, G, L und b vom Datenpuffer 222 (7b) wird eine Ausgabe an das Subsystem 234 des Datenprozessors des Übertragungskanals geliefert. In der Implementierung, bei der die Daten direkt vom Datenpuffer 222 an den Decoder 234 geliefert werden, wird zumindest die 4 Bit Zahl des PN Generators vom PN Generator 670 via Datenkombinierer 676 an den Decoder 234 geliefert. Bei Vollrate werden die CRC Bits gemeinsam mit den Daten des Rahmen als Ausgabe vom Datenkombinierer 676 geliefert, wohingegen bei Achtelrate der Wert für den Codebook-Index verworfen und durch die 4 Bit Zufallszahl ersetzt wird.
  • Es wird bevorzugt, daß eine Sicherung für das Vorzeichenbit der Codebook-Verstärkung vorgesehen ist. Diese Sicherung dient dazu, daß der Decoder des Vocoders weniger empfindlich gegenüber einem einzelnen Bitfehler in diesem Bit ist. Falls das Vorzeichenbit aufgrund eines unerkannten Fehlers geändert wäre, würde der Codebook-Index auf einen mit dem Optimum nicht in Beziehung stehenden Wert zeigen. In der Fehlersituation ohne Sicherung würde das Negative des optimalen Vektors ausgewählt werden, ein Vektor, der im Grundsatz der ungünstigste aller verwendbaren Vektoren ist. Das hierin verwendete Sicherungsschema stellt sicher, daß ein einzelner Bitfehler im Vorzeichenbit der Verstärkung nicht das Auswählen des Negativen des optimalen Vektors in der Fehlersituation verursacht. Die Datensicherungslogik 674 empfängt den Codebook-Index und die Codebook-Verstärkung und untersucht das Vorzeichenbit des Wertes der Verstärkung. Falls das Vorzeichenbit des Wertes der Verstärkung als negativ bestimmt wird, wird der Wert 89 zum assoziierten Codebook-Index addiert, mod 128. Der Codebook-Index, gleichgültig ob modifiziert oder nicht, wird von der Datensicherungslogik 674 an den Datenkombinierer 676 ausgegeben.
  • Es wird bevorzugt, daß bei Vollrate die am meisten wahrnehmungssensitiven Bits des komprimierten Sprachpakets geschützt werden, wie z.B. durch einen internen CRC (Cyclic Redundancy Check, zyklische Redundanzprüfung). Elf zusätzliche Bits werden verwendet, um diese Funktion zur Fehlererkennung und Fehlerkorrektur auszuführen, welche in der Lage ist, jeden einzelnen Fehler im geschützten Block zu korrigieren. Der geschützte Block besteht aus den signifikantesten Bits der 10 LSP Frequenzen und dem signifikantesten Bit der 8 Werte der Codebook-Verstärkung. Falls ein nichtkorrigierbarer Fehler in diesem Block auftritt, wird das Paket verworfen und eine Löschung, später beschrieben, wird deklariert. Anderenfalls wird die Pitch-Verstärkung auf 0 gesetzt, aber der Rest der Parameter wird verwendet wie empfangenEin zyklischer Code ausgewählt, der folgendes Generatorpolynom aufweist: g(x) = 1 + x3 + x5 + x6 + x8 + x9 + x10 (46) welches einen (31,21) zyklischen Code liefert. Es sei allerdings darauf hingewiesen, daß andere Generatorpolynome verwendet werden können. Eine allumfassendes Paritätsbit wird hinzugefügt, um daraus einen (32,21) Code zu erzeugen. Da es nur 18 Informationsbits gibt, werden die ersten drei Stellen im Codewort auf Null gesetzt und nicht übertragen. Diese Methode liefert eine zusätzliche Sicherung dahingehend, daß es einen nichtkorrigierbaren Fehler bedeutet, falls das Syndrom einen Fehler in diesen Positionen anzeigt. Die Kodierung eines zyklischen Codes in systematischer Form umfaßt die Berechnung von Paritätsbits als x10 u(x) modulo g(x), worin u(x) das Nachrichtenpolynom ist.
  • Auf der Seite des Decoders wird das Syndrom als der Rest der Division des empfangenen Vektors durch g(x) berechnet. Falls das Syndrom keinen Fehler anzeigt, wird das Paket unabhängig vom Zustand des allumfassenden Paritätsbits akzeptiert. Falls das Syndrom einen einzelnen Fehler anzeigt, wird der Fehler korrigiert, falls der Zustand des allumfassenden Paritätsbits nicht gesetzt ist. Falls das Syndrom mehr als einen Fehler anzeigt, wird das Paket verworfen. Weitere Details für ein solches System zur Fehlerkorrektur können dem Abschnitt 4.5 aus "Error Control coding: Fundamentals and Applications" von Lin und Costello für Details der Berechnung des Syndroms entnommen werden.
  • In einer Implementierung eines CDMA zellularen Telefonsystems werden die Daten vom Datenkombinierer 674 an das Subsystem 238 des Datenprozessors des Übertragungskanals zum Packen der Daten zur Übertragung in Datenübertragungsrahmen von 20 ms Länge geliefert. In einem Übertragungsrahmen, in welchem der Vocoder auf Vollrate gesetzt ist, werden 192 Bits für eine effektive Bitrate von 9,6 kbps übertragen. Der Übertragungsrahmen besteht in diesem Fall aus einem gemischter Modus Bit, welches verwendet wird, um einen Rahmen vom gemischten Typ anzuzeigen (0 = nur Sprache, 1 = Sprache und Daten/Signalisierung); 160 Datenbits des Vocoders gemeinsam mit 11 internen CRC Bits; 12 externe oder Rahmen CRC Bits; und 8 Tail- oder Flushbits. Bei Halbrate werden 80 Datenbits des Vocoders gemeinsam mit 8 Rahmen CRC Bits übertragen, und 8 Tailbits für eine effektive Bitrate von 4,8 kbps. Bei Viertelrate werden 40 Datenbits des Vocoders gemeinsam mit 8 Tailbits für eine effektive Bitrate von 2,4 kbps übertragen. Schließlich werden bei Achtelrate 16 Datenbits des Vocoders gemeinsam mit 8 Tailbits für eine effektive Datenrate von 1,2 kbps übertragen.
  • Weitere Details über die Modulation, die in einem CDMA System verwendet wird, in welchem der Vocoder der vorliegenden Erfindung anzuwenden ist, sind in der parallel anhängigen US Patenanmeldung Nr. 07/543,496, eingereicht am 25. Juni 1990 unter dem Titel "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM" offenbart, die dem Rechtsnachfolger der vorliegenden Erfindung zugewiesen ist. In diesem System wird bei von der Vollrate verschiedenen Raten ein Schema verwendet, bei welchem die Datenbits in Gruppen organisiert werden, wobei die Bitgruppen pseudo-zufällig innerhalb des Datenübertragungsrahmens von 20 ms positioniert werden. Es ist selbstverständlich, daß andere Rahmenraten und Bitrepräsentationen ohne weiteres verwendet werden können anstelle jener, die zu Illustrationszwecken hierin bezüglich des Vocoders und der Implementierung des CDMA Systems präsentiert sind, so daß andere Implementierungen für den Vocoder und andere Anwendungen des Systems vorhanden sind.
  • In dem CDMA System, und ebenfalls anwendbar für andere Systeme, kann das Subsystem 238 des Prozessors auf Rahmenbasis die Übertragung der Daten des Vocoders unterbrechen, um andere Daten, wie beispielsweise Signalisierungsdaten oder andere Informationsdaten, die nicht Sprache sind, zu übertragen. Dieser bestimmte Typ der Übertragungssituation wird als "blank and burst" bezeichnet. Das Subsystem 238 des Prozessors ersetzt hauptsächlich die Daten des Vocoders mit den gewünschten Übertragungsdaten für den Rahmen.
  • Eine weitere Situation kann auftreten, wenn der Wunsch besteht, sowohl Daten des Vocoders als auch andere Daten währen des gleichen Datenübertragungsrahmens zu übertragen. Dieser bestimmte Typ der Übertragungssituation wird als "dim and burst" bezeichnet. Während einer "dim and burst" Übertragung wird der Vocoder mit Rate beschränkende Kommandos (rate bound commands) beliefert, welche die endgültige Rate des Vocoders auf die gewünschte Rate setzen, wie beispielsweise Halbrate. Die mit Halbrate kodierten Daten des Vocoders werden an das Subsystem 238 des Prozessors geliefert, welcher zusätzliche Daten gemeinsam mit den Daten des Vocoders in den Datenübertragungsrahmen einfügt.
  • Eine zusätzliche Funktion, die für Vollduplex-Telefonverbindungen vorgesehen ist, ist eine Ratensperre bzw. Ratenverriegelung (rate interlock). Falls eine Richtung der Verbindung mit der höchsten Übertragungsrate überträgt, wird die andere Richtung der Verbindung gezwungen, mit der niedrigsten Rate zu übertragen. Selbst bei der niedrigsten Rate ist genug Erkennbarkeit dafür gewährleistet, daß der aktive Sprecher bemerkt, daß er unterbrochen wurde und aufhört zu sprechen, womit der anderen Richtung der Verbindung ermöglicht wird, die Rolle des aktiven Sprechers einzunehmen. Darüber hinaus, falls der aktive Sprecher über eine versuchte Unterbrechung hinweg weiterhin spricht, wird er wahrscheinlich keine Verschlechterung der Qualität wahrnehmen, da seine eigene Sprache die Möglichkeit, Qualität wahrzunehmen, "blockiert". Wiederum unter Verwendung der Rate beschränkenden Kommandos kann der Vocoder so eingestellt werden, daß die Sprache mit einer niedrigeren als der normalen Rate kodiert wird.
  • Es ist selbstverständlich, daß die Rate beschränkenden Kommandos verwendet werden können, um die maximaler Rate des Vocoders auf eine geringere als die Vollrate zu setzen, wenn zusätzliche Kapazität in den CDMA System benötigt wird. In einem CDMA System, in welchem ein gemeinsames Frequenzspektrum für die Übertragung benutzt wird, erscheint das Signal eines Nutzers als Interferenz für die anderen Nutzer in dem System. Die Kapazität des Systems hinsichtlich der Nutzer wird Daher durch die gesamte Interfe renz, die durch Nutzer des Systems verursacht wird, begrenzt. Mit der Zunahme des Grades an Interferenz, normalerweise aufgrund einer Zunahme an Nutzern innerhalb des Systems, wird von den Nutzern eine Verschlechterung der Qualität aufgrund der zunehmenden Interferenz wahrgenommen.
  • Der Beitrag eines jeden Nutzers zur Interferenz in den CDMA System ist eine Funktion der Datenübertragungsrate des Nutzers. Indem ein Vocoder eingestellt wird, Sprache mit einer niedrigeren als der normale Rate zu kodieren, werden die kodierten Daten dann mit der entsprechenden reduzierten Datenübertragungsrate übertragen, was den Grad an Interferenz reduziert, der durch diesen Nutzer verursacht wird. Daher kann die Systemkapazität grundlegend erhöht werden, indem die Sprache durch den Vocoder mit einer geringeren Rate kodiert wird. Beim Ansteigen des Bedarfs in dem System kann den Vocodern der Nutzer durch die Steuerung des Systems oder die Basisstation der Zelle ein Kommando erteilt werden, die Kodierrate zu verringern. Der Vocoder ng ist von einer solchen Qualität, daß nur ein geringer, wenn auch vorhandener, wahrnehmbarer Unterschied zwischen der mit Vollrate und der mit Halbrate kodierten Sprache existiert. Aus diesem Grund sind die Auswirkungen auf die Qualität der Kommunikation zwischen Nutzern des Systems, bei der die Sprache durch den Vocoder mit einer geringeren Rate kodiert wird, beispielsweise mit Halbrate, weniger signifikant als die Auswirkungen, die hervorgerufen werden durch einen erhöhten Grad an Interferenz, der von einer erhöhten Anzahl an Nutzern im System herrührt.
  • Verschiedene Schemata können daher angewendet werden, um individuelle Begrenzungen der Rate der Vocoder für Kodierraten des Vocoders, die niedriger als normal sind, einzustellen. Beispielsweise kann allen Nutzern in einer Zelle das Kommando erteilt werden, Sprache mit Halbrate zu kodieren. Dieses Vorgehen reduziert die Interferenz in Systemen grundlegend, mit geringen Auswirkungen auf die Qualität der Kommunikation zwischen den Nutzern, während es eine grundlegende Erhöhung der Kapazität für zusätzliche Nutzer vorsieht. Bis die gesamte Interferenz in dem System durch die zusätzlichen Nutzer zu einem Grad an Verschlechterung erhöht wurde, gibt es keine Auswirkungen auf die Qualität der Kommunikation zwischen den Nutzern.
  • Wie zuvor erwähnt enthält der Kodierer eine Kopie des Decoders, um das Analyse-durch-Synthese Verfahren beim Kodieren der Rahmen von Sprach-Abtastwerten auszuführen. Wie in 7 dargestellt, empfängt der Decoder 234 die Werte L, B, I und I entweder über das Subsystem 238 zum Packen der Daten oder den Datenpuffer 222 zum Rekonstruieren der synthetisierten Sprache zum Vergleich mit der Eingabesprache. Die Ausgaben des Decoders sind die Werte Mp, Ma und Mw, wie zuvor erörtert. Weitere Details zum Decoder 234, wie im Kodierer und zum Rekonstruieren der synthetisierten Sprache am anderen Ende des Übertragungskanals verwendet, können gemeinsam mit Bezug auf die 1924 erläutert werden.
  • 19 ist ein Flußdiagramm für eine beispielhafte Implementierung des Decoders der vorliegenden Erfindung. Aufgrund einer gemeinsamen Struktur des Decoders, wie dieser innerhalb des Kodierers und beim Empfänger implementiert ist, werden diese Implementierungen gemeinsam erläutert. Die Erläuterungen mit Bezug auf 19 betreffen primär den Decoder am Ende des Übertragungskanals, da die dort empfangenen Daten in dem Decoder vorverarbeitet werden müssen, wohingegen im Decoder des Kodierers die geeigneten Daten (Rate, I, G, L und b) direkt vom Subsystem 238 zum Packen der Daten oder vom Datenpuffer 222 empfangen werden. Die Basisfunktion des Decoders ist allerdings die gleiche für die Implementierungen in Kodierer und Decoder.
  • Wie mit Bezug auf 5 erläutert, wird für jeden Codebook-Subrahmen der durch den Codebook-Index I spezifizierte Codebook-Vektor aus dem gespeicherten Codebook entnommen. Der Vektor wird mit der Codebook-Verstärkung G multipliziert und dann für jeden Pitch-Subrahmen mittels des Pitch-Filters gefiltert, um den Formanten-Rest zu erhalten. Dieser Formanten-Rest wird durch das Formanten-Filter gefiltert und anschließend durch das adaptive Formanten-Post-Filter und ein Helligkeits-Post-Filter geleitet, ge meinsam mit einer automatischen Verstärkungssteuerung (automatic gain control = AGC), um das Ausgabe-Sprachsignal zu erzeugen.
  • Obgleich die Länge des Codebook-Subrahmens und des Pitch-Subrahmens variiert, Erfolg das Dekodieren in Blöcken von je 40 Abtastwert, um die Implementierung zu vereinfachen. Die empfangenen, komprimierten Daten werden zunächst in Codebook-Verstärkungen, Codebook-Indizes, Pitch-Verstärkungen, Pitch-Verzögerungen und LSP Frequenzen entpackt. Die LSP Frequenzen müssen durch ihre entsprechenden inversen Quantisierer und DPCM Decoder verarbeitet werden, wie mit Bezug auf 22 erläutert. Gleichermaßen müssen die Werte der Codebook-Verstärkungen in einer ähnlichen Art und Weise wie die LSP Frequenzen verarbeitet werden, allerdings ohne den Bias-Wert-Aspekt. Auch die Werte der Pitch-Verstärkungen werden invers quantisiert. Diese Parameter werden dann für jeden Subrahmen des Decoders geliefert. In jedem Subrahmen des Decoders werden 2 Sätze Codebook-Parameter (G & I), 1 Satz Pitch-Parameter (b & L) und 1 Satz LPC Koeffiziente benötigt, um 40 Ausgabe-Abtastwerte zu generieren. 20 und 21 stellen beispielhafte Parameter für Subrahmen des Decoders für verschiedene Raten und andere Konditionen der Rahmen dar.
  • Für Rahmen bei Vollrate gibt es 8 Sätze empfangener Codebook-Parameter und 4 Sätze empfangener Pitch-Parameter. Die LSP Frequenzen werden vierfach interpoliert, um 4 Sätze von LSP Frequenzen zu erhalten. Die empfangenen Parameter und die korrespondierenden Informationen der Subrahmen sind in 20a aufgelistet.
  • Für Rahmen bei Halbrate wird jeder Satz der vier empfangenen Codebook-Parameter einmal wiederholt, und jeder Satz der zwei empfangenen Pitch-Parameter wird einmal wiederholt. Die LSP Frequenzen werden dreifach interpoliert, um 4 Sätze von LSP Frequenzen zu erhalten. Die empfangenen Parameter und die korrespondierenden Informationen der Subrahmen sind in 20b aufgelistet.
  • Für Rahmen bei Viertelrate wird jeder Satz der zwei empfangenen Codebook-Parameter viermal wiederholt, und der Satz Pitch-Parameter wird ebenfalls viermal wiederholt. Die LSP Frequenzen werden einfach interpoliert, um 2 Sätze von LSP Frequenzen zu erhalten. Die empfangenen Parameter und die korrespondierenden Informationen der Subrahmen sind in 20c aufgelistet.
  • Für Rahmen bei Achtelrate wird der Satz der empfangenen Codebook-Parameter für den gesamten Rahmen benutzt. Pitch-Parameter sind für Rahmen bei Achtelrate nicht vorhanden, und die Pitch-Verstärkung ist einfach auf Null gesetzt. Die LSP Frequenzen werden einfach interpoliert, um 1 Satz von LSP Frequenzen zu erhalten. Die empfangenen Parameter und die korrespondierenden Informationen der Subrahmen sind in 20d aufgelistet.
  • Mitunter können Sprachpakete ausgeblendet sein, damit die CDMA Zelle oder die mobile Station Signalisierungsinformationen übertragen können. Wenn der Vocoder einen ausgeblendeten Rahmen empfängt, fährt er mit einer leichten Modifikation der Parameter des vorhergehenden Rahmens fort. Die Codebook-Verstärkungen wird auf Null gesetzt. Die Pitch-Verzögerung und Pitch-Verstärkung des vorhergehenden Rahmens werden als die Pitch-Verzögerung und die Pitch-Verstärkung des aktuellen Rahmens verwendet, lediglich die Verstärkung wird auf eins oder weniger begrenzt. Die LSP Frequenzen des vorhergehenden Rahmens werden verwendet, wie sie vorliegen, ohne Interpolation. Man beachte, daß das kodierende Ende und das dekodierende Ende noch immer synchronisiert sind und daß der Vocoder in der Lage ist, sich von einem ausgeblendeten Rahmen sehr schnell zu erholen. Die empfangenen Parameter und die korrespondierenden Informationen der Subrahmen sind in 21a aufgelistet.
  • Für den Fall, daß ein Rahmen aufgrund eines Kanalfehlers verlorengegangen ist, versucht der Vocoder, diesen Fehler zu Maskieren, indem ein Bruchteil der Energie des vorhergehenden Rahmens erhalten bleibt und ein sanfter Übergang zum Hintergrundrauschen erfolgt. In diesem Fall wird die Pitch- Verstärkung auf Null gesetzt; ein zufälliges Codebook wird ausgewählt, indem der Codebook-Index des vorhergehenden Subrahmens plus 89 verwendet wird; die Codebook-Verstärkung ist 0,7 mal die Codebook-Verstärkung des vorhergehenden Subrahmens. Es sei darauf hingewiesen, daß mit der Zahl 89 keine Magie verbunden ist, sondern es ist lediglich ein bequemer Weg, einen pseudo-zufälligen Codebook-Vektor auszuwählen. Die LSP Frequenzen des vorhergehenden Subrahmens werden gezwungen, auf ihre Bias-Werte zurück zu gehen, da: ωi = 0,9(vorhergehendes ωi – Bias-Wert von ωi) + Bias-Wert von ωi (47)
  • Die Bias-Werte der LSP Frequenzen sind in Tabelle 5 dargestellt. Die empfangenen Parameter und die korrespondierenden Informationen der Subrahmen sind in 21b aufgelistet.
  • Falls die Rate beim Empfänger nicht bestimmt werden kann, wird das Paket verworfen und eine Löschung wird deklariert. Falls jedoch der Empfänger feststellt, daß eine starke Wahrscheinlichkeit existiert, daß der Rahmen mit Vollrate übertragen wurde, wenn auch fehlerbehaftet, wird das folgende ausgeführt. Wie zuvor erläutert werden bei Vollrate die am meisten wahrnehmungssensitiven Bits des komprimierten Sprachpakets durch eine interne CRC geschützt. Am dekodierenden Ende wird das Syndrom als der Rest der Division des empfangenen Vektors durch g(x) aus Gleichung (46) berechnet. Falls das Syndrom keinen Fehler anzeigt, wird das Paket unabhängig vom Zustand des allumfassenden Paritätsbits akzeptiert. Falls das Syndrom einen einzelnen Fehler anzeigt, wird der Fehler korrigiert, falls der Zustand des allumfassenden Paritätsbits nicht gesetzt ist. Falls das Syndrom mehr als einen Fehler anzeigt, wird das Paket verworfen. Falls in diesem Block ein nicht korrigierbarer Fehler auftritt, wird das Paket verworfen und eine Löschung deklariert. Andernfalls wird die Pitch-Verstärkung auf Null gesetzt und der Rest der Parameter wird verwendet, wie diese empfangen wurden, mit Korrekturen, wie in 21c dargestellt.
  • Die in dieser Implementierung verwendeten Post-Filter wurden zuerst in "Real-Time Vector APC Speech Coding At 4800 BPS with Adaptive postfiltering" durch J. H. Chen et al., Proc. ICASSP 1987 beschrieben. Da Formanten der Sprache für die Wahrnehmung wichtiger sind als spektrale Täler, verstärkt das Post-Filter die Formanten leicht, um die wahrgenommene Qualität der kodierten Sprache zu verbessern. Dies erfolgt, indem die Pole des Formanten-Synthesefilters radial in Richtung des Ursprungs skaliert werden. Allerdings erzeugt ein Allpol-Post-Filter im allgemeinen eine spektrale Schieflage, die eine Dämpfung der gefilterten Sprache nach sich zieht. Die spektrale Schieflage dieses Allpol-Post-Filters wird durch das Hinzufügen von Nullstellen reduziert, welche die gleichen Phasenwinkel wie die Pole, aber geringere Radien haben, was ein Post-Filter der folgenden Form ergibt:
    Figure 00790001
    worin A(z) das Formanten-Vorhersagefilter ist und die Werte ρ und σ sind die Post-Filter Skalierungsfaktoren, wobei ρ auf 0,5 gesetzt ist und σ ist auf 0,8 gesetzt.
  • Ein adaptives Helligkeits-Filter wird hinzugefügt, um die durch das Formanten-Post-Filter hinzugefügte spektrale Schieflage weiter zu kompensieren. Das Helligkeits-Filter ist von folgender Form:
    Figure 00790002
    worin der Wert von κ (der Koeffizient dieses Filters mit einem Verzögerungsglied) durch den Durchschnittswert der LSP Frequenzen bestimmt wird, welcher die Veränderung der spektralen Schieflage durch A(z) annähert.
  • Um jede große Abweichung der Verstärkung resultierend aus dem Post-Filtern zu vermeiden, wird eine AGC Schleife implementiert, um die Sprachausgabe zu skalieren, so daß diese ungefähr die gleiche Energie hat wie die nicht-post-gefilterte Sprache. Die Verstärkungssteuerung wird erreicht, indem die Sum me der Quadrate der 40 Eingabe-Abtastwerte des Filters durch die Summe der Quadrate der 40 Ausgabe-Abtastwerte des Filters dividiert wird, um die inverse Verstärkung des Filters zu erhalten. Die Quadratwurzel dieses Verstärkungsfaktors wird dann geglättet: Geglättetes β = 0,2 aktuelles β + 0,98 vorhergehendes β (50)und dann wird die Ausgabe des Filters mit dieser geglätteten inversen Verstärkung multipliziert, um die Ausgabesprache zu erzeugen.
  • In 19 werden die Daten von dem Kanal gemeinsam mit der Rate, entweder gemeinsam mit den Daten übertragen oder auf andere Weise abgeleitet, an das Subsystem 700 zum Entpacken der Daten geleitet. In einer beispielhaften Implementierung für ein CDMA System kann eine Entscheidung zur Rate aus der Fehlerrate abgeleitet werden, die sich einstellt, wenn die empfangenen Daten mit jeder der verschiedenen Raten dekodiert werden. Im Subsystem 700 zum Entpacken der Daten wird bei Vollrate eine Prüfung der CRC auf Fehler vorgenommen, wobei das Ergebnis dieser Prüfung an das Subsystem 702 zum Entpacken der Subrahmen-Daten geliefert wird. Subsystem 700 liefert eine Indikation für abnormale Rahmenbedingungen wie z.B. ausgeblendeter Rahmen (blank frame), gelöschter Rahmen oder fehlerhafter Rahmen gemeinsam mit verwendbaren Daten an das Subsystem 702. Subsystem 700 liefert die Rate gemeinsam mit den Parametern I, G, L und b für den Rahmen an das Subsystem 702. Beim Liefern der Werte für den Codebook-Index I und die Verstärkung G wird das Vorzeichenbit des Wertes der Verstärkung im Subsystem 702 überprüft. Falls das Vorzeichenbit negativ ist, wird von dem assoziierten Codebook-Index der Wert 89 subtrahiert, modulo 128. Weiterhin wird im Subsystem die Codebook-Verstärkung invers quantisiert und DPCM dekodiert, und die Pitch-Verstärkung wird invers quantisiert.
  • Subsystem 700 liefert außerdem die Rate und die LSP Frequenzen an das Subsystem 704 zur inversen LSP Quantisierung/Interpolation. Subsystem 700 liefert außerdem eine Indikation eines ausgeblendeten Rahmens, eines ge löschten Rahmens oder eines fehlerhaften Rahmens gemeinsam mit verwendbaren Daten an das Subsystem 704. Der Zähler 706 der zu dekodierenden Subrahmen liefert eine Indikation des Subrahmen-Zählwerts i und j sowohl an Subsystem 702 als auch an Subsystem 704.
  • In Subsystem 704 werden die LSP Frequenzen invers quantisiert und interpoliert. 22 illustriert eine Implementierung des Teils zur inversen Quantisierung des Subsystem 704, wohingegen der Teil zur Interpolation im Grunde identisch zu dem mit Bezug auf 12 beschriebenen ist. In 22 besteht der Teil zur inversen Quantisierung des Subsystems 704 aus dem inversen Quantisierer 750, welcher identisch zu dem des inversen Quantisierers 468 aus 12 konstruiert ist und in einer ähnlichen Weise funktioniert. Die Ausgabe des inversen Quantisierers 750 wird als eine Eingabe an den Addierer 752 geliefert. Die andere Eingabe des Addierers 752 wird als die Ausgabe des Multiplizierers 754 geliefert. Die Ausgabe des Addierers 752 wird an ein Register 756 geliefert, wo sie gespeichert wird und zur Multiplikation mit der Konstante 0,9 im Multiplizierer 754 ausgegeben wird. Die Ausgabe vom Addierer 752 wird außerdem an den Addierer 758 geliefert, wo der Bias-Wert zurück in die LSP Frequenz addiert wird. Die Reihenfolge der LSP Frequenzen wird durch die Logik 760 sichergestellt, welche dafür sorgt, daß die LSP Frequenzen minimale Separation aufweisen. Generell tritt das Erfordernis, die Separation zu erzwingen, nicht auf, es sei denn, in der Übertragung tritt ein Fehler auf. Die LSP Frequenzen werden interpoliert, wie mit Bezug auf 13 und mit Bezug auf die 20a20d und 21a21c erläutert.
  • Mit Bezug auf 19, ein Speicher 708 ist mit dem Subsystem 704 gekoppelt, um die LSP des vorhergehenden Rahmens, ωi,f-1, zu speichern, und kann ebenfalls verwendet werden, um die Bias-Werte bωi zu speichern. Diese Werte des vorhergehenden Rahmens werden bei der Interpolation für alle Raten verwendet. Für Konditionen von Ausblenden, Löschung oder fehlerhaftem Rahmen mit verwendbaren Daten werden die vorhergehenden LSP ωi,f-1 in Übereinstimmung mit der Tabelle in den 21a21c verwendet. Ansprechend auf die Indikation eines ausgeblendeten Rahmens vom Subsystem 700 liest das Subsystem 704 die LSP Frequenzen des vorhergehenden Rahmens, gespeichert im Speicher 708, zur Verwendung im aktuellen Rahmen. Ansprechend auf die Indikation eines gelöschten Rahmens liest das Subsystem 704 wiederum die LSP Frequenzen des vorhergehenden Rahmens aus dem Speicher 708, gemeinsam mit den Bias-Werten, um die LSP Frequenzen des aktuellen Rahmens wie oben erläutert zu berechnen. Beim Ausführen dieser Berechnung wird der gespeicherte Bias-Wert von der LSP Frequenz des vorhergehenden Rahmens in einem Addierer subtrahiert, wobei das Ergebnis in einem Multiplizierer mit einem konstanten Wert von 0,9 multipliziert wird, und wobei dieses Ergebnis in einem Addierer zu dem gespeicherten Bias-Wert addiert wird. Ansprechend auf eine Indikation eines fehlerhaften Rahmens mit verwendbaren Daten werden die LSP Frequenzen interpoliert, wie dies der Fall für Vollrate war, falls der CRC bestanden wird.
  • Die LSP werden an das Subsystem 710 zur LSP zu LPC Transformation geliefert, wo die LSP Frequenzen zurück in LPC Werte konvertiert werden. Das Subsystem 710 ist im Grunde identisch zu den Subsystemen 218 und 228 aus 7 zur LSP zu LPC Transformation, und wie mit Bezug auf 13 beschrieben. Die LPC Koeffizienten αi werden dann sowohl an das Formantenfilter 714 und an das Formanten-Post-Filter 716 geliefert. Die LSP Frequenzen werden außerdem im Subsystem 712 für den LSP Durchschnitt über den Subrahmen gemittelt und an das adaptive Helligkeits-Filters 718 als der Wert κ geliefert.
  • Das Subsystem 702 empfängt die Parameter I, G, L und b für den Rahmen vom Subsystem 700 gemeinsam mit der Rate oder der Indikation einer abnormalen Rahmen-Kondition. Subsystem 702 empfängt außerdem vom Subrahmen-Zähler 706 die Zählungen für j für jede Zählung von i in jedem zu dekodierenden Subrahmen 1–4. Subsystem 702 ist außerdem mit dem Speicher 720 gekoppelt, welcher die Werte für G, I, L und b des vorhergehenden Rahmens zur Verwendung bei abnormalen Rahmen-Konditionen speichert. Subsystem 702 liefert unter normalen Rahmen-Konditionen, außer bei Achtelrate, den Wert Ij des Codebook-Index an das Codebook 722; den Wert Gj der Codebook-Verstärkung an den Multiplizierer 724; und die Werte der Pitch-Verzögerung L und Verstärkung b an das Pitch-Filter 726 in Übereinstimmung mit 20a20d. Da für Achtelrate kein Wert für den Codebook-Index gesendet wird, wird eine Paket-Initialisierung (packet seed), welche der 16 Bit Parameterwert (2d) für Achtelrate ist, an das Codebook 722 gemeinsam mit der Ratenindikation geliefert. Für abnormale Rahmen-Konditionen werden die Werte vom Subsystem 702 in Übereinstimmung mit den 21a21c geliefert. Darüber hinaus wird für Achtelrate eine Indikation an das Codebook 722 geliefert, wie dies in Zusammenhang mit 23 erläutert wird.
  • Ansprechend auf eine Indikation eines ausgeblendeten Rahmens vom Subsystem 700 liest das Subsystem 702 die Werte für die Pitch-Verzögerung L und Verstärkung b des vorhergehenden Rahmens, außer wenn die Verstärkung auf eins oder weniger begrenzt ist, die im Speicher 708 gespeichert sind, zur Verwendung mit den zu dekodierenden Subrahmen des aktuellen Rahmens. Darüber hinaus wird kein Codebook-Index I geliefert, und die Codebook-Verstärkung G wird auf Null gesetzt. Ansprechend auf eine Indikation eines gelöschten Rahmens liest das Subsystem 702 wiederum den Codebook-Index des Subrahmens des vorhergehenden Rahmens aus dem Speicher 720 und addiert in einem Addierer den Wert von 89. Die Codebook-Verstärkung des Subrahmens des vorhergehenden Rahmens wird in einem Multiplizierer mit einer Konstante 0,7 multipliziert, um die entsprechenden Werte G des Subrahmens zu erzeugen. Kein Wert für die Pitch-Verzögerung wird geliefert, wohingegen die Pitch-Verstärkung auf Null gesetzt wird. Ansprechend auf eine Indikation eines fehlerhaften Rahmens mit verwendbaren Daten werden der Codebook-Index und die Codebook-Verstärkung wie bei einem Rahmen bei Vollrate verwendet, vorausgesetzt der CRC wird bestanden, wobei kein Wert für die Pitch-Verzögerung geliefert wird und die Pitch-Verstärkung auf Null gesetzt ist.
  • Wie mit Bezug auf den Decoder des Kodierers beim Analyse-durch-Synthese Verfahren erörtert, wird der Codebook-Index I als die anfängliche Adresse für den Codebook-Wert zur Ausgabe an den Multiplizierer 724 verwendet. Der Wert der Codebook-Verstärkung wird im Multiplizierer 724 mit dem Ausgabewert vom Codebook 722 multipliziert, wobei das Ergebnis an das Pitch-Filter 726 geliefert wird. Das Pitch-Filter 726 verwendet die eingegebenen Werte der Pitch-Verzögerung L und Verstärkung b, um den Formanten-Rest zu erzeugen, welcher an das Formantenfilter 714 ausgegeben wird. In Formantenfilter 714 werden die LPC Koeffizienten verwendet, um den Formanten-Rest zu filtern, um schließlich die Sprache zu rekonstruieren. Im Decoder des Empfängers wird die rekonstruierte Sprache ferner durch ein Formanten-Post-Filter 716 und ein adaptives Helligkeits-Filter 718 gefiltert. Eine AGC Schleife 728 wird an der Ausgabe des Formantenfilters 714 und des Formanten-Post-Filters 716 verwendet, wobei deren Ausgabe im Multiplizierer 730 mit der Ausgabe des adaptiven Helligkeits-Filters 718 multipliziert wird. Die Ausgabe des Multiplizierers 730 ist die rekonstruierte Sprache, welche dann unter Verwendung bekannter Verfahren in analoge Form konvertiert und den Zuhörer präsentiert wird. Im Decoder des Kodierers wird das wahrnehmungswichtende Filter an die Ausgabe plaziert, um dessen Speicher zu aktualisieren.
  • Mit Bezug auf 22 werden weitere Details der Implementierung des Decoders selbst dargestellt. In 22 besteht das Codebook 722 aus einem Speicher 750, ähnlich dem, der mit Bezug auf 17 beschrieben wurde. Allerdings wird zu Zwecken der Erklärung ein leicht abweichender Ansatz für den Speicher 750 und dessen Adressierung in 22 dargestellt. Codebook 722 besteht ferner aus einem Schalter 752, einem Multiplexer 753 und einem Pseudo-Zufallszahlengenerator (PN Generator) 754. Der Schalter 752 spricht auf dem Codebook-Index an, um auf den Index-Adreßort im Speicher 750 zu zeigen, wie dies mit Bezug auf 17 erörtert wurde. Speicher 750 ist ein Ringspeicher bzw. Umlaufspeicher, wobei der Schalter 752 auf den anfänglichen Speicherort zeigt, und wobei die Werte zur Ausgabe durch den Speicher geschoben werden. Die Codebook-Werte werden vom Speicher 750 durch den Schalter 752 als eine Eingabe für den Multiplexer 753 ausgegeben. Multiplexer 753 spricht auf Vollrate, Halbrate und Viertelrate an, um eine Ausgabe der durch den Schalter 752 gelieferten Werte an den Verstärker der Codebook-Verstärkung, Multiplizierer 724, vorzusehen. Multiplexer 753 spricht au ßerdem auf die Indikation der Achtelrate an, um die Ausgabe des PN Generators 754 für die Ausgabe des Codebook 722 an den Multiplizierer 724 auszuwählen.
  • Um eine hohe Sprachqualität beim CELP Kodieren zu gewährleisten, müssen der Kodierer und der Decoder die gleichen Werte in ihren internen Filterspeichern gespeichert haben. Dies wird gewährleistet, indem der Codebook-Index übertragen wird, so daß die Filter des Decoders und des Kodierers durch die gleiche Sequenz von Werten erregt werden. Allerdings bestehen für die höchste Sprachqualität diese Sequenzen überwiegend aus Nullen, unter denen einige Spitzen (spikes) verteilt sind. Dieser Typ der Erregung ist für die Kodierung von Hintergrundrauschen nicht optimal.
  • Für die Kodierung von Hintergrundrauschen, vorgenommen bei der niedrigsten Datenrate, kann eine Pseudo-Zufallssequenz implementiert werden, um die Filter zu erregen. Um sicherzustellen, daß die Speicher der Filter in Kodierer und Decoder gleich sind, müssen die beiden Pseudo-Zufallssequenzen die gleichen sein. Eine Initialisierung (Seed) muß irgendwie zum Decoder des Empfängers übertragen werden. Da es keine zusätzlichen Bits gibt, die verwendet werden könnten, um diese Initialisierung zu senden, können die übertragenen Paket-Bits als Initialisierung verwendet werden, so als würden diese eine Zahl darstellen. Dieses Verfahren kann angewendet werden, da bei niedriger Rate exakt die gleiche CELP Analyse-durch-Synthese Struktur angewendet wird, um die verwendete Codebook-Verstärkung und den verwendeten Codebook-Index zu bestimmen. Der Unterschied besteht darin, daß der Codebook-Index herausgeworfen wird, und anstelle dessen werden die Speicher der Filter das Kodierers unter Verwendung einer Pseudo-Zufallssequenz aktualisiert. Somit kann die Initialisierung für die Erregung bestimmt werden, nachdem die Analyse abgeschlossen ist. Um sicherzustellen, daß die Pakete selbst nicht periodisch zwischen einem Satz von Bitmustern umlaufen, werden vier zufällige Bits anstelle der Werte des Codebook-Index in das Paket bei Achtelrate eingefügt. Somit ist die Paket-Initialisierung der 16 Bit Wert, wie in 2d referenziert.
  • Der PN Generator 754 ist unter Verwendung wohlbekannter Verfahren konstruiert und kann mittels verschiedener Algorithmen implementiert werden. Der verwendete Algorithmus ähnelt einem, wie er in dem Artikel "DSP chips can produce random numbers using proven agorithm" von Paul Mennen, EDN, 21. Januar 1991 beschrieben ist. Des übertragene Bit-Paket wird als die Initialisierung verwendet (vom Subsystem 700 aus 18), um die Sequenz zu erzeugen. In einer Implementierung wird die Initialisierung mit dem Wert 521 multipliziert, wobei der Wert 259 dazu addiert wird. Von diesem resultierenden Wert werden die am wenigsten signifikanten Bits verwendet, um eine vorzeichenbehaftete 16 Bit Zahl zu bilden. Dieser Wert wird dann als die Initialisierung für das Erzeugen des nächsten Codebook-Wertes verwendet. Die durch den PN Generator erzeugte Sequenz wird normalisiert, so daß sie eine Varianz von 1 hat.
  • Jeder vom Codebook 722 ausgegebene Wert wird im Multiplizierer 724 mit der Codebook-Verstärkung G, wie während des zu dekodierenden Subrahmens geliefert, multipliziert. Dieser Wert wird als eine Eingabe an einen Addierer 756 des Pitch-Filters 726 geliefert. Das Pitch-Filter 726 besteht ferner aus einem Multiplizierer 758 und einem Speicher 760. Die Pitch-Verzögerung L bestimmt die Position eines Abgriffs bzw. Tap des Speichers 760, der an den Multiplizierer 756 ausgegeben wird. Die Ausgabe des Speichers 760 wird im Multiplizierer 758 mit dem Wert der Pitch-Verstärkung b multipliziert, wobei das Ergebnis an den Addierer 756 ausgegeben wird. Die Ausgabe des Addierers 756 wird als eine Eingabe an den Speichers 760 geliefert, welcher eine Reihe von Verzögerungselementen ist, wie z.B. ein Schieberegister. Die Werte werden durch den Speicher 760 geschoben (in einer Richtung, wie durch den Pfeil gekennzeichnet) und werden an dem gewählten Ausgabe-Tap geliefert, wie durch den Wert von L bestimmt. Da die Werte durch den Speicher 760 geschoben werden, werden Werte verworfen, die älter als 143 Verschiebungen sind. Die Ausgabe des Addierers 756 wird außerdem als eine Eingabe an das Formantenfilter 714 geliefert.
  • Die Ausgabe des Addierers 756 wird als eine Eingabe an einen Addierer 762 des Formantenfilters 714 geliefert. Das Formantenfilter 714 besteht ferner aus einer Bank von Multiplizierern 764a764j und einem Speicher 766. Die Ausgabe des Addierers 762 wird als eine Eingabe an den Speicher 766 geliefert, welcher ebenfalls als eine Reihe von abgegriffenen Verzögerungselementen, z.B. als ein Schieberegister, konstruiert ist. Die Werte werden durch den Speicher 766 verschoben (in einer Richtung, wie durch den Pfeil gekennzeichnet), und werden am Ende fallengelassen. Jedes Element hat einen Abgriff bzw. Tap, welcher den dort gespeicherten Wert an einen entsprechenden der Multiplizierer 764a764j liefert. Jeder der Multiplizierer 764a764j empfängt außerdem einen entsprechenden der LPC Koeffizienten α1–α10 zur Multiplikation mit der Ausgabe vom Speicher 766. Die Ausgabe vom Addierer 762 wird als einer Ausgabe des Formantenfilters 714 geliefert.
  • Die Ausgabe des Formantenfilters 714 wird als eine Eingabe an das Formanten-Post-Filter 716 und das AGC Subsystem 728 geliefert. Das Formanten-Post-Filter 716 besteht aus Addierern 768 und 770 gemeinsam mit einem Speicher 772 und Multiplizierern 774a774j, 776a776j, 780a780j und 782a782j. Während die Werte durch den Speicher 772 geschoben werden, werden sie an den korrespondierenden Taps zum Multiplikation mit den skalierten Werten der LPC Koeffizienten zu Summation in den Addierern 768 und 770 ausgegeben. Die Ausgabe vom Formanten-Post-Filter 716 wird als eine Eingabe an das adaptive Helligkeits-Filter 718 geliefert.
  • Das adaptive Helligkeits-Filters 718 besteht aus Addierern 784 und 786, Registern 788 und 790, und Multiplizierern 792 und 794. 24 ist ein Diagramm, daß die Charakteristik des adaptiven Helligkeits-Filters darstellt. Die Ausgabe vom Formanten-Post-Filter 716 wird als eine Eingabe an den Addierer 784 geliefert, während die andere Eingabe von der Ausgabe des Multiplizierers 792 geliefert wird. Die Ausgabe des Addierers 784 wird an das Register 788 geliefert, für einen Zyklus gespeichert und während des nächsten Zyklus an die Multiplizierer 792 und 794 gemeinsam mit dem Wert –κ, geliefert vom System 712 für den LSP Durchschnitt aus 19, ausgegeben. Die Ausgaben der Multiplizierer 792 und 794 werden an beide Addierer 784 und 786 geliefert. Die Ausgabe von Addierer 786 wird an das AGC Subsystem 728 und an das Schieberegister 790 geliefert. Register 790 wird als eine Verzögerungslinie verwendet, um die Koordination der vom Formantenfilter 714 an das AGC Subsystem 720 ausgegebenen Daten sicherzustellen, und wird via Formanten-Post-Filter 716 an das adaptive Helligkeits-Filters 718 geliefert.
  • AGC Subsystem 728 empfängt die Daten von Formanten-Post-Filter 716 und vom adaptiven Helligkeits-Filters 718, um die Energie der Sprachausgabe ungefähr auf jene der Spracheingabe in das Formanten-Post-Filter 716 und das adaptive Helligkeits-Filters 718 zu skalieren. Des AGC Subsystem 728 besteht aus den Multiplizierern 798, 800, 802 und 804; Addierern 806, 808 und 810; Registern 812, 814 und 860; einem Dividierer 818; und einem Element 820 für die Quadratwurzel. Die 40 ausgegebenen Abtastwerte vom Formanten-Post-Filter 716 werden im Multiplizierer 798 quadriert und in einem Akkumulator, der aus dem Addierer 806 und dem Register 812 besteht, summiert, um den Wert "x" zu erzeugen. In gleicher Weise werden die 40 ausgegebenen Abtastwerte vom adaptiven Helligkeits-Filter 718, die zuvor in das Register 790 übernommen wurden, im Multiplizierer 800 quadriert und in einem Akkumulator, der aus dem Addierer 808 und dem Register 814 besteht, summiert, um den Wert "y" zu erzeugen. Der Wert "y" wird durch den Wert "x" im Dividierer 816 dividiert, um die inverse Verstärkung der Filter zu liefern. Die Quadratwurzel des inversen Verstärkungsfaktors wird im Element 818 gezogen, wobei das Ergebnis dieser Operation geglättet wird. Die Glättungsoperation wird ausgeführt, in dem der aktuelle Wert der Verstärkung G mit dem konstanten Wert 0,02 im Multiplizierer 802 multipliziert wird, wobei dieses Ergebnis im Addierer 810 zu dem Ergebnis von 0,98 mal die vorhergehende Verstärkung, berechnet unter Verwendung von Register 820 und Multiplizierer 804, addiert wird. Die Ausgabe des Filters 718 wird dann mit der geglätteten inversen Verstärkung im Multiplizierer 730 multipliziert, um die auszugebende rekonstruierte Sprache zu liefern. Die Ausgabesprache wird dann unter Verwendung verschiedenster wohlbekannter Umwandlungsverfahren in analoge Form zur Ausgabe an den Nutzer konvertiert.
  • Es ist selbstverständlich, daß das Ausführungsbeispiel der vorliegenden Erfindung, wie dies hierin offenbart ist, lediglich eine beispielhafte Ausführung darstellt, und das Variationen des Ausführungsbeispiels realisiert werden können, die funktional äquivalent sind. Die vorliegende Erfindung kann in einem digitalen Signalprozessor mit einer geeigneten Programmsteuerung implementiert werden, um die hierin offenbarte Funktionalität zum Kodieren von Sprach-Abtastwerten und zum Dekodieren der kodierten Sprache vorzusehen. In anderen Implementierungen kann die vorliegende Erfindung in anwendungsspezifischen integrierten Schaltkreisen (ASIC) unter Verwendung wohlbekannter hochintegrierender Verfahren (very large scale integration = VLSI) ausgeführt werden.
  • Die vorstehende Beschreibung der bevorzugten Ausführungsbeispiele ist dazu vorgesehen, es dem Fachmann zu ermöglichen, die vorliegende Erfindung herzustellen oder zu verwenden. Die verschiedenen Modifikationen dieser Ausführungsbeispiele werden dem Fachmann leicht ersichtlich sein, und die hierin definierten allgemeinen Prinzipien können ohne erfinderisches Handeln auf andere Ausführungsbeispiele angewendet werden. Somit soll die vorliegende Erfindung nicht auf die hierin gezeigten Ausführungsbeispiele beschränkt sein, sondern können vielmehr Modifikationen und Veränderungen an der Erfindung ausgeführt werden ohne dabei den Schutzumfang der angefügten Patentansprüchen zu verlassen.

Claims (37)

  1. Ein Verfahren zur Sprachsignalkompression durch Codierung von Rahmen digitalisierter Sprachabtastungen bzw. Sampler mit variabler Rate, wobei die folgenden Schritte vorgesehen sind: Bestimmung eines Pegels der Sprachaktivität für einen Rahmen digitalisierter Sprachabtastungen; Auswahl einer Codierrate aus einem Satz von Raten und zwar basierend auf dem bestimmten Pegel an Sprachaktivität für den erwähnten Rahmen; Codieren des erwähnten Rahmens gemäß einem Codierformat eines Satzes von Codierformaten für die erwähnte ausgewählte Rate, wobei jede Rate ein entsprechendes unterschiedliches Codierformat besitzt, und wobei jedes Codierformat eine unterschiedliche Vielzahl von Parametersignalen vorsieht, welche die erwähnten digitalisierten Sprachabtastungen (s(n)) entsprechend einem Sprachmodell repräsentiert; und Erzeugen eines Datenpaketes der erwähnten Parametersignale für den erwähnten Rahmen gekennzeichnet durch: Liefern eines ratengebundenen Befehls, der für eine vorgewählte Codierrate für den erwähnten Rahmen eine Anzeige bildet; und Modifizieren der erwähnten ausgewählten Codierrate um die erwähnte vorgewählte Codierrate zum Codieren des erwähnten Rahmens mit der erwähnten vorgewählten Codierrate vorzusehen.
  2. Verfahren nach irgendeinem vorhergehenden Anspruch, wobei der Schritt der Bestimmung des Pegels der Rahmensprachaktivität die folgenden Schritte aufweist: Messen der Sprachaktivität in dem erwähnten Rahmen aus digitalisierten Sprachabtastungen; Vergleichen der gemessenen Sprachaktivität mit mindestens einem Sprachaktivitätsschwellenpegel eines vorbestimmten Satzes von Aktivitätsschwellenpegeln; und adaptive Einstellung, ansprechend auf den erwähnten Vergleich von mindestens einem der erwähnten mindestens einen Sprachaktivitätsschwellenpegel bezüglich eines Aktivitätspegels eines vorhergehenden Rahmens digitalisierter Sprachabtastungen.
  3. Verfahren nach Anspruch 1 oder 2, wobei die erwähnte vorgewählte Rate kleiner ist als eine vorbestimmte Maximalrate und wobei das Verfahren ferner die folgenden Schritte aufweist: Vorsehen eines zusätzlichen Datenpakets; und Kombinieren des erwähnten Datenpakets mit dem erwähnten zusätzlichen Datenpaket innerhalb eines Übertragungs- oder Senderahmens zum Zwecke der Übertragung bzw. Sendung.
  4. Verfahren nach einem vorhergehenden Anspruch, wobei der Schritt des Vorsehens des Datenpaketes der erwähnten Parametersignale Folgendes aufweist: Erzeugung einer variablen Anzahl von Bits zum Repräsentieren linearer prädiktiver Koeffizienten-(LPC = linear predictive coefficient)-Vektorsignale des erwähnten Rahmens digitalisierter Sprachabtastungen, wobei die erwähnte variable Zahl von Bits, die die LPC-Vektorsignale repräsentieren, auf den erwähnten gemessenen Sprachaktivitätspegel anspricht; Erzeugen einer variablen Anzahl von Bits zum Repräsentieren von Pitch- oder Tonhöhenvektorsignalen des Rahmens digitalisierter Sprachtastungen, wobei die erwähnte variable Anzahl von Bits, die die erwähnten Sprachtonhöhen- bzw. Pitchvektorsignale repräsentiert, auf den erwähnten gemessenen Sprachaktivitätspegel anspricht; und Erzeugen einer variablen Anzahl von Bits zum Darstellen oder Repräsentieren von Codebuch-(codebook)-Anregungsvektorsignalen (excitations vector signals) des erwähnten Rahmens digitalisierter Sprachabtastun gen, wobei die erwähnte variable Anzahl von Bits, die die erwähnten Codebuch-Anregungsvektorsignale repräsentieren auf dem erwähnten gemessenen Sprachaktivitätspegel ansprechen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Codierens des erwähnten Rahmens Folgendes aufweist: Erzeugung einer variablen Anzahl von linearen Prädiktionskoeffizienten für den erwähnten Rahmen, wobei die variable Anzahl der linearen Prädiktionskoeffizienten auf die erwähnte ausgewählte Codierrate anspricht; Erzeugen für einen Rahmen einer variablen Anzahl von Pitch- oder Tonhöhenkoeffizienten, wobei die erwähnte variable Anzahl der Tonhöhen- bzw. Pitchkoeffizienten auf die selektive Codierrate anspricht; und Erzeugen einer variablen Anzahl von Codebuch-Anregungswerten für den erwähnten Rahmen, wobei die erwähnte variable Anzahl von Codebuch-Anregungswerten (codebook excitation values) auf die erwähnte ausgewählte Codierrate anspricht.
  6. Verfahren nach einem vorhergehenden Anspruch, wobei der Schritt des Bestimmens eines Pegels der Sprachaktivität die Summierung der Quadrate der Werte der digitalisierten Sprachabtastungen aufweist.
  7. Verfahren nach Anspruch 6, wobei ferner der Schritt der Erzeugung von Fehlerprotektions- oder -schutzbits für das erwähnte Datenpaket vorgesehen ist.
  8. Verfahren nach Anspruch 7, wobei der Schritt der Erzeugung der Fehlerprotektionsbits für das Datenpaket vorgesehen ist, und wobei die Anzahl der erwähnten Protektionsbits auf den erwähnten Rahmen des Sprachaktivitätspegels anspricht.
  9. Verfahren nach Anspruch 2, wobei der Schritt des adaptiven Einstellens der Sprachaktivitätsschwellenpegel die folgenden Schritte aufweist: Vergleichen der erwähnten gemessenen Sprachaktivität mit der mindestens einen Schwelle von Sprachaktivitätsschwellen und inkrementale Vergrößerung der mindestens einen Schwelle der Sprachaktivitätsschwellen zu dem Pegel der Rahmensprachaktivität hin, wenn die Rahmensprachaktivität die mindestens eine Schwelle der Sprachaktivitätsschwellen übersteigt; und Vergleichen der erwähnten gemessenen Sprachaktivität mit der erwähnten mindestens einen Schwelle der Sprachaktivitätsschwellen und Verminderung der erwähnten mindestens einen Schwelle der Sprachaktivitätsschwellen auf den Pegel der Rahmensprachaktivität dann, wenn die Rahmensprachaktivität kleiner ist als die mindestens eine Schwelle der Sprachaktivitätsschwellen.
  10. Verfahren nach Anspruch 9, wobei der Schritt der Auswahl einer Codierrate auf ein externes Ratensignal anspricht.
  11. Verfahren nach Anspruch 7, wobei der Schritt des Erzeugens der Fehlerprotektion oder des Fehlerschutzes für das Datenpaket ferner das Bestimmen der Werte der erwähnten Fehlerprotektionsbits entsprechend einem zyklischen Blockcode aufweist.
  12. Verfahren nach irgendeinem vorhergehenden Anspruch, wobei ferner der Schritt der Vor-Multiplizierung der erwähnten digitalisierten Sprachtastungen (s(n)) durch eine vorbestimmte Fensterfunktion vorgesehen ist.
  13. Verfahren nach irgendeinem der vorhergehenden Anspruch, wobei der Schritt des Umwandelns der erwähnten LPC-Koeffizienten in Zeilen- oder Linienspektralpaar (line spectral pair = LSP) Werte vorgesehen ist.
  14. Verfahren nach irgendeinem vorhergehenden Anspruch, wobei der erwähnte Eingangsrahmen der digitalisierten Abtastungen bzw. Abtastwerte digitalisierte Werte für annähernd zwanzig Millisekunden Sprache aufweist.
  15. Verfahren nach irgendeinem vorhergehenden Anspruch, wobei der erwähnte Eingangsrahmen von digitalisierten Abtastungen annähernd 160 digitalisierte Abtastungen aufweist.
  16. Verfahren nach einem vorhergehenden Anspruch, wobei das erwähnte Ausgangsdatenpaket Folgendes aufweist: einhundertundeinundsiebzig Bits, die vierzig Bits für LPC-Daten aufweisen, vierzig Bits für Tonhöhen- bzw. Pitchdaten, achtzig Bits für Anregungsvektordaten und elf Bits für Fehlerprotektion und zwar dann, wenn die erwähnte Ausgangsdatenrate die volle Rate ist; achtzig Bits weisen zwanzig Bits für LPC-Information, zwanzig Bits für Tonhöhen- bzw. Pitchinformation und vierzig Bits für Anregungsvektordaten auf, wenn die Ausgangsdatenrate die halbe Rate ist; vierzig Bits weisen zehn Bits für LPC-Information, zehn Bits für Tonhöhen- bzw. Pitchinformation und zwanzig Bits für Anregungsvektordaten auf dann, wenn die Ausgangsdatenrate eine Viertelrate ist; und sechzehn Bits weisen zehn Bits für LPC-Information und sechs Bits für Anregungsvektorinformation auf, wenn die Ausgangsdatenrate eine Achtelrate ist.
  17. Eine Vorrichtung zur Kompression eines akustischen Signals in eine variable Rate besitzende Daten, wobei Folgendes vorgesehen ist: Mittel (52) zur Bestimmung eines Pegels der Sprachaktivität für einen Eingangsrahmen (10) aus digitalisierten Abastungen bzw. Samples des akustischen Signals; Mittel (90, 294, 296) zur Auswahl einer Ausgangsdatenrate aus einem vorbestimmten Satz von Raten, basierend auf dem erwähnten Pegel der Sprachaktivität innerhalb des Rahmens; Mittel (58, 104, 106, 108) zum Codieren des erwähnten Rahmens entsprechend einem Codierformat eines Satzes von Codierformaten für die erwähnte ausgewählte Rate um eine Vielzahl von Parametersignalen vorzusehen, wobei jede Rate ein entsprechendes unterschiedliches Codier format besitzt, und zwar wobei jedes Codierformat eine unterschiedliche Vielzahl von Parametersignalen vorsieht, welche die erwähnten digitalisierten Sprachabtastungen (s(n)) entsprechend einem Sprachmodell repräsentiert; und Mittel (114) zum Vorsehen des erwähnten Rahmens eines entsprechenden Datenpakets (p(n)) mit einer Datenrate entsprechend der erwähnten ausgewählte Rate, gekennzeichnet durch Mittel zum Vorsehen eines ratengebundenen Befehls der eine Anzeige für eine vorgewählte Codierrate für den erwähnten Rahmen angibt; und Mittel zum Modifizieren der erwähnten ausgewählten Codierrate um die erwähnte vorgewählte Codierrate zum Codieren des erwähnten Rahmens mit der erwähnten vorgewählten Codierrate vorzusehen.
  18. Die Vorrichtung nach Anspruch 17, wobei das erwähnte Datenpaket Folgendes aufweist: eine variable Anzahl von Bits zum Repräsentieren der LPC-Vektorsignale des erwähnten Rahmens (10) von digitalisierten Sprachtastungen (s(n)), wobei die erwähnte variable Anzahl von Bits zum Repräsentieren der erwähnten LPC-Vektorsignale auf den erwähnten Pegel der Sprachaktivität anspricht; eine variable Anzahl von Bits zum Repräsentieren der Pitchvektorsignale des erwähnten Rahmens (10) aus digitalisierten Sprachtastungen (s(n)), wobei die erwähnte variable Anzahl von Bits zum Repräsentieren der erwähnten Tonhöhen- bzw. Pitchvektorsignale anspricht auf den erwähnten Pegel der Sprachaktivität; und eine variable Anzahl von Bits zum Repräsentieren der Codebuchanregungsvektorsignale des erwähnten Rahmens (10) von digitalisierten Sprachabtastungen (s(n)), wobei die variable Anzahl von Bits zum Repräsentieren der erwähnten Codebuchanregungsvektorsignale anspricht auf den erwähnten Pegel der Sprachaktivität.
  19. Vorrichtung nach Anspruch 17 oder 18, wobei die Mittel zur Bestimmung des Pegels der Sprachaktivität Folgendes aufweisen: Mittel (202) zur Bestimmung eines Energiewertes für den erwähnten Eingangsrahmen; Mittel (204) zum Vergleichen der Eingangsrahmenenergie mit der erwähnten mindestens einen Schwelle der Sprachaktivitätsschwellen; und Mittel (312) zum Vorsehen einer Anzeige wann die Eingangsrahmenaktivität jede entsprechende Schwelle der erwähnten mindestens einen Sprachaktivitätsschwellen übersteigt.
  20. Vorrichtung nach Anspruch 19, wobei ferner Mittel vorgesehen sind zum adaptiven Einstellen der mindestens einen Schwelle der mindestens einen Sprachaktivitätsschwellen.
  21. Vorrichtung nach Anspruch 17, wobei die Mittel zur Bestimmung der Energie des erwähnten Eingangsrahmens Folgendes aufweisen: Quadriermittel zum Quadrieren der erwähnten digitalisierten Audioabtastungen eines Rahmens; und Summiermittel zum Summieren der Quadrate der digitalisierten Audioabtastungen eines Rahmens.
  22. Vorrichtung nach einem der Ansprüche 17, 18 oder 19, wobei die erwähnten Mittel zum Bestimmen eines Pegels der Sprachaktivität Folgendes aufweisen: Mittel (50) zum Berechnen eines Satzes von linearen prädiktiven Koeffizienten für den erwähnten Eingangsrahmen digitalisierter Abtastungen des erwähnten akustischen Signals; und Mittel zur Bestimmung des erwähnten Pegels der Sprachaktivität, entsprechend mindestens einem der erwähnten linearen prädiktiven Koeffizienten.
  23. Vorrichtung nach einem der Ansprüche 17 bis 22, wobei ferner Mittel (236, 238) vorgesehen sind, um Fehlerprotektionsbits für das erwähnte Datenpaket vorzusehen, und zwar ansprechend auf die erwähnte ausgewählte Ausgangsdatenrate.
  24. Vorrichtung nach Anspruch 23, wobei die erwähnten Mittel (236, 238) zum Vorsehen der Fehlerprotektionsbits die Werte der erwähnten Fehlerprotektionsbits entsprechend einem zyklischen Blockcode liefern.
  25. Vorrichtung nach einem der Ansprüche 17 bis 24, wobei ferner Mittel (208) vorgesehen sind zur Umwandlung der LPC-Koeffizienten in Zeilen- oder Linienspektralpaar-(LSP)-Werte.
  26. Vorrichtung nach einem der Ansprüche 17 bis 25, wobei der erwähnte Satz von Raten Folgendes aufweist: volle Rate, halbe Rate, Viertelrate und Achtelrate.
  27. Vorrichtung nach einem der Ansprüche 17 bis 26, wobei der Satz von Raten Folgendes aufweist: 8 Kbps, 4 Kbps, 2 Kbps und 1 Kbps.
  28. Vorrichtung nach Anspruch 22, wobei die Mittel zur Bestimmung eines Pegels der Sprachaktivität die erwähnte Energie bestimmen durch Berechnen eines Satzes von linearen prädiktiven Koeffizienten für den erwähnten Eingangsrahmen und wobei ferner der erwähnte Pegel der Sprachaktivität entsprechend mindestens einem der erwähnten linearen prädiktiven Koeffizienten bestimmt wird.
  29. Vorrichtung nach Anspruch 17 bis 28, wobei der erwähnte Eingangsrahmen der digitalisierten Sprachabtastungen digitalisierte Sprache für eine Dauer von annähernd 20 Millisekunden aufweist.
  30. Vorrichtung nach einem der Ansprüche 17 bis 29, wobei der erwähnte Eingangsrahmen der digitalisierten Abtastungen 160 digitalisierte Abtastungen aufweist.
  31. Vorrichtung nach Anspruch 37, wobei der erwähnte zyklische Blockcode entsprechend einem Generator oder Erzeugungspolynom von 1 + x3 + x5 + x6 + x8 + x9 + x10 arbeitet.
  32. Vorrichtung nach einem der Ansprüche 17 bis 31, wobei ferner Mittel (52, 200) vorgesehen sind, um die erwähnten digitalisierten Tastungen mit einer vorbestimmten Fensterbildungsfunktion vorzumultiplizieren.
  33. Vorrichtung nach Anspruch 32, wobei die vorbestimmte Fensterungsfunktion ein Hamming-Fenster ist.
  34. Vorrichtung nach einem der Ansprüche 17 bis 33, wobei das Ausgangsdatenpaket (p(n)) Folgendes aufweist: eine variable Anzahl von Bits um LPC-Vektorsignale des erwähnten Rahmens digitalisierter Sprachabtastungen (s(n)) zu repräsentieren, wobei die erwähnte variable Anzahl von Bits für die Repräsentation der erwähnten LPC-Vektorsignale auf den erwähnten Pegel der Sprachaktivität anspricht; eine variable Anzahl von Bits zur Repräsentation der Pitchvektorsignale des erwähnten Rahmens der digitalisierten Sprachabtastungen (s(n)), wobei die variable Anzahl der Bits für die Repräsentation der erwähnten Pitch- bzw. Tonhöhenvektorsignale anspricht auf den erwähnten Pegel der Sprachaktivität; und eine variable Anzahl von Bits zum Repräsentieren der Codebuchanregungsvektorsignale des erwähnten Rahmens der digitalisierten Sprachtabtastungen (s(n)) wobei die variable Anzahl von Bits zur Repräsentation der erwähnten Codebuchanregungsvektorsignale auf den erwähnten Pegel der Sprachaktivität anspricht.
  35. Vorrichtung nach Anspruch 34, wobei das erwähnte Ausgangsdatenpaket ferner eine variable Anzahl von Bits zur Fehlerprotektion oder zum Fehlerschutz aufweist, wobei die variable Anzahl von Bits für den Fehlerschutz anspricht auf den erwähnten Pegel der Sprachaktivität.
  36. Vorrichtung nach einem der Ansprüche 17 bis 35 wobei das Ausgangsdatenpaket Folgendes aufweist: einhundertundeinundsiebzig Bits, die Folgendes aufweisen: vierzig Bits für LPC-Daten, vierzig Bits für Pitchdaten, achtzig Bits für Anregungsvektordaten und elf Bits für Fehlerschutz, wenn die erwähnte Ausgangsdatenrate die volle Rate ist; achtzig Bits, die Folgendes aufweisen: zwanzig Bits für LPC-Information, zwanzig Bits für Tonhöhen- bzw. Pitchinformation und vierzig Bits für Anregungsvektordaten, wenn die Ausgangsdatenrate die halbe Rate ist; vierzig Bits die Folgendes aufweisen: zehn Bits für LPC-Information, zehn Bits für Tonhöhen- bzw. Pitchinformation und zwanzig Bits für Anregungsvektordaten, wenn die Ausgangsdatenrate eine Viertelrate ist; und sechzehn Bits, die Folgendes aufweisen: zehn Bits für LPC-Information und sechs Bits für Anregungsvektorinformation, wenn die Ausgangsdatenrate eine Achtelrate ist.
  37. Vorrichtung nach einem der Ansprüche 17 bis 36, wobei die erwähnten Mittel (90, 294, 296) zur Auswahl einer Codierrate auf ein externes Ratensignal ansprechen.
DE69233502T 1991-06-11 1992-06-03 Vocoder mit veränderlicher Bitrate Expired - Lifetime DE69233502T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US71366191A 1991-06-11 1991-06-11
US713661 1991-06-11

Publications (2)

Publication Number Publication Date
DE69233502D1 DE69233502D1 (de) 2005-06-02
DE69233502T2 true DE69233502T2 (de) 2006-02-23

Family

ID=24866989

Family Applications (4)

Application Number Title Priority Date Filing Date
DE69232202T Expired - Lifetime DE69232202T2 (de) 1991-06-11 1992-06-03 Vocoder mit veraendlicher bitrate
DE69233794T Expired - Lifetime DE69233794D1 (de) 1991-06-11 1992-06-03 Vocoder mit veränderlicher Bitrate
DE69233502T Expired - Lifetime DE69233502T2 (de) 1991-06-11 1992-06-03 Vocoder mit veränderlicher Bitrate
DE69233397T Expired - Lifetime DE69233397T2 (de) 1991-06-11 1992-06-03 Vorrichtung und Methode zur Maskierung von Fehlern in Datenrahmen

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69232202T Expired - Lifetime DE69232202T2 (de) 1991-06-11 1992-06-03 Vocoder mit veraendlicher bitrate
DE69233794T Expired - Lifetime DE69233794D1 (de) 1991-06-11 1992-06-03 Vocoder mit veränderlicher Bitrate

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69233397T Expired - Lifetime DE69233397T2 (de) 1991-06-11 1992-06-03 Vorrichtung und Methode zur Maskierung von Fehlern in Datenrahmen

Country Status (21)

Country Link
US (3) US5414796A (de)
EP (8) EP1126437B1 (de)
JP (7) JP3432822B2 (de)
CN (8) CN1286086C (de)
AT (4) ATE272883T1 (de)
AU (3) AU671952B2 (de)
BR (1) BR9206143A (de)
CA (6) CA2483324C (de)
DE (4) DE69232202T2 (de)
DK (2) DK0588932T3 (de)
ES (4) ES2240252T3 (de)
FI (5) FI120425B (de)
HK (3) HK1014796A1 (de)
HU (1) HU215861B (de)
IL (4) IL113988A (de)
MX (1) MX9202808A (de)
NO (1) NO319559B1 (de)
RU (1) RU2107951C1 (de)
SG (1) SG70558A1 (de)
WO (1) WO1992022891A1 (de)
ZA (1) ZA924082B (de)

Families Citing this family (498)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606575B2 (en) 1988-08-04 2009-10-20 Broadcom Corporation Remote radio data communication system with data rate switching
US20010050943A1 (en) * 1989-08-03 2001-12-13 Mahany Ronald L. Radio frequency communication network having adaptive communication parameters
US6693951B1 (en) 1990-06-25 2004-02-17 Qualcomm Incorporated System and method for generating signal waveforms in a CDMA cellular telephone system
EP1126437B1 (de) * 1991-06-11 2004-08-04 QUALCOMM Incorporated Vorrichtung und Methode zur Maskierung von Fehlern in Datenrahmen
AU3274593A (en) * 1991-12-13 1993-07-19 Avid Technology, Inc. Quantization table adjustment
US5355450A (en) * 1992-04-10 1994-10-11 Avid Technology, Inc. Media composer with adjustable source material compression
SE469764B (sv) * 1992-01-27 1993-09-06 Ericsson Telefon Ab L M Saett att koda en samplad talsignalvektor
TW224191B (de) * 1992-01-28 1994-05-21 Qualcomm Inc
CA2105269C (en) * 1992-10-09 1998-08-25 Yair Shoham Time-frequency interpolation with application to low rate speech coding
FI95086C (fi) * 1992-11-26 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin tehokkaaksi koodaamiseksi
US5864560A (en) 1993-01-08 1999-01-26 Multi-Tech Systems, Inc. Method and apparatus for mode switching in a voice over data computer-based personal communications system
US5453986A (en) 1993-01-08 1995-09-26 Multi-Tech Systems, Inc. Dual port interface for a computer-based multifunction personal communication system
US5546395A (en) 1993-01-08 1996-08-13 Multi-Tech Systems, Inc. Dynamic selection of compression rate for a voice compression algorithm in a voice over data modem
US5754589A (en) 1993-01-08 1998-05-19 Multi-Tech Systems, Inc. Noncompressed voice and data communication over modem for a computer-based multifunction personal communications system
US5812534A (en) 1993-01-08 1998-09-22 Multi-Tech Systems, Inc. Voice over data conferencing for a computer-based personal communications system
US5535204A (en) 1993-01-08 1996-07-09 Multi-Tech Systems, Inc. Ringdown and ringback signalling for a computer-based multifunction personal communications system
US6009082A (en) 1993-01-08 1999-12-28 Multi-Tech Systems, Inc. Computer-based multifunction personal communication system with caller ID
US5452289A (en) 1993-01-08 1995-09-19 Multi-Tech Systems, Inc. Computer-based multifunction personal communications system
US5617423A (en) 1993-01-08 1997-04-01 Multi-Tech Systems, Inc. Voice over data modem with selectable voice compression
US5657423A (en) * 1993-02-22 1997-08-12 Texas Instruments Incorporated Hardware filter circuit and address circuitry for MPEG encoded data
JPH08511385A (ja) * 1993-04-16 1996-11-26 データ トランスレイション,インコーポレイテッド 可変量子化を用いた適応型画像圧縮
CA2160562A1 (en) * 1993-04-16 1994-10-27 James M. Hardiman Adaptive video decompression
FI96248C (fi) * 1993-05-06 1996-05-27 Nokia Mobile Phones Ltd Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin
US5659659A (en) * 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
ZA946674B (en) * 1993-09-08 1995-05-02 Qualcomm Inc Method and apparatus for determining the transmission data rate in a multi-user communication system
US5649299A (en) * 1993-10-27 1997-07-15 Motorola, Inc. Apparatus and method for adapting a digital radiotelephone system to increased subscriber traffic
WO1995012945A1 (en) * 1993-11-01 1995-05-11 Omnipoint Corporation Despreading/demodulating direct sequence spread spectrum signals
US6094575A (en) 1993-11-01 2000-07-25 Omnipoint Corporation Communication system and method
US6005856A (en) 1993-11-01 1999-12-21 Omnipoint Corporation Communication protocol for spread spectrum wireless communication system
US6088590A (en) 1993-11-01 2000-07-11 Omnipoint Corporation Method and system for mobile controlled handoff and link maintenance in spread spectrum communication
JP3182032B2 (ja) * 1993-12-10 2001-07-03 株式会社日立国際電気 音声符号化通信方式及びその装置
US5621852A (en) 1993-12-14 1997-04-15 Interdigital Technology Corporation Efficient codebook structure for code excited linear prediction coding
US5784532A (en) * 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
DE69533663T2 (de) * 1994-02-17 2006-03-09 Motorola, Inc., Schaumburg Gerät und verfahren zur kontrolle der kodiergeschwindigkeit in einer kommunikationsanordnung
CA2142391C (en) * 1994-03-14 2001-05-29 Juin-Hwey Chen Computational complexity reduction during frame erasure or packet loss
US5615298A (en) * 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
US5574825A (en) * 1994-03-14 1996-11-12 Lucent Technologies Inc. Linear prediction coefficient generation during frame erasure or packet loss
US5682386A (en) 1994-04-19 1997-10-28 Multi-Tech Systems, Inc. Data/voice/fax compression multiplexer
US5757801A (en) 1994-04-19 1998-05-26 Multi-Tech Systems, Inc. Advanced priority statistical multiplexer
FI98162C (fi) * 1994-05-30 1997-04-25 Tecnomen Oy HMM-malliin perustuva puheentunnistusmenetelmä
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US5638412A (en) 1994-06-15 1997-06-10 Qualcomm Incorporated Method for providing service and rate negotiation in a mobile communication system
US5603096A (en) * 1994-07-11 1997-02-11 Qualcomm Incorporated Reverse link, closed loop power control in a code division multiple access system
TW271524B (de) * 1994-08-05 1996-03-01 Qualcomm Inc
US5742734A (en) * 1994-08-10 1998-04-21 Qualcomm Incorporated Encoding rate selection in a variable rate vocoder
US5627856A (en) 1994-09-09 1997-05-06 Omnipoint Corporation Method and apparatus for receiving and despreading a continuous phase-modulated spread spectrum signal using self-synchronizing correlators
US5881100A (en) 1994-09-09 1999-03-09 Omnipoint Corporation Method and apparatus for coherent correlation of a spread spectrum signal
US5757847A (en) 1994-09-09 1998-05-26 Omnipoint Corporation Method and apparatus for decoding a phase encoded signal
US5963586A (en) 1994-09-09 1999-10-05 Omnipoint Corporation Method and apparatus for parallel noncoherent correlation of a spread spectrum signal
US5659574A (en) 1994-09-09 1997-08-19 Omnipoint Corporation Multi-bit correlation of continuous phase modulated signals
US5680414A (en) 1994-09-09 1997-10-21 Omnipoint Corporation Synchronization apparatus and method for spread spectrum receiver
US5610940A (en) 1994-09-09 1997-03-11 Omnipoint Corporation Method and apparatus for noncoherent reception and correlation of a continous phase modulated signal
US5648982A (en) 1994-09-09 1997-07-15 Omnipoint Corporation Spread spectrum transmitter
US5953370A (en) 1994-09-09 1999-09-14 Omnipoint Corporation Apparatus for receiving and correlating a spread spectrum signal
US5754585A (en) 1994-09-09 1998-05-19 Omnipoint Corporation Method and apparatus for serial noncoherent correlation of a spread spectrum signal
US5832028A (en) 1994-09-09 1998-11-03 Omnipoint Corporation Method and apparatus for coherent serial correlation of a spread spectrum signal
US5754584A (en) 1994-09-09 1998-05-19 Omnipoint Corporation Non-coherent spread-spectrum continuous-phase modulation communication system
US5692007A (en) 1994-09-09 1997-11-25 Omnipoint Corporation Method and apparatus for differential phase encoding and decoding in spread-spectrum communication systems with continuous-phase modulation
US5856998A (en) 1994-09-09 1999-01-05 Omnipoint Corporation Method and apparatus for correlating a continuous phase modulated spread spectrum signal
US5629956A (en) 1994-09-09 1997-05-13 Omnipoint Corporation Method and apparatus for reception and noncoherent serial correlation of a continuous phase modulated signal
US5537410A (en) * 1994-09-15 1996-07-16 Oki Telecom Subsequent frame variable data rate indication method
US6141353A (en) * 1994-09-15 2000-10-31 Oki Telecom, Inc. Subsequent frame variable data rate indication method for various variable data rate systems
JPH08102687A (ja) * 1994-09-29 1996-04-16 Yamaha Corp 音声送受信方式
EP0710948B1 (de) * 1994-10-05 2002-02-27 Advanced Micro Devices, Inc. Vorrichtung und Verfahren zur Sprachsignalanalyse zur Parameterbestimmung von Sprachsignalmerkmalen
US5546448A (en) * 1994-11-10 1996-08-13 Multi-Tech Systems, Inc. Apparatus and method for a caller ID modem interface
US5781880A (en) * 1994-11-21 1998-07-14 Rockwell International Corporation Pitch lag estimation using frequency-domain lowpass filtering of the linear predictive coding (LPC) residual
JPH08179796A (ja) * 1994-12-21 1996-07-12 Sony Corp 音声符号化方法
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
US5784403A (en) * 1995-02-03 1998-07-21 Omnipoint Corporation Spread spectrum correlation using saw device
JP3303580B2 (ja) * 1995-02-23 2002-07-22 日本電気株式会社 音声符号化装置
US6292476B1 (en) * 1997-04-16 2001-09-18 Qualcomm Inc. Method and apparatus for providing variable rate data in a communications system using non-orthogonal overflow channels
ZA961025B (en) * 1995-02-28 1996-07-16 Qualcomm Inc Method and apparatus for providing variable rate data in a communications system using non-orthogonal overflow channels
US5991725A (en) * 1995-03-07 1999-11-23 Advanced Micro Devices, Inc. System and method for enhanced speech quality in voice storage and retrieval systems
US5699478A (en) * 1995-03-10 1997-12-16 Lucent Technologies Inc. Frame erasure compensation technique
JPH08263099A (ja) * 1995-03-23 1996-10-11 Toshiba Corp 符号化装置
US6137840A (en) * 1995-03-31 2000-10-24 Qualcomm Incorporated Method and apparatus for performing fast power control in a mobile communication system
TW347616B (en) 1995-03-31 1998-12-11 Qualcomm Inc Method and apparatus for performing fast power control in a mobile communication system a method and apparatus for controlling transmission power in a mobile communication system is disclosed.
US6977967B1 (en) * 1995-03-31 2005-12-20 Qualcomm Incorporated Method and apparatus for performing fast power control in a mobile communication system
US5548253A (en) * 1995-04-17 1996-08-20 Omnipoint Corporation Spectrally efficient quadrature amplitude modulator
US5508708A (en) * 1995-05-08 1996-04-16 Motorola, Inc. Method and apparatus for location finding in a CDMA system
JP2728122B2 (ja) * 1995-05-23 1998-03-18 日本電気株式会社 無音圧縮音声符号化復号化装置
US5802046A (en) * 1995-06-05 1998-09-01 Omnipoint Corporation Efficient time division duplex communication system with interleaved format and timing adjustment control
US5959980A (en) * 1995-06-05 1999-09-28 Omnipoint Corporation Timing adjustment control for efficient time division duplex communication
US5745484A (en) * 1995-06-05 1998-04-28 Omnipoint Corporation Efficient communication system using time division multiplexing and timing adjustment control
US6356607B1 (en) 1995-06-05 2002-03-12 Omnipoint Corporation Preamble code structure and detection method and apparatus
US5689502A (en) * 1995-06-05 1997-11-18 Omnipoint Corporation Efficient frequency division duplex communication system with interleaved format and timing adjustment control
US6526038B1 (en) * 1995-06-07 2003-02-25 Telcordia Technologies, Inc. Periodic wireless broadcast
GB9512284D0 (en) * 1995-06-16 1995-08-16 Nokia Mobile Phones Ltd Speech Synthesiser
US7929498B2 (en) 1995-06-30 2011-04-19 Interdigital Technology Corporation Adaptive forward power control and adaptive reverse power control for spread-spectrum communications
US6885652B1 (en) 1995-06-30 2005-04-26 Interdigital Technology Corporation Code division multiple access (CDMA) communication system
US7020111B2 (en) 1996-06-27 2006-03-28 Interdigital Technology Corporation System for using rapid acquisition spreading codes for spread-spectrum communications
ZA965340B (en) 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
FI100157B (fi) * 1995-07-12 1997-09-30 Nokia Mobile Phones Ltd Muuttuvanopeuksiset piirikytketyt siirtopalvelut TDMA-pohjaisissa solu kkojärjestelmissä
US6041046A (en) * 1995-07-14 2000-03-21 Omnipoint Corporation Cyclic time hopping in time division multiple access communication system
US5754733A (en) * 1995-08-01 1998-05-19 Qualcomm Incorporated Method and apparatus for generating and encoding line spectral square roots
FR2737948B1 (fr) * 1995-08-16 1997-10-17 Alcatel Mobile Comm France Dispositif de commande de volume sonore pour recepteur de signaux de parole codes par blocs
JP3522012B2 (ja) * 1995-08-23 2004-04-26 沖電気工業株式会社 コード励振線形予測符号化装置
US6130888A (en) * 1995-08-31 2000-10-10 Ntt Mobile Communications Network, Inc. ATM transmission method having silence compression controlling function and system transmitter and receiver using the method
US5950164A (en) * 1995-09-29 1999-09-07 Olympus Optical Co., Ltd. Voice recording apparatus capable of displaying remaining recording capacity of memory according to encoding bit rates
JP4005154B2 (ja) * 1995-10-26 2007-11-07 ソニー株式会社 音声復号化方法及び装置
JP3680380B2 (ja) * 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
JPH09152896A (ja) * 1995-11-30 1997-06-10 Oki Electric Ind Co Ltd 声道予測係数符号化・復号化回路、声道予測係数符号化回路、声道予測係数復号化回路、音声符号化装置及び音声復号化装置
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5822721A (en) * 1995-12-22 1998-10-13 Iterated Systems, Inc. Method and apparatus for fractal-excited linear predictive coding of digital signals
US5737716A (en) * 1995-12-26 1998-04-07 Motorola Method and apparatus for encoding speech using neural network technology for speech classification
US5839052A (en) * 1996-02-08 1998-11-17 Qualcom Incorporated Method and apparatus for integration of a wireless communication system with a cable television system
US5867763A (en) * 1996-02-08 1999-02-02 Qualcomm Incorporated Method and apparatus for integration of a wireless communication system with a cable T.V. system
JPH09230896A (ja) * 1996-02-28 1997-09-05 Sony Corp 音声合成装置
US5754537A (en) * 1996-03-08 1998-05-19 Telefonaktiebolaget L M Ericsson (Publ) Method and system for transmitting background noise data
BR9708166A (pt) * 1996-03-27 1999-07-27 Motorola Inc Método e aparelho para fornecer uma conexão de partes múltiplas para uso em um sistema de comunicação sem fio
SE506341C2 (sv) * 1996-04-10 1997-12-08 Ericsson Telefon Ab L M Metod och anordning för rekonstruktion av en mottagen talsignal
GB2312360B (en) * 1996-04-12 2001-01-24 Olympus Optical Co Voice signal coding apparatus
US5708757A (en) * 1996-04-22 1998-01-13 France Telecom Method of determining parameters of a pitch synthesis filter in a speech coder, and speech coder implementing such method
US6205190B1 (en) * 1996-04-29 2001-03-20 Qualcomm Inc. System and method for reducing interference generated by a CDMA communications device
US6047254A (en) * 1996-05-15 2000-04-04 Advanced Micro Devices, Inc. System and method for determining a first formant analysis filter and prefiltering a speech signal for improved pitch estimation
US5937374A (en) * 1996-05-15 1999-08-10 Advanced Micro Devices, Inc. System and method for improved pitch estimation which performs first formant energy removal for a frame using coefficients from a prior frame
JP3092652B2 (ja) * 1996-06-10 2000-09-25 日本電気株式会社 音声再生装置
US6744882B1 (en) 1996-07-23 2004-06-01 Qualcomm Inc. Method and apparatus for automatically adjusting speaker and microphone gains within a mobile telephone
JP3266819B2 (ja) * 1996-07-30 2002-03-18 株式会社エイ・ティ・アール人間情報通信研究所 周期信号変換方法、音変換方法および信号分析方法
US5883927A (en) * 1996-07-31 1999-03-16 Nextwave Telecom, Inc. Digital wireless telecommunication device for reduced interference with hearing aids
JPH1049199A (ja) * 1996-08-02 1998-02-20 Nec Corp 無音圧縮音声符号化復号化装置
US5726983A (en) * 1996-08-09 1998-03-10 Motorola, Inc. Communication device with variable frame processing time
US5812968A (en) * 1996-08-28 1998-09-22 Ericsson, Inc. Vocoder apparatus using the link margin
SE507370C2 (sv) * 1996-09-13 1998-05-18 Ericsson Telefon Ab L M Metod och anordning för att alstra komfortbrus i linjärprediktiv talavkodare
US5881053A (en) * 1996-09-13 1999-03-09 Qualcomm Incorporated Method for a wireless communications channel
US7788092B2 (en) * 1996-09-25 2010-08-31 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
EP0928521A1 (de) * 1996-09-25 1999-07-14 Qualcomm Incorporated Verfahren und vorrichtung zur erfassung schlechter von einem mobiltelefon mit decodierten sprachparametern empfangener datenpakete
US6205130B1 (en) 1996-09-25 2001-03-20 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
US6014622A (en) 1996-09-26 2000-01-11 Rockwell Semiconductor Systems, Inc. Low bit rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
US5954834A (en) * 1996-10-09 1999-09-21 Ericsson Inc. Systems and methods for communicating desired audio information over a communications medium
US5905794A (en) * 1996-10-15 1999-05-18 Multi-Tech Systems, Inc. Caller identification interface using line reversal detection
US6496543B1 (en) * 1996-10-29 2002-12-17 Qualcomm Incorporated Method and apparatus for providing high speed data communications in a cellular environment
US5781593A (en) * 1996-11-14 1998-07-14 Omnipoint Corporation Methods and apparatus for vocoder synchronization in mobile communication network
US6141373A (en) 1996-11-15 2000-10-31 Omnipoint Corporation Preamble code structure and detection method and apparatus
FI964975A (fi) * 1996-12-12 1998-06-13 Nokia Mobile Phones Ltd Menetelmä ja laite puheen koodaamiseksi
US6172965B1 (en) * 1996-12-23 2001-01-09 Nortel Networks Limited Duplex transmission scheme
JP2856185B2 (ja) * 1997-01-21 1999-02-10 日本電気株式会社 音声符号化復号化システム
CA2247429C (en) * 1997-01-23 2002-01-01 Motorola, Inc. Apparatus and method for non-linear processing in a communication system
US6335922B1 (en) 1997-02-11 2002-01-01 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US7751370B2 (en) 2001-07-13 2010-07-06 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US6014375A (en) * 1997-02-13 2000-01-11 Ericsson Inc. TDMA radio protocol with adaptive vocoder selection
JP3067676B2 (ja) * 1997-02-13 2000-07-17 日本電気株式会社 Lspの予測符号化装置及び方法
US5832443A (en) * 1997-02-25 1998-11-03 Alaris, Inc. Method and apparatus for adaptive audio compression and decompression
US6104993A (en) * 1997-02-26 2000-08-15 Motorola, Inc. Apparatus and method for rate determination in a communication system
AU6289998A (en) * 1997-02-27 1998-09-18 Siemens Aktiengesellschaft Frame-error detection method and device for error masking, specially in gsm transmissions
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
US6282228B1 (en) 1997-03-20 2001-08-28 Xircom, Inc. Spread spectrum codes for use in communication
US6480521B1 (en) * 1997-03-26 2002-11-12 Qualcomm Incorporated Method and apparatus for transmitting high speed data in a spread spectrum communications system
US5907822A (en) * 1997-04-04 1999-05-25 Lincom Corporation Loss tolerant speech decoder for telecommunications
ES2259453T3 (es) * 1997-04-07 2006-10-01 Koninklijke Philips Electronics, N.V. Sistema de transmision de voz con velocidad de transferencia de bits variable.
KR100198476B1 (ko) * 1997-04-23 1999-06-15 윤종용 노이즈에 견고한 스펙트럼 포락선 양자화기 및 양자화 방법
US6014623A (en) * 1997-06-12 2000-01-11 United Microelectronics Corp. Method of encoding synthetic speech
US6075792A (en) * 1997-06-16 2000-06-13 Interdigital Technology Corporation CDMA communication system which selectively allocates bandwidth upon demand
US6044343A (en) * 1997-06-27 2000-03-28 Advanced Micro Devices, Inc. Adaptive speech recognition with selective input data to a speech classifier
US6032116A (en) * 1997-06-27 2000-02-29 Advanced Micro Devices, Inc. Distance measure in a speech recognition system for speech recognition using frequency shifting factors to compensate for input signal frequency shifts
US6003003A (en) * 1997-06-27 1999-12-14 Advanced Micro Devices, Inc. Speech recognition system having a quantizer using a single robust codebook designed at multiple signal to noise ratios
US6175590B1 (en) 1997-08-08 2001-01-16 Qualcomm Inc. Method and apparatus for determining the rate of received data in a variable rate communication system
US6097972A (en) * 1997-08-29 2000-08-01 Qualcomm Incorporated Method and apparatus for processing power control signals in CDMA mobile telephone system
US6058359A (en) * 1998-03-04 2000-05-02 Telefonaktiebolaget L M Ericsson Speech coding including soft adaptability feature
US6049537A (en) * 1997-09-05 2000-04-11 Motorola, Inc. Method and system for controlling speech encoding in a communication system
US5898696A (en) * 1997-09-05 1999-04-27 Motorola, Inc. Method and system for controlling an encoding rate in a variable rate communication system
AU4661497A (en) * 1997-09-30 1999-03-22 Qualcomm Incorporated Channel gain modification system and method for noise reduction in voice communication
US6920150B1 (en) 1997-09-30 2005-07-19 Lucent Technologies Inc. Adaptive communications transcoding and error control
US5897613A (en) * 1997-10-08 1999-04-27 Lucent Technologies Inc. Efficient transmission of voice silence intervals
US6067515A (en) * 1997-10-27 2000-05-23 Advanced Micro Devices, Inc. Split matrix quantization with split vector quantization error compensation and selective enhanced processing for robust speech recognition
US6070136A (en) * 1997-10-27 2000-05-30 Advanced Micro Devices, Inc. Matrix quantization with vector quantization error compensation for robust speech recognition
US5953695A (en) * 1997-10-29 1999-09-14 Lucent Technologies Inc. Method and apparatus for synchronizing digital speech communications
US9118387B2 (en) 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
US7184426B2 (en) 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
US6563803B1 (en) 1997-11-26 2003-05-13 Qualcomm Incorporated Acoustic echo canceller
US6044339A (en) * 1997-12-02 2000-03-28 Dspc Israel Ltd. Reduced real-time processing in stochastic celp encoding
DE19753697B4 (de) * 1997-12-03 2006-04-27 Siemens Ag Verfahren und Funkstation zur Datenübertragung in einem Kommunikationssystem
US6049765A (en) * 1997-12-22 2000-04-11 Lucent Technologies Inc. Silence compression for recorded voice messages
US6104994A (en) * 1998-01-13 2000-08-15 Conexant Systems, Inc. Method for speech coding under background noise conditions
JPH11215006A (ja) * 1998-01-29 1999-08-06 Olympus Optical Co Ltd ディジタル音声信号の送信装置及び受信装置
US6799159B2 (en) * 1998-02-02 2004-09-28 Motorola, Inc. Method and apparatus employing a vocoder for speech processing
US6381569B1 (en) * 1998-02-04 2002-04-30 Qualcomm Incorporated Noise-compensated speech recognition templates
US6603751B1 (en) * 1998-02-13 2003-08-05 Qualcomm Incorporated Method and system for performing a handoff in a wireless communication system, such as a hard handoff
US6545989B1 (en) 1998-02-19 2003-04-08 Qualcomm Incorporated Transmit gating in a wireless communication system
US6104991A (en) * 1998-02-27 2000-08-15 Lucent Technologies, Inc. Speech encoding and decoding system which modifies encoding and decoding characteristics based on an audio signal
FI113571B (fi) 1998-03-09 2004-05-14 Nokia Corp Puheenkoodaus
US6043763A (en) * 1998-03-12 2000-03-28 Liquid Audio, Inc. Lossless data compression with low complexity
US6121904A (en) * 1998-03-12 2000-09-19 Liquid Audio, Inc. Lossless data compression with low complexity
US6118392A (en) * 1998-03-12 2000-09-12 Liquid Audio Inc. Lossless data compression with low complexity
US6125348A (en) * 1998-03-12 2000-09-26 Liquid Audio Inc. Lossless data compression with low complexity
US6028541A (en) * 1998-03-12 2000-02-22 Liquid Audio Inc. Lossless data compression with low complexity
US6169906B1 (en) * 1998-03-24 2001-01-02 Motorola, Inc. Method of transmitting messages in a dispatch call
US20030194033A1 (en) 1998-05-21 2003-10-16 Tiedemann Edward G. Method and apparatus for coordinating transmission of short messages with hard handoff searches in a wireless communications system
US6577645B2 (en) 1998-06-03 2003-06-10 Siemens Aktiengesellschaft Method and radio set for transmitting messages
EP1084586B1 (de) * 1998-06-03 2004-12-22 Siemens Aktiengesellschaft Verfahren und funkgerät zur übertragung von nachrichten
US6141639A (en) * 1998-06-05 2000-10-31 Conexant Systems, Inc. Method and apparatus for coding of signals containing speech and background noise
US6810377B1 (en) * 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
US6034971A (en) * 1998-06-30 2000-03-07 Motorola, Inc. Method and apparatus for controlling communication system capacity
US6081776A (en) * 1998-07-13 2000-06-27 Lockheed Martin Corp. Speech coding system and method including adaptive finite impulse response filter
DE19833318C2 (de) * 1998-07-24 2001-08-02 Bosch Gmbh Robert Verfahren zur Übertragung von digitalen Nutzdaten
US6163766A (en) * 1998-08-14 2000-12-19 Motorola, Inc. Adaptive rate system and method for wireless communications
US6173254B1 (en) * 1998-08-18 2001-01-09 Denso Corporation, Ltd. Recorded message playback system for a variable bit rate system
JP4308345B2 (ja) * 1998-08-21 2009-08-05 パナソニック株式会社 マルチモード音声符号化装置及び復号化装置
US6449590B1 (en) 1998-08-24 2002-09-10 Conexant Systems, Inc. Speech encoder using warping in long term preprocessing
US6385573B1 (en) * 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
US6480822B2 (en) * 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
US6493665B1 (en) * 1998-08-24 2002-12-10 Conexant Systems, Inc. Speech classification and parameter weighting used in codebook search
US7117146B2 (en) * 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
US6330533B2 (en) * 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US7072832B1 (en) 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6823303B1 (en) * 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US6188980B1 (en) * 1998-08-24 2001-02-13 Conexant Systems, Inc. Synchronized encoder-decoder frame concealment using speech coding parameters including line spectral frequencies and filter coefficients
US6260010B1 (en) * 1998-08-24 2001-07-10 Conexant Systems, Inc. Speech encoder using gain normalization that combines open and closed loop gains
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
US6798736B1 (en) 1998-09-22 2004-09-28 Qualcomm Incorporated Method and apparatus for transmitting and receiving variable rate data
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6219642B1 (en) 1998-10-05 2001-04-17 Legerity, Inc. Quantization using frequency and mean compensated frequency input data for robust speech recognition
US6347297B1 (en) * 1998-10-05 2002-02-12 Legerity, Inc. Matrix quantization with vector quantization error compensation and neural network postprocessing for robust speech recognition
US6353808B1 (en) * 1998-10-22 2002-03-05 Sony Corporation Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal
JP3343082B2 (ja) * 1998-10-27 2002-11-11 松下電器産業株式会社 Celp型音声符号化装置
US6463407B2 (en) 1998-11-13 2002-10-08 Qualcomm Inc. Low bit-rate coding of unvoiced segments of speech
US6754630B2 (en) * 1998-11-13 2004-06-22 Qualcomm, Inc. Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation
US6233549B1 (en) 1998-11-23 2001-05-15 Qualcomm, Inc. Low frequency spectral enhancement system and method
US6424938B1 (en) * 1998-11-23 2002-07-23 Telefonaktiebolaget L M Ericsson Complex signal activity detection for improved speech/noise classification of an audio signal
US6256606B1 (en) 1998-11-30 2001-07-03 Conexant Systems, Inc. Silence description coding for multi-rate speech codecs
US6289099B1 (en) * 1998-11-30 2001-09-11 Qualcomm Inc. Ringer for satellite user terminals
US6512925B1 (en) * 1998-12-03 2003-01-28 Qualcomm, Incorporated Method and apparatus for controlling transmission power while in soft handoff
US6275485B1 (en) 1998-12-03 2001-08-14 Qualcomm Inc. Noise characterization in a wireless communication system
US6182030B1 (en) 1998-12-18 2001-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced coding to improve coded communication signals
US6691084B2 (en) 1998-12-21 2004-02-10 Qualcomm Incorporated Multiple mode variable rate speech coding
US6542486B1 (en) * 1998-12-22 2003-04-01 Nortel Networks Limited Multiple technology vocoder and an associated telecommunications network
US6393074B1 (en) 1998-12-31 2002-05-21 Texas Instruments Incorporated Decoding system for variable-rate convolutionally-coded data sequence
US7406098B2 (en) * 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
US6324509B1 (en) 1999-02-08 2001-11-27 Qualcomm Incorporated Method and apparatus for accurate endpointing of speech in the presence of noise
US6330247B1 (en) 1999-02-08 2001-12-11 Qualcomm Incorporated Communication protocol between a communication device and an external accessory
JP4503853B2 (ja) * 1999-02-08 2010-07-14 クゥアルコム・インコーポレイテッド 可変率音声符号化に基づいた音声合成装置
US6411926B1 (en) 1999-02-08 2002-06-25 Qualcomm Incorporated Distributed voice recognition system
US6226607B1 (en) 1999-02-08 2001-05-01 Qualcomm Incorporated Method and apparatus for eighth-rate random number generation for speech coders
US6574596B2 (en) 1999-02-08 2003-06-03 Qualcomm Incorporated Voice recognition rejection scheme
US6587446B2 (en) * 1999-02-11 2003-07-01 Qualcomm Incorporated Handoff in a wireless communication system
US6260009B1 (en) 1999-02-12 2001-07-10 Qualcomm Incorporated CELP-based to CELP-based vocoder packet translation
US6449592B1 (en) 1999-02-26 2002-09-10 Qualcomm Incorporated Method and apparatus for tracking the phase of a quasi-periodic signal
US6088347A (en) * 1999-03-10 2000-07-11 Massachusetts Institute Of Technology Variable chip rate code-division multiple access
US6397177B1 (en) * 1999-03-10 2002-05-28 Samsung Electronics, Co., Ltd. Speech-encoding rate decision apparatus and method in a variable rate
US6233552B1 (en) * 1999-03-12 2001-05-15 Comsat Corporation Adaptive post-filtering technique based on the Modified Yule-Walker filter
US6519479B1 (en) 1999-03-31 2003-02-11 Qualcomm Inc. Spoken user interface for speech-enabled devices
BR0009713A (pt) * 1999-04-12 2002-01-08 Samsung Electronics Co Ltd Aparelho e método para a transmissão por portal em um sistema de comunicação cdma
US7058573B1 (en) * 1999-04-20 2006-06-06 Nuance Communications Inc. Speech recognition system to selectively utilize different speech recognition techniques over multiple speech recognition passes
US6260017B1 (en) 1999-05-07 2001-07-10 Qualcomm Inc. Multipulse interpolative coding of transition speech frames
US6766295B1 (en) 1999-05-10 2004-07-20 Nuance Communications Adaptation of a speech recognition system across multiple remote sessions with a speaker
US6661832B1 (en) * 1999-05-11 2003-12-09 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
US6954727B1 (en) * 1999-05-28 2005-10-11 Koninklijke Philips Electronics N.V. Reducing artifact generation in a vocoder
US6330532B1 (en) 1999-07-19 2001-12-11 Qualcomm Incorporated Method and apparatus for maintaining a target bit rate in a speech coder
US6324505B1 (en) * 1999-07-19 2001-11-27 Qualcomm Incorporated Amplitude quantization scheme for low-bit-rate speech coders
US6393394B1 (en) 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
US6397175B1 (en) 1999-07-19 2002-05-28 Qualcomm Incorporated Method and apparatus for subsampling phase spectrum information
US6324503B1 (en) 1999-07-19 2001-11-27 Qualcomm Incorporated Method and apparatus for providing feedback from decoder to encoder to improve performance in a predictive speech coder under frame erasure conditions
US6496706B1 (en) 1999-07-23 2002-12-17 Qualcomm Incorporated Method and system for transmit gating in a wireless communication system
US6704328B1 (en) * 1999-07-26 2004-03-09 Nortel Networks, Limited Signalling scheme and messaging structure to support the smoothing of large bit rate transmissions
US6603752B1 (en) 1999-07-29 2003-08-05 Ahmed Saifuddin Method and system for controlling transmission energy in a variable rate gated communication system
US6633552B1 (en) 1999-08-06 2003-10-14 Qualcomm Incorporated Method and apparatus for determining the closed loop power control set point in a wireless packet data communication system
US6658112B1 (en) 1999-08-06 2003-12-02 General Dynamics Decision Systems, Inc. Voice decoder and method for detecting channel errors using spectral energy evolution
US6597667B1 (en) 1999-08-18 2003-07-22 Qualcomm Incorporated Network based muting of a cellular telephone
US6493329B1 (en) * 1999-08-23 2002-12-10 Qualcomm Incorporated Adaptive channel estimation in a wireless communication system
US8064409B1 (en) 1999-08-25 2011-11-22 Qualcomm Incorporated Method and apparatus using a multi-carrier forward link in a wireless communication system
US6426971B1 (en) 1999-09-13 2002-07-30 Qualcomm Incorporated System and method for accurately predicting signal to interference and noise ratio to improve communications system performance
US7054809B1 (en) * 1999-09-22 2006-05-30 Mindspeed Technologies, Inc. Rate selection method for selectable mode vocoder
US6636829B1 (en) * 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
US6581032B1 (en) 1999-09-22 2003-06-17 Conexant Systems, Inc. Bitstream protocol for transmission of encoded voice signals
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
AU2003262451B2 (en) * 1999-09-22 2006-01-19 Macom Technology Solutions Holdings, Inc. Multimode speech encoder
AU766830B2 (en) * 1999-09-22 2003-10-23 Macom Technology Solutions Holdings, Inc. Multimode speech encoder
US6574593B1 (en) 1999-09-22 2003-06-03 Conexant Systems, Inc. Codebook tables for encoding and decoding
US6708024B1 (en) * 1999-09-22 2004-03-16 Legerity, Inc. Method and apparatus for generating comfort noise
US6604070B1 (en) 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US6959274B1 (en) 1999-09-22 2005-10-25 Mindspeed Technologies, Inc. Fixed rate speech compression system and method
US6496798B1 (en) * 1999-09-30 2002-12-17 Motorola, Inc. Method and apparatus for encoding and decoding frames of voice model parameters into a low bit rate digital voice message
US6772126B1 (en) * 1999-09-30 2004-08-03 Motorola, Inc. Method and apparatus for transferring low bit rate digital voice messages using incremental messages
US6621804B1 (en) 1999-10-07 2003-09-16 Qualcomm Incorporated Method and apparatus for predicting favored supplemental channel transmission slots using transmission power measurements of a fundamental channel
US6850506B1 (en) 1999-10-07 2005-02-01 Qualcomm Incorporated Forward-link scheduling in a wireless communication system
US7522631B1 (en) * 1999-10-26 2009-04-21 Qualcomm, Incorporated Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
US6463274B1 (en) * 1999-10-26 2002-10-08 Denso Corporation Multiple class of service determination for digital cellular telephones
US6438518B1 (en) 1999-10-28 2002-08-20 Qualcomm Incorporated Method and apparatus for using coding scheme selection patterns in a predictive speech coder to reduce sensitivity to frame error conditions
US6496794B1 (en) * 1999-11-22 2002-12-17 Motorola, Inc. Method and apparatus for seamless multi-rate speech coding
US6772112B1 (en) 1999-12-10 2004-08-03 Lucent Technologies Inc. System and method to reduce speech delay and improve voice quality using half speech blocks
BR0006803A (pt) * 1999-12-10 2001-12-11 Lucent Technologies Inc Sistema e método para reduzir retardo de fala emelhorar a qualidade de fala utilizando meiosblocos
US7574351B2 (en) * 1999-12-14 2009-08-11 Texas Instruments Incorporated Arranging CELP information of one frame in a second packet
US6745024B1 (en) 2000-01-10 2004-06-01 Qualcomm Incorporated System and method for preparing and sending an electronic mail communication using a wireless communications device
US6510409B1 (en) * 2000-01-18 2003-01-21 Conexant Systems, Inc. Intelligent discontinuous transmission and comfort noise generation scheme for pulse code modulation speech coders
US7127390B1 (en) 2000-02-08 2006-10-24 Mindspeed Technologies, Inc. Rate determination coding
EP1126651A1 (de) * 2000-02-16 2001-08-22 Lucent Technologies Inc. Verbindungsanpassung für RT-EGPRS
US6721368B1 (en) 2000-03-04 2004-04-13 Qualcomm Incorporated Transmitter architectures for communications systems
US6584438B1 (en) 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
ATE420432T1 (de) * 2000-04-24 2009-01-15 Qualcomm Inc Verfahren und vorrichtung zur prädiktiven quantisierung von stimmhaften sprachsignalen
US6980527B1 (en) 2000-04-25 2005-12-27 Cwill Telecommunications, Inc. Smart antenna CDMA wireless communication system
US7080009B2 (en) * 2000-05-01 2006-07-18 Motorola, Inc. Method and apparatus for reducing rate determination errors and their artifacts
US6285682B1 (en) * 2000-05-01 2001-09-04 Motorola, Inc. Method and apparatus for determining the frame rate of a frame
FI115329B (fi) 2000-05-08 2005-04-15 Nokia Corp Menetelmä ja järjestely lähdesignaalin kaistanleveyden vaihtamiseksi tietoliikenneyhteydessä, jossa on valmiudet useisiin kaistanleveyksiin
US7089181B2 (en) * 2001-05-30 2006-08-08 Intel Corporation Enhancing the intelligibility of received speech in a noisy environment
US7072833B2 (en) 2000-06-02 2006-07-04 Canon Kabushiki Kaisha Speech processing system
US7035790B2 (en) 2000-06-02 2006-04-25 Canon Kabushiki Kaisha Speech processing system
US7010483B2 (en) 2000-06-02 2006-03-07 Canon Kabushiki Kaisha Speech processing system
US6954745B2 (en) 2000-06-02 2005-10-11 Canon Kabushiki Kaisha Signal processing system
US6735563B1 (en) 2000-07-13 2004-05-11 Qualcomm, Inc. Method and apparatus for constructing voice templates for a speaker-independent voice recognition system
US6671669B1 (en) * 2000-07-18 2003-12-30 Qualcomm Incorporated combined engine system and method for voice recognition
US6510142B1 (en) 2000-07-21 2003-01-21 Motorola, Inc. Method and apparatus for reduced reversed traffic in a cellular telephone system
US6856954B1 (en) * 2000-07-28 2005-02-15 Mindspeed Technologies, Inc. Flexible variable rate vocoder for wireless communication systems
US6728669B1 (en) * 2000-08-07 2004-04-27 Lucent Technologies Inc. Relative pulse position in celp vocoding
KR100819623B1 (ko) * 2000-08-09 2008-04-04 소니 가부시끼 가이샤 음성 데이터의 처리 장치 및 처리 방법
US6477502B1 (en) 2000-08-22 2002-11-05 Qualcomm Incorporated Method and apparatus for using non-symmetric speech coders to produce non-symmetric links in a wireless communication system
US6842733B1 (en) 2000-09-15 2005-01-11 Mindspeed Technologies, Inc. Signal processing system for filtering spectral content of a signal for speech coding
US6937979B2 (en) * 2000-09-15 2005-08-30 Mindspeed Technologies, Inc. Coding based on spectral content of a speech signal
US7133823B2 (en) * 2000-09-15 2006-11-07 Mindspeed Technologies, Inc. System for an adaptive excitation pattern for speech coding
US6850884B2 (en) * 2000-09-15 2005-02-01 Mindspeed Technologies, Inc. Selection of coding parameters based on spectral content of a speech signal
US6760882B1 (en) 2000-09-19 2004-07-06 Intel Corporation Mode selection for data transmission in wireless communication channels based on statistical parameters
US6802035B2 (en) * 2000-09-19 2004-10-05 Intel Corporation System and method of dynamically optimizing a transmission mode of wirelessly transmitted information
US7171355B1 (en) * 2000-10-25 2007-01-30 Broadcom Corporation Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
ATE333751T1 (de) * 2000-11-09 2006-08-15 Koninkl Kpn Nv Messen einer übertragungsqualität einer telefonverbindung in einem fernmeldenetz
US7606703B2 (en) * 2000-11-15 2009-10-20 Texas Instruments Incorporated Layered celp system and method with varying perceptual filter or short-term postfilter strengths
US6999430B2 (en) * 2000-11-30 2006-02-14 Qualcomm Incorporated Method and apparatus for transmitting data traffic on a wireless communication channel
US6804218B2 (en) 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
US7472059B2 (en) * 2000-12-08 2008-12-30 Qualcomm Incorporated Method and apparatus for robust speech classification
US7505594B2 (en) * 2000-12-19 2009-03-17 Qualcomm Incorporated Discontinuous transmission (DTX) controller system and method
SE0004818D0 (sv) * 2000-12-22 2000-12-22 Coding Technologies Sweden Ab Enhancing source coding systems by adaptive transposition
US7346918B2 (en) 2000-12-27 2008-03-18 Z-Band, Inc. Intelligent device system and method for distribution of digital signals on a wideband signal distribution system
WO2002054601A1 (en) 2000-12-29 2002-07-11 Morphics Technology, Inc. Channel codec processor configurable for multiple wireless communications standards
US7113522B2 (en) * 2001-01-24 2006-09-26 Qualcomm, Incorporated Enhanced conversion of wideband signals to narrowband signals
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
US7120134B2 (en) * 2001-02-15 2006-10-10 Qualcomm, Incorporated Reverse link channel architecture for a wireless communication system
US20040204935A1 (en) * 2001-02-21 2004-10-14 Krishnasamy Anandakumar Adaptive voice playout in VOP
US6760587B2 (en) 2001-02-23 2004-07-06 Qualcomm Incorporated Forward-link scheduling in a wireless communication system during soft and softer handoff
US7289461B2 (en) 2001-03-15 2007-10-30 Qualcomm Incorporated Communications using wideband terminals
US20020181546A1 (en) * 2001-03-23 2002-12-05 Odenwalder Joseph P. Preamble channels
US6760576B2 (en) 2001-03-27 2004-07-06 Qualcomm Incorporated Method and apparatus for enhanced rate determination in high data rate wireless communication systems
US8199696B2 (en) * 2001-03-29 2012-06-12 Qualcomm Incorporated Method and apparatus for power control in a wireless communication system
US6625172B2 (en) 2001-04-26 2003-09-23 Joseph P. Odenwalder Rescheduling scheduled transmissions
US7230941B2 (en) 2001-04-26 2007-06-12 Qualcomm Incorporated Preamble channel decoding
JP4591939B2 (ja) * 2001-05-15 2010-12-01 Kddi株式会社 適応的符号化伝送装置および受信装置
US6990137B2 (en) * 2001-05-17 2006-01-24 Qualcomm, Incorporated System and method for received signal prediction in wireless communications systems
US7170924B2 (en) * 2001-05-17 2007-01-30 Qualcomm, Inc. System and method for adjusting combiner weights using an adaptive algorithm in wireless communications system
JP3859462B2 (ja) * 2001-05-18 2006-12-20 株式会社東芝 予測パラメータ分析装置および予測パラメータ分析方法
US6789059B2 (en) * 2001-06-06 2004-09-07 Qualcomm Incorporated Reducing memory requirements of a codebook vector search
GB2386808B (en) 2001-06-28 2004-07-07 Samsung Electronics Co Ltd Apparatus and method for transmitting TFCI bits for a hard split mode in a CDMA mobile communication system
US7489655B2 (en) * 2001-07-06 2009-02-10 Qualcomm, Incorporated Method and apparatus for predictive scheduling in a bi-directional communication system
JP2003044098A (ja) * 2001-07-26 2003-02-14 Nec Corp 音声帯域拡張装置及び音声帯域拡張方法
US7110942B2 (en) * 2001-08-14 2006-09-19 Broadcom Corporation Efficient excitation quantization in a noise feedback coding system using correlation techniques
EP1425562B1 (de) * 2001-08-17 2007-01-10 Broadcom Corporation Verbessertes verfahren zur verschleierung von bitfehlern bei der sprachcodierung
US7162415B2 (en) * 2001-11-06 2007-01-09 The Regents Of The University Of California Ultra-narrow bandwidth voice coding
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
CN1640045A (zh) * 2001-12-05 2005-07-13 高通股份有限公司 调整通信系统服务质量的系统与方法
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US7146313B2 (en) * 2001-12-14 2006-12-05 Microsoft Corporation Techniques for measurement of perceptual audio quality
GB2383239B (en) * 2001-12-15 2004-03-17 Motorola Inc A method and apparatus for transmitting data
US7206740B2 (en) * 2002-01-04 2007-04-17 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
JP3778087B2 (ja) * 2002-01-18 2006-05-24 富士ゼロックス株式会社 データ符号化装置及びデータ復号装置
US6957183B2 (en) * 2002-03-20 2005-10-18 Qualcomm Inc. Method for robust voice recognition by analyzing redundant features of source signal
US7313520B2 (en) * 2002-03-20 2007-12-25 The Directv Group, Inc. Adaptive variable bit rate audio compression encoding
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
US7321559B2 (en) * 2002-06-28 2008-01-22 Lucent Technologies Inc System and method of noise reduction in receiving wireless transmission of packetized audio signals
CA2392640A1 (en) * 2002-07-05 2004-01-05 Voiceage Corporation A method and device for efficient in-based dim-and-burst signaling and half-rate max operation in variable bit-rate wideband speech coding for cdma wireless systems
US8090577B2 (en) * 2002-08-08 2012-01-03 Qualcomm Incorported Bandwidth-adaptive quantization
JP2004151123A (ja) * 2002-10-23 2004-05-27 Nec Corp 符号変換方法、符号変換装置、プログラム及びその記憶媒体
US7602722B2 (en) * 2002-12-04 2009-10-13 Nortel Networks Limited Mobile assisted fast scheduling for the reverse link
GB2396271B (en) * 2002-12-10 2005-08-10 Motorola Inc A user terminal and method for voice communication
US7698132B2 (en) * 2002-12-17 2010-04-13 Qualcomm Incorporated Sub-sampled excitation waveform codebooks
US7120447B1 (en) * 2003-02-24 2006-10-10 Nortel Networks Limited Selectable mode vocoder management algorithm for CDMA based networks
US6965859B2 (en) * 2003-02-28 2005-11-15 Xvd Corporation Method and apparatus for audio compression
KR100480341B1 (ko) * 2003-03-13 2005-03-31 한국전자통신연구원 광대역 저전송률 음성 신호의 부호화기
US7009999B2 (en) * 2003-03-28 2006-03-07 Qualcomm Incorporated Selective variable rate encoding to regulate data frame size
KR20050007977A (ko) * 2003-07-12 2005-01-21 삼성전자주식회사 이동 통신 시스템에서의 보코더의 모드 및 전송율 제어 방법
US7577756B2 (en) * 2003-07-15 2009-08-18 Special Devices, Inc. Dynamically-and continuously-variable rate, asynchronous data transfer
US7383180B2 (en) * 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US7343291B2 (en) 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7146309B1 (en) 2003-09-02 2006-12-05 Mindspeed Technologies, Inc. Deriving seed values to generate excitation values in a speech coder
US7613606B2 (en) * 2003-10-02 2009-11-03 Nokia Corporation Speech codecs
US7379875B2 (en) * 2003-10-24 2008-05-27 Microsoft Corporation Systems and methods for generating audio thumbnails
US7505764B2 (en) * 2003-10-28 2009-03-17 Motorola, Inc. Method for retransmitting a speech packet
US20050147131A1 (en) * 2003-12-29 2005-07-07 Nokia Corporation Low-rate in-band data channel using CELP codewords
US8473286B2 (en) * 2004-02-26 2013-06-25 Broadcom Corporation Noise feedback coding system and method for providing generalized noise shaping within a simple filter structure
KR100629997B1 (ko) * 2004-02-26 2006-09-27 엘지전자 주식회사 오디오 신호의 인코딩 방법
US7809556B2 (en) * 2004-03-05 2010-10-05 Panasonic Corporation Error conceal device and error conceal method
JP2005337573A (ja) 2004-05-26 2005-12-08 Sanden Corp 熱交換器
JPWO2006008932A1 (ja) * 2004-07-23 2008-05-01 松下電器産業株式会社 音声符号化装置および音声符号化方法
JP4936894B2 (ja) * 2004-08-27 2012-05-23 パナソニック株式会社 オーディオデコーダ、方法及びプログラム
EP2200024B1 (de) 2004-08-30 2013-03-27 QUALCOMM Incorporated Verfahren und Vorrichtung für einen adaptiven De-Jitter-Puffer
SE0402372D0 (sv) 2004-09-30 2004-09-30 Ericsson Telefon Ab L M Signal coding
SE528213C3 (sv) * 2004-09-30 2006-10-31 Ericsson Telefon Ab L M Förfaranden och arrangemang för adaptiva trösklar vid val av kodek
US8085678B2 (en) 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
US7697480B2 (en) * 2004-11-22 2010-04-13 Motorola, Inc Method and apparatus for inter-system active handoff of a hybrid subscriber unit
US20060109819A1 (en) * 2004-11-22 2006-05-25 Marin James S Method and apparatus for inter-system active handoff of a hybrid subscriber unit
US8102872B2 (en) 2005-02-01 2012-01-24 Qualcomm Incorporated Method for discontinuous transmission and accurate reproduction of background noise information
US20060224381A1 (en) * 2005-04-04 2006-10-05 Nokia Corporation Detecting speech frames belonging to a low energy sequence
US20060241937A1 (en) * 2005-04-21 2006-10-26 Ma Changxue C Method and apparatus for automatically discriminating information bearing audio segments and background noise audio segments
US7983301B2 (en) * 2005-06-24 2011-07-19 O2Micro International, Ltd. Method for extended transmission capabilities of short message service
US20070005347A1 (en) * 2005-06-30 2007-01-04 Kotzin Michael D Method and apparatus for data frame construction
US20080201689A1 (en) * 2005-06-30 2008-08-21 Freescale Semiconductor, Inc. Vector Crc Computatuion on Dsp
JP5035816B2 (ja) * 2005-07-14 2012-09-26 一般財団法人電力中央研究所 細孔内付着液体残留量推定方法
US7542421B2 (en) * 2005-09-09 2009-06-02 Tropos Networks Adaptive control of transmission power and data rates of transmission links between access nodes of a mesh network
CN1964244B (zh) * 2005-11-08 2010-04-07 厦门致晟科技有限公司 一种用声码器收发数字信号的方法
KR101019936B1 (ko) * 2005-12-02 2011-03-09 퀄컴 인코포레이티드 음성 파형의 정렬을 위한 시스템, 방법, 및 장치
EP1958187B1 (de) * 2005-12-05 2010-07-21 QUALCOMM Incorporated Verfahren und vorrichtung zur erkennung tonaler komponenten von audiosignalen
KR100744542B1 (ko) * 2005-12-08 2007-08-01 한국전자통신연구원 가변대역 멀티코덱 QoS 제어 장치 및 방법
US8032369B2 (en) * 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
US8346544B2 (en) * 2006-01-20 2013-01-01 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
JP4816115B2 (ja) * 2006-02-08 2011-11-16 カシオ計算機株式会社 音声符号化装置及び音声符号化方法
US8036242B2 (en) * 2006-02-15 2011-10-11 Qualcomm Incorporated Dynamic capacity operating point management for a vocoder in an access terminal
US7720499B2 (en) * 2006-02-27 2010-05-18 Tropos Networks, Inc. Regulation of transmission power control in mitigate self interference by optimizing link transmission parameters in a wireless network
JP4771835B2 (ja) * 2006-03-06 2011-09-14 株式会社リコー トナー及び画像形成方法
FR2898443A1 (fr) * 2006-03-13 2007-09-14 France Telecom Procede de codage d'un signal audio source, dispositif de codage, procede et dispositif de decodage, signal, produits programme d'ordinateur correspondants
US7778828B2 (en) * 2006-03-15 2010-08-17 Sasken Communication Technologies Ltd. Method and system for automatic gain control of a speech signal
US8392176B2 (en) * 2006-04-10 2013-03-05 Qualcomm Incorporated Processing of excitation in audio coding and decoding
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
DE102006025042B4 (de) * 2006-05-26 2008-08-14 Infineon Technologies Ag Datenratenfehler-tolerante Synchronisation eines digitalen Empfängers
US8036186B2 (en) * 2006-07-26 2011-10-11 Tropos Networks, Inc. Adaptively setting transmission power levels of nodes within a wireless mesh network
US8260609B2 (en) 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US8135047B2 (en) 2006-07-31 2012-03-13 Qualcomm Incorporated Systems and methods for including an identifier with a packet associated with a speech signal
KR100883652B1 (ko) * 2006-08-03 2009-02-18 삼성전자주식회사 음성 구간 검출 방법 및 장치, 및 이를 이용한 음성 인식시스템
CN101512639B (zh) * 2006-09-13 2012-03-14 艾利森电话股份有限公司 用于语音/音频发送器和接收器的方法和设备
US7877253B2 (en) 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
EP2074711A2 (de) 2006-10-06 2009-07-01 ViaSat, Inc. Vorwärts- und rückwärtskalibration für bodengestützte strahlformung
EP2458588A3 (de) * 2006-10-10 2012-07-04 Qualcomm Incorporated Verfahren und Vorrichtung zur kodierung und dekodierung von Audiosignalen
KR100833499B1 (ko) * 2006-10-27 2008-05-29 한국전자통신연구원 가변 대역 멀티 코덱의 음성 품질 측정 장치 및 방법
CN100587186C (zh) * 2006-11-02 2010-02-03 邹家祥 一种保温组合墙板构筑墙体的方法
US8279889B2 (en) * 2007-01-04 2012-10-02 Qualcomm Incorporated Systems and methods for dimming a first packet associated with a first bit rate to a second packet associated with a second bit rate
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US20090198500A1 (en) * 2007-08-24 2009-08-06 Qualcomm Incorporated Temporal masking in audio coding based on spectral dynamics in frequency sub-bands
US8428957B2 (en) 2007-08-24 2013-04-23 Qualcomm Incorporated Spectral noise shaping in audio coding based on spectral dynamics in frequency sub-bands
US20090094026A1 (en) * 2007-10-03 2009-04-09 Binshi Cao Method of determining an estimated frame energy of a communication
US8606566B2 (en) * 2007-10-24 2013-12-10 Qnx Software Systems Limited Speech enhancement through partial speech reconstruction
US8015002B2 (en) 2007-10-24 2011-09-06 Qnx Software Systems Co. Dynamic noise reduction using linear model fitting
US8326617B2 (en) 2007-10-24 2012-12-04 Qnx Software Systems Limited Speech enhancement with minimum gating
JP5229234B2 (ja) * 2007-12-18 2013-07-03 富士通株式会社 非音声区間検出方法及び非音声区間検出装置
MX2010009307A (es) * 2008-03-14 2010-09-24 Panasonic Corp Dispositivo de codificacion, dispositivo de decodificacion y metodo de los mismos.
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US7948887B2 (en) * 2008-06-24 2011-05-24 Microsoft Corporation Network bandwidth measurement
US8144602B2 (en) * 2008-08-06 2012-03-27 Jds Uniphase Corporation Network load tester with real-time detection and recording
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8964692B2 (en) * 2008-11-10 2015-02-24 Qualcomm Incorporated Spectrum sensing of bluetooth using a sequence of energy detection measurements
EP2211335A1 (de) * 2009-01-21 2010-07-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Erhalt eines Parameters, der eine Variation einer Signaleigenschaft eines Signals beschreibt
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
WO2010140940A1 (en) * 2009-06-04 2010-12-09 Telefonaktiebolaget Lm Ericsson (Publ) A method and arrangement for estimating the quality degradation of a processed signal
KR20110001130A (ko) * 2009-06-29 2011-01-06 삼성전자주식회사 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
US8954320B2 (en) * 2009-07-27 2015-02-10 Scti Holdings, Inc. System and method for noise reduction in processing speech signals by targeting speech and disregarding noise
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
JP5712220B2 (ja) * 2009-10-19 2015-05-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 音声活動検出のための方法および背景推定器
EP2506253A4 (de) * 2009-11-24 2014-01-01 Lg Electronics Inc Verfahren und vorrichtung zur verarbeitung von tonsignalen
US8781822B2 (en) * 2009-12-22 2014-07-15 Qualcomm Incorporated Audio and speech processing with optimal bit-allocation for constant bit rate applications
US20110196673A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
US8374858B2 (en) * 2010-03-09 2013-02-12 Dts, Inc. Scalable lossless audio codec and authoring tool
US9082416B2 (en) * 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
SG192718A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Audio codec using noise synthesis during inactive phases
KR101525185B1 (ko) 2011-02-14 2015-06-02 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법
CN103477387B (zh) 2011-02-14 2015-11-25 弗兰霍菲尔运输应用研究公司 使用频谱域噪声整形的基于线性预测的编码方案
CN103620672B (zh) * 2011-02-14 2016-04-27 弗劳恩霍夫应用研究促进协会 用于低延迟联合语音及音频编码(usac)中的错误隐藏的装置和方法
RU2560788C2 (ru) 2011-02-14 2015-08-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для обработки декодированного аудиосигнала в спектральной области
KR101698905B1 (ko) 2011-02-14 2017-01-23 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법
MY159444A (en) 2011-02-14 2017-01-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Encoding and decoding of pulse positions of tracks of an audio signal
RU2586597C2 (ru) 2011-02-14 2016-06-10 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Кодирование и декодирование позиций импульсов дорожек аудиосигнала
JP5712288B2 (ja) 2011-02-14 2015-05-07 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 重複変換を使用した情報信号表記
US8762136B2 (en) * 2011-05-03 2014-06-24 Lsi Corporation System and method of speech compression using an inter frame parameter correlation
US8990074B2 (en) 2011-05-24 2015-03-24 Qualcomm Incorporated Noise-robust speech coding mode classification
FR2977969A1 (fr) * 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
US9208796B2 (en) * 2011-08-22 2015-12-08 Genband Us Llc Estimation of speech energy based on code excited linear prediction (CELP) parameters extracted from a partially-decoded CELP-encoded bit stream and applications of same
US9015039B2 (en) * 2011-12-21 2015-04-21 Huawei Technologies Co., Ltd. Adaptive encoding pitch lag for voiced speech
US9111531B2 (en) * 2012-01-13 2015-08-18 Qualcomm Incorporated Multiple coding mode signal classification
EP3611728A1 (de) * 2012-03-21 2020-02-19 Samsung Electronics Co., Ltd. Verfahren und vorrichtung für hochfrequente codierung/decodierung zur bandbreitenerweiterung
EP2936486B1 (de) 2012-12-21 2018-07-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Hinzufügung angenehmen rauschens zur modellierung eines hintergrundrauschens bei niedrigen bitraten
MY171106A (en) 2012-12-21 2019-09-25 Fraunhofer Ges Zur Forderung Der Angenwandten Forschung E V Generation of a comfort noise with high spectro-temporal resolution in discontinuous transmission of audio signals
KR101754094B1 (ko) 2013-04-05 2017-07-05 돌비 인터네셔널 에이비 고급 양자화기
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
US9640185B2 (en) * 2013-12-12 2017-05-02 Motorola Solutions, Inc. Method and apparatus for enhancing the modulation index of speech sounds passed through a digital vocoder
US9570095B1 (en) * 2014-01-17 2017-02-14 Marvell International Ltd. Systems and methods for instantaneous noise estimation
US9721580B2 (en) * 2014-03-31 2017-08-01 Google Inc. Situation dependent transient suppression
CN105023579A (zh) * 2014-04-30 2015-11-04 中国电信股份有限公司 语音通信中语音编码实现方法、装置和通信终端
EP2980796A1 (de) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Verarbeitung eines Audiosignals, Audiodecodierer und Audiocodierer
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
CN104833105A (zh) * 2015-05-28 2015-08-12 芜湖美的厨卫电器制造有限公司 热水器和热水器系统
US11631421B2 (en) * 2015-10-18 2023-04-18 Solos Technology Limited Apparatuses and methods for enhanced speech recognition in variable environments
WO2017118495A1 (en) * 2016-01-03 2017-07-13 Auro Technologies Nv A signal encoder, decoder and methods using predictor models
US11227214B2 (en) 2017-11-14 2022-01-18 Advanced Micro Devices, Inc. Memory bandwidth reduction techniques for low power convolutional neural network inference applications
EA038803B1 (ru) * 2017-12-25 2021-10-21 Федеральное государственное унитарное предприятие "Всероссийский научно-исследовательский институт автоматики им. Н.Л. Духова" Способ адаптивной цифровой фильтрации импульсных помех и фильтр для его реализации
RU2691122C1 (ru) * 2018-06-13 2019-06-11 Ордена трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования "Московский технический университет связи и информатики" (МТУСИ) Способ и устройство компандирования звуковых вещательных сигналов
US11775799B2 (en) 2018-08-02 2023-10-03 Advanced Micro Devices, Inc. Runtime extension for neural network training with heterogeneous memory
US11769041B2 (en) 2018-10-31 2023-09-26 Advanced Micro Devices, Inc. Low latency long short-term memory inference with sequence interleaving
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
CN111338974A (zh) 2018-12-19 2020-06-26 超威半导体公司 用于矩阵数学指令集的图块化算法
CN111353575A (zh) 2018-12-20 2020-06-30 超威半导体公司 用于卷积神经网络的图块化格式
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment
US11610142B2 (en) 2019-05-28 2023-03-21 Ati Technologies Ulc Safety monitor for image misclassification
US11210199B2 (en) 2019-05-31 2021-12-28 Ati Technologies Ulc Safety monitor for invalid image transform
US11250867B1 (en) * 2019-10-08 2022-02-15 Rockwell Collins, Inc. Incorporating data into a voice signal with zero overhead
JP7332890B2 (ja) * 2019-11-19 2023-08-24 アイコム株式会社 音声通信システム、音声通信方法、および、音声通信プログラム
US11023390B1 (en) * 2020-03-27 2021-06-01 Arm Limited Resizing circuitry
CN112767953B (zh) * 2020-06-24 2024-01-23 腾讯科技(深圳)有限公司 语音编码方法、装置、计算机设备和存储介质

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US32580A (en) * 1861-06-18 Water-elevatok
US3633107A (en) * 1970-06-04 1972-01-04 Bell Telephone Labor Inc Adaptive signal processor for diversity radio receivers
JPS5017711A (de) * 1973-06-15 1975-02-25
US3988674A (en) * 1975-03-17 1976-10-26 Communications Satellite Corporation (Comsat) Frame synchronization in speech predictive encoded communication system
US4076958A (en) * 1976-09-13 1978-02-28 E-Systems, Inc. Signal synthesizer spectrum contour scaler
US4214125A (en) * 1977-01-21 1980-07-22 Forrest S. Mozer Method and apparatus for speech synthesizing
CA1123955A (en) * 1978-03-30 1982-05-18 Tetsu Taguchi Speech analysis and synthesis apparatus
DE3023375C1 (de) * 1980-06-23 1987-12-03 Siemens Ag, 1000 Berlin Und 8000 Muenchen, De
US4379949A (en) * 1981-08-10 1983-04-12 Motorola, Inc. Method of and means for variable-rate coding of LPC parameters
JPS6011360B2 (ja) * 1981-12-15 1985-03-25 ケイディディ株式会社 音声符号化方式
US4535472A (en) * 1982-11-05 1985-08-13 At&T Bell Laboratories Adaptive bit allocator
DE3276651D1 (en) * 1982-11-26 1987-07-30 Ibm Speech signal coding method and apparatus
EP0127718B1 (de) * 1983-06-07 1987-03-18 International Business Machines Corporation Verfahren zur Aktivitätsdetektion in einem Sprachübertragungssystem
US4672670A (en) * 1983-07-26 1987-06-09 Advanced Micro Devices, Inc. Apparatus and methods for coding, decoding, analyzing and synthesizing a signal
EP0163829B1 (de) * 1984-03-21 1989-08-23 Nippon Telegraph And Telephone Corporation Sprachsignaleverarbeitungssystem
IT1179803B (it) * 1984-10-30 1987-09-16 Cselt Centro Studi Lab Telecom Metodo e dispositivo per la correzione di errori causati da rumore di tipo impulsivo su segnali vocali codificati con bassa velocita di ci fra e trasmessi su canali di comunicazione radio
US4885790A (en) * 1985-03-18 1989-12-05 Massachusetts Institute Of Technology Processing of acoustic waveforms
US4856068A (en) * 1985-03-18 1989-08-08 Massachusetts Institute Of Technology Audio pre-processing methods and apparatus
US4937873A (en) * 1985-03-18 1990-06-26 Massachusetts Institute Of Technology Computationally efficient sine wave synthesis for acoustic waveform processing
US4831636A (en) * 1985-06-28 1989-05-16 Fujitsu Limited Coding transmission equipment for carrying out coding with adaptive quantization
US4827517A (en) * 1985-12-26 1989-05-02 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech processor using arbitrary excitation coding
CA1299750C (en) * 1986-01-03 1992-04-28 Ira Alan Gerson Optimal method of data reduction in a speech recognition system
US4797929A (en) * 1986-01-03 1989-01-10 Motorola, Inc. Word recognition in a speech recognition system using data reduced word templates
JPH0748695B2 (ja) * 1986-05-23 1995-05-24 株式会社日立製作所 音声符号化方式
US4899384A (en) * 1986-08-25 1990-02-06 Ibm Corporation Table controlled dynamic bit allocation in a variable rate sub-band speech coder
US4771465A (en) * 1986-09-11 1988-09-13 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech sinusoidal vocoder with transmission of only subset of harmonics
US4797925A (en) * 1986-09-26 1989-01-10 Bell Communications Research, Inc. Method for coding speech at low bit rates
US4903301A (en) * 1987-02-27 1990-02-20 Hitachi, Ltd. Method and system for transmitting variable rate speech signal
US5054072A (en) * 1987-04-02 1991-10-01 Massachusetts Institute Of Technology Coding of acoustic waveforms
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US4969192A (en) * 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US5202953A (en) * 1987-04-08 1993-04-13 Nec Corporation Multi-pulse type coding system with correlation calculation by backward-filtering operation for multi-pulse searching
US4890327A (en) * 1987-06-03 1989-12-26 Itt Corporation Multi-rate digital voice coder apparatus
US4802171A (en) * 1987-06-04 1989-01-31 Motorola, Inc. Method for error correction in digitally encoded speech
US4831624A (en) * 1987-06-04 1989-05-16 Motorola, Inc. Error detection method for sub-band coding
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
CA1337217C (en) * 1987-08-28 1995-10-03 Daniel Kenneth Freeman Speech coding
ES2039594T3 (es) * 1987-09-02 1993-10-01 Moltech Invent S.A. Electrolisis de sales fundidas con anodos no consumibles.
US4811404A (en) 1987-10-01 1989-03-07 Motorola, Inc. Noise suppression system
US4852179A (en) * 1987-10-05 1989-07-25 Motorola, Inc. Variable frame rate, fixed bit rate vocoding method
US4896361A (en) * 1988-01-07 1990-01-23 Motorola, Inc. Digital speech coder having improved vector excitation source
EP0331858B1 (de) * 1988-03-08 1993-08-25 International Business Machines Corporation Verfahren und Einrichtung zur Sprachkodierung mit mehreren Datenraten
DE3871369D1 (de) * 1988-03-08 1992-06-25 Ibm Verfahren und einrichtung zur sprachkodierung mit niedriger datenrate.
US5023910A (en) * 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
US4864561A (en) * 1988-06-20 1989-09-05 American Telephone And Telegraph Company Technique for improved subjective performance in a communication system using attenuated noise-fill
JPH0783315B2 (ja) * 1988-09-26 1995-09-06 富士通株式会社 可変レート音声信号符号化方式
US5077798A (en) * 1988-09-28 1991-12-31 Hitachi, Ltd. Method and system for voice coding based on vector quantization
DE3853161T2 (de) * 1988-10-19 1995-08-17 Ibm Vektorquantisierungscodierer.
NL8901032A (nl) * 1988-11-10 1990-06-01 Philips Nv Coder om extra informatie op te nemen in een digitaal audiosignaal met een tevoren bepaald formaat, een decoder om deze extra informatie uit dit digitale signaal af te leiden, een inrichting voor het opnemen van een digitaal signaal op een registratiedrager, voorzien van de coder, en een registratiedrager verkregen met deze inrichting.
JP3033060B2 (ja) * 1988-12-22 2000-04-17 国際電信電話株式会社 音声予測符号化・復号化方式
CA2005115C (en) * 1989-01-17 1997-04-22 Juin-Hwey Chen Low-delay code-excited linear predictive coder for speech or audio
US5222189A (en) * 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
DE68916944T2 (de) * 1989-04-11 1995-03-16 Ibm Verfahren zur schnellen Bestimmung der Grundfrequenz in Sprachcodierern mit langfristiger Prädiktion.
US5060269A (en) * 1989-05-18 1991-10-22 General Electric Company Hybrid switched multi-pulse/stochastic speech coding technique
US4975956A (en) * 1989-07-26 1990-12-04 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
GB2235354A (en) * 1989-08-16 1991-02-27 Philips Electronic Associated Speech coding/encoding using celp
US5091945A (en) * 1989-09-28 1992-02-25 At&T Bell Laboratories Source dependent channel coding with error protection
AU6174290A (en) * 1989-10-06 1991-04-28 Motorola, Inc. Error detection/correction scheme for vocoders
US5307441A (en) * 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
JPH03181232A (ja) * 1989-12-11 1991-08-07 Toshiba Corp 可変レート符号化方式
US5097507A (en) * 1989-12-22 1992-03-17 General Electric Company Fading bit error protection for digital cellular multi-pulse speech coder
CH680030A5 (de) * 1990-03-22 1992-05-29 Ascom Zelcom Ag
JP3102015B2 (ja) * 1990-05-28 2000-10-23 日本電気株式会社 音声復号化方法
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5235671A (en) * 1990-10-15 1993-08-10 Gte Laboratories Incorporated Dynamic bit allocation subband excited transform coding method and apparatus
US5187745A (en) * 1991-06-27 1993-02-16 Motorola, Inc. Efficient codebook search for CELP vocoders
EP1126437B1 (de) * 1991-06-11 2004-08-04 QUALCOMM Incorporated Vorrichtung und Methode zur Maskierung von Fehlern in Datenrahmen
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
US5734789A (en) * 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
US5566206A (en) * 1993-06-18 1996-10-15 Qualcomm Incorporated Method and apparatus for determining data rate of transmitted variable rate data in a communications receiver
US5537410A (en) * 1994-09-15 1996-07-16 Oki Telecom Subsequent frame variable data rate indication method

Also Published As

Publication number Publication date
EP1998319B1 (de) 2010-08-11
CN1381956A (zh) 2002-11-27
WO1992022891A1 (en) 1992-12-23
HU215861B (hu) 1999-03-29
JP2004004897A (ja) 2004-01-08
HUT70719A (en) 1995-10-30
FI20061121A (fi) 2006-12-15
JP2002023796A (ja) 2002-01-25
JP3751957B2 (ja) 2006-03-08
CN1091535C (zh) 2002-09-25
DE69233502D1 (de) 2005-06-02
DE69232202D1 (de) 2001-12-20
HK1064785A1 (en) 2005-02-04
JP2002202800A (ja) 2002-07-19
CA2483322A1 (en) 1992-12-23
IL113987A (en) 1996-11-14
FI20011509A (fi) 2001-07-10
EP1239456A1 (de) 2002-09-11
ES2225321T3 (es) 2005-03-16
FI935597A (fi) 1993-12-13
HK1127152A1 (en) 2009-09-18
ATE272883T1 (de) 2004-08-15
JP4191746B2 (ja) 2008-12-03
ATE477571T1 (de) 2010-08-15
EP1162601A2 (de) 2001-12-12
CN1071036A (zh) 1993-04-14
AU6089396A (en) 1996-10-03
AU1482597A (en) 1997-05-15
CN1196271C (zh) 2005-04-06
CN1159639A (zh) 1997-09-17
BR9206143A (pt) 1995-01-03
IL113988A0 (en) 1995-10-31
AU693374B2 (en) 1998-06-25
FI118702B (fi) 2008-02-15
CN1909059A (zh) 2007-02-07
EP1107231A2 (de) 2001-06-13
FI20011508A (fi) 2001-07-10
ZA924082B (en) 1993-02-26
EP1107231B1 (de) 2005-04-27
ATE294441T1 (de) 2005-05-15
MX9202808A (es) 1992-12-01
DE69232202T2 (de) 2002-07-25
EP1126437A2 (de) 2001-08-22
DE69233397D1 (de) 2004-09-09
EP1763020A2 (de) 2007-03-14
NO319559B1 (no) 2005-08-29
SG70558A1 (en) 2000-02-22
CA2102099A1 (en) 1992-12-12
CN1167309A (zh) 1997-12-10
FI935597A0 (fi) 1993-12-13
EP1126437B1 (de) 2004-08-04
ES2240252T3 (es) 2005-10-16
FI120425B (fi) 2009-10-15
ES2166355T3 (es) 2002-04-16
CA2635914A1 (en) 1992-12-23
CN1119796C (zh) 2003-08-27
CN1112673C (zh) 2003-06-25
IL102146A (en) 1996-03-31
DK1126437T3 (da) 2004-11-08
JP3964915B2 (ja) 2007-08-22
JP2006221186A (ja) 2006-08-24
AU671952B2 (en) 1996-09-19
EP1107231A3 (de) 2001-12-05
NO934544L (no) 1993-12-10
CN1492395A (zh) 2004-04-28
IL113988A (en) 1996-11-14
EP1126437A3 (de) 2001-12-12
JPH06511320A (ja) 1994-12-15
JP3432822B2 (ja) 2003-08-04
CA2102099C (en) 2006-04-04
US5657420A (en) 1997-08-12
DK0588932T3 (da) 2002-03-11
EP1162601A3 (de) 2002-07-03
RU2107951C1 (ru) 1998-03-27
ES2348319T3 (es) 2010-12-02
AU2186592A (en) 1993-01-12
ATE208945T1 (de) 2001-11-15
CA2483324C (en) 2008-05-06
EP1998319A2 (de) 2008-12-03
EP0588932A1 (de) 1994-03-30
NO934544D0 (no) 1993-12-10
CA2483324A1 (en) 1992-12-23
EP1675100A2 (de) 2006-06-28
CN1220334C (zh) 2005-09-21
US5414796A (en) 1995-05-09
CN1286086C (zh) 2006-11-22
CA2568984C (en) 2007-07-10
JP2006079107A (ja) 2006-03-23
HK1014796A1 (en) 1999-09-30
EP1763020A3 (de) 2010-09-29
CA2483296C (en) 2008-01-22
IL113987A0 (en) 1995-10-31
DE69233397T2 (de) 2005-08-11
IL113986A (en) 1996-11-14
JP2005182075A (ja) 2005-07-07
EP0588932B1 (de) 2001-11-14
AU711484B2 (en) 1999-10-14
JP3955600B2 (ja) 2007-08-08
EP1998319A3 (de) 2008-12-17
CA2568984A1 (en) 1992-12-23
CN1398052A (zh) 2003-02-19
US5778338A (en) 1998-07-07
IL113986A0 (en) 1995-10-31
FI20061122L (fi) 2006-12-15
DE69233794D1 (de) 2010-09-23
JP3566669B2 (ja) 2004-09-15
CA2483322C (en) 2008-09-23
CA2483296A1 (en) 1992-12-23

Similar Documents

Publication Publication Date Title
DE69233502T2 (de) Vocoder mit veränderlicher Bitrate
DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE60120766T2 (de) Indizieren von impulspositionen und vorzeichen in algebraischen codebüchern zur codierung von breitbandsignalen
DE69633633T2 (de) Mehrkanaliger prädiktiver subband-kodierer mit adaptiver, psychoakustischer bitzuweisung
EP0698877B1 (de) Postfilter und Verfahren zur Postfilterung
EP1327242B1 (de) Fehlerverschleierung in bezug auf die dekodierung kodierter akustischer signale
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69932575T2 (de) Sprachkodierer und sprachdekodierer
DE69727895T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE60012760T2 (de) Multimodaler sprachkodierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R071 Expiry of right

Ref document number: 1107231

Country of ref document: EP