DE60222445T2 - Verfahren zum verbergen von bitfehlern für die sprachcodierung - Google Patents

Verfahren zum verbergen von bitfehlern für die sprachcodierung Download PDF

Info

Publication number
DE60222445T2
DE60222445T2 DE60222445T DE60222445T DE60222445T2 DE 60222445 T2 DE60222445 T2 DE 60222445T2 DE 60222445 T DE60222445 T DE 60222445T DE 60222445 T DE60222445 T DE 60222445T DE 60222445 T2 DE60222445 T2 DE 60222445T2
Authority
DE
Germany
Prior art keywords
signal
gain
qlg
value
log
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
DE60222445T
Other languages
English (en)
Other versions
DE60222445D1 (de
Inventor
Juin-Hwey Irvine Chen
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.)
Broadcom Corp
Original Assignee
Broadcom 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 Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of DE60222445D1 publication Critical patent/DE60222445D1/de
Publication of DE60222445T2 publication Critical patent/DE60222445T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die Erfindung betrifft die digitale Kommunikation und spezifischer die Verbesserung der Sprachqualität, wenn ein Bitstrom, der ein Sprachsignal repräsentiert, Bitfehlern unterworfen ist.
  • Relevanter Stand der Technik
  • Bei der Sprachcodierung, die manchmal auch Sprachkompression genannt wird, codiert eine Codiereinrichtung (Codierer) ein Eingangs-Sprach- oder Audiosignal zur Übertragung oder Speicherung in einen digitalen Bitstrom. Eine Decodiereinrichtung (Decoder) decodiert den Bitstrom in ein Ausgangssprachsignal. Die Kombination aus Codierer und Decoder wird Codec genannt. Wenn ein Übertragungskanal oder Speichermedium Bitfehler in den vom Decoder empfangenen Bitstrom einbringt, verschlechtert sich die Qualität der decodierten Sprache im Vergleich zu der aus einem fehlerfreien Bitstrom decodierten Sprache.
  • Es gibt verschiedene Möglichkeiten, Bitfehler anzugehen. Eine wohlbekannte Vorgehensweise ist die Vorwärtsfehlerkontrolle, bei der ein Sender derart zusätzliche redundante Bits sendet, dass ein entsprechender Empfänger gewisse Bitfehler ermitteln oder sogar korrigieren kann. Wenn genügend redundante Bits gesendet werden, kann dieses Schema gegenüber Bitfehlern äußerst robust gestaltet werden. Ein Nachteil besteht dabei jedoch darin, dass die Gesamtbitrate durch das Senden redundanter Bits erheblich erhöht wird.
  • Eine zweite Vorgehensweise besteht darin, die Quantisierer im Codec bezüglich rauschender Kanäle zu optimieren. Die Codec-Quantisierer können in Anbetracht einer gegebenen Zielbitfehlerrate in der Konstruktionsphase optimiert werden, um ein decodiertes Signal bereitzustellen, das im Hinblick auf mittlere quadratische Fehler (MSE – Mean-Squared Error) besser ist, ohne zur Vorwärtsfehlerkontrolle redundante Bits senden zu müssen. Das Problem besteht darin, dass solche bezüglich rauschender Kanäle optimierte Quantisierer häufig dynamische Bereiche haben, die kleiner sind als die dynamischen Bereiche von bezüglich unbelasteter Kanäle (d.h. Kanäle, die frei von Bitfehlern sind) optimierten Quantisierern. Infolgedessen ist, obgleich die Leistung des Codecs bezogen auf die Zielbitfehlerrate verbessert ist, bei unbelasteten Kanälen häufig eine deutliche Verschlechterung der Leistung gegeben.
  • Das Dokument WO-A-96 27183 offenbart ein Verfahren zur Verarbeitung von Sprachcodierparametern in einem Empfänger eines Telekommunikationssystems.
  • Ein Ziel der vorliegenden Erfindung besteht darin, eine Technik zum Verbergen von Bitfehlern in Signalen bereitzustellen, die die natürliche Redundanz in den gesendeten Signalparametern nutzt, die Codec-Leistung jedoch nicht verschlechtert.
  • Dieses Ziel wird durch ein Verfahren gemäß den Ansprüchen 1, 3, 5 und 7 und ein computerlesbares Medium gemäß den Ansprüchen 9 und 10 erreicht.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen definiert.
  • Gemäß den Grundlagen der vorliegenden Erfindung, wie hierin dargestellt und allgemein beschrieben, umfasst ein beispielhaftes Verfahren zum Verbergen von Bitfehlern in einem Signal das Codieren eines Signalparameters gemäß einem Satz Bedingungen, die dem Signalparameterquantisierer auferlegt werden. Der codierte Signalparameter wird decodiert und dann mit dem Bedingungssatz verglichen.
  • Die vorliegende Erfindung ähnelt der vorstehend besprochenen zweiten Vorgehensweise dahingehend, dass keine Übertragung von redundanten Bits erforderlich ist. Der Unterschied besteht jedoch darin, dass sich die vorliegende Erfindung nicht auf die Reduzierung des dynamischen Bereichs des Quantisierers stützt, um die gewünschte Robustheit gegenüber Bitfehlern zu erreichen. Stattdessen nutzt die vorliegende Erfindung die natürliche Redundanz der gesendeten Sprachparameter, wie etwa der Verstärkung oder Pitch-Periode, zur Ermittlung von infolge von Bitfehlern falsch decodierten Sprachparametern. Obgleich die vorliegende Erfindung mit bezüglich rauschender Kanäle optimierten Quantisierern für diese Sprachparameter verwendet werden kann, kann sie ebenfalls mit bezüglich unbelasteter Kanäle optimierten Quantisierern verwendet werden.
  • Wenn sie mit bezüglich unbelasteter Kanäle optimierten Quantisierern verwendet wird, kann die vorliegende Erfindung Sprachqualitätsverbesserungen bereitstellen, die denjenigen ähneln, die durch bezüglich rauschender Kanäle optimierten Quantisierern erreicht werden, wenn Bitfehler vorhanden sind. Die vorliegende Erfindung kann jedoch bei unbelasteten Kanälen eine geringere Leistungsverschlechterung (d.h. bessere Sprachqualität) aufweisen als bei Verwendung von bezüglich rauschender Kanäle optimierten Quantisierern.
  • Weitere Ausführungsformen, Merkmale und Vorteile der vorliegenden Erfindung sowie der Aufbau und Betrieb der verschiedenen Ausführungsformen der vorliegenden Erfindung sind nachfolgend unter Bezugnahme auf die begleitenden Zeichnungen genauer beschrieben.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die begleitenden Zeichnungen, die in die Beschreibung eingearbeitet sind und einen Teil derselben bilden, veranschaulichen eine Ausführungsform der Erfindung und erläutern, zusammen mit der Beschreibung, den Zweck, die Vorteile und Grundlagen der Erfindung. Es zeigt:
  • 1 ein Flussdiagramm eines beispielhaften Codierverfahrens der vorliegenden Erfindung,
  • 2 ein Flussdiagramm eines beispielhaften Decodierverfahrens der vorliegenden Erfindung,
  • 3 eine Blockdiagrammdarstellung eines Codiererabschnitts eines herkömmlichen prädiktiven MA-Log-Verstärkungsquantisierers,
  • 4 eine Blockdiagrammdarstellung eines Decoders eines herkömmlichen prädiktiven MA-Log-Verstärkungsquantisierers,
  • 5 eine graphische Darstellung einer beispielhaften erfindungsgemäß arbeitenden Schwellenfunktion,
  • 6 eine Blockdiagrammdarstellung eines beispielhaften erfindungsgemäß konstruierten und angeordneten Codierers, angewandt auf einen prädiktiven MA-Log-Verstärkungsquantisierer,
  • 7 eine Blockdiagrammdarstellung eines beispielhaften erfindungsgemäß konstruierten und angeordneten Decoders, angewandt auf einen prädiktiven MA-Log-Verstärkungsquantisierer, und
  • 8 eine Blockdiagrammdarstellung eines beispielhaften Computersystems, mit dem die vorliegende Erfindung in die Praxis umgesetzt werden kann.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Die folgende genaue Beschreibung der vorliegenden Erfindung bezieht sich auf die begleitenden Zeichnungen, die beispielhafte erfindungsgemäße Ausführungsformen darstellen. Andere Ausführungsformen sind möglich und es können innerhalb des Schutzumfangs der vorliegenden Erfindung Modifikationen an den Ausführungsformen vorgenommen werden. Daher soll die folgende genaue Beschreibung die Erfindung nicht einschränken. Der Schutzumfang der Erfindung wird vielmehr durch die zugehörigen Ansprüche definiert.
  • Für Fachleute auf dem Gebiet ist ersichtlich, dass die nachfolgend beschriebene vorliegende Erfindung in zahlreichen unterschiedlichen Ausführungsformen von Hardware, Software, Firmware und/oder der in den Zeichnungen dargestellten Einheiten implementiert werden kann. Kein effektiver Softwarecode mit spezialisierter Steuerhardware zur Ausführung der vorliegenden Erfindung schränkt die vorliegende Erfindung ein. Somit werden der Betrieb und das Verhalten der vorliegenden Erfindung unter dem Verständnis beschrieben, dass Modifikationen und Variationen der Ausführungsformen angesichts des hierin angegebenen Detaillierungsgrades möglich sind. Bevor die Erfindung im Detail beschrieben wird, ist es hilfreich, eine beispielhafte Umgebung zu beschreiben, in der die Erfindung ausgeführt werden kann.
  • Die vorliegende Erfindung ist nicht auf einen spezifischen Typ von Sprach-Codec beschränkt. Sie ist auf jeden beliebigen Sprach-Codec allgemein anwendbar, der zum Quantisieren bestimmter Sprachparameter, die zwischen benachbarten Abtastungen derartiger Parameter über eine ausreichende natürliche Redundanz verfügen, Quantisierer einsetzt.
  • Bei einem typischen Sprach-Codec extrahiert der Codierer bestimmte Sprachparameter, quantisiert sie und sendet sie als Nebeninformationen an den Decoder. Der Decoder decodiert solche Nebeninformationen und verwendet die decodierten Sprachparameter zum Decodieren des Sprachsignals. Beispiele für solche Codecs umfassen Adaptive Predicitive Coding (APC/adaptiv-prädiktive Codierung), Multi-Pulse Linear Predictive Coding (MPLPC/lineare prädiktive Multi-Puls-Codierung), Code Excited Linear Prediction (CELP/codeangeregte Linearprädiktion), Noise Feedback Coding (NFC/Rauschrückkopplungscodierung), Sub-Band-Coding (SBC/Subband-Codierung) mit adaptiver Bitzuweisung und Adaptive Transform Coding (ATC/adaptive Transformationscodierung), ohne jedoch darauf beschränkt zu sein. Die gesendeten Sprachparameter können die spektralen Hüllkurveninformationen, die Pitch-Periode und die Verstärkung (Energiepegel) des Signals, etc. umfassen. Diese Sprachparameter werden typischerweise in einem festen Zeitintervall einmal pro Frame (5 ms bis 40 ms) oder einmal pro Sub-Frame (1 ms bis 10 ms) extrahiert.
  • Die Abtastungen eines gegebenen extrahierten Sprachparameters bilden eine Zeitsequenz, die selbst als digitale Wellenform betrachtet werden kann. Eine derartige Sprachparameterwellenform weist eine gewisse natürliche Redundanz auf. Das heißt, sie kann nicht vollkommen beliebig sein. Dies ist der Fall, da sie durch einen physischen Apparat (d.h. das menschliche Spracherzeugungssystem, das die Stimmbänder, den Stimmtrakt und die Nasenhöhle, etc. umfasst) erzeugt wird.
  • Die mechanischen Bewegungen in diesem Apparat sind auf natürliche Weise beschränkt und können nicht beliebig sein. Folglich kommen bestimmte Kombinationen von benachbarten Sprachparameterabtastungen niemals in der natürlichen Sprache vor. Beispielsweise ist es in der Mitte eines Hochenergie-Vokalbereichs natürlicher Sprache nicht möglich, dass die Signalenergie innerhalb von 5 ms plötzlich um 30 oder 40 dB ansteigt.
  • Bei der vorliegenden Erfindung wird dem Codec beigebracht, die Sprachparameterkombinationen zu erkennen, die in natürlicher Sprache unmöglich oder äußerst unwahrscheinlich sind. Zur Erleichterung der Beschreibung werden solche Sprachparameterkombinationen hierin als unzulässige Kombinationen bezeichnet. Sobald ihm dies beigebracht worden ist, führt der Codierer bei der Quantisierung eines gegebenen Sprachparameters eine Überprüfung auf unzulässige Kombinationen durch. Wenn eine unzulässige Kombination in der quantisierten Sprachparametersequenz gefunden wird, wird der Quantisiererbetrieb modifiziert, so dass der Quantisierer eine andere quantisierte Sprachparameterabtastung auswählt, die eine zulässige Kombination bildet. Aufgrund einer solchen Überprüfung am Codierer enthalten die durch den Codierer gesendeten Sprachparametersequenzen keine unzulässigen Kombinationen.
  • Der Decoder führt dieselbe Art von Überprüfung auf unzulässige Kombinationen von Sprachparametern durch. Da die gesendeten Sprachparametersequenzen keine unzulässigen Kombinationen enthalten, müssen sie, wenn der Decoder eine unzulässige Kombination ermittelt, durch Bitfehler verursacht worden sein. Daher kann der Decoder, anstatt den durch Bitfehler korrumpierten Sprachparameterwert für den aktuellen Frame oder Sub-Frame zu verwenden, einen anderen geeigneteren Ersatzparameterwert verwenden. Dieser Ersatzparameterwert kann durch Extrapolieren korrekt decodierter Sprachparameterabtastungen früherer Frames oder Sub-Frames erhalten werden. Der Ersatzwert kann auch durch Interpolation erhalten werden, wenn das Codierschema derart ist, dass einige zukünftige decodierte Parameterwerte ebenfalls zur Verfügung stehen. Auf diese Weise ermöglicht es die vorliegende Erfindung dem Decoder, gewisse Bitfehler zu ermitteln und Schritte zum Verbergen der qualitätsvermindernden Effekte solcher Bitfehler zu unternehmen, ohne dass redundante Bits für die Vorwärtsfehlerkorrektur oder -ermittlung gesendet werden müssen.
  • Es wird darauf hingewiesen, dass die Wortkombination in den Begriffen unzulässige Kombination und zulässige Kombination eine sehr allgemeine Bedeutung hat. Sie soll nicht im engen Sinne als die Kombination der Sprachparameterabtastung des aktuellen Frames (oder Sub-Frames) und des Abtastwerts desselben Sprachparameters im letzten Frame (oder Sub-Frame) definiert werden. Im weiteren Sinne kann die Wortkombination die Kombination einer beliebigen Anzahl von Sprachparameterabtastungen bezeichnen. Es kann sogar die Kombination von Sprachparameterabtastungen und einigen Werten gemeint sein, die von derartigen Parameterabtastungen, wie etwa der Abtastdifferenz, des lokalen Abtastmittelwerts und der lokalen Abtastabweichung, etc., abgeleitet werden.
  • Im weitesten Sinne muss die Kombination nicht einmal auf von einem gegebenen Sprachparametertyp abgeleitete Werte beschränkt sein. Die Kombination kann verschiedene gesendete Sprachparameter oder sogar gesendete Sprachparameter und einige Parameter umfassen, die nicht gesendet, sondern lokal von quantisierten Signalen abgeleitet werden. Das Konzept besteht darin, eine Kombination von Parameter zu verwenden, die die einfachste oder effektivste Ermittlung von Bitfehlern ermöglicht, solange eine solche Parameterkombination sowohl am Codierer als auch am Decoder überprüft werden kann. Es ist ebenfalls nicht nötig, zu versuchen, alle unzulässigen Kombinationen zu ermitteln. Die Ausführungsformen der vorliegenden Erfindung können dafür konfiguriert werden, nur diejenigen unzulässigen Kombinationen zu ermitteln, die große akustische Verzerrungen verursachen.
  • Das folgende einfache Beispiel stellt die grundlegenden Prinzipien der vorliegenden Erfindung dar. Nehmen wird an, dass ein Sprach-Codec den logarithmischen Wert der Signalverstärkung (hierin als Log-Verstärkung bezeichnet) einmal pro Sub-Frame sendet. Gehen wir davon aus, dass es erwünscht ist, bestimmte Bitfehler zu ermitteln, die bewirken, dass die decodierte Log-Verstärkung viel größer ist als die gesendete Log-Verstärkung (wodurch ein großer akustischer "Knall" in der decodierten Sprache verursacht wird). Eine einfache Wahlmöglichkeit besteht darin, die Kombination der Log-Verstärkung des aktuellen Sub-Frames und der Log-Verstärkung des letzten Sub-Frames zu überprüfen.
  • In einer Lern- oder Trainingphase wird der mögliche Log-Verstärkungsbereich in viele sich nicht überlappende Kästen unterteilt, wobei jeder Kasten einige wenige Dezibel abdeckt. Eine sehr lange Sprachdatei wird vom Codec codiert und die quantisierte Log-Verstärkung eines jeden Sub-Frames aufgezeichnet. Bei allen Log-Verstärkungen, die in einen gegebenen Kasten fallen, werden die späteren Log-Verstärkungen in den nächsten Sub-Frames untersucht und das Maximum derselben aufgezeichnet. Das auf diese Weise ermittelte Maximum ist ein bedingtes Maximum, das anhand der Log-Verstärkung des letzten innerhalb des gegebenen Kastens befindlichen Sub-Frames festgelegt oder bedingt wird. Nachdem die bedingten Maxima aller Kästen ermittelt wurden, werden sie in einer Tabelle gespeichert.
  • Während eines effektiven Verstärkungscodiervorgangs wird die quantisierte Log-Verstärkung des aktuellen Sub-Frames mit dem gespeicherten bedingten Maximum verglichen, das dem Kasten entspricht, in den die quantisierte Log-Verstärkung des früheren Sub-Frames fällt. Wenn dieses Maximum überschritten wird, wird das nächstgrößere Ausgangsniveau des Log-Verstärkungsquantisierercodebuchs dazu verwendet, eine kleinere quantisierte Log-Verstärkung zu rekonstruieren, wobei diese kleinere quantisierte Log-Verstärkung wiederum mit dem bedingten Maximum verglichen wird. Dieses Verfahren wird wiederholt bis die quantisierte Log-Verstärkung kleiner als das bedingte Maximum ist oder bis das kleinste Log-Verstärkungsquantisiererniveau erreicht ist, je nachdem was früher eintritt. Nach einem solchen modifizierten Betrieb des Log-Verstärkungscodierers enthält der gesendete Bitstrom keine quantisierte Log-Verstärkung, die das bedingte Maximum übersteigt und gleichzeitig nicht anhand des kleinsten Log-Verstärkungsquantisiererniveaus rekonstruiert ist.
  • Wenn, im Decoder, die decodierte Log-Verstärkung das bedingte Maximum (festgelegt anhand der früheren Log-Verstärkung) übersteigt und nicht anhand des kleinsten Log-Verstärkungsquantisiererniveaus rekonstruiert wird, dann muss dies durch einen oder mehrere Bitfehler verursacht worden sein. Wenn dies passiert, kann der Verstärkungsdecoder die decodierte Log-Verstärkung einfach durch die Log-Verstärkung des letzten Sub-Frames ersetzen. Dadurch wird ein potentiell hörbarer "Knall" in der ausgegebenen Sprache vermieden.
  • Es sind zahlreiche Variationen des obigen einfachen Beispiels möglich. Die bedingten Maxima dienen beispielsweise lediglich als Schwellenwerte für den Vergleich, um festzustellen, wann die decodierte Log-Verstärkung durch die Log-Verstärkung des letzten Sub-Frames ersetzt werden soll. Es kann daher vorteilhaft sein, derartige Schwellenwerte herabzusetzen, um sicherzustellen, dass die meisten hörbaren durch Verstärkungsbitfehler verursachten Knallgeräusche ermittelt werden können.
  • Bei einem anderen Beispiel kann die vorliegende Erfindung, anstatt die Schwellenwerte lediglich anhand der Log-Verstärkung des letzten Sub-Frames zu bedingen oder festzulegen, die Schwellenwerte anhand der Log-Verstärkungen des letzten Sub-Frames und des Sub-Frames vor diesem festlegen. Diese Vorgehensweise ähnelt dem Übergehen von einem Prädiktor erster Ordnung zu einem Prädiktor zweiter Ordnung. Durch Beobachten zweier aufeinander folgender Log-Verstärkungen kann die vorliegende Erfindung den wahrscheinlichen Bereich der nächsten Log-Verstärkung, die durch natürliche Sprache erzeugt wird, besser vorhersagen (prädizieren).
  • Bei einem weiteren Beispiel kann die vorliegende Erfindung, zusätzlich zur Log-Verstärkung, die Schwellenwerte auch anhand anderer Parameter festlegen, wie etwa dem ersten normierten Autokorrelationskoeffizienten und der Nulldurchgangsrate einer zuvor decodierten Sprachwellenform.
  • Kurz gesagt, die vorliegende Erfindung legt den Codiervorgängen eines Sprachparameterquantisierers einen Satz Bedingungen auf. im Decoder wird der decodierte Sprachparameter mit demselben Bedingungssatz verglichen, wobei der Decoder, wenn ein Verstoß gegen die Bedingungen festgestellt wird, den decodierten Sprachparameter aufgrund von Bitfehlern für ungültig erklärt. Der decodierte Sprachparameter wird dann verworfen und durch einen geeigneten Ersatzwert ersetzt, der anhand benachbarter decodierter Sprachparameter erhalten wurde, die als gültig eingeschätzt werden.
  • Der Bedingungssatz wird so gewählt, dass (1) bei der Codierung natürlicher Sprache im Codierer selten oder nie gegen ihn verstoßen wird, und (2) er, wenn im Decoder gegen ihn verstoßen wird (nachdem die Bedingungen im Codierer in Kraft gesetzt wurden), einem durch Bitfehler korrumpierten Sprachparameter entspricht, der wahrscheinlich einen erheblichen Qualitätsverlust in der ausgegebenen Sprache erzeugt. Wenn der Bedingungssatz so gewählt wird, dass er die meisten Bitfehler ermittelt, die die Qualität erheblich verschlechtern, ist es wahrscheinlich, dass die Bedingungen die Sprachqualität auch dann etwas verschlechtern, wenn keine Bitfehler (d.h. ein unbelasteter Kanal) vorhanden sind.
  • Die Auswahl der Bedingungen schließt einen Kompromiss zwischen der Leistung bei unbelasteten Kanälen und der Leistung bei rauschenden Kanälen ein. Somit besteht das Ziel bei der Konstruktion eines solchen Bitfehlerverbergungssystems darin, einen geeigneten Bedingungssatz zu wählen, der es dem System ermöglicht, so viele qualitätsverschlechternde Bitfehler wie möglich zu ermitteln und dabei eine vernachlässigbare Verschlechterung der Codec-Leistung bei unbelasteten Kanälen zu bewirken. Die nachfolgend beschriebene beispielhafte Ausführungsform der vorliegenden Erfindung erreicht dieses Ziel.
  • Die 1 und 2 sind Flussdiagramme der allgemeinen Codier- und Decodierverfahren der vorliegenden Erfindung. In 1 wird der eingegebene Parameter zunächst auf herkömmliche Weise quantisiert (Schritt 102). Der quantisierte Parameterwert wird dann mit den vorgegebenen Bedingungen verglichen, die anhand einer bestimmten Kombination von Parameterwerten festgelegt wurden (Schritt 104). Wenn er die Bedingungen erfüllt, ist keine Modifikation des quantisierten Parameterwerts erforderlich und das Codierverfahren ist abgeschlossen.
  • Wenn er jedoch die Bedingungen nicht erfüllt, wird der nächstbeste wählbare quantisierte Parameterwert ausgewählt (Schritt 106). (Hierbei bedeutet "wählbar", dass der quantisierte Parameterwert durch einen legitimen Ausgangsindex des Parameterquantisierers dargestellt werden kann, d.h. der Decoder kann diesen Wert exakt decodieren. Außerdem bezieht sich "nächstbeste" auf das bei der Quantisierungscodebuchsuche verwendete Verzerrungsmaß.)
  • Die vorliegende Erfindung überprüft dann, ob dieser Wert der letzte wählbare quantisierte Wert ist (Schritt 108). Das bedeutet, es wird überprüft, ob alle wählbaren quantisierten Parameterwerte versucht worden sind. Wenn nicht, geht die Verfah rensablaufsteuerung zurück zum Vergleich des quantisierten Parameterwerts mit den Bedingungen (Schritt 104).
  • Dieses Verfahren wird so lange wiederholt bis der erste wählbare quantisierte Wert, der die Bedingungen erfüllt, gefunden wird. Dieser wählbare quantisierte Wert wird als endgültiger Quantisiererausgang gewählt und der entsprechende Codebuchindex gesendet. Wenn alle wählbaren quantisierten Werte versucht worden sind und keiner die Bedingungen erfüllt, dann wird der letzte wählbare quantisierte Wert als endgültiger Quantisiererausgang gewählt und der entsprechende Codebuchindex gesendet. Dieser letzte wählbare quantisierte Wert wird als "Ausweichlösungswert" bezeichnet, da er gesendet wird, wenn keiner der Anwärter-Quantisiererausgangswerte die Bedingungen erfüllen kann.
  • In 2 führt der Decoder zunächst eine herkömmliche Decodierung des quantisierten Parameterwerts durch (Schritt 202). Es wird dann bestimmt, ob der resultierende quantisierte Wert die vordefinierten Bedingungen erfüllt, die anhand einer gewissen Parameterkombination festgelegt wurden (Schritt 204). Wenn ja, muss nichts Weiteres unternommen werden. Wenn er die Bedingungen nicht erfüllt, dann wird überprüft, ob der decodierte Parameterwert der vorstehend beschriebene "Ausweichlösungswert" ist (Schritt 206). Wenn ja, muss nichts Weiteres unternommen werden. Wenn nicht, wird der decodierte Parameterwert verworfen und durch einen anderen geeigneten lokalen Schätzwert ersetzt, der von benachbarten decodierten Parameterwerten abgeleitet wird, bei denen angenommen wird, dass sie fehlerfrei sind (Schritt 208).
  • Obgleich eine Ausführungsform der Erfindung mit dem Log-Verstärkungsquantisierer befasst ist, sollten sich dieselben Grundlagen der vorliegenden Erfindung auch auf die Bitfehlerverbergung anderer gesendeter Sprachparameter anwenden lassen, wie etwa die Pitch-Periode, den Pitch-Prädiktorkoeffizienten (oder die adaptive Codebuchverstärkung bei CELP-Codes) und die spektralen Hüllkurvenparameter. Dieselben Grundlagen können auch in anderen Signalkompressionssystemen, wie etwa Bild- oder Video-Codecs, bei der Bitfehlerverbergung nützlich sein.
  • Bei der bevorzugten Ausführungsform der vorliegenden Erfindung wird ein System zweiter Ordnung dazu verwendet, Bitfehler zu ermitteln, die große decodierte Log-Verstärkungen und die entsprechenden akustischen Knallgeräusche oder Störungen erzeugen. Sobald diese Bitfehler ermittelt worden sind, werden die falsch decodierten Log-Verstärkungen verworfen und durch eine lokale Schätzung ersetzt, die anhand benachbarter Log-Verstärkungen erhalten wird. Die meisten durch Verstärkungsbitfehler verursachten akustischen Knallgeräusche und Störungen können durch dieses Schema beseitigt werden.
  • Ein solches Bitfehlerverbergungsschema lässt sich leicht auf einen Sofort-Log-Verstärkungsquantisierer (d.h. einen Quantisierer ohne Speicher) anwenden. Bei der folgenden Beschreibung der bevorzugten Ausführungsform wird das Bitfehlerverbergungsschema jedoch mit einem weiterentwickelten prädiktiven Log-Verstärkungsquantisierer mit gleitender Mittelwert-(MA-/moving-average) Prädiktion (Vorhersage) verwendet. Ein solcher prädiktiver Verstärkungsquantisierer ähnelt demjenigen, der beim ITU-T-G.729-Sprachcodierstandard verwendet wird.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung wird in Verbindung mit dem prädiktiven MA-Log-Verstärkungsquantisierer in einem Zwei-Stufen-Rauschrückkopplungs-Codec verwendet, wie in der US-Patentanmeldung Nr. 09/722,077 mit dem Titel "Method and Apparatus for One-Stage and Two-Stage Noise Feedback Coding of Speech and Audio Signals", eingereicht am 27. November 2000 (Anwalt-Referenz-Nr. 1875.0250001), beschrieben.
  • Es wird jedoch darauf hingewiesen, dass die vorliegende Erfindung und sogar die bevorzugte Ausführungsform des Verstärkungsbitfehlerverbergungsschemas leicht in bekannten CELP- oder Multi-Puls-LPC-Codecs eingesetzt werden kann.
  • Zur Beschreibung der bevorzugten Ausführungsform der vorliegenden Erfindung wird zunächst ein herkömmlicher prädiktiver MA-Log-Verstärkungsquantisierer beschrieben. 3 zeigt den Codierer eines typischen prädiktiven MA-Log-Verstärkungsquantisierers. Bei der bevorzugten Ausführungsform dieser Erfindung in einem Rauschrückkopplungs-Codec wird die Log-Verstärkung des endgültigen Prädiktionsrestsignals quantisiert und einmal pro Sub-Frame gesendet. Die Sequenz {e(n)} bezeichnet das Prädiktionsrestsignal, wobei SFRSZ als die Sub-Frame-Größe bezogen auf die Anzahl der Abtastungen angenommen wird. Ohne Beschränkung der Allgemeinheit wird angenommen, dass der aktuelle Sub-Frame einen Sub-Frame-Index m hat und der aktuelle Sub-Frame den Abtastindizes von n = n0(m) + 1 bis n = n0(m) + SFRSZ entspricht, wobei n0(m) der Abtast-Offset des aktuellen Sub-Frames ist. Dann berechnet ein Block 301 die (Basis-2-)Log-Verstärkung des Prädiktionsrestsignals einmal pro Sub-Frame als
    Figure 00110001
  • Der Langzeitmittelwert dieser Log-Verstärkung, der mit lgmean bezeichnet ist, wird off-line berechnet und in einem Block 302 gespeichert. Ein Addierer 303 subtrahiert diesen Langzeitmittelwert von der Ausgangs-Log-Verstärkung des Blocks 301, um die mittelwertentfernte Version der Log-Verstärkung zu erhalten. Ein MA-Log-Verstärkungsprädiktorblock 304 ist ein FIR-Filter der Ordnung M. Die Koeffizienten dieses Log-Verstärkungsprädiktors werden vorab off-line bestimmt und konstant gehalten. Der Addierer 305 subtrahiert den Ausgang des Blocks 304, der mit elg(m) bezeichnet und die geschätzte Log-Verstärkung ist, von der mittelwertentfernten Log-Verstärkung. Der resultierende Wert ist lge(m) oder der Log-Verstärkungsprädiktionsfehler des aktuellen Sub-Frames. Ein Verstärkungsprädiktionsfehlerquantisiererblock 306 quantisiert lge(m) zu qlge(m). Bei manchen CELP-Codecs kann dieser Quantisierer ein Vektorquantisierer sein, der den Log-Verstärkungsprädiktionsfehler und die so genannte adaptive Codebuchverstärkung gemeinsam quantisiert. Hierbei wurde von einem einfacheren Fall eines Skalarquantisierers ausgegangen.
  • Der Verstärkungsquantisierercodebuchindex GI ist ein Ausgang dieses prädiktiven MA-Log-Verstärkungsquantisierers. Die quantisierte Version des Log-Verstärkungsprädiktionsfehlers qlge(m) wird an den Block 304 weitergeleitet, um den MA-Log-Verstärkungsprädiktorspeicher zu aktualisieren. Ein Addierer 307 addiert die prädizierte (vorhergesagte) Log-Verstärkung elg(m) zu dem quantisierten Log-Verstärkungsprädiktionsfehler qlge(m), um die quantisierte Version der mittelwertentfernten Log-Verstärkung zu erhalten. Ein Addierer 308 addiert dann den Log-Verstärkungsmittelwert lgmean hinzu, um die quantisierte Log-Verstärkung zu erhalten, die mit qlg(m) bezeichnet ist. Ein Block 309 wandelt dann wie folgt diese quantisierte Log-Verstärkung in der linearen Domäne in die quantisierte Verstärkung um. qg(m) = 2qlg(m)/2
  • Diese quantisierte lineare Verstärkung wird dann im Codierer des Rauschrückkopplungs-Codec dazu verwendet, die Erregungscodierung durchzuführen.
  • 4 zeigt einen entsprechenden Decoder für einen herkömmlichen prädiktiven MA-Log-Verstärkungsquantisierer. Er besteht im Grunde aus der rechten Hälfte von 3, außer dass ein Verstärkungsprädiktionsfehlerdecoder den Verstärkungsprädiktionsfehlerquantisierer ersetzt hat. Der Verstärkungsprädiktionsfehlerdecoder erhält den Verstärkungsindex GI als Eingang und decodiert den entsprechenden Quantisierertabellenwert als den quantisierten Ausgangs-Log-Verstärkungsprädik tionsfehler qlge(m). Der Rest von 4 arbeitet auf dieselbe Art und Weise wie die rechte Hälfte von 3.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung ist eine geringfügig modifizierte Version des vorstehend beschriebenen herkömmlichen prädiktiven MA-Log-Verstärkungsquantisierers. Die bevorzugte Ausführungsform ermittelt Verstärkungsbitfehler durch Überprüfen, ob der Veränderungsbetrag der decodierten Log-Verstärkung vom letzten Sub-Frame zum aktuellen Sub-Frame, der mit Δqlg(m) = qlg(m) – qlg(m – 1) bezeichnet ist, einen Schwellenwert übersteigt, der durch zwei Größen bestimmt wird: (1) die decodierte Log-Verstärkung des letzten Sub-Frames, qlg(m – 1), und (2) den Veränderungsbetrag der decodierten Log-Verstärkung von zwei Sub-Frames, die dem letzten Sub-Frame vorausgegangen sind, das heißt Δqlg(m – 1) = qlg(m – 1) – qlg(m – 2). Da dieser Schwellenwert eine Funktion von qlg(m – 1) und Δqlg(m – 1) ist, kann er mit T(qlg(m – 1), Δqlg(m – 1)) bezeichnet werden.
  • Theoretisch enthalten qlg(m – 1) und Δqlg(m – 1) dieselben Informationen wie qlg(m – 1) und qlg(m – 2). Somit wäre T'(qlg(m – 1), qlg(m – 2)) = T(qlg(m – 1), Δqlg(m – 1)) eine äquivalente Schwellenfunktion und könnte auch dann bestimmt werden, wenn qlg(m) qlg(m – 1) + T'(qlg(m – 1), qlg(m – 2)) übersteigt. Mathematisch sind die zwei Vorgehensweisen vollkommen gleichwertig. Bezogen auf die Ausführung jedoch, ermöglicht es uns die Verwendung der Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) anstelle von T'(qlg(m – 1), qlg(m – 2)), einen kleineren Bereich von Schwellenwerten zu speichern. Dies ist der Fall, da Δqlg(m – 1) einen kleineren dynamischen Bereich als qlg(m – 2) hat, daher werden weniger Kästen benötigt, um den gesamten dynamischen Bereich von Δqlg(m – 1) abzudecken.
  • Bevor die bevorzugte Ausführungsform im Detail beschrieben wird, wird das Verfahren zum "Trainieren" oder "Lernen" der Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) beschrieben. Zuerst wird eine sehr große Sprachdatei als Trainingdatei gewählt. (Sofern gewünscht, kann diese Trainingdatei, zusätzlich zu unbelasteter Sprache, auch Musik, Rauschen, rauschende Sprache und Netzwerksignalisierungstöne enthalten.) Nehmen wir an, dass in der Trainingdatei N Sub-Frames vorhanden sind. Die gesamte Trainingdatei wird durch den Ziel-Codec, der einen herkömmlichen prädiktiven MA-Log-Verstärkungsquantisierer enthält, codiert und die entsprechende Sequenz von quantisierten Log-Verstärkungen {qlg(m), m = 1, 2, 3, ..., N) in Sequenz in einer anderen Datei gespeichert. Dann wird ein anderes Trainingprogramm dazu verwendet, diese Log-Verstärkungsdatei zu analysieren und die Schwellenfunktion zu bestimmen. Es wird eine Kastegröße (oder -breite) von 2 in der Basis-2-Log- Domäne verwendet. Dies entspricht 6,02 dB für die Breite jedes Kastens bei qlg(m – 1) oder Δqlg(m – 1). Die Kastengrenzen werden als gerade ganze Zahlen, wie etwa –8, –6, –4, –2, 0, 2, 4, 6, ..., gewählt. Wenn beispielsweise qlg(m – 1) = 5,174 und Δqlg(m – 1) = –3,768 ist, dann befindet sich qlg(m – 1) in dem Kasten von 4 bis 6 und Δqlg(m – 1) in dem Kasten von –4 bis –2.
  • Das Trainingprogramm geht die gesamte Sequenz von quantisierten Log-Verstärkungen {qlg(m), m = 1, 2, 3, ..., N} durch und bestimmt für jeden Sub-Frame unter m = 3, 4, 5, ..., N, in welche Kästen qlg(m – 1) bzw. Δqlg(m – 1) fallen. Wenn wir die Kästen von qlg(m – 1) längs der X-Achse und die Kästen von Δqlg(m – 1) längs der Y-Achse aufreihen, dann bilden alle besetzten Kästen von qlg(m – 1) und Δqlg(m – 1) zusammen eine zweidimensionale Anordnung von Quadraten in der X-Y-Ebene.
  • Das Trainingprogramm führt im Grunde genommen eine statistische Analyse von Δqlg(m) durch, die anhand eines jeden der besetzten Quadrate in der durch qlg(m – 1) und Δqlg(m – 1) definierten X-Y-Ebene bedingt oder festgelegt wird. Eine einfache Vorgehensweise zur Bestimmung der Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) besteht darin, das bedingte Maximum von Δqlg(m) zu verwenden, das anhand eines jeden besetzten Quadrats in der durch qlg(m – 1) und Δqlg(m – 1) definierten X-Y-Ebene festgelegt wird. Mit anderen Worten, für ein gegebenes besetztes Quadrat in der X-Y-Ebene findet das Trainingprogramm alle Sub-Frames, bei denen qlg und Δqlg in ihreren frühreren Sub-Frames in das gegebene Quadrat in der X-Y-Ebene fallen, wobei unter den Δqlg(m)-Werten dieser gewählten Sub-Frames das Maximum als Schwellenfunktion für dieses spezifische Quadrat in der X-Y-Ebene verwendet wird. Durch Wählen der Schwellenfunktion auf diese Weise wird sichergestellt, dass die Schwellenfunktion, zumindest wenn die Trainingsprachdatei durch den Ziel-Codec codiert wird, niemals überschritten wird, weshalb keine Verschlechterung der Leistung des Codecs bei unbelasteten Kanälen auftritt, wenn diese Trainingdatei codiert wird.
  • Beim effektiven Training, das auf Sprache, Musik und Tönen basiert, hat sich gezeigt, dass bei einer Sub-Frame-Größe von 5 ms ein 16-mal-12-Schwellenwertbereich ausreicht, um im Wesentlichen alle besetzten Quadrate in der X-Y-Ebene abzudecken. Der Bereich der besetzten Kästen beträgt bei qlg(m – 1) zwischen –6 und 26 (ein Gesamtwert von 16 Kästen) und der Bereich der besetzten Kästen bei Δqlg(m – 1) zwischen –8 und 16 (ein Gesamtwert von 12 Kästen). Wenn der Sub-Frame 2,5 ms beträgt, dann würde eine Schwellenwertbereichsgröße von 16 mal 11 ausreichen. Es wird darauf hingewiesen, dass, wenn der Schwellenwert anhand von qlg(m – 1) und qlg(m – 2) festgelegt worden wäre, ein 16-mal-16-Bereich und somit mehr Speicherplatz für den Schwellenwertbereich erforderlich wäre. Dies veranschaulicht den zuvor erwähnten Punkt bezüglich der vorteilhaften Verwendung von T(qlg(m – 1), Δqlg(m – 1)) anstelle von T'(qlg(m – 1), qlg(m – 2)).
  • Obgleich die Verwendung des bedingten Maximums sicherstellt, dass keine Verschlechterung der Leistung des Codec bei unbelasteten Kanälen vorliegt, wenn die Trainingdatei codiert wird, kann das resultierende Bitfehlerverbergungssystem nur etwa ein Drittel der durch Verstärkungsbitfehler verursachten großen Knallgeräusche oder Störungen ermitteln und korrigieren. Die anderen zwei Drittel solcher Knallgeräusche bleiben unentdeckt. Daher stellt das bedingte Maximum keinen guten Kompromiss zwischen der Leistung bei unbelasteten Kanälen und der Leistung bei rauschenden Kanälen dar.
  • Ein besserer Kompromiss kann durch Herabsetzen der Schwellenwerte erreicht werden. Dies wird wie folgt durchgeführt. Für jedes besetzte Quadrat in der X-Y-Ebene sammelt das Trainingprogramm alle Δqlg(m)-Werte der Sub-Frames (mit dem Index m), bei denen qlg(m – 1) und Δqlg(m – 1) in dieses spezifische Quadrat in der X-Y-Ebene fallen. Das Trainingprogramm sortiert dann alle solchen gesammelten Δqlg(m)-Werte für dieses Quadrat. Dann beseitigt (oder disqualifiziert) es den größten ε% solcher gesammelter Δqlg(m)-Werte und nimmt den größten der verbliebenen Δqlg(m)-Werte als Schwellenwert für dieses Quadrat. Zur Vermeidung von gelegentlichen Ausreißern von Δqlg(m)-Werten, die viel größer als der Rest sind, beseitigen wir immer die allergrößten der gesammelten Δqlg(m)-Werte, auch wenn dies bedeutet, mehr als ε% der gesammelten Δqlg(m)-Werte zu beseitigen. Der Wert von ε ist ein Konstruktionsparameter, den wir dazu verwenden können, unterschiedliche Kompromisse zwischen der Leistung bei unbelasteten Kanälen und der Leistung bei rauschenden Kanälen zu erzielen. Empirisch hat sich gezeigt, dass ε = 0,1 einen guten Kompromiss darstellt, da diese Wahl im Wesentlichen alle durch Verstärkungsbitfehler verursachten Knallgeräusche beseitigt und dennoch kaum eine hörbare Verschlechterung der vom Codec ausgegebenen Sprachqualität bewirkt.
  • 5 zeigt ein Beispiel der Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) in einer dreidimensionalen grafischen Darstellung, wobei die X-Y-Ebene durch qlg(m – 1) und Δqlg(m – 1)) definiert wird und die Schwellenwerte längs der Z-Achse dargestellt sind. Die Schwellenfunktion wurde mit ε = 0,1 anhand einer 57-Minuten-Trainingdatei trainiert, die 8 kHz abgetastete unbelastete Sprache, rauschende Sprache, Musik und Netzwerksignalisierungstöne enthält. Die verwendete Sub-Frame-Größe betrug 5 ms. Das heißt, die Log-Verstärkung wird einmal alle 5 ms abgetastet.
  • Die Schwellenfunktion gemäß 5 ist als Beispiel angegeben. Daher ist die vorliegende Erfindung nicht auf diese Funktion beschränkt. Alternative Schwellenfunktionen können innerhalb des Schutzumfangs der Erfindung vorhanden sein. Eine alternative Schwellenfunktion kann beispielsweise dahingehend dynamisch sein, dass sie sich dem Eingangssignalpegel anpasst. Dies lässt sich leicht durch Verändern der Bezeichnung der X-Achse in 5 von "Log-Verstärkung des letzten Sub-Frames" in "Log-Verstärkung des letzten Sub-Frames relativ zum Eingangssignalpegel" erreichen. Die Änderung von einer absoluten Log-Verstärkung in eine relative Log-Verstärkung macht die Schwellenfunktion an den Eingangssignalpegel anpassbar.
  • 6 zeigt den Codierer der bevorzugten Ausführungsform der vorliegenden Erfindung, angewandt auf einen prädiktiven MA-Log-Verstärkungsquantisierer. Dies ist eine nur geringfügig modifizierte Version des herkömmlichen Codierers gemäß 3. Der einzige neu hinzugefügte Block ist der Block 610. Alle Funktionsblöcke arbeiten auf dieselbe Weise wie die mit ähnlichen Bezugszeichen versehenen Blöcke in 3, mit Ausnahme des Verstärkungsprädiktionsfehlerquantisierers (Block 606) und des neuen Blocks 610.
  • Wenn der aktuelle Sub-Frame (mit dem Index m) des Restsignals {e(n)} eingeht, führen die Blöcke 601 bis 608 genau wie die Blöcke 301 bis 308 in 3 ihre normalen Funktionen aus. Die resultierende quantisierte Log-Verstärkung qlg(m) wird an den Block 610 weitergeleitet. Basierend auf qlg(m – 1) und Δqlg(m – 1) oder der Log-Verstärkung und der Veränderung der Log-Verstärkung im letzten Sub-Frame bestimmt der Block 610 die Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)). Er erreicht dies, indem er zunächst bestimmt, in welches Quadrat in der durch qlg(m – 1) und Δqlg(m – 1) definierten X-Y-Ebene die frühere Log-Verstärkung und die Log-Verstärkungsänderung fallen, und dann einen Tabellennachschlag (Tabellen-Look-up) anhand des gespeicherten Schwellenwertbereichs durchführt, um T(qlg(m – 1), Δqlg(m – 1)) zu erhalten. Der Block 610 überprüft dann, ob Δqlg(m) = qlg(m) – qlg(m – 1) > T(qlg(m – 1), Δqlg(m – 1)). Dies kann erreicht werden, indem zunächst Δqlg(m) = qlg(m) – qlg(m – 1) berechnet und dann mit T(qlg(m – 1), Δqlg(m – 1)) verglichen wird oder noch besser (wie später ersichtlich) zunächst ein neuer Schwellenwert F(qlg(m – 1), Δqlg(m – 1)) = qlg(m – 1) + T(qlg(m – 1), Δqlg(m – 1)) berechnet und dann mit qlg(m) verglichen wird. Die zwei Vorgehensweisen sind gleichwertig.
  • Es wird darauf hingewiesen, dass T(qlg(m – 1), Δqlg(m – 1)) ein Schwellenwert für Δqlg(m) ist, während F(qlg(m – 1), Δqlg(m – 1)) ein Schwellenwert für qlg(m) ist. Tatsächlich hätten die Schwellenwerte F(qlg(m – 1), Δqlg(m – 1)) anstelle von T(qlg(m – 1), Δqlg(m – 1)) direkt trainiert und gespeichert werden können. Diese Vorgehensweise hätte die Addition in F(qlg(m – 1,) Δqlg(m – 1)) = qlg(m – 1) + T(qlg(m – 1), Δqlg(m – 1)) während des Verstärkungscodiervorgangs einsparen können. Diese Komplexitätseinsparung ist jedoch vernachlässigbar und die resultierende 3-D-Darstellung des Schwellenwertbereichs F(qlg(m – 1), Δqlg(m – 1)) würde sich deutlich von 5 unterscheiden.
  • Zur Erleichterung der Ausführung ist das Quantisierercodebuch im Block 606 in aufsteigender Ordnung sortiert, wobei der Codebuchindex 0 dem kleinsten Wert und der höchste Codebuchindex dem höchsten Codebuchwert entspricht.
  • Wenn die decodierte Log-Verstärkung größer als der neu berechnete Schwellenwert ist, das heißt, wenn qlg(m) > F(qlg(m – 1), Δqlg(m – 1)), dann signalisiert der Block 610 dem Block 606, den nächsthöchsten Codebuchwert zu verwenden. Das bedeutet, der Verstärkungsindex GI wird um eins reduziert und der nächsthöchste Codebuchwert wird der neue Wert von qlge(m). Die Addierer 607 und 608 führen dann ihre normalen Funktionen aus, um einen neuen und kleineren quantisierten Log-Verstärkungswert qlg(m) zu erhalten. Dann wird dieser kleinere qlg(m) wieder mit F(qlg(m – 1), Δqlg(m – 1)) verglichen. Dieses Verfahren wird so lange wiederholt, bis der Block 606 den ersten Codebuchwert ausgibt, der eine quantisierte Log-Verstärkung qlg(m) bewirkt, die nicht größer als der Schwellenwert F(qlg(m – 1), Δqlg(m – 1)) ist. Dieser Codebuchwert und der entsprechende Verstärkungsindex GI sind die endgültigen Ausgänge des Blocks 606. Die entsprechende quantisierte Log-Verstärkung qlg(m) ist die endgültige zu verwendende Version. Der Block 609 wandelt dann diese quantisierte Log-Verstärkung zur Verwendung im Rest des Codierers des Ziel-Codec in der linearen Domäne in eine quantisierte Erregungsverstärkung um.
  • Mit anderen Worten, das vorstehende iterative Verfahren versucht, den höchsten Verstärkungscodebuchwert zu finden, der qlg(m) ≤ F(qlg(m – 1), Δqlg(m – 1)) erfüllt. Die meiste Zeit ist ein Verstärkungscodebuchwert vorhanden, der diese Bedingung erfüllt. In manchen äußerst seltenen Fällen kann sogar der kleinste Verstärkungscodebuchwert die Bedingung qlg(m) ≤ F(qlg(m – 1), Δqlg(m – 1)) nicht erfüllen. Wenn dies eintritt, verwendet der Block 606 einfach den kleinsten Codebuchwert und GI = 0 als seine Ausgänge.
  • 7 zeigt den Decoder der bevorzugten Ausführungsform der vorliegenden Erfindung, angewandt auf einen prädiktiven MA-Log-Verstärkungsquantisierer. Dies ist wiederum eine modifizierte Version des herkömmlichen Decoders gemäß 4. Die neu hinzugefügten Blöcke sind die Blöcke 710 bis 713. Die Funktionsblöcke 702, 704 und 706 bis 709 arbeiten auf dieselbe Weise wie die mit ähnlichen Bezugszeichen versehenen entsprechenden Blöcke in 4.
  • Die vorgegebene Stellung des Schalters 714 am Anfang des Verstärkungsdecodiervorgangs für jeden Sub-Frame ist die obere Stellung. Die Blöcke 702, 704, 706, 707 und 708 arbeiten normal wie die mit ähnlichen Bezugszeichen versehenen Blöcke in 4, um die erste decodierte Log-Verstärkung qlg(m) zu berechnen. Die Funktion des Blocks 710 ist der von Block 610 in 6 ähnlich. Der Block 710 berechnet F(qlg(m – 1), Δqlg(m – 1)) und vergleicht dann die decodierte Log-Verstärkung qlg(m) mit diesem Schwellenwert. Wenn qlg(m) ≤ F(qlg(m – 1), Δqlg(m – 1)) oder GI = 0, dann signalisiert der Block 710 dem Block 709, diese quantisierte Log-Verstärkung qlg(m) zur Verwendung im Rest des Decoders des Ziel-Codec in der linearen Domäne in die quantisierte Erregungsverstärkung qg(m) umzuwandeln. Die Arbeitsschritte der Blöcke 711 bis 713 werden ausgelassen und der Schalter 714 verbleibt in der oberen Stellung. Der Verstärkungsdecodiervorgang für den aktuellen Sub-Frame ist abgeschlossen.
  • Wenn andererseits qlg(m) > F(qlg(m – 1), Δqlg(m – 1)) und GI > 0, dann signalisiert der Block 710 dem Block 711, einen Log-Verstärkungswert qlg'(m) für den aktuellen Sub-Frame anhand der decodierten Log-Verstärkungen früherer Sub-Frames qlg(m – i), i ≥ 1, zu extrapolieren. Die Extrapolation der Log-Verstärkung kann auf mannigfaltige Art und Weise durchgeführt werden. Die einfachste Möglichkeit, die bei der bevorzugten Ausführungsform verwendet wird, besteht darin, die decodierte Log-Verstärkung des letzten Sub-Frames einfach zu kopieren. Das heißt, setzte qlg'(m) gleich qlg(m – 1). Der Block 710 signalisiert dem Block 709 außerdem, diese extrapolierte Log-Verstärkung qlg'(m) zur Verwendung im Rest des Decoders des Ziel-Codec in der linearen Domäne in die quantisierte Erregungsverstärkung qg(m) umzuwandeln. Die Addierer 712 und 713 subtrahieren dann lgmean (Langzeitmittelwert der Log-Verstärkungen) bzw. elg(m) (geschätzte Log-Verstärkung vom MA-Log-Verstärkungsprädiktor) von qlg'(m). Der Schalter 714 wird in die untere Stellung bewegt, um es dem resultierenden Wert, qlge'(m) = qlg'(m) – lgmean – elg(m), zu ermöglichen, den Speicher des MA-Log-Verstärkungsprädiktors zu aktualisieren. Danach bewegt sich der Schalter 714 zurück in seine vorgegebene obere Stellung in Vorbereitung für die Verstärkungsdecodierung des nächsten Sub-Frames. Dies schließt den Verstärkungdecodiervorgang für den aktuellen Sub-Frame ab, falls qlg(m) > F(qlg(m – 1), Δqlg(m – 1)) und GI > 0.
  • Die bevorzugte Ausführungsform eines prädiktiven MA-Log-Verstärkungsquantisierers, wie vorstehend beschrieben, wurde in einem Zwei-Stufen-Rauschrückkopplungs-Codec ausgeführt, wie in der US-Patentanmeldung Nr. 09/722,077 beschrieben. Bei der Wahl von ε = 0,1, ergab das resultierende System eine im Wesentlichen identische wahrgenommene Sprachqualität wie der Original-Codec ohne dieses Verstärkungsbitfehlerverbergungsschema, wenn keine Bitfehler vorhanden waren. Andererseits erzeugte der Original-Codec ohne Verstärkungsbitfehlerverbergung, wenn der Verstärkungscodebuchindex 0,1 % Bitfehlern ausgesetzt war, zahlreiche hörbare große Knallgeräusche und Störungen infolge von Verstärkungsbitfehlern, während dieses vorstehend beschriebene Verstärkungsbitfehlerverbergungsschema dazu in der Lage war, im Wesentlichen alle solchen großen Knallgeräusche und Störungen zu beseitigen.
  • Das Verringern des dynamischen Bereichs der Verstärkungscodebucheinträge kann ebenfalls solche großen Knallgeräusche und Störungen beseitigen. Es hat sich jedoch gezeigt, dass zur vollständigen Beseitigung solcher großen Knallgeräusche und Störungen der dynamische Bereich des Verstärkungscodebuchs so stark verringert werden musste, dass die Leistung des Codecs bei unbelasteten Kanälen in einem erheblich größeren Ausmaß verschlechtert wurde als bei dem vorstehend beschriebenen Verstärkungsbitfehlerverbergungsschema. Daher ist die vorliegende Erfindung durch Nutzen der Redundanz natürlicher Sprache dazu in der Lage, einen weit besseren Kompromiss zwischen der Leistung bei unbelasteten Kanälen und bei rauschenden Kanälen zu erzielen.
  • Bei der vorstehenden Beschreibung der bevorzugten Ausführungsform wird allgemein davon ausgegangen, dass die Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) eine konstante Funktion der quantisierten Log-Verstärkung qlg(m – 1) ist. In der Praxis wäre eine solche Schwellenfunktion jedoch nicht ganz optimal, wenn der Eingangssignalpegel erheblich von dem beim Trainieren oder Lernen der Schwellenfunktion verwendeten Signalpegel abweicht.
  • Betrachten wir das folgende Beispiel. Die meisten Sprach-Codecs sind für einen Eingangssignalpegel von –26 dBov optimiert, was bedeutet, dass der Langzeitmittelwert der Signalgröße in den aktiven Sprachsegmenten des Eingangssignals 26 dB unter dem Punkt digitaler Überlastung (overload) (der höchsten Größe, die durch die digitale Darstellung darstellbar ist) liegt. Nehmen wir an, dass die Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) mit einer Trainingdatei trainiert wird, die einen durchschnittlichen Eingangssignalpegel von –26 dBov hat. Nehmen wir weiterhin an, dass das Eingangssignal bei der effektiven Codierung einen durchschnittlichen Eingangssignalpegel von –16 dBov hat. Dann wäre die quantisierte Log-Verstärkung qlg(m – 1) im Durchschnitt 10 dB höher als die quantisierte Log-Verstärkung, die während des Lernens der Schwellenfunktion erhalten wird.
  • Daher ist aus 5 zu ersehen, dass die Schwellenfunktion kleiner ist als sie sein sollte, was zu einer zu starken Beschränkung der zulässigen oberen Log-Verstärkungsänderungen führt. Dies würde die Leistung des Codec bei unbelasteten Kanälen verschlechtern. Wenn das tatsächliche Eingangssignal andererseits einen durchschnittlichen Eingangssignalpegel von –36 dBov hat, wäre eine zu geringe Verstärkungsbeschränkung vorhanden, was bei fehlerhaften Verstärkungsbits zu deutlich mehr großen Knallgeräuschen führt. In jedem Fall ist eine konstante Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) nicht optimal, wenn der Eingangssignalpegel erheblich von dem Signalpegel abweicht, der beim Lernen der Schwellenfunktion verwendet wird.
  • Das vorstehend beschriebene erfindungsgemäße Verstärkungsbitfehlerverbergungsschema kann gegenüber Eingangssignalpegelschwankungen robuster gemacht werden, indem die Schwellenfunktion T(qlg(m – 1), Δqlg(m – 1)) adaptiv zum Eingangssignalpegel ausgeführt wird. Eine einfache Möglichkeit, dies zu erreichen ist vorstehend dargelegt. In diesem Abschnitt ist eine genauere Beschreibung einer bevorzugten Ausführungsform angegeben, die eine solche pegeladaptive Schwellenfunktion einsetzt. Ob eine solche pegeladaptive Schwellenfunktion verwendet werden sollte, ist konstruktionsabhängig. Das Verstärkungsbitfehlerverbergungsschema, welches ebenfalls vorstehend beschrieben ist (mit einer nicht adaptiven Schwellenfunktion), ist einfach auszuführen, erbringt jedoch eine nicht ganz optimale Leistung, wenn der Eingangssignalpegel erheblich vom Nenneingangspegel abweicht. Bei einer etwas erhöhten Komplexität erzielen die pegeladaptive Schwellenfunktion und das entsprechende Verstärkungsbitfehlerverbergungsschema bei Eingangssignalpegeln, die erheblich höher oder niedriger als der Nenneingangspegel sind, eine bessere Leistung.
  • Der Schlüssel zur Ausführung der Schwellenfunktion adaptiv zum Eingangssignalpegel besteht darin, die Schwellenfunktion nicht von der absoluten quantisierten Log- Verstärkung qlg(m – 1) abhängig zu machen, sondern von der quantisierten Log-Verstärkung relativ zu dem (oder normiert durch den) Eingangssignalpegel, oder qlg'(m – 1) = qlg(m – 1) – lvl(m – 1), wobei lvl(m – 1) der geschätzte Eingangssignalpegel, ausgedrückt in der logarithmischen Domäne, ist. Bei einer solchen Veränderung wird die X-Achse in 5 zur "Log Verstärkung des letzten Sub-Frames relativ zum Eingangssignalpegel", wodurch die Schwellenfunktion T(qlg'(m – 1), Δqlg(m – 1)) implizit adaptiv zum Eingangssignal wird, auch wenn die gespeicherten Einträge der Schwellenfunktionsmatrix dennoch Konstanten sind.
  • Das Lernen der Schwellenfunktion T(qlg'(m – 1), Δqlg(m – 1)) kann auf mannigfaltige Art und Weise durchgeführt werden. Eine Möglichkeit besteht darin, die Trainingsignalsegmente unterschiedlicher Signalpegel zu einer einzelnen Trainingdatei zu verknüpfen und dann dem obigen Verfahren zu folgen. Eine andere Möglichkeit besteht darin, mehrere Trainingdateien zu verwenden, die jeweils einen gegebenen Signalpegel aufweisen. Eine Schwellenmatrix wird für jede der mehreren Trainingdateien erhalten, wobei die resultierenden Schwellenmatrizes dann gemittelt werden, um eine einzelne Schwellenmatrix zu erhalten. Obgleich die resultierende Schwellenmatrix nicht mit der in 5 gezeigten identisch ist, hat sie eine ähnliche Gestalt. Ein guter Kompromiss zwischen der Leistung bei unbelasteten Kanälen und bei rauschenden Kanälen wird durch Beseitigen von 0,02 % (d.h. ε = 0,02) der größten Verstärkungsänderungen in jedem Kasten als Ausreißer erreicht.
  • Es wird darauf hingewiesen, dass der einzige Unterschied zwischen der pegeladaptiven Version und der nicht adaptiven Version des Verstärkungsbitfehlerverbergungsschemas in der Art und Weise besteht, in der der Tabellennachschlag der Schwellenfunktion durchgeführt wird. Bei dem nicht adaptiven System wird die absolute quantisierte Log-Verstärkung qlg(m – 1) als X-Koordinate verwendet, wenn der zum Tabellennachschlag zu verwendende Kasten (oder das Quadrat) in der X-Y-Ebene bestimmt wird, während bei dem pegeladaptiven System stattdessen die normierte Log-Verstärkung qlg'(m – 1) = qlg(m – 1) – lvl(m – 1) als X-Koordinate verwendet wird. Alle anderen Verstärkungscodier- und -decodierverfahren bleiben unverändert.
  • Ein Schlüsselelement bei der pegeladaptiven Schwellenfunktion ist die Schätzung des Eingangssignalpegels lvl(m – 1). Da der Tabellennachschlag der Schwellenfunktion T(qlg'(m – 1), Δqlg(m – 1)) sowohl im Codierer als auch im Decoder durchgeführt werden muss, muss der geschätzte Eingangssignalpegel lvl(m – 1) ebenfalls sowohl im Codierer als auch im Decoder berechnet werden. Daher sollte der Eingangssig nalpegel anhand der Signale oder Parameter geschätzt werden, die sowohl im Codierer als auch im Decoder zur Verfügung stehen.
  • Bei der bevorzugten Ausführungsform der vorliegenden Erfindung wird eine einfache und dennoch effiziente Schätzfunktion des Eingangssignalpegels verwendet. Diese Signalpegelschätzfunktion ist nachfolgend beschrieben. Ihre Schätzung des Eingangssignalpegels wird vollständig durch die quantisiere Log-Verstärkung qlg(m – 1) getrieben. Das grundlegende Konzept dieser Pegelschätzfunktion ist wie folgt. Die Schätzfunktion hält ein laufendes Maximum lmax, ein laufendes Minimum lmin und einen laufenden Mittelwert lmean für die Log-Verstärkung aufrecht. Wenn die quantisierte Log-Verstärkung qlg(m – 1) größer als das laufende Maximum lmax ist, wird sie zum neuen laufenden Maximum, ansonsten wird das laufende Maximum lmax in Richtung des laufenden Mittelwerts lmean exponentiell abgeschwächt. Ebenso wird sie, wenn die quantisierte Log-Verstärkung qlg(m – 1) kleiner als das laufende Minimum lmin ist, zum neuen laufenden Minimum lmin, ansonsten wird das laufende Minimum lman in Richtung des laufenden Mittelwerts lmean exponentiell abgeschwächt. Nachdem das laufende Maximum lmax und das laufende Minimum lmin bei jedem Sub-Frame aktualisiert worden sind, wird der Mittelwert dieser zwei Größen, (lmax + lmin)/2, durch ein Allpolfilter erster Ordnung geleitet, um den laufenden Mittelwert lmean zu aktualisieren. Mit anderen Worten, der laufende Mittelwert lmean ist eine geglättete Version von (lmax + lmin)/2, des Mittelwerts des laufenden Maximums und des laufenden Minimums bei jedem Sub-Frame.
  • Sobald lmean und lmax bei jedem Sub-Frame aktualisiert worden sind, wird ein Schwellenwert lth als lth = lmean + 0,2 (lmax – lmean) berechnet. Wenn die quantisierte Log-Verstärkung qlg(m – 1) größer als dieser Schwellenwert lth ist, dann wird qlg(m – 1) durch ein Allpolfilter zweiter Ordnung geleitet, um einen aktualisierten geschätzten Ausgangssignalpegel lvl(m – 1) zu erhalten, ansonsten wird an dem geschätzten Signalpegel nichts verändert, d.h. der geschätzte Signalpegel des früheren Sub-Frames wird als Ausgang der Signalpegelschätzfunktion verwendet.
  • Eine genaue Beschreibung dieses Signalpegelschätzfunktionsalgorithmus ist nachfolgend angegeben. Es wird darauf hingewiesen, dass alle Log-Verstärkungen als Basis-2-Logarithmus der durchschnittlichen Signalstärke pro Abtastung für jeden Sub-Frame definiert sind. Des Weiteren wird in der folgenden Beschreibung der Index m – 1 in qlg(m – 1) und lvl(m – 1) aus Gründen der Einfachheit weggelassen.
  • Bei der Codec-Initialisierung werden die zugehörigen Variablen wie folgt initialisiert: lmax = –100, lmin = 100, lmean = 12,5, lvl = 17, x = 17, wobei x eine Zwischenvariable ist, die dazu verwendet wird, den Zustand des Glättungsfilters zweiter Ordnung für den geschätzten Ausgangssignalpegel zu erhalten. Bei jedem Sub-Frame aktualisiert der Codierer oder der Decoder den geschätzten Ausgangssignalpegel lvl wie folgt. Es wird darauf hingewiesen, dass lmax, lmin, lmean, x und lvl alle sowohl als Eingangsargumente als auch als Ausgangsargumente der Signalpegelschätzfunktion dienen, die einmal pro Sub-Frame aufgerufen wird.
  • Signalpegelschätzfunktionsalgorithmus:
    • 1. Wenn qlg > lmax, setze lmax = qig, ansonsten setze lmax ← lmean + (4095/4096) (lmax – lmean).
    • 2. Wenn qig < lmin, setze lmin = qlg, ansonsten setze lmin ← lmean + (4095/4096 (lmin – lmean).
    • 3. Aktualisiere lmean ← (511/512) lmean + (1/512) [(lmax + lmin)/2].
    • 4. Berechne lth = lmean + 0,2 (lmax – lmean).
    • 4. Wenn qlg > lth, aktualisiere x und lvl als x ← (255/256) x + (1/256) qlg, und lvl ← (255/256) lvl + (1/256) x, ansonsten belasse x und lvl unverändert (behalte ihre jeweiligen Werte aus dem früheren Sub-Frame).
  • Der Ausgang dieser Signalpegelschätzfunktion ist eine sehr glatte und langsam variierende Schätzung des Signalpegels, lvl, die hauptsächlich von dem Langzeitmittelwert des Signalpegels während des aktiven Abschnitts des Signals abhängig ist (das heißt, der Ruheabschnitt wird bei der Pegelschätzung verworfen).
  • Es wird darauf hingewiesen, dass alle spezifischen vorstehend angegebenen Parameterwerte nur Beispielswerte sind und die vorliegende Erfindung in keiner Weise durch diese spezifischen Parameterwerte eingeschränkt wird. Es wird ebenfalls darauf hingewiesen, dass diese Signalpegelschätzfunktion nicht nur bei dem erfindungsgemäßen Verstärkungsbitfehlerverbergungsschema verwendet werden kann, sondern auch bei anderen Anwendungen, bei denen ein geschätzter Langzeitsignalpegel nützlich ist. Diese anderen Anwendungen umfassen die Sprechpausenerkennung (VAD – Voice Activity Detector) und Sprachsignalklassifizierung bei der Sprachcodierung mit variabler Rate oder Frame-Löschungsverbergung, sind jedoch nicht darauf beschränkt.
  • Bei einem Vergleich mit der in den vorhergehenden Abschnitten beschriebenen nicht adaptiven Version hat sich gezeigt, dass die in diesem Abschnitt beschriebene pegeladaptive Version des Verstärkungsbitfehlerverbergungsschemas über einen weiten Bereich von Eingangssignalpegeln eine beständigere Leistung bei unbelasteten Kanälen und bei rauschenden Kanälen erzielt. Im Besonderen verbessert die pegeladaptive Version bei Signalen hohen Pegels die Leistung bei unbelasteten Kanälen und verbessert gleichzeitig bei Signalen niedrigen Pegels die Leistung bei rauschenden Kanälen.
  • Die folgende Beschreibung eines Universal-Computersystems wird aus Gründen der Vollständigkeit angegeben. Die vorliegende Erfindung kann in Hardware oder als Kombination aus Software und Hardware ausgeführt werden. Folglich kann die Erfindung in der Umgebung eines Computersystems oder eines anderen Verarbeitungssystems implementiert werden. Ein Beispiel eines solchen Computersystems 800 ist in 8 gezeigt. Bei der vorliegenden Erfindung können sämtliche der beispielsweise in den 14 und 67 dargestellten Elemente in einem oder mehreren unterschiedlichen Computersystemen 800 arbeiten, um die verschiedenen erfindungsgemäßen Verfahren auszuführen. Das Computersystem 800 umfasst einen oder mehrere Prozessoren, wie etwa den Prozessor 804. Der Prozessor 804 kann ein digitaler Spezial- oder Universal-Signalprozessor sein. Der Prozessor 804 ist mit einer Kommunikationsinfrastruktur 806 (z.B. ein Bus oder Netzwerk) verbunden. Verschiedene Software-Implementierungen sind in Bezug auf dieses beispielhafte Computersystem beschrieben. Nach einem Studium dieser Beschreibung ist es für Fachleute auf dem relevanten Gebiet ersichtlich, wie die Erfindung unter Verwendung anderer Computersysteme und/oder Computerarchitekturen umzusetzen ist.
  • Das Computersystem 800 umfasst außerdem einen Hauptspeicher 808, bevorzugt einen Direktzugriffsspeicher (RAM), und kann auch einen sekundären Speicher 810 umfassen. Der sekundäre Speicher 810 kann beispielsweise ein Festplattenlaufwerk 812 und/oder ein Wechselspeicherlaufwerk 814 umfassen, das ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein optisches Plattenlaufwerk, etc. repräsentiert. Das Wechselspeicherlaufwerk 814 liest eine Wechselspeichereinheit 818 und/oder schreibt in diese auf wohlbekannte Art und Weise. Die Wechselspeichereinheit 818 repräsentiert eine Diskette, ein Magnetband, eine optische Platte, etc., die/das durch das Wechselspeicherlaufwerk 814 gelesen oder beschrieben wird. Es versteht sich, dass die Wechselspeichereinheit 818 ein computernutzbares Speichermedium umfasst, in dem Computersoftware und/oder Daten gespeichert sind.
  • Bei alternativen Ausführungen kann der sekundäre Speicher 810 andere ähnliche Einrichtungen umfassen, damit Computerprogramme oder andere Befehle in das Computersystem 800 geladen werden können. Solche Einrichtungen können beispielsweise eine Wechselspeichereinheit 822 und eine Schnittstelle 820 umfassen. Beispiele für solche Einrichtungen können eine Programmkassette und Kassettenschnittstelle (wie man sie etwa bei Videospielgeräten findet), einen Wechselspeicherchip (wie etwa ein EPROM oder PROM) und eine zugehörige Buchse sowie andere Wechselspeichereinheiten 822 und Schnittstellen 820 umfassen, die es ermöglichen, Software und Daten von der Wechselspeichereinheit 822 an ein Computersystem 800 zu übertragen.
  • Das Computersystem 800 kann außerdem eine Kommunikationsschnittstelle 824 umfassen. Die Kommunikationsschnittstelle 824 ermöglicht es, Software und Daten zwischen dem Computersystem 800 und externen Einrichtungen zu übertragen. Beispiele für eine Kommunikationsschnittstelle 824 können ein Modem, eine Netzwerkschnittstelle (wie etwa eine Ethernet-Karte), einen Kommunikationsport, eine(n) PCMCIA-Schlitz und -Karte, etc. umfassen. Über die Kommunikationsschnittstelle 824 übertragene Software und Daten haben die Form von Signalen 828, die elektronische, elektromagnetische, optische oder andere Signale sein können, die von der Kommunikationsschnittstelle 824 empfangen werden können. Diese Signale 828 werden der Kommunikationsschnittstelle 824 über einen Kommunikationspfad 826 zugeführt. Der Kommunikationspfad 826 überträgt die Signale 828 und kann unter Verwendung eines Drahtes oder Kabels, einer Glasfaser, einer Telefonleitung, einer zellularen Telefonverbindung, einer HF-Verbindung und anderer Kommunikationskanäle ausgeführt werden.
  • In diesem Dokument werden die Begriffe "Computerprogrammmedium" und "computerlesbares Medium" so verwendet, dass sie sich allgemein auf Medien beziehen, wie etwa das Wechselspeicherlaufwerk 814, eine in das Festplattenlaufwerk 812 installierte Festplatte und die Signale 828. Diese Computerprogrammprodukte sind Einrichtungen zum Zuführen von Software an das Computersystem 800.
  • Computerprogramme (auch Computersteuerlogik genannt) werden im Hauptspeicher 808 und/oder sekundären Speicher 810 gespeichert. Computerprogramme können auch über die Kommunikationsschnittstelle 824 empfangen werden. Solche Computerprogramme ermöglichen es dem Computersystem 800, wenn sie ausgeführt werden, die vorliegende Erfindung, wie hierin besprochen, auszuführen. Im Besonderen ermöglichen es die Computerprogramme, wenn sie ausgeführt werden, dem Prozessor 804, die erfindungsgemäßen Verfahren auszuführen. Demgemäß stellen solche Computerprogramme Steuereinrichtungen des Computersystems 800 dar.
  • Bei den Ausführungsformen der Erfindung können beispielsweise die von den Codierer- und/oder Decoder-Signalverarbeitungsblöcken durchgeführten Prozesse/Verfahren durch eine Computersteuerlogik ausgeführt werden. Wenn die Erfindung unter Verwendung von Software ausgeführt wird, kann die Software in einem Computerprogrammprodukt gespeichert und unter Verwendung des Wechselspeicherlaufwerks 814, des Festplattenlaufwerks 812 oder der Kommunikationsschnittstelle 824 in das Computersystem 800 geladen werden.
  • Bei einer weiteren Ausführungsform werden die Merkmale der Erfindung hauptsächlich in Hardware ausgeführt, und zwar beispielsweise unter Verwendung von Hardwarekomponenten, wie etwa anwendungsspezifischen integrierten Schaltungen (ASICs) und Gate-Arrays. Ausführungen einer Hardware-Zustandsmaschine zur Durchführung der hierin beschriebenen Funktionen sind für Fachleute auf dem oder den relevanten Gebieten ebenfalls ersichtlich.
  • Die vorstehende Beschreibung der bevorzugten Ausführungsformen dient der Veranschaulichung und Beschreibung, soll jedoch nicht erschöpfend sein oder die Erfindung auf die offenbarte genaue Ausgestaltung einschränken. Modifikationen und Variationen sind in Übereinstimmung mit den vorstehenden Lehren möglich oder gehen aus der Umsetzung der Erfindung in die Praxis hervor.

Claims (10)

  1. Verfahren zum Verbergen von Bitfehlern in einem Signal, das umfasst: – Codieren eines Signalparameters gemäß einem Satz in einer Sequenz von Signalparameterwerten festgelegter vordefinierter Bedingungen, die dem Betrieb eines Signalparameterquantisierers auferlegt werden, – Decodieren des codierten Signalparameters, – Vergleichen des decodierten Signalparameters mit dem Bedingungssatz, und – Erklären des decodierten Signalparameters für ungültig, wenn gegen den Bedingungssatz verstoßen wird.
  2. Verfahren zum Verbergen von Bitfehlern in einem Signal nach Anspruch 1, das umfasst: (a) Quantisieren des Signals mit einem Quantisierungswert, (b) Bestimmen, ob das quantisierte Signal einen Bedingungssatz erfüllt, (c) Ersetzen des Quantisierungswerts durch einen Ersatzwert, wenn das quantisierte Signal den Bedingungssatz nicht erfüllt, wobei der Ersetzungsschritt umfasst: (i) Suchen nach dem Ersatzwert in einem Satz geeigneter Werte, so dass der Ersatzwert den Bedingungssatz erfüllt, und (ii) Wählen eines Ausweichlösungswerts als Ersatzwert, wenn der Satz geeigneter Werte keinen Wert umfasst, der den Bedingungssatz erfüllt, (d) Empfangen des Quantisierungswerts an einem Decoder, und (e) Ersetzen des empfangenen Quantisierungswerts durch eine geeignete lokale Schätzung, wenn der empfangene Quantisierungswert den Bedingungssatz nicht erfüllt und kein Ausweichlösungswert ist.
  3. Verfahren zum Ermitteln von Bitfehlern in einem Codec, wobei das Verfahren umfasst: – Codieren von Signalparametern, um ein codiertes Signal mit spezifischen Parametern zu bilden, – Vergleichen der spezifischen Parameter mit einem Satz vordefinierter Signalparameterbedingungen, die in einer Sequenz von Signalparameterwerten festgelegt sind, und – Modifizieren des codierten Signals, wenn ausgewählte der spezifischen Parameter gegen die Bedingungen verstoßen.
  4. Verfahren nach Anspruch 3, das den Schritt des Codierens eines Signals in einem Codec umfasst, der einen Quantisierer und eine Schwellenwertvergleichseinrichtung umfasst, die mit dem Quantisierer verbunden ist, wobei der Codec dafür konfiguriert ist, ein Restsignal e(n) zu empfangen, das eine Mehrzahl von Sub-Frames umfasst, und daraus einen Log-Verstärkungsdurchschnittssignalwert lgmean, einen Log-Verstärkungsvorhersagefehlersignalwert lge(m), einen vorhergesagten Log-Verstärkungssignalwert elg(m) und einen decodierten Log-Verstärkungssignalwert qlg(m) zu erzeugen, wobei jeder der Signalwerte einem aktuellen Sub-Frame zugeordnet ist, und wobei das Verfahren ferner die Schritte umfasst: (a) Empfangen des Log-Verstärkungsvorhersagefehlersignalwerts lge(m) im Quantisierer und Erzeugen eines quantisierten Log-Verstärkungssignalwerts qlge(m) daraus, – wobei der decodierte Log-Verstärkungssignalwert qlg(m) von dem quantisierten Log-Verstärkungssignalwert qlge(m) abgeleitet wird, (b) Empfangen des decodierten Log-Verstärkungssignalwerts qlg(m) als Eingang der Schwellenwertvergleichseinrichtung, (c) Bestimmen einer Log-Verstärkungsschwellenwertfunktion T(qlg(m – 1), Δqlg(m – 1)) basierend auf dem decodierten Log-Verstärkungssignalwert qlg(m) und einer Veränderung der Log-Verstärkung in einem früheren Sub-Frame, (d) Vergleichen der Schwellenwertfunktion T(qlg(m – 1), Δqlg(m – 1)) mit dem decodierten Log-Verstärkungssignalwert qlg(m), um ein Vergleichsergebnis zu erzeugen, und (e) Zuführen des Vergleichsergebnisses zum Quantisierer.
  5. Verfahren zum Entwickeln von Bedingungen zum Ermitteln von Bitfehlern, wenn Trainings-Datensegmente in einem Codec verarbeitet werden, wobei das Verfahren umfasst: – Schätzen eines Bereichs von den Trainings-Datensegmenten zugeordneten Verstärkungswerten, wobei der Bereich Verstärkungswerte in Kästen aufgeteilt wird, – Codieren der Trainings-Datensegmente und Bestimmen eines Verstärkungswerts eines jeden der codierten Segmente, und – Zuordnen des Verstärkungswerts eines jeden der codierten Segmente zu einem entsprechenden der Kästen, – Überprüfen des Verstärkungswerts späterer Trainings-Datensegmente im Hinblick auf jedes des einen oder der mehreren codierten Segmente, wenn der Verstärkungswert eines oder mehrerer der codierten Segmente in einen bestimmten der Kästen fällt.
  6. Verfahren nach Anspruch 5, das den Schritt des Lernens (Training) einer Schwellenwertfunktion T(qlg(m – 1), Δqlg(m – 1) umfasst, die bei einer Codec-Bitfehlerermittlungstechnik verwendet wird, wobei die Schwellenwertfunktion auf einer ersten Trainings-Datei mit N Signalsegmenten basiert, wobei das Verfahren ferner umfasst: – Codieren der ersten Trainings-Datei, – Bestimmen der Verstärkungswerte qlg(m) eines jeden der N Signalsegmente in der codierten ersten Trainings-Datei, wobei die Verstärkungswerte einen Bereich bilden und der Bereich in Kästen aufgeteilt wird, – Speichern der bestimmten Verstärkungswerte in einer zweiten Trainings-Datei, und – Zuordnen eines jeden der spezifischen Verstärkungswerte und Verstärkungsdifferenzen in der Sequenz qlg(m – 1) und Δqlg(m – 1) zu einem entsprechenden der Kästen.
  7. Verfahren zum Ermitteln von Bitfehlern in einem Signal mit wenigstens einem aktuellen Signalsegment und einem früheren Signalsegment, das einen Verstärkungswert qlg(m – 1) aufweist und dem aktuellen Signalsegment unmittelbar vorausgeht, wobei das Verfahren umfasst: – Bestimmen eines Verstärkungswerts qlg(m) des aktuellen Signalsegments, – Bestimmen einer Differenz zwischen dem Verstärkungswert des aktuellen Signalsegments und des früheren Signalsegments, und – Bestimmen, ob die Differenz einen Schwellenwert übersteigt.
  8. Verfahren nach Anspruch 7, das den Schritt des Decodierens eines Signals in einem Codec umfasst, der eine Schwellenwertvergleichseinrichtung aufweist, die dafür konfiguriert ist, einem Log-Verstärkungsextrapolierer einen Ausgang zuzuführen, wobei der Codec dafür konfiguriert ist, (i) ein Signal zu empfangen, das eine Mehrzahl an Sub-Frames umfasst und einen Verstärkungscodebuchindexwert (GI) für einen aktuellen Sub-Frame in der Mehrzahl an Sub-Frames aufweist, (ii) von dem aktuellen Sub-Frame einen decodierten ersten Log-Verstärkungssignalwert qlg(m) abzuleiten, und (iii) den decodierten Log-Verstärkungssignalwert qlg(m) dem Extrapolierer und der Schwellenwertvergleichseinrichtung zuzuführen, wobei das Verfahren ferner umfasst: – Berechnen eines Schwellenwerts F(qlg(m – 1), Δqlg(m – 1)) in der Schwellenwertvergleichseinrichtung, – Vergleichen des Schwellenwerts F(qlg(m – 1), Δqlg(m – 1)) mit dem ersten decodierten Log-Verstärkungssignalwert qlg(m), und – Wählen des ersten decodierten Log-Verstärkungssignalwerts qlg(m) als endgültigen decodierten Log-Verstärkungssignalwert qg(m), wenn (i) der decodierte Log-Verstärkungssignalwert qlg(m) ≤ der Schwellenwert F(qlg(m – 1), Δqlg(m – 1)) ist, oder (ii) der Verstärkungscodebuchindexwert (GI) null beträgt.
  9. Computerlesbares Medium, das eine oder mehrere Sequenzen eines oder mehrerer Befehle zur Ausführung durch einen oder mehrere Prozessoren überträgt, um ein Verfahren zum Verbergen von Bitfehlern in einem Signal durchzuführen, wobei die Befehle, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren die Schritte durchführen: – Codieren eines Signalparameters gemäß einem Satz in einer Sequenz von Signalparameterwerten festgelegter vordefinierter Bedingungen, die dem Betrieb eines Signalparameterquantisierers auferlegt werden, – Decodieren des codierten Signalparameters, – Vergleichen des decodierten Signalparameters mit dem Bedingungssatz, und – Erklären des decodierten Signalparameters für ungültig, wenn gegen den Bedingungssatz verstoßen wird.
  10. Computerlesbares Medium, das eine oder mehrere Sequenzen eines oder mehrerer Befehle zur Ausführung durch einen oder mehrere Prozessoren überträgt, um ein Verfahren zum Ermitteln von Bitfehlern in einem Codec durchzuführen, wobei die Befehle, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren die Schritte durchführen: – Anwenden von Signalparameterbedingungen, die in einer Sequenz von Signalparameterwerten festgelegt sind, – Codieren von Signalparametern, um ein codiertes Signal mit spezifischen Parametern zu bilden, – Vergleichen der spezifischen Parameter mit den Parameterbedingungen, und – Modifizieren des codierten Signals, wenn ausgewählte der spezifischen Parameter gegen die Bedingungen verstoßen.
DE60222445T 2001-08-17 2002-08-19 Verfahren zum verbergen von bitfehlern für die sprachcodierung Expired - Lifetime DE60222445T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US31279401P 2001-08-17 2001-08-17
US312794P 2001-08-17
US34437802P 2002-01-04 2002-01-04
US344378P 2002-01-04
PCT/US2002/026315 WO2003017255A1 (en) 2001-08-17 2002-08-19 Bit error concealment methods for speech coding

Publications (2)

Publication Number Publication Date
DE60222445D1 DE60222445D1 (de) 2007-10-25
DE60222445T2 true DE60222445T2 (de) 2008-06-12

Family

ID=26978541

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60222445T Expired - Lifetime DE60222445T2 (de) 2001-08-17 2002-08-19 Verfahren zum verbergen von bitfehlern für die sprachcodierung
DE60217522T Expired - Lifetime DE60217522T2 (de) 2001-08-17 2002-08-19 Verbessertes verfahren zur verschleierung von bitfehlern bei der sprachcodierung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60217522T Expired - Lifetime DE60217522T2 (de) 2001-08-17 2002-08-19 Verbessertes verfahren zur verschleierung von bitfehlern bei der sprachcodierung

Country Status (4)

Country Link
US (3) US6885988B2 (de)
EP (2) EP1428206B1 (de)
DE (2) DE60222445T2 (de)
WO (2) WO2003017555A2 (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621852A (en) * 1993-12-14 1997-04-15 Interdigital Technology Corporation Efficient codebook structure for code excited linear prediction coding
DE60222445T2 (de) * 2001-08-17 2008-06-12 Broadcom Corp., Irvine Verfahren zum verbergen von bitfehlern für die sprachcodierung
US6751587B2 (en) * 2002-01-04 2004-06-15 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
US7680216B2 (en) * 2002-07-01 2010-03-16 Texas Instruments Incorporated Adaptive thresholds for high speed downlink shared control channel (HS-SCCH) (part I) detection schemes
US20060093031A1 (en) * 2002-07-31 2006-05-04 Koninkijke Phillips Electronics N.V. Method and apparatus for performing multiple description motion compensation using hybrid predictive codes
CA2415105A1 (en) * 2002-12-24 2004-06-24 Voiceage Corporation A method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
US7303698B2 (en) 2003-11-19 2007-12-04 E.I. Du Pont De Nemours And Company Thick film conductor case compositions for LTCC tape
US7301482B1 (en) 2003-12-12 2007-11-27 Marvell International Ltd. Circuits, architectures, systems, methods, algorithms and software for conditional modulation coding
WO2005086138A1 (ja) * 2004-03-05 2005-09-15 Matsushita Electric Industrial Co., Ltd. エラー隠蔽装置およびエラー隠蔽方法
JP2005277549A (ja) * 2004-03-23 2005-10-06 Nec Corp 移動端末、移動端末による受信判定方法
ATE352138T1 (de) * 2004-05-28 2007-02-15 Cit Alcatel Anpassungsverfahren für ein mehrraten-sprach- codec
EP1638337A1 (de) 2004-09-16 2006-03-22 STMicroelectronics S.r.l. Methode, System und Computerprogramm-Produkt für die mehrfachbeschreibende Codierung
US7731812B2 (en) 2004-10-19 2010-06-08 E.I. Du Pont De Nemours And Company Thick film conductor case compositions for LTCC tape
CN102611892B (zh) 2006-03-16 2014-10-08 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
US8335684B2 (en) * 2006-07-12 2012-12-18 Broadcom Corporation Interchangeable noise feedback coding and code excited linear prediction encoders
US9454974B2 (en) * 2006-07-31 2016-09-27 Qualcomm Incorporated Systems, methods, and apparatus for gain factor limiting
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
KR100862662B1 (ko) 2006-11-28 2008-10-10 삼성전자주식회사 프레임 오류 은닉 방법 및 장치, 이를 이용한 오디오 신호복호화 방법 및 장치
US7873125B2 (en) * 2006-11-30 2011-01-18 Broadcom Corporation Method and system for sliding window phase estimator for WCDMA automatic frequency correction
US8005671B2 (en) * 2006-12-04 2011-08-23 Qualcomm Incorporated Systems and methods for dynamic normalization to reduce loss in precision for low-level signals
EP2118885B1 (de) 2007-02-26 2012-07-11 Dolby Laboratories Licensing Corporation Sprachverstärkung in unterhaltungsaudioinhalten
GB0703795D0 (en) * 2007-02-27 2007-04-04 Sepura Ltd Speech encoding and decoding in communications systems
US8126707B2 (en) * 2007-04-05 2012-02-28 Texas Instruments Incorporated Method and system for speech compression
CN100524462C (zh) * 2007-09-15 2009-08-05 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
US8301440B2 (en) * 2008-05-09 2012-10-30 Broadcom Corporation Bit error concealment for audio coding systems
US20110135007A1 (en) * 2008-06-30 2011-06-09 Adriana Vasilache Entropy-Coded Lattice Vector Quantization
US20100174539A1 (en) * 2009-01-06 2010-07-08 Qualcomm Incorporated Method and apparatus for vector quantization codebook search
WO2010140306A1 (ja) * 2009-06-01 2010-12-09 三菱電機株式会社 信号処理装置
CN102714034B (zh) * 2009-10-15 2014-06-04 华为技术有限公司 信号处理的方法、装置和***
US9076439B2 (en) * 2009-10-23 2015-07-07 Broadcom Corporation Bit error management and mitigation for sub-band coding
WO2012089906A1 (en) * 2010-12-30 2012-07-05 Nokia Corporation Method, apparatus and computer program product for emotion detection
US9626982B2 (en) * 2011-02-15 2017-04-18 Voiceage Corporation Device and method for quantizing the gains of the adaptive and fixed contributions of the excitation in a CELP codec
JP5973582B2 (ja) 2011-10-21 2016-08-23 サムスン エレクトロニクス カンパニー リミテッド フレームエラー隠匿方法及びその装置、並びにオーディオ復号化方法及びその装置
US8831935B2 (en) * 2012-06-20 2014-09-09 Broadcom Corporation Noise feedback coding for delta modulation and other codecs
US9135920B2 (en) * 2012-11-26 2015-09-15 Harman International Industries, Incorporated System for perceived enhancement and restoration of compressed audio signals
FR3024581A1 (fr) * 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107519A (en) * 1988-11-17 1992-04-21 Canon Kabushiki Kaisha Coding device and a decoding device
AU6174290A (en) * 1989-10-06 1991-04-28 Motorola, Inc. Error detection/correction scheme for vocoders
BR9206143A (pt) * 1991-06-11 1995-01-03 Qualcomm Inc Processos de compressão de final vocal e para codificação de taxa variável de quadros de entrada, aparelho para comprimir im sinal acústico em dados de taxa variável, codificador de prognóstico exitado por córdigo de taxa variável (CELP) e descodificador para descodificar quadros codificados
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
US5327520A (en) 1992-06-04 1994-07-05 At&T Bell Laboratories Method of use of voice message coder/decoder
JP3418976B2 (ja) * 1993-08-20 2003-06-23 ソニー株式会社 音声抑制装置
US5586126A (en) * 1993-12-30 1996-12-17 Yoder; John Sample amplitude error detection and correction apparatus and method for use with a low information content signal
JP3557255B2 (ja) * 1994-10-18 2004-08-25 松下電器産業株式会社 Lspパラメータ復号化装置及び復号化方法
FI950917A (fi) * 1995-02-28 1996-08-29 Nokia Telecommunications Oy Puhekoodausparametrien käsittely tietoliikennejärjestelmässä
DE69620967T2 (de) * 1995-09-19 2002-11-07 At & T Corp Synthese von Sprachsignalen in Abwesenheit kodierter Parameter
US5794180A (en) * 1996-04-30 1998-08-11 Texas Instruments Incorporated Signal quantizer wherein average level replaces subframe steady-state levels
JP2001501790A (ja) 1996-09-25 2001-02-06 クゥアルコム・インコーポレイテッド 復号された音声パラメータを用いる移動電話で受信された不良データパケットの検出を行う方法およびその装置
US6205130B1 (en) * 1996-09-25 2001-03-20 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
US5778336A (en) * 1996-10-01 1998-07-07 Lucent Technologies Inc. Speech coding and joint data/channel bias estimation using finite state vector quantizer derived from sequential constraints
US5907822A (en) * 1997-04-04 1999-05-25 Lincom Corporation Loss tolerant speech decoder for telecommunications
US6658112B1 (en) * 1999-08-06 2003-12-02 General Dynamics Decision Systems, Inc. Voice decoder and method for detecting channel errors using spectral energy evolution
US6571212B1 (en) * 2000-08-15 2003-05-27 Ericsson Inc. Mobile internet protocol voice system
US6862567B1 (en) * 2000-08-30 2005-03-01 Mindspeed Technologies, Inc. Noise suppression in the frequency domain by adjusting gain according to voicing parameters
US6968309B1 (en) * 2000-10-31 2005-11-22 Nokia Mobile Phones Ltd. Method and system for speech frame error concealment in speech decoding
DE60222445T2 (de) * 2001-08-17 2008-06-12 Broadcom Corp., Irvine Verfahren zum verbergen von bitfehlern für die sprachcodierung

Also Published As

Publication number Publication date
EP1428206A1 (de) 2004-06-16
EP1428206B1 (de) 2007-09-12
EP1425562B1 (de) 2007-01-10
DE60217522D1 (de) 2007-02-22
WO2003017555A3 (en) 2003-08-14
US20030036382A1 (en) 2003-02-20
WO2003017255A1 (en) 2003-02-27
EP1425562A4 (de) 2005-06-01
WO2003017555A2 (en) 2003-02-27
US7406411B2 (en) 2008-07-29
DE60217522T2 (de) 2007-10-18
EP1428206A4 (de) 2005-06-01
US20030036901A1 (en) 2003-02-20
US20050187764A1 (en) 2005-08-25
DE60222445D1 (de) 2007-10-25
US6885988B2 (en) 2005-04-26
US8620651B2 (en) 2013-12-31
EP1425562A2 (de) 2004-06-09

Similar Documents

Publication Publication Date Title
DE60222445T2 (de) Verfahren zum verbergen von bitfehlern für die sprachcodierung
DE60220485T2 (de) Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform
DE60121201T2 (de) Verfahren und vorrichtung zur verschleierung von fehlerhaften rahmen während der sprachdekodierung
DE69133458T2 (de) Verfahren zur Sprachquantisierung und Fehlerkorrektur
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
EP2022043B1 (de) Informationssignalcodierung
DE60209888T2 (de) Kodieren eines audiosignals
DE60125219T2 (de) Spektralmerkmal ersatz für die verschleierung von rahmenfehlern in einem sprachdekoder
DE60103424T2 (de) Verbessern der leistung von kodierungssystemen, die hochfrequenz-rekonstruktionsverfahren verwenden
DE69923555T2 (de) Verfahren und vorrichtung zur entropie-kodierung von quantisierten transformationskoeffizienten eines signals
DE19811039B4 (de) Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen
DE69724739T2 (de) Verfahren zur Erzeugung von Hintergrundrauschen während einer diskontinuierlichen Übertragung
DE60021083T2 (de) Verfahren zur verbesserung der kodierungseffizienz eines audiosignals
DE60224962T2 (de) Verfahren und Vorrichtung zur Verschleierung von fehlerbehafteten Sprachrahmen
DE69925515T2 (de) Sprachkodierung unter Verwendung einer sanften Adaptation
DE60118631T2 (de) Verfahren zum ersetzen verfälschter audiodaten
DE60027956T2 (de) Sprachkodierung mit variabler BIT-Rate
EP0954909A1 (de) Verfahren zum codieren eines audiosignals
DE3629434C2 (de) Digitales Codierverfahren
DE69820362T2 (de) Nichtlinearer Filter zur Geräuschunterdrückung in linearen Prädiktions-Sprachkodierungs-Vorrichtungen
WO2002093561A1 (de) Verfahren zur erweiterung der bandbreite eines schmalbandig gefilterten sprachsignals, insbesondere eines von einem telekommunikationsgerät gesendeten sprachsignals
EP0976216B1 (de) Verfahren und anordnung zur rahmenfehlerdetektion zwecks fehlerverdeckung insbesondere bei gsm übertragungen
EP1023777B1 (de) Verfahren und vorrichtung zur erzeugung eines bitratenskalierbaren audio-datenstroms
EP1093690B1 (de) Verfahren und anordnung zur fehlerverdeckung
DE60224142T2 (de) Verfahren und Vorrichtung zur Wellenformdämpfung von fehlerbehafteten Sprachrahmen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M