DE69633944T2 - Verfahren und gerät zum kodieren von digitalen daten - Google Patents

Verfahren und gerät zum kodieren von digitalen daten Download PDF

Info

Publication number
DE69633944T2
DE69633944T2 DE69633944T DE69633944T DE69633944T2 DE 69633944 T2 DE69633944 T2 DE 69633944T2 DE 69633944 T DE69633944 T DE 69633944T DE 69633944 T DE69633944 T DE 69633944T DE 69633944 T2 DE69633944 T2 DE 69633944T2
Authority
DE
Germany
Prior art keywords
state values
predictor
generating
elements
decoder
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
DE69633944T
Other languages
English (en)
Other versions
DE69633944D1 (de
Inventor
Rudi Hofmann
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE69633944D1 publication Critical patent/DE69633944D1/de
Publication of DE69633944T2 publication Critical patent/DE69633944T2/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
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0003Backward prediction of gain

Description

  • FACHGEBIET DER ERFINDUNG
  • Die Erfindung betrifft Sprachcodiertechniken und allgemeine Sprachverarbeitung. Insbesondere betrifft sie Sprachcodierverfahren auf der Grundlage einer Analyse nach Prinzipien der Sprachsynthese in Kombination mit Rückwärtsadaptionstechniken.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Ein System, das auf einer Analyse durch Synthese und Rückwärtsadaption beruht, wird beispielsweise verwendet in dem Sprach-Codec für verzögerungsarme linearer Prädiktionscodierung mit Codeanregung (LD-CELP), der in jüngster Zeit von der Internationalen Fernmeldeunion (ITU) in der Veröffentlichung "CODING OF SPEECH AT 16 kbit/s USING LOW-DELAY CODE EXCITED LINEAR PREDICTION", Urheberrechte bei ITU 1992, Empfehlung G.728, standardisiert wurde. Dieser Sprachsignalkompressionsalgorithmus ist mittlerweile den Fachleuten für Sprachcodierung in der ganzen Welt bekannt.
  • Digitale Netzwerke werden verwendet, um digitalcodierte Signale zu übertragen. In der Vergangenheit waren hauptsächlich Sprachsignale zu übertragen. Nunmehr wächst der Datenverkehr, der durch eine weitverbreitete Verwendung elektronischer nachgeordnete Netzwerke verursacht wird, auf der ganzen Welt immer mehr an. Unter ökonomischen Gesichtspunkten muss die Anzahl der angeschlossenen Teilnehmer ohne Netzwerküberlastung maximiert werden. Infolgedessen sind Sprachkompressionsalgorithmen entwickelt worden, die speziell durch Nutzung von Geräuschüberdeckungseffekten optimiert sind. Leider sind diese Codieralgorithmen nicht gut geeignet zur Übertragung von Sprachbanddatensignalen. Daher besteht der Grundgedanke darin, Signalklassifizierungsalgorithmen hinzuzufügen und Sprachbanddatensignalkompressions-(VDSC-)Algorithmen zu verwenden, wenn Datensignale detektiert werden. Gegenwärtig wird ein Übertragungssystem mit digitalen 16-kb/s-Leitungsvervielfachern (DCME) unter Verwendung dieses Grundgedankens standardisiert. Der LD-CELP-Codec wird zur Übertragung von Sprache verwendet, während für Sprachbanddatenübertragung ein neuer Codieralgorithmus innerhalb der ITU entwickelt wird.
  • In praktischen Anwendungen kann der Signalklassifizierungsalgorithmus versagen, was zu mehr oder weniger häufigen Umschaltungen zwischen verschiedenen Codeschemen führt. Wenn das nächste Codierschema immer nach dem Rücksetzzustand starten würde, dann wäre dies möglicherweise nicht kritisch bei der Übertragung von Sprachbanddaten. Wenn aber Sprache gleichzeitig übertragen wird, dann würde dies zu ziemlich störenden Effekten führen.
  • Um dieses Problem in 16-kb/s-DCME-Systemen zu lösen, ist vorgeschlagen worden, die LD-CELP-Architektur auch für Sprachbanddatensignalkompression beizubehalten. Nur die Bitrate müsste beispielsweise durch Bereitstellung größerer Codebücher erhöht werden, um eine ausreichende Quantisierung sicherzustellen. Bei einem solchen Verfahren würde eine kontinuierliche Form des Zeitsignals garantiert werden, wenn von einem Codiermodus zum anderen umgeschaltet wird.
  • Der Nachteil dieser Lösung ist ein zweifacher: einerseits würde die Verarbeitungslast deutlich erhöht werden bei der Übertragung mit höheren Bitraten. Dies macht Implementierungen nicht sehr attraktiv, da die herkömmliche LD-CELP nahezu die vollständige Rechenleistung der digitalen Signalprozessoren (DSPs) erfordert, die gegenwärtig auf dem Markt angeboten werden. Andererseits ist es sehr wahrscheinlich, dass die Codierung von Sprachbanddatensignalen viel effizienter erfolgen kann mit speziell optimierten Architekturen, die zu Bitraten unter 40 kb/s oder zu höherer Leistung führen. Bis heute scheint 40 kb/s die erforderliche Bitrate für VDSC-Algorithmen zu sein. Es ist trivial, zu erwähnen, dass dieses Umschaltproblem auch entsteht, wenn bereits bestehende Signalkompressionsalgorithmen in Kombination mit LD-CELP-Codecs verwendet werden. Bekannte Systeme verwenden beispielsweise die Algorithmen nach ITU Rec. G.711 (64 kb/s) oder G.726 (32 kb/s oder 40 kb/s), wenn Sprachbanddatensignale übertragen werden müssen.
  • In diesem Zusammenhang gibt es einen Codieralgorithmus, der als ADPCM bezeichnet wird und dessen Struktur insofern Ähnlichkeiten mit der LD-CELP hat, als er Vorwärtsfehlerkorrektur einschließt. Erwähnt sei hier das Dokument "Digital Communications" von Simon Haykin, John Wiley & Sons, 1988.
  • In dem Patent US 5233660 ist ein verzögerungsarmer digitaler Sprachcodierer und -decodierer, der auf der linearen Prädiktionscodierung mit Codeanregung beruht (LD-CELP), offenbart. Die Codierung weist eine rückwärtsadaptive Regulierung für Codebuchgewinn und Kurzzeitsynthesefilterparameter auf und weist auch eine vorwärtsadaptive Regulierung von Langzeitsynthesefilterparametern auf. Eine effiziente, verzögerungsarme Grundfrequenz-Parameterableitung und -quantisierung erlaubt eine Gesamtverzögerung, die ein Bruchteil vorheriger Codierungsverzögerungen für eine äquivalente Sprachqualität ist.
  • In dem Patent US 5339384 ist auch ein CELP-Codierer für Sprach- und Tonfrequenzübertragung offenbart. Der Codierer ist geeignet für eine verzögerungsarme Codierung mittels Spektralanalyse eines Abschnitts eines vorherigen Rahmens einer simulierten decodierten Sprache, um ein Synthesefilter einer viel höheren Ordnung als herkömmlich verwendet für Decodiersynthese zu bestimmen, und anschließendes Übertragen nur des Indexes für den Vektor, der das niedrigste interne Fehlersignal erzeugt. Modifizierte Wahrnehmungswichtungsparameter und ein neuartiger Gebrauch einer Nachfilterung verbessert die Tandemanordnung einer Anzahl von Codierungen und Decodierungen, während gleichzeitig eine hochqualitative Wiedergabe erhalten bleibt.
  • Auch das Patent US 5228076 ist von Interesse, da es die Verwendung des oben erwähnten ADPCM-Codieralgorithmus einschließt.
  • ZUSAMMENFASSUNG
  • Während einer Sprachübertragung ist beispielsweise ein beträchtlicher Teil die Sprechpause. Während dieser Pausenintervalle ist es möglich, die Übertragungsstrecke zur Übertragung von Daten zu verwenden. Daten und Sprache sind mit verschiedenen Codes codiert, und es ist ein Problem, zwischen verschiedenen Codierern umzuschalten und mach dem Umschalten Diskontinuitäten in der Sprache zu vermeiden. Dies ist insbesondere der Fall bei rückwärtsadaptiven Codierschemen. Auch bei einer Übertragung anderer Informationsarten als Sprache können Zeitintervalle auftreten, die zur Übertragung von alternativer Information auf dem gleichen Kanal verwendet werden können.
  • Diskontinuitäten des Ausgangssignals können beseitigt werden, wenn die Zustände des Codierschemas, das zu aktivieren ist, vorher mit den gleichen Werten eingestellt werden, als wenn dieses Codierschema bereits in der Vergangenheit aktiviert worden wäre. Das Problem besteht darin, dass die Erzeugung der entsprechenden Anfangswerte der Zustandsvariablen nicht trivial ist, wenn der Codec auf rückwärtsadaptiven Schemen beruht, wie bei dem LD-CELP-Codierschema. Die Prädiktor-Koeffizienten hängen vom vergangenen quantisierten Ausgangssignal ab, wie Koeffizienten eines Synthesefilters im LD- CELP-Codierschema. Zusätzlich hängen Zustände und Prädiktor-Koeffizienten vom vergangenen quantisierten Anregungssignal ab, wie Koeffizienten in einem Gewinnprädiktor von einem Anregungssignal eines Synthesefilters im LD-CELP abhängen. Im einzelnen besteht das Problem darin, dass dieses vergangene Anregungssignal nicht verfügbar ist, wenn der Codec einzuschalten ist. Selbst wenn die Zustandsvariablen abgerufen werden können, würde ein Bedarf an enormer sofortiger Signalverarbeitungsleistung zu der Zeit bestehen, wo der Codec zu initialisieren ist. Diese Verarbeitung würde alle DSPs, die gegenwärtig auf dem Markt Verfügbar sind, erschöpfen.
  • Die vorliegende Erfindung, wie in den beigefügten Ansprüchen definiert, offenbart die Methoden, wie die Zustandsvariablen abzurufen sind, und zeigt die Möglichkeiten der Reduzierung der erforderlichen Signalverarbeitung oder Rechenleistung, was praktikable Implementierungen erlaubt. Das Problem wird gelöst unter Verwendung von Ausgangsabtastwerten von einem Codierer, der ausgeschaltet ist, um die Zustände des Codierschemas für einen parallelen Codierer, der eingeschaltet ist, vorher einzustellen.
  • Im einzelnen wird das Problem dadurch gelöst, dass Koeffizientenwerte aus den vorher eingestellten Zustandswerten erzeugt werden und eine Signalsequenz (Vektor) aus diesen Koeffizientenwerten und aus der Signalsequenz wiederhergestellt wird. Diese Signalsequenz (Vektor) wird zur direkten Erzeugung des decodierten Ausgangssignals, z. B. Sprache, im Decodierer und auch im Codierer genutzt und wird normalerweise während der Übertragung nacheinander erzeugt. Durch Wiederherstellung der Signalsequenz (Vektor) wird der Codec schnell gestartet.
  • In einer vereinfachten Ausführungsform werden die Koeffizientenwerte nicht im Codec erzeugt, sondern direkt vom parallelen Codec, der ausgeschaltet ist, übernommen. Die übernommenen Koeffizienten werden zur Wiederherstellung der Signalsequenz (Vektor) verwendet.
  • Es ist eine Aufgabe der vorliegenden Erfindung, entsprechende Einrichtungen und Verfahren bereitzustellen, die es ermöglichen, dass rückwärtsadaptive Sprachcodierschemen, wie bei LD-CELP-Sprach-Codecs, durch Beibehaltung einer kontinuierlichen Form des wiederhergestellten Ausgangssignals aktiviert werden. Modifikationen werden auch dargestellt, so dass die Signalverarbeitungslast um die Initialisierungsphase herum entsprechend niedrig gehalten werden kann.
  • Die Vorteile der Erfindung bestehen darin, dass lediglich eine gemäßigte Signalverarbeitungsleistung erforderlich ist, wenn auf einen Codec umgeschaltet wird, und das Umschalten ohne schwerwiegende Diskontinuitäten des Ausgangssignals erfolgen kann. Wenn Sprache und Daten auf dem gleichen Kommunikationskanal übertragen werden, werden keine Störeffekte in der Sprache beobachtet, wenn zum Sprachcodierer umgeschaltet wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt in einem groben Blockschaltbild ein Übertragungssystem mit zwei verschiedenen Codecs dar, die für verschiedene Zwecke verwendet werden.
  • 2 stellt in einem groben Schaltbild ein allgemeines Sprachcodierschema dar, das auf Rückwärtsadaptionstechniken beruht.
  • 3a zeigt ein Blockschaltbild eines LD-CELP-Codierers.
  • 3b zeigt ein Blockschaltbild eines LD-CELP-Decodierers.
  • 4 stellt ausführlicher den Inhalt des in 2 gezeigten lokalen Decodierers dar.
  • 5 stellt in einem speziellen Blockschaltbild die Rückwärtsadaption des Synthesefilters und die entsprechenden Prädiktor-Koeffizienten dar.
  • 6 stellt in einem speziellen Blockschaltbild die Rückwärtsadaption des Gewinnprädiktors und die entsprechenden Prädiktor-Koeffizienten dar.
  • 7a und b stellen den Ablauf der Durchführung der Synthesefilteroperationen im LD-CELP-Sprach-Codec dar.
  • 8 zeigt ein Flussdiagramm des Ablaufs des Anlaufens der Zustände in einem LD-CELP-Sprach-Codec.
  • 9 zeigt ein Blockschaltbild zur Erzeugung eines Anregungsvektors.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORM
  • Zur Beschreibung der bevorzugten Ausführungsform der Erfindung ist es zweckmäßig, bestimmte Einzelheiten der rückwärtsadaptiven Sprachcodierschemen zu beschreiben, wie sie beispielsweise im LD-CELP-Algorithmus verwendet werden. 1 stellt in Blockschaltbildform ein Übertragungssystem mit verschiedenen Codierschemen für Sprachsignale und Sprachbanddatensignale dar. Auf der Sender-Seite ist ein Codierer 100 für die LD-CELP-Codierung von Sprache und ein VDSC-Datencodierer 101 vorhanden. Eine Eingangsleitung 99 ist mit den Codierern über einen Schalter 98 verbunden, und der Ausgang der Codierer ist mit einem Kommunikationskanal 120 über einen Schalter 102 verbunden. Eine Signalklassifizierungsvorrichtung 103 ist mit der Eingangsleitung 99 verbunden und steuert die Schalter 98 und 102. Auf der Empfänger-Seite ist ein Decodierer 200 zur Sprachdecodierung und ein Datendecodierer 290 vorhanden. Die Decodierer sind mit dem Kommunikationskanal über einen Schalter 203 verbunden, und ihre Ausgänge sind mit einer Ausgangsleitung 219 über einen Schalter 198 verbunden. Die Signalklassifizierungsvorrichtung 103 ist mit den Schaltern 203 und 198 über einen getrennten Signalisierungskanal 191 verbunden und steuert diese Schalter parallel zu den Schaltern auf der Sender-Seite. Ein Puffer 192 ist mit einem Extraausgang des Datencodierers 101 verbunden und ist mit einem Eingang 144 des Sprachcodierers 100 über einen Schalter 193 verbunden. Dieser Schalter wird durch die Signalklassifizierungsvorrichtung 103 aktiviert. Auf der Empfänger-Seite ist ein entsprechender Puffer 292 und ein Schalter 293 vorhanden. Als exemplarische Ausführungsform ist der Codec 100 ein LD-CELP-Codec und wird verwendet, wenn Sprache zu codieren ist, während ein anderes Codierschema VDSC im Datencodierer 101 verwendet wird, wenn Sprachbanddatensignale vorhanden sind. Die Information über das gegenwärtig verwendete Kompressionsschema wird normalerweise vom Sender über den getrennten Signalisierungskanal 191 an den Empfänger übergegeben. Die Erfindung bezieht sich auf die Situation, wo das Codierschema VDSC aktiv gewesen ist und die Signalklassifizierungsvorrichtung gerade das Vorhandensein von Sprache detektiert hat. Dies führt zur Aktivierung des LD-CELP-Sprach-Codec 100 und 200.
  • 2 stellt sehr grob die Grundprinzipien eines rückwärtsadaptiven Sprachcodierschemas dar, wie es beispielsweise im LD-CELP verwendet wird. Auf der Sender-Seite ist eine Codebuch-Sucheinheit 130 und ein lokaler Decodierer 95 vorhanden. Der lokale Decodierer 95 ist mit einem Eingang des Codebuchs verbunden, das auch einen Eingang für ein Eingangssignal hat. Ein Ausgang der Codebuchsucheinheit ist mit dem Eingang des lokalen Decodierers verbünden. Der Sender sendet einen Codevektor CW an den Empfänger. Auf der Empfänger-Seite ist ein lokaler Decodierer 96 vorhanden, der mit einem Nachfilter 217 verbunden ist, das wiederum mit dem Ausgang 219 verbunden ist. Auf der Sender- und Empfänger-Seite wird das quantisierte Ausgangssignal in dem Block 'Lokaler Decodierer' 95 bzw. 96 rekonstruiert. Auf der Sender-Seite werden die bekannten Zustände des vergangenen rekonstruierten Signals verwendet, um optimierte Parameter für ein zu codierendes aktuelles Sprachsegment zu finden, wie nachstehend ausführlich beschrieben wird.
  • 3a zeigt ein vereinfachtes Blockschaltbild des LD-CELP-Codierers 100 und auch des VDSC-Codierers 101. Die Schalter 102 und 98 zum Wählen des Codierers 100 oder 101 und die Signalklassifizierungsschaltung 103, die die Schalter 98 und 102 steuert, sind ebenfalls dargestellt sowie der Puffer 192 und der Schalter 193. Das ankommende Signal S ist mit der Signalklassifizierungsschaltung 103 und mit dem LD-CELP-Codierer 100 verbunden. Der LD-CELP-Codierer weist einen PCM-Umsetzer 110 auf, der mit einem Vektorpuffer 111 verbunden ist. Der Codierer 100 weist auch einen ersten Anregungscodebuchspeicher 112 auf, der mit einer ersten Gewinnskaliereinheit 113 mit einem ersten Rückwärtsgewinnadapter 114 verbunden ist. Der Ausgang der ersten Gewinnskaliereinheit 113 ist mit einem ersten Synthesefilter 115 verbunden, das einen Eingang 144 hat und mit einer ersten Rückwärtsprädiktoradaptionsschaltung 116 verbunden ist. Der Ausgang des Synthesefilters 115 ist mit einer Differenzschaltung 117 verbunden, mit der auch der Vektorpuffer 111 verbunden ist. Die Differenzschaltung 117 wiederum ist mit einem Wahrnehmungswichtungsfilter 118 verbunden, dessen Ausgang mit einer Schaltung zur Ermittlung des mittleren quadratischen Fehlers 119 verbunden ist. Die letztere ist mit dem Anregungscodebuchspeicher und mit dem Kommunikationskanal 120 verbunden, der den LD-CELP-Codierer 100 mit dem LD-CELP-Decodierer 200 auf der Empfänger-Seite der Übertragung verbindet, wie in 3b gezeigt.
  • 3b zeigt den VDSC-Decodierer 290 mit den Schaltern 198 und 203 und ebenfalls den Puffer 292 mit dem Schalter 293. Der LD-CELP-Decodierer weist einen zweiten Anregungscodebuchspeicher 212 auf, der mit dem Kommunikationskanal 120 und mit einer zweiten Gewinnskalierschaltung 213 mit einem zweiten Rückwärtsgewinnadapter 214 verbunden ist. Die zweite Gewinnschaltung 213 ist mit einem zweiten Synthesefilter 215 verbunden, die einen Eingang 145 hat und mit einer zweiten Rückwärtsprädiktoradaptionsschaltung 216 verbunden ist. Ein adaptives Nachfilter 217 ist an seinem Eingang mit dem Synthesefilter 215 und an seinem Ausgang mit einem PCM-Umsetzer 218 mit einem A-Regel- oder μ-Regel-PCM-Ausgang 219 verbunden.
  • Der LD-CELP-Codierer 100 arbeitet folgendermaßen. Das nach PCM-A-Regel oder μ-Regel umgesetzte Signal S wird im Umsetzer 110 in eine gleichmäßige PCM umgesetzt. Das Eingangssignal wird dann in Blöcke von fünf aufeinanderfolgenden Eingangssignalabtastwerten unterteilt, die Eingangssignalvektoren genannt werden, und die im Vektorpuffer 111 gespeichert werden. Für jeden Eingangssignalvektor lässt der Codierer jeden der 128 in Frage kommenden Codebuchvektoren, die im Codebuch 112 gespeichert sind, durch die erste Gewinnskaliereinheit 113 laufen. In dieser Einheit wird jeder der Vektoren mit acht verschiedenen Gewinnfaktoren multipliziert, und die resultierenden 1024 in Frage kommenden Vektoren werden durch das erste Synthesefilter 115 geschickt. Ein Fehler, der in der Differenzschaltung 117 erzeugt wird, jeweils zwischen den Eingangssignalvektoren und den 1024 in Frage kommenden Vektoren, wird im Gewichtungsfilter 118 frequenzgewichtet und in der Schaltung 119 einer Mittelwertquadrierung unterzogen. Der Codierer erkennt einen besten Codevektor, d. h. den Vektor, der den mittleren quadratischen Fehler für einen der Eingangssignalvektoren minimiert, und ein 10-Bit-Codebuchindex CW des besten Codevektors wird über den Kanal 120 an den Decodierer 200 übertragen. Der beste Codevektor wird auch über die erste Gewinnskaliereinheit 113 und das erste Synthesefilter 115 weitergegeben, um den richtigen Filterspeicher in Vorbereitung auf die Codierung des nächsten ankommenden Eingangssignalvektors festzulegen. Die Erkennung des besten Codevektors und die Aktualisierung des Filterspeichers wird für alle Bingangssignalvektoren wiederholt. Die Koeffizienten des Synthesefilters 115 und der Gewinn der ersten Gewinnskaliereinheit werden periodisch aktualisiert durch die Adaptionsschaltungen 116 bzw. 114, und zwar rückwärtsadaptiv auf der Grundlage des vorher quantisierten Signals und der gewinnskalierten Anregung.
  • Die Decodierung im Decodierer 200 wird ebenfalls blockweise durchgeführt. Nach Empfang jedes 10-bit-Codebuchindexes CW auf dem Kanal 120 führt der Decodierer eine Tabellenabfrage durch, um den entsprechenden Codevektor aus dem Anregungscodebuch 212 zu extrahieren. Der extrahierte Codevektor wird dann über die zweite Gewinnskalierschaltung 213 und das zweite Synthesefilter 215 weitergegeben, um den aktuellen decodierten Signalvektor zu erzeugen. Die Koeffizienten des zweiten Synthesefilters 215 und der Gewinn der zweiten Gewinnskalierschaltung 213 werden dann auf die gleiche Weise wie im Codierer 100 aktualisiert. Der decodierte Signalvektor wird dann über das Nachfilter 217 weitergegeben, um die Wahrnehmungsqualität zu verbessern. Die Nachfilterkoeffizienten werden periodisch unter Verwendung der Information aktualisiert, die am Decodierer 200 verfügbar ist. Die fünf Abtastwerte des Nachfiltersignalvektors werden als nächstes an den PCM-Umsetzer 218 weitergegeben und in fünf A-Regel- oder μ-Regel-PCM-Ausgangsabtastwerte umgesetzt. Naturgemäß benutzen sowohl der Codierer 100 als auch der Decodierer 200 nur ein und dieselben der erwähnten zwei PCM-Regeln.
  • 4 stellt die Erzeugung des quantisierten Ausgangssignals oder rekonstruierten Signals ausführlich im lokalen Decodierer 95 und 96 dar. In 3a umfasst der lokale Decodierer das Synthesefilter 115 und die Gewinnskaliereinheit 113 mit ihrem Gewinnadapter 114. Genauer betrachtet, weist das Anregungscodebuch 112 ein Formcodebuch 130 und ein Gewinncodebuch 131 auf, und die Schaltungen 113 und 114 weisen Multiplizierer 132 und 133 und einen Gewinnprädiktor 134 auf. Der letztere erzeugt einen Gewinnfaktor GAIN', den Sogenannten Anregungsvektor, und das Gewinncodebuch erzeugt einen Gewinnfaktor GF2. Im Multiplizierer 133 wird ein Gesamtgewinnfaktor GF3 erzeugt. Das heißt, der Gewinnfaktor besteht aus dem vorhergesagten Teil GAIN' und dem Innovationsteil GF2, der aus acht möglichen Werten ausgewählt ist, die im Gewinncodebuch 131 gespeichert sind. Im lokalen Decodierer wird das übertragene Codewort CW in 3a aufgeteilt in den Formcodebuchindex SCI (7 Bit) und den Gewinncodebuchindex GCI (3 Bit). Der gewählte Anregungsvektor aus dem Formcodebuch 130 wird mit dem Gewinnfaktor GF3 zum Anregungssignal ET(1...5) multipliziert und wird über das Synthesefilter 115 geführt. Die Energie dieses Anregungssignals ET(1...5) wird herangezogen, um den Gewinn des nächsten Anregungsvektors GAIN' vorherzusagen. Daher wird lediglich der Gewinnfaktor GF2, der dem Gewinncodebuch entnommen wird, verwendet, um einen möglicherweise fehlerhaften vorhergesagten Gewinnfaktor GAIN' zu korrigieren.
  • 5 stellt ausführlich die Grundprinzipien der rückwärtsadaptiven linearen Prädiktion dar, wie sie beispielsweise im LD-CELP-Codec verwendet wird. Eine Verzögerungsleitung hat Verzögerungselemente 140, die jeweils eine Verzögerungsperiode einer Abtastperiode T haben. Die Ausgänge der Verzögerungselemente sind mit jeweils einem Koeffizientenelement 141 mit Prädiktor-Koeffizienten A2 bis A51 verbunden, deren Ausgänge mit einem Summierelement 142 verbunden sind. Dieses Element ist wiederum mit einem Differenzelement 143 verbunden, das einen Eingang für die Anregungssignalsequenz ET(1...5) hat und das mit dem ersten Verzögerungselement 140 der Verzögerungsleitung verbunden ist. Jedes der Verzögerungselemente ist mit einer LPC-Analyseeinheit verbunden, die den Rückwärtsprädiktoradapter 116 gemäß 3 darstellt. Die Verzögerungselemente sind ebenfalls mit dem Eingang 144 verbunden. Der Adapter 116 ist mit den jeweiligen Koeffizientenelementen 141 verbunden. Die Verbindung zwischen dem Differenzelement 143 und der Verzögerungsleitung hat einen Ausgang für ein quantisiertes Ausgangssignal, das das decodierte Sprachsignal SD darstellt. Die vergangenen rekonstruierten Sprachabtastwerte des Signals SD werden in den Verzögerungsleitungselementen 140 gespeichert, wobei 'T' eine Verzögerung einer Abtastperiode darstellt. Die jüngsten Abtastwerte dieser Verzögerungsleitung werden mit den Prädiktor-Koeffizienten (A1...A51, A1 = 1) gewichtet und bilden mit dem Anregungssignal ET(1...5) das quantisierte Ausgangssignal oder die decodierte Sprache SD. Die neu erzeugten Abtastwerte SD werden dann in die Verzögerungsleitung verschoben. Die entsprechenden Prädiktor-Koeffizienten A2 bis A51 werden aus der Vorgeschichte der decodierten Sprache durch Anwendung bekannter LPC-Techniken im Rückwärtsprädiktoradapter 116 abgeleitet. Wie in 5 dargestellt, sind die Elemente 141 über Eingänge 139 mit den Ausgängen des Adapters 116 verbunden. In Rec. G.728 wird die gesamte Verzögerungsleitung, die aus 105 Abtastwerten besteht, als 'Sprachpuffer' bezeichnet und wird im Pseudocode als Reihe 'SB(1...105)' bezeichnet. Der jüngste Teil dieses Puffers wird als das 'Synthesefilter' bezeichnet und im Pseudocode als 'STATELPC(1...50)' bezeichnet.
  • 6, die dem Rückwärtsgewinnadapter 114 entspricht, und teilweise der Gewinnskaliereinheit 113 gemäß 3, stellt ausführlich die Situation im Gewinnprädiktorteil dar. Eine Energieerzeugungseinheit 152 ist mit einer Verzögerungsleitung mit Verzögerungselementen 150 verbunden, die jeweils eine Verzögerung von fünf Abtastperioden haben, die in den Elementen mit 5T bezeichnet ist. Ein Teil der Verzögerungselemente 150 ist mit Koeffizientenelementen 151 mit Prädiktor-Koeffizienten GP2 bis GP11 verbunden. Die Koeffizientenelemente sind mit einem Summierer 153 verbunden, der einen Ausgang für das Signal GAIN' aufweist. Alle Verzögerungselemente 150 sind mit einem Prädiktoradapter 154 verbunden, dessen Ausgänge mit Koeffizientenelementen 151 verbunden sind. Die Energie des Anregungssignals ET(1...5) wird in die Verzögerungsleitung verschoben. Wie bereits erwähnt, werden die jüngsten Werte der Energie mit den Prädiktor-Koeffizienten (GP1...GP11, GP1 = 1) gewichtet, wobei die Summe, die im Summierer 153 erzeugt wird, den Gewinnfaktor GAIN' ergibt, der für den nächsten zu codierenden Eingangssignalvektor vorhergesagt wird. Auch hier werden die entsprechenden Prädiktor-Koeffizienten aus der Vorgeschichte der Energie des Anregungssignals (1...5) ET durch Anwendung bekannter LPC-Techniken im Prädiktoradapter 154 abgeleitet. Im übrigen sind im LD-CELP-Codec die Zustandsvariablen des Gewinnprädiktors im logarithmischen Bereich dargestellt, wie durch die Einheiten 155 und 156 angegeben. Dies kann bei anderen rückwärtsadaptiven Schemen anders sein.
  • Schließlich scheint eine bestimmte Kenntnis über den Ablauf des Auffindens des optimalen Anregungsvektors ET(1...5) für das Verständnis der Einzelheiten der Erfindung nützlich zu sein. Es wird Bezug genommen auf 7a und 7b, die Teile des Synthesefilters gemäß 5 zeigen. 7a und 7b zeigen das Synthesefilter, das in verschiedenen Zuständen betrieben wird, wie in der ITU-Empfehlung G.728, Seite 39 beschrieben und auch wie in deren 2/G.728 anhand verschiedener Blöcke 22 und 9 für das Synthesefilter angegeben. Im LD-CELP-Codec werden beispielsweise fünf aufeinanderfolgende Abtastwerte gesammelt, die den zu codierenden Vektor bilden. Wenn ein Vektor komplett ist, werden fünf Abtastwerte des Nachschwingens des Synthesefilters berechnet und von diesem Eingangssprachvektor subtrahiert, was den Zielvektor ergibt. Das Nachschwingen oder die Nulleingangsantwort ZINR(1...5) wird erzeugt, wenn das Synthesefilter mit nullwertigen Eingangsabtastwerten "0" versorgt wird, siehe 7b. Dieses Signal kann auch als die vorhergesagten Abtastwerte für den aktuellen Sprachvektor gesehen werden. Im Codierer werden alle 1024 möglichen Anregungsvektoren des Formcodebuchs 130, kombiniert mit dem Gewinncodebuch 131, durch das Synthesefilter geführt, beginnend mit null Zuständen für jeden neuen Vektor, was eine Nullzustandsantwort ZSTR(1...5) ergibt, siehe 7a. Die resultierenden fünf Abtastwerte für jeden Anregungsvektor werden mit dem Zielvektor verglichen. Schließlich wird der eine gewählt, der den kleinsten Fehler ergibt. Wenn der optimale Anregungsvektor gefunden ist, werden die Synthesefilterzustände aktualisiert. Das heißt, die Nullzustandsantwort, die zu dem gewählten Anregungsvektor gehört, wird zu der Nulleingangsantwort addiert, was zu fünf neuen Abtastwerten der decodierten Sprache oder neuen fünf Zustandswerten des Synthesefilters führt. Diese Aktualisierung erfolgt im lokalen Decodierer auf der Sender-Seite und auch auf der Empfänger-Seite.
  • Man beachte dabei sorgfältig, dass die vorstehende ausführliche Beschreibung von 4, 5, 6 und 7 für die Sender-Seite gilt, aber auch auf die Empfänger-Seite ebenso angewendet werden kann, wie aus der Beschreibung von 1, 2, 3a und 3b hervorgeht.
  • Nachdem oben ein Überblick über die Erfindung gegeben worden ist und die wichtigsten Einzelheiten des LD-CELP-Sprachcodierschemas beschrieben worden sind, wird nachstehend ausführlich die bevorzugte Ausführungsform der Erfindung beschrieben. Wenn ein rückwärtsadaptiver Sprach-Codec wie der LD-CELP-Sprach-Codec aktiviert werden soll, sind keine Zustände dieses Codecs verfügbar, d. h. es sind keine Werte in den Verzögerungselementen 140 der Verzögerungsleitung in 5 oder in den Elementen 150 in 6 verfügbar. Nur das quantisierte Signal, das durch das vorher laufende Codierschema erzeugt wurde, kann aufgenommen werden. Um glatte Übergänge zu erreichen, erfolgt daher ein Abruf der LD-CELP-Zustände durchgeführt, indem die Vorgeschichte des vergangenen Ausgangssignals zur Grundlage genommen wird. In der exemplarischen Ausführungsform oben wird diese Vorgeschichte des vergangenen Ausgangssignals dem VDSC-Codec entnommen, die in den Puffern 192 und 292 in 1 gespeichert ist. Man beachte, dass ein Sprachbanddatensignalkompressions-Codec, wie der exemplarisch beschriebene VDSC-Codec 101 und 290, eine Verzögerungsleitung mit Verzögerungselementen ähnlich den Elementen 140 des LD-CELP-Codecs in 5 hat. Es sind die Zustände in dieser Verzögerungsleitung der VDSC-Codec, die in den Puffern 192 und 292 gespeichert und aktualisiert werden, während die Verarbeitung in den VDSC-Codecs läuft. Die Werte in den Puffern werden den Elementen 140 über ihren jeweiligen Eingang 144 parallel zugeführt.
  • Aus 5 kann man ersehen, dass die Zustände des Synthesefilters die Vorgeschichte des vergangenen rekonstruierten Ausgangssignals enthalten. Dies gilt für die oben beschriebenen LD-CELP und auch für den VDSC-Codec. Wenn die Signalklassifizierungsschaltung 103 in 1 auf der Leitung 99 Sprache anzeigt und von den VDSC-Codecs 101 und 290 auf die LD-CELP-Codecs 100 und 200 umschaltet, wird die Aktualisierung der Puffer 192 und 292 beendet. Die Schalter 193 und 293 werden von der Schaltung 103 für einen kurzen Moment aktiviert, und die Zustandswerte der Puffer werden über die Eingänge 144 in die Verzögerungselemente 140 der Synthesefilterverzögerungsleitung geladen. Somit wird die Vorgeschichte der vorher berechneten Sprachabtastwerte den Puffern 192 und 292 entnommen, und die Synthesefilterzustände der LD-CELP-Codec 100 und 200 werden mit diesen Pufferwerten voreingestellt. Die verbleibende Aufgabe ist es dann, das Anregüngssignal ET(1...5) zu finden, das diese Zustände erzeugt hätte, wenn der LD-CELP bereits in der Vergangenheit gearbeitet hätte. Wenn dieses Anregungssignal ET(1...5) gefunden würde, wäre es leicht, die Gewinnprädiktorzustände, die im Zusammenhang mit 6 beschrieben sind, vorab zu setzen.
  • Nachstehend werden die Einzelheiten des Algorithmus beschrieben, indem ein Pseudocode bereitgestellt wird, wie er in der ITU-Empfehlung G.728 "Coding of Speech at 16 kbit/s Using Low-Delay Code Excited Linear Prediction" verwendet wird. Signale oder Koeffizienten sind nach der Tabelle 2/G.728 der Empfehlung bezeichnet.
  • Die Beschreibung der Erzeugung der Gewinnprädiktorzustände beginnt mit dem Ablauf der Synthesefilteraktualisierung, die im LD-CELP erfolgt, wenn er im normalen Modus arbeitet. Fünf Abtastwerte des Anregungssignals ET(1...5) werden auf diese Weise dem Synthesefilter zugeführt: erstens werden fünf Abtastwerte der Nulleingangsantwort ZINR(1...5) berechnet, siehe 7b. Dies ist das Ausgangssignal des Synthesefilters, wenn es mit dem nullwertigen Eingangssignal "0" (Nachschwingen) versorgt wird. Zweitens werden die fünf Abtastwerte der Nullzustandsantwort ZSTR(1...5) berechnet, siehe 7a. Man beachte, dass nur fünf der Zustände sich von Null unterscheiden. Daher sind nur diese ersten fünf Zustände in 7a dargestellt. ZSTR(1...5) ist der Ausgangsvektor des Nullzustandssynthesefilters, wenn es mit dem Anregungssignal ET(1...5) versorgt wird. Dann werden die fünf neuen Werte der Synthesefilterzustände STATELPC(1 : 5) oder SB(1 : 5) berechnet, indem die vorher erzeugten Komponenten addiert werden: STATELPC(i) = ZINR(i) + ZSTR(i); i = 1, ..., 5
  • Wenn wir uns diesen Ablauf vergegenwärtigen, so können wir nunmehr das Verfahren zum Abrufen des Anregungssignals ET(1...5) ableiten. Wenn von einem anderen Codec, z. B. dem VDSC-Codec in 1, zu dem LD-CELP-Codec umgeschaltet wird, sind nur die Abtastwerte in der Reihe STATELPC(1...50) bekannt, wenn das vergangene rekonstruierte Signal an die richtigen Stellen der Reihe STATELPC(1...50) oder der Reihe SB(1...105) eingesetzt wird, wobei STATELPC(1...50) als Teil der Reihe SB(1...105) in 5 angesehen werden kann. Das Anregungssignal ET(1...5) ist in den Werten der in ZSTR(1...5) gespeicherten Nullzustandsantwort verborgen, die zuerst isoliert werden muss. Zu diesem Zweck muss die Nulleingangsantwort ZINR(1...5) erzeugt werden, indem das Synthesefilter mit fünf nullwertigen Abtastwerten versorgt wird. Dann kann die Nullzustandsantwort extrahiert werden durch Erzeugung von ZSTR(i) = STATELPC(i) – ZINR(i);i = 1, ..., 5
  • ZSTR(i) wäre das Ausgangssignal des Nullzustandssynthesefilters, wenn es mit dem Anregungssignal ET(1...5) versorgt würde. Dieser Vektor kann nunmehr abgeleitet werden durch Anwendung der inversen Filteroperation auf diese Nullzustandsantwort. Das Anregungssignal ET(1...5) kann vollkommen rekonstruiert werden, da die Abtastwerte der Nullzustandsantwort nicht alle Komponenten des kontinuierlich arbeitenden Faltungsprozesses mit fünfzig Prädiktor-Koeffizienten enthalten. Dieser letzte Schritt des Abrufens des Anregungssignals ET(1...5) aus der Nullzustandsantwort ZSTR(1...5) kann deutlicher erkannt werden, wenn die entsprechenden Operationen mit Hilfe eines Pseudocode-Stückes erläutert werden. In Tabelle 1 ist der Pseudocode zur Berechnung der Nullzustandsantwort, wie sie entsprechend der Empfehlung G.728 durchgeführt wird, in der linken Spalte dargestellt. In der rechten Spalte sind die entsprechenden inversen Operationen zum Abrufen des Anregungsvektors als die inverse Filteroperation dargestellt. Tabelle 1: Inverse Operation der 'Nullzustandsantwortberechnung'
    Nullzustandsantwortberechnung inverse Filteroperation
    1) ZSTR(1) = ET(1) 1) ET(1) = ZSTR(1)
    2) ZSTR(2) = ET(2) – A2·ZSTR(1) 2) ET(2) = ZSTR(2) + A2·ZSTR(1)
    3) ZSTR(3) = ET(3) – A3·ZSTR(1) – A2·ZSTR(2) 3) ET(3) = ZSTR(3) + A3·ZSTR(1) + A2·ZSTR(2)
    ... ...
  • Wenn man das Anregungssignal ET(1...5) hat, können die entsprechenden Zustandswerte des Gewinnprädiktors, wie beispielsweise empfohlen in Block 20 von G.728 "1-vector delay, RMS calculator and logarithm calculator", erzeugt werden. Somit sind alle Signale verfügbar, die erforderlich sind, um einen glatten Übergang von einem beliebigen anderen Codec zum LD-CELP-Sprach-Codec zu erreichen.
  • Diese Erzeugung der Gewinnzustände wird nachstehend kurz wiederholt. Das Anregungssignal ET(1...5) wird der Energieerzeugungseinheit 152 in 5 zugeführt, die Verzögerungselemente 150 werden mit den Gewinnprädiktorzuständen aufgefüllt, die Koeffizienten GP2–GP11 in den Koeffizientenelementen 151 werden erzeugt, und der Gewinnanregungsvektor GAIN' wird erzeugt. Ganz am Anfang der Sprachübertragung wird ein Codevektor CW erzeugt und zum Anregungscodebuch 112 zurückgekoppelt, ein neuer Wert des Anregungssignals ET(1...5) Wird erzeugt, wie in 4 beschrieben, die Zustände des Synthesefilters werden aktualisiert, wie auch die Synthesefilterprädiktor-Koeffizienten A2 bis A51 in den Koeffizientenelementen 141, und ein neuer Wert SD der decodierten Sprache wird erzeugt. Ein neuer Wert des Gewinnanregungsvektors GAIN' wird für den nächsten Codevektor CW erzeugt. Auf diese Weise werden die Zustände des LD-CELP nacheinander für die Sprachübertragung aktualisiert.
  • Ein Überblick über das erfindungsgemäße Verfahren wird nachstehend in Verbindung mit dem Flussdiagramm in 8 gegeben. Das Flussdiagramm stellt den Ablauf des Umschaltens zwischen zwei verschiedenen Sprach-Codecs dar, wobei ein glatter Übergang im decodierten Ausgangssignal erreicht wird. Das Verfahren beginnt in Block 300 damit, dass die Signalklassifizierungsschaltung 103 erkennt, wenn Sprache übertragen wird. Bei der Alternative NEIN setzt der VDSC-Codec die Codierung von Daten zur Übertragung entsprechend einem Block 301 fort. Bei der Alternative JA werden die Sprachpufferelemente 140 im LD-CELP-Codec mit den im Puffer 192 gespeicherten Zustandswerten VSB(1...105) vom VDSC-Codec entsprechend einem Block 302 vorab belegt. Synthesefilterprädiktor-Koeffizienten A2...A51 werden erzeugt, Block 303. Das Anregungssignal ET(1...5) wird abgerufen, Block 304, und in einem Block 305 wird der Gewinnprädiktorpufferelemente 150 in 6 vorab belegt. Die Gewinnprädiktor-Koeffizienten GP1 bis GP11 werden in Block 306 erzeugt, und der Gewinnanregungsvektor GAIN' wird in einem Block 307 erzeugt. Die LD-CELP-Codecs 100 und 200 arbeiten entsprechend dem Block 308, und die Sprache wird zwischen dem Sender und dem Empfänger übertragen. Der Block 309 zeigt, dass die Signalklassifizierungsschaltung 103 kontinuierlich erkennt, wenn Sprachbanddaten übertragen werden. Bei einer Alternative NEIN (keine Sprachbanddaten) arbeiten die LD-CELP-Codecs weiter. Bei einer Alternative JA werden die VDSC-Codecs mit der Übertragungsleitung 120 gekoppelt und beginnen mit der Codierung der angegebenen Daten zur Übertragung.
  • Es muss nunmehr beachtet werden, dass das Codierschema des VDSC-Codec auch ein rückwärtsadaptives Codierschema sein kann. In einem solchen Fall kann der VDSC-Codec gestartet werden, indem die Zustandswerte des VDSC-Codecs mit den Zustandswerten aus dem Bereich SB(1...105) im LD-CELP-Codec vorab belegt werden. Dies ist in einem Block 310 in 8 dargestellt. Auf diese Weise kann die Erfindung sowohl für Sprach- als auch für Daten-Codecs in einer Übertragungsleitung benutzt werden. Außerdem können andere Codecs mit rückwärtsadaptiven Codierschemen die Erfindung anwenden.
  • Die Erzeugung des Anregungssignals ET(1...5) wird nachstehend in Verbindung mit 9 beschrieben, bevor die sehr ausführliche Beschreibung des Pseudocodes nachstehend erfolgt. Die Zustandswerte aus dem VDSC-Codec werden patallel in den Elementen 140 des Sprachpuffers SB(1...105) gespeichert. Eine temporäre Kopie eines Teils des Sprachpuffers wird in einem Speicher 145 gespeichert, und ein Signal TEMP wird ausgegeben nach einer Verarbeitung, die nachstehend ausführlicher in Verbindung mit dem Pseudocode beschrieben wird. Der vollständige Inhalt des Sprachpuffers SB(1...105) wird über eine Verbindung 48 an eine Hybridfenstereinheit 49 übergeben. Durch die Hybridfenstertechnik in einer Einheit 49, eine Levinson-Rekursion in einer Einheit 50 und eine Bandbreitendehnung in einem Block 51 werden die Prädiktor-Koeffizienten A2 bis A51 erzeugt und in einem Speicher 146 gespeichert. Die Werte A2...A51 werden über die Eingänge 139 an die jeweiligen Koeffizientenelemente 141 übergeben. Nulleingangsantwortwerte ZINR(1...5) werden in einer Einheit 147 mit Hilfe des Signals TEMP und des A-Koeffizienten aus dem Speicher 146 erzeugt. Nullzustandsantwortwerte ZSTR(1...5) werden in einer Differenzeinheit 148 erzeugt, und in einer Einheit 149 werden die Werte des Anregungssignals ET(1...5) erzeugt. Diese Werte werden an die Energieerzeugungseinheit 152 übergeben. Die Werte des decodierten Sprachsignals SD können nunmehr erzeugt werden, zu Beginn des Prozesses mit Hilfe der in Koeffizientenelementen 141 gespeicherten A-Faktoren aus dem Speicher 146 und mit Hilfe der in den Elementen 140 gespeicherten Zustände aus dem VDSC-Codec 101.
  • In einer vereinfachten Ausführungsform der Erfindung werden die Koeffizientenwerte A2 bis A51 nicht in den Einheiten 49, 50, 51 und 146 erzeugt. Statt dessen werden entsprechende Koeffizienten B2 bis B51 in 3a und 3b im VDSC-Codec weitergegeben an den LD-CELP-Codec und über die Eingänge 139 in die Koeffizienteneinheiten 141 eingefügt.
  • In DCME-Übertragungsschemen ist bekannt, dass fehlerhafte Entscheidungen im Signalklassifizierungsalgorithmus alle 2,5 ms zum Umschalten von einem Codierschema zu einem anderen führen könnten. Wenn das andere Codierschema so aufwendig wäre wie der LD-CELP, dann bestünde keine Möglichkeit, die innerhalb von 5 ms verfügbare Rechenleistung zwischen den beiden Codierschemen auszugleichen, da die Operationen des Vorab-Setzens der Zustände und der Berechnungen des normalen Betriebsmodus durchgeführt werden müssen. Wenn der LD-CELP eingeschaltet wird, muss daher die innerhalb der 2,5 ms verfügbare Rechenleistung Zwischen der Initialisierungsphase und der nachfolgenden Normalbetriebsphase aufgeteilt werden. Beide zusammen sollten nicht mehr Rechenleistung erfordern, als während des normalen Betriebsmodus benötigt wird. Nachstehend werden Verfahren zur Reduzierung der Komplexität während der Anlaufphase und auch während der ersten Adaptionszyklen beschrieben.
  • Während der Initialisierungsphase ist die Rechenlast des Kopierens vergangener Abtastwerte in die Zustandsvariablen des Synthesefilters vernachlässigbar. Die Aktualisierung der Gewinnprädiktorzustände würde geringfügig aufwendiger werden. Viel mehr Rechenleistung wäre jedoch erforderlich für die Berechnung der Prädiktor-Koeffizienten A1 bis A51 des Synthesefilters. Hybridfenstertechnik und Levinson-Rekursionsverfahren würden eine enorme Spitze an Prozessorleistung erfordern.
  • Eine Möglichkeit zur Reduzierung der Komplexität in diesem Teil besteht darin, die Prädiktor-Ordnung des Synthesefilters lediglich während der Anfangsphase auf Werte von etwa zehn zu ändern, so dass nur Koeffizienten bis zu A11 erzeugt werden. Perioden mit geringfügig verschlechterter Sprache können kaum erkannt werden, solange das Signal nur für einige wenige Millisekunden geringfügig beeinträchtigt ist. Dies ist hier der Fall, da der Sprachpuffer SB(1...105) unmittelbar mit vergangenen Abtastwerten aufgefüllt werden kann. Ein erster kompletter Satz von fünfzig Prädiktor-Koeffizienten ist höchstens nach 30 Abtastwerten oder 3,75 ms verfügbar. Eine reduzierte Filterordnung hat den Vorteil niedriger Komplexität bei der Berechnung der Nüllzustandsantworten während der Initialisierungsphase. Für jeden neuen Abtastwert der Nullzustandsantwort müssen fünfzig Muplikations- und Additionsoperationen durchgeführt werden, wie man aus 7b sehen kann. Dieser Rechenaufwand wird um einen Faktor 5 reduziert, wenn eine reduzierte Filterordnung von 10 angewendet wird.
  • Ein weiteres Verfahren würde darin bestehen, die Koeffizienten zu verwenden, die den Koeffizienten A1 bis A51 des LD-CELP-Codecs entsprechen und die vorher von dem anderen Codierschema VDSC erzeugt worden sind. Dadurch wird erhebliche Rechenleistung eingespart, die zur Berechnung der Fensterverarbeitung, der ACF-Koeffizienten und der Levinson-Rekursion erforderlich ist.
  • Ferner könnte die Rechenleistung, die für die Koeffizientenaktualisierung während des ersten Adaptionszyklus nach dem Starten des LD-CELP erforderlich ist, abgezogen und auf den Initialisierungsteil übertragen werden. Die Prädiktor-Koeffizienten, die vorher berechnet worden sind, werden dann während des ersten oder der beiden ersten Adaptionszyklen eingefroren. Die resultierende Verschlechterung der Sprachqualität ist vernachlässigbar, der Gewinn an Rechenleistung ist jedoch erheblich.
  • Eine zusätzliche Reduzierung der Komplexität kann im Gewinnprädiktorteil des LD-CELP erreicht werden. Die Gewinnprädiktorzustände in den Elementen 150 des LD-CELP-Codec bestehen aus zehn Abgriffen. Daher sollten mindestens zehn aufeinanderfolgende Vektoren des Anregungssignals ET(1...5) aus den Synthesefilterzuständen abgeleitet werden. Zusätzlich sollten Prädiktor-Koeffizienten GP2 ... GP11 abgeleitet werden, um den Gewinn für den ersten Vektor des ersten Adaptionszyklus nach der Initialisierungsphase vorherzusagen. Glücklicherweise sind die Gewinnprädiktorzustände weniger anfällig für kleinere Verzerrungen. Dies ermöglicht eine Vorab-Belegung mit nur grob geschätzten Werten. Somit können die folgenden Modifikationen durchgeführt werden, um die Komplexität während der Anfangsphase zu reduzieren:
  • Berechnen des Gewinns GAIN' nur für den jüngsten Anregungsvektor ET(1...5) und Annehmen, dass dies der Mittelwert für den vergangenen und auch den vorhergesagten Wert für den ersten Vektor des ersten Adaptionszyklus sei. Im übrigen ist ein bereits neuer Satz von Prädiktorgewinnen während des ersten Vektors des ersten Adaptionszyklus berechnet worden. Somit würde eine Vorab-Belegung GP2 ... GP11 = 0 ausreichend sein.
  • Ein geringfügig aufwendigeres Verfahren wäre es, einige wenige der jüngsten logarithmischen Gewinne zu berechnen und den Mittelwert der Ergebnisse für den aktuellen und den vergangenen Gewinn zu nehmen.
  • Nunmehr wird die bevorzugte Ausführungsform für eine von vielen anderen möglichen Kombinationen unter Verwendung des Pseudocodes, wie er auch in der Empfehlung G.728 verwendet wird, ausführlich beschrieben. Dargestellt ist der Schritt, wo das Umschalten von einem beliebigen anderen Codieralgorithmus zum LD-CELP ausgeführt werden muss.
  • Wir wollen annehmen, dass der andere Codieralgorithmus quantisierte Ausgangsabtastwerte VS in der Vergangenheit erzeugt hat und dass die Vorgeschichte dieses Signals in einer Reihe gespeichert ist, die mit VSB(1 : 105) bezeichnet ist, wobei VSB(105) den ältesten und VSB(1) den jüngsten Abtastwert enthält.
  • Alle anderen unten erwähnten Kennzeichnungen sind die gleichen, wie sie in der Empfehlung G.728 verwendet werden. Wenn der LD-CELP an der Reihe ist, werden die folgenden Operationen im voraus durchgeführt:
    • 1. Abtastwerte aus Reihe VSB(1...105) in SB(1...105) kopieren; SB(1...50) ist identisch mit den Synthesefilterzusstandvariablen, die in STATELPC(1...50) gespeichert sind, wobei der jüngste Abtastwert in STATELPC(1) gespeichert ist.
    • 2. 51 Prädiktor-Koeffizienten A(1...51) berechnen, wobei A(1) = 1, durch Abarbeiten des Hybridfenstermoduls (Block 49), des Levinson-Rekursionsmoduls (Block 50) und des Bandbreitendehnungsmoduls (Block 51). Diese Koeffizienten werden während der Initialisierungsphase zur Berechnung von Nulleingangsantworten und während des ersten Adaptionszyklus verwendet.
    • 3. Die Gewinnprädiktorzustände werden vorab gesetzt, indem lediglich der logarithmische Gewinn des jüngsten Anregungsvektors berechnet und dieser Wert in die anderen Stellen von SBLG() oder GSTATE() kopiert wird. a) Berechnen von fünf Abtastwerten der Nulleingangsantwort
      für k = 1, 2, ..., 50 TEMP(k) = SB(k + 5) temporäre Kopie herstellen
      für k = 1, 2, ..., 5 {ZINR(k) = 0 STATELPC() kann so implementiert werden, dass es Teil der Reihe SB() ist.
      für i = 2, 3, ..., 50 {ZINR(k) = ZINR(k) – TEMP(k + i – 2)·Ai Somit wird anstelle von STATELPC() die Reihe SB() nur in dem folgenden verwendet.
      TEMP(i) = TEMP(i – 1)}
      ZINR(k) = ZINR(k) – TEMP(k + 49)·A51
      TEMP(1) = ZINR(k)}
    • b) Berechnen von fünf Abtastwerten der Nullzustandsantwort: für k = 1, 2, ..., 5 ZSTR(k) = SB(k) – ZINR(k)
    • c) Berechnen von fünf Abtastwerten des Anregungsvektors durch inverse Filteroperation: ET(1) = ZSTR(1)für k = 2, 3, ..., 5 {ET(k) = ZSTR(k)für i = 2, ..., k ET(k) = ET(k) + ZSTR(k – i + 2)·Ai}
    • d) Blöcke 76, 39, 40 (Berechnung des logärithmischen Gewinns) ETRMS = ET(1)·ET(1)für k = 2, 3, ..., 5ETRMS = ETRMS + ET(k)·ET(k) ETRMS = ETRMS DIMINV WENN (ETRMS < 1) ETRMS = 1 ETRMS = 10·log10(ETRMS) e) Auffüllen der Gewinnprädiktorzustände mit logarithmischem Gewinn:
      für i = 1, 2, ..., 33 SBLG(i) = ETRMS – GOFF GAINLG = SBLG(33) + GOFF GAIN' = 10(GAINLG/20) GSTATE() kann so implementiert werden, dass es Teil der Reihe SBLG() ist. Daher wird es nicht getrennt vorab gesetzt. Vorhergesagte Gewinnwerte für den ersten Vektor des ersten Adaptionszyklus.
    • f) Lediglich auf der Codiererseite; Durchführen von Formcodevektorfaltung und Energietabellenberechnung (Blöcke 12, 14, 15): Zur Berechnung der Impulsantwort ist das Wichtungsfilter diesmal nicht notwendig. Daher können die Beiträge von AWZ() und AWP() des Blocks 12 zurückgenommen werden.
  • Dieser vorgeschlagene Ablauf in Kombination mit den Operationen, die während des ersten Adaptionszyklus durchgeführt werden, ist nicht aufwendiger, als es die Rechenlast ohne die Vorab-Belegung wäre. Dies gilt insbesondere dann, wenn Levinson-Rekursion (Block 50) über mehrere Vektoren verteilt ist, wie es normalerweise in praktischen Implementationen erfolgt.

Claims (24)

  1. Verfahren zum Betreiben eines Übertragungssystems zum Übertragen von Signale über einen Kommunikationskanal (120), wobei das System umfasst: einen ersten rückwärtsadaptiven Codierer (100) mit einem Synthesefilter (115), mit Elementen (140) mit Filterzuständen (SB(1...105)) und außerdem mit Koeffizientenelementen (141) mit Prädiktor-Koeffizienten (A2...A51); einen zweiten rückwärtsadaptiven Codierer (101) mit Elementen mit Zustandswerten (VSB(1...105)); und eine Steuerungsschaltung (103) zum Umschalten zwischen dem ersten und dem zweiten Codierer (100, 101) beim Wählen des einen der Codierer, der in der Übertragung zu verwenden ist; wobei das Verfahren die folgenden Schritte umfasst: Übertragen von Signalen über den zweiten Codierer (101) und Speichern seiner Zustandswerte (VSB(1...105)) in einem Puffer (192); Umschalten auf den ersten Codierer (100) mit Hilfe der Steuerungsschaltung (103) zur Übertragung über den ersten Codierer (100); Voreinstellen mindestens eines Teils der Filterzustandswerte (SB(1...105)) des ersten Codierers (100) mit den gespeicherten Zustandswerten (VSB(1...105)); Hervorbringen mindestens eines Teils der Prädiktor-Koeffizienten (A2...A51) im ersten Codierer (100); und Erzeugen eines Ausgangssignals (SD) aus dem Synthesefilter (115) in Abhängigkeit von den hervorgebrachten Prädiktor-Koeffizienten (A2...A51).
  2. Verfahren nach Anspruch 1, wobei der zweite Codierer (101) Koeffizientenelemente für Prädiktor-Koeffizienten (B2...B51) aufweist entsprechend den Koeffizientenelementen (141) des ersten Codierers (100) und das Verfahren ferner die folgenden Schritte umfasst: Speichern mindestens eines Teils der Prädiktor-Koeffizienten (B2...B51) des zweiten Codierers (101) in dem Puffer; und Übertragen der gespeicherten Prädiktor-Koeffizienten (B2...B51) an die Koeffizientenelemente (141) des Synthesefilters (115) im ersten Codierer (100).
  3. Verfahren nach Anspruch 1 mit dem folgenden Schritt: Erzeugen der Prädiktor-Koeffizienten (A2...A51) des ersten Codierers (100) mit Hilfe der voreingestellten Zustandswerte (SB(1...105)).
  4. Verfahren nach Anspruch 3 mit dem folgenden Schritt: Erzeugen lediglich eines Teils (A2...A11) der Prädiktor-Koeffizienten (A2...A51).
  5. Verfahren nach Anspruch 1, 2, 3 oder 4, ferner mit den folgenden Schritten: Erzeugen von Vektoren (ZINR(1...5)), die in einer Antwort auf nullwertige Eingangsabtastwerte ("0") des Synthesefilters (115) enthalten sind, mit Hilfe der Zustandswerte (SB(1...105)) und der Prädiktor-Koeffizienten (A2...A51) im Synthesefilter (115); Erzeugen von Vektoren (ZSTR(1...5)) für eine Nullzustandsantwort durch Subtrahieren der Vektoren (ZINR(1...5)) der Antwort auf die nullwertigen Eingangsabtastwerte ("0") von den entsprechenden Zustandswerten (SB(1...105)) des Synthesefilters (115), aufgeteilt als Zustandsvektoren (SB(1...105)); und Erzeugen eines Anregungssignals (ET(1...5)) für das Synthesefilter (115) mit Hilfe der Nullzustandsantwortvektoren (ZSTR(1...105)).
  6. Verfahren nach Anspruch 5, wobei der erste Codierer (100) einen Gewinnprädiktor (134) mit Elementen (150) für Zustandswerte (SBLG) und außerdem mit Koeffizientenelementen (151) für Prädiktor-Koeffizienten (GP2...GP11) aufweist, wobei das Verfahren ferner die folgenden Schritte umfasst: Erzeugen und Voreinstellen der Zustandswerte (SBLG) des Gewinnprädiktors (134) unter Verwendung des erzeugten Anregungssignals (ET(1...5)); Erzeugen der Prädiktor-Koeffizienten (GP2...GP11) des Gewinnprädiktors (134) mit Hilfe seiner Zustandswerte (SBLG); und Erzeugen eines vorhergesagten Gewinnfaktors (GAIN') für ein erstes der Anregungssignale (ET(1...5)) des Synthesefilters (115) nach einer Auslösungsperiode für den ersten Codierer (100).
  7. Verfahren mit einem Übertragungssystem zum Empfangen von Signalen, die über einen Kommunikationskanal (120) übertragen werden, wobei das System umfasst: einen ersten rückwärtsadaptiven Decodierer (200) mit einem Synthesefilter (215) mit Elementen (140) mit Filterzuständen (SB(1...105)) und außerdem mit Koeffizientenelementen (141) mit Prädiktor-Koeffizienten (A2...A51); einen zweiten rückwärtsadaptiven Decodierer (290) mit Elementen mit Zustandswerten (VSB(1...105)); und eine Steuerungsschaltung (103) zum Umschalten zwischen dem ersten und dem zweiten Decodierer (200, 290) beim Wählen des einen der Decodierer, der beim Signalempfang zu verwenden ist; wobei das Verfahren die folgenden Schritte umfasst: Empfangen von Signalen über den zweiten Decodierer (290) und Speichern seiner Zustandswerte (VSB(1...105)) in einem Puffer (292); Umschalten auf den ersten Decodierer (200) mit Hilfe der Steuerungsschaltung (103) zum Empfangen über den ersten Decodierer (200); Voreinstellen mindestens eines Teils der Filterzustandswerte (SB(1...105)) des ersten Decodierers (200) mit den gespeicherten Zustandswerten (VSB(1...105)); Hervorbringen mindestens eines Teils der Rrädiktor-Koeffizienten (A2...A51) im ersten Decodierer (200); und Erzeugen eines Ausgangssignals (SD) aus dem Synthesefilter (215) in Abhängigkeit von den hervorgebrachten Prädiktor-Koeffizienten (A2...A51),
  8. Verfahren nach Anspruch 7, wobei der zweite Decodierer (290) Koeffizientenelemente für Prädiktor-Koeffizienten (B2...B51) entsprechend den Koeffizientenelementen (141) des ersten Decodierers (200) aufweist und das Verfahren ferner die folgenden Schritte umfasst: Speichern mindestens eines Teils der Prädiktor-Koeffizienten (B2...B51) des zweiten Decodierers (290) in dem Puffer; und Übertragen der gespeicherten Prädiktor-Koeffizienten (B2...B51) an die Koeffzientenelemente (141) des Synthesefilters (215) in dem ersten Decodierer (200).
  9. Verfahren nach Anspruch 7 mit dem folgenden Schritt: Erzeugen der Prädiktor-Koeffizienten (A2...A51) des ersten Decodierers (200) mit Hilfe der voreingestellten Zustandswerte (SB(1...105)).
  10. Verfahren nach Anspruch 9 mit dem folgenden Schritt: Erzeugen lediglich eines Teils (A2...A11) der Prädiktor-Koeffizienten (A2...A51).
  11. Verfahren nach Anspruch 7, 8, 9 oder 10, ferner mit den folgenden Schritten: Erzeugen von Vektoren (ZINR(1...5)), die in einer Antwort auf nullwertige Eingangsabtastwerte ("0") des Synthesefilters (215) enthalten sind, mit Hilfe der Zustandswerte (SB(1...105)) und der Prädiktor-Koeffizienten (A2...A51) in dem Synthesefilter (215); Erzeugen von Vektoren (ZSTR(1...5)) für eine Nullzustandsantwort durch Subtrahieren der Vektoren (ZINR(1...5)) der Antwort auf die nullwertigen Eingangsabtastwerte ("0") von den entsprechenden Zustandswerten (SB(1...105)) des Synthesefilters (215), aufgeteilt als Zustandsvektoren (SB(1...5)); und Erzeugen eines Anregungssignals (ET(1...5)) für das Synthesefilter (215) mit Hilfe der Nullzustandsantwortvektoren (ZSTR(1...5)).
  12. Verfahren nach Anspruch 11, wobei der erste Decodierer (200) einen Gewinnprädiktor (134) mit Elementen (150) für Zustandswerte (SBLG) und außerdem mit Koeffizientenelementen (151) für Prädiktor-Koeffizienten (GP2...GP11) aufweist, wobei das Verfahren ferner die folgenden Schritte umfasst: Erzeugen und Voreinstellen der Zustandswerte (SBLG) des Gewinnprädiktors (134) unter Verwendung des erzeugten Anregungssignals (ET(1...5)); Erzeugen der Prädiktor-Koeffizienten (GP2...GP11) des Gewinnprädiktors (134) mit Hilfe seiner Zustandswerte (SBLG); und Erzeugen eines vorhergesagten Gewinnfaktors (GAIN') für ein erstes der Anregungssignale (ET(1...5)) des Synthesefilters (21S) nach einer Auslösungsperiode für den ersten Decodierer (200).
  13. Vorrichtung zum Übertragen von Signalen über einen Kommunikationskanal (120), wobei die Vorrichtung umfasst: einen ersten rückwärtsadaptiven Codierer (100) mit einem Synthesefilter (115) mit Elementen (140) mit Filterzuständen (SB(1...105)) und außerdem mit Koeffizientenelementen (141) mit Prädiktor-Koeffizienten (A2...A51); einen zweiten rückwärtsadaptiven Codierer (101) mit Elementen mit Zustandswerten (VSB(1...105)); eine Steuerungsschaltung (103) mit Schaltern (98, 102) zum Ankoppeln entweder des ersten oder des zweiten Codierers (100, 101) an den Kommunikationskanal (120); einen Puffer (192) zum Speichern der Zustandswerte (VSB(1...105)) des zweiten Codierers (101), wenn Signale über den zweiten Codierer übertragen werden; eine Einrichtung (193, 144) zum Einspeisen mindestens eines Teils der gespeicherten Zustandswerte (VSB(1...105)) in die Elemente (1 + 40) mit den Filterzustandswerten (SB(1...105)) des ersten Codierers (100), wenn auf den ersten Codierer (100) zur Übertragung über den Kommunikationskanal (120) über den ersten Codierer (100) umgeschaltet wird; eine Vorrichtung (116; 49, 50, 51, 146; 192, 193, 139), die mit Eingängen (139) der Koeffizientenelemente (141) verbunden ist, zum Hervorbringen mindestens eines Teils der Prädiktor-Koeffizienten (A2...A51) des ersten Codierers (100); und eine Vorrichtung (142, 143), die mit den Koeffizientenelementen (141) verbunden ist, zum Erzeugen eines Ausgangssignals (SD) aus dem Synthesefilter (115) in Abhängigkeit von den hervorgebrachten Prädiktor-Koeffizienten.
  14. Vorrichtung nach Anspruch 13 mit: Koeffizientenelementen in dem zweiten Codierer (101) für Prädiktor-Koeffizienten (B2...B51), wobei die Koeffizientenelemente den Koeffizientenelementen (141) des ersten Codierers (100) entsprechen; einer Einrichtung in dem Puffer (192) zum Speichern der Prädiktor-Koeffizienten (B2...B51) des zweiten Codierers (101); und einer Einrichtung (193, 139) zum Übertragen der gespeicherten Prädiktor-Koeffizienten (B2...B51) an die Koeffizientenelemente (141) des Synthesefilters (115).
  15. Vorrichtung nach Anspruch 13, wobei die Vorrichtung zum Hervorbringen der Prädiktor-Koeffizienten (A2...A51) eine Einrichtung (116; 48, 49, 50, 51, 146) zur Erzeugung der Prädiktor-Koeffizienten (A2...A51) mit Hilfe der gespeicherten Zustandswerte (VSB(1...105)) in den Elementen (140) für die Zustandswerte (SB(1...105)) des ersten Codierers (100) umfasst.
  16. Vorrichtung nach Anspruch 15, wobei die Einrichtung (116; 48, 49, 50, 51, 146) zur Erzeugung der Prädiktor-Koeffizienten (A2...A51) so eingerichtet ist, dass lediglich ein Teil der Prädiktor-Koeffizienten (A2...A51) erzeugt wird.
  17. Vorrichtung nach einem der Ansprüche 13 bis 16 mit: einer Einrichtung (147) zum Erzeugen von Vektoren (ZINR(1...5)) mit Hilfe der Zustände (SB(1...105)) und der Prädiktor-Koeffizienten (A2...A51) des Synthesefilters (115), wobei die Vektoren (ZINR(1...5)) in einer Antwort auf nullwertige Eingangsabtastwerte ("0") des Synthesefilters (115) enthalten sind; einer Einrichtung (148) zum Erzeugen von Vektoren (ZSTR(1...5)) für eine Nullzustandsantwort, wobei die Einrichtung eine Subtrahiervorrichtung (148) aufweist, die die Vektoren (ZINR(1...5)) für die Antwort auf die nullwertigen Eingangsabtastwerten ("0") von den entsprechenden Zustandswerten des Synthesefilters (115) subtrahiert, wobei die Zustandswerte in Zustandsvektoren (SB(1...5)) geteilt werden; und einer Einrichtung (149) zum Erzeugen eines Anregungssignals (ET(1...5)) des Synthesefilters (115) mit Hilfe der Vektoren (ZSTR(1...5)) für die Nullzustandsantwort.
  18. Vorrichtung nach Anspruch 17, wobei der erste Codierer (100) einen Gewinnprädiktor (134) mit Elementen (150) für Zustandswerte (SBLG) und außerdem mit Koeffizientenelementen (151) für Prädiktor-Koeffizienten (GP2...GP11) aufweist, wobei die Vorrichtung umfasst: eine Einrichtung (152, 155) zum Erzeugen und Voreinstellen der Zustandswerte (SBLG) des Gewinnprädiktors (134) unter Verwendung des erzeugten Anregungssignals (ET(1...5)); eine Einrichtung, die mit den Elementen (150) für die Zustandswerte verbunden ist und außerdem mit den Koeffizientenelementen (151) verbunden ist, wobei die Einrichtung die Koeffizienten (GP2...GP11) des Gewinnprädiktors (134) mit Hilfe der Zustandswerte (SBLG) des Gewinnprädiktors erzeugt; und eine Einrichtung (153, 156) zum Erzeugen eines vorhergesagten Gewinnfaktors (GAIN') für ein erstes der Anregungssignale (ET(1...5)) des Synthesefilters (115) nach einer Auslösungsperiode für den ersten Codierer (100).
  19. Vorrichtung mit einem Übertragungssystem zum Empfangen von Signalen, die über einen Kommunikationskanal (120) übertragen werden, wobei die Vorrichtung umfasst: einen ersten rückwärtsadaptiven Decodierer (200) mit einem Synthesefilter (215) mit Elementen (140) mit Filterzuständen (SB(1...105)) und außerdem mit Koeffizientenelementen (141) mit Prädiktor-Koeffizienten (A2...A51); einen zweiten rückwärtsadaptiven Decodierer (290) mit Elementen mit Zustandswerten (VSB(1...105)); eine Steuerungsschaltung (103) mit Schaltern (203, 198) zum Ankoppeln entweder des ersten oder des zweiten Decodierers (200, 290) an den Kommunikationskanal (120); einen Puffer (292) zum Speichern der Zustandswerte (VSB(1...105)) des zweiten Decodierers (290), wenn Signale über den zweiten Decodierer empfangen werden; eine Einrichtung (293, 145) zum Einspeisen mindestens eines Teils der gespeicherten Zustandswerte (VSB(1...105)) in die Elementen (140) mit den Filterzustandswerten (SB(1...105)) des ersten Decodierers (200), wenn auf den ersten Decodierer (200) zum Empfangen über den Kommunikationskanal (120) über den ersten Decodierer (200); umgeschaltet wird eine Vorrichtung (116; 49, 50, 51, 146; 192, 193, 139), die mit Eingängen (139) der Koeffizientenelemente (141) verbunden ist, zum Hervorbringen mindestens eines Teils der Prädiktor-Koeffizienten (A2...A51) des ersten Decodierers (200); und eine Vorrichtung (142, 143), die mit den Koeffizientenelementen (141) verbunden ist, zum Erzeugen eines Ausgangssignals (SD) aus dem Synthesefilter (215) in Abhängigkeit von den hervorgebrachten Prädiktor-Koeffizienten.
  20. Vorrichtung nach Anspruch 19 mit: Koeffizientenelementen in dem zweiten Decodierer (290) für Prädiktor-Koeffizienten (B2...B51), wobei die Koeffizientenelemente den Koeffizientenelementen (141) des ersten Decodierers (200) entsprechen; einer Einrichtung in dem Puffer (292) zum Speichern der Prädiktor-Koeffizienten (B2...B51) des zweiten Decodierers (290); und einer Einrichtung (293, 139) zum Übertragen der gespeicherten Prädiktor-Koeffizienten (B2...B51) an die Koeffizientenelemente (141) des Synthesefilters (215).
  21. Vorrichtung nach Anspruch 19, wobei die Vorrichtung zum Hervorbringen der Prädiktor-Koeffizienten (A2...A51) eine Einrichtung (116; 48, 49, 50, 51, 146) zum Erzeugen der Prädiktor- Koeffiziente (A2...A51) mit Hilfe der gespeicherten Zustandswerte (VSB(1...105)) in den Elementen (140) für die Zustandswerte (SB(1...105)) des ersten Decodierers (200) umfasst.
  22. Vorrichtung nach Anspruch 21, wobei die Einrichtung (116; 48, 49, 50, 51, 146) zum Erzeugen der Prädiktor-Koeffizienten (A2...A51) so eingerichtet ist, das lediglich einen Teil der Prädiktor-Koeffizienten (A2...A11) erzeugt wird.
  23. Vorrichtung nach einem der Ansprüche 19 bis 22 mit: einer Einrichtung (147) zum Erzeugen von Vektoren (ZINR(1...5)) mit Hilfe der Zustände (SB(1...105)) und der Prädiktor-Koeffizienten (A2...A51) des Synthesefilters (215), wobei die Vektoren (ZINR(1...5)) in einer Antwort auf nullwertige Eingangsabtastwerte ("0") des Synthesefilters (215) enthalten sind; einer Einrichtung (148) zum Erzeugen von Vektoren (ZSTR(1...5)) für eine Nullzustandsantwort, wobei die Einrichtung eine Subtrahiervorrichtung (148) aufweist, die die Vektoren (ZINR(1...5)) für die Antwort auf die nullwertigen Eingangsabtastwerte ("0") von den entsprechenden Zustandswerten des Synthesefilters (215) subtrahiert, wobei die Zustandswerte in Zustandsvektoren (SB(1...5)) aufgeteilt werden; und einer Einrichtung (149) zum Erzeugen eines Anregungssignals (ET(1...5)) des Synthesefilters (215) mit Hilfe der Vektoren (ZSTR(1...5)) für die Nullzustandsantwort.
  24. Vorrichtung nach Anspruch 23, wobei der erste Decodierer (200) einen Gewinnprädiktor (134) mit Elementen (150) für Zustandswerte (SBLG) und außerdem mit Koeffizientenelementen (151) für Prädiktor-Koeffizienten (GP2...GP11) aufweist, wobei die Vorrichtung umfasst: eine Einrichtung (152, 155) zum Erzeugen und Voreinstellen der Zustandswerte (SBLG) des Gewinnprädiktors (134) unter Verwendung des erzeugten Anregungssignals (ET(1...5)); eine Einrichtung, die mit den Elementen (150) für die Zustandswerte verbunden ist und außerdem mit den Koeffizientenelementen (151) verbunden ist, wobei die Einrichtung die Koeffizienten (GP2...GP11) des Gewinnprädiktors (134) mit Hilfe der Zustandswerte (SBLG) des Gewinnprädiktors erzeugt; und eine Einrichtung (153, 156) zum Erzeugen eines vorhergesagten Gewinnfaktors (GAIN') für ein erstes der Anregungssignale (ET(1...5)) des Synthesefilters (215) nach einer Auslösungsperiode für den ersten Decodierer (200).
DE69633944T 1995-02-08 1996-02-02 Verfahren und gerät zum kodieren von digitalen daten Expired - Lifetime DE69633944T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9500452 1995-02-08
SE9500452A SE504010C2 (sv) 1995-02-08 1995-02-08 Förfarande och anordning för prediktiv kodning av tal- och datasignaler
PCT/SE1996/000128 WO1996024926A2 (en) 1995-02-08 1996-02-02 Method and apparatus in coding digital information

Publications (2)

Publication Number Publication Date
DE69633944D1 DE69633944D1 (de) 2004-12-30
DE69633944T2 true DE69633944T2 (de) 2005-12-08

Family

ID=20397130

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69633944T Expired - Lifetime DE69633944T2 (de) 1995-02-08 1996-02-02 Verfahren und gerät zum kodieren von digitalen daten

Country Status (13)

Country Link
US (1) US6012024A (de)
EP (1) EP0976126B1 (de)
JP (1) JP4111538B2 (de)
KR (1) KR100383051B1 (de)
CN (1) CN1110791C (de)
AU (1) AU720430B2 (de)
BR (1) BR9607033A (de)
CA (1) CA2211347C (de)
DE (1) DE69633944T2 (de)
FI (1) FI117949B (de)
MX (1) MX9705890A (de)
SE (1) SE504010C2 (de)
WO (1) WO1996024926A2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL125310A (en) * 1998-07-12 2002-02-10 Eci Telecom Ltd Method and system for managing varying traffic load in telecommunication network
US7457415B2 (en) 1998-08-20 2008-11-25 Akikaze Technologies, Llc Secure information distribution system utilizing information segment scrambling
US6865229B1 (en) * 1999-12-14 2005-03-08 Koninklijke Philips Electronics N.V. Method and apparatus for reducing the “blocky picture” effect in MPEG decoded images
US6961320B1 (en) * 2000-04-03 2005-11-01 Hughes Electronics Corporation In-band transmission of TTY/TTD signals for systems employing low bit-rate voice compression
JP3881157B2 (ja) * 2000-05-23 2007-02-14 株式会社エヌ・ティ・ティ・ドコモ 音声処理方法及び音声処理装置
WO2002013183A1 (fr) * 2000-08-09 2002-02-14 Sony Corporation Procede et dispositif de traitement de donnees vocales
EP1336253B1 (de) * 2000-11-21 2009-03-18 Telefonaktiebolaget LM Ericsson (publ) Tragbares kommunikationsgerät
US7855966B2 (en) * 2001-07-16 2010-12-21 International Business Machines Corporation Network congestion detection and automatic fallback: methods, systems and program products
US7068601B2 (en) * 2001-07-16 2006-06-27 International Business Machines Corporation Codec with network congestion detection and automatic fallback: methods, systems & program products
KR100794424B1 (ko) * 2001-11-01 2008-01-16 엘지노텔 주식회사 오디오 패킷 스위칭 시스템 및 방법
US20030101407A1 (en) * 2001-11-09 2003-05-29 Cute Ltd. Selectable complexity turbo coding system
US7206740B2 (en) * 2002-01-04 2007-04-17 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
US7054807B2 (en) * 2002-11-08 2006-05-30 Motorola, Inc. Optimizing encoder for efficiently determining analysis-by-synthesis codebook-related parameters
WO2004064041A1 (en) * 2003-01-09 2004-07-29 Dilithium Networks Pty Limited Method and apparatus for improved quality voice transcoding
US7996234B2 (en) * 2003-08-26 2011-08-09 Akikaze Technologies, Llc Method and apparatus for adaptive variable bit rate audio encoding
JP2005202262A (ja) * 2004-01-19 2005-07-28 Matsushita Electric Ind Co Ltd 音声信号符号化方法、音声信号復号化方法、送信機、受信機、及びワイヤレスマイクシステム
CN100592389C (zh) 2008-01-18 2010-02-24 华为技术有限公司 合成滤波器状态更新方法及装置
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
JP5159318B2 (ja) * 2005-12-09 2013-03-06 パナソニック株式会社 固定符号帳探索装置および固定符号帳探索方法
WO2007102782A2 (en) * 2006-03-07 2007-09-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for audio coding and decoding
CN101145345B (zh) * 2006-09-13 2011-02-09 华为技术有限公司 音频分类方法
KR20100006492A (ko) 2008-07-09 2010-01-19 삼성전자주식회사 부호화 방식 결정 방법 및 장치
KR101261677B1 (ko) * 2008-07-14 2013-05-06 광운대학교 산학협력단 음성/음악 통합 신호의 부호화/복호화 장치
JP4977157B2 (ja) * 2009-03-06 2012-07-18 株式会社エヌ・ティ・ティ・ドコモ 音信号符号化方法、音信号復号方法、符号化装置、復号装置、音信号処理システム、音信号符号化プログラム、及び、音信号復号プログラム
JP6132288B2 (ja) * 2014-03-14 2017-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、選択装置、生成方法、選択方法、及び、プログラム
US9685164B2 (en) * 2014-03-31 2017-06-20 Qualcomm Incorporated Systems and methods of switching coding technologies at a device
RU2643434C2 (ru) * 2014-09-12 2018-02-01 Общество С Ограниченной Ответственностью "Яндекс" Способ предоставления пользователю сообщения посредством вычислительного устройства и машиночитаемый носитель информации

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4100377A (en) * 1977-04-28 1978-07-11 Bell Telephone Laboratories, Incorporated Packet transmission of speech
IL74965A (en) * 1985-04-17 1990-07-12 Israel Electronics Corp Combination tasi and adpcm apparatus
AU7464687A (en) * 1986-07-02 1988-01-07 Eci Telecom Ltd. Telephone line multiplication apparatus
IL80103A0 (en) * 1986-09-21 1987-01-30 Eci Telecom Limited Adaptive differential pulse code modulation(adpcm)system
US4969192A (en) * 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
US4910781A (en) * 1987-06-26 1990-03-20 At&T Bell Laboratories Code excited linear predictive vocoder using virtual searching
CA2005115C (en) * 1989-01-17 1997-04-22 Juin-Hwey Chen Low-delay code-excited linear predictive coder for speech or audio
IL89461A (en) * 1989-03-02 1994-06-24 Eci Telecom Limited Telephone communication compression system
US5228076A (en) * 1989-06-12 1993-07-13 Emil Hopner High fidelity speech encoding for telecommunications systems
US5235669A (en) * 1990-06-29 1993-08-10 At&T Laboratories Low-delay code-excited linear-predictive coding of wideband speech at 32 kbits/sec
FR2668288B1 (fr) * 1990-10-19 1993-01-15 Di Francesco Renaud Procede de transmission, a bas debit, par codage celp d'un signal de parole et systeme correspondant.
JP2518765B2 (ja) * 1991-05-31 1996-07-31 国際電気株式会社 音声符号化通信方式及びその装置
EP0530034B1 (de) * 1991-08-30 1999-01-20 Canon Kabushiki Kaisha Gerät zur Bildübertragung
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
US5339384A (en) * 1992-02-18 1994-08-16 At&T Bell Laboratories Code-excited linear predictive coding with low delay for speech or audio signals
US5327520A (en) * 1992-06-04 1994-07-05 At&T Bell Laboratories Method of use of voice message coder/decoder
US5313554A (en) * 1992-06-16 1994-05-17 At&T Bell Laboratories Backward gain adaptation method in code excited linear prediction coders
JP3182032B2 (ja) * 1993-12-10 2001-07-03 株式会社日立国際電気 音声符号化通信方式及びその装置

Also Published As

Publication number Publication date
SE9500452D0 (sv) 1995-02-08
JP4111538B2 (ja) 2008-07-02
CA2211347C (en) 2007-04-24
KR100383051B1 (ko) 2003-07-16
EP0976126A2 (de) 2000-02-02
WO1996024926A2 (en) 1996-08-15
CN1179848A (zh) 1998-04-22
FI973270A0 (fi) 1997-08-08
FI117949B (fi) 2007-04-30
KR19980702044A (ko) 1998-07-15
CN1110791C (zh) 2003-06-04
DE69633944D1 (de) 2004-12-30
AU720430B2 (en) 2000-06-01
SE504010C2 (sv) 1996-10-14
US6012024A (en) 2000-01-04
FI973270A (fi) 1997-08-08
CA2211347A1 (en) 1996-08-15
EP0976126B1 (de) 2004-11-24
MX9705890A (es) 1997-10-31
SE9500452L (sv) 1996-08-09
JPH10513277A (ja) 1998-12-15
BR9607033A (pt) 1997-11-04
AU4682396A (en) 1996-08-27
WO1996024926A3 (en) 1996-10-03

Similar Documents

Publication Publication Date Title
DE69633944T2 (de) Verfahren und gerät zum kodieren von digitalen daten
DE69910239T2 (de) Verfahren und vorrichtung zur adaptiven bandbreitenabhängigen grundfrequenzsuche für die kodierung breitbandiger signale
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69735097T2 (de) Verfahren und vorrichtung zur verbesserung der sprachqualität in tandem-sprachkodierern
DE69932460T2 (de) Sprachkodierer/dekodierer
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE19811039B4 (de) Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen
DE2945414C2 (de) Sprachsignal-Voraussageprozessor und Verfahren zur Verarbeitung eines Sprachleistungssignals
EP1025646B1 (de) Verfahren und vorrichtung zum codieren von audiosignalen sowie verfahren und vorrichtungen zum decodieren eines bitstroms
DE60226308T2 (de) Quantisierung der Anregung in einem Geräuschrückkopplungskodierungssytem mit allgemeiner Rauschformung
DE69915400T2 (de) Vorrichtung zur Kodierung und Dekodierung von Audiosignalen
DE3244476C2 (de)
DE19647298C2 (de) Kodiersystem
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE60319590T2 (de) Verfahren zur codierung und decodierung von audio mit variabler rate
DE602004004950T2 (de) Vorrichtung und Verfahren zum bitraten-skalierbaren Sprachkodieren und -dekodieren
EP1016319B1 (de) Verfahren und vorrichtung zum codieren eines zeitdiskreten stereosignals
EP1023777B1 (de) Verfahren und vorrichtung zur erzeugung eines bitratenskalierbaren audio-datenstroms
DE60124079T2 (de) Sprachverarbeitung
EP0962015A1 (de) Verfahren und vorrichtungen zum codieren von diskreten signalen bzw. zum decodieren von codierten diskreten signalen
DE69830816T2 (de) Mehrstufige Audiodekodierung
DE60214121T2 (de) Quantisierung der Anregung bei einem &#34;noise-feedback&#34; Kodierungsverfahren
DE60118627T2 (de) Vorrichtung und Verfahren zur Breitbandcodierung von Sprachsignalen
DE10004862B4 (de) Ein schnelles Suchverfahren für LSP-Quantisierung
DE60035453T2 (de) Auswahl des Synthesefilters für eine CELP Kodierung von breitbandigen Audiosignalen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition