DE60024123T2 - Lpc-harmonischer sprachkodierer mit überrahmenformat - Google Patents

Lpc-harmonischer sprachkodierer mit überrahmenformat Download PDF

Info

Publication number
DE60024123T2
DE60024123T2 DE60024123T DE60024123T DE60024123T2 DE 60024123 T2 DE60024123 T2 DE 60024123T2 DE 60024123 T DE60024123 T DE 60024123T DE 60024123 T DE60024123 T DE 60024123T DE 60024123 T2 DE60024123 T2 DE 60024123T2
Authority
DE
Germany
Prior art keywords
superframe
speech
block
parameters
pitch
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
DE60024123T
Other languages
English (en)
Other versions
DE60024123D1 (de
Inventor
Allen Gersho
Vladimir Cuperman
Tian Wang
Kazuhito Koishida
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE60024123D1 publication Critical patent/DE60024123D1/de
Publication of DE60024123T2 publication Critical patent/DE60024123T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • 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/087Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using mixed excitation models, e.g. MELP, MBE, split band LPC or HVXC

Description

  • Die folgenden Hintergrundpatente und -publikationen werden manchmal unter Verwendung von Zahlen in eckigen Klammern angeführt (z.B. [1]):
    • [1] Gersho, A., "ADVANCES IN SPEECH AND AUDIO COMPRESSION", Proceedings of the IEEE, Band 92, Nr. 6, Seiten 900–918, Juni 1994.
    • [2] McCree et al., "A 2.4 KBIT/S MELP CODER CANDIDATE FOR THE NEW U.S. FEDERAL STANDARD", 1996 IEEE International Conference on Acoustics, Speech, and Signal Processing Conference Proceedings, Atlanta, GA (Kat. Nr. 96CH35903), Band 1, Seiten 200–203, 7.–10. Mai 1996.
    • [3] Supplee, L. M. et al., "MELP: THE NEW FEDERAL STANDARD AT 2400 BPS", 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing proceedings (Kat. Nr. 97CB36052), München, Deutschland, Band 2, Seiten 21–24, April 1997.
    • [4] McCree, A.V. et al., "A NIMD EXCITATION LPC VOCODER MODEL FOR LOW BIT RATE SPEECH CODING", IEEE Transactions on Speech and Audio. Processing, Band 3, Nr. 4, Seiten 242–250, Juli 1995.
    • [5] Specifications for the Analog to Digital Conversion of Voice by 2400 Bit/Second Mixed Excitation Linear Prediction, FIPS, Entwurfsdokument des vorgeschlagenen U.S.A.-Standards, datiert 28. Mai 1998.
    • [6] U.S. Patent Nr. 5,699,477.
    • [7] Gersho, A. et al., "VECTOR QUANTIZATION AND SIGNAL COMPRESSION", Dordrecht, Niederlande: Kluwer Academic Publishers, 1992, xxii+732 Seiten.
    • [8] W. P. LeBlanc, et al., "EFFICIENT SEARCH AND DESIGN PROCEDURES FOR ROBUST MULTI-STAGE VQ OF LPC PARAMETERS FOR 4 KB/S SPEECH CODING" in IEEE Trans. Speech & Audio Processing, Band 1, Seiten 272–285, Oktober 1993.
    • [9] Mouy, B. M.; de la Noue, P.E., "VOICE TRANSMISSION AT A VERY LOW BIT RATE ON A NOISY CHANNEL: 800 BPS VOCODER WITH ERROR PROTECTION TO 1200 BPS", ICASSP-92:1992 IEEE International Conference Acoustics, Speech and Signal, San Francisco, CA, USA, 23.–26. März 1992, New York, NY, USA: IEEE, 1992, Band 2, Seiten 149–152.
    • [10] Mouy, B.; De La Noue, P.; Goudezeune, G. "NATO STANAG 4479: A STANDARD FOR AN 800 BPS VOCODER AND CHANNEL CODING IN HF-ECCM SYSTEM", 1995 International Conference on Acoustics, Speech, and Signal Processing. Conference Proceedings, Detroit, MI, USA, 9.–12. Mai 1995; New York, NY, USA: IEEE, 1995, Band 1, Seiten 480–483.
    • [11] Kemp, D. P.; Collura, J. S.; Tremain, T. E. "MULTI-FRAME CODING OF LPC PARAMETERS 600–800 BPS", ICASSP 91, 1991 International Conference on Acoustics, Speech and Signal Processing, Toronto, Ontario, Canada, 14.–17. Mai 1991; New York, NY, USA: IEEE, 1991, Band 1, Seiten 609–612.
    • [12] U.S. Patent Nr. 5,255,339.
    • [13] U.S. Patent Nr. 4,815,134.
    • [14] Hardwick, J.C.; Lim, J. S., "A 4.8 KBPS MULTI-BAND EXCITATION SPEECH CODER", ICASSP 1988 International Conference on Acoustics, Speech, and Signal, New York, NY, USA, 11.–14. April 1988, New York, NY, USA: IEEE, 1988. Band 1, Seiten 374–377.
    • [15] Nishiguchi, L.; Iijima, K.; Matsumoto, J, "HARMONIC VECTOR EXCITATION CODING OF SPEECH AT 2.0 KBPS", 1997 IEEE Workshop on Speech Coding for Telecommunications Proceedings, Pocono Manor, PA, USA, 7.–10. September 1997, New York, NY, USA: IEEE, 1997, Seiten 39–40.
    • [16] Nomura, T.; Iwadare, M.; Serizawa, M.; Ozawa, K., "A BITRATE AND BANDWIDTH SCALABLE CELP CODER", ICASSP 1998 International Conference on Acoustics, Speech, and Signal, Seattle, WA, USA, 12.–15. Mai 1998, IEEE, 1998, Band 1, Seiten 341–344.
  • Diese Erfindung betrifft allgemein digitale Kommunikation und besonders parametrische Sprachcodierungs- und -decodierungsverfahren und -apparate.
  • Zu Definitionszwecken sollte bemerkt werden, dass der Begriff "Vocoder" häufig verwendet wird für die Beschreibung von Sprachcodierungsverfahren, wobei Sprachparameter übertragen werden anstatt digitaler Wellenformabtastwerte. In der Produktion digitaler Wellenformabtastwerte wird eine ankommende Wellenform periodisch abgetastet und in einen Strom digitalisierter Wellenformdaten digitalisiert, die in eine analoge Wellenform zurückgewandelt werden können, welche im Wesentlichen identisch zur originalen Wellenform ist. Die Codierung einer Sprache unter Verwendung von Sprachparametern liefert eine ausreichende Genauigkeit, um eine nachfolgende Synthese einer Sprache zu ermöglichen, die im Wesentlichen ähnlich der codierten Sprache ist. Es wird bemerkt, dass die Verwendung von Sprachparametercodierung nicht ausreichende Information abgibt, um die Sprachwellenform exakt zu reproduzieren, wie im Fall digitalisierter Wellenformabtastwerte; jedoch kann die Sprache mit einer niedrigeren Datenrate codiert werden als bei Wellenformabtastwerten benötigt wird.
  • In Kreisen der Sprachcodierer wird der Begriff "Codierer" häufig verwendet, um ein System zur Sprachcodierung und -decodierung zu bezeichnen, obgleich er auch häufig verwendet wird allein für einen Codierer. Nach seiner Verwendung hier bezeichnet der Begriff allgemein die Codierungsoperation der Abbildung eines Sprachsignals auf einen komprimierten Datenstrom (den Bitstrom), und der Begriff "Decodierer" bezeichnet allgemein die Decodierungsoperation, in der das Datensignal auf ein rekonstruiertes oder synthetisiertes Sprachsignal abgebildet wird.
  • Digitale Komprimierung von Sprache (auch Sprachkomprimierung genannt) wird zunehmend von Bedeutung für moderne Kommunikationssysteme. Der Bedarf an niedrigen Bit raten im Bereich von 500 bps (Bit pro Sekunde) bis 2 kbps (Kilobit pro Sekunde) für die Übertragung von Sprache ist wünschenswert für effiziente und sichere Sprachkommunikation über hochfrequente (HF) und andere Funkkanäle, für Satelliten-Sprachverbreitungssysteme, für Internet-Spiele mit vielen Spielern und für zahlreiche zusätzliche Anwendungen. Die meisten Komprimierungsverfahren (auch "Codierungsverfahren" genannt) für 2,4 kbps oder darunter basieren auf parametrischen Vocodern. Die Mehrheit gegenwärtiger Vocoder von Bedeutung basieren auf Variationen der klassischen linearen Vorhersagecodierung (LPC, linear predictive coding) und Verbesserungen dieser Technik, oder basieren auf sinusförmigen Codierungsverfahren wie harmonische Codierer und Vielbanderregungscodierern [1]. Kürzlich wurde eine verbesserte Version des LPC-Codierers entwickelt, die MELP (Mixed Excitation Linear Prediction) genannt wird [2, 5, 6]. Die vorliegende Erfindung kann ähnliche Sprachqualitätswerte bei einer niedrigeren Bitrate liefern als bei den oben beschriebenen konventionellen Codierungsverfahren verlangt wird.
  • GB-2 324 689 A beschreibt ein Konzept von doppelter Subframe-Quantisierung spektraler Größenwerte für die Codierung und Decodierung von Sprache. Zwei aufeinander folgende Subframes aus der Folge von Subframes werden in einem Block zusammengebracht, und ihre spektralen Größenwertparameter werden gemeinsam quantisiert.
  • U.S. 5,668,925 A legt einen Sprachcodierer niedriger Datenrate mit gemischter Erregung offen. Die Kennwerte umfassen Leitungsspektralfrequenzen (LSF, line spectral frequencies), Tonhöhe und Zittern.
  • MUOY E ET AL: "NATO STANAG 4479: A STANDARD FOR AN 800 BPS VOCODER AND CHANNEL CODING IN HF-ECCM SYSTEM", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING (ICASSP), U.S., NEW YORK, IEEE, 9. MAI 1995, Seiten 480 bis 483, legt einen Sprachcodierer offen für Anwendungen in Kommunikationssystemen sehr niedriger Bitrate. Er verwendet Analyse und Synthese wie in dem LPC10e-Vocoder und präsentiert einen spezifischen Quantisierungsprozess dazu. Ein zugeordnetes Fehlerkorrekturschema vergrößert die Quellenbitrate von 800 bis zu 2400 bps.
  • Es ist das Ziel der vorliegenden Erfindung, einen Sprachkomprimierungs- und Sprachdecodierungsapparat und verbesserte Systeme für die Aufwärts-Transcodierung und die Abwärts-Transcodierung von rahmenbasierten Sprachdaten und dazu korrespondierende Verfahren vorzusehen.
  • Das Ziel wird erreicht durch den Sachgegenstand der unabhängigen Ansprüche.
  • Bevorzugte Ausführungsformen werden in den abhängigen Ansprüchen definiert.
  • Diese Erfindung wird allgemein in Beziehung ihrer Verwendung von MELP beschrieben, da MELP-Codierung Vorteile gegenüber anderen rahmenbasierten Codierungsverfahren hat. Jedoch ist diese Erfindung auf eine Menge von Codierern wie harmonische Codierer [15] oder Codierer vom Vielband-Erregungstyp (MBE, multiband excitation) [14] anwendbar.
  • Der MELP-Codierer beobachtet die eingegebene Sprache und generiert für jeden seiner 22,5-ms-Rahmen Daten für die Übertragung zu einem Decodierer. Diese Daten bestehen aus Bits für die Repräsentation von Leitungsspektralfrequenzen (LSF) (welche eine Form von linearen Vorhersageparametern sind), von Fourier-Größenwerten (manchmal "Spektralgrößen" genannt), von Verstärkungsfaktoren (2 Bits pro Rahmen), von Tonhöhe und von Sprachbelegung, und enthalten zusätzlich einen aperiodischen Merker, Fehlerschutzbit und ein Synchronisationsbit (Sync-Bit). 1 zeigt die Pufferstruktur, die in einem konventionellen 2,4-kbps-MELP-Codierer verwendet wird. Der Codierer, der mit anderen harmonischen oder MBE-Codierungsverfahren verwendet wird, erzeugt Daten, die viele derselben oder ähnlicher Parameter repräsentiert (diese sind typisch LSF, Spektralgrößen, Verstärkungsfaktoren, Tonhöhe und Sprachbelegung). Der MELP-Decodierer empfängt diese Parameter für jeden Rahmen und synthetisiert einen korrespondierenden Rahmen von Sprache, der den ursprünglichen Rahmen angenähert wiedergibt.
  • Unterschiedliche Kommunikationssysteme verlangen Sprachcodierer mit unterschiedlichen Bitraten. Z.B. kann ein hochfrequenter (HF-)Funkkanal stark begrenzte Kapazität haben und ausführliche Fehlerkorrektur benötigen, und eine Bitrate von 1,2 kbps kann am geeignetsten für die Darstellung der Sprachparameter sein, wohingegen ein sicheres Sprachtelefonkommunikationssystem häufig eine Bitrate von 2,4 kbps benötigt. In einigen Anwendungen ist es notwendig, unterschiedliche Kommunikationssysteme miteinander zu verbinden, so dass ein Sprachsignal, das ursprünglich für ein System mit einer Bitrate codiert wurde, anschließend in ein codiertes Sprachsignal mit einer anderen Bitrate für ein anderes System gewandelt wird. Diese Wandlung wird als "Transcodierung" bezeichnet, und sie kann durchgeführt werden durch einen "Transcodierer", der typisch in einem Koppelpunkt zwischen zwei Kommunikationssystemen angeordnet ist.
  • Allgemein gesagt, nimmt die vorliegende Erfindung eine existierende Vocoder-Technik wie MELP auf und reduziert wesentlich die Bitrate, typisch um einen Faktor von Zwei, während dieselbe Wiedergabesprachqualität angenähert beibehalten wird. Von den existierenden Vocoder-Techniken wird innerhalb der Erfindung Gebrauch gemacht, und sie können dementsprechend als "Basislinien"-Codierung oder alternativ als "konventionelle" parametrische Sprachcodierung bezeichnet werden.
  • Beispielsweise und nicht als Begrenzung umfasst die vorliegende Erfindung einen 1,2-kbps-Vocoder, der Analyse-Module ähnlich einem 2.4-kbps-MELP-Codierer hat, dem ein zusätzlicher Superframe-Codierer überlagert wird. Eine Block- oder "Superframe"-Struktur, die drei aufeinander folgende Rahmen umfasst, wird in dem Superframe-Vocoder aufgenommen, um die Parameter effizienter zu quantisieren, die für den 1,2-kbps-Vocoder der vorliegenden Erfindung zu übertragen sind. Um die Beschreibung zu vereinfachen, wird ein Superframe mit drei codierten Rahmen gewählt, da dieses Verhältnis als gut leistungsfähiges Verhältnis erkannt wurde. Es ist jedoch zu bemerken, dass die erfinderischen Verfahren auf Superframes angewendet werden können, die eine beliebige diskrete Anzahl von Rahmen umfassen. Eine Superframe-Struktur wurde in vorherigen Patenten und Veröffentlichungen angeführt [9], [10], [11], [13]. Innerhalb des MELP-Codierungsstandards wird jeder Rahmen analysiert (alle 22,3 ms), seine Parameter werden codiert und übertragen. Jedoch ist in der vorliegenden Erfindung jeder Rahmen eines Superframes gleichzeitig in einem Puffer verfügbar, jeder Rahmen wird analysiert, und die Parameter aller drei Rahmen innerhalb des Superframe stehen gleichzeitig für Quantisierung zur Verfügung. Obgleich dieses eine zusätzliche Codierungsverzögerung einführt, kann die zeitliche Korrelation, die unter den Parametern der drei Rahmen existiert, durch ihre gemeinsame statt getrennte Quantisierung effizient ausgenutzt werden.
  • Die Rahmengröße des 1,2-kbps-Codierers der vorliegende Erfindung ist vorzugsweise 22,5 ms (oder 180 Abtastungen der Sprache) bei einer Abtastrate von 8000 Abtastungen pro Sekunde, was dasselbe ist wie in dem MELP-Standard-Codierer. Um jedoch große Tonhöhenfehler zu vermeiden, wird die Länge der Vorausschau in der Erfindung auf 129 Abtastungen vergrößert. In dieser Hinsicht ist zu bemerken, dass der Begriff "Vorausschau" sich auf die Zeitspanne des "zukünftigen" Sprachsegments jenseits der gegenwärtigen Rahmengrenze bezieht, das in dem Puffer verfügbar sein muss für die Verarbeitung, die für die Codierung des zukünftigen Rahmens benötigt wird. Ein Tonhöhenglätter wird ebenfalls in dem 1,2-kbps-Codierer der vorliegenden Erfindung verwendet, und die algorithmische Verzögerung für den 1,2-kbps-Codierer ist 103,75 ms. Die übertragenen Parameter für den 1,2-kbps-Codierer sind dieselben wie für den 2,4-kbps-MELP-Codierer.
  • Innerhalb des MELP-Codierungsstandards wird die Niedrigband-Sprachbelegungsentscheidung oder Nicht-Sprachbelegt-/Sprachbelegt-Entscheidung (U-/V-Entscheidung) für jeden Rahmen ermittelt. Es wird ausgesagt, dass der Rahmen "sprachbelegt" ist, wenn der Niedrigband-Sprachbelegungswert "1" ist, und "nicht sprachbelegt" ist, wenn er "0" ist. Dieser Sprachbelegungszustand bestimmt, welche von zwei unterschiedlichen Bit-Zuweisungen für den Rahmen verwendet wird. Jedoch wird in dem 1,2-kbps-Codierer der vorliegenden Erfindung jeder Superframe kategorisiert in einen von verschiedenen Codierungszuständen mit einer unterschiedlichen Bit-Zuweisung für jeden Zustand. Zustandsauswahl wird durchgeführt entsprechend dem U-/V-(nicht sprachbelegt oder sprachbelegt)-Muster des Superframes. Falls ein Kanalbitfehler zu einer falschen Zustandsidentifikation durch den Decodierer führt, wird das zu einer deutlichen Verschlechterung der synthetisierten Sprache für diesen Superframe führen. Deshalb umfasst ein Aspekt der vorliegenden Erfindung Techniken für die Reduzierung der Wirkung einer Zustand-Fehlzuordnung zwischen dem Codierer und dem Decodierer aufgrund von Kanalfehlern, wobei diese Techniken entwickelt und in den Decodierer integriert wurden.
  • In der vorliegenden Erfindung sind drei Rahmen von Sprache gleichzeitig in einem Speicherpuffer verfügbar, und jeder Rahmen wird getrennt voneinander durch konventionelle MELP-Analysemodule analysiert, wobei (nicht quantisierte) Parameterwerte für jeden der drei Rahmen erzeugt werden. Diese Parameter sind kollektiv verfügbar für nachfolgende Verarbeitung und Quantisierung. Der Tonhöhenglätter beobachtet die U-/V-Entscheidungen für die drei Rahmen und führt auch zusätzliche Analyse der gepufferten Sprachdaten durch, um Parameter herauszuziehen, die benötigt werden, um jeden Rahmen als einen von zwei Typen (Anlaut oder Ablaut) für die Verwendung in einer Tonhöhenglättungsoperation zu klassifizieren. Der Glätter gibt dann modifizierte (geglättete) Versionen der Tonhöhenentscheidungen aus, und diese Tonhöhenwerte für den Superframe werden dann quantisiert. Der Bandpass-Sprachbelegungsglätter beobachtet die Bandpass-Sprachbelegungsstärken für die drei Rahmen, und prüft auch die Energiewerte, die direkt von der gepufferten Sprache extrahiert wurden, und bestimmt dann eine Grenzfrequenz für jeden der drei Rahmen. Die Bandpass-Sprachbelegungsstärken sind Parameter, die von dem MELP-Codierer erzeugt werden, um den Grad der Sprachbelegung in jedem von fünf Frequenzbändern des Sprachspektrums zu beschreiben. Die später definierten Grenzfrequenzen beschreiben die Zeitentwicklung der Bandbreite des sprachbelegten Teils des Sprachspektrums. Die Grenzfrequenz für jeden sprachbelegten Rahmen in dem Superframe wird mit 2 Bit codiert. Die LSF-Parameter, Zittern-Parameter und Fourier-Größenwert-Parameter für den Superframe werden jeweils quantisiert. Binäre Daten werden von dem Quantisierer für die Übertragung ermittelt. Aus Gründen der Übersichtlichkeit wird nicht beschrieben: die Fehlerkorrekturbits, das Synchronisationsbit, das Paritätsbit, und das Multiplexen der Bits in einen seriellen Datenstrom, was alles den in der Technik Bewanderten wohlbekannt ist. Im Empfänger werden die Datenbits für die verschiedenen Parameter extrahiert, decodiert und auch inverse Quantisierer angewendet, welche die quantisierten Parameterwerte aus den komprimierten Daten wieder erzeugen. Ein Empfänger umfasst typisch einen Synchronisationsmodul, der den Beginn eines Superframes identifiziert, und eine Einrichtung für Fehlerkorrektur, Decodieren und Demultiplexen. Die wieder gewonnenen Parameter für jeden Rahmen können einem Synthetisierer übergeben werden. Nach dem Decodieren werden die synthetisierten Sprachrahmen aneinander gekettet, um das Sprachausgabesignal zu bilden. Der Synthetisierer kann ein konventioneller rahmenbasierter Synthetisierer wie MELP sein; oder kann durch ein alternatives Verfahren vorgesehen werden, wie hier offengelegt wird.
  • Ein Ziel der Erfindung ist die Einführung größerer Codierungseffizienz und die Ausnutzung der Korrelation von einem Rahmen von Sprache zu einem anderen durch Gruppieren von Rahmen in Superframes und Durchführen neuartiger Quantisierungstechniken auf den Superframe-Parametern.
  • Ein anderes Ziel der Erfindung ist, zuzulassen, dass die existierenden Sprachverarbeitungsfunktionen des Basislinien-Codierers und -Decodierers beibehalten werden, so dass der verbesserte Codierer auf den Parametern arbeitet, die in der Basislinien-Operation ermittelt wurden, wodurch die Fülle der mit den Basislinien-Codierern und -Decodierern bereits gewonnenen Experiment- und -entwurfsergebnisse erhalten bleibt, während trotzdem stark reduzierte Bitraten ermöglicht werden.
  • Ein anderes Ziel der Erfindung ist, einen Mechanismus für das Transcodieren vorzusehen, wobei ein von dem verbesserten Codierer erhaltener Bitstrom in einen Bitstrom umgewandelt (transcodiert) wird, der von dem Basislinien-Decodierer erkannt wird, während auf ähnliche Weise ein Weg vorgesehen wird, um einen von einem Basislinien-Codierer kommender Bitstrom in einen Bitstrom umzuwandeln, der von einem verbesserten Decodierer erkannt wird. Dieses Transcodierungsmerkmal ist wichtig in Anwendungen, in denen Endgeräte, die einen Basislinien-Codierer/-Decodierer verwirklichen, mit Endgeräten kommunizieren müssen, die den verbesserten Codierer verwirklichen.
  • Ein anderes Ziel der Erfindung ist, Verfahren vorzusehen für die Verbesserung der Leistung des MELP-Codierers, wobei die neue Verfahren Tonhöhen und Sprachbelegungsparameter erzeugen.
  • Ein anderes Ziel der Erfindung ist, eine neue Decodierungsprozedur vorzusehen, welche die MELP-Decodierungsprozedur ersetzt und Komplexität wesentlich reduziert, während die Qualität der synthetisierten Sprache beibehalten wird.
  • Ein anderes Ziel der Erfindung ist, ein 1,2-kbps-Codierungsschema vorzusehen, das angenähert gleiche Qualität zum MELP-Standard-Codierer liefert, welcher mit 2,4 kbps arbeitet.
  • Weitere Ziele und Vorteile der Erfindung werden herausgestellt in den folgenden Abschnitten der Spezifikation, wobei die detaillierte Beschreibung der vollständigen Offenlegung bevorzugter Ausführungsformen der Erfindung dienen, ohne sie einzugrenzen.
  • Die Erfindung wird vollständiger verstanden durch Bezug auf die folgenden Zeichnungen, die nur zum Zweck der Veranschaulichung gegeben werden:
  • 1 ist ein Diagramm von Datenpositionen innerhalb der Eingabepufferstruktur eines konventionellen 2,4-kbps-MELP-Codierers. Die gezeigten Einheiten bezeichnen Abtastungen von Sprache.
  • 2 ist ein Diagramm von Datenpositionen, die innerhalb der eingegebenen Superframe-Sprachpufferstruktur des 1,2-kbps-Codierers der vorliegenden Erfindung verwendet werden. Die gezeigten Einheiten bezeichnen Abtastungen von Sprache.
  • 3A ist ein funktionales Blockdiagramm des 1,2-kbps-Codierers der vorliegenden Erfindung.
  • 3B ist ein funktionales Blockdiagramm des 1,2-kbps-Decodierers der vorliegenden Erfindung.
  • 4 ist ein Diagramm von Datenpositionen innerhalb des 1,2-kbps-Codierers der vorliegenden Erfindung, das Berechnungspositionen für die Berechnung von Tonhöhenglättungsparametern innerhalb der vorliegenden Erfindung zeigt, wobei die gezeigten Einheiten Abtastungen von Sprache bezeichnen.
  • 5A ist ein funktionales Blockdiagramm eines 1200-bps-Stroms, der durch einen Transcodierer in einen 2400-bps-Strom aufwärts gewandelt wird.
  • 5B ist ein funktionales Blockdiagramm eines 2400-bps-Stroms, der durch einen Transcodierer in einen 1200-bps-Strom abwärts gewandelt wird.
  • 6 ist ein funktionales Blockdiagramm von Hardware innerhalb eines digitalen Vocoder-Endgeräts, welche die erfinderischen Prinzipien nach der vorliegenden Erfindung anwendet.
  • Zu Zwecken der Veranschaulichung wird die vorliegende Erfindung mit Bezug auf 2 bis 6 beschrieben. Es ist anzuerkennen, dass der Apparat hinsichtlich der Konfiguration und den Details der Teile variieren wird, und dass das Verfahren hinsichtlich der spezifischen Schritte und Abfolgen variieren wird, ohne dass von den grundlegenden Konzepten abgewichen wird, die hier offengelegt werden.
  • 1. Übersicht über den Vocoder
  • Der 1,2-kbps-Codierer der vorliegenden Erfindung setzt Analyse-Module ähnlich denen ein, die in einem konventionellen 2,4-kbps-MELP-Codierer verwendet werden, aber fügt einen Block- oder "Superframe"-Codierer hinzu, der drei aufeinander folgende Rahmen codiert und die zu übertragenden Parameter effizienter quantisiert, um das 1,2-kbps-Vocodieren vorzusehen. Die in der Technik bewanderten Personen werden erkennen, dass das Verfahren der Erfindung trotz der Beschreibung der Erfindung mit Bezug auf die Verwendung von drei Rahmen pro Superframe auch auf Superframes eingesetzt werden kann, die eine andere ganzzahlige Anzahl von Rahmen umfassen. Ferner werden die in der Technik bewanderten Personen auch erkennen, dass die Verfahren der Erfindung trotz der Beschreibung der Erfindung mit Bezug auf die Verwendung von MELP als Basislinien-Codierer auch auf andere harmonische Vocoder angewendet werden können. Solche Vocoder haben einen ähnlichen, nicht aber identischen Satz von Parametern, die durch Analyse eines Sprachrahmens extrahiert werden, und die Rahmengröße und Bitraten können unterschiedlich sein zu denjenigen, die in der hier vorgetragenen Beschreibung verwendet werden.
  • Es ist zu erkennen, dass dann, wenn ein Rahmen innerhalb eines MELP-Codierers analysiert wird, (d.h. alle 22,5 ms), die Sprachparameter für jeden Rahmen codiert und dann übertragen werden. Jedoch werden in der vorliegenden Erfindung Daten von einer Gruppe von Rahmen, die einen Superframe bilden, gesammelt und verarbeitet mit den Parametern aller drei Rahmen in dem Superframe, die gleichzeitig für die Quantisierung verfügbar sind. Obgleich dieses eine zusätzliche Codierungsverzögerung einbringt, kann die zeitliche Korrelation, die zwischen den Parametern der drei Rahmen existiert, dadurch effizient ausgenutzt werden, dass sie zusammen statt getrennt quantisiert werden.
  • Die Rahmengröße in der vorliegenden Erfindung ist vorzugsweise 22,5 ms (oder 180 Abtastungen der Sprache) bei einer Abtastrate von 8000 pro Sekunde, was dieselbe Abtastrate ist, die in dem originalen MELP-Codierer verwendet wird. Die Pufferstruktur eines konventionellen 2,4-kbps-MELP-Codierers ist in 1 dargestellt. Die Länge eines Vorausschau-Puffers wurde in der bevorzugten Ausführungsform um 129 Abtastungen vergrößert, um so das Auftreten großer Tonhöhenfehler zu reduzieren, obgleich die Erfindung mit verschiedenen Werten der Vorausschau praktiziert werden kann. Zusätzlich wurde ein Tonhöhenglätter eingeführt, um Tonhöhenfehler weiter zu reduzieren. Die algorithmische Verzögerung für den beschriebenen 1,2-kbps-Codierer ist 103,75 ms. Die übertragenen Parameter für den 1,2-kbps-Codierer sind dieselben wie für den 2,4-kbps-MELP-Codierer. Die Pufferstruktur der vorliegenden Erfindung wird in 2 gezeigt.
  • 1.1 Bit-Zuordnung
  • Bei der Verwendung von MELP-Codierung wird die Niedrigband-Sprachbelegungsentscheidung oder U-/V-Entscheidung für jeden "sprachbelegten" Rahmen gefunden, wenn der Niedrigband-Sprachbelegungswert 1 ist, und für jeden "nicht sprachbelegten" Rahmen, wenn der Niedrigband-Sprachbelegungswert 0 ist. Jedoch wird in dem 1,2-kbps-Codierer der vorliegenden Erfindung jeder Superframe kategorisiert in einen von verschiedenen Codierzuständen, die unterschiedliche Quantisierungsschemata verwenden. Zustandsauswahl wird durchgeführt entsprechend dem U-/V-Muster des Superframes. Falls ein Kanalbitfehler zu einer falschen Zustandsidentifikation durch den Decodierer führt, wird das zu einer deutlichen Verschlechterung der synthetisierten Sprache für diesen Superframe führen. Deshalb wurden Techniken für die Reduzierung der Wirkung einer Zustand-Fehlzuordnung zwischen dem Codierer und dem Decodierer aufgrund von Kanalfehlern entwickelt und in den Decodierer integriert. Zu Vergleichszwecken werden die Bitzuweisungsschemata sowohl für den 2,4-kbps-MELP-Codierer als auch den 1,2-kbps-Codierer in Tabelle 1 gezeigt.
  • 3A ist ein allgemeines Blockdiagramm des 1,2-kbps-Codierungsschemas 10 in Übereinstimmung mit der vorliegenden Erfindung. Eine Spracheingabe 12 füllt einen Speicherpuffer, der ein Superframepuffer 14 genannt wird, welcher einen Superframe umfasst und zusätzlich die früheren Abtastwerte speichert, die dem Beginn des ältesten der drei Rahmen vorausgingen, und vorausschauende Abtastwerte, die dem jüngsten der drei Rahmen folgen. Der aktuelle Bereich von den in diesem Puffer gespeicherten Abtastwerten wird für die bevorzugte Ausführungsform in 2 gezeigt. Rahmen innerhalb des Superframe-Puffers 14 werden von den konventionellen MELP-Analysemodulen 16, 18, 20 getrennt analysiert, die einen Satz von unquantisierten Parameterwerten 22 für jeden der Rahmen innerhalb des Superframepuffers 14 erzeugen. Insbesondere arbeitet ein MELP-Analysemodul 16 auf dem ersten (ältesten), im Superframepuffer gespeicherten Rahmen, ein anderer MELP-Analysemodul 18 auf dem zweiten, im Superframepuffer gespeicherten Rahmen, und ein anderer MELP-Analysemodul 18 auf dem dritten (jüngsten), im Superframepuffer gespeicherten Rahmen. Jeder MELP-Analyseblock hat Zugriff auf einen Rahmen und zusätzlich auf vorangegangene und nachfolgende Abtastwerte, die dem Rahmen zugeordnet sind. Die von den MELP-Analysemodulen erzeugten Parameter werden gesammelt, um einen Satz unquantisierter Parameter zu bilden, die in der Speichereinheit 22 gespeichert werden, welche für nachfolgende Verarbeitung und Quantisierung verfügbar ist. Der Tonhöhenglätter 24 beobachtet Tonhöhenwerte für die Rahmen innerhalb des Superframepuffers 14 in Verbindung mit einem Satz von Parametern, die durch den Glättungsanalysemodul 26 berechnet werden, und gibt modifizierte Versionen der Tonhöhenwerte bei der Quantisierung 28 der Ausgabe aus. Eine Bandpass-Sprachbelegungsglätter 30 beobachtet einen durchschnittlichen Energiewert, der von dem Energieanalysemodul 32 berechnet wird, und beobachtet auch die Bandpass-Sprachbelegungsstärken für die Rahmen innerhalb des Superframepuffers 14 und modifiziert sie auf geeignete Weise für nachfolgende Quantisierung durch den Bandpass-Sprachbelegungsquantisierer 32. Ein LSP-Quantisierer 34, ein Zittern-Quantisierer 36 und ein Fourier-Größenwert-Quantisierer 38 geben jeweils codierte Daten aus. Die codierten Binärdaten werden von den Quantisierern für die Übertragung ermittelt. Aus Gründen der Übersichtlichkeit nicht gezeigt ist die Erzeugung von Fehlerkorrekturdatenbits, eines Synchronisationsbits und das Multiplexen der Bits zu einem seriellen Datenstrom für die Übertragung, was zu verwirklichen von den in der Technik bewanderten Personen leicht verstanden wird.
  • In dem in 3B gezeigten Decodierer 50 sind die Datenbits für die verschiedenen Parameter in den Kanaldaten 52 enthalten, die von einem Decodierer und inversen Quantisierer 52 aufgenommen werden, der extrahiert, decodiert und inverse Quantisierung einsetzt, um die quantisierten Parameterwerte aus den komprimierten Daten wiederzugewinnen. Nicht gezeigt ist das Synchronisationsmodul (welches den Startpunkt eines Superframes identifiziert) und die Fehlerkorrekturdecodierung und das Demultiplexen, was zu verwirklichen von den in der Technik bewanderten Personen leicht verstanden wird. Die wiedergewonnenen Parameter für jeden Rahmen werden dann konventionellen MELP-Synthetisierrn 56, 58, 60 zugeführt. Es wird bemerkt, dass diese Erfindung ein alternatives Verfahren der Synthetisierung von Sprache für jeden Rahmen umfasst, das sich vollständig von dem MELP-Synthetisierer nach dem Stand der Technik unterscheidet. Nach dem Decodieren werden die synthetisierten Sprachrahmen 62, 64, 66 aneinander gekettet, um das Sprachausgabesignal 68 zu bilden.
  • 2. Sprachanalyse
  • 2.1 Überblick
  • Die Basisstruktur des Codierers basiert auf denselben Analysemodulen, die in dem 2,4-kbps-MELP-Codierer verwendet werden, außer dass ein neuer Tonhöhenglätter und Bandpass-Sprachbelegungsglätter hinzugefügt sind, um Vorteil aus der Superframestruktur zu ziehen. Der Codierer extrahiert die Merkmalparameter von drei aufeinander folgenden Rahmen in einem Superframe unter Verwendung desselben MELP-Analysealgorithmus, der auf jedem Rahmen arbeitet, wie in dem 2,4-kbps-MELP-Codierer verwendet wird. Die Tonhöhen- und Bandpass-Sprachbelegungswert-Parameter werden durch Glättung verbessert. Diese Verbesserung wird ermöglicht durch die gleichzeitige Verfügbarkeit von drei aufeinander folgenden Rahmen und der Vorausschau. Durch die Bearbeitung eines Superframes auf diese Weise sind die Parameter für alle drei Rahmen als Eingabedaten für die Quantisierungsmodule verfügbar, wodurch eine effizientere Quantisierung ermöglicht wird als möglich ist, wenn jeder Rahmen getrennt und voneinander unabhängig quantisiert wird.
  • 2.2 Tonhöhenglätter
  • Der Tonhöhenglätter nimmt die Tonhöhenabschätzungen von den MELP-Analysemodulen für jeden Rahmen in dem Superframe und einen Satz von Parametern von dem in 3A gezeigten Glättungsanalysemodul 26 entgegen. Der Glättungsanalysemodul 26 berechnet einen Satz von neuen Parametern alle Halbrahmen (11,25 ms) aus direkter Beobachtung der in dem Superframepuffer gespeicherten Sprachabtastwerte. Die neun Berechnungspo sitionen in dem gegenwärtigen Superframe sind in 4 veranschaulicht. Jede Berechnungsposition ist im Mittelpunkt eines Fensters, in dem die Parameter berechnet werden. Die berechneten Parameter werden dann als zusätzliche Information dem Tonhöhenglätter zugeführt.
  • In dem 1,2-kbps-Codierer wird jeder Rahmen in zwei Kategorien klassifiziert, die entweder Anlaut- oder Ablautrahmen umfassen, um den Glättungsprozess zu führen. Diese neuen Wellenformmerkmalparameter, die von dem Glättungsanalysemodul 26 berechnet und dann von dem Tonhöhenglättungsmodul 24 für die Anlaut-/Ablautklassifizierung verwendet werden, sind wie folgt:
    Beschreibung Abkürzung
    Energie in dB subEnergy
    Nulllinienkreuzungsrate zeroCrosRate
    Spitzenhaftigkeitsmaß peakiness
    Maximaler Korrelationskoeffizient der Spracheingabe corx
    maximaler Korrelationskoeffizient der 500-Hz-tiefpassgefilterten Sprache lowBandCorx
    Energie der tiefpassgefilterten Sprache lowBandEn
    Energie der hochpassgefilterten Sprache highBandEn
  • Die Spracheingabe wird mit x(n) = ..., 0, 1, ... bezeichnet, wo x(0) mit der Sprachabtastung korrespondiert, die 45 Abtastwerte links von der gegenwärtigen Berechnungsposition liegt, und n 90 Abtastwerte ist, welches die Hälfte der Rahmengröße ist. Die Parameter werden wie folgt berechnet: (1) Energie:
    Figure 00150001
    (2) Nulllinienkreuzungsrate
    Figure 00160001
    wo der Ausdruck in den eckigen Klammern den Wert 1 hat, wenn das Produkt x(i) × x(i + 1) negativ ist (d.h. wenn eine Kreuzung der Nulllinie vorliegt), und sonst den Wert 0 hat.
  • (3) Messung der Spitzenhaftigkeit im Sprachbereich:
    Figure 00160002
  • Das Spitzenhaftigkeitsmaß ist definiert wie in dem MELP-Codierer [5], jedoch wird dieses Maß von dem Sprachsignal selbst berechnet, während es im MELP-Codierer aus dem Vorhersage-Restsignal berechnet wird, das von dem Sprachsignal abgeleitet wird.
  • (4) Maximaler Korrelationskoeffizient im Tonhöhensuchbereich:
  • Zuerst wird das Spracheingabesignal durch ein Tiefpassfilter mit einer Grenzfrequenz von 800 Hz geführt, wo H(z) = 0,3069/(1 – 2,4552 z–1 + 2,4552 z–2 – 1,152 z–3 + 0,2099 z–4)
  • Das tiefpassgefilterte Signal wird dann durch ein inverses LPC-Filter 2. Ordnung geführt. Das invers gefilterte Signal wird als siv(n) bezeichnet. Dann wird die Autokorrelationsfunktion berechnet durch:
    Figure 00170001
    wo M = 70 ist. Die Abtastwerte werden unter Verwendung eines gleitenden Fensters ausgewählt, das gewählt wird, um die gegenwärtige Berechnungsposition auf den Mittelpunkt des Autokorrelationsfensters auszurichten. Der maximale Korrelationskoeffizient-Parameter corx ist das Maximum der Funktion rk. Die korrespondierende Tonhöhe ist l.
  • Figure 00170002
  • (5) Maximaler Korrelationskoeffizient der tiefpassgefilterten Sprache:
  • In dem MELP-Standard-Codierer werden bei der Bandpass-Sprachbelegungsanalyse fünf Filter verwendet. Das erste Filter ist in Wirklichkeit ein Tiefpassfilter mit einem Durchlassband von 0–500 Hz. Dasselbe Filter wird auf der Spracheingabe verwendet, um das tiefpassgefilterte Signal sl(n) zu erzeugen. Dann wird die in (4) definierte Korrelationsfunktion auf sl(n) berechnet. Der Bereich der Indizes ist begrenzt durch [max(20, l – 5), min(150, l + 5)]. Das Maximum der Korrelationsfunktion wird als lowBandCorx bezeichnet.
  • (6) Tiefpassbandenergie und Hochpassbandenergie:
  • In dem LPC-Analysemodul werden die ersten 17 Autokorrelationskoeffizienten r(n), n = 0, ..., 16 berechnet. Die Tiefpassbandenergie und die Hochpassbandenergie werden ermittelt durch Filtern der Autokorrelationskoeffizienten.
  • Figure 00170003
  • Die Cl(n) und Ch(n) sind die Koeffizienten für das Tiefpassfilter und das Hochpassfilter. Die 16 Filterkoeffizienten für jedes Filter werden für eine Grenzfrequenz von 2 kHz gewählt und werden mit einer Standard FIR-Filterentwurfstechnik ermittelt.
  • Die oben aufgeführten Parameter werden verwendet, um grobe U-/V-Entscheidungen für jeden Halbrahmen zu fällen. Die unten gezeigte Klassifizierungslogik für das Fällen der Sprachbelegungsentscheidungen wird in dem Tonhöhenglättermodul 24 durchgeführt. Die voicedEn und silenceEn sind die laufenden Durchschnittsenergien von sprachbelegten und nicht sprachbelegten Rahmen.
  • Figure 00180001
  • Figure 00190001
  • Figure 00200001
  • Die U-/V-Entscheidungen für jeden Unterrahmen werden dann verwendet, um die Rahmen als Anlaut oder Ablaut zu klassifizieren. Diese Klassifizierung ist intern im Codierer und wird nicht übertragen. Für jeden laufenden Rahmen wird zuerst die Möglichkeit eines Ablauts geprüft. Ein Ablautrahmen wird ausgewählt, falls der gegenwärtige sprachbelegte Rahmen gefolgt wird von einer Sequenz nicht sprachbelegter Rahmen, oder falls die Energie um mindestens 8 dB innerhalb eines Rahmens oder um 12 dB innerhalb anderthalb Rahmen abnimmt. Die Tonhöhe eines Ablautrahmens wird nicht geglättet.
  • Falls der gegenwärtige Rahmen der erste sprachbelegte Rahmen ist oder die Energie um mindestens 8 dB innerhalb eines Rahmens oder um 12 dB innerhalb anderthalb Rahmen ansteigt, wird der gegenwärtige Rahmen klassifiziert als ein Anlautrahmen. Für die Anlautrahmen wird ein Vorausschau-Tonhöhe-Kandidat aus einem der lokalen Maxima der Autokorrelationsfunktion geschätzt, die in dem Vorausschau-Bereich ausgewertet werden. Zuerst werden die 8 größten lokalen Maxima der oben angeführten Autokorrelationsfunktion ausgewählt. Die Maxima werden für die gegenwärtige Berechnungsposition bezeichnet als R(0)(i), i = 0, ..., 7. Die Maxima für die nächsten zwei Berechnungspositionen sind R(1)(i), R(2)(i). Eine Kostenfunktion für jede Berechnungsposition wird berechnet, und die Kostenfunktion für die gegenwärtige Berechnungsposition wird verwendet, um die vorausgesagte Tonhöhe zu schätzen. Die Kostenfunktion für R(2)(i) wird zuerst berechnet als: C(2)(i) = W[1 – R(2)(i)]wo W eine Konstante ist, die 100 beträgt. Für jedes Maximum R(1)(i) wird die korrespondierende Tonhöhe bezeichnet als p(1)(i). Die Kostenfunktion C(1)(i) wird berechnet zu: C(1)(i) = W[1 – R(1)(i)] + |p(1)(i) – p(2)(ki) + C(2)(ki)
  • Der Index ki wird gewählt zu:
    Figure 00210001
  • Falls in der obigen Gleichung der Bereich für l eine leere Menge ist, dann verwenden wir den Bereich l ∈ [0, 7]. Die Kostenfunktion C(0)(i) wird auf ähnliche Weise berechnet wie C(1)(i). Die vorausgesagte Tonhöhe wird gewählt zu
    Figure 00220001
  • Der Vorausschau-Tonhöhe-Kandidat wird als gegenwärtige Tonhöhe ausgewählt, falls die Differenz zwischen der ursprünglichen Tonhöhen-Schätzung und der Vorausschau-Tonhöhe größer als 15% ist.
  • Falls der gegenwärtige Rahmen weder Ablaut noch Anlaut ist, wird die Tonhöhenveränderung geprüft. Falls ein Tonhöhensprung erkannt wird, was bedeutet, dass die Tonhöhe abnimmt und dann zunimmt, oder zunimmt und dann abnimmt, wird die Tonhöhe des gegenwärtigen Rahmens unter Verwendung von Interpolation zwischen der Tonhöhe des vorangehenden Rahmens und der Tonhöhe des nächsten Rahmens geglättet. Für den letzten Rahmen in dem Superframe ist die Tonhöhe des nächsten Rahmens nicht verfügbar, und deshalb wird ein vorausgesagter Wert statt des Tonhöhewerts des nächsten Rahmens verwendet. Der oben beschriebene Tonhöhenglätter erkennt viele der großen Tonhöhenfehler, die sonst auftreten würden, und in formalen, subjektiven Qualitätstests ergab der Tonhöhenglätter eine signifikante Qualitätsverbesserung.
  • 2.3 Bandpass-Sprachbelegungsglätter
  • Bei der MELP-Codierung wird die Spracheingabe in fünf Unterbänder gefiltert. Die Bandpass-Sprachbelegungsstärken werden für jedes dieser Unterbänder berechnet, wobei jede Sprachbelegungsstärke auf einen Wert zwischen 0 und 1 normalisiert wird. Diese Stärken werden nachfolgend auf Nullen oder Einsen quantisiert, um die Bandpass-Sprachbelegungsentscheidungen zu ermitteln. Die quantisierte Tiefpass-(0 bis 500 Hz)-Sprachbelegungsstärke bestimmt den nicht sprachbelegten oder sprachbelegten U-/V-Charakter des Rahmens. Die binäre Sprachbelegungsinformation der restlichen vier Bänder beschreibt partiell den harmonischen oder nicht harmonischen Charakter des Spektrums eines Rahmens und kann durch ein 4-Bit-Codewort repräsentiert werden. In dieser Erfindung wird ein Bandpass-Sprachbelegungsglätter verwendet, um diese Information für jeden Rahmen in einem Superframe kompakter zu beschreiben, und um die zeitliche Entwicklung dieser Information über den Rahmen zu glätten. Zuerst wird das 4-Bit-Codewort abgebildet (1 für sprachbelegt, 0 für nicht sprachbelegt) für die restlichen vier Bänder für jeden Rahmen auf eine einzige Grenzfrequenz mit einem von vier zulässigen Werten. Diese Grenzfrequenz identifiziert angenähert die Grenze zwischen dem unteren Bereich des Spektrums, der einen sprachbelegten (oder harmonischen) Charakter hat, und dem oberen Bereich, der einen nicht sprachbelegten Charakter hat. Der Glätter modifiziert dann die drei Grenzfrequenzen in dem Superframe, um eine natürlichere Zeitentwicklung für den Spektralcharakter der Rahmen zu produzieren. Das binäre 4-Bit-Sprachbelegungscodewort für jeden der Rahmenentscheidungen wird abgebildet auf vier Codewörter, wobei vier in Tabelle 2 gezeigte Codebücher verwendet werden. Die Einträge des Codebuchs sind äquivalent zu den vier Grenzfrequenzen: 500 Hz, 1000 Hz, 2000 Hz und 4000 Hz, welche jeweils mit den Spalten korrespondieren, die mit 0000, 1000, 1100 bzw. 1111 in der in Tabelle 2 angeführten Abbildungstabelle etikettiert sind. Wenn z.B. das Bandpass-Sprachbelegungsmuster für einen sprachbelegten Rahmen 1001 ist, wird dieser Index abgebildet auf 1000, was mit einer Grenzfrequenz von 1000 Hz korrespondiert.
  • Für die ersten zwei Rahmen des gegenwärtigen Superframes wird die Grenzfrequenz geglättet entsprechend der Bandpass-Sprachbelegungsinformation des vorangehenden Rahmens und des nächsten Rahmens. Die Grenzfrequenz in dem dritten Rahmen wird unverändert belassen. Die durchschnittliche Energie sprachbelegter Rahmen wird als VE bezeichnet. Der Wert von VE wird mit jedem sprachbelegten Rahmen aktualisiert, für den die zwei vorangehenden Rahmen sprachbelegt sind. Die Aktualisierungsregel ist:
    Figure 00230001
  • Für den Rahmen i wird die Energie des gegenwärtigen Rahmen als eni bezeichnet. Die Sprachbelegungsstärken für die fünf Bänder werden als bp[k]i, k = 1, ..., 5 bezeichnet. Die folgenden drei Gleichungen werden dazu angesehen, die Grenzfrequenz fi zu glätten.
    • (1) Falls die Grenzfrequenzen des vorangehenden Rahmens und des nächsten Rahmens beide über 2000 Hz liegen, dann wird die folgende Prozedur ausgeführt. If (fi < 2000 AND ((eni > VE – 5 dB) OR (bp[2]i–1 > 0,5 AND bp[2]i–1 > 0,5)))fi = 2000 Hz else if (fi < 1000) fi = 1000 Hz
    • (2) Falls die Grenzfrequenzen des vorangehenden Rahmens und des nächsten Rahmens beide über 1000 Hz liegen, dann wird die folgende Prozedur ausgeführt. If (fi < 1000 AND ((eni > VE – 5 dB) OR (bp[2]i–1 > 0,4)))fi = 1000 Hz
    • (3) Falls die Grenzfrequenzen des vorangehenden Rahmens und des nächsten Rahmens beide unter 1000 Hz liegen, dann wird die folgende Prozedur ausgeführt. If (fi > 2000 AND ((eni > VE – 5 dB) AND (bp[3]i–1 > 0,7)))fi = 2000 Hz
  • 3. Quantisierung
  • 3.1 Überblick
  • Die übertragenen Parameter des 1,2-kbps-Codierers sind dieselben wie diejenigen des 2,4-kbps-MELP-Codierers, außer dass in dem 1,2-kbps-Codierer die Parameter nicht Rahmen für Rahmen überfragen werden, sondern einmal pro Superframe gesendet werden. Die Bit-Zuweisung ist in Tabelle 1 gezeigt. Neue Quantisierungsschemata wurden entworfen, um einen Vorteil aus der großen Blockgröße (des Superframes) zu ziehen unter Verwendung von Interpolation und Vektor-Quantisierung (VQ). Die statistischen Eigenschaften von sprachbelegter und nicht sprachbelegter Sprache wurden ebenfalls berücksichtigt. Dasselbe Fourier-Größenwert-Codebuch des 2,4-kbps-MELP-Codierers wird in dem 1,2-kbps-Codierer verwendet, um Speicher zu sparen und um das Transcodieren leichter zu machen.
  • 3.2 Tonhöhen-Quantisierung
  • Die Tonhöhen-Parameter sind nur für sprachbelegte Rahmen anwendbar. Unterschiedliche Tonhöhenquantisierungsschemata werden für unterschiedliche U-/V-Kombinationen über die drei Rahmen hinweg verwendet. Das detaillierte Verfahren für die Quantisierung der Tonhöhenwerte eines Superframes wird hier für bestimmte Sprachbelegungsmuster beschrieben. Das in diesem Abschnitt beschriebene Quantisierungsverfahren wird in der gemeinsamen Quantisierung der Sprachbelegungsmuster verwendet, während die Tonhöhe in dem folgenden Abschnitt beschrieben werden wird. Die Tonhöhenquantisierungsschemata sind in Tabelle 3 zusammengefasst. Innerhalb derjenigen Superframes, in denen die Sprachbelegungsmuster entweder zwei oder drei sprachbelegte Rahmen enthalten, werden die Tonhöhenparameter vektor-quantisiert. Für Sprachbelegungsmuster, die nur einen sprachbelegten Rahmen enthalten, wird der in dem MELP-Standard spezifizierte, skalare Quantisierer für die Tonhöhe des sprachbelegten Rahmens verwendet. Für das UUU-Sprachbelegungsmuster, bei dem keiner der Rahmen sprachbelegt ist, werden keine Bits für die Tonhöheninformation benötigt. Es wird bemerkt, dass U "nicht sprachbelegt" und V "sprachbelegt" bezeichnet.
  • Jeder Tonhöhenwert P, der von der Tonhöhenanalyse in dem 2,4-kbps-Standard ermittelt wurde, wird vor der Quantisierung in einen logarithmischen Wert p = log P gewandelt. Für jeden Superframe wird ein Tonhöhenvektor konstruiert mit Komponenten gleich dem logarithmischen Tonhöhenwert für jeden sprachbelegten Rahmen und einem Nullwert für jeden nicht sprachbelegten Rahmen. Für Sprachbelegungsmuster mit zwei oder drei sprachbelegten Rahmen wird der Tonhöhenvektor unter Verwendung eines VQ-(Vektor-Quantisierungs-)Algorithmus mit einem neuen Verzerrungsmaß quantisiert, welches die Entwicklung der Tonhöhe berücksichtigt. Dieser Algorithmus vereinigt Tonhöhenunterschiede in der Codebuchabfrage, was ermöglicht, die zeitliche Entwicklung der Tonhöhe zu beachten. Ein Standard-VQ-Codebuchentwurf wird in [7] verwendet. Der VQ-Codierungsalgorithmus beinhaltet Tonhöhenunterschiede in der Codebuchabfrage, was ermöglicht, die zeitliche Entwicklung bei der Codebuchabfrage zu beachten. Dieses Merkmal wird motiviert durch die wahrgenommene Bedeutung der angemessenen Verfolgung des Tonhöhenverlaufs. Der Algorithmus hat drei Schritte für die Ermittlung des besten Index:
  • Schritt 1: Wähle die M besten Kandidaten unter Verwendung der gewichteten, quadrierten euklidischen Abstandsmaße:
    Figure 00260001
  • pi
    die unquantisierte, logarithmierte Tonhöhe und
    p ^i
    die quantisierte, logarithmierte Tonhöhe ist. Die obigen Gleichungen zeigen an, dass nur sprachbelegte Rahmen in der Codebuchabfrage berücksichtigt werden.
  • Schritt 2: Berechne die Differentiale der unquantisierten, logarithmierten Tonhöhenwerte unter Verwendung von:
    Figure 00260002
    für i = 1, 2, 3, wobei p0 der letzte logarithmierte Tonhöhenwert für den vorangegangenen Superframe ist. Für die in Schritt 1 ausgewählten, kandidierenden logarithmierten Tonhöhenwerte werden Differentiale der Kandidaten berechnet durch Ersetzen von
  • Δpi
    durch Δp ^i und von
    pi
    durch p ^i in Gleichung (2), wobei
    p ^0
    die quantisierte Version von p0 ist.
  • Schritt 3: Wähle den Index aus den M besten Kandidaten aus, der minimiert:
    Figure 00260003
    wo δ ein Parameter für die Steuerung des Beitrags der Tonhöhendifferentiale ist, welcher auf 1 gesetzt wird.
  • Für Superframes, die nur einen sprachbelegten Rahmen enthalten, wird eine skalare Quantisierung der Tonhöhe durchgeführt. Der Tonhöhenwert wird auf einer logarithmischen Skala mit einem 99-stufigen, gleichförmigen Quantisierer quantisiert, der von 20 bis 160 Abtastwerte erfasst. Der Quantisierer ist derselbe wie derjenige in dem MELP-Standard, wo 99 Stufen abgebildet werden auf ein 7-Bit-Codewort, und die 28 unbenutzten Codewörter mit einem Hamming-Gewicht von 1 oder 2 für Fehlerschutz verwendet werden.
  • 3.3 Gemeinsame Quantisierung von Tonhöhe und U-/V-Entscheidung.
  • Die U-/V-Entscheidungs- und Tonhöhenparameter für jeden Superframe werden gemeinsam unter Verwendung von 12 Bits quantisiert. Das gemeinsame Quantisierungsschema ist in Tabelle 4 zusammengefasst. Mit anderen Worten: das Sprachbelegungsmuster oder der Sprachbelegungsmode (einer von 8 möglicher Mustern) und der Satz von drei Tonhöhenwerten für den Superframe bilden die Eingabe in ein gemeinsames Quantisierungsschema, dessen Ausgabe ein 12-Bit-Wort ist. Der Decodierer bildet dann nachfolgend dieses 12-Bit-Wort mittels einer Tabellenabfrage auf ein bestimmtes Sprachbelegungsmuster und einen quantisierten Satz von drei Tonhöhenwerte ab.
  • In diesem Schema besteht die Zuweisung von 12 Bits aus 3 Mode-Bits (welche die 8 möglichen Kombinationen der U-/V-Entscheidungen für die 3 Rahmen in einem Superframe repräsentieren) und den restlichen 9 Bits für Tonhöhenwerte. Das Schema benutzt sechs getrennte Tonhöhen-Codebücher, von denen fünf 9 Bits haben (d.h. jeweils 512 Einträge) und eines ein skalarer Quantisierer ist, wie in Tabelle 4 angezeigt; wobei das spezifische Codebuch bestimmt wird nach den Bitmustern des 3-Bit-Codeworts, welches das quantisierte Sprachbelegungsmuster repräsentiert. Deshalb wird das U-/V-Sprachbelegungsmuster zuerst in ein 3-Bit-Codewort codiert, wie in Tabelle 4 gezeigt, welches dann verwendet wird, um eines der sechs gezeigten Codebücher auszuwählen. Die geordnete Menge von 3 Tonhöhenwerten wird dann mit dem ausgewählten Codebuch vektor-quantisiert, um ein 9-Bit-Codewort zu erzeugen, das den quantisierten Satz von 3 Tonhöhenwerten identifiziert. Es wird bemerkt, dass vier Codebücher den Superframes indem VVV-(sprachbelegt – sprach belegt – sprachbelegt)-Mode zugeordnet sind, was bedeutet, dass die Tonhöhenvektoren in Superframes vom VVV-Typ jeweils durch eines von 2048 Codewörtern quantisiert werden. Falls die Anzahl von sprachbelegten Rahmen in dem Superframe nicht größer als Eins ist, wird das 3-Bit-Codewort auf 000 gesetzt, und die Unterscheidung zwischen unterschiedlichen Modes wird innerhalb des 8-Bit-Codeworts bestimmt. Es wird bemerkt, dass der letztere Fall aus den vier Modes UUU, VUU, UVU und UUV besteht (wobei U einen nicht sprachbelegten Rahmen und V einen sprachbelegten Rahmen bezeichnet). In diesem Fall sind die 9 verfügbaren Bits mehr als ausreichend, um die geordnete Menge von 3 Rahmen in einem Superframe wie auch den Tonhöhenwert zu repräsentieren, da es 3 Modes mit 128 Tonhöhenwerten und einen Mode mit keinem Tonhöhenwert gibt.
  • 3.4 Paritätsbit
  • Um die Robustheit gegenüber Übertragungsfehlern zu verbessern, wird ein Paritätsbit für die drei Mode-Bits in dem Superframe (welche das Sprachbelegungsmuster repräsentieren) berechnet und übertragen, wie in Abschnitt 3.3 definiert.
  • 3.5 LSF-Quantisierung
  • Die Bit-Zuordnung für Quantisierung der Leitungsspektralfrequenzen (LSF) wird in Tabelle 5 gezeigt, wobei die ursprünglichen LSF-Vektoren für die drei Rahmen mit l1, l2 und l3 bezeichnet sind. Für die UUU-, UUV-, UVU- und VUU-Modes werden die LSF-Vektoren nicht sprachbelegter Rahmen unter Verwendung eines 9-Bit-Codebuchs quantisiert, während der LSF-Vektor des sprachbelegten Rahmens mit einem 24-Bit-Vielstufen-VQ-(MSVQ-)Quantisierer auf der Basis des in [8] beschriebenen Ansatzes quantisiert wird.
  • Die LSF-Vektoren für die anderen U-/V-Muster werden codiert unter Verwendung des folgenden Vorwärts-Rückwärts-Interpolationsschemas. Dieses Schema arbeitet wie folgt: Der quantisierte LSF-Vektor des vorangegangenen Rahmens wird mit lp bezeichnet. Zuerst werden die LSF des letzten Rahmens im gegenwärtigen Superframe l3 direkt unter Verwendung des 9-Bit-Codebuchs für nicht sprachbelegte Rahmen oder des 24-Bit-MSVQ für sprachbelegte Rahmen in l ^3 quantisiert. Vorhergesagte Werte von l1 und l2 werden dann ermittelt durch Interpolation von l ^p und l ^3, wobei die folgenden Gleichungen verwendet werden: l ~1(j) = a1(j)·l ^p(n) + [1 – a1(j)]·l ^3(j) l ~2(j) = a2(j)·l ^p(j) + [1 – a2(j)]·l ^3(j) j = 1, ..., 10 (4)wo a1(j) und a2(j) die Interpolationskoeffizienten sind.
  • Der Entwurf der MSVQ-(vielstufige Vektor-Quantisierung)-Codebücher folgt der in [8] erläuterten Prozedur.
  • Die Koeffizienten werden in einem Codebuch gespeichert und die besten Koeffizienten werden ausgewählt durch Minimierung des Verzerrungsmaßes:
    Figure 00290001
    wo die Koeffizienten wi(j) dieselben sind wie in dem 2,4-kbps-MELP-Standard. Nach der Ermittlung der besten Interpolationskoeffizienten werden die restlichen LSF-Vektoren für die Rahmen 1 und 2 berechnet durch: r1(j) = l1(j) – l ~1(j) r2(j) = l2(j) – l ~2(j) j = 1, ..., 10 (6)
  • Der 20-dimensionale Restvektor R = [r1(1), ..., r1(10), r2(1), ..., r2(10)] wird dann unter Verwendung gewichteter vielstufiger Vektor-Quantisierung quantisiert.
  • 3.6 Verfahren für den Entwurf des Interpolationscodebuchs
  • Die Interpolationskoeffizienten werden wie folgt ermittelt. Die optimalen Interpolationskoeffizienten für jeden Superframe werden berechnet durch Minimierung der gewichteten durchschnittlichen quadrierten Abweichung zwischen l1, l2 und li1, li2, wobei gezeigt werden kann, dass sie ergibt:
    Figure 00300001
  • Jeder Eintrag der Trainings-Datenbank für den Codebuchentwurf setzt den 40-dimensionalen Vektor (lp, l1, l2, l3) und die unten beschriebene Trainingsprozedur ein.
  • Die Datenbank wird bezeichnet als L = {(l ^p,n, l1,n, l2,n, l ^3,n), n = 0,2, ..., N – 1}, wo (l ^p,n, l1,n, l2,n, l ^3,n) = [l ^p,n(1), ... l ^p,n(10), l1,n(1), ..., l1,n(10), l1,n(1), ..., ll,n(10), l ^3,n(1), ..., l ^3,n(10)] ein 40-dimensionaler Vektor ist.
  • Das ausgegebene Codebuch ist C = {(a1,m, a2,m,), m = 0, ... M – 1}, wo [a1,m(1), ..., a1,m(10), a2,m(1), ..., a2,m(10)] ein 20-dimensionaler Vektor ist.
  • 3.6.1 Die zwei Hauptprozeduren des Codebuch-Trainings werden nun beschrieben. Gegeben das Codebuch C = {(a1,m, a2,m), m = 0, ..., M' – 1}; dann ist jeder Datenbankeintrag Ln = (l ^p,n, l1,n, l2,n, l ^3,n) einem bestimmten Zentroid zugeordnet.
  • Die Gleichung unten wird verwendet, um die Abweichungsfunktion zwischen der Eingabe (Eingangsvektor) und jedem Zentroid in dem Codebuch zu berechnen. Der Eintrag Ln ist dem Zentroid zugeordnet, welcher die kleinste Abweichung ergibt. Dieser Schritt definiert eine Partition über die Eingangsvektoren.
  • Figure 00310001
  • 3.6.2 Gegeben eine bestimmte Partition, dann wird das Codebuch aktualisiert. Angenommen, N' Datenbank-Einträge sind dem Zentroid Am = (a1,m, a2,m) zugeordnet, dann wird das Zentroid aktualisiert unter Verwendung der folgenden Gleichung:
    Figure 00310002
  • Das Interpolationskoeffizientencodebuch wurde trainiert und für verschiedene Codebuchgrößen getestet. Ein Codebuch mit 16 Einträgen wurde als ganz effizient befunden. Die obige Prozedur ist von Ingenieuren leicht zu verstehen, die mit dem allgemeinen Konzept von Vektor-Quantisierung und Codebuchentwurf vertraut sind, wie in [7] beschrieben.
  • 3.7 Verstärkungsquantisierung
  • In dem 1,2-kbps-Codierer werden zwei Verstärkungsparameter pro Rahmen berechnet, d.h. sechs Verstärkungsfaktoren pro Superframe. Die sechs Parameter werden quantisiert unter Verwendung eines 10-Bit-Vektor-Quantisierers mit einem MSE-Kriterium, das im logarithmischen Bereich definiert ist.
  • 3.8 Bandpass-Sprachbelegungsquantisierung
  • Die Sprachbelegungsinformation für das unterste Band von den insgesamt fünf Bändern wird durch die U-/V-Entscheidung bestimmt. Die Sprachbelegungsentscheidungen der restlichen vier Bänder wird nur für sprachbelegte Bänder eingesetzt. Die binären Sprachbelegungsentscheidungen (1 für sprachbelegt und 0 für nicht sprachbelegt) der vier Bänder werden quantisiert unter Verwendung des in Tabelle 2 gezeigten 2-Bit-Codebuchs. Diese Prozedur führt zu zwei Bits, die für Sprachbelegung in jedem sprachbelegten Rahmen verwendet werden. Die in unterschiedlichen Codierungsmodes für Bandpass-Sprachbelegungsquantisierung benötigte Bit-Zuordnung wird in Tabelle 6 gezeigt.
  • 3.9 Quantisierung der Fourier-Größenwerte.
  • Der Fourier-Größenwerte-Vektor wird nur für sprachbelegte Rahmen berechnet. Die Quantisierungsprozedur für Fourier-Größenwerte ist in Tabelle 7 zusammengefasst. Die unquantisierten Fourier-Größenwerte-Vektoren für die drei Rahmen in einem Superframe werden als fi, i = 1, 2, 3 bezeichnet. f0 bezeichnet den Fourier-Größenwerte-Vektor des letzten Rahmens in dem vorangegangenen Superframe, f ^i bezeichnet den quantisierten Vektor fi, und Q(.) bezeichnet die Quantisierungsfunktion für den Fourier-Größenwerte-Vektor, wenn dasselbe 8-Bit-Codebuch wie innerhalb des MELP-Standards verwendet wird. Die quantisierten Fourier-Größenwerte-Vektoren für die drei Rahmen eines Superframe werden ermittelt, wie in Tabelle 7 gezeigt.
  • 3.10 Quantisierung des aperiodischen Merkers
  • Der 1,2-kbps-Codierer verwendet 1 Bit pro Superframe für die Quantisierung des aperiodischen Merkers. In dem 2,4-kbps-MELP-Standard benötigt der aperiodische Merker 1 Bit pro Rahmen, d.h. 3 Bit pro Superframe. Die Komprimierung auf ein Bit pro Superframe wird erreicht unter Verwendung der in Tabelle 8 gezeigten Quantisierungsprozedur. In Tabelle 8 zeigen "J" bzw. "–" die Zustände des aperiodischen Merkers als gesetzt bzw. nicht gesetzt an.
  • 3.11 Fehlerschutz
  • 3.11.1 Modeschutz
  • Neben dem Paritätsbit werden zusätzliche Modeschutztechniken auf Superframes angewendet durch Einsatz der übrig gebliebenen Bits, die in allen Superframes außer Superframes in dem VVV-Mode verfügbar sind. Der 1,2-kbps-Codierer verwendet zwei Bits für die Quantisierung der Bandpass-Sprachbelegung für jeden sprachbelegten Rahmen. Daher bleiben in Superframes, die einen nicht sprachbelegten Rahmen haben, zwei Bandpass-Sprachbelegungsbits übrig und können für Modeschutz verwendet werden. In Superframes, die zwei nicht sprachbelegte Rahmen haben, können vier Bits für Modeschutz verwendet werden. Zusätzlich werden 4 Bits der LSF-Quantisierung für Modeschutz in den UUU- und VVU-Modes verwendet. Tabelle 9 zeigt, wie diese Modeschutzbits verwendet werden. Modeschutz impliziert Schutz des Codierzustands, der in Abschnitt 1.1 beschrieben wurde.
  • 3.11.2 Vorwärts-Fehler-Korrektur für UUU-Superframes
  • In dem UUU-Mode werden die ersten 8 MSB (signifikantesten Bits) des Verstärkungsindex in zwei Gruppen von 4 Bits aufgeteilt, und jede Gruppe ist durch den Hamming-(8,4)-Code geschützt. Die restlichen zwei Bits des Verstärkungsindex werden mit dem Hamming-(7,4)-Code geschützt. Es wird bemerkt, dass der Hamming-(7,4)-Code Einzelbitfehler korrigiert, während der Hamming-(8,4)-Code Einzelbitfehler korrigiert und zusätzlich Doppelbitfehler erkennt. Die LSF-Bits für jeden Rahmen in dem UUU-Superframe werden durch eine zyklische Redundanzprüfung (CRC, cyclic redundancy check) mit einem CRC-(13,9)-Code geschützt, der Einzelbitfehler und Doppelbitfehler erkennt.
  • 4. Decodierer
  • 4.1 Entpacken der Bits und Fehlerkorrektur
  • Innerhalb des Decodierers werden die von dem Kanal empfangenen Bits entpackt und in Parameter-Codewörter aufgesammelt. Da die Decodierungsprozeduren für die meisten Parameter von dem Mode (von dem U-/V-Muster) abhängen, werden die 12 für Tonhöhe und U-/-Entscheidung zugewiesenen Bits zuerst decodiert. Für das Bit-Muster 000 in dem 3-Bit-Codewort, spezifiziert das 9-Bit-Codewort einen von den UUU-, UUV-, UVU- und VUU-Modes. Falls der Code des 9-Bit-Codebuchs nur aus Nullen besteht, oder wenn nur ein Bit gesetzt ist, wird der UUU-Mode verwendet. Falls der Code zwei gesetzte Bits hat, oder falls er einen für Tonhöhe nicht benutzten Index spezifiziert, ist eine Löschung des Rahmens angezeigt.
  • Nach dem Decodieren des U-/V-Musters wird die sich ergebende Modeinformation unter Verwendung des Paritätsbits und der Modeschutzbits geprüft. Falls ein Fehler erkannt wird, wird ein Modekorrekturalgorithmus durchgeführt. Der Algorithmus versucht, den Modefehler unter Verwendung der Paritätsbits und der Modeschutzbits zu korrigieren. In dem Fall, in dem ein nicht korrigierbarer Fehler erkannt wird, werden entsprechend dem Modefehlermuster unterschiedliche Decodierungsverfahren für jeden Parameter angewendet. Falls ein Paritätsfehler erkannt wird, wird zusätzlich ein Parameter-Glättungsmerker gesetzt. Die Korrekturprozeduren werden in Tabelle 10 beschrieben.
  • Unter der Annahme, dass kein Fehler in der Modeinformation erkannt wurde, werden in dem UUU-Mode die zwei Hamming-(8,4)-Codes, die die Verstärkungsparameter repräsentieren, decodiert, um Einzelbitfehler zu korrigieren und Doppelbitfehler zu erkennen. Falls ein nicht korrigierbarer Fehler erkannt wird, ist eine Rahmenlöschung angezeigt. Sonst werden der Hamming-(7,4)-Code für Verstärkung und die CRC-(13,9)-Codes für LSF decodiert, um Einzelfehler zu korrigieren bzw. Doppelfehler zu erkennen. Falls ein Fehler in den CRC-(13,9)-Codes gefunden wird, werden die inkorrekten LSF ersetzt durch Wiederholen vorheriger LSF oder Interpolation zwischen benachbarten korrekten LSF.
  • Falls eine Rahmenlöschung in dem gegenwärtigen Superframe durch den Hamming-Decodierer angezeigt wird, oder eine Löschung direkt von dem Kanal angezeigt wird, wird ein Rahmenwiederholungsmechanismus verwirklicht. Alle Parameter des gegenwärtigen Superframes werden ersetzt durch Parameter von dem letzten Rahmen des vorangehenden Superframes.
  • Für einen Superframe, in dem eine Löschung nicht erkannt wird, werden die restlichen Parameter decodiert. Falls Glättung erforderlich ist, werden die Parameter nach der Glättung ermittelt durch: x = 0.5x ^ + 0.5x' (10)wo x ^ und x' den decodierten Parameter des gegenwärtigen Rahmens bzw. den korrespondierenden Parameter vorangegangenen Rahmens repräsentieren.
  • 4.2 Tonhöhen-Decodierung
  • Die Tonhöhen-Decodierung wird durchgeführt, wie in Tabelle 4 gezeigt. Für nicht sprachbelegte Rahmen wird der Tonhöhenwert auf 50 Abtastwerte gesetzt.
  • 4.3 Decodierung der LSF
  • Die LSF werden decodiert, wie in Abschnitt 4.4 und Tabelle 5 beschrieben. Die LSF werden geprüft auf zunehmende Reihenfolge und minimale Trennung.
  • 4.4 Verstärkungsdecodierung
  • Der Verstärkungsindex wird verwendet, um ein Codewort aus dem 10-Bit-VQ-Verstärkungscodebuch wieder zu beschaffen, das sechs Verstärkungsparameter enthält.
  • 4.5 Decodierung der Bandpass-Sprachbelegung
  • In den nicht sprachbelegten Rahmen werden alle Bandpass-Sprachbelegungsstärken auf Null gesetzt. In den sprachbelegten Rahmen wird Vbpl auf 1 gesetzt und die restlichen Sprachbelegungsmuster werden decodiert, wie in Tabelle 2 gezeigt.
  • 4.6 Decodierung der Fourier-Größenwerte
  • Die Fourier-Größenwerte nicht sprachbelegter Rahmen werden auf 1 gesetzt. Für den letzten sprachbelegten Rahmen des gegenwärtigen Superframes werden die Fourier-Größenwerte direkt decodiert. Die Fourier-Größenwerte anderer sprachbelegter Rahmen werden durch Wiederholung oder lineare Interpolation erzeugt, wie in Tabelle 7 gezeigt.
  • 4.7 Decodierung des aperiodischen Merkers
  • Die aperiodischen Merker werden aus dem Neu-Merker ermittelt, wie in Tabelle 8 gezeigt. Das Zittern wird auf 25% gesetzt, wenn der aperiodische Merker 1 ist, sonst wird das Zittern auf 0 gesetzt.
  • 4.8 MELP-Synthese
  • Die Grundstruktur des Decodierers ist dieselbe wie in dem MELP-Standard, außer dass ein neues harmonisches Syntheseverfahren eingeführt wird, um das Erregungssignal für jeden Tonhöhenzyklus zu erzeugen. In dem ursprünglichen 2,4-kbps-MELP-Algorithmus, wird die gemischte Erregung erzeugt als die Summe der gefilterten Pulse und Rauschen-Erregungen. Die Pulserregung wird berechnet unter Verwendung einer inversen diskreten Fourier-Transformation (IDFT) einer Tonhöhenperiode in der Länge, und die Rauschen-Erregung wird im Zeitbereich erzeugt. In dem neuen harmonischen Synthesealgorithmus wird die gemischte Erregung vollständig im Frequenzbereich erzeugt, und dann wird eine inverse diskrete Fourier-Transformationsoperation durchgeführt, um sie in den Zeitbereich zu wandeln. Dies vermeidet den Bedarf für eine Bandpass-Filterung der Impuls- und Rauschen-Erregungen, wodurch die Komplexität des Decodierers reduziert wird.
  • In der neuen harmonischen Syntheseprozedur wird die Erregung in dem Frequenzbereich für jeden Tonhöhenzyklus auf der Basis der Grenzfrequenz und des Fourier-Größenwertevektors Al, l = 1, 2, ..., L erzeugt. Die Grenzfrequenz wird ermittelt aus den Bandpass-Sprachbelegungsparametern, wie oben beschrieben, und wird dann für jeden Tonhöhenzyklus interpoliert.
  • Mit der mit N bezeichneten Tonhöhenlänge wird die korrespondierende Fundamentalfrequenz beschrieben durch f0 = 2 π/N. Die Fourier-Größenwertevektor-Länge ist dann gegeben durch L = N/2. Zwei Übergangsfrequenzen FH und FL werden bestimmt aus der Grenzfrequenz F, wobei ein empirisch abgeleiteter Algorithmus wie folgt angewendet wird.
  • Figure 00370001
  • Diese Übergangsfrequenzen sind äquivalent zu zwei Frequenzkomponentenindizes VH und VL. Ein sprachbelegtes Modell wird verwendet für alle Frequenzabtastwerte unterhalb VL, ein gemischtes Modell wird verwendet für Frequenzabtastwerte zwischen VL und VH und ein nicht sprachbelegtes Modell wird verwendet für Frequenzabtastwerte oberhalb VH. Für die Definition des gemischten Modells wird ein Verstärkungsfaktor g ausgewählt, wobei der Wert abhängt von der Grenzfrequenz ist (je höher die Grenzfrequenz ist, desto kleiner ist der Verstärkungsfaktor).
  • Figure 00370002
  • Die Größe und Phase der Frequenzkomponenten der Erregung werden wie folgt bestimmt:
    Figure 00380001
    wo l ein Index ist, der eine bestimmte Frequenzkomponente des IDFT-Frequenzbereichs identifiziert, und ϕ0 eine Konstante ist, die gewählt wird, um einen Tonhöhenimpuls an der Tonhöhenzyklusgrenze zu vermeiden. Die Phase ϕRND(l) ist eine gleichmäßig verteilte Zufallszahl zwischen –2π und 2π, die für jeden Wert von 1 unabhängig erzeugt wird.
  • Mit anderen Worten: das Spektrum des gemischten Erregungssignals in einem Tonhöhenzyklus wird modelliert unter Berücksichtigung von drei Regionen des Spektrums, wie durch die Grenzfrequenz bestimmt, welche ein Übergangsintervall von FL bis FH bestimmt. In der niedrigen Region, von 0 bis FL, bestimmen die Fourier-Größenwerte direkt das Spektrum. In der hohen Region, oberhalb FH, werden die Fourier-Größenwerte durch den Verstärkungsfaktor g abgesenkt. In der Übergangsregion, von FL bis FH, werden die Fourier-Größenwerte durch einen linear abnehmenden Gewichtungsfaktor abgesenkt, welcher von 1 auf g über die Übergangsregion hinweg fällt. Eine linear zunehmende Phase wird für die niedrige Region verwendet, und zufällige Phasen werden für die hohe Region verwendet. In der Übergangsregion ist die Phase die Summe der linearen Phase und einer gewichteten Zufallsphase, wobei das Gewicht linear von 0 bis 1 über die Übergangsregion hinweg zunimmt. Die Frequenzabtastwerte der gemischten Erregung werden dann unter Verwendung einer inversen Diskreten Fourier-Transformation in den Zeitbereich gewandelt.
  • 5. Transcodierer
  • 5.1 Konzepte
  • In einigen Anwendungen ist es wichtig, ein Zusammenwirken zwischen zwei unterschiedlichen Sprachcodierungssystemen zu ermöglichen. Insbesondere ist es nützlich, ein Zusammenwirken zwischen einem 2400-bps-MELP-Codierer und einem 1200-bps-Superframecodierer zu ermöglichen. Der allgemeine Betrieb eines Transcodierers ist in den Blockdiagrammen von 5A und 5B veranschaulicht. In dem Aufwärts-Transcodierer 70 von 5A wird Sprache 72 in einen 1,2-kbps-Vocoder 74 eingegeben, dessen Ausgabe ein codierter Bitstrom 76 mit 1200 bps ist, der durch den "Aufwärts-Transcodierer" 78 in einen 2400-bps-Bitstrom 80 in einer Form umgewandelt wird, die eine Decodierung durch einen 2400-bps-MELP-Decodierer 82 ermöglicht, welcher synthetisierte Sprache 84 ausgibt. Umgekehrt wird in den Abwärts-Transcodierer 90 von 5B Sprache 92 in einen 2400-bps-MELP-Codierer 94 eingegeben, welcher einen 2400-bps-Bitstrom 96 an einen "Abwärts-Transcodierer" 98 übergibt, der den parametrischen Datenstrom in einen 1200-bps-Bitstrom 100 umwandelt, welcher durch einen 1200-bps-Decodierer 102 decodiert werden kann, der synthetisierte Sprache 104 ausgibt. In Vollduplex-(Gegenverkehr-)Sprachkommunikation werden sowohl der Aufwärts-Transcodierer als auch der Abwärts-Transcodierer benötigt, um ein Zusammenwirken vorzusehen.
  • Ein einfacher Weg, um einen Aufwärts-Transcodierer zu verwirklichen, ist die Decodierung des 1200-bps-Bitstroms mit einem 1200-bps-Decodierer, um eine grobe digitale Repräsentation des wieder gewonnenen Sprachsignals zu erhalten, welche dann mit einem 2400-bps-Codierer wieder codiert wird. Auf ähnliche Weise besteht ein einfaches Verfahren für die Verwirklichung eines Abwärts-Transcodierers in der Decodierung des 2400-bps-Bitstroms mit einem 2400-bps-Decodierer, um eine grobe digitale Repräsentation des wieder gewonnenen Sprachsignals zu erhalten, welche dann mit einem 1200-bps-Codierer wieder codiert wird. Dieser Ansatz zur Verwirklichung von Aufwärts-Transcodierer und Abwärts-Transcodierer korrespondiert mit dem, was eine "Tandem"-Codierung genannt wird, und hat den Nachteil, dass die Sprachqualität wesentlich verschlechtert ist, und die Komplexität des Transcodierers unnötig hoch ist. Die Trancodierer-Effizienz wird verbessert mit dem folgen den Verfahren für die Transcodierung, welches Komplexität reduziert, während viel der Qualitätseinbuße vermieden wird, die mit der Tandem-Codierung verbunden ist.
  • 5.2 Abwärts-Transcodierer
  • In dem Abwärts-Transcodierer werden nach Durchführung der Synchronisation und Kanalfehlerkorrekturdecodierung die Bits, die jeden Parameter repräsentieren, getrennt aus dem Bitstrom extrahiert für jeden von drei aufeinander folgenden Rahmen (die einen Superframe bilden), und der Satz von Parameterinformation wird in einem Parameterpuffer gespeichert. Jeder Parametersatz besteht aus den Werten einen gegebenen Parameters für die drei aufeinander folgenden Rahmen. Dieselben Verfahren, die für die Quantisierung von Superframe-Parametern angewendet wurden, werden hier auf jeden Parametersatz angesetzt für die erneute Codierung in den Bitstrom niedrigerer Bitrate. Z.B. werden die Tonhöhe und U-/V-Entscheidung für jeden von drei Rahmen in einem Superframe auf das in Abschnitt 3.2 beschriebene Tonhöhen- und U-/V-Quantisierungsschema angewendet. In diesem Fall besteht der Parametersatz aus drei Tonhöhenwerten, deren jeder mit 7 Bits repräsentiert wird, und drei U-/V-Entscheidungen, deren jede durch ein Bit wiedergegeben wird, was zusammen 24 Bits ergibt. Diese werden aus dem 2400-bps-Bitstrom extrahiert und die Wiedercodierungsoperation wandelt diese in 12 Bits um, um die Tonhöhe und Sprachbelegung für den Superframe zu repräsentieren. Aus diese Weise braucht der Abwärts-Transcodierer die MELP-Analysefunktionen nicht durchzuführen, und muss nur die benötigten Quantisierungsoperationen für den Superframe durchführen. Es wird bemerkt, dass das Paritätsprüfbit, das Synchronisationsbit und die Fehlerkorrekfurbits als Teil der Abwärts-Transcodierungsoperation regeneriert werden müssen.
  • 5.3 Aufwärts-Transcodierer
  • Im Fall eines Aufwärts-Transcodierers enthält der eingegebene Bitstrom von 1200 bps quantisierte Parameter für jeden Superframe. Nach der Durchführung von Synchronisation und Fehlerkorrekturdecodierung extrahiert der Aufwärts-Transcodierer die Bits, die jeden Parameter für den Superframe repräsentieren, welche auf eine größere Anzahl von Bits abgebildet (wiedercodiert) werden, die getrennt die korrespondierenden Werte jener Parameter für jeden der drei Rahmen in dem gegenwärtigen Superframe spezifizieren. Das Verfah ren der Durchführung dieser Abbildung, das vom jeweiligen Parameter abhängt, wird unten beschrieben. Sobald alle Parameter für einen Rahmen des Superframe bestimmt worden sind, wird die Folge der Bits generiert, welche drei Rahmen von Sprache repräsentieren. Aus dieser Datenfolge wird, nach Erzeugung des Synchronisationsbits, des Paritätsbits und der Fehlerkorrekturcodierung der 2400-bps-Bitstrom erzeugt.
  • Die folgenden Ausführungen sind eine Beschreibung des allgemeinen Ansatzes zur Abbildung (Decodierung) der Parameterbits für einen Superframe in getrennte Parameterbits für jeden der drei Rahmen. Quantisierungstabellen und Codebücher werden in dem 1200-bps-Decodierer für jeden Parameter verwendet, wie zuvor beschrieben. Die Decodierungsoperation nimmt ein Binärwort, das einen oder mehrere Parameter repräsentiert, und gibt einen Wert für jeden Parameter aus, d.h. einen bestimmten LSF-Wert oder einen Tonhöhenwert, wie in einem Codebuch gespeichert. Die Parameterwerte werden wieder quantisiert, d.h. als Eingabe zu einer neuen Quantisierungsoperation angewendet, welche die Quantisierungstabellen des 2400-bps-MELP-Codierers einsetzt. Diese erneute Quantisierung führt zu einem neuen Binärwort, das die Parameterwerte in einer Form repräsentiert, die für die Decodierung durch einen 2400-bps-MELP-Decodierer geeignet ist.
  • Als ein Beispiel zur Veranschaulichung der Verwendung der erneuten Quantisierung von dem 2400-bps-Bitstrom werden die Bits, welche die Tonhöhen- und Sprachbelegungsinformation für einen bestimmten Superframe enthalten, extrahiert und in drei Sprachbelegungs(U-/V-)Entscheidungen und drei Tonhöhenwerte für die drei Rahmen des Superframe decodiert. Die drei Sprachbelegungsentscheidungen sind binär und direkt verwendbar als Sprachbelegungsbits für den 2400-bps-MELP-Bitstrom (ein Bit für jeden der drei Rahmen). Die drei Tonhöhenwerte werden erneut quantisiert durch Zuführen eines jeden Wertes an den skalaren MELP-Tonhöhen-Quantisierer, und ein 7-Bit-Wort wird für jeden Tonhöhenwert ermittelt. Zahlreiche alternative Verwirklichungen der erneuten Tonhöhenquantisierung, die dem hier beschriebenen erfinderischen Verfahren folgen, können durch eine in der Technik bewanderten Person entworfen werden.
  • Eine spezifische Abwandlung kann durch Umgehen der erneuten Tonhöhenquantisierung erzeugt werden, wenn nur ein einziger Rahmen des Superframes sprachbelegt ist, da in diesem Fall der Tonhöhenwert für den sprachbelegten Rahmen bereits in einer quantisier ten Form vorliegt, die mit dem Format des MELP-Vocoders konsistent ist. Ähnlich ist für die Fourier-Größenwerte eine erneute Quantisierung für den letzten Rahmen eines Superframe unnötig, da er bereits in dem MELP-Format skalar quantisiert ist. Jedoch müssen die interpolierten Fourier-Größenwerte für die zwei anderen Rahmen des Superframe erneut durch das MELP-Quantisierungsschema quantisiert werden. Das Zittern oder der aperiodische Merker kann auf einfache Weise mittels Tabellenabfrage unter Verwendung der letzten zwei Spalten von Tabelle 8 ermittelt werden.
  • 6. Digitale Vocoder-Endgerätehardware
  • 6 zeigt ein digitales Vocoder-Endgerät, das einen Codierer und einen Decodierer enthält, die nach den Sprachcodierungsverfahren und dem Apparat dieser Erfindung arbeiten. Das Mikrofon MIC 112 ist ein Eingabesprachwandler, der ein analoges Ausgabesignal 114 liefert, welches durch einen Analog-zu-Digital-(A/D-)Wandler 116 abgetastet und digitalisiert wird. Die sich ergebende abgetastete und digitalisierte Sprache 118 wird innerhalb eines DSP/Steuerungs-Chips 120 durch die in dem Codiererblock 122 durchgeführten Sprachcodierungsoperationen digital verarbeitet und komprimiert, welche nach dieser Erfindung in Software innerhalb des DSP/Steuerungs-Chips verwirklicht sind.
  • Der digitale Signalprozessor (DSP) 120 ist beispielsweise ein Integrierter Schaltkreis TMC320C5416 von Texas Instruments, der Speicher mit wahlfreiem Zugriff (RAM) enthält, der ausreichend Pufferraum für das Speichern von Sprachdaten und Zwischenergebnissen und Parametern bietet. Der DSP-Schaltkreis enthält auch einen Nur-Lese-Speicher (ROM) für das Halten der Programmanweisungen, wie zuvor beschrieben, um die Vocoder-Operationen zu verwirklichen. Ein DSP ist gut geeignet, für die Durchführung der in dieser Erfindung beschriebenen Vocoder-Operationen. Der sich ergebende Bitstrom von der Codierungsoperation 124 ist ein Bitstrom niedriger Datenrate, ein TX-Datenstrom. Die Tx-Daten 124 werden der Kanalschnittstelleneinheit 120 übergeben, um über einen Kanal 128 übertragen zu werden.
  • Auf der Empfangsseite werden Daten von einem Kanal 128 einer Kanalschnittstelleneinheit 126 übergeben, welche einen RX-Bitstrom 130 ausgibt. Die Rx-Daten 130 werden einer Menge von Sprachdecodierungsoperationen innerhalb des Decodierungsblocks zugeführt; die Operationen wurden oben beschrieben. Die sich ergebende abgetastete und digitalisierte Sprache 134 wird einem Digital-zu-Analog-(D/A-)Wandler 136 zugeführt. Der D/A gibt rekonstruierte analoge Sprache 138 aus. Die rekonstruierte analoge Sprache 138 wird einem Lautsprecher 140 oder einem anderen Audio-Wandler übergeben, welcher den rekonstruierten Klang reproduziert.
  • 6 ist eine Repräsentation einer Konfiguration von Hardware, auf der die erfinderischen Prinzipien praktiziert werden können. Die erfinderischen Prinzipien können auf verschiedenen Formen von Vocoder-Verwirklichungen praktiziert werden, welche die hier beschriebenen Verarbeitungsfunktionen für das Codieren und Decodieren von Sprachdaten unterstützen. Insbesondere sind die folgenden Ausführungen nur einige wenige von vielen Variationen innerhalb des Umfangs der erfinderischen Verwirklichungen:
    • (a) Verwendung von Kanalschnittstelleneinheiten, die einen Sprachbanddatenmodem für die Benutzung umfassen, wenn der Übertragungsweg eine konventionelle Telefonleitung ist.
    • (b) Verwendung verschlüsselter Digitaldaten für die Übertragung und beschrieben für den Empfang über eine geeignete Verschlüsselungsvorrichtung, um eine sichere Übertragung vorzusehen. In diesem Fall würde die Verschlüsselungseinheit ebenfalls in der Kanalschnittstelleneinheit enthalten sein.
    • (c) Verwendung einer Kanalschnittstelleneinheit, die einen Funkfrequenzmodulator und -demodulator enthält für drahtlose Signalübertragung über Funkwellen für Fälle, in denen der Übertragungskanal eine drahtlose Funkverbindung ist.
    • (d) Verwendung einer Kanalschnittstelleneinheit, die Multiplexer- und Demultiplexergeräte enthält für die gemeinsame Nutzung eines gemeinsamen Übertragungskanal mit vielfachen Sprach- und/oder Datenkanälen.
    • (e) Einsetzen diskreter Komponenten oder einer Mischung diskreter Elemente und verarbeitender Elemente, um die Instruktionsverarbeitungsoperationen des DSP/Steuerung zu ersetzen. Beispiele, die angewendet werden können, umfassen programmierbare Gate- Arrays (PGA). Es wird bemerkt, dass die Erfindung vollständig reduziert werden kann auf ein Praktizieren in Hardware, ohne einen Bedarf für ein Verarbeitungselement.
  • Hardware für die Unterstützung der erfinderischen Prinzipien braucht nur die beschriebenen Datenoperationen zu unterstützen. Jedoch ist die Verwendung eines DSP/Prozessor-Chips der gebräuchlichste Schaltkreis, der für die Verwirklichung von Sprachcodierern oder Vocodern nach dem gegenwärtigen Stand der Technik benutzt wird.
  • Obgleich die obige Beschreibung viele Spezifika enthält, sollte sie nicht begriffen werden als Begrenzung des Umfangs der Erfindung, sondern lediglich Veranschaulichungen abgeben von einigen der gegenwärtig bevorzugten Ausführungsformen dieser Erfindung. Somit sollte der Umfang dieser Erfindung bestimmt werden durch die angefügten Ansprüche und ihre gesetzlichen Äquivalente.
  • Tabelle 1 Bit-Zuweisung sowohl des 2,4-kbps- als auch des 1,2-kbps-Codierschemas
    Figure 00450001
  • *Bemerkung:
    • 1,2-kbps-Zustand 1: alle drei Rahmen sind sprachbelegt
    • 1,2-kbps-Zustand 2: einer der ersten zwei Rahmen ist nicht sprachbelegt, die anderen Rahmen sind sprachbelegt
    • 1,2-kbps-Zustand 3: der 1. und der 2. Rahmen sind sprachbelegt, der 3. Rahmen ist nicht sprachbelegt
    • 1,2-kbps-Zustand 4: einer der drei Rahmen ist sprachbelegt, die anderen zwei Rahmen sind nicht sprachbelegt
    • 1,2-kbps-Zustand 1: alle drei Rahmen sind nicht sprachbelegt
  • Tabelle 2 Abbildung des Bandpass-Sprachbelegungsindex
    Figure 00460001
  • Tabelle 3 Tonhöhenquantisierungsschemata
    Figure 00460002
  • Tabelle 4 Gemeinsames Quantisierungsschema von Tonhöhe und Sprachbelegungsentscheidungen
    Figure 00470001
  • Tabelle 5 Bit-Zuweisung für LSF-Quantisierung entsprechend den U-/V-Entscheidungen
    Figure 00470002
  • Tabelle 6 Bit-Zuweisung für Bandpass-Sprachbelegungsquantisierung
    Figure 00480001
  • Tabelle 7 Fourier-Größenwert-Vektorquantisierung
    Figure 00480002
  • Tabelle 8 Quantisierung des aperiodischen Merkers unter Verwendung von 1 Bit
    Figure 00490001
  • Tabelle 9 Modeschutzschemata
    Figure 00490002
  • Tabelle 10 Parameterdecodierungsschemata bei Erkennen eines Fehlers
    Figure 00500001

Claims (23)

  1. Vorrichtung (10) zur Sprachkomprimierung, umfassend: ein Superframe-Puffer (14) zum Empfangen von mehreren Blöcken mit Sprachdaten (12); ein blockbasiertes, kodierendes Analysemodul zum Analysieren von Charakteristiken der Sprachdaten innerhalb von Blöcken, die in dem Superframe beinhaltet sind, um eine zugehörige Reihe von Sprachdaten-Parametern zu erzeugen; und ein Superframe-Kodierer zum Empfangen von Sprachdaten-Parametern aus dem Analysemodul für eine Gruppe von Blöcken, die in dem Superframe-Puffer (14) beinhaltet sind, zum Reduzieren von Daten für die Gruppe von Blöcken durch Analyse und zum Quantisieren und Kodieren der Daten in einen zur Übermittlung abgehenden digitalen Bit-Strom; dadurch gekennzeichnet, dass der Superframe-Kodierer einen Tonhöhenglätter (24) umfasst, wobei tonhöhenglättende Berechnungen auf einem Onset/Offset-Blocksortierer basieren.
  2. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 1, wobei das Analysemodul geeignet ist zum Empfangen von Sprachdaten-Parametern, die ausgewählt sind aus der Gruppe von Sprachkodierern, bestehend aus linear voraussagendem Kodierer, Mischerregungs-Linear-Voraussagekodierer, harmonischem Kodierer, und Mehrfrequenzband-Erregungskodierer.
  3. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 1, wobei der Superframe-Kodierer mindestens zwei parametrische Verarbeitungsmodule einschließt, die ausgewählt sind aus der Gruppe von parametrischen Verarbeitungsmodulen, bestehend aus Tonhöhenglätter (24), Bandpass-Sprachglätter (30), linear voraussagendem Quantisierer (34), Flimmerquantisierer (36) und Fourier-Stärke-Quantisierer (38).
  4. Vorrichtung (10) zur Sprachkomprimierung nach einem der Ansprüche 1 bis 3, wobei der Superframe-Kodierer einen Vektor-Quantisierer (28) einschließt, wobei Tonhöhenwerte innerhalb eines Superframe Vektor-quantisiert werden mit einem Verzerrmaß des Vektor-Quantisierers (28), das auf die Tonhöhenfehler reagiert.
  5. Vorrichtung (10) zur omprimierung nach einem der Ansprüche 1 bis 3, wobei der Superframe-Kodierer einen Vektor-Quantisierer (28) einschließt, wobei Tonhöhenwerte innerhalb eines Superframe Vektor-quantisiert werden mit einem Verzerrmaß des Vektor-Quantisierers (28), das auf die Tonhöhenunterschiede sowie auf die Tonhöhenfehler reagiert.
  6. Vorrichtung (10) zur Sprachkomprimierung nach einem der Ansprüche 1 bis 3, wobei der Superframe-Kodierer einen Quantisierer für linear voraussagende Parameter einschließt, wobei die Quantisierung ausgeführt wird mit einer Codebook-basierten Interpolation von linearen Voraussagungsparametern, die verschiedene Interpolationskoeffizienten für jeden linearen Voraussagungsparameter verwendet, und wobei der Quantisierer in einem Endlosschleifenmodus arbeitet, um den Gesamtfehler über eine Anzahl von Blöcken zu minimieren.
  7. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 6, wobei der Quantisierer geeignet ist, zum Ausführen einer line spectral frequency, LSF, Quantisierung unter Verwendung der Codebook-basierten Interpolation.
  8. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 7, wobei das Codebook erzeugt wird durch Mittel einer Trainingsdatenbank, die auf einer Schwerpunkt-basierten Trainingsprozedur arbeitet.
  9. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 1, wobei der Tonhöhenglätter (24) des Weiteren angepasst ist zum Berechnen einer Tonhöhenzustandskurve unter Verwendung einer Vielzahl von stimmhaften Entscheidungen.
  10. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 9, wobei der Tonhöhenglätter Blöcke in Onset- und Offset-Blöcke klassifiziert, basierend auf mindestens vier Wellenform-Merkmalsparametern, ausgewählt aus der Gruppe von Wellenform-Merkmalsparametern, bestehend aus Energie, Nulldurchgangsrate, Peakiness, maximaler Korrelationskoeffizient der eingegebenen Sprache, maximaler Korrelationskoeffizient von 500 Hz Tiefpass-gefilterter Sprache, Energie der Tiefpass-gefilterten Sprache, und Energie der Hochpass-gefilterten Sprache.
  11. Vorrichtung (10) zur Sprachkomprimierung nach einem der Ansprüche 1 bis 10, wobei das Block-basierte kodierende Analysemodul einen Mixed Excitation Linear Prediction, MELP, Analysealgorithmus verwendet und der Superframe-Kodierer einen Bandpass-Sprachglätter (30) beinhaltet, zum Zuordnen von stimmhaften Mehrbandentscheidungen für jeden Block in eine einzelne Cutoff-Frequenz für diesen Block, wobei die Cutoff-Frequenz einen Wert von einer vorgegebenen Liste mit zulässigen Werten übernimmt.
  12. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 11, wobei der Bandpass-Sprachglätter (30) das Glätten durch Modifizieren der Cutoff-Frequenz eines Blockes als eine Funktion der Cutoff-Frequenzen von benachbarten Blöcken und der durchschnittlichen Blockenergie ausführt.
  13. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 1, des Weiteren umfassend, Mittel zur Komprimierung aperiodischer Kennzeichnungs-Bits für jeden Block in einem Superframe in ein einzelnes Bit pro Superframe, wobei das Bit basierend auf der Verteilung von stimmhaften und stimmlosen Blöcken innerhalb des Superframe erzeugt wird.
  14. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 1, wobei der Superframe-Kodierer eine Vielzahl von Quantisierern (28, 32, 34, 36, 38) zum Kodieren parametrischer Daten in eine Reihe von Bits einschließt, wobei mindestens einer der Quantisierer Vektor-Quantisierung einsetzt, um Interpolations-Koeffizienten darzustellen.
  15. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 1, wobei ein Superframe basierend auf der Kombination von stimmhaften und stimmlosen Blöcken innerhalb des Superframe in eine Vielzahl von Kodierungsstati kategorisiert wird, und wobei jeder der Kodierungsstati mit einer unterschiedlichen Bit-Belegung, die für den Superframe geeignet ist, assoziiert ist.
  16. Vorrichtung (10) zur Sprachkomprimierung nach Anspruch 1, wobei das Block-basierte Kodierungsanalysemodul einen Mixed Excitation Linear Prediction, MELP, Analysealgorithmus verwendet, und der Tonhöhenglätter (24) angepasst ist zum Ermitteln von Tonhöhen und U/V-Entscheidungen für jeden Block des Superframe und Extrahieren von Parametern, die gebraucht werden zur Blockklassifizierung in Onset- und Offsetblöcke, wobei der Superframe-Kodierer des Weiteren umfasst: einen Bandpass-Sprachglätter (30) zum Ermitteln von Bandpass stimmhaften Stärken für die Blöcke innerhalb des Superframe und zum Ermitteln von Cutoff-Frequenzen für jeden Block, und ein Parameter-Quantisierer und Kodierer zum Quantisieren und Kodieren von stimmhaften Parametern, die von dem Analysemodul, dem Tonhöhenglätter (24), und dem Bandpass-Sprachglätter (30) empfangen wurden, in eine Reihe von Bits und Kodierern der Bits in einen zur Übertragung abgehenden digitalen Bit-Strom.
  17. Vorrichtung (10) zur Sprachkomprimierung nach einem der Ansprüche 1 bis 16, des Weiteren umfassend: einen Superframe-Dekodierer (54) zum Empfangen und Dekodieren eines digitalen Bit-Stroms, der kodiert ist mit Superframe-Sprachdaten in quantisierte Block-basierte Parameter; und einen Block-basierten dekodierenden Sprachgenerator zum Empfangen der quantisierten Parameter für jeden Block (62, 64, 66) und Dekodieren der quantisierten Parameter in eine künstliche Sprachausgabe (68), wobei die Vorrichtung (10) zur Sprachkomprimierung, der Superframe-Dekodierer (54) und der Block-basierte dekodierende Sprachgenerator in einer Vocoder-Vorrichtung (110) beinhaltet sind.
  18. Eine Vorrichtung (50) zur Sprachdekodierung, umfassend: einen Superframe-Dekodierer (54) zum Empfangen von einem eingehenden digitalen Bit-Strom als eine Serie von Superframes und Dekodieren und umgekehrt Quantisieren der Superframes in quantisierte Block-basierte Sprachparameter; und ein Block-basierter Dekodierer zum Empfangen der quantisierten Block-basierten Sprachparameter und Kombinieren der quantisierten Block-basierten Sprachparameter in ein künstliches Sprachausgabesignal; dadurch gekennzeichnet, dass der Block-basierten Dekodierer angepasst ist zum Dekodieren des parametrischen sprachkodierten Datenstroms von dem Superframe-Dekoder (54) in ein Audio-Sprachsignal durch Ausführen von: Puffern des empfangenen parametrischen Sprachdatenstroms, der eine Vielzahl von Tonhöhenperioden hat und Laden der gepufferten Blockdaten in einen Puffer; Erstellen eines geschätzten Spektrums der Erregung innerhalb jeder Tonhöhenperiode durch Unterteilen des Frequenz-Spektrums in Regionen, basierend auf einer Cutoff-Frequenz, wobei das Erstellen umfasst: Berechnen der Fourier-Stärke für jede Region, wobei die resultierende berechnete Fourier-Stärke für mindestens eine der Regionen dann durch einen Zuwachsfaktor, berechnet für diese Region, skaliert ist, Berechnen einer Phase innerhalb jeder Region, wobei die resultierende Phase für mindestens eine der Regionen durch Verwendung einer gewichteten Zufallsphase modifiziert wurde, und Umwandeln der Fourier-Stärke und der Phase innerhalb jeder Region zu einer Zeitbereichsdarstellung durch die Berechnung einer inversen diskreten Fourier-Transformation; und Erzeugen eines analogen Sprachsignals (68) von der Zeitbereichsdarstellung.
  19. Vorrichtung (50) zur Sprachdekodierung nach Anspruch 18, wobei die Regionen, durch welche das Frequenz-Spektrum unterteilt ist, umfassen: eine untere Region, wobei Fourier-Stärken direkt das Spektrum festlegen; einen Übergangsbereich, worin Fourier-Stärken verkleinert werden durch einen linear abnehmenden Gewichtungsfaktor, der von eins auf einen positiven Nicht-Nullwert fällt, abhängig von der Cutoff-Frequenz des aktuellen Blocks; und einen oberer Bereich, worin Fourier-Stärken verkleinert werden durch einen Gewichtungsfaktor, abhängig von der Cutoff-Frequenz des aktuellen Blocks.
  20. System (70), umfassend die Vorrichtung zur Sprachkomprimierung (10; 74) nach einem der Ansprüche 1 bis 16 und eine Up-Transcoder-Vorrichtung (78), die Up-Transcoder-Vorrichtung (78) ist geeignet zum Empfangen eines Superframe kodierten Sprachdatenstroms (76) von der Vorrichtung zur Sprachkomprimierung (10; 74), und zum Konvertieren des Superframe kodierten Sprachdatenstroms (76) zu einem Block-basierten, kodierten Sprachdatenstrom (80), die Up-Transcoder-Vorrichtung (78) umfassend: einen Superframe-Puffer zum Sammeln von Superframe-Daten und Extrahieren von Bits, die Superframe-Parameter darstellen; einen Dekoder zum Invers-Quantisieren der Bits für jede Reihe von Superframe-Parametern in eine Reihe von quantisierten Parameterwerten für jeden Block des Superframe; und einen Block-basierter Kodierer zum Quantisieren der Sprachparameter für jeden der zugrunde liegenden Blöcke, Abbilden der quantisierten Sprachparameter in Block-basierte Daten, und Erzeugen eines Block-basierten Sprachdatenstroms (80).
  21. System (90), umfassend die Vorrichtung (50; 102) zur Sprachdekodierung nach Anspruch 18 oder 19 und eine Down-Transcoder-Vorrichtung (98), welche geeignet ist zum Empfangen eines kodierten block-basierten Sprachdatenstroms (96) und zum Konvertieren des selbigen in einen Superframe-basierten kodierten Sprachdatenstrom (100), dekodierbar durch die Vorrichtung (50; 102) zur Sprachdekodierung; die Down-Transcoder-Vorrichtung (98) umfassend: einen Superframe-Puffer zum Sammeln einer Anzahl von Blöcken von parametrischen Sprachdaten und Extrahieren von Bits, die block-basierte Sprachparameter darstellen; einen Dekoder zum inversen Quantisieren der Bits für jeden Parameter-Block in quantisierte Parameterwerte für jeden Block; und einen Superframe-Kodierer zum Sammeln der quantisierten Block-basierten Parameter für die Gruppe von Blöcken innerhalb des Superframe, Erzeugen einer Reihe von parametrischen Sprachdaten und Quantisieren und Kodieren der parametrischen Sprachdaten in einen abgehenden digitalen Bit-Strom (100).
  22. Ein Vocoder-Verfahrer zum Kodieren digitalisierter Sprache in parametrische Sprachdaten, die Schritte umfassend: Laden mehrerer Blöcke mit digitalisierter Sprache in einen Superframe-Puffer; Kodieren digitalisierter Sprache innerhalb jedes Blocks aus dem Superframe-Puffer unter Verwendung eines Mixed Excitation Linear Prediction, MELP, Analysealgorithmus durch parametrische Analyse zum Erzeugen block-basierter parametrischer Sprachdaten; Klassifizieren von Blöcken als Onset-Blöcke und Offset-Blöcke durch Berechnung von Tonhöhen und U/V-Parametern innerhalb jedes Blocks des Superframe und Verwenden der Klassifizierung zum Ausführen von Sprachglätten; Ermitteln einer Cutoff-Frequenz für jeden Block innerhalb des Superframe durch Berechnung eines Bandpass, stimmhaften Stärke-Parameter für den Block innerhalb des Superframe-Puffer; Sammeln einer Reihe von Superframe-Parametern von den Schritten der parametrischen Analyse, Block-Klassifizierung, und Ermittlung der Cutoff-Frequenz für die Gruppe von Blöcken innerhalb des Superframe; Quantisieren der Superframe-Parameter in diskrete Werte, die durch eine reduzierte Reihe von Daten-Bits, die quantisierte Superframe-Parameter-Daten bilden, dargestellt werden; und Kodieren der quantisierten Superframe-Parameterdaten in einen Datenstrom aus Superframe-basierten parametrischen Sprachdaten, der im Wesentlichen gleichwertige Sprach-Informationen wie die Block-basierten parametrischen Sprachdaten enthält, jedoch bei einer geringeren Bit pro Sekunde-Rate der kodierten Sprache.
  23. Vocoder-Verfahren zum Erzeugen digitalisierter Sprache von Superframe-basierten parametrischen Sprachdaten, die Schritte umfassend: Empfangen von Superframe-basierten parametrischen Sprachdaten in einem Superframe-Puffer; Dekodieren und invers Quantisieren der Sprachdaten innerhalb des Superframe-Puffers zum Nachbilden einer Reihe von Block-basierten Sprach-Parameterwerten; und Dekodieren der Block-basierten Sprachparameter mit einem Block-basierten Sprachgenerator, welcher die Block-basierten Sprachparameter dekodiert, um eine digitalisierte Sprachausgabe zu erzeugen; dadurch gekennzeichnet, dass der Schritt des Dekodierens der Block-basierten Sprachparameter umfasst: Puffern des empfangenen parametrischen Sprachdatenstroms, der eine Vielzahl von Tonhöhenperioden hat, und Laden der gepufferten Blockdaten in einen Puffer; Erstellen eines geschätzten Erregungsspektrums innerhalb jeder Tonhöhenperiode durch Unterteilen des Frequenzspektrums in Bereiche basierend auf einer Cutoff-Frequenz, wobei das Erstellen umfasst: Berechnen einer Fourier-Stärke für jeden Bereich, wobei die resultierende berechnete Fourier-Stärke für mindestens einen der Bereiche anschließend durch einen Zunahmefaktor, für diesen Bereich berechnet, skaliert ist, Berechnen einer Phase innerhalb jedes Bereiches, wobei die resultierende Phase für mindestens einen der Bereiche durch Verwendung einer gewichteten Zufallsphase modifiziert wurde, und Konvertieren der Fourier-Stärke und der Phase innerhalb jedes Bereiches zu einer Zeitbereichsdarstellung durch die Berechnung einer inversen diskreten Fourier-Transformation; und Erzeugen eines analogen Sprachsignals (68) von der Zeitbereichsdarstellung.
DE60024123T 1999-09-22 2000-09-20 Lpc-harmonischer sprachkodierer mit überrahmenformat Expired - Lifetime DE60024123T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US401068 1995-03-08
US09/401,068 US7315815B1 (en) 1999-09-22 1999-09-22 LPC-harmonic vocoder with superframe structure
PCT/US2000/025869 WO2001022403A1 (en) 1999-09-22 2000-09-20 Lpc-harmonic vocoder with superframe structure

Publications (2)

Publication Number Publication Date
DE60024123D1 DE60024123D1 (de) 2005-12-22
DE60024123T2 true DE60024123T2 (de) 2006-03-30

Family

ID=23586142

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60024123T Expired - Lifetime DE60024123T2 (de) 1999-09-22 2000-09-20 Lpc-harmonischer sprachkodierer mit überrahmenformat

Country Status (9)

Country Link
US (2) US7315815B1 (de)
EP (1) EP1222659B1 (de)
JP (2) JP4731775B2 (de)
AT (1) ATE310304T1 (de)
AU (1) AU7830300A (de)
DE (1) DE60024123T2 (de)
DK (1) DK1222659T3 (de)
ES (1) ES2250197T3 (de)
WO (1) WO2001022403A1 (de)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295974B1 (en) * 1999-03-12 2007-11-13 Texas Instruments Incorporated Encoding in speech compression
US6959274B1 (en) 1999-09-22 2005-10-25 Mindspeed Technologies, Inc. Fixed rate speech compression system and method
EP1168734A1 (de) * 2000-06-26 2002-01-02 BRITISH TELECOMMUNICATIONS public limited company Verfahren zur Reduzierung der Verzerrung in einer Sprachübertragung über Datennetze
US20030028386A1 (en) 2001-04-02 2003-02-06 Zinser Richard L. Compressed domain universal transcoder
US7421304B2 (en) * 2002-01-21 2008-09-02 Kenwood Corporation Audio signal processing device, signal recovering device, audio signal processing method and signal recovering method
US8090577B2 (en) * 2002-08-08 2012-01-03 Qualcomm Incorported Bandwidth-adaptive quantization
WO2004090864A2 (en) * 2003-03-12 2004-10-21 The Indian Institute Of Technology, Bombay Method and apparatus for the encoding and decoding of speech
WO2004090870A1 (ja) * 2003-04-04 2004-10-21 Kabushiki Kaisha Toshiba 広帯域音声を符号化または復号化するための方法及び装置
EP1618557B1 (de) * 2003-05-01 2007-07-25 Nokia Corporation Verfahren und vorrichtung zur quantisierung des verstärkungsfaktors in einem breitbandsprachkodierer mit variabler bitrate
US20050049853A1 (en) * 2003-09-01 2005-03-03 Mi-Suk Lee Frame loss concealment method and device for VoIP system
FR2867648A1 (fr) * 2003-12-10 2005-09-16 France Telecom Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
US20050232497A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
FR2869151B1 (fr) * 2004-04-19 2007-01-26 Thales Sa Procede de quantification d'un codeur de parole a tres bas debit
JP2007538282A (ja) * 2004-05-17 2007-12-27 ノキア コーポレイション 各種の符号化フレーム長でのオーディオ符号化
US7596486B2 (en) * 2004-05-19 2009-09-29 Nokia Corporation Encoding an audio signal using different audio coder modes
US8065139B2 (en) * 2004-06-21 2011-11-22 Koninklijke Philips Electronics N.V. Method of audio encoding
EP1788556B1 (de) * 2004-09-06 2014-06-04 Panasonic Corporation Skalierbare dekodierungsvorrichtung und verfahren zur signalverlustmaskierung
US7418387B2 (en) * 2004-11-24 2008-08-26 Microsoft Corporation Generic spelling mnemonics
US7353010B1 (en) * 2004-12-22 2008-04-01 Atheros Communications, Inc. Techniques for fast automatic gain control
US7797156B2 (en) * 2005-02-15 2010-09-14 Raytheon Bbn Technologies Corp. Speech analyzing system with adaptive noise codebook
US8219391B2 (en) * 2005-02-15 2012-07-10 Raytheon Bbn Technologies Corp. Speech analyzing system with speech codebook
JP4846712B2 (ja) * 2005-03-14 2011-12-28 パナソニック株式会社 スケーラブル復号化装置およびスケーラブル復号化方法
US7848220B2 (en) * 2005-03-29 2010-12-07 Lockheed Martin Corporation System for modeling digital pulses having specific FMOP properties
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7177804B2 (en) 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
JP5100380B2 (ja) * 2005-06-29 2012-12-19 パナソニック株式会社 スケーラブル復号装置および消失データ補間方法
US20070011009A1 (en) * 2005-07-08 2007-01-11 Nokia Corporation Supporting a concatenative text-to-speech synthesis
WO2007066771A1 (ja) * 2005-12-09 2007-06-14 Matsushita Electric Industrial Co., Ltd. 固定符号帳探索装置および固定符号帳探索方法
WO2007124485A2 (en) * 2006-04-21 2007-11-01 Dilithium Networks Pty Ltd. Method and apparatus for audio transcoding
US8589151B2 (en) 2006-06-21 2013-11-19 Harris Corporation Vocoder and associated method that transcodes between mixed excitation linear prediction (MELP) vocoders with different speech frame rates
US8239190B2 (en) 2006-08-22 2012-08-07 Qualcomm Incorporated Time-warping frames of wideband vocoder
US7953595B2 (en) * 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
US8489392B2 (en) 2006-11-06 2013-07-16 Nokia Corporation System and method for modeling speech spectra
US20080162150A1 (en) * 2006-12-28 2008-07-03 Vianix Delaware, Llc System and Method for a High Performance Audio Codec
US7937076B2 (en) * 2007-03-07 2011-05-03 Harris Corporation Software defined radio for loading waveform components at runtime in a software communications architecture (SCA) framework
US8315709B2 (en) 2007-03-26 2012-11-20 Medtronic, Inc. System and method for smoothing sampled digital signals
CN101030377B (zh) * 2007-04-13 2010-12-15 清华大学 提高声码器基音周期参数量化精度的方法
US8457958B2 (en) 2007-11-09 2013-06-04 Microsoft Corporation Audio transcoder using encoder-generated side information to transcode to target bit-rate
KR20140049012A (ko) * 2008-01-02 2014-04-24 인터디지탈 패튼 홀딩스, 인크 Lte에서 cqi 보고를 위한 구성
EP2243251B1 (de) * 2008-02-15 2015-04-08 BlackBerry Limited Verfahren und system zur optimierung der quantisierung für rauschbehaftete kanäle
US8712764B2 (en) * 2008-07-10 2014-04-29 Voiceage Corporation Device and method for quantizing and inverse quantizing LPC filters in a super-frame
US8972828B1 (en) * 2008-09-18 2015-03-03 Compass Electro Optical Systems Ltd. High speed interconnect protocol and method
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
TWI465122B (zh) 2009-01-30 2014-12-11 Dolby Lab Licensing Corp 自帶狀脈衝響應資料測定反向濾波器之方法
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
TWI413096B (zh) * 2009-10-08 2013-10-21 Chunghwa Picture Tubes Ltd 適應性畫面更新率調變系統及其方法
CN102859588B (zh) * 2009-10-20 2014-09-10 弗兰霍菲尔运输应用研究公司 音频信号编码器、音频信号译码器、用以提供音频内容的编码表示型态的方法、用以提供音频内容的译码表示型态的方法
ES2374008B1 (es) * 2009-12-21 2012-12-28 Telefónica, S.A. Codificación, modificación y síntesis de segmentos de voz.
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
TWI453733B (zh) * 2011-12-30 2014-09-21 Nyquest Corp Ltd 音訊量化編解碼裝置及其方法
US9070362B2 (en) 2011-12-30 2015-06-30 Nyquest Corporation Limited Audio quantization coding and decoding device and method thereof
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
EP2830058A1 (de) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frequenzbereichsaudiocodierung mit Unterstützung von Transformationslängenschaltung
EP2863386A1 (de) * 2013-10-18 2015-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiodecodierer, Vorrichtung zur Erzeugung von codierten Audioausgangsdaten und Verfahren zur Initialisierung eines Decodierers
ITBA20130077A1 (it) * 2013-11-25 2015-05-26 Cicco Luca De Meccanismo per il controllo del bitrate di codifica in un sistema di video streaming adattivo basato su buffer di playout e sulla stima di banda.
CN104078047B (zh) * 2014-06-21 2017-06-06 西安邮电大学 基于语音多带激励编码lsp参数的量子压缩方法
WO2017064264A1 (en) * 2015-10-15 2017-04-20 Huawei Technologies Co., Ltd. Method and appratus for sinusoidal encoding and decoding
US10373608B2 (en) 2015-10-22 2019-08-06 Texas Instruments Incorporated Time-based frequency tuning of analog-to-information feature extraction
US10332543B1 (en) * 2018-03-12 2019-06-25 Cypress Semiconductor Corporation Systems and methods for capturing noise for pattern recognition processing
JP7274184B2 (ja) * 2019-01-11 2023-05-16 ネイバー コーポレーション 話者適応型モデルを実現して合成音声信号を生成するニューラルボコーダおよびニューラルボコーダの訓練方法
CN111818519B (zh) * 2020-07-16 2022-02-11 郑州信大捷安信息技术股份有限公司 一种端到端语音加密、解密方法及系统

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969192A (en) 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US4815134A (en) * 1987-09-08 1989-03-21 Texas Instruments Incorporated Very low rate speech encoder and decoder
CN1062963C (zh) 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
US5664051A (en) * 1990-09-24 1997-09-02 Digital Voice Systems, Inc. Method and apparatus for phase synthesis for speech processing
JPH04249300A (ja) * 1991-02-05 1992-09-04 Kokusai Electric Co Ltd 音声符復号化方法及びその装置
US5255339A (en) * 1991-07-19 1993-10-19 Motorola, Inc. Low bit rate vocoder means and method
US5734789A (en) 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
JP2746039B2 (ja) 1993-01-22 1998-04-28 日本電気株式会社 音声符号化方式
US5717823A (en) 1994-04-14 1998-02-10 Lucent Technologies Inc. Speech-rate modification for linear-prediction based analysis-by-synthesis speech coders
JP3277705B2 (ja) 1994-07-27 2002-04-22 ソニー株式会社 情報符号化装置及び方法、並びに情報復号化装置及び方法
TW271524B (de) 1994-08-05 1996-03-01 Qualcomm Inc
US5699477A (en) * 1994-11-09 1997-12-16 Texas Instruments Incorporated Mixed excitation linear prediction with fractional pitch
US5751903A (en) 1994-12-19 1998-05-12 Hughes Electronics Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset
US5668925A (en) 1995-06-01 1997-09-16 Martin Marietta Corporation Low data rate speech encoder with mixed excitation
US5699485A (en) 1995-06-07 1997-12-16 Lucent Technologies Inc. Pitch delay modification during frame erasures
US5774837A (en) 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
US5835495A (en) 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
TW321810B (de) 1995-10-26 1997-12-01 Sony Co Ltd
IT1281001B1 (it) 1995-10-27 1998-02-11 Cselt Centro Studi Lab Telecom Procedimento e apparecchiatura per codificare, manipolare e decodificare segnali audio.
US5778335A (en) 1996-02-26 1998-07-07 The Regents Of The University Of California Method and apparatus for efficient multiband celp wideband speech and music coding and decoding
US6041345A (en) 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
JP3335841B2 (ja) 1996-05-27 2002-10-21 日本電気株式会社 信号符号化装置
US6570991B1 (en) 1996-12-18 2003-05-27 Interval Research Corporation Multi-feature speech/music discrimination system
US6317714B1 (en) 1997-02-04 2001-11-13 Microsoft Corporation Controller and associated mechanical characters operable for continuously performing received control data while engaging in bidirectional communications over a single communications channel
US6134518A (en) 1997-03-04 2000-10-17 International Business Machines Corporation Digital audio signal coding using a CELP coder and a transform coder
US6131084A (en) * 1997-03-14 2000-10-10 Digital Voice Systems, Inc. Dual subframe quantization of spectral magnitudes
US6292834B1 (en) 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6728775B1 (en) 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
US6009122A (en) 1997-05-12 1999-12-28 Amati Communciations Corporation Method and apparatus for superframe bit allocation
CN1117459C (zh) 1997-05-12 2003-08-06 阿马提通信有限公司 超帧比特分配方法和系统
FI973873A (fi) * 1997-10-02 1999-04-03 Nokia Mobile Phones Ltd Puhekoodaus
US6263312B1 (en) 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
US6199037B1 (en) * 1997-12-04 2001-03-06 Digital Voice Systems, Inc. Joint quantization of speech subframe voicing metrics and fundamental frequencies
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
AU3372199A (en) 1998-03-30 1999-10-18 Voxware, Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
US6029126A (en) 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6480822B2 (en) 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
US6330533B2 (en) 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US6823303B1 (en) 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US6493665B1 (en) 1998-08-24 2002-12-10 Conexant Systems, Inc. Speech classification and parameter weighting used in codebook search
US6385573B1 (en) 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
FR2784218B1 (fr) * 1998-10-06 2000-12-08 Thomson Csf Procede de codage de la parole a bas debit
US6289297B1 (en) 1998-10-09 2001-09-11 Microsoft Corporation Method for reconstructing a video frame received from a video source over a communication channel
US6438136B1 (en) 1998-10-09 2002-08-20 Microsoft Corporation Method for scheduling time slots in a communications network channel to support on-going video transmissions
US6310915B1 (en) 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
US6226606B1 (en) 1998-11-24 2001-05-01 Microsoft Corporation Method and apparatus for pitch tracking
US6311154B1 (en) 1998-12-30 2001-10-30 Nokia Mobile Phones Limited Adaptive windows for analysis-by-synthesis CELP-type speech coding
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6460153B1 (en) 1999-03-26 2002-10-01 Microsoft Corp. Apparatus and method for unequal error protection in multiple-description coding using overcomplete expansions
US6952668B1 (en) 1999-04-19 2005-10-04 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
DE19921122C1 (de) 1999-05-07 2001-01-25 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verschleiern eines Fehlers in einem codierten Audiosignal und Verfahren und Vorrichtung zum Decodieren eines codierten Audiosignals
US6505152B1 (en) 1999-09-03 2003-01-07 Microsoft Corporation Method and apparatus for using formant models in speech systems
US6621935B1 (en) 1999-12-03 2003-09-16 Microsoft Corporation System and method for robust image representation over error-prone channels
US6732070B1 (en) 2000-02-16 2004-05-04 Nokia Mobile Phones, Ltd. Wideband speech codec using a higher sampling rate in analysis and synthesis filtering than in excitation searching
US6693964B1 (en) 2000-03-24 2004-02-17 Microsoft Corporation Methods and arrangements for compressing image based rendering data using multiple reference frame prediction techniques that support just-in-time rendering of an image
US6757654B1 (en) 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
US7065338B2 (en) 2000-11-27 2006-06-20 Nippon Telegraph And Telephone Corporation Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
KR100830857B1 (ko) 2001-01-19 2008-05-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 전송 시스템, 오디오 수신기, 전송 방법, 수신 방법 및 음성 디코더
US7151749B2 (en) 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
US6658383B2 (en) 2001-06-26 2003-12-02 Microsoft Corporation Method for coding speech and music signals
US6879955B2 (en) 2001-06-29 2005-04-12 Microsoft Corporation Signal modification based on continuous time warping for low bit rate CELP coding
US6941263B2 (en) 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
US6785645B2 (en) 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US7027982B2 (en) 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US6934677B2 (en) 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
US6647366B2 (en) 2001-12-28 2003-11-11 Microsoft Corporation Rate control strategies for speech and music coding
US6789123B2 (en) 2001-12-28 2004-09-07 Microsoft Corporation System and method for delivery of dynamically scalable audio/video content over a network
US7668712B2 (en) 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
US7707034B2 (en) 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7831421B2 (en) 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7177804B2 (en) 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding

Also Published As

Publication number Publication date
JP4731775B2 (ja) 2011-07-27
US7315815B1 (en) 2008-01-01
EP1222659A1 (de) 2002-07-17
ATE310304T1 (de) 2005-12-15
US20050075869A1 (en) 2005-04-07
AU7830300A (en) 2001-04-24
JP5343098B2 (ja) 2013-11-13
JP2011150357A (ja) 2011-08-04
EP1222659B1 (de) 2005-11-16
ES2250197T3 (es) 2006-04-16
DE60024123D1 (de) 2005-12-22
JP2003510644A (ja) 2003-03-18
DK1222659T3 (da) 2006-03-27
US7286982B2 (en) 2007-10-23
WO2001022403A1 (en) 2001-03-29

Similar Documents

Publication Publication Date Title
DE60024123T2 (de) Lpc-harmonischer sprachkodierer mit überrahmenformat
DE602004003610T2 (de) Halbrätiger Vocoder
DE60120766T2 (de) Indizieren von impulspositionen und vorzeichen in algebraischen codebüchern zur codierung von breitbandsignalen
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE60011051T2 (de) Celp-transkodierung
DE69333046T2 (de) Hocheffizientes Kodierverfahren
DE60133757T2 (de) Verfahren und vorrichtung zur kodierung von stimmloser sprache
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE60027573T2 (de) Quantisierung der spektralen amplitude in einem sprachkodierer
DE602004007786T2 (de) Verfahren und vorrichtung zur quantisierung des verstärkungsfaktors in einem breitbandsprachkodierer mit variabler bitrate
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE60316396T2 (de) Interoperable Sprachkodierung
US6807526B2 (en) Method of and apparatus for processing at least one coded binary audio flux organized into frames
CN1120471C (zh) 语音编码
DE69815650T2 (de) Sprachkodierer
DE69729527T2 (de) Verfahren und Vorrichtung zur Kodierung von Sprachsignalen
DE60319590T2 (de) Verfahren zur codierung und decodierung von audio mit variabler rate
KR20040028750A (ko) 음성 코덱의 선스펙트럼 주파수 벡터 양자화 방법 및 시스템
DE60023913T2 (de) Verfahren und vorrichtung zur unterabtastung der im phasenspektrum erhaltenen information
DE60024080T2 (de) Kodierung von sprachsegmenten mit signalübergängen durch interpolation von mehrimpulsanregungssignalen
EP1597721B1 (de) Melp (mixed excitation linear prediction)-transkodierung mit 600 bps
JP2002527778A (ja) スピーチコーダパラメータの量子化方法
CN106463140B (zh) 具有语音信息的改进型帧丢失矫正
DE60021455T2 (de) Multimodale Quantisierung des Prädiktionsfehlers in einem Sprachkodierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition