DE60025471T2 - Verfahren und vorrichtung zum nachführen der phase eines fast periodischen signals - Google Patents

Verfahren und vorrichtung zum nachführen der phase eines fast periodischen signals Download PDF

Info

Publication number
DE60025471T2
DE60025471T2 DE60025471T DE60025471T DE60025471T2 DE 60025471 T2 DE60025471 T2 DE 60025471T2 DE 60025471 T DE60025471 T DE 60025471T DE 60025471 T DE60025471 T DE 60025471T DE 60025471 T2 DE60025471 T2 DE 60025471T2
Authority
DE
Germany
Prior art keywords
phase
speech
frame
periodic
signal
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
DE60025471T
Other languages
English (en)
Other versions
DE60025471D1 (de
Inventor
Amitava San Diego DAS
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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of DE60025471D1 publication Critical patent/DE60025471D1/de
Application granted granted Critical
Publication of DE60025471T2 publication Critical patent/DE60025471T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques

Landscapes

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

Description

  • Hintergrund der Erfindung
  • I. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen das Gebiet der Sprachverarbeitung und insbesondere ein Verfahren und eine Vorrichtung zum Erfassen bzw. Verfolgen (tracking) der Phase eines quasiperiodischen Signals.
  • II. Hintergrund
  • Eine Übertragung von Sprache durch digitale Techniken ist weit verbreitet, insbesondere bei Fernsprech- und digitalen Funktelefonanwendungen. Dies wiederum erzeugte ein Interesse bei der Bestimmung der kleinsten Menge an Information, die über einen Kanal gesendet werden kann unter Beibehaltung der wahrgenommenen Qualität der rekonstruierten Sprache. Wenn Sprache durch einfaches Abtasten und Digitalisieren übertragen wird, ist eine Datenrate von ungefähr vierundsechzig Kilobits pro Sekunde (kbps) erforderlich, um eine Sprachqualität eines herkömmlichen analogen Telefons zu erzielen. Durch die Verwendung einer Sprachanalyse, gefolgt von der geeigneten Codierung, Übertragung und Resynthese an dem Empfänger, kann jedoch eine signifikante Reduzierung der Datenrate erreicht werden.
  • Vorrichtungen, die Techniken einsetzen, um Sprache durch Extrahieren von Parametern zu komprimieren, die sich auf ein Modell einer menschlichen Spracherzeugung beziehen, werden als Sprachcodierer bzw. Sprachcoder bezeichnet. Ein Sprachcodierer teilt das ankommende Sprachsignal in Zeitblöcke oder Analyserahmen. Sprachcodierer weisen typischerweise einen Codierer und einen Decodierer auf. Der Codierer analysiert den ankommenden Sprachrahmen, um bestimmte relevante Parameter zu extrahieren, und quantisiert die Parameter dann in eine binäre Darstellung bzw. Repräsentation, d.h. in einen Satz von Bits oder in ein binäres Datenpaket. Die Datenpa kete werden über den Kommunikationskanal an einen Empfänger und einen Decodierer übertragen. Der Decodierer verarbeitet die Datenpakete, dequantisiert sie, um die Parameter zu erzeugen, und resynthetisiert die Sprachrahmen unter Verwendung der dequantisiert Parameter.
  • Die Funktion des Sprachcodierers liegt darin, das digitalisierte Sprachsignal in ein Signal mit geringer Bitrate zu komprimieren durch Entfernen aller natürlichen Redundanzen, die der Sprache inhärent sind. Die digitale Komprimierung wird erzielt durch Darstellen des Eingangssprachrahmens durch einen Satz von Parametern und Verwenden einer Quantisierung, um die Parameter mit einem Satz von Bits darzustellen. Wenn der Eingangssprachrahmen eine Anzahl von Bits Ni aufweist und das von dem Sprachcodierer erzeugte Datenpaket eine Anzahl von Bits No aufweist, dann ist der von dem Sprachcodierer erzielte Komprimierungsfaktor gleich Cr = Ni/No. Die Herausforderung besteht darin, beim Erreichen des Zielkomprimierungsfaktors eine hohe Sprachqualität der decodierten Sprache beizubehalten. Die Performance bzw. Leistung eines Sprachcodierers hängt davon ab, (1) wie gut das Sprachmodell oder die oben beschriebene Kombination der Analyse und des Synthesevorgangs arbeitet, und (2) wie gut der Parameter-Quantisierungsprozess bei der Zielbitrate von No Bits pro Rahmen durchgeführt wird. Das Ziel des Sprachmodells ist somit, die Essenz des Sprachsignals oder die Zielsprachqualität mit einem kleinen Satz von Parametern für jeden Rahmen zu erfassen.
  • Sprachcodierer können als Zeitbereichs-Codierer implementiert werden, die versuchen, die Zeitbereichs-Sprachwellenform durch Einsatz einer Verarbeitung mit hoher Zeitauflösung zu erfassen, um kleine Sprachsegmente (typischerweise 5 Millisekunden (ms) Teilrahmen) auf einmal zu codieren. Für jeden Teilrahmen wird ein Hochpräzisions-Repräsentant aus einem Codebuchraum mittels verschiedener in der Technik bekannter Suchalgorithmen gefunden. Alternativ können Sprachcodierer als Frequenzbereichs-Codierer implementiert werden, die versuchen, das Kurzzeitsprachspektrum des Eingangssprachrahmens mit einem Satz von Parametern zu erfassen (Analyse), und einen entsprechenden Syntheseprozess einsetzen, um die Sprachwellenform aus den spektralen Parametern wiederherzustellen. Der Parameterquantisierer erhält die Parameter, indem er sie durch gespeicherte Repräsentationen von Codevektoren darstellt gemäß bekannten Quantisierungstechniken, die von A. Gersho & R. M. Gray in „Vector Quantization and Signal Compression" (1992) beschrieben werden.
  • Ein weithin bekannter Zeitbereichs-Sprachcodierer ist der CELP(Code Excited Linear Predictive)-Codierer, der von L. B. Rabiner & R. W. Schafer in „Digital Processing of Speech Signals", 396–453 (1978) beschrieben wird und durch Bezugnahme hier vollständig aufgenommen ist. In einem CELP-Codierer werden die Kurzzeitkorrelationen oder Redundanzen in dem Sprachsignal durch eine LP(linear prediction)-Analyse entfernt, welche die Koeffizienten eines Kurzzeit-Formantfilters findet. Ein Anwenden des Kurzzeit-Prädiktionsfilters auf den Eingangssprachrahmen erzeugt ein LP-Restsignal, das weiter mit Langzeit-Prädiktionsfilter-Parametern und einem nachfolgenden stochastischen Codebuch modelliert und quantisiert wird. Somit teilt eine CELP-Codierung die Aufgabe der Codierung der Zeitbereichssprachwellenform in die getrennten Aufgaben einer Codierung der LP-Kurzzeit-Filter-Koeffizienten und der Codierung des LP-Rests. Eine Zeitbereichscodierung kann mit einer festen Rate (d.h. Verwenden derselben Anzahl von Bits No für jeden Rahmen) oder mit einer variablen Rate (wobei unterschiedliche Bitraten für unterschiedliche Typen von Rahmeninhalten verwendet werden) durchgeführt werden. Codierer mit variabler Rate versuchen, nur die Bitmenge zu verwenden, die erforderlich ist, um die Codec-Parameter auf einem Level bzw. Pegel zu codieren, der zum Erreichen einer Zielqualität adäquat ist. Ein beispielhafter CELP-Codierer mit variabler Rate wird in dem U.S.-Patent Nr. 5,414,796 beschrieben, das der Anmelderin der vorliegenden Erfindung erteilt wurde.
  • Zeitbereichs-Codierer, wie der CELP-Codierer, sind typischerweise auf eine hohe Anzahl von Bits No pro Rahmen angewiesen, um die Genauigkeit der Zeitbereichssprachwellenform beizubehalten. Derartige Codierer liefern typi scherweise eine exzellente Sprachqualität, vorausgesetzt, die Anzahl von Bits No pro Rahmen ist relativ groß (z.B. 8 kbps oder höher). Bei niedrigen Bitraten (4 kbps und darunter) können Zeitbereichs-Codierer jedoch keine hohe Qualität und robuste Leistung mehr aufrechterhalten aufgrund der begrenzten Anzahl von verfügbaren Bits. Bei niedrigen Bitraten begrenzt (clipping) der begrenzte Codebuchraum die WellenforÜbereinstimmungs-Fähigkeit von herkömmlichen Zeitbereichs-Codierern, die so erfolgreich in kommerziellen Anwendungen mit höherer Rate eingesetzt werden.
  • Momentan gibt es ein erhöhtes Forschungsinteresse und einen hohen kommerziellen Bedarf, um einen hochwertigen Sprachcodierer zu entwickeln, der bei mittleren bis niedrigen Bitraten (d.h. in dem Bereich von 2.4 bis 4 kbps und darunter) arbeitet. Die Anwendungsgebiete umfassen ein drahtloses Fernsprechwesen, eine Satellitenkommunikation, einen Fernsprechbetrieb über das Internet, verschiedene Multimedia- und Voice-Streaming-Anwendungen, Voice-Mail und andere Sprachspeichersysteme. Die treibenden Kräfte sind der Bedarf für eine hohe Kapazität und die Nachfrage nach einer robusten Leistung bei Paketverlustsituationen. Verschiedene jüngste Bemühungen zur Standardisierung von Sprachcodierern sind eine weitere direkte Antriebskraft, die eine Forschung und Entwicklung von Sprachcodieralgorithmen für niedrige Raten antreibt. Ein Sprachcodierer für niedrige Raten erzeugt mehr Kanäle oder Benutzer pro zulässiger Anwendungsbandbreite und ein Sprachcodierer für niedrige Raten, verbunden mit einer zusätzlichen Ebene einer geeigneten Kanalcodierung, kann das gesamte Bit-Budget von Codiererspezifikationen erfüllen und eine robuste Leistung bei Kanalfehlerbedingungen liefern.
  • Zur Codierung bei geringeren Bitraten wurden verschiedene Verfahren einer spektralen oder Frequenzbereichs-Codierung von Sprache entwickelt, wobei das Sprachsignal als eine Zeit-variierende Evolution von Spektren analysiert wird. Siehe zum Beispiel R. J. McAulay & T. F. Quatieri, „Sinusoidal Coding", in Speech Coding and Synthesis, Kap. 4 (W. B. Kleijn & K. K. Paliwal, Hrsg., 1995). In spektralen Codierern ist das Ziel, das Kurzzeit-Sprachspektrum jedes eingegebenen Sprachrahmens mit einem Satz von spektralen Parametern zu modellieren oder vorherzusagen, statt präzise die Zeit-variierende Sprachwellenform zu imitieren. Die spektralen Parameter werden dann codiert und ein Ausgaberahmen von Sprache wird mit den decodierten Parametern erzeugt. Die resultierende synthetisierte Sprache stimmt nicht mit der ursprünglichen Eingangssprachwellenform überein, bietet aber eine ähnliche wahrgenommene Qualität. Beispiele von Frequenzbereichs-Codierern, die in der Technik weithin bekannt sind, umfassen MBEs (multiband excitation coders), STCs (sinusoidal transform coders) und HCs (harmonic coders). Derartige Frequenzbereichs-Codierer bieten ein hochwertiges parametrisches Modell mit einem kompakten Satz von Parametern, die mit der geringen Anzahl von bei niedrigen Bitraten verfügbaren Bits genau quantisiert werden können.
  • Trotzdem führt eine Codierung bei niedriger Bitrate die kritische Beschränkung einer begrenzten Codierungsauflösung oder einen begrenzten Codebuchraum ein, was die Wirksamkeit eines einzelnen Codiermechanismus einschränkt und den Codierer unfähig macht, verschiedene Typen von Sprachsegmenten bei verschiedenen Hintergrundbedingungen mit gleicher Genauigkeit darzustellen. Zum Beispiel übertragen herkömmliche Frequenzbereichs-Codierer für niedrige Bitraten keine Phaseninformation für Sprachrahmen. Stattdessen wird die Phaseninformation durch Verwendung eines zufälligen, künstlich erzeugten, anfänglichen Phasenwerts und linearer Interpolationstechniken rekonstruiert. Siehe zum Beispiel H. Yang et al „Quadratic Phase Interpolation for Voiced Speech Synthesis in the MBE Model", in 29 Electronic Letters, 856–57 (Mai 1993). Da die Phaseninformation künstlich erzeugt wird, wird, auch wenn die Amplituden der Sinuskurven durch den Quantisierungs-Dequantisierungs-Prozess perfekt erhalten werden, die von dem Frequenzbereichs-Codierer erzeugte Ausgabesprache mit der ursprünglich eingegebenen Sprache nicht übereinstimmen (d.h. die hauptsächlichen Pulse sind nicht synchron). Es hat sich somit als schwierig erwiesen, in Frequenzbereichs-Codierern eine Regelungsschleifen-Leistungsmessung bzw. „Closed-Loop"-Leistungsmessung (closed-loop performance measure) zu verwenden, wie zum Beispiel ein Rauschabstand (SNR – signal-to-noise ratio) oder ein wahrnehmbarer Rauschabstand.
  • Multimodecodiertechniken wurden eingesetzt, um eine Sprachcodierung mit niedriger Rate in Verbindung mit einem Steuerschleifenmodus-Entscheidungsvorgang bzw. „Open-Loop"-Modus-Entscheidungsvorgang (open-loop mode decision process) durchzuführen. Eine derartige Multimodecodiertechnik wird beschrieben von Amitava Das et al in „Multimode and Variable-Rate Coding of Speech", Speech Coding and Synthesis, Kap. 7 (W. B. Kleijn & K. K. Paliwal, Hrsg., 1995). Herkömmliche Multimodecodierer wenden unterschiedliche Modi oder Codier-Decodier-Algorithmen auf unterschiedliche Typen von Eingangssprachrahmen an. Jeder Modus oder Codier-Decodier-Prozess ist spezifisch, um einen bestimmten Typ von Sprachsegment, wie zum Beispiel stimmhafte (voiced) Sprache, stimmlose (unvoiced) Sprache oder Hintergrundgeräusche (keine Sprache), auf die wirksamste Weise darzustellen. Ein externer Steuerschleifenmodus- bzw. Steuerungsmodus-Entscheidungsmechanismus untersucht den Eingangssprachrahmen und entscheidet, welcher Modus auf den Rahmen anzuwenden ist. Die Steuerungsmodus-Entscheidung wird typischerweise durchgeführt durch Extrahieren einer Anzahl von Parametern aus dem Eingangsrahmen, Evaluieren der Parameter in Bezug auf bestimmte zeitliche und spektrale Charakteristiken und Basieren einer Modusentscheidung auf die Evaluierung. Die Modusentscheidung wird somit getroffen ohne vorherige Kenntnis der genauen Bedingung der ausgegebenen Sprache, d.h. wie nahe die ausgegebene Sprache hinsichtlich einer Sprachqualität oder anderer Leistungsmaße zu der eingegebenen Sprache sein wird.
  • Basierend auf dem Vorhergehenden ist es wünschenswert, einen Frequenzbereichs-Codierer für eine niedrige Bitrate vorzusehen, der die Phaseninformation genauer schätzt. Es wäre weiter vorteilhaft, einen Multimode-Mischbereichs-Codierer vorzusehen, um bestimmte Sprachrahmen im Zeitbereich zu codieren und andere Sprachrahmen im Frequenzbereich zu codieren basierend auf dem Sprachinhalt der Rahmen. Es wäre weiter wün schenswert, einen Mischbereichscodierer vorzusehen, der bestimmte Sprachrahmen Zeitbereichs-codieren kann und andere Sprachrahmen Frequenzbereichs-codieren kann gemäß einem Regelungsschleifen- bzw. Regelungs-Codiermodus-Entscheidungsmechanismus. Es wäre noch weiter wünschenswert, einen Regelungs-Multimode-Mischbereichs-Codierer vorzusehen, der eine Zeitsynchronität zwischen der von dem Codierer erzeugten Ausgabesprache und der ursprünglichen in den Codierer eingegebenen Sprache sicherstellt. Ein derartiger Sprachcodierer wird in der verwandten U.S.-Anmeldung Nr. 09/259,151, angemeldet am 26. Februar 1999, mit dem Titel „CLOSED-LOOP MULTIMODE MIXED-DOMAIN LINEAR PREDICTION (MDLP) SPEECH CODER" der Anmelderin der vorliegenden Erfindung beschrieben.
  • Es wäre noch weiter wünschenswert, ein Verfahren zur Sicherstellung einer Zeitsynchronität zwischen der von einem Codierer erzeugten Ausgabesprache und der ursprünglichen in den Codierer eingegebenen Sprache vorzusehen. Somit gibt es einen Bedarf für ein Verfahren zum genauen Verfolgen (tracking) der Phase eines quasiperiodischen Signals.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung, wie durch die angehängten unabhängigen Ansprüchen definiert, betrifft ein Verfahren zum genauen Verfolgen der Phase eines quasiperiodischen Signals.
  • Ein Verfahren zum Verfolgen der Phase eines Signals, das während einiger Rahmen periodisch ist und während anderer Rahmen nicht periodisch ist, umfasst vorteilhafterweise die Schritte eines Schätzens der Phase des Signals für Rahmen, während denen das Signal periodisch ist; eines Überwachens der Leistung der geschätzten Phase mit einer Regelungs-Leistungsmessung; und eines Messens der Phase des Signals für Rahmen, während denen das Signal periodisch ist und die Leistung der geschätzten Phase unter einen vordefinierten Schwellenpegel fällt.
  • In einem anderen Aspekt der Erfindung umfasst eine Vorrichtung zum Verfolgen der Phase eines Signals, das während einiger Rahmen periodisch ist und während anderer Rahmen nicht periodisch ist, vorteilhafterweise Mittel zum Schätzen der Phase des Signals für Rahmen, während denen das Signal periodisch ist; Mittel zum Überwachen der Leistung der geschätzten Phase mit einer Regelungs-Leistungsmessung; und Mittel zum Messen der Phase des Signals für Rahmen, während denen das Signal periodisch ist und die Leistung der geschätzten Phase unter einen vordefinierten Schwellenpegel fällt.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine Blockdarstellung eines Kommunikationskanals, der an jedem Ende von Sprachcodierern begrenzt wird.
  • 2 ist eine Blockdarstellung eines Codierers, der in einem Multimode-Mischbereichs-Linearprädiktions(MDLP – mixed-domain linear prediction)-Sprachcodierer verwendet werden kann.
  • 3 ist eine Blockdarstellung eines Decodierers, der in einem Multimode-MDLP-Sprachcodierer verwendet werden kann.
  • 4 ist ein Ablaufdiagramm, das MDLP-Codierschritte darstellt, die von dem MDLP-Codierer durchgeführt werden, der in dem Codierer von 2 verwendet werden kann.
  • 5 ist ein Ablaufdiagramm, das einen Sprachcodierentscheidungsprozess darstellt.
  • 6 ist eine Blockdarstellung eines Multimode-MDLP-Sprachcodierers mit Regelungsschleife.
  • 7 ist eine Blockdarstellung eines spektralen Codierers, der in dem Codierer von 6 oder dem Codierer von 2 verwendet werden kann.
  • 8 ist ein Graph einer Amplitude gegenüber einer Frequenz, der Amplituden von Sinuskurven in einem harmonischen Codierer bzw. Oberschwingungs-Codierer (harmonic coder) darstellt.
  • 9 ist ein Ablaufdiagramm, das einen Modusentscheidungsprozess in einem Multimode-MDLP-Sprachcodierer darstellt.
  • 10A ist ein Graph einer Sprachsignalamplitude gegenüber der Zeit und
  • 10B ist ein Graph einer LP(linear prediction)-Restamplitude gegenüber der Zeit.
  • 11A ist ein Graph von Rate/Modus gegenüber Rahmenindex in einer Regelungs-Codierentscheidung, 11B ist ein Graph von wahrnehmbarem Rauschabstand (PSNR – perceptual signal-to-noise ratio) gegenüber Rahmenindex in einer Regelungs-Entscheidung und 11C ist ein Graph von sowohl Rate/Modus als auch PSNR gegenüber Rahmenindex bei dem Fehlen einer Regelungs-Codierentscheidung.
  • 12 ist eine Blockdarstellung einer Vorrichtung zum Verfolgen der Phase eines quasiperiodischen Signals.
  • Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
  • In 1 empfängt ein erster Codierer 10 digitalisierte Sprachabtastwerte s(n) und codiert die Abtastwerte s(n) zur Übertragung auf einem Übertragungsmedium 12, oder Kommunikationskanal 12, an einen ersten Decodierer 14. Der Decodierer 12 decodiert die codierten Sprachabtastwerte und synthetisiert ein Ausgabesprachsignal SSYNTH(n). Zur Übertragung in die entgegengesetzte Richtung codiert ein zweiter Codierer 16 digitalisierte Sprachabtastwerte s(n), die auf einem Kommunikationskanal 18 übertragen werden. Ein zweiter Decodierer 20 empfängt und decodiert die codierten Sprachabtastwerte und erzeugt ein synthetisiertes Ausgabesprachsignal SSYNTH(n).
  • Die Sprachabtastwerte s(n) stellen Sprachsignale dar, die digitalisiert und quantisiert wurden gemäß einem von verschiedenen in der Technik bekannten Verfahren, einschließlich zum Beispiel Pulscode-Modulation (PCM – pulse code modulation), kompandiertes μ-Gesetz (μ-law) oder A-Gesetz. Wie in der Technik bekannt, werden die Sprachabtastwerte s(n) in Rahmen von Eingangsdaten organisiert, wobei jeder Rahmen eine vorgegebene Anzahl von digitalisierten Sprachabtastwerten s(n) aufweist. In einem beispielhaften Ausführungsbeispiel wird eine Abtastrate von 8 KHz eingesetzt, wobei jeder 20 ms Rahmen 160 Abtastwerte aufweist. In den unten beschriebenen Ausführungsbeispielen kann die Rate einer Datenübertragung vorzugsweise auf einer Rahmen-zu-Rahmen-Basis von 8 kbps (volle Rate) zu 4 kbps (halbe Rate) zu 2 kbps (viertel Rate) zu 1 kbps (achtel Rate) variiert werden. Alternativ können andere Datenraten verwendet werden. Wie hier verwendet, betreffen die Begriffe „volle Rate" oder „hohe Rate" im Allgemeinen Datenraten, die größer als oder gleich 8 kbps sind und die Begriffe „halbe Rate" oder „niedrige/geringe Rate" betreffen im Allgemeinen Datenraten, die geringer als oder gleich 4 kbps sind. Ein Variieren der Datenübertragungsrate ist vorteilhaft, da niedrigere Bitraten selektiv für Rahmen eingesetzt werden können, die relativ wenig Sprachinformation enthalten. Wie für Fachleute offensichtlich ist, können andere Abtastraten, Rahmengrößen und Datenübertragungsraten verwendet werden.
  • Der erste Codierer 10 und der zweite Decodierer 20 weisen zusammen einen ersten Sprachcodierer oder Sprach-Codec auf. Ähnlich weisen der zweite Codierer 16 und der erste Decodierer 14 zusammen einen zweiten Sprachcodierer auf. Es ist für Fachleute offensichtlich, dass Sprachcodierer mit einem digitalen Signalprozessor (DSP), einem anwendungsspezifischen Schaltkreis (ASIC – application-specific integrated circuit), einer diskreten Gatterlogik, einer Firmware oder jedem herkömmlichen programmierbaren Softwaremodul und einem Mikroprozessor implementiert werden können. Das Softwaremodul kann sich in einem RAM-Speicher, einem Flash-Speicher, Registern oder jeder anderen Form von in der Technik bekanntem beschreibbaren Speichermedium befinden. Alternativ kann jeder herkömmliche Prozessor, jede Steuereinrichtung oder Zustandsmaschine statt des Mikroprozessors eingesetzt werden. Beispielhafte ASICs, die speziell für die Sprachcodierung gestaltet sind, werden in dem U.S.-Patent Nr. 5,727,123 beschrieben, das der Anmelderin der vorliegenden Erfindung erteilt wurde und durch Bezugnahme hier vollständig aufgenommen ist, und in der U.S.-Anmeldung Nr. 08/197,417 mit dem Titel „APPLICATION SPECIFIC INTEGRATED CIRCUIT (ASIC) FOR PERFORMING RAPID SPEECH COMPRESSION IN A MOBILE TELEPHONE SYSTEM", angemeldet am 16. Februar 1994, nun U.S.-Patent Nr. 5,784,532, der Anmelderin der vorliegenden Erfindung am 21. Juli 1998 erteilt.
  • Gemäß einem Ausführungsbeispiel umfasst, wie in 2 dargestellt, ein Multimode-MDLP-Codierer 100, der in einem Sprachcodierer verwendet werden kann, ein Modusentscheidungsmodul 102, ein Pitch-Schätzmodul 104, ein LP(linear prediction)-Analysemodul 106, einen LP-Analysefilter 108, ein LP-Quantisierungsmodul 110 und einen MDLP-Rest-Codierer 112. Eingangssprachrahmen s(n) werden an das Modusentscheidungsmodul 102, das Pitch-Schätzmodul 104, das LP-Analysemodul 106 und den LP-Analysefilter 108 geliefert. Das Modusentscheidungsmodul 102 erzeugt einen Modusindex IM und einen Modus M basierend auf der Periodizität und anderer extrahierter Parameter, wie Energie, spektrale Neigung (tilt), Nulldurchgangsrate, usw. jedes eingegebenen Sprachrahmens s(n). Verschiedene Verfahren zum Klassifizieren von Sprachrahmen gemäß einer Periodizität werden beschrieben in der U.S.-Anmeldung Nr. 08/815,354 mit dem Titel „METHOD AND APPARATUS FOR PERFORMING SPEECH FRAME ENCODING MODE SELECTION IN A VARIABLE RATE ENCODING SYSTEM", angemeldet 11. März 1997, nun U.S.-Patent Nr. 5,911,128, der Anmelderin der vorliegenden Erfindung am 8. Juni 1999 erteilt. Derartige Verfahren sind auch in den Telecommunication Industry Association Industry Interim Standards TIA/EIA IS-127 und TIA/EIA IS-733 enthalten.
  • Das Pitch-Schätzmodul 104 erzeugt einen Pitch-Index IP und einen Verzögerungs(lag)-Wert P0 basierend auf jedem Eingangssprachrahmen s(n). Das LP-Analysemodul 106 führt eine linear prädiktive Analyse auf jedem Eingangssprachrahmen s(n) durch, um einen LP-Parameter α zu erzeugen. Der LP-Parameter α wird an das LP-Quantisierungsmodul 110 geliefert. Das LP-Quantisierungsmodul 110 empfängt auch den Modus M, wodurch es den Quantisierungsprozess auf eine Modus-abhängige Weise durchführt. Das LP-Quantisierungsmodul 110 erzeugt einen LP-Index ILP und einen quantisierten LP-Parameter α ^. Der LP-Analysefilter 108 empfängt den quantisierten LP-Parameter α ^ zusätzlich zu dem Eingangssprachrahmen s(n). Der LP-Analysefilter 108 erzeugt ein LP-Restsignal R[n], das den Fehler zwischen den Eingangssprachrahmen s(n) und der rekonstruierten Sprache basierend auf den quantisierten linear prädiktiven Parametern α ^ darstellt. Der LP-Rest R[n], der Modus M und der quantisierte LP-Parameter α ^ werden an den MDLP-Rest-Codierer 112 geliefert. Basierend auf diesen Werten erzeugt der MDLP-Rest-Codierer 112 einen Rest-Index IR und ein quantisiertes Restsignal R ^[n] gemäß Schritten, die im Folgenden unter Bezugnahme auf das Ablaufdiagramm von 4 beschrieben werden.
  • In 3 umfasst ein Decodierer 200, der in einem Sprachcodierer verwendet werden kann, ein LP-Parameter-Decodiermodul 202, ein Rest-Decodiermodul 204, ein Modus-Decodiermodul 206 und einen LP-Synthesefilter 208. Das Modus-Decodiermodul 206 empfängt und decodiert einen Modus-Index IM und erzeugt daraus einen Modus M. Das LP-Parameter-Decodiermodul 202 empfängt den Modus M und einen LP-Index ILP. Das LP-Parameter-Decodiermodul 202 decodiert die empfangenen Werte, um einen quantisierten LP-Parameter α ^ zu erzeugen. Das Rest-Decodiermodul 204 empfängt einen Rest-Index IR, einen Pitch-Index IP und den Modus-Index IM. Das Rest-Decodiermodul 204 decodiert die empfange nen Werte, um ein quantisiertes Restsignal R ^[n] zu erzeugen. Das quantisierte Restsignal R ^[n] und der quantisierte LP-Parameter α ^ werden an den LP-Synthesefilter 208 geliefert, der daraus ein decodiertes Ausgabesprachsignal s ^[n] synthetisiert.
  • Mit Ausnahme des MDLP-Rest-Codierers 112 sind der Betrieb und die Implementierung der verschiedenen Module des Codierers 100 von 2 und des Decodiertes 200 von 3 in der Technik bekannt und werden in dem oben angeführten U.S.-Patent Nr. 5,414,796 und von L. B. Rabiner & R. W. Schafer in „Digital Processing of Speech Signals", 396–453 (1978), beschrieben.
  • Gemäß einem Ausführungsbeispiel führt ein MDLP-Codierer (nicht gezeigt) die in dem Ablaufdiagramm von 4 gezeigten Schritte durch. Der MDLP-Codierer könnte der MDLP-Rest-Codierer 112 von 2 sein. In Schritt 300 prüft der MDLP-Codierer, ob der Modus M eine volle Rate (FR – full rate), eine viertel Rate (QR – quarter rate) oder eine achtel Rate (ER – eighth rate) ist. Wenn der Modus M FR, QR oder ER ist, geht der MDLP-Codierer zu Schritt 302 weiter. In Schritt 302 wendet der MDLP-Codierer die entsprechende Rate (FR, QR oder ER – abhängig von dem Wert von M) auf den Rest-Index IR an. Eine Zeitbereichscodierung, die für den FR-Modus eine hochgenaue Codierung mit hoher Rate ist und vorzugsweise eine CELP-Codierung sein kann, wird auf einen LP-Rest-Rahmen oder alternativ auf einen Sprachrahmen angewendet. Der Rahmen wird dann übertragen (nach einer weiteren Signalverarbeitung, einschließlich einer Digital-Analog-Wandlung und Modulation). In einem Ausführungsbeispiel ist der Rahmen ein LP-Rest-Rahmen, der einen Prädiktionsfehler darstellt. In einem alternativen Ausführungsbeispiel ist der Rahmen ein Sprachrahmen, der Sprachabtastwerte darstellt.
  • Wenn andererseits in Schritt 300 der Modus M nicht FR, QR oder ER war (d.h. wenn der Modus M eine halbe Rate (HR – half rate) ist), geht der MDLP-Codierer zu Schritt 304 weiter. In Schritt 304 wird eine spektrale Codierung, die vorzugsweise eine harmonische Codierung ist, mit halber Rate auf den LP-Rest oder alternativ auf das Sprachsignal angewendet. Der MDLP-Codierer geht dann zu Schritt 306 weiter. In Schritt 306 wird ein Verzerrungsmaß D durch Decodieren der codierten Sprache und deren Vergleich mit dem ursprünglich eingegebenen Rahmen erlangt. Der MDLP-Codierer geht dann zu Schritt 308. In Schritt 308 wird das Verzerrungsmaß D mit einem vordefinierten Schwellenwert T verglichen. Wenn das Verzerrungsmaß D größer als die Schwelle T ist, werden die entsprechenden quantisierten Parameter für den spektral codierten halbe-Rate-Rahmen moduliert und übertragen. Wenn andererseits das Verzerrungsmaß D nicht größer als die Schwelle T ist, geht der MDLP-Codierer zu Schritt 310. In Schritt 310 wird der decodierte Rahmen in dem Zeitbereich wiederum mit voller Rate codiert. Jeder herkömmliche hochgenaue Codieralgorithmus mit hoher Rate kann verwendet werden, wie vorzugsweise eine CELP-Codierung. Die FR-Modus quantisierten Parameter, die zu dem Rahmen gehören, werden dann moduliert und übertragen.
  • Wie in dem Ablaufdiagramm von 5 dargestellt wird, folgt ein Regelungs-Multimode-MDLP-Sprachcodierer gemäß einem Ausführungsbeispiel einem Satz von Schritten bei der Verarbeitung von Sprachabtastwerten für eine Übertragung. In Schritt 400 empfängt der Sprachcodierer digitale Abtastwerte eines Sprachsignals in aufeinander folgenden Rahmen. Bei Empfang eines bestimmten Rahmens geht der Sprachcodierer zu Schritt 402. In Schritt 402 erfasst der Sprachcodierer die Energie des Rahmens. Die Energie ist ein Maß der Sprachaktivität des Rahmens. Eine Spracherfassung wird durchgeführt durch Summieren der Quadrate der Amplituden der digitalisierten Sprachabtastwerte und Vergleichen der resultierenden Energie mit einem Schwellenwert. In einem Ausführungsbeispiel passt sich der Schwellenwert basierend auf dem sich ändernden Pegel von Hintergrundrauschen an. Ein beispielhafter Sprachaktivitäts-Detektor mit variabler Schwelle wird in dem oben angeführten U.S.-Patent Nr. 5,414,796 beschrieben. Einige stimmlose Sprachtöne können Abtastwerte mit extrem niedriger Energie sein, die irrtümlich als Hintergrundrauschen codiert werden können. Um dies zu verhindern, kann die spektrale Neigung von Niedrigenergie-Abtastwerten verwendet werden, um die stimmlose Sprache von einem Hintergrundrauschen zu unterscheiden, wie in dem oben angeführten U.S.-Patent Nr. 5,414,796 beschrieben wird.
  • Nach der Erfassung der Energie des Rahmens geht der Sprachcodierer zu Schritt 404. In Schritt 404 bestimmt der Sprachcodierer, ob die erfasste Rahmenenergie ausreichend ist, um den Rahmen als Sprachinformation enthaltend zu klassifizieren. Wenn die erfasste Rahmenenergie unter einen vordefinierten Schwellenpegel fällt, geht der Sprachcodierer zu Schritt 406. In Schritt 406 codiert der Sprachcodierer den Rahmen als Hintergrundrauschen (d.h. keine Sprache oder Stille). In einem Ausführungsbeispiel wird der Rahmen mit Hintergrundrauschen mit 1/8 Rate oder 1 kbps Zeitbereichscodiert. Wenn in Schritt 404 die erfasste Rahmenenergie den vordefinierten Schwellenpegel erreicht oder übersteigt, wird der Rahmen als Sprache klassifiziert und der Sprachcodierer geht zu Schritt 408 weiter.
  • In Schritt 408 bestimmt der Sprachcodierer, ob der Rahmen periodisch ist. Verschiedene bekannte Verfahren zur Bestimmung einer Periodizität umfassen zum Beispiel die Verwendung von Nulldurchgängen und die Verwendung von normalisierten Autokorrelationsfunktionen (NACFs – normalized autocorrelation functions). Insbesondere wird eine Verwendung von Nulldurchgängen und NACFs zur Erfassung einer Periodizität beschrieben in der U.S.-Anmeldung Nr. 08/815,354 mit dem Titel „METHOD AND APPARATUS FOR PERFORMING SPEECH FRAME ENCODING MODE SELECTION IN A VARIABLE RATE ENCODING SYSTEM", angemeldet 11. März 1997, nun U.S.-Patent Nr. 5,911,128, der Anmelderin der vorliegenden Erfindung am 8. Juni 1999 erteilt. Zusätzlich sind die obigen Verfahren, die zur Unterscheidung von stimmhafter Sprache von stimmloser Sprache verwendet werden, in den Telecommunication Industry Association Industry Interim Standards TIA/EIA IS-127 und TIA/EIA IS-733 enthalten. Wenn in Schritt 408 bestimmt wird, dass der Rahmen nicht periodisch ist, geht der Sprachcodierer zu Schritt 410. In Schritt 410 codiert der Sprachcodierer den Rahmen als stimmlose Sprache. In einem Ausführungsbeispiel werden stimmlose Sprachrahmen mit 1/4 Rate oder 2 kbps Zeitbereichs-codiert. Wenn in Schritt 408 bestimmt wird, dass der Rahmen periodisch ist, geht der Sprachcodierer zu Schritt 412.
  • In Schritt 412 bestimmt der Sprachcodierer, ob der Rahmen ausreichend periodisch ist unter Verwendung von Verfahren zur Bestimmung einer Periodizität, die in der Technik bekannt sind, wie zum Beispiel in dem oben angeführten U.S.-Patent Nr. 5,911,28 beschrieben wird. Wenn der Rahmen als nicht ausreichend periodisch bestimmt wird, geht der Sprachcodierer zu Schritt 414. In Schritt 414 wird der Rahmen als Übergangssprache (d.h. Übergang von stimmloser Sprache zu stimmhafter Sprache) Zeitbereichscodiert. In einem Ausführungsbeispiel wird der Übergangssprachrahmen mit voller Rate oder 8 kbps Zeitbereichs-codiert.
  • Wenn in Schritt 412 der Sprachcodierer feststellt, dass der Rahmen ausreichend periodisch ist, geht der Sprachcodierer zu Schritt 416. In Schritt 416 codiert der Sprachcodierer den Rahmen als stimmhafte Sprache. In einem Ausführungsbeispiel werden stimmhafte Sprachrahmen mit halber Rate oder 4 kbps spektral codiert. Vorzugsweise werden die stimmhaften Sprachrahmen spektral codiert mit einem harmonischen Codierer, wie im Folgenden unter Bezugname auf 7 beschrieben wird. Alternativ können andere spektrale Codierer verwendet werden, wie zum Beispiel sinusförmige Umcodierer (sinusoidal transform coders) oder Mehrband-Erregungscodierer (multiband excitation coders), wie in der Technik bekannt. Der Sprachcodierer geht dann zu Schritt 418 weiter. In Schritt 418 decodiert der Sprachcodierer den codierten stimmhaften Sprachrahmen. Der Sprachcodierer geht dann zu Schritt 420 weiter. In Schritt 420 wird der decodierte stimmhafte Sprachrahmen mit den entsprechenden eingegebenen Sprachabtastwerten für diesen Rahmen verglichen, um ein Maß für die Verzerrung einer synthetisierten Sprache zu erhalten und um zu bestimmen, ob das spektrale Codiermodell für stimmhafte Sprache mit halber Rate innerhalb akzeptabler Grenzen arbeitet. Der Sprachcodierer geht dann zu Schritt 422.
  • In Schritt 422 bestimmt der Sprachcodierer, ob der Fehler zwischen dem decodierten stimmhaften Sprachrahmen und den dem Rahmen entsprechenden eingegebenen Sprachabtastwerten unter einen vordefinierten Schwellenwert fällt. Gemäß einem Ausführungsbeispiel wird diese Feststellung auf die unten unter Bezugnahme auf 6 beschriebene Weise durchgeführt. Wenn die Codierungsverzerrung unter den vordefinierten Schwellenwert fällt, geht der Sprachcodierer zu Schritt 426. In Schritt 426 überträgt der Sprachcodierer den Rahmen als stimmhafte Sprache unter Verwendung der Parameter von Schritt 416. Wenn in Schritt 422 die Codierungsverzerrung den vordefinierten Schwellenwert erreicht oder übersteigt, geht der Sprachcodierer zu Schritt 414 und codiert den in Schritt 400 empfangenen Rahmen von digitalisierten Sprachabtastwerten als Übergangssprache mit voller Rate im Zeitbereich.
  • Es sollte darauf hingewiesen werden, dass die Schritte 400410 einen gesteuerten Codierentscheidungsmodus aufweisen. Die Schritte 412426 andererseits weisen einen Regelungs-Codierentscheidungsmodus auf.
  • In einem in 6 gezeigten Ausführungsbeispiel umfasst ein geregelter Multimode-MDLP-Sprachcodierer einen Analog-Digital-Wandler (A/D) 500, der mit einem Rahmenpuffer verbunden ist, der wiederum mit einem Steuerungsprozessor 504 verbunden ist. Ein Energie-Rechner 506, ein „stimmhafte Sprache"-Detektor 508, ein Hintergrundrauschen-Codierer 510, ein Zeitbereichs-Codierer 512 mit hoher Rate und ein spektraler Codierer 514 mit niedriger Rate sind mit dem Steuerungsprozessor 504 verbunden. Ein spektraler Decodierer 516 ist mit dem spektralen Codierer 514 verbunden und ein Fehler-Rechner 518 ist mit dem spektralen Decodierer 516 und dem Steuerungsprozessor 504 verbunden. Ein Schwellen-Vergleicher 520 ist mit dem Fehler-Rechner 518 und mit dem Steuerungsprozessor 504 verbunden.
  • Ein Puffer 522 ist mit dem spektralen Codierer 514, dem spektralen Decodierer 516 und dem Schwellen-Vergleicher 520 verbunden.
  • In dem Ausführungsbeispiel von 6 sind die Komponenten des Sprachcodierers vorzugsweise als Firmware oder andere Software-betriebene Module in dem Sprachcodierer implementiert, der sich selbst vorzugsweise in einem DSP oder einem ASIC befindet. Fachleute werden verstehen, dass die Komponenten des Sprachcodierers genauso gut in einer Anzahl von anderen bekannten Weisen implementiert werden können. Der Steuerungsprozessor 504 kann vorzugsweise ein Mikroprozessor sein, kann aber auch mittels einer Steuereinrichtung, einer Zustandsmaschine oder diskreter Logik implementiert werden.
  • In dem Multimode-Codierer von 6 werden Sprachsignale an den A/D 500 geliefert. Der A/D 500 wandelt die analogen Signale in Rahmen von digitalisierten Sprachabtastwerten S(n). Die digitalisierten Sprachabtastwerte werden an den Rahmenpuffer 502 geliefert. Der Steuerungsprozessor 504 entnimmt die digitalisierten Sprachabtastwerte aus dem Rahmenpuffer 502 und liefert sie an den Energie-Rechner 506. Der Energie-Rechner 506 berechnet die Energie E der Sprachabtastwerte gemäß der folgenden Gleichung:
    Figure 00180001
    wobei die Rahmen 20 ms lang sind und die Abtastrate 8 KHz beträgt. Die berechnete Energie E wird zurück an den Steuerungsprozessor 504 gesendet.
  • Der Steuerungsprozessor 504 vergleicht die berechnete Sprachenergie mit einer Sprachaktivitätsschwelle. Wenn die berechnete Energie unter der Sprachaktivitätsschwelle liegt, leitet der Steuerungsprozessor 504 die digitalisierten Sprachabtastwerte von dem Rahmenpuffer 502 an den Hinter grundrauschen-Codierer 510. Der Hintergrundrauschen-Codierer 510 codiert die Rahmen unter Verwendung der minimalen Anzahl von Bits, die erforderlich sind, um eine Schätzung des Hintergrundrauschens zu behalten.
  • Wenn die berechnete Energie größer als die oder gleich der Sprachaktivitätsschwelle ist, leitet der Steuerungsprozessor 504 die digitalisierten Sprachabtastwerte von dem Rahmenpuffer 502 an den Detektor 508 für stimmhafte Sprache. Der Detektor 508 für stimmhafte Sprache bestimmt, ob die Sprachrahmenperiodizität eine effiziente Codierung unter Verwendung einer spektralen Codierung mit niedriger Bitrate ermöglicht. Verfahren zum Bestimmen des Periodizitätsgrads in einem Sprachrahmen sind in der Technik weithin bekannt und umfassen zum Beispiel die Verwendung von normalisierten Autokorrelationsfunktionen (NACFs) und Nulldurchgängen. Diese Verfahren und andere werden in dem oben angeführten U.S.-Patent Nr. 5,911,128 beschrieben.
  • Der Detektor 508 für stimmhafte Sprache liefert ein Signal an den Steuerungsprozessor 504, das anzeigt, ob der Sprachrahmen eine Sprache mit ausreichender Periodizität enthält, um effizient durch den spektralen Codierer 514 codiert zu werden. Wenn der Detektor 508 für stimmhafte Sprache bestimmt, dass dem Sprachrahmen eine ausreichende Periodizität fehlt, leitet der Steuerungsprozessor 504 die digitalisierten Sprachabtastwerte an den Codierer 512 mit hoher Rate, der die Sprache mit einer vorgegebenen maximalen Datenrate im Zeitbereich codiert. In einem Ausführungsbeispiel ist die maximale Datenrate 8 kbps und der Codierer 512 mit hoher Rate ist ein CELP-Codierer.
  • Wenn der Detektor 508 für stimmhafte Sprache anfangs bestimmt, dass der Sprachrahmen eine ausreichende Periodizität hat, um effizient von dem spektralen Codierer 514 codiert zu werden, leitet der Steuerungsprozessor 504 die digitalisierten Sprachabtastwerte von dem Rahmenpuffer 502 an den spektralen Codierer 514. Ein beispielhafter spektraler Codierer wird im Folgenden unter Bezugnahme auf 7 detailliert beschrieben.
  • Der spektrale Codierer 514 extrahiert die geschätzte Pitch-Frequenz F0, die Amplituden AI der Harmonischen bzw. Oberschwingungen (harmonics) der Pitch-Frequenz und eine Stimmhaftigkeits(voicing)-Information VC. Der spektrale Codierer 514 liefert diese Parameter an den Puffer 520 und an den spektralen Decodierer 516. Der spektrale Decodierer 516 kann in herkömmlichen CELP-Codierern vorzugsweise analog zu dem Decodierer des Codierers sein. Der spektrale Decodierer 516 erzeugt synthetisierte Sprachabtastwerte SS ^(n)gemäß einem spektralen Decodierungsformat (im Folgenden unter Bezugnahme auf 7 beschrieben) und liefert die synthetisierten Sprachabtastwerte an den Fehler-Rechner 518. Der Steuerungsprozessor 504 sendet die Sprachabtastwerte S(n) an den Fehler-Rechner 518.
  • Der Fehler-Rechner 518 berechnet den mittleren quadratischen Fehler (MSE – mean square error) zwischen jedem Sprachabtastwert S(n) und jedem entsprechenden synthetisierten Sprachabtastwert SS ^(n)gemäß der folgenden Gleichung:
  • Figure 00200001
  • Der berechnete MSE wird an den Schwellen-Vergleicher 520 geliefert, der bestimmt, ob der Verzerrungsgrad sich innerhalb akzeptabler Grenzen befindet, d.h. ob der Verzerrungsgrad unter einem vordefinierten Schwellenwert liegt.
  • Wenn sich der berechnete MSE innerhalb akzeptabler Grenzen befindet, liefert der Schwellen-Vergleicher 520 ein Signal an den Rahmen-Puffer 502 und die spektral codierten Daten werden von dem Sprachcodierer ausgege ben. Wenn andererseits der MSE sich nicht innerhalb akzeptabler Grenzen befindet, liefert der Schwellen-Vergleicher 520 ein Signal an den Steuerungsprozessor 504, der wiederum die digitalisierten Abtastwerte von dem Rahmenpuffer 502 an den Zeitbereichs-Codierer 512 mit hoher Rate leitet. Der Zeitbereichs-Codierer 512 codiert die Rahmen mit einer vorgegebenen maximalen Rate und die Inhalte des Puffers 522 werden verworfen.
  • In dem Ausführungsbeispiel von 6 ist der eingesetzte Typ von spektraler Codierung eine harmonische Codierung, wie im Folgenden unter Bezugnahme auf 7 beschrieben wird, kann alternativ aber jeder Typ einer spektralen Codierung sein, wie zum Beispiel eine sinusförmige Umcodierung oder eine Mehrband-Erregungscodierung. Die Verwendung einer Mehrband-Erregungscodierung wird z.B. in dem U.S.-Patent Nr. 5,195,166 beschrieben und die Verwendung einer sinusförmigen Umcodierung wird z.B. in dem U.S.-Patent Nr. 4,865,068 beschrieben.
  • Für Übergangsrahmen und für stimmhafte Rahmen, für die der Phasenverzerrungsschwellenwert gleich oder niedriger als der Periodizitätsparameter ist, setzt der Multimode-Codierer von 5 vorzugsweise eine CELP-Codierung mit voller Rate, oder 8 kbps, mittels des Zeitbereichs-Codierers 512 mit hoher Rate ein. Alternativ kann jede andere bekannte Form einer Zeitbereichs-Codierung mit hoher Rate für derartige Rahmen verwendet werden. Somit werden Übergangsrahmen (und stimmhafte Rahmen, die nicht ausreichend periodisch sind) mit hoher Präzision codiert, so dass die Wellenformen an Eingang und Ausgang gut übereinstimmen, wobei die Phaseninformation gut behalten wird. In einem Ausführungsbeispiel wechselt der Multimode-Codierer von einer spektralen Codierung mit halber Rate zu einer CELP-Codierung mit voller Rate für einen Rahmen, ohne die Feststellung des Schwellen-Vergleicher 520 zu berücksichtigen, nachdem eine vordefinierte Anzahl von aufeinander folgenden stimmhaften Rahmen, für die der Schwellenwert das Periodizitätsmaß übersteigt, verarbeitet ist.
  • Es sollte angemerkt werden, dass in Verbindung mit dem Steuerungsprozessor 504 der Energie-Rechner 506 und der „stimmhafte Sprache"-Detektor508 Steuerungs-Codierentscheidungen aufweisen. Im Gegensatz dazu weisen in Verbindung mit dem Steuerungsprozessor 504 der spektrale Codierer 514, der spektrale Decodierer 516, der Fehler-Rechner 518, der Schwellen-Vergleicher 520 und der Puffer 522 eine Regelungs-Codierentscheidung auf.
  • In einem unter Bezugnahme auf 7 beschriebenen Ausführungsbeispiel wird eine spektrale Codierung und vorzugsweise eine harmonische Codierung verwendet, um ausreichend periodische stimmhafte Rahmen mit einer niedrigen Bitrate zu codieren. Spektrale Codierer sind im Allgemeinen definiert als Algorithmen, die versuchen, die Zeitentwicklung von spektralen Sprachcharakteristiken in einer wahrnehmbar bedeutsamen Weise beizubehalten durch Modellieren und Codieren jedes Sprachrahmens in dem Frequenzbereich. Die wichtigsten Teile derartiger Algorithmen sind: (1) eine spektrale Analyse oder Parameterschätzung; (2) eine Parameter-Quantisierung; und (3) eine Synthese der Ausgabesprachwellenform mit den decodierten Parametern. Folglich ist das Ziel, die wichtigen Charakteristiken des Kurzzeit-Sprachspektrums mit einem Satz von spektralen Parametern zu erhalten, die Parameter zu codieren und dann die Ausgabesprache unter Verwendung der decodierten spektralen Parameter zu synthetisieren. Typischerweise wird die ausgegebene Sprache als eine gewichtete Summe von Sinuskurven synthetisiert. Die Amplituden, Frequenzen und Phasen der Sinuskurven sind die während der Analyse geschätzten spektralen Parameter.
  • Während eine „Analyse durch Synthese" eine weithin bekannte Technik bei der CELP-Codierung ist, wird diese Technik bei der spektralen Codierung nicht eingesetzt. Der primäre Grund, dass eine Analyse durch Synthese nicht auf spektrale Codierer angewendet wird, liegt darin, dass aufgrund des Verlustes der anfänglichen Phaseninformation die mittlere quadratische Energie (MSE – mean square energy) der synthetisierten Sprache hoch sein kann, obwohl das Sprachmodell von einem wahrnehmbaren Standpunkt her gut funktioniert. Somit ist ein weiterer Vorteil einer genauen Erzeugung der an fänglichen Phase die daraus resultierende Fähigkeit, die Sprachabtastwerte und die rekonstruierte Sprache direkt zu vergleichen, um zu bestimmen, ob das Sprachmodell Sprachrahmen genau codiert.
  • In einer spektralen Codierung wird der Ausgabesprachrahmen synthetisiert als: S[n] = Sv[n] + Suv[n], n = 1, 2, ..., N,wobei N die Anzahl von Abtastwerten pro Rahmen ist und Sv und Suv jeweils die stimmhaften und stimmlosen Komponenten sind. Ein „Summe-der-Sinuskurven"-Syntheseprozess erzeugt die stimmhafte Komponente wie folgt:
    Figure 00230001
    wobei L die gesamte Anzahl von Sinuskurven ist, fk sind die interessanten Frequenzen in dem Kurzzeitspektrum, A(k,n) sind die Amplituden der Sinuskurven und θ(k,n) sind die Phasen der Sinuskurven. Die Amplitude, die Frequenz und die Phasenparameter werden aus dem Kurzzeitspektrum des Eingangsrahmens durch einen spektralen Analyseprozess geschätzt. Die stimmlose Komponente kann zusammen mit dem stimmhaften Teil in einer einzelnen „Summe-der-Sinuskurven"-Synthese erzeugt werden oder sie kann getrennt durch einen bestimmten stimmlosen Syntheseprozess berechnet werden und dann wieder zu Sv hinzugefügt werden.
  • In dem Ausführungsbeispiel von 7 wird ein bestimmter Typ eines spektralen Codierers, als harmonischer Codierer bezeichnet, verwendet, um ausreichend periodische stimmhafte Rahmen mit einer niedrigen Bitrate spektral zu codieren. Harmonische Codierer charakterisieren einen Rahmen als eine Summe von Sinuskurven und analysieren kleine Segmente des Rahmens. Jede Sinuskurve in der Summe von Sinuskurven hat eine Frequenz, die ein ganzzahliges Mehrfaches des Pitches F0 des Rahmens ist. In einem alternativen Ausführungsbeispiel, in dem der bestimmte Typ des verwendeten spektralen Codierers ein anderer als der harmonische Codierer ist, werden die Sinuskurven-Frequenzen für jeden Rahmen aus einem Satz von realen Zahlen zwischen 0 und 2π genommen. In dem Ausführungsbeispiel von 7 werden die Amplituden und Phasen jeder Sinuskurve in der Summe vorzugsweise derart ausgewählt, dass die Summe mit dem Signal über eine Periode gut übereinstimmt, wie von dem Graph von 8 dargestellt wird. Harmonische Codierer setzen typischerweise eine externe Klassifizierung ein, die jeden Eingangssprachrahmen als stimmhaft oder stimmlos markiert. Für einen stimmhaften Rahmen sind die Frequenzen der Sinuskurven auf die Harmonischen (harmonics) der geschätzten Grundfrequenz (pitch) (F0) beschränkt, d.h. fk = kF0. Für eine stimmlose Sprache werden die Spitzen des Kurzzeitspektrums verwendet, um die Sinuskurven zu bestimmen. Die Amplituden und die Phasen werden interpoliert, um ihre Entwicklung über die Rahmen zu imitieren als: A(k,n) = Ci(k)·n + C2(k) θ(k,n) = Bi(k)·n2 + B2(k)·n + B3(k)wobei die Koeffizienten [Ci(k), Bi(k)] aus den augenblicklichen Werten der Amplituden, Frequenzen und Phasen an den spezifizierten Frequenzorten fk (= kf0) aus der Kurzzeit-Fourier-Transformation (STFT – short-term Fourier transform) eines gefensterten (windowed) Eingangssprachrahmen geschätzt werden. Die pro Sinuskurve zu übertragenden Parameter sind die Amplitude und die Frequenz. Die Phase wird nicht übertragen, sondern wird stattdessen modelliert gemäß einer von mehreren bekannten Techniken, einschließlich z.B. dem quadratischen Phasen-Modell oder jeder anderen herkömmlichen polynomischen Darstellung der Phase.
  • Wie in 7 dargestellt, umfasst ein harmonischer Codierer einen Pitch-Extrahierer 600, der mit einer Fensterungs-Logik 602 und einer diskreten Fourier-Transfomation (DFT – discrete Fourier transform) und harmonischen Analyse-Logik 604 verbunden ist. Der Pitch-Extrahierer 600, der Sprachabtastwerte S(n) als eine Eingabe empfängt, ist auch mit der DFT und harmonischen Analyse-Logik 604 verbunden. Die DFT und harmonische Analyse-Logik 604 ist verbunden mit einem Rest-Codierer 606. Der Pitch-Extrahierer 600, die DFT und harmonische Analyse-Logik 604 und der Rest-Codierer 606 sind jeweils mit einem Parameter-Quantisierer 608 verbunden. Der Parameter-Quantisierer 608 ist mit einem Kanal-Codierer 610 verbunden, der wiederum mit einem Sender 612 verbunden ist. Der Sender 612 ist mittels einer standardmäßigen HF-Schnittstelle, wie z.B. eine CDMA(code division multiple access)-über-die-Luft(over-the-air)-Schnittstelle, mit einem Empfänger 614 verbunden. Der Empfänger 614 ist mit einem Kanal-Decodierer 616 verbunden, der wiederum mit einem Dequantisierer 618 verbunden ist. Der Dequantisierer 618 ist mit einem „Summe von Sinuskurven"-Sprachsynthetisierer 620 verbunden. Mit dem einem „Summe von Sinuskurven"-Sprachsynthetisierer 620 ist auch ein Phasen-Schätzer 622 verbunden, der eine Information über frühere Rahmen als eine Eingabe empfängt. Der „Summe von Sinuskurven"-Sprachsynthetisierer 620 ist konfiguriert, eine synthetisierte Sprachausgabe SSYNTH(n) zu erzeugen.
  • Der Pitch-Extrahierer 600, die Fensterungs-Logik 602, die DFT und harmonische Analyse-Logik 604, der Rest-Codierer 606, der Parameter-Quantisierer 608, der Kanal-Codierer 610, der Kanal-Decodierer 616, der Dequantisierer 618, der „Summe von Sinuskurven"-Sprachsynthetisierer 620 und der Phasen-Schätzer 622 können auf eine Vielzahl von unterschiedlichen Weisen, die den Fachleuten bekannt sind, implementiert werden, einschließlich zum Beispiel Firmware oder Softwaremodule. Der Sender 612 und der Empfänger 614 können implementiert werden mit allen äquivalenten standardmäßigen HF-Komponenten, die den Fachleuten bekannt sind.
  • In dem harmonischen Codierer von 7 werden eingegebene Abtastwerte S(n) von dem Pitch-Extrahierer 600 empfangen, der eine Pitch-Frequenz-Information F0 extrahiert. Die Abtastwerte werden dann mit einer geeigneten Fensterungs-Funktion durch die Fensterungs-Logik 602 multipliziert, um eine Analyse von kleinen Segmenten eines Sprachrahmens zu ermöglichen. Unter Verwendung der von dem Pitch-Extrahierer 600 gelieferten Pitch-Information berechnet die DFT und harmonische Analyse-Logik 604 die DFT der Abtastwerte, um komplexe spektrale Punkte zu erzeugen, aus denen harmonische Amplituden Ai extrahiert werden, wie von dem Graph in 8 dargestellt wird, wobei L die gesamte Anzahl von Harmonischen bezeichnet. Die DFT wird an den Rest-Codierer 606 geliefert, der eine Stimmhaftigkeits(voicing)-Information Vc extrahiert.
  • Es sollte angemerkt werden, dass der Vc-Parameter einen Punkt auf der Frequenzachse bezeichnet, wie in 8 gezeigt, oberhalb dem das Spektrum charakteristisch für ein stimmloses Sprachsignal ist und nicht länger harmonisch ist. Im Gegensatz dazu ist unterhalb des Punkts Vc das Spektrum harmonisch und charakteristisch für eine stimmhafte Sprache.
  • Die Komponenten Ai, F0 und Vc werden an den Parameter-Quantisierer 608 geliefert, der de Information quantisiert. Die quantisierte Information wird in der Form von Paketen an den Kanal-Codierer 610 geliefert, der die Pakete mit einer niedrigen Bitrate, wie z.B. halber Rate oder 4 kbps, quantisiert. Die Pakete werden an den Sender 612 geliefert, der die Pakete moduliert und das resultierende Signal über die Luft (over-the-air) an den Empfänger 614 überträgt. Der Empfänger 614 empfängt und demoduliert das Signal und leitet die codierten Pakete an den Kanal-Decodierer 616 weiter. Der Kanal-Decodierer 616 decodiert die Pakete und liefert die decodierten Pakete an den Dequantisierer 618. Der Dequantisierer 618 dequantisiert die Information. Die Information wird an den „Summe von Sinuskurven"-Sprachsynthetisierer 620 geliefert.
  • Der „Summe von Sinuskurven"-Sprachsynthetisierer 620 ist konfiguriert, eine Vielzahl von Sinuskurven zu synthetisieren, wobei er das Kurzzeit-Sprachspektrum gemäß der obigen Gleichung für S[n] modelliert. Die Frequenzen fk der Sinuskurven sind Vielfache oder Harmonische der Funda mentalfrequenz F0, welche die Frequenz einer Pitch-Periodizität für quasiperiodische (d.h. Übergang) stimmhafte Sprachsegmente ist.
  • Der „Summe von Sinuskurven"-Sprachsynthetisierer 620 empfängt auch eine Phasen-Information von dem Phasen-Schätzer 622. Der Phasen-Schätzer 622 empfängt eine Information über frühere Rahmen, d.h. die Parameter Ai, F0 und Vc für den unmittelbar vorausgehenden Rahmen. Der Phasen-Schätzer 622 empfängt auch die rekonstruierten N Abtastwerte des vorherigen Rahmens, wobei N die Rahmenlänge ist (d.h. N ist die Anzahl von Abtastwerten pro Rahmen). Der Phasen-Schätzer 622 bestimmt die anfängliche Phase für den Rahmen basieren auf der Information für den vorherigen Rahmen. Die Bestimmung der anfänglichen Phase wird an den „Summe von Sinuskurven"-Sprachsynthetisierer 620 geliefert. Basierend auf der Information für den aktuellen Rahmen und der Berechnung für die anfängliche Phase, die von dem Phasen-Schätzer 622 basierend auf der Information des letzten Rahmens durchgeführt wurde, erzeugt der „Summe von Sinuskurven"-Sprachsynthetisierer 620 synthetische Sprachrahmen, wie oben beschrieben.
  • Wie oben beschrieben, synthetisieren oder rekonstruieren harmonische CoCodierer Sprachrahmen durch Verwendung einer Information von vorherigen Rahmen und einer Vorhersage, dass die Phase linear von Rahmen zu Rahmen variiert. In dem oben beschriebenen Synthesemodell, das im Allgemeinen als das quadratische Phasen-Modell bezeichnet wird, stellt der Koeffizient B3(k) die anfängliche Phase für den aktuellen stimmhaften Rahmen dar, der synthetisiert wird. Bei der Bestimmung der Phase setzen herkömmliche harmonische Codierer entweder die anfängliche Phase auf Null oder erzeugen einen anfänglichen Phasenwert zufällig oder mit einem pseudozufälligen Erzeugungsverfahren. Um die Phase genauer vorherzusagen, verwendet der Phasen-Schätzer 622 eines von zwei möglichen Verfahren zur Bestimmung der anfänglichen Phase, abhängig davon, ob der unmittelbar vorhergehende Rahmen als ein stimmhafter Sprachrahmen (d.h. ausreichend periodischer Rahmen) oder als ein Übergangssprachrahmen bestimmt wurde. Wenn der stimmt wurde. Wenn der vorherige Rahmen ein stimmhafter Sprachrahmen war, wird der letzte geschätzte Phasenwert dieses Rahmens als der anfängliche Phasenwert des aktuellen Rahmens verwendet. Wenn andererseits der vorherige Rahmen als ein Übergangsrahmen klassifiziert wurde, wird der anfängliche Phasenwert für den aktuellen Rahmen aus dem Spektrum des vorherigen Rahmens erlangt, das durch Durchführen einer DFT der Decodiererausgabe für den vorherigen Rahmen erhalten wird. Somit verwendet der Phasen-Schätzer 622 eine genaue Phaseninformation (da der vorherige Rahmen, ein Übergangsrahmen, mit voller Rate verarbeitet wurde), die bereits verfügbar ist.
  • In einem Ausführungsbeispiel folgt ein Regelungs-Multimode-MDLP-Sprachcodierer den Sprachverarbeitungsschritten, die in dem Ablaufdiagramm von 9 dargestellt werden. Der Sprachcodierer codiert den LP-Rest jedes Eingangssprachrahmens durch Wählen des geeignetsten Codierungsmodus. Bestimmte Modi codieren den LP-Rest oder den Sprach-Rest in dem Zeitbereich, während andere Modi den LP-Rest oder den Sprach-Rest in dem Frequenzbereich darstellen. Der Satz von Modi ist volle Rate, Zeitbereich für Übergangsrahmen (T-Modus); halbe Rate, Frequenzbereich für stimmhafte Rahmen (V-Modus); viertel Rate, Zeitbereich für stimmlose Rahmen (U-Modus); und achtel Rate, Zeitbereich für Rauschen-Rahmen (N-Modus).
  • Für Fachleute sei angemerkt, dass entweder das Sprachsignal oder der entsprechende LP-Rest codiert werden kann durch Folgen der in 9 gezeigten Schritte. Die Wellenform-Charakteristiken von Rauschen, stimmloser Sprache, Übergang und stimmhafter Sprache sind als eine Funktion der Zeit in dem Graph von 10A zu sehen. Die Wellenform-Charakteristiken von Rauschen, stimmlosen LP-Rest, Übergang und stimmhaften LP-Rest sind als eine Funktion der Zeit in dem Graph von 10B zu sehen.
  • In Schritt 700 wird eine "Open-Loop"- bzw. Steuerungsmodus-Entscheidung getroffen hinsichtlich darauf, welcher der vier Modi (T, V, U oder N) auf den Eingangssprachrest S(n) anzuwenden ist. Wenn der T-Modus anzuwenden ist, wird der Sprachrest in Schritt 702 unter dem T-Modus verarbeitet, d.h. mit voller Rate und in dem Zeitbereich. Wenn der U-Modus anzuwenden ist, wird der Sprachrest in Schritt 704 unter dem U-Modus verarbeitet, d.h. mit viertel Rate und in dem Zeitbereich. Wenn der N-Modus anzuwenden ist, wird der Sprachrest in Schritt 706 unter dem N-Modus verarbeitet, d.h. mit achtel Rate und in dem Zeitbereich. Wenn der V-Modus anzuwenden ist, wird der Sprachrest in Schritt 708 unter dem V-Modus verarbeitet, d.h. mit halber Rate und in dem Frequenzbereich.
  • In Schritt 710 wird die in Schritt 708 codierte Sprache decodiert und mit dem Eingangssprachrest S(n) vergleichen und ein Leistungsmaß D wird berechnet. In Schritt 712 wird das Leistungsmaß D mit einem vordefinierten Schwellenwert T verglichen. Wenn das Leistungsmaß D größer als oder gleich zu der Schwelle T ist, wird der spektral codierte Sprachrest von Schritt 708 in Schritt 714 zur Übertragung freigegeben. Wenn andererseits das Leistungsmaß D geringer als die Schwelle T ist, wird der Eingangssprachrest S(n) in Schritt 716 unter dem T-Modus verarbeitet. In einem alternativen Ausführungsbeispiel wird kein Leistungsmaß berechnet und kein Schwellenwert definiert. Stattdessen wird, nachdem eine vordefinierte Anzahl von Sprachrestrahmen unter dem V-Modus verarbeitet wurde, der nächste Rahmen unter dem T-Modus verarbeitet.
  • Vorzugsweise erlauben die in 9 gezeigten Entscheidungsschritte, dass der T-Modus mit hoher Bitrate nur wenn notwendig verwendet wird, die Periodizität der stimmhaften Sprachsegmente wird mit dem V-Modus mit niedrigerer Bitrate ausgenutzt, während ein Qualitätsabfall vermieden wird durch Wechseln zur vollen Rate, wenn der V-Modus nicht adäquat arbeitet. Demgemäß kann eine extrem hohe Sprachqualität, die sich der Sprachqualität mit voller Rate annähert, mit einer mittleren Rate erzeugt werden, die signifikant niedriger ist als die volle Rate. Weiter kann die Zielsprachqualität durch das gewählte Leistungsmaß und die gewählte Schwelle gesteuert werden.
  • Die „Aktualisierungen" des T-Modus verbessern auch die Leistung von nachfolgenden Anwendungen des V-Modus, da der Modell-Phasen-Verlauf (track) nahe dem Phasen-Verlauf der eingegebenen Sprache gehalten wird. Wenn die Leistung in dem V-Modus nicht adäquat ist, wechselt die Regelungs-Leistungsüberprüfung der Schritte 710 und 712 zu dem T-Modus und verbessert dadurch die Leistung einer nachfolgenden Verarbeitung im V-Modus durch „Aktualisieren" des anfänglichen Phasenwerts, was ermöglicht, dass der Modell-Phasen-Verlauf wieder nahe dem ursprünglichen Eingangssprache-Phasen-Verlauf liegt. Zum Beispiel arbeitet, wie in den Graphen von 11A–C gezeigt wird, der fünfte Rahmen von vorne nicht adäquat in dem V-Modus, wie von dem verwendeten PSNR-Verzerrungsmaß angezeigt wird. Folglich weicht ohne eine Regelungs-Entscheidung und eine Aktualisierung der modellierte Phasen-Verlauf signifikant von dem ursprünglich Eingangssprache-Phasen-Verlauf ab, was zu einer beträchtlichen Verschlechterung des PSNRs führt, wie in 11C gezeigt wird. Weiter verschlechtert sich die Leistung für nachfolgende Rahmen, die unter dem V-Modus verarbeitet werden. Bei einer Regelungs-Entscheidung wird jedoch der fünfte Rahmen in eine T-Modus-Verarbeitung gewechselt, wie in 11A gezeigt wird. Die Leistung des fünften Rahmens wird von der Aktualisierung signifikant verbessert, wie von der Verbesserung des PSNRs gezeigt wird, wie in 11B gezeigt wird. Ferner verbessert sich auch die Leistung von nachfolgenden Rahmen, die unter dem V-Modus verarbeitet werden.
  • Die in der 9 gezeigten Entscheidungsschritte verbessern die Qualität der V-Modus-Darstellung, indem sie einen sehr genauen anfänglichen Phasenschätzwert liefern, was sicherstellt, dass ein resultierendes V-Modussynthetisiertes Sprachrestsignal zeitlich genau dem ursprünglichen Eingangsprachrest S(n) zugeordnet ist. Die anfängliche Phase für das erste V-Modus-verarbeitete Sprachrestsegment wird aus dem unmittelbar vorhergehenden decodierten Rahmen auf die folgende Weise abgeleitet. Für jedes Harmonische wird die anfängliche Phase gleich der letzten geschätzten Phase des vorhergehenden Rahmens gesetzt, wenn der vorhergehende Rahmen unter dem V-Modus verarbeitet wurde. Für jedes Harmonische wird die anfängliche Phase gleich der tatsächlichen harmonischen Phase des vorhergehenden Rahmens gesetzt, wenn der vorhergehende Rahmen unter dem T-Modus verarbeitet wurde. Die tatsächliche harmonische Phase des vorhergehenden Rahmens kann abgeleitet werden, indem eine DFT des letzten decodierten Rests unter Verwendung des gesamten vorhergehenden Rahmens erstellt wird. Alternativ kann die tatsächliche harmonische Phase des vorhergehenden Rahmens abgeleitet werden, indem eine DFT des letzten decodierten Rahmens auf eine Pitch-synchrone Weise erstellt wird durch Verarbeitung verschiedener Pitch-Perioden des vorhergehenden Rahmens.
  • In einem Ausführungsbeispiel, das unter Bezugnahme auf 12 beschrieben wird, werden aufeinander folgende Rahmen eines quasiperiodischen Signals S in eine Analyse-Logik 800 eingegeben. Das quasiperiodische Signal S kann zum Beispiel ein Sprachsignal sein. Einige Rahmen des Signals sind periodisch, während andere Rahmen des Signals nicht periodisch oder aperiodisch sind. Die Analyse-Logik 800 misst die Amplitude des Signals und gibt die gemessene Amplitude A aus. Die Analyse-Logik 800 misst auch die Phase des Signals und gibt die gemessene Phase P aus. Die Amplitude A wird an eine Synthese-Logik 802 geliefert. Ein Phasenwert POUT wird ebenfalls an die Synthese-Logik 802 geliefert. Der Phasenwert POUT kann der gemessene Phasenwert P sein oder alternativ kann der Phasenwert POUT ein geschätzter Phasenwert POUT sein, wie im Folgenden beschrieben wird. Die Synthese-Logik 802 synthetisiert ein Signal und gibt das synthetisierte Signal SSYNTH aus.
  • Das quasiperiodische Signal S wird auch an eine Klassifizierungs-Logik 804 geliefert, die das Signal entweder als aperiodisch oder periodisch klassifiziert. Für aperiodische Rahmen des Signals wird die Phase POUT, die an die Synthese-Logik 802 geliefert wird, gleich der gemessenen Phase P gesetzt. Periodische Rahmen des Signals werden an eine Regelungs-Phasenschätzungs-Logik 806 geliefert. Das quasiperiodische Signal S wird ebenfalls an die Regelungs-Phasenschätzungs-Logik 806 geliefert. Die Regelungs-Phasenschätzungs-Logik 806 schätzt die Phase und gibt die ge schätzte Phase PEST aus. Die geschätzte Phase basiert auf einem anfänglichen Phasenwert PINIT, der in die Regelungs-Phasenschätzungs-Logik 806 eingegeben wird. Der anfängliche Phasenwert ist der letzte geschätzte Phasenwert des vorherigen Rahmens des Signals, vorausgesetzt, der vorherige Rahmen wurde von der Klassifizierungs-Logik 804 als ein periodischer Rahmen klassifiziert. Wenn der vorherige Rahmen von der Klassifizierungs-Logik 804 als aperiodisch klassifiziert wurde, ist der anfängliche Phasenwert der gemessene Phasenwert P des vorherigen Rahmens.
  • Die geschätzte Phase PEST wird an eine Fehlerberechnungs-Logik 808 geliefert. Das quasiperiodische Signal S wird ebenfalls an die Fehlerberechnungs-Logik 808 geliefert. Die gemessene Phase P wird ebenfalls an die Fehlerberechnungs-Logik 808 geliefert. Zusätzlich empfängt die Fehlerberechnungs-Logik 808 ein synthetisiertes Signal SSYNTH', das von der Synthese-Logik 802 synthetisiert wurde. Das synthetisierte Signal SSYNTH' ist ein synthetisiertes Signal SSYNTH, das von der Synthese-Logik 802 synthetisiert wird, wenn die Phaseneingabe POUT in die Synthese-Logik 802 gleich der geschätzten Phase PEST ist. Die Fehlerberechnungs-Logik 808 berechnet ein Verzerrungsmaß oder Fehlermaß E durch Vergleich des gemessenen Phasenwerts mit dem geschätzten Phasenwert. In einem alternativen Ausführungsbeispiel berechnet die Fehlerberechnungs-Logik 808 ein Verzerrungsmaß oder Fehlermaß E durch Vergleich des Eingangsrahmens des quasiperiodischen Signals mit dem synthetisierten Rahmen des quasiperiodischen Signals.
  • Das Verzerrungsmaß E wird an eine Vergleichs-Logik 810 geliefert. Die Vergleichs-Logik 810 vergleicht das Verzerrungsmaß E mit einem vordefinierten Schwellenwert T. Wenn das Verzerrungsmaß E größer als der vordefinierte Schwellenwert T ist, wird die gemessene Phase P gleich dem Phasenwert POUT gesetzt, der an die Synthese-Logik 802 geliefert wird. Wenn andererseits das Verzerrungsmaß E nicht größer als der vordefinierte Schwellenwert T ist, wird die geschätzte Phase PEST gleich dem Phasenwert POUT gesetzt, der an die Synthese-Logik 802 geliefert wird.
  • Somit wurden ein neues Verfahren und eine Vorrichtung zum Verfolgen der Phase eines quasiperiodischen Signals beschrieben. Für Fachleute ist offensichtlich, dass die verschiedenen veranschaulichenden logischen Blöcke und Algorithmusschritte, die in Verbindung mit den hier offenbarten Ausführungsbeispielen beschrieben wurden, mit einem digitalen Signalprozessor (DSP), einem anwendungsspezifischen Schaltkreis (ASIC – applicationspecific integrated circuit), einer diskreten Gatter- oder Transistorlogik, diskreten Hardwarekomponenten, wie zum Beispiel Register und FIFO, einem Prozessor, der einen Satz von Firmware-Anweisungen ausführt, oder jedem herkömmlichen programmierbaren Softwaremodul und einem Prozessor implementiert oder durchgeführt werden können. Der Prozessor kann vorzugsweise ein Mikroprozessor sein, aber alternativ kann der Prozessor jeder herkömmlicher Prozessor, jede Steuereinrichtung, Mikrokontroller oder Zustandsmaschine sein. Das Softwaremodul kann sich in einem RAM-Speicher, einem Flash-Speicher, Registern oder jeder anderen Form von in der Technik bekanntem beschreibbaren Speichermedium befinden. Für Fachleute ist weiter offensichtlich, dass die Daten, Anweisungen, Befehle, Information, Signale, Bits, Symbole und Chips, die im Laufe der obigen Beschreibung erwähnt werden, vorzugsweise von Spannungen, Strömen, elektromagnetischen Wellen, magnetischen Feldern oder Partikeln, optischen Feldern oder Partikeln oder jede Kombination daraus dargestellt werden.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung wurden somit aufgezeigt und beschrieben. Es sollte für Fachleute jedoch offensichtlich sein, dass zahlreiche Änderungen der hier offenbarten Ausführungsbeispiele gemacht werden können, ohne von dem Umfang der Erfindung abzuweichen. Folglich soll die vorliegende Erfindung nicht eingegrenzt werden, außer gemäß den folgenden Ansprüchen.

Claims (19)

  1. Ein Verfahren zum Erfassen bzw. Nachverfolgen der Phase eines Signals, das in einigen Rahmen periodisch ist und in anderen Rahmen nicht periodisch ist, wobei das Verfahren die folgenden Schritte aufweist: Schätzen der Phase des Signals für Rahmen, während denen das Signal periodisch ist; Überwachen der Performance der geschätzten Phase mit einer „Closed-Loop"- bzw. Regelungsschleifenperformancemessung; Messen der Phase des Signals für Rahmen, während denen das Signal periodisch ist; Vorsehen einer Ausgabephase, die die geschätzte Phase ist, wenn die Performance der geschätzten Phase unter einen vordefinierten Schwellenpegel fällt; und Vorsehen der Ausgabephase, die die gemessene Phase ist, wenn die Performance der geschätzten Phase über dem vordefinierten Schwellenpegel liegt.
  2. Verfahren nach Anspruch 1, das weiterhin den Schritt des Messens der Phase des Signals für Rahmen, während denen das Signal nicht periodisch ist, aufweist.
  3. Verfahren nach Anspruch 1, das weiterhin den Schritt des Bestimmens aufweist, ob das Signal periodisch oder nicht periodisch ist für einen gegebenen Rahmen, und zwar mit einer „Open-Loop"- bzw. Steuerschleifenperiodizitätsentscheidung.
  4. Verfahren nach Anspruch 1, wobei der Schritt des Schätzens den Schritt des Konstruierens einer Polynomdarstellung der Phase gemäß einem harmonischen Modell bzw. einem Modell der Oberschwingung aufweist.
  5. Verfahren nach Anspruch 1, wobei der Schätzungsschritt den Schritt des Einstellens eines anfänglichen Phasenwertes aufweist, und zwar gleich zu einem geschätzten Endphasenwert eines vorhergehenden Rahmens, wenn der vorhergehende Rahmen periodisch war.
  6. Verfahren nach Anspruch 1, wobei der Schätzungsschritt den Schritt des Einstellens eines anfänglichen Phasenwertes aufweist, und zwar gleich eines gemessenen Phasenwertes eines vorhergehenden Rahmens, wenn der vorhergehende Rahmen nicht periodisch war.
  7. Verfahren nach Anspruch 6, wobei der gemessene Phasenwert aus der diskreten Fourier-Transformation (DFT = discrete Fourier transform) des vorhergehenden Rahmens erhalten wird.
  8. Verfahren nach Anspruch 1, wobei der Schätzungsschritt den Schritt des Einstellens eines anfänglichen Phasenwerts aufweist, und zwar gleich zu einem gemessenen Phasenwert eines vorhergehenden Rahmens, wenn der vorhergehende Rahmen periodisch war und die Performance der geschätzten Phase des vorhergehenden Rahmens unter den vordefinierten Schwellenpegel fiel.
  9. Verfahren nach Anspruch 8, wobei der gemessene Phasenwert erhalten wird aus der diskreten Fourier-Transformation (DFT) des vorhergehenden Rahmens.
  10. Ein Gerät zum Verfolgen bzw. Erfassen der Phase eines Signals, das während einigen Rahmen periodisch ist und während anderer Rahmen nicht periodisch ist, wobei das Gerät Folgendes aufweist: Mittel (806) zum Schätzen der Phase des Signals für Rahmen, in denen das Signal periodisch ist; Mittel (808) zum Überwachen der Performance der geschätzten Phase mittels einer "Closed-Loop"-Performancemessung; Mittel (800) zum Messen der Phase des Signals für Rahmen, in denen das Signal nicht periodisch ist; Mittel (810) zum Vorsehen einer Ausgabephase, die eine geschätzte Phase ist, wenn die Performance der geschätzten Phase unter einen vordefinierten Schwellenpegel fällt; Mittel (810) zum Vorsehen der Ausgabephase, die die gemessene Phase ist, wenn die Performance der geschätzten Phase über dem vordefinierten Schwellenpegel liegt bzw. fällt.
  11. Gerät nach Anspruch 10, das weiterhin Mittel zum Messen der Phase des Signals für Rahmen, in denen das Signal nicht periodisch ist, aufweist.
  12. Gerät nach Anspruch 10, das weiterhin Mittel aufweist zum Bestimmen, ob das Signal periodisch oder nicht periodisch ist, für einen gegebenen Rahmen, und zwar mit einer "Open-Loop"-Periodizitätsentscheidung.
  13. Gerät nach Anspruch 10, wobei die Mittel zum Schätzen Mittel aufweisen zum Konstruieren einer Polynomdarstellung der Phase gemäß einem harmonischen Modell bzw. einem Modell der Oberschwingung.
  14. Gerät nach Anspruch 10, wobei die Mittel zum Schätzen Mittel aufweisen zum Einstellen eines anfänglichen Phasenwertes, und zwar gleich einem geschätzten Endphasenwert eines vorhergehenden Rahmens, wenn der vorhergehende Rahmen periodisch war.
  15. Gerät nach Anspruch 10, wobei die Mittel zum Schätzen Mittel aufweisen zum Einstellen eines anfänglichen Phasenwertes, und zwar gleich einem gemessenen Phasenwert eines vorhergehenden Rahmens, wenn der vorhergehende Rahmen nicht periodisch war.
  16. Gerät nach Anspruch 15, wobei der gemessene Phasenwert von der diskreten Fourier-Transformation (DFT) des vorhergehenden Rahmens erhalten wird.
  17. Gerät nach Anspruch 10, wobei die Mittel zum Schätzen Mittel aufweisen zum Einstellen eines anfänglichen Phasenwertes, und zwar gleich einem gemessenen Phasenwert eines vorhergehenden Rahmens, wenn der vorhergehende Rahmen periodisch war und die Performance der geschätzten Phase für den vorhergehenden Rahmen unter den vordefinierten Schwellenpegel fiel.
  18. Gerät nach Anspruch 17, wobei der gemessene Phasenwert von der diskreten Fourier-Transformation (DFT) des vorhergehenden Rahmens erhalten wird.
  19. Gerät nach einem der Ansprüche 10 bis 18, wobei jedes der erwähnten Mittel eine Logik jeweils hierfür konfiguriert aufweist.
DE60025471T 2000-02-29 2000-02-29 Verfahren und vorrichtung zum nachführen der phase eines fast periodischen signals Expired - Lifetime DE60025471T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2000/005141 WO2002003381A1 (en) 2000-02-29 2000-02-29 Method and apparatus for tracking the phase of a quasi-periodic signal

Publications (2)

Publication Number Publication Date
DE60025471D1 DE60025471D1 (de) 2006-04-06
DE60025471T2 true DE60025471T2 (de) 2006-08-24

Family

ID=21741099

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60025471T Expired - Lifetime DE60025471T2 (de) 2000-02-29 2000-02-29 Verfahren und vorrichtung zum nachführen der phase eines fast periodischen signals

Country Status (8)

Country Link
EP (1) EP1259955B1 (de)
JP (1) JP4567289B2 (de)
KR (1) KR100711040B1 (de)
CN (1) CN1262991C (de)
AU (1) AU2000233852A1 (de)
DE (1) DE60025471T2 (de)
HK (1) HK1055834A1 (de)
WO (1) WO2002003381A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103811011B (zh) * 2012-11-02 2017-05-17 富士通株式会社 音频弦波检测方法和装置
CN104347082B (zh) * 2013-07-24 2017-10-24 富士通株式会社 弦波帧检测方法和设备以及音频编码方法和设备
EP2963645A1 (de) * 2014-07-01 2016-01-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Rechner und Verfahren zur Bestimmung der Phasenkorrekturdaten für ein Audiosignal
CN108776319B (zh) * 2018-04-25 2022-11-08 中国电力科学研究院有限公司 一种光纤电流互感器数据准确性自诊断方法与系统
CN109917360A (zh) * 2019-03-01 2019-06-21 吉林大学 一种混叠脉冲的参差pri估计方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986005617A1 (en) * 1985-03-18 1986-09-25 Massachusetts Institute Of Technology Processing of acoustic waveforms
CA1332982C (en) * 1987-04-02 1994-11-08 Robert J. Mcauley Coding of acoustic waveforms
US5023910A (en) * 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
JPH02288739A (ja) * 1989-04-28 1990-11-28 Fujitsu Ltd 音声符号復号化伝送方式
US5765127A (en) * 1992-03-18 1998-06-09 Sony Corp High efficiency encoding method
US5787387A (en) 1994-07-11 1998-07-28 Voxware, Inc. Harmonic adaptive speech coding method and system
JP3680374B2 (ja) * 1995-09-28 2005-08-10 ソニー株式会社 音声合成方法
JPH10214100A (ja) * 1997-01-31 1998-08-11 Sony Corp 音声合成方法
WO1999010719A1 (en) * 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
JPH11224099A (ja) * 1998-02-06 1999-08-17 Sony Corp 位相量子化装置及び方法

Also Published As

Publication number Publication date
DE60025471D1 (de) 2006-04-06
HK1055834A1 (en) 2004-01-21
KR100711040B1 (ko) 2007-04-24
CN1437746A (zh) 2003-08-20
KR20020081352A (ko) 2002-10-26
CN1262991C (zh) 2006-07-05
JP2004502203A (ja) 2004-01-22
AU2000233852A1 (en) 2002-01-14
EP1259955B1 (de) 2006-01-11
JP4567289B2 (ja) 2010-10-20
EP1259955A1 (de) 2002-11-27
WO2002003381A1 (en) 2002-01-10

Similar Documents

Publication Publication Date Title
DE60031002T2 (de) Multimodaler mischbereich-sprachkodierer mit geschlossener regelschleife
DE60123651T2 (de) Verfahren und vorrichtung zur robusten sprachklassifikation
DE60027573T2 (de) Quantisierung der spektralen amplitude in einem sprachkodierer
DE60133757T2 (de) Verfahren und vorrichtung zur kodierung von stimmloser sprache
DE60129544T2 (de) Kompensationsverfahren bei rahmenauslöschung in einem sprachkodierer mit veränderlicher datenrate
DE60128677T2 (de) Verfahren und vorrichtung zur prädiktiven quantisierung von stimmhaften sprachsignalen
DE60017763T2 (de) Verfahren und vorrichtung zur erhaltung einer ziel-bitrate in einem sprachkodierer
DE60011051T2 (de) Celp-transkodierung
US7092881B1 (en) Parametric speech codec for representing synthetic speech in the presence of background noise
EP1914728B1 (de) Verfahren und Vorrichtung für die Dekodierung eines Signals mittels Spektralbandreplikation und Interpolation von Skalenfaktoren
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
DE69535723T2 (de) Verfahren und vorrichtung zur sprachkodierung mit reduzierter, variabler bitrate
DE69928288T2 (de) Kodierung periodischer sprache
DE60117144T2 (de) Sprachübertragungssystem und verfahren zur behandlung verlorener datenrahmen
DE69816810T2 (de) Systeme und verfahren zur audio-kodierung
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
DE60024123T2 (de) Lpc-harmonischer sprachkodierer mit überrahmenformat
DE602004003610T2 (de) Halbrätiger Vocoder
DE60316396T2 (de) Interoperable Sprachkodierung
US6640209B1 (en) Closed-loop multimode mixed-domain linear prediction (MDLP) speech coder
DE60128479T2 (de) Verfahren und vorrichtung zur bestimmung eines synthetischen höheren bandsignals in einem sprachkodierer
DE60032006T2 (de) Prädiktionssprachkodierer mit musterauswahl für kodierungsshema zum reduzieren der empfindlichkeit für rahmenfehlern
DE69923079T2 (de) Kodierung von stimmlosen sprachsegmenten mit niedriger datenrate
DE60024080T2 (de) Kodierung von sprachsegmenten mit signalübergängen durch interpolation von mehrimpulsanregungssignalen
DE69924280T2 (de) Sprachsynthese aus grundfrequenz-prototypwellenformen durch zeit-synchrone wellenforminterpolation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition