DE60220485T2 - Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform - Google Patents

Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform Download PDF

Info

Publication number
DE60220485T2
DE60220485T2 DE60220485T DE60220485T DE60220485T2 DE 60220485 T2 DE60220485 T2 DE 60220485T2 DE 60220485 T DE60220485 T DE 60220485T DE 60220485 T DE60220485 T DE 60220485T DE 60220485 T2 DE60220485 T2 DE 60220485T2
Authority
DE
Germany
Prior art keywords
speech
time delay
waveform
frame
ppfe
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
DE60220485T
Other languages
English (en)
Other versions
DE60220485D1 (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 DE60220485D1 publication Critical patent/DE60220485D1/de
Publication of DE60220485T2 publication Critical patent/DE60220485T2/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

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft digitale Datenübertragungen. Im Besonderen betrifft die vorliegende Erfindung die Verbesserung der Sprachqualität, wenn Frames eines komprimierten Bitstroms, der ein Sprachsignal repräsentiert, im Rahmen eines digitalen Kommunikationssystems verloren gehen.
  • Relevanter Stand der Technik
  • Bei der Sprachcodierung, die manchmal auch Sprachkompression genannt wird, codiert eine Codiereinrichtung (Codierer) ein Eingangs-Sprach- oder Audiosignal zur Übertragung in einen digitalen Bitstrom. Eine Decodiereinrichtung (Decoder) decodiert den Bitstrom in ein Ausgangssignal. Die Kombination aus Codier- und Decodiereinrichtung wird Codec genannt. Der gesendete Bitstrom wird für gewöhnlich in Frames unterteilt. Bei drahtlosen Netzwerken oder Paketnetzwerken gehen aus gesendeten Bits bestehende Frames manchmal verloren, werden gelöscht oder beschädigt. Dieser Zustand wird bei drahtlosen Datenübertragungen Frame-Löschung genannt. Derselbe Zustand gelöschter Frames kann in Paketnetzwerken infolge eines Paketverlustes auftreten. Wenn eine Frame-Löschung auftritt, kann der Decoder die normalen Decodieroperationen nicht durchführen, da in dem verlorenen Frame keine zu decodierenden Bits vorhanden sind. Während gelöschter Frames muss der Decoder Frame-Löschungsverschleierungs- (FEC/Frame Erasure Concealment) Operationen durchführen, um zu versuchen, die qualitätsverschlechternden Auswirkungen der Frame-Löschung zu verschleiern.
  • Eine der frühesten FEC-Techniken ist die auf einem Musterabgleich basierende Wellenformsubstitution (Waveform Substitution), wie von Goodman et al. in "Waveform Substitution Techniques for Recovering Missing Speech Segments in Packet Voice Communications", IEEE Transaction on Acoustics, Speech and Signal Processing, Dezember 1986, Seiten 1440–1448, vorgeschlagen. Dieses Schema wurde auf einen Pulscodemodulations-(PCM-)Sprach-Codec angewandt, der unmittelbar eine sofortige Muster-für-Muster-Quantisierung der Sprachwellenform durchführt. Dieses FEC-Schema verwendet ein Stück einer decodierten Sprachwellenform unmittelbar vor dem verlorenen Frame als Vorlage und schiebt diese Vorlage in der Zeit zurück, um ein geeignetes Stück einer decodierten Sprachwellenform zu finden, das eine Art von Wellenformgleichartigkeitsmaß maximiert (oder ein Wellenformdifferenzmaß minimiert).
  • Das FEC-Schema von Goodman verwendet dann den Wellenformabschnitt, der unmittelbar auf das am besten übereinstimmende Wellenformsegment folgt, als Ersatzwellenform für den verlorenen Frame. Zur Beseitigung von Diskontinuitäten an den Frame-Grenzen verwendet dieses Schema außerdem ein angehobenes Kosinusfenster, um eine Overlap-Add-Technik (Technik zur schnellen Faltung) zwischen der korrekt decodierten Wellenform und der Ersatzwellenform durchzuführen. Diese Overlap-Add-Technik erhöht die Codierverzögerung. Die Verzögerung tritt auf, da am Ende eines jeden Frames viele Sprachmuster vorhanden sind, die in einem Overlap-Add-Verfahren zusammengesetzt werden müssen, um die endgültigen Werte zu erhalten, und somit nicht abgespielt werden können, bis der nächste Sprach-Frame decodiert wird.
  • Basierend auf der vorstehend genannten Arbeit von Goodman, hat David Kapilow eine fortgeschrittenere Version eines FEC-Schemas für G.711-PCM-Codecs entwickelt. Dieses FEC-Schema ist im Anhang I der ITU-T Empfehlung G.711 beschrieben. Sowohl das Goodman- als auch das Kapilow-FEC-Schema sind jedoch auf PCM-Codecs mit sofortiger Quantisierung beschränkt.
  • Bei der Sprachcodierung basiert der gängigste Sprach-Codec-Typ auf einer prädiktiven Codierung. Das vielleicht erste veröffentlichte FEC-Schema für einen Prädiktions-Codec ist das "Bad-Frame-Masking" Schema (Schema zum Maskieren schlechter Frames) gemäß dem Original-TIA-IS-54-VSELP-Standard für den Mobilfunk in Nordamerika (aufgehoben im September 1996). Hierbei wiederholt das Schema bei Ermittlung eines schlechten Frames die linearen Prädiktionsparameter des letzten Frames. Dieses Schema leitet die Sprachenergieparameter für den aktuellen Frame entweder durch Wiederholen oder Abschwächen der Sprachenergieparameter des letzten Frames abhängig davon ab, wie viele aufeinander folgende schlechte Frames gezählt worden sind. Für das Erregungssignal (oder quantisierte Prädiktionsrestsignal) führt dieses Schema keine speziellen Operationen durch. Es decodiert lediglich die Erregungsbits, auch wenn diese eine große Anzahl an Bitfehlern enthalten könnten.
  • Das erste FEC-Schema für einen Prädiktions-Codec, der eine Wellenformsubstitution in der Erregungsdomäne durchführt, ist wahrscheinlich das FEC-System, das von Chen für den CELP-(Code Excited Linear Predictor/codeangeregten Linear-Prädiktions-)CODEC mit geringer Verzögerung gemäß der ITU-T-Empfehlung G.728 entwickelt wurde, wie in dem US-Patent Nr. 5,615,298 , erteilt an Chen, mit dem Titel "Excitation Signal Synthesis During Frame Erasure or Packet Loss" beschrieben. Bei diesem Ansatz wird, während gelöschter Frames, das Spracherregungssignal in Abhängigkeit davon extrapoliert, ob der letzte Frame ein stimmhafter oder ein nicht stimmhafter Frame ist. Wenn er stimmhaft ist, wird das Erregungssignal durch periodische Wiederholung extrapoliert. Wenn er nicht stimmhaft ist, wird das Erregungssignal durch zufälliges Wiederholen kleiner Segmente der Sprachwellenform im früheren Frame extrapoliert, wobei sichergestellt wird, dass die durchschnittliche Sprachenergie in etwa aufrechterhalten wird.
  • Es besteht daher Bedarf an einer FEC-Technik, die die herkömmlichen Decodern zugeschriebenen genannten Mängel vermeidet. Es wird beispielsweise eine FEC-Technik benötigt, die die erhöhte Verzögerung vermeidet, die bei der Overlap-Add-Operation des Goodman-Ansatzes erzeugt wird. Ebenfalls benötigt wird eine FEC-Technik, die eine gleichmäßige Reproduktion einer Sprach- oder Audiowellenform sicherstellen kann, wenn der nächste gute Frame empfangen wird.
  • Das Dokument US-A-5,907,822 offenbart ein Verfahren zum Extrapolieren früherer Signaldaten zur Einsetzung in fehlende Datensegmente, um digitale Sprach-Frame-Fehler zu verschleiern. Die nach der Sprachsynthese ausgegebenen Parameter befinden sich in der Erregungsdomäne.
  • Das Dokument von "WATKINS ET AL.: "Improving 16 kb/s G.728 LD-CELP Speech Coder for Frame Erasure Channels", ICASSP-95, Seiten 241–244, offenbart ein Verfahren zum Verbessern der ausgegebenen Sprachqualität für Frame-Löschungskanäle. Während gelöschter Frames wird ein Erregungssignal extrapoliert. Eine solche Extrapolation wird solange fortgesetzt, bis ein guter Frame empfangen wird.
  • Das Dokument von "GOODMAN ET AL.: "Waveform Substitution Techniques for Recovering Missing Speech Segments in Packet Voice Communications", IEEE tr. ASSP-34, Band 6, Seiten 1440–1448, Dezember 1996, offenbart eine Technik zum Ersetzen fehlender Sprachsegmente durch Wellenformsegmente aus korrekt empfangenen Paketen, um die maximal tolerierbare Rate fehlender Pakete zu erhöhen. Zur Beseitigung von Diskontinuitäten an Frame-Grenzen verwendet die Technik ein angehobenes Kosinusfenster, um eine Overlap-Add-Technik zwischen der korrekt decodierten Wellenform und der Ersatzwellenform durchzuführen.
  • Das Dokument von CHEN ET AL.: "A high-fidelity speech and audio codec with low delay and low complexity", ICASSP 2000, Seiten 1161–1164, offenbart einen Frame-Löschungsverschleierungsalgorithmus, der einen gegen Frame-Löschungen widerstandsfähigen Codec bereitstellt.
  • Ein Problem besteht beim Stand der Technik darin, dass, wenn während des Schritts des Extrapolierens eines Ersatz-Frames, eine Zeitverzögerung unmittelbar als die Zeitverzögerung für die periodische Wiederholung bei der Wellenformextrapolation des aktuellen Frames verwendet wird, Brummgeräusche auftreten können, wenn eine kleine Zeitverzögerung in einem Sprachsegment verwendet wird, das über keinen hohen Periodizitätsgrad vertilgt.
  • Ein Ziel der vorliegenden Erfindung ist es, ein Verfahren zum Synthetisieren einer beschädigten Sprach-Frame-Wellenform bereitzustellen, wobei das Verfahren einen verbesserten Extrapolationsschritt umfasst, der das Auftreten von Brummgeräuschen verhindern kann.
  • Dieses Ziel wird durch ein Verfahren gemäß dem unabhängigen Anspruch 1, eine Vorrichtung gemäß dem unabhängigen Anspruch 19 und ein Computerprogrammprodukt gemäß dem unabhängigen Anspruch 37 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 eine beispielhafte FEC-Technik ein Verfahren zum Synthetisieren eines beschädigten Sprach-Frames, der von einem Decoder ausgegeben wird, welcher ein oder mehrere Prädiktions-Filter umfasst. Der beschädigte Frame ist repräsentativ für ein Segment eines decodierten Signals, das von dem Decoder ausgegeben wird. Das Verfahren umfasst das Extrapolieren eines Ersatz-Frames basierend auf einem anderen Segment des decodierten Signals, das Ersetzen des beschädigten Frames durch den Ersatz-Frame und das Aktualisieren der inneren Zustände der Filter basierend auf der Ersetzung.
  • Weitere Ausführungsformen, Merkmale und Vorteile der vorliegenden Erfindung sowie der Aufbau und Betrieb der verschiedenen Ausführungsformen der vorliegen den Erfindung sind nachfolgend unter Bezugnahme auf die begleitenden Zeichnungen genauer beschrieben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die begleitenden Zeichnungen, die in die Beschreibung eingebunden sind und einen Teil derselben darstellen, veranschaulichen eine Ausführungsform der Erfindung und erläutern, zusammen mit der Beschreibung, den Zweck, die Vorteile und Grundlagen der Erfindung. Es zeigt:
  • 1 eine Blockdiagrammdarstellung eines herkömmlichen Prädiktions-Decoders,
  • 2 eine Blockdiagrammdarstellung eines beispielhaften Decoders, der gemäß der vorliegenden Erfindung konstruiert und aufgebaut ist,
  • 3(a) eine graphische Darstellung eines beispielhaften nicht normierten Wellenformabschwächungsfensters, das gemäß der vorliegenden Erfindung arbeitet,
  • 3(b) eine graphische Darstellung eines beispielhaften normierten Wellenformabschwächungsfensters, das gemäß der vorliegenden Erfindung arbeitet,
  • 4(a) ein Flussdiagramm, das ein beispielhaftes Verfahren zur Durchführung einer Frame-Löschungsverschleierung gemäß der vorliegenden Erfindung darstellt,
  • 4(b) eine Fortsetzung des in 4(a) gezeigten Flussdiagramms, und
  • 5 ein Blockdiagramm 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ührungsform darstellen. Andere Ausführungsformen sind möglich und es können innerhalb des Schutzumfangs der vorliegenden Erfindung an den Ausführungsformen Modifikationen durchgeführt werden. Daher soll die folgende genaue Beschreibung keine Einschränkung der Erfindung darstellen. Der Schutzumfang der Erfindung wird vielmehr durch die anhängigen Ansprüche definiert.
  • Es ist für Fachleute auf dem Gebiet ersichtlich, dass die vorliegende Erfindung, wie nachfolgend beschrieben, in zahlreichen unterschiedlichen Ausführungsformen von Hardware, Software, Firmware und/oder den in den Zeichnungen dargestellten Einheiten realisiert werden kann. Ein effektiver Software-Code mit spezialisierter Steuerungs-Hardware zum Ausführen der vorliegenden Erfindung schränkt die vorliegende Erfindung nicht ein. Somit werden der Betrieb und das Verhalten der vorliegenden Erfindung in dem Einvernehmen beschrieben, dass Modifikationen und Variationen der Ausführungsformen angesichts des hierin dargelegten Detaillierungsgrads 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 in der Umgebung des Decoders eines Prädiktions-Sprach-Codecs zum Verschleiern der qualitätsverschlechternden Auswirkungen einer Frame-Löschung oder eines Paketverlusts besonders nützlich. 1 zeigt eine solche Umgebung. Die allgemeinen Grundlagen der Erfindung können in jedem beliebigen linearen Prädiktions-Codec verwendet werden, obgleich die nachfolgend beschriebene bevorzugte Ausführungsform für einen spezifischen Prädiktions-Decoder-Typ besonders gut geeignet ist.
  • Die vorliegende Erfindung ist eine FEC-Technik, die zur prädiktiven Codierung von Sprache ausgelegt ist. Ein charakteristisches Merkmal, das sie von den vorstehend genannten Techniken unterscheidet, besteht darin, dass sie die Wellenformsubstitution in der Sprachdomäne anstatt in der Erregungsdomäne durchführt. Sie führt außerdem spezielle Operationen zum Aktualisieren der inneren Zustände, oder Speicher, von Prädiktoren und Filtern im Prädiktions-Decoder durch, um eine maximal gleichmäßige Sprachwellenformreproduktion sicherzustellen, wenn der nächste gute Frame empfangen wird.
  • Die vorliegende Erfindung vermeidet außerdem die zusätzliche Verzögerung, die mit der Overlap-Add-Operation beim Goodman-Ansatz und im Anhang 1 von ITU-T G.711 in Verbindung gebracht wird. Dies wird durch Durchführen einer Overlap-Add-Operation zwischen der extrapolierten Sprachwellenform und dem Ringing (Rufsignal) oder der Nulleingangsantwort des Synthesefilters erreicht. Andere Merkmale umfassen einen speziellen Algorithmus zum Minimieren von Brummgeräuschen während der Wellenformextrapolation und ein effizientes Verfahren zum Implementieren einer linear abnehmenden Wellenformhüllkurve während einer erweiterten Frame-Löschung. Schließlich werden die zugeordneten Speicher im Log-Verstärkungs-Prädiktor aktualisiert.
  • Wie vorstehend erwähnt, ist die vorliegende Erfindung nicht auf einen bestimmten Sprach-Codec beschränkt. Sie ist vielmehr allgemein auf Prädiktions-Sprach-Code anwendbar, welche Adaptive Predicitive Coding (APC/adaptiv-prädiktives Codieren), Multi-Pulse Linear Predictive Coding (MPLPC/lineares prädiktives Multi-Puls-Codieren), CELP und Noise Feedback Coding (NFC/Rauschrückkopplungscodieren), etc. umfassen, ohne jedoch darauf beschränkt zu sein.
  • Vor der Besprechung der Grundlagen der Erfindung ist eine Beschreibung eines herkömmlichen Decoders eines standardgemäßen Prädiktions-Codes erforderlich. 1 ist eine Blockdiagrammdarstellung eines herkömmlichen Prädiktionsdecoders 100. Der in 1 gezeigte Decoder 100 kann dazu verwendet werden, die Decoder von APC-, MPLPC-, CELP- und NFC-Sprach-Codecs zu beschreiben. Die höher entwickelten Versionen von Prädiktionsdecodern zugeordneten Codecs verwenden typischerweise einen Kurzzeit-Prädiktor zum Ausnutzen der Redundanz zwischen benachbarten Sprachmustern und einen Langzeit-Prädiktor zum Ausnutzen der Redundanz zwischen voneinander entfernten Mustern infolge der Pitch-Periodizität von beispielsweise stimmhafter Sprache.
  • Die durch diese Codecs gesendete Hauptinformation ist eine quantisierte Version des Prädiktionsrestsignals nach der Kurzzeit- und Langzeit-Prädiktion. Dieses quantisierte Restsignal wird häufig als Erregungssignal bezeichnet, da es im Decoder dazu verwendet wird, das Langzeitsynthesefilter und das Kurzzeitsynthesefilter zu erregen, um das decodierte Ausgangsprachsignal zu erzeugen. Zusätzlich zu dem Erregungssignal werden auch mehrere andere Sprachparameter als Nebeninformationen auf einer Frame-für-Frame- oder Sub-Frame-für-Sub-Frame-Basis gesendet.
  • Ein beispielhafter Längenbereich für jeden Frame (Frame-Größe genannt) kann zwischen 5 ms und 40 ms betragen, wobei 10 ms und 20 ms die zwei gängigsten Frame-Größen bei Sprach-Codecs sind. Jeder Frame enthält für gewöhnlich einige wenige gleichlange Sub-Frames. Die Nebeninformationen dieser Prädiktions-Code umfassen typischerweise Informationen bezüglich der spektralen Hüllkurve in Form der Kurzzeit-Prädiktionsparameter, der Pitch-Periode und der Pitch-Prädiktorabgriffe (beides Langzeit-Prädiktionsparameter) sowie der Erregungsverstärkung.
  • In 1 umfasst der herkömmliche Decoder 100 einen Bit-Demultiplexer 105. Der Demultiplexer 105 teilt die Bits in jedem empfangenen Bit-Frame in Codes für das Erregungssignal und Codes für den Kurzzeit-Prädiktor, den Langzeit-Prädiktor und die Erregungsverstärkung auf.
  • Die Kurzzeit-Prädiktorparameter, die häufig als lineare Prädiktionscodierparameter (LPC-Parameter/Linear Predictive Coding parameters) bezeichnet werden, werden für gewöhnlich einmal pro Frame gesendet. Es gibt viele alternative Parametersätze, die dazu verwendet werden können, dieselben Informationen bezüglich der spektralen Hüllkurve darzustellen. Die gängigsten von diesen sind die Linienspektrumpaarparameter (LSP-Parameter/Line-Spektrum Pair parameters), die manchmal auch als Linienspektrumfrequenzparameter (LSF-Parameter) bezeichnet werden. In 1 stellt LSP/den gesendeten Quantisierer-Codebuchindex dar, der die LSP-Parameter in jedem Frame repräsentiert. Ein Kurzzeit-Prädiktionsparameterdecoder 110 decodiert LSPI in einen LSP-Parametersatz und wandelt dann die LSP-Parameter in die Koeffizienten für den Kurzzeit-Prädiktor um. Diese Kurzzeit-Prädiktorkoeffizienten werden dann dazu verwendet, die Koeffizientenaktualisierung eines Kurzzeit-Prädiktors 120 zu steuern.
  • Die Pitch-Periode wird als die Zeitspanne definiert, in der sich eine stimmhafte Sprachwellenform zu einem gegebenen Zeitpunkt periodisch zu wiederholen scheint. Sie wird für gewöhnlich bezogen auf eine Anzahl von Mustern gemessen, einmal pro Sub-Frame gesendet und bei Langzeit-Prädiktoren als Hauptverzögerung verwendet. Pitch-Abgriffe sind die Koeffizienten des Langzeit-Prädiktors. Der Bit-Demultiplexer 105 sondert außerdem den Pitch-Periodenindex(PPI und den Pitch-Prädiktorabgriffindex (PPTI/Pitch Predictor Tap Index) aus dem empfangenen Bitstrom aus. Ein Langzeit-Prädiktionsparameterdecoder 130 decodiert PPI in die Pitch-Periode und PPTI in die Pitch-Prädiktorabgriffe. Die decodierte Pitch-Periode und die Pitch-Prädiktorabgriffe werden dann dazu verwendet, die Parameteraktualisierung eines verallgemeinerten Langzeit-Prädiktors 140 zu steuern.
  • In seiner einfachsten Form ist der Langzeit-Prädiktor 140 einfach ein Filter mit endlicher Impulsantwort (FIR-Filter/Finite Impulse Response filter), typischerweise erster oder dritter Ordnung, mit einer Hauptverzögerung, die der Pitch-Periode entspricht. Bei manchen Variationen von CELP- und MPLPC-Codecs jedoch, wurde der Langzeit-Prädiktor 140 zu einem adaptiven Codebuch verallgemeinert, wobei der einzige Unterschied darin besteht, dass, wenn die Pitch-Periode kleiner als der Sub-Frame ist, einige periodische Wiederholungsoperationen durchgeführt werden. Der verallgemeinerte Langzeit-Prädiktor 140 kann entweder ein einfaches FIR-Filter oder ein adaptives Codebuch darstellen und somit die meisten derzeit verwendeten Prädiktions-Sprach-Codecs abdecken.
  • Der Bit-Demultiplexer 105 sondert außerdem einen Verstärkungsindex GI (Gain Index) und einen Erregungsindex CI (Excitation Index) aus dem Eingangsbitstrom aus. Ein Erregungsdecoder 150 decodiert den CI in ein unskaliertes Erregungssignal und decodiert außerdem den GI in das Erregungssignal. Dann verwendet er die Erregungsverstärkung zum Skalieren des unskalierten Erregungssignals, um ein skaliertes Erregungsverstärkungssignal uq(n) abzuleiten, das als quantisierte Version des Langzeit-Prädiktionsrestsignals betrachtet werden kann. Ein Addierer 160 kombiniert den Ausgang des verallgemeinerten Langzeit-Prädiktors 140 mit dem skalierten Erregungsverstärkungssignal uq(n), um eine quantisierte Version eines Kurzzeit-Prädiktionsrestsignals dq(n) zu erhalten. Ein Addierer 170 kombiniert den Ausgang des Kurzzeit-Prädiktors 120 mit dq(n), um ein decodiertes Ausgangsprachsignal sq(n) zu erhalten.
  • Eine Rückkopplungsschleife wird durch den verallgemeinerten Langzeit-Prädiktor 140 und den Addierer 160 gebildet und kann als einzelnes Filter betrachtet werden, das als Langzeitsynthesefilter 180 bezeichnet wird. Ebenso wird durch den Kurzzeit-Prädiktor 120 und den Addierer 170 eine weitere Rückkopplungsschleife gebildet. Diese weitere Rückkopplungsschleife kann als einzelnes Filter betrachtet werden, das als Kurzzeitsynthesefilter 190 bezeichnet wird. Das Langzeitsynthesefilter 180 und das Kurzzeitsynthesefilter 190 bilden in Kombination das Synthesefiltermodul 195.
  • Kurz gesagt, der in 1 gezeigte herkömmliche Prädiktionsdecoder 100 decodiert die Parameter des Kurzzeit-Prädiktors 120 und des Langzeit-Prädiktors 140, die Erregungsverstärkung und das unskalierte Erregungssignal. Dann skaliert er das unskalierte Erregungssignal mit der Erregungsverstärkung und leitet das resultierende skalierte Erregungssignal uq(n) durch das Langzeitsynthesefilter 180 und das Kurzzeitsynthesefilter 190 hindurch, um das decodierte Ausgangssprachsignal sq(n) abzuleiten.
  • Wenn ein Eingangsbit-Frame infolge eines Schwunds (Fading) bei einer drahtlosen Übertragung oder infolge eines Paketverlustes in Paketnetzwerken gelöscht wird, verliert der Decoder 100 gemäß 1 leider die Indizes LSPI, PPI, PPTI, GI, und CI, die zum Decodieren der Sprachwellenform in dem aktuellen Frame benötigt werden.
  • Gemäß den Grundlagen der vorliegenden Erfindung wird die decodierte Sprachwellenform unmittelbar vor dem aktuellen Frame gespeichert und analysiert. Eine Wellenformübereinstimmungssuche, die dem Goodman-Ansatz ähnelt, wird durchgeführt und die Zeitverzögerung und der Skalierfaktor zum Wiederholen der zuvor decodierten Sprachwellenform im aktuellen Frame werden bestimmt.
  • Als Nächstes werden, zur Vermeidung gelegentlicher Brummgeräusche infolge der Wiederholung einer Wellenform mit einer kleinen Zeitverzögerung, wenn das Sprachsignal nicht hochperiodisch ist, die Zeitverzögerung und der Skalierfaktor manchmal wie folgt modifiziert. Wenn die Analyse ergibt, dass die gespeicherte frühere Wellenform wahrscheinlich kein Segment eines hochperiodischen stimmhaften Sprachsignals ist, und wenn die Zeitverzögerung für die Wellenformwiederholung kleiner als ein vordefinierter Schwellenwert ist, wird eine weitere Suche nach einer geeigneten Zeitverzögerung durchgeführt, die größer als der vordefinierte Schwellenwert ist. Der Skalierfaktor wird ebenfalls entsprechend aktualisiert.
  • Sobald die Zeitverzögerung und der Skalierfaktor bestimmt worden sind, kopiert die vorliegende Erfindung die Sprachwellenform eine Zeitverzögerung früher, um den aktuellen Frame zu füllen und somit eine extrapolierte Wellenform zu erzeugen. Die extrapolierte Wellenform wird dann mit dem Skalierfaktor extrapoliert. Die vorliegende Erfindung berechnet außerdem eine Anzahl an Ringing- oder Nulleingangsantwort-Mustern, die vom Anfang des aktuellen Frames an vom Synthesefiltermodul 195 ausgegeben werden. Aufgrund des Glättungseffekts des Kurzzeitsynthesefilters 190 scheint ein solches Ringing-Signal gleichmäßig aus der decodierten Sprachwellenform am Ende des letzten Frames zu fließen. Die vorliegende Erfindung führt dann an diesem Ringing-Signal und der extrapolierten Sprachwellenform mittels eines geeigneten Overlap-Add-Fensters eine Overlap-Add-Operation durch, um diese zwei Wellenformstücke gleichmäßig miteinander zu verbinden. Diese Technik glättet die Wellenformdiskontinuität am Anfang des aktuellen Frames. Gleichzeitig vermeidet sie die zusätzlichen Verzögerungen, die durch den G.711 Anhang I oder den Goodman-Ansatz erzeugt werden.
  • Wenn die Frame-Löschung über eine erweiterte Zeitspanne angedauert hat, wird das extrapolierte Sprachsignal gegen null abgeschwächt. Ansonsten erzeugt es ein Ton- oder Brummgeräusch. Bei der vorliegenden Erfindung wird die Wellenformhüllkurve linear gegen null abgeschwächt, wenn die Länge der Frame-Löschung einen gewissen Schwellenwert übersteigt. Die vorliegende Erfindung verwendet dann ein speichereffizientes Verfahren zum Ausführen dieser linearen Abschwächung gegen null.
  • Nachdem diese Wellenformextrapolation im gelöschten Frame durchgeführt worden ist, aktualisiert die vorliegende Erfindung ordnungsgemäß alle inneren Speicherzustände der Filter im Sprachdecoder. Wenn die Aktualisierung nicht durchgeführt wird, wären am Anfang des nächsten guten Frames eine große Diskontinuität und ein akustischer Störimpuls vorhanden. Beim Aktualisieren des Filterspeichers nach einer Frame-Löschung arbeitet die vorliegende Erfindung von der Ausgangssprachwellenform rückwärts. Die Erfindung stellt die Filterspeicherinhalte auf den Zustand ein, den sie am Ende des aktuellen Frames gehabt hätten, wenn die Filteroperationen des Sprachdecoders normal durchgeführt worden wären. Das heißt, die Filteroperationen werden mit einer speziellen Erregung durchgeführt, so dass die resultierende synthetisierte Ausgangssprachwellenform genau der vorstehend berechneten extrapolierten Wellenform entspricht.
  • Wenn beispielsweise der Kurzzeit-Prädiktor 120 eine Größenordnung M hat, dann besteht der Speicher des Kurzzeitsynthesefilters 190, nach der FEC-Operation für den aktuellen Frame, einfach aus den letzten M Mustern des extrapolierten Sprachsignals für den aktuellen Frame mit umgekehrter Reihenfolge. Dies ist der Fall, da das Kurzzeitsynthesefilter 190 im herkömmlichen Decoder 100 ein autoregressives Filter (All-Pole-Filter) ist. Der Filterspeicher besteht einfach aus den früheren Filterausgangssignalmustern in umgekehrter Reihenfolge.
  • Es wird ein Beispiel für die Aktualisierung des Speichers des FIR-Langzeit-Prädiktors 140 wird angegeben. Bei diesem Beispiel führt die vorliegende Erfindung eine Kurzzeit-Prädiktionsfehlerfilterung des extrapolierten Sprachsignals des aktuellen Frames durch, wobei der Anfangsspeicher des Kurzzeit-Prädiktors 120 auf die letzten M Muster (in umgehrter Reihenfolge) des Ausgangssprachsignals im letzten Frame eingestellt wird.
  • Ebenso werden, wenn Quantisierer für Nebeninformationen (wie etwa LSP und Erregungsverstärkung) eine Inter-Frame-Prädiktionscodierung verwenden, die Speicher dieser Prädiktoren ebenfalls basierend auf demselben Prinzip aktualisiert, um die Diskontinuität der decodierten Sprachparameter beim nächsten guten Frame zu minimieren.
  • Die vorstehend ausgeführten allgemeinen Grundlagen der vorliegenden Erfindung sind beinahe auf jeden Prädiktions-Sprachdecoder anwendbar. Nachfolgend wird eine spezifische Umsetzung dieser allgemeinen Grundlagen anhand einer bevorzugten Ausführungsform der vorliegenden Erfindung, angewandt auf den Decoder eines Zwei-Stufen-Rauschrückkopplungs-Codecs, genauer beschrieben.
  • 2 ist eine Blockdiagrammdarstellung einer beispielhaften Ausführungsform der vorliegenden Erfindung. In 2 ist ein herkömmlicher Prädiktions-Sprachdecoder dargestellt. Der Decoder kann beispielsweise der in 1 gezeigte Decoder 100 sein, der einen Filterspeicher 201 und ein Eingangs-Frame-Löschungs-Flag 200 umfasst. Wenn das Eingangs-Frame-Löschungs-Flag 200 anzeigt, dass der empfangene aktuelle Frame ein guter Frame ist, führt der Decoder 100 normale Decodieroperationen durch, wie vorstehend beschrieben. Während der normalen Decodieroperationen befindet sich ein Schalter 202 in einer oberen Stellung 203, die einen empfangenen guten Frame anzeigt, und die decodierte Sprachwellenform sq(n) wird als Ausgang des Decoders 100 verwendet. Des Weiteren wird der aktuelle Frame des decodierten Sprachsignals sq(n) auch an ein Sprachspeichermodul 204 weitergeleitet, das die zuvor decodierten Sprachwellenformmuster in einem Puffer speichert. Der aktuelle Frame des decodierten Sprachsignals sq(n) wird zum Aktualisieren dieses Puffers verwendet. Die restlichen Module in 2 sind inaktiv, wenn ein guter Frame empfangen wird.
  • Wenn andererseits das Eingangs-Frame-Löschungs-Flag 200 anzeigt, dass ein schlechter Frame empfangen wurde oder dass der aktuelle Frame nicht empfangen wird (z.B. gelöscht wurde oder verloren gegangen ist), wird der Betrieb des Decoders 100 gestoppt und der Schalter 202 in eine untere Stellung 205 gebracht. Die restlichen Module von 2 führen dann FEC-Operationen durch, um eine Ausgangssprachwellenform sq'(n) für den aktuellen Frame zu erzeugen, und aktualisieren außerdem den Filterspeicher 201 des Decoders 100, um den Decoder 100 für die normalen Decodieroperationen des nächsten empfangenen guten Frames vorzubereiten. Wenn der Schalter 202 in die untere Stellung 205 gebracht wurde, arbeiten die restlichen in 2 gezeigten Module auf die folgende Art und Weise.
  • Eine Ringing-Recheneinrichtung 206 berechnet L Ringing- oder Nulleingangsantwortmuster des Synthesefiltermoduls 195 gemäß 1. Ein einfacherer Ansatz besteht darin, nur das Kurzzeitsynthesefilter 190 zu verwenden, der bevorzugte Ansatz, zumindest bei stimmhafter Sprache, besteht jedoch darin, das Ringing des stufenförmigen Langzeitsynthesefilters 180 und des Kurzzeitsynthesefilters 190 zu verwenden. Diese Berechnung wird auf die folgende Weise durchgeführt. Beginnend mit dem Speicher 201 des Synthesefiltermoduls 195, der nach der Verarbeitung des letzten Frames in der Verzögerungsleitung verbleibt, werden Filteroperationen für L Muster durchgeführt, wobei ein Nulleingangssignal an das Filter 195 verwendet wird. Die resultierenden L Muster des Filterausgangssignals bilden das gewünschte Ringing-Signal. Diese L Muster des Ringing-Signals {r(n), n = 1, 2, ..., L} werden zur späteren Verwendung gespeichert.
  • Ein Vorläufige-Zeitverzögerungsmodul 208 analysiert die zuvor decodierten Sprachwellenformmuster, die im Sprachspeichermodul 204 gespeichert sind, um eine vorläufige Zeitverzögerung zur Wellenformextrapolation im aktuellen Frame zu bestimmen. Dies kann auf vielerlei Arten durchgeführt werden, z.B. unter Verwendung der von Goodman ausgeführten Ansätze. Die vorliegende Erfindung sucht nach einer Pitch-Periode pp im allgemeinen Sinne, wie bei einem auf Pitch-Prädiktion basierenden Sprach-Codec. Wenn der herkömmliche Decoder 100 über eine decodierte Pitch-Periode des letzten Frames verfügt und wenn diese als zuverlässig erachtet wird, kann das Zeitverzögerungsmodul 208 in der Nachbarschaft dieser Pitch-Periode pp suchen, um eine geeignete Zeitverzögerung zu ermitteln. Wenn der Decoder 100 keine decodierte Pitch-Periode bereitstellt oder wenn diese Pitch-Periode als unzuverlässig erachtet wird, kann das Vorläufige-Zeitverzögerungsmodul 208 eine Pitch-Schätzung in vollem Umfang durchführen, um die gewünschte Zeitverzögerung zu erhalten. In 2 wird davon ausgegangen, dass eine decodierte pp tatsächlich zur Verfügung steht und zuverlässig ist. In diesem Fall arbeitet das Vorläufige-Zeitverzögerungsmodul 208 wie folgt.
  • Zunächst bestimmt das Vorläufige-Zeitverzögerungsmodul 208 die Pitch-Periode des letzten Frames (pplast). Es legt pplast = pp = die decodierte Pitch-Periode des letzten Frame fest, wenn der letzte Frame ein guter Frame ist. Es legt pplast = die vorläufige Pitch-Periode (ppfep) des letzten Frames (Ausgang des Zeitverzögerungsmoduls 208) fest, wenn der letzte Frame ein schlechter Frame ist. Wenn beispielsweise pplast kleiner als 10 ms (80 Muster und 160 Muster bei Abtastraten von 8kHz bzw. 16kHz) ist, verwendet sie das Zeitverzögerungsmodul 208 als Analysefenstergröße K. Wenn pplast größer als 10 ms ist, verwendet das Zeitverzögerungsmodul 208 10 ms als Analysefenstergröße K.
  • Das Vorläufige-Zeitverzögerungsmodul 208 bestimmt dann den Pitch-Suchbereich. Um dies durchzuführen, subtrahiert es 0,5 ms (4 Muster und 8 Muster bei einer 8kHz- bzw. 16kHz-Abtastung) von pplast, vergleicht das Ergebnis mit der minimal zulässigen Pitch-Periode im Codec und wählt den größeren der zwei Werte als Untergrenze lb des Suchbereichs aus. Es addiert dann 0,5 ms zu pplast, vergleicht das Ergebnis mit der maximal zulässigen Pitch-Periode im Codec und wählt den kleineren der zwei Werte als die Obergrenze ub des Suchbereichs aus.
  • Ein sq(n)-Puffer im Sprachspeichermodul 204 speichert N + Nf Sprachmuster, wobei die Muster sq(n), n = 1, 2, ..., N dem Decoder-Ausgangssprachsignal früherer Frames entsprechen, wobei sq(N) das letzte Muster decodierter Sprache im letzten Frame ist. Nf ist die Anzahl der Muster in einem Frame. Der Speicherplatz sq(n), n = N + 1, N + 2, ..., N + Nf ist am Anfang eines schlechten Frame nicht belegt, wird jedoch mit extrapolierten Sprachwellenformmustern gefüllt, sobald die Operationen der Module 208 bis 220 abgeschlossen sind.
  • Für die Zeitverzögerungen j = lb, lb + 1, lb + 2, ... ub – 1, ub, berechnet das Vorläufige-Zeitverzögerungsmodul 208 den Korrelationswert
    Figure 00140001
    bei j ϵ [lb, ub]. Unter den Zeitverzögerungen, die eine positive Korrelation c(j) ergeben, ermittelt das Zeitverzögerungsmodul 208 die Zeitverzögerung j, die
    Figure 00140002
    maximiert. Die obige Divisionsoperation kann durch ein Kreuzmultiplikationsverfahren vermieden werden. Die Zeitverzögerung j, die nc(j) maximiert, ist auch die Zeitverzögerung innerhalb des Suchbereichs, die die Pitch-Prädiktionsverstärkung bei einem Ein-Abgriff-Pitch-Prädiktor maximiert. Die optimale Zeitverzögerung ppfep bezeichnet die vorläufige Version der Pitch-Periode der Frame-Löschung. In dem äußerst seltenen Fall, in dem keine c(j) im Suchbereich positiv ist, wird ppfep in diesem entarteten Fall gleich lb festgelegt.
  • Wenn diese Zeitverzögerung unmittelbar als die Zeitverzögerung für die periodische Wiederholung bei der Wellenformextrapolation des aktuellen Frames verwendet wird, können Brummgeräusche auftreten, wenn bei einem Sprachsegment, das keinen hohen Periodizitätsgrad aufweist, eine kleine Zeitverzögerung verwendet wird. Zur Bekämpfung dieses Problems verwendet die vorliegende Erfindung ein Periodische-Extrapolations-Flag-Modul 210, um zwischen hochperiodischen stimmhaften Sprachsegmenten und anderen Arten von Sprachsegmenten zu unterscheiden. Wenn das Extrapolations-Flag-Modul 210 bestimmt, dass das decodierte Sprachsignal beispielsweise in einem hochperiodischen stimmhaften Sprachbereich liegt, stellt es das periodische Wellenformextrapolations-Flag(pwef) auf 1 ein, ansonsten wird pwef auf 0 eingestellt. Wenn pfewf 0 beträgt, bestimmt ein Endgültige-Zeitverzögerungs- und Skalierfaktormodul 212 eine weitere größere Zeitverzögerung, um das Brummgeräusch zu verringern oder zu beseitigen.
  • Unter Verwendung von ppfep als Eingang führt das Extrapolations-Flag-Modul 210 eine weitere Analyse des zuvor decodierten Sprachsignals sq(n) durch, um die richtige Einstellung des periodischen Wellenformextrapolations-Flags pwef zu bestimmen. Wiederum kann dies auf vielerlei Arten durchgeführt werden. Nachfolgend beschrieben ist nur ein Beispiel. Das Extrapolations-Flag-Modul 210 stellt zunächst pwef auf seinen voreingestellten Wert von 1 ein und berechnet dann die Sprachenergie E im Analysefenster:
    Figure 00150001
  • Wenn Ε kleiner als ein bestimmter Schwellenwert E0 ist, dann wird pwef auf 0 eingestellt. Ein geeigneter Wert von E0 kann 211K sein, wenn die Eingangssignalmuster als signierte ganze 16Bit-Zahlen dargestellt werden. Wenn E > E0, dann berechnet das Modul 210 ferner den ersten normierten Autokorrelationskoeffizienten
    Figure 00150002
  • Wenn ρ1 kleiner als ein Schwellenwert von beispielsweise T1 = 0,4 ist, wird pwef auf 0 eingestellt, ansonsten überprüft das Modul 210, ob die folgende Ungleichung wahr ist:
    Figure 00150003
  • Beispielhafte Werte der Parameter sind T1 = 0,4, T2 = 0,99, F1 = 2,0 und F2 = 1,1. Wenn diese Ungleichung wahr ist, dann wird pwef auf 0 eingestellt. Wenn pwef alle drei obigen Prüfungen übersteht, bleibt sein Wert auf dem voreingestellten Wert von 1.
  • Die obige Ungleichung kann wie folgt verstanden werden. Nehmen wir an, dass E – nc(ppfep) ⇒ 0, was im Allgemeinen zutrifft, es sei denn, die Signalenergie E selbst beträgt null. Ein Dividieren beider Seiten der Ungleichung durch E – nc(ppfep)
    Figure 00160001
  • Das Verhältnis auf der linken Seite ist die "Ein-Abgriff-Pitch-Prädiktionsverstärkung" in der linearen Domäne (anstelle der Log-Domäne) für das decodierte Sprachsignal im Analysefenster n ϵ [(N – K + 1), N], wenn die Pitch-Periode ppfep ist. Der Ausdruck auf der rechten Seite ist eine lineare Funktion von ρ1, oder y = f(x) = f(ρ1), die eine gerade Linie darstellt, die in der X-Y-Ebene durch die zwei Punkte (T1, F1) und (T2, F2) verläuft. Bei den vorstehend angegebenen beispielhaften Parameterwerten, wenn ρ1 = 0,4, beträgt der Schwellenwert für die Pitch-Prädiktionsverstärkung 2,0 in der linearen Domäne. Wenn die Pitch-Prädiktionsverstärkung niedriger als dieser Schwellenwert von 2,0 ist, wird das decodierte Sprachsignal im Analysefenster nicht als hochperiodisches stimmhaftes Sprachsignal betrachtet und pwef auf 0 eingestellt. Dieser Schwellenwert wird auf 1,1 reduziert, wenn ρ1 = 0,99. Wenn ρ1 zwischen 0,4 und 0,99 liegt, wird der Schwellenwert durch die gerade Linie bestimmt, die (0,4, 2,0) und (0,99, 1,1) miteinander verbindet. Das Konzept besteht darin, dass, wenn der erste normierte Autokorrelationskoeffizient ρ1 kleiner ist, der Pitch-Prädiktionsverstärkungschwellenwert größer sein muss und umgekehrt. Dieser Schwellenwert ist gemäß dem Wert von ρ1 adaptiv.
  • Basierend auf der vorläufigen Zeitverzögerung ppfep und dem periodischen Wellenformextrapolations-Flag pwef, bestimmt das Endgültige-Zeitverzögerungs- und Skalierfaktormodul 212 die endgültige Zeitverzögerung und den Skalierfaktor für die Wellenformextrapolation im aktuellen Frame.
  • Wenn pwef = 1, oder wenn ppfep nicht kleiner als ein Schwellenwert T0 ist, dann wird ppfep als die endgültige Zeitverzögerung verwendet, d.h. ppfe = ppfep, und der Skalierfaktor ptfe (für den Pitch-Abgriff der Frame-Löschung) wird wie folgt berechnet
    Figure 00160002
  • Der Nenner in der obigen Gleichung beträgt typischerweise nicht null. In dem entarteten Fall, in dem er null beträgt, wird pfte ebenfalls auf null eingestellt. Wenn ptfe > 1,1, wird ptfe auf 1,1 eingestellt, um ein zu schnelles lineares Ansteigen der extrapolierten Wellenform zu vermeiden. Ein geeigneter Wert von T0 ist die Anzahl an Mustern, die einem 10ms-Zeitintervall entspricht.
  • Der vorstehend berechnete Skalierfaktor ptfe ist normalerweise positiv. In dem seltenen Fall jedoch, in dem c(ppfe), der Korrelationswert während der Zeitverzögerung ppfe, negativ ist, wie vorstehend in Bezug auf das Vorläufige-Zeitverzögerungsmodul 208 besprochen, sollte der vorstehend berechnete Skalierfaktor ptfe negiert werden. Wenn der negierte Wert kleiner als –1 ist, wird er auf –1 begrenzt.
  • Wenn pwef = 0 und ppfep < T0, besteht eine höhere Wahrscheinlichkeit, dass die periodische Wellenformextrapolation ein Brummgeräusch erzeugt. Zur Vermeidung des potentiellen Brummgeräusches, sucht die vorliegende Erfindung nach einer weiteren geeigneten Zeitverzögerung ppfe ≥ T0. Durch die Bedingung, dass die Zeitverzögerung ppfe groß genug sein muss, wird die Wahrscheinlichkeit von Brummgeräuschen stark reduziert. Zur Minimierung der potentiellen Qualitätsverschlechterung, die durch eine falsche Klassifizierung eines periodischen stimmhaften Sprachsegments in etwas, das es nicht ist, verursacht wird, sucht die vorliegende Erfindung in der Nachbarschaft des ersten ganzzahligen Vielfachen von ppfep, das nicht kleiner als T0 ist. Auf diese Weise besteht sogar dann, wenn pwef 1 betragen haben sollte und fälschlich als 0 klassifiziert wurde, eine gute Chance, dass ein ganzzahliges Vielfaches der wahren Pitch-Periode als endgültige Zeitverzögerung für die periodische Wellenformextrapolation gewählt wird.
  • Das Modul 212 bestimmt die endgültige Zeitverzögerung ppfe und den Skalierfaktor ptfe auf die folgende Weise, wenn pwef = 0 und ppfep < T0. Zunächst ermittelt es die kleinste ganze Zahl m, die den folgenden Ausdruck erfüllt m × ppfep ≥ T0.
  • Dann stellt es m1, die Untergrenze des Zeitverzögerungssuchbereichs, auf m × ppfep – 3 oder T0 ein, je nachdem was größer ist. Die Obergrenze des Suchbereichs wird auf m2 = m1 + Ns – 1 ein, wobei Ns die Anzahl möglicher Zeitverzögerungen im Suchbereich ist. Als Nächstes berechnet das Modul 212 für jede Zeitverzögerung j im Suchbereich von [m1, m2]
    Figure 00180001
    und wählt dann die Zeitverzögerung j ϵ [m1, m2] aus, die D(j) minimiert. Im Grunde wird nach einem Stück einer zuvor decodierten Sprachwellenform gesucht, das den ersten d Mustern des Ringing des Synthesefilters am ehesten entspricht. Normalerweise d < L, wobei ein möglicher Wert für d 2 beträgt. Die Zeitverzögerung j, die die obige D(j) minimiert, wird als die endgültige Zeitverzögerung ppfe gewählt. Der entsprechende Skalierfaktor wird wie folgt berechnet.
  • Figure 00180002
  • Wiederum wird, in dem entarteten Fall, in dem der Nenner der obigen Gleichung null beträgt, ptfe ebenfalls auf null eingestellt. Darüber hinaus wird er, wenn der auf diese Weise berechnete ptfe größer als 1,3 ist, auf 1,3 begrenzt.
  • Nachdem sowohl ppfe als auch ptfe bestimmt worden sind, extrapoliert ein L-Muster-Sprachextrapolationsmodul 214 die ersten L Sprachmuster im aktuellen Frame. Ein möglicher Wert von L beträgt 5 Muster. Die Extrapolation der ersten L Muster des aktuellen Frames kann dann wie folgt ausgedrückt werden sq(n) = ptfe × sq(n – ppfe), bei n = N + 1, N + 2, ..., N + L.
  • Bei den ersten L Mustern des aktuellen Frames verbindet ein Overlap-Addierer 216 das vorstehend extrapolierte sq(n)-Signal gleichmäßig mit r(n), dem in der Ringing-Recheneinrichtung 206 berechneten Ringing des Synthesefilters, unter Verwendung des nachfolgenden Overlap-Add-Verfahrens. sq(N + n) ← wu(n)sq(N + n) + wd(n)r(n), bei n = 1, 2, ..., L.
  • In der obigen Gleichung bedeutet das Zeichen "←", dass die Größe auf ihrer rechten Seite die variablen Werte auf ihrer linken Seite überschreibt. Die Fensterfunktion wu(n) repräsentiert das linear ansteigende Overlap-Add-Fenster, während wd(n) das linear abfallende Overlap-Add-Fenster repräsentiert. Diese Overlap-Add-Fenster erfüllen die Bedingung: wu(n) + wd(n) = 1.
  • Es können mehrere unterschiedliche Overlap-Add-Fenster verwendet werden. Das im Goodman-Dokument erwähnte angehobene Kosinusfenster kann hierbei verwendet werden. Alternativ kann auch ein einfacheres dreieckiges Fenster verwendet werden.
  • Nachdem die ersten L Muster des aktuellen Frames extrapoliert und in einer Overlap-Add-Operation zusammengesetzt worden sind, extrapoliert ein Restmustersprachextrapolierer 218 die restlichen Muster des aktuellen Frames. Wenn ppfe ≥ Nf, wird die Extrapolation wie folgt durchgeführt sq(n) = ptfe × sq(n – ppfe), bei n = N + L + 1, N + L + 2, ..., N + Nf.
  • Wenn ppfe < Nf, wird die Extrapolation wie folgt durchgeführt sq(n) = ptfe × sq(n – ppfe), bei n = N + L + 1, N + L + 2, ..., N + ppfe,und dann sq(n) = sq(n – ppfe), bei n = N + ppfe + 1, N + ppfe + 2, ..., N + Nf.
  • Die Eliminierung des Skalierfaktors ptfe vom zweiten Zyklus an dient dazu, ein zu großes Wellenformgrößenwachstum infolge der Extrapolation von hohen (high-pitched) Sprachsignalen (niedrige Pitch-Periode) während einer erweiterten Frame-Löschung zu vermeiden.
  • Wenn die Frame-Löschung über eine erweiterte Zeitspanne andauert, sollte das FEC-Schema die periodische Extrapolation nicht unbegrenzt fortsetzen, da das extrapolierte Sprachsignal ansonsten dem Klang eines stetigen Tonsignals zu ähneln beginnt. Bei der bevorzugten Ausführungsform der vorliegenden Erfindung beginnt ein Wellenformabschwächungsglied 220 mit der Wellenformabschwächung in dem Moment, in dem die Frame-Löschung 20 ms gedauert hat. Von da an wird die Hüllkurve der extrapolierten Wellenform linear gegen null abgeschwächt und die Wellenformgröße erreicht bei 60 ms der Löschung aufeinander folgender Frames null. Nach 60 ms ist der Ausgang vollständig gedämpft. Eine erfindungsgemäß durchgeführte beispielhafte Abschwächungstechnik ist in 3(a) gezeigt.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung kann bei einem Rauschrückkopplungs-Codec verwendet werden, der beispielsweise eine Frame-Größe von 5 ms hat. In diesem Fall stellt das Zeitintervall zwischen jedem benachbarten Paar vertikaler Linien in 3(a) einen Frame dar.
  • Wenn eine Frame-Löschung z.B. über 12 aufeinander folgende Frames (5 × 12 = 60 ms) oder mehr andauert, besteht der einfachste Weg, diese Wellenformabschwächung durchzuführen darin, die Sprachsignale der ersten 12 gelöschten Frames zu extrapolierten, die resultierenden 60 ms der Wellenform zu speichern und dann das Abschwächungsfenster aus 3(a) anzuwenden. Dieser einfache Ansatz macht jedoch eine zusätzliche Verzögerung erforderlich, um bis zu 60 ms extrapolierter Sprachsignale zwischenzuspeichern.
  • Zur Vermeidung jedweder zusätzlicher Verzögerungen wendet der Wellenformabschwächer 220 aus 2 das Wellenformabschwächungsfenster Frame für Frame an, ohne jegliche zusätzliche Zwischenspeicherung. Von dem sechsten aufeinander folgenden gelöschten Frame an, ab 25 ms in 3(a), kann der Abschwächer 220 den entsprechenden Abschnitt des Fensters für diesen Frame in 3(a) nicht direkt anwenden. Eine Wellenformdiskontinuität tritt an der Frame-Grenze auf, da der entsprechende Abschnitt des Abschwächungsfensters mit einem Wert beginnt, der kleiner als Eins ist (7/8, 6/8, 5/8, etc.). Dies bewirkt eine plötzliche Abnahme des Wellenformmusterwerts am Anfang des Frames und somit eine akustische Wellenformdiskontinuität.
  • Zur Beseitigung dieses Problems normiert die vorliegende Erfindung jeden 5 ms-Abschnitt des Abschwächungsfensters gemäß 3(a) durch seinen Anfangswert am linken Rand. Beim sechsten Frame (25 ms bis 30 ms) beispielsweise liegt das Fenster zwischen 7/8 und 6/8, wobei ein Normieren dieses Abschnitts durch 7/8 ein Fenster zwischen 1 und (6/8)/(7/8) = 6/7 ergibt. Ebenso liegt das Fenster beim siebten Frame (30 ms bis 35 ms) zwischen 6/8 und 5/8, wobei ein Normieren dieses Abschnitts durch 6/8 ein Fenster zwischen 1 und (5/8)/(6/8) = 5/6 ergibt. Ein solches normiertes Abschwächungsfenster für jeden Frame ist in 3(b) gezeigt.
  • Wie in 3(b) gezeigt, kann die vorliegende Erfindung, anstatt jedes Muster in dem normierten Abschwächungsfenster zu speichern, einfach das Dekrement zwischen benachbarten Mustern des Fensters für jeden der acht Fensterabschnitte vom fünften bis zum zwölften Frame speichern. Dieses Dekrement ist die Menge der Gesamtabnahme der Fensterfunktion bei jedem Frame (1/8 beim fünften gelöschten Frame, 1/7 beim sechsten gelöschten Frame und so weiter), geteilt durch Nf, der Anzahl an Sprachmustern in einem Frame.
  • Bei dem vorstehenden Beispiel muss der Wellenformabschwächer 220, wenn die Frame-Löschung nur 20 ms oder weniger gedauert hat, keine Wellenformabschwächungsoperation durchführen. Wenn die Frame-Löschung länger als 20 ms gedauert hat, wendet der Abschwächer 220 den geeigneten Abschnitt des normierten Wellenformabschwächungsfensters gemäß 3(b) abhängig davon an, wie viele aufeinander folgende Frame bislang gelöscht worden sind. Wenn beispielsweise der aktuelle Frame der sechste aufeinander folgende gelöschte Frame ist, dann wendet der Abschwächer 220 den Abschnitt des Fensters zwischen 25 ms und 30 ms (mit der Fensterfunktion zwischen 1 und 6/7) an. Da das normierte Wellenformabschwächungsfenster bei jedem Frame immer mit Eins beginnt, bewirkt die Fensteroperation keine Wellenformdiskontinuität am Anfang des Frames.
  • Die normierte Fensterfunktion wird nicht gespeichert. Stattdessen wird sie "on the fly" (ohne zeitliche Verzögerung) berechnet. Beginnend mit einem Wert von 1 multipliziert der Abschwächer 220 das erste Wellenformmuster des aktuellen Frames mit 1 und reduziert dann den Fensterfunktionswert um den vorab berechneten und gespeicherten Dekrementwert, wie vorstehend beschrieben. Es multipliziert dann das zweite Wellenformmuster mit dem resultierenden dekrementierten Fensterfunktionswert. Der Fensterfunktionswert wird wiederum um den Dekrementwert reduziert und das Ergebnis dazu verwendet, das dritte Wellenformmuster des Frames zu skalieren. Dieses Verfahren wird bei allen Mustern der extrapolierten Wellenform im aktuellen Frame wiederholt.
  • Der Wellenformabschwächer 220 erzeugt den Ausgang sq'(n) für den aktuellen gelöschten Frame, wie in 2 gezeigt. Der Ausgang sq'(n) wird durch den Schalter 202 geleitet und wird zu dem endgültigen Ausgangssprachsignal für den aktuellen gelöschten Frame. Der aktuelle Frame von sq'(n) wird an das Sprachspeichermodul 204 weitergeleitet, um den aktuellen Frame-Abschnitt des sq(n)-Sprachpuffers zu aktualisieren, der darin gespeichert ist. Angenommen, dass sq'(n), n = 1, 2, ..., Nf der Ausgang des Wellenformabschwächers 220 für den aktuellen gelöschten Frame ist, dann wird der sq(n)-Puffer des Sprachspeichermoduls 204 wie folgt aktualisiert: sq(N + n) = sq'(n), n = 1, 2, ..., Nf.
  • Dieses Signal sq'(n) wird auch an ein Filterspeicheraktualisierungsmodul 222 weitergeleitet, um den Speicher 201, oder die inneren Zustände, der Filter, im herkömmlichen Decoder 100 zu aktualisieren. Die Filterspeicheraktualisierung wird durchgeführt, um sicherzustellen, dass der Filterspeicher mit der extrapolierten Sprachwellenform im aktuellen gelöschten Frame übereinstimmt. Dies ist für einen glatten Übergang der Sprachwellenform am Anfang des nächsten Frames erforderlich, wenn sich der nächste Frame als guter Frame erweist. Wenn der Filterspeicher 201 ohne eine solche ordnungsgemäße Aktualisierung belassen werden würde, wäre im Allgemeinen ein akustischer Störimpuls oder eine akustische Störung am Anfang des nächsten guten Frames vorhanden.
  • Beim Aktualisieren des Filterspeichers 201 nach einer Frame-Löschung arbeitet das Filterspeicheraktualisierungsmodul 222 rückwärts von dem aktualisierten Sprachpuffer sq(n) im herkömmlichen Decoder 100. Wenn der Kurzzeit-Prädiktor eine Größenordnung M hat, dann besteht der aktualisierte Speicher einfach aus den letzten M Mustern des extrapolierten Sprachsignals für den aktuellen gelöschten Frame, jedoch mit umgekehrter Reihenfolge. Angenommen, dass stsm(k) der k-te Speicherwert des Kurzzeitsynthesefilters 190 gemäß 1 oder der in der Verzögerungsleitung gespeicherte Wert ist, der dem Koeffizienten ak des k-ten Kurzzeit-Prädiktors 120 entspricht. Dann wird der Speicher 201 des Kurzzeitsynthesefilters wie folgt aktualisiert stsm(k) = sq(N + Nf + 1 – k), k = 1, 2, ..., M.
  • Zum Aktualisieren des Speichers 201 des FIR-Langzeit-Prädiktors 140 führt das Filterspeicheraktualisierungsmodul 222 eine Kurzzeit-Prädiktionsfehlerfilterung des extrapolierten Sprachsignals des aktuellen Frames durch, wobei der Anfangsspeicher des Kurzzeit-Prädiktors 120 auf die letzten M Muster des Ausgangssprachsignals im letzten Frame mit umgekehrter Reihenfolge eingestellt wird. Spezifischer wird, angenommen stpm(k) ist der k-te Speicherwert für das Kurzzeit-Prädiktionsfehlerfilter, wird ein solcher Speicher wie folgt initialisiert stpm(k) = sq(N + 1 – k), k = 1, 2, ..., M.
  • Der Kurzzeit-Prädiktor 120 hat folgende Transferfunktion
    Figure 00220001
  • Mit stpm(k), k = 1, 2, ..., M als Anfangsfilterspeicher von A(z) leitet das Filterspeicheraktualisierungsmodul 222 das extrapolierte Sprachsignal für den aktuellen gelöschten Frame, sq'(n), n = 1, 2, ..., Nf, durch dieses Filter A(z). Die entsprechenden Nf Muster am Ausgang dieses Filters A(z) werden dazu verwendet, den aktuellen Frame-Abschnitt des Speichers des FIR-Langzeit-Prädiktors 140 zu aktualisieren.
  • Wenn keiner der Nebeninformationssprachparameter (LPC, Pitch-Periode, Pitch-Abgriffe und Erregungsverstärkung) unter Verwendung einer prädiktive Codierung quantisiert wird, sind die Operationen des Filterspeicheraktualisierungsmoduls 222 abgeschlossen. Wenn andererseits für Nebeninformationen eine prädiktive Codierung verwendet wird, muss das Filterspeicheraktualisierungsmodul 222 außerdem den Speicher der beteiligten Prädiktoren aktualisieren, um die Diskontinuität der decodierten Sprachparameter beim nächsten guten Frame zu minimieren.
  • Bei einem beispielhaften Rauschrückkopplungs-Codec, bei dem die bevorzugte Ausführungsform der vorliegenden Erfindung verwendet werden kann, wird eine gleitende Durchschnitts-(MA-/Moving-Average) Prädiktionscodierung zum Quantisieren sowohl der LSP-(Line-Spectrum Pair) Parameter als auch der Erregungsverstärkung verwendet. Die prädiktiven Codierschemata für diese Parameter funktionieren wie folgt. Bei jedem Parameter wird der Langzeit-Mittelwert dieses Parameters offline berechnet und von dem nicht quantisierten Parameterwert subtrahiert. Der prädizierte Wert des mittelwertbereinigten Parameters wird dann von dem mittelwertbereinigten Parameterwert subtrahiert. Ein Quantisierer (nicht gezeigt) quantisiert den resultierenden Prädiktionsfehler. Der Ausgang des Quantisierers wird als Eingang des zugeordneten MA-Prädiktors (nicht gezeigt) verwendet. Sowohl der prädizierte Parameterwert als auch der Langzeitmittelwert werden wieder zum Quantisiererausgangswert addiert, um einen endgültigen quantisierten Parameterwert zu rekonstruieren.
  • Bei einer Ausführungsform der vorliegenden Erfindung erzeugen die Module 208 bis 220 das extrapolierte Sprachsignal für den aktuellen gelöschten Frame. Theoretisch ist es bei dem aktuellen Frame nicht nötig, die Nebeninformationssprachparameter zu extrapolieren, da die Ausgangssprachwellenform bereits erzeugt worden ist. Um sicherzustellen, dass die LSP- und Verstärkungsdecodieroperationen beim nächsten guten Frame reibungslos ablaufen, ist es jedoch hilfreich, anzunehmen, dass diese Parameter anhand des letzten Frames extrapoliert worden sind. Dies kann durch einfaches Kopieren der Parameterwerte des letzten Frames und anschließendes "Rückwärtsarbeiten" von diesen extrapolierten Parameterwerten durchgeführt werden, um den Prädiktor-Speicher der prädiktiven Quantisierer bezogen auf diese Parameter zu aktualisieren.
  • Unter Verwendung des vorstehend dargelegten Prinzips kann ein Prädiktor-Speicher in einem prädiktiven LSP-Quantisierer wie folgt aktualisiert werden. Beim k-ten LSP-Parameter kann sein prädizierter Wert als das innere Produkt der Prädiktor-Koeffizientenanordnung und der Prädiktor-Speicheranordnung bezogen auf den k-ten LSP-Parameter berechnet werden. Dieser prädizierte Wert und der Langzeitmittelwert des k-ten LSP werden dann beim letzten Frame vom k-ten LSP-Parameterwert subtrahiert. Der resultierende Wert wird dazu verwendet, die neueste Speicherstelle des Prädiktors des k-ten LSP-Parameters (nachdem die Originaleinstellung des Prädiktor-Speichers um eine Speicherstelle verschoben wurde, wie im Stand der Technik wohlbekannt ist) zu aktualisieren. Dieser Vorgang wird bei allen LSP-Parametern (von denen es M gibt) wiederholt.
  • Wenn die Frame-Löschung nur 20 ms oder weniger dauert, wird kein Wellenformabschwächungsfenster angewandt und es wird davon ausgegangen, dass die Erregungsverstärkung des aktuellen gelöschten Frames der Erregungsverstärkung des letzten Frames entspricht. In diesem Fall entspricht die Speicheraktualisierung des Verstärkungs-Prädiktors im Wesentlichen der Speicheraktualisierung der vorstehend beschriebenen LSP-Prädiktoren. Im Grunde wird der prädizierte Wert der Log-Verstärkung durch Berechnen des inneren Produkts der Prädiktor-Koeffizientenanordnung und der Prädiktor-Speicheranordnung bezogen auf die Log-Verstärkung berechnet. Diese prädizierte Log-Verstärkung und der Langzeitmittelwert der Log-Verstärkung werden dann von dem Log-Verstärkungswert des letzten Frames subtrahiert. Der resultierende Wert wird zum Aktualisieren der neuesten Speicherstelle des Log-Verstärkungs-Prädiktors (nachdem die Originaleinstellung des Prädiktor-Speichers um eine Speicherstelle verschoben wurde, was im Stand der Technik wohlbekannt ist) verwendet.
  • Wenn die Frame-Löschung länger als 60 ms dauert, wird das Ausgangssprachsignal auf null eingestellt und es wird angenommen, dass sich die Basis-2-Log-Verstärkung auf einem künstlich festgelegten voreingestellten Ruheniveau von –2,5 befindet. Die prädizierte Log-Verstärkung und der Langzeitmittelwert der Log-Verstärkung werden wiederum von diesem voreingestellten Niveau von –2,5 subtrahiert und der resultierende Wert dazu verwendet, die neueste Speicherstelle des Log-Verstärkungs-Prädiktors zu aktualisieren.
  • Wenn die Frame-Löschung länger als 20 ms dauert, aber 60 ms nicht übersteigt, dann stellt die Aktualisierung des Prädiktor-Speichers des prädiktiven Verstärkungsquantisierers eine Herausforderung dar, da die extrapolierte Sprachwellenform unter Verwendung des Wellenformabschwächungsfensters gemäß den 3(a) und 3(b) abgeschwächt wird. Der Log-Verstärkungs-Prädiktorspeicher wird basierend auf dem Log-Verstärkungswert des Wellenformabschwächungsfensters in jedem Frame aktualisiert.
  • Zur Minimierung der Codegröße bei jedem der Frames vom fünften bis zum zwölften Frame der Frame-Löschung kann ein Korrekturfaktor anhand der Log-Verstärkung des letzten Frames basierend auf dem Abschwächungsfenster gemäß den 3(a) und (b) vorausberechnet werden. Der Korrekturfaktor wird dann gespeichert. Der folgende Algorithmus berechnt diese 8 Korrekturfaktoren oder Log-Verstärkungsabschwächungsfaktoren.
    • 1. Initialisiere lastlg = 0. (lastlg = letzte Log-Verstärkung = Log-Verstärkung des letzten Frames)
    • 2. Initialisiere j = 1.
    • 3. Berechne die normierte Abschwächungsfensteranordnung
      Figure 00250001
    • 4. Berechne
      Figure 00250002
    • 5. Berechne lgα(j) = lastlg – lg.
    • 6. Wenn j < 8, dann stelle
      Figure 00250003
      ein.
    • 7. Wenn j = 8, Stopp, ansonsten inkrementiere j um 1 (d.h. j←j + 1), dann gehe zurück zu Schritt 3.
  • Der obige Algorithmus berechnet den Basis-2-Log-Verstärkungswert des Wellenformabschwächungsfensters für einen gegebenen Frame. Er bestimmt dann die Differenz zwischen diesem Wert und einer ähnlich berechneten Log-Verstärkung für das Fenster des früheren Frames, die bezogen auf die Normierung des Beginns des Fensters auf Eins für jeden Frame kompensiert ist. Der Ausgang dieses Algorithmus ist die Anordnung der Log-Verstärkungsabschwächungsfaktoren lga(j) bei j = 1, 2, ..., 8. Es wird darauf hingewiesen, dass lga(j) dem (4 + j)-ten Frame der Frame-Löschung entspricht.
  • Sobald die lga(j)-Anordnung vorausberechnet und gespeichert worden ist, wird die Log-Verstärkungs-Prädiktor-Speicheraktualisierung bei einer Frame-Löschung, die 20 ms bis 60 ms dauert, einfach. Wenn der aktuelle gelöschte Frame der j-te Frame der Frame-Löschung (4 < j ≤ 12) ist, wird lga(j – 4) vom Log-Verstärkungswert des letzten Frames subtrahiert. Von dem Ergebnis dieser Subtraktion werden die prädizierte Log-Verstärkung und der Langzeitmittelwert der Log-Verstärkung subtrahiert und der resultierende Wert dazu verwendet, die neueste Speicherstelle des Log-Verstärkungs-Prädiktors zu aktualisieren.
  • Nachdem das Filterspeicheraktualisierungsmodul 222 alle aktualisierten Filterspeicherwerte berechnet hat, verwendet der herkömmliche Decoder 100 diese Werte zum Aktualisieren des Speichers 201. Es aktualisiert insbesondere den Speicher seines Kurzzeitsynthesefilters 190, seines Langzeitsynthesefilters 180 und aller Prädiktoren, sofern vorhanden, die in Nebeninformationsquantisierern verwendet werden, als Vorbereitung der Decodierung des nächsten Frames, wobei es davon ausgeht, dass der nächste Frame in intaktem Zustand empfangen wird.
  • Die 4(a) und 4(b) stellen ein beispielhaftes Verfahren zum Umsetzen der bevorzugten Ausführungsform der vorliegenden Erfindung bereit. Die vorliegende Erfindung beginnt damit, Muster des decodierten Ausgangssignals in einem Speicher zu speichern, wie in Block 400 angegeben. Die vom Decoder 100 ausgegebene decodierte Sprachwellenform wird analysiert und der vorläufige Zeitverzögerungswert in Block 402 bestimmt. Als nächstes wird der Signalausgang der Operation von Block 402 analysiert und klassifiziert, um zu bestimmen, ob eine periodische Wiederholung durchgeführt werden kann. Wenn bestimmt wird, dass das Signal ausreichend periodisch ist, wird das periodische Wiederholungs-Flag gesetzt und die endgültige Zeitverzögerung und der Skalierfaktor werden bestimmt, wie in den Blöcken 404 bzw. 406 angegeben.
  • Nach der Bestimmung der endgültigen Zeitverzögerung und des Skalierfaktors extrapoliert die vorliegende Erfindung L Sprachmuster und berechnet L Ringing-Muster des Synthesefiltermoduls 195 basierend auf der bestimmten endgültigen Zeitverzögerung und dem bestimmten Skalierfaktor, wie in den Blöcken 408 bzw. 410 gezeigt. Die L extrapolierten Muster und die L Ringing-Muster des Synthesefilters werden dann in einer Overlap-Add-Operation zusammengesetzt, wie in Block 412 angegeben. Die restlichen Muster werden dann extrapoliert, wie in Block 414 angegeben. Die Blöcke 408, 410, 412 und 414 arbeiten zusammen, um potentielle Diskontinuitäten zwischen Frames zu beseitigen. Wenn die Frame-Löschung fortgesetzt wird, wird in Block 416 ein Wellenformabschwächungsverfahren initiiert. Schließlich wird der Speicher der Filter aktualisiert, um sicherzustellen, dass sein Inhalt mit der extrapolierten Sprachwellenform im aktuellen gelöschten Frame übereinstimmt, wie in Block 418 gezeigt, und das Verfahren endet.
  • Die folgende Beschreibung eines Universal-Computersystems wird aus Gründen der Vollständigkeit angegeben. Wie vorstehend erwähnt, kann die vorliegende Erfindung 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 500 ist in 5 gezeigt. Bei der vorliegenden Erfindung können sämtliche der beispielsweise in den 1 und 2 dargestellten Elemente in einem oder mehreren unterschiedlichen Computersystemen 500 arbeiten, um die verschiedenen erfindungsgemäßen Verfahren auszuführen.
  • Das Computersystem 500 umfasst einen oder mehrere Prozessoren, wie etwa den Prozessor 504. Der Prozessor 504 kann ein digitaler Spezial- oder Universal-Signalprozessor sein und er ist mit einer Kommunikationsinfrastruktur 506 (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 500 umfasst außerdem einen Hauptspeicher 508, bevorzugt einen Direktzugriffsspeicher (RAM), und kann auch einen sekundären Speicher 510 umfassen. Der sekundäre Speicher 510 kann beispielsweise ein Festplattenlaufwerk 512 und/oder ein Wechselspeicherlaufwerk 514 umfassen, das ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein optisches Plattenlaufwerk, etc. repräsentiert. Das Wechselspeicherlaufwerk 514 liest eine Wechselspeichereinheit 518 und/oder schreibt in diese auf wohlbekannte Art und Weise. Die Wechselspeichereinheit 518 repräsentiert eine Diskette, ein Magnetband, eine optische Platte, etc., die/das durch das Wechselspeicherlaufwerk 514 gelesen oder beschrieben wird. Es versteht sich, dass die Wechselspeichereinheit 518 ein computernutzbares Speichermedium umfasst, in dem Computersoftware und/oder Daten gespeichert sind.
  • Bei alternativen Ausführungen kann der sekundäre Speicher 510 andere ähnliche Einrichtungen umfassen, damit Computerprogramme oder andere Befehle in das Computersystem 500 geladen werden können. Solche Einrichtungen können beispielsweise eine Wechselspeichereinheit 522 und eine Schnittstelle 520 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 522 und Schnittstellen 520 umfassen, die es ermöglichen, Software und Daten von der Wechselspeichereinheit 522 an ein Computersystem 500 zu übertragen.
  • Das Computersystem 500 kann außerdem eine Kommunikationsschnittstelle 524 umfassen. Die Kommunikationsschnittstelle 524 ermöglicht es, Software und Daten zwischen dem Computersystem 500 und externen Einrichtungen zu übertragen. Beispiele für eine Kommunikationsschnittstelle 524 können ein Modem, eine Netzwerkschnittstelle (wie etwa eine Ethernet-Karte), einen Kommunikationsport, eine(n) PCMCIA-Schlitz und -Karte, etc. umfassen. Über die Kommunikationsschnittstelle 524 übertragene Software und Daten haben die Form von Signalen 528, die elektronische, elektromagnetische, optische oder andere Signale sein können, die von der Kommunikationsschnittstelle 524 empfangen werden können. Diese Signale 528 werden der Kommunikationsschnittstelle 524 über einen Kommunikationspfad 526 zugeführt. Der Kommunikationspfad 526 überträgt die Signale 528 und kann unter Verwendung eines Drahtes oder Kabels, einer Glasfaser, einer Telefonleitung, einer Mobiltelefonverbindung, einer HF-Verbindung und anderer Kommunikationskanäle ausgeführt werden.
  • Bei der vorliegenden Anmeldung werden die Begriffe "computerlesbares Medium" und "computernutzbares Medium" so verwendet, dass sie sich allgemein auf Medien beziehen, wie etwa das Wechselspeicherlaufwerk 514, eine in das Festplattenlaufwerk 512 installierte Festplatte und die Signale 528. Diese Computerprogrammprodukte sind Einrichtungen zum Zuführen von Software an das Computersystem 500.
  • Computerprogramme (auch Computersteuerlogik genannt) werden im Hauptspeicher 508 und/oder sekundären Speicher 510 gespeichert. Die Computerprogramme können auch über die Kommunikationsschnittstelle 524 empfangen werden. Solche Computerprogramme ermöglichen es dem Computersystem 500, 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 504, die erfindungsgemäßen Verfahren auszuführen. Demgemäß stellen solche Computerprogramme Steuereinrichtungen des Computersystems 500 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 514, des Festplattenlaufwerks 512 oder der Kommunikationsschnittstelle 524 in das Computersystem 500 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 Form einschränken. Modifikationen und Variationen sind in Übereinstimmung mit der vorstehenden Lehre möglich oder gehen aus der Umsetzung der Erfindung in Praxis hervor. Der Schutzumfang der Erfindung wird ausschließlich durch die anhängigen Ansprüche eingeschränkt.

Claims (54)

  1. Verfahren zum Synthetisieren einer beschädigten Sprach-Frame-Wellenform, die von einem Prädiktions-Decoder (100) ausgegeben wird, der ein oder mehrere Prädiktions-Filter umfasst, wobei die beschädigte Sprach-Frame-Wellenform repräsentativ für ein Segment eines decodierten Sprachsignals ist, das von dem Prädiktions-Decoder (100) ausgegeben wird, wobei das Verfahren umfasst: – Extrapolieren einer Ersatz-Sprach-Frame-Wellenform basierend auf einem anderen Sprachwellenformsegment des decodierten Sprachsignals, – Ersetzen der beschädigten Sprach-Frame-Wellenform durch die Ersatz-Sprach-Frame-Wellenform, und – Aktualisieren interner Zustände der Filter basierend auf der Ersetzung, wobei – der Schritt des Extrapolierens einer Ersatz-Sprach-Frame-Wellenform umfasst: – Bestimmen einer endgültigen Zeitverzögerung (ppfe) durch: – Bestimmen von Zeitverzögerungen (j) innerhalb eines Wertebereichs [m1, m2], – Berechnen von
    Figure 00300001
    – Auswählen der Zeitverzögerung j ϵ [m1, m2], die D(j) minimiert, und – Bestimmen der ausgewählten Zeitverzögerung j als endgültige Zeitverzögerung (ppfe), wobei sq(N) dem letzten decodierten Sprachmuster in dem letzten unbeschädigten Frame entspricht, d eine vordefinierte Anzahl ist und r(n) Muster der Nulleingangsantwort des einen oder der mehreren Prädiktions-Filter sind.
  2. Verfahren nach Anspruch 1, wobei jede Sprach-Frame-Wellenform eine vordefinierte Anzahl an Sprachmustern enthält.
  3. Verfahren nach Anspruch 2, das ferner das Speichern von Sprachmustern des anderen Sprachwellenformsegments des decodierten Sprachsignals in einem Speicher umfasst.
  4. Verfahren nach Anspruch 3, das ferner das Bestimmen einer vorläufigen Zeitverzögerung (ppfep) basierend auf einer Untersuchung einer Anzahl (K) gespeicherter Sprachmuster in Übereinstimmung mit einem Analysefenster umfasst.
  5. Verfahren nach Anspruch 4, das ferner das Bestimmen eines Skalierfaktors (ptfe) umfasst.
  6. Verfahren nach Anspruch 5, wobei die endgültige Zeitverzögerung (ppfe) basierend auf einer Untersuchung einer Anzahl gespeicherter Sprachmuster bestimmt wird, und – wobei die Ersatz-Sprach-Frame-Wellenform auf der bestimmten endgültigen Zeitverzögerung (ppfe) basiert.
  7. Verfahren nach Anspruch 6, wobei die vorläufige Zeitverzögerung (ppfep) aus Kandidaten vorläufiger Zeitverzögerungen (j) ausgewählt wird, und wobei jedem der Kandidaten vorläufiger Zeitverzögerungen (j) jeweils zugeordnete Korrelationswerte (c(j)) in Übereinstimmung mit der folgenden Gleichung bestimmt werden:
    Figure 00310001
    wobei (K) die Größe des Analysefensters und sq(n) das decodierte Sprachsignal darstellt.
  8. Verfahren nach Anspruch 7, wobei die gewählte vorläufige Zeitverzögerung (ppfep) eine Pitch-Prädiktionsverstärkung im Analysefenster maximiert.
  9. Verfahren nach Anspruch 7, wobei die gewählte vorläufige Zeitverzögerung (ppfep) die folgende Gleichung maximiert:
    Figure 00310002
  10. Verfahren nach Anspruch 9, wobei basierend auf dem unabhängigen Anwenden des Analysefensters auf die Anzahl (K) gespeicherter Sprachmuster eine periodische Wiederholungsmarke gesetzt wird.
  11. Verfahren nach Anspruch 10, wobei das unabhängige Anwenden einen Energiebetrag (E) im Analysefenster bestimmt.
  12. Verfahren nach Anspruch 11, wobei der Energiebetrag (E) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00320001
  13. Verfahren nach Anspruch 12, wobei die periodische Wiederholungsmarke basierend auf einem Vergleich zwischen dem bestimmten Energiebetrag (E) und einem vordefinierten Schwellenwert gesetzt wird.
  14. Verfahren nach Anspruch 13, wobei, wenn der Energiebetrag (E) die vordefinierte Schwellenwertanforderung erfüllt, – ein erster normierter Autokorrelationskoeffizient (ρ1) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00320002
  15. Verfahren nach Anspruch 14, wobei die periodische Wiederholungsmarke gesetzt wird, wenn der erste normierte Autokorrelationskoeffizient (ρ1) eine vordefinierte Schwellenwertanforderung erfüllt.
  16. Verfahren nach Anspruch 15, wobei, wenn die periodische Wiederholungsmarke nicht gesetzt wird, die endgültige Zeitverzögerung (ppfe) basierend auf einer Zeitverzögerungssuche der gespeicherten Sprachmuster des decodierten Sprachsignals bestimmt wird.
  17. Verfahren nach Anspruch 16, wobei die Suche nach der endgültigen Zeitverzögerung (ppfe) der gespeicherten Sprachmuster in Übereinstimmung mit der folgenden Gleichung durchgeführt wird: m × ppfep ≥ T0 wobei (m) einen ganzzahligen Wert und (T0) einen Mindestintervallschwellenwert darstellt.
  18. Verfahren nach Anspruch 1, wobei der Skalierfaktor (pfte) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00330001
    wobei (d) eine erste Anzahl an Sprachmustern des Rufens eines der Prädiktions-Filter und (r(n)) ein von dem Prädiktions-Decoder ausgegebenes Rufsignal darstellt.
  19. Vorrichtung zum Synthetisieren einer beschädigten Sprach-Frame-Wellenform, die von einem Prädiktions-Decoder (100) ausgegeben wird, der ein oder mehrere Prädiktions-Filter umfasst, wobei die beschädigte Sprach-Frame-Wellenform repräsentativ für ein Segment eines decodierten Sprachsignals ist, das von dem Prädiktions-Decoder (100) ausgegeben wird, wobei die Vorrichtung umfasst: – eine Einrichtung zum Extrapolieren einer Ersatz-Sprach-Frame-Wellenform basierend auf einem anderen Sprachwellenformsegment des decodierten Sprachsignals, – eine Einrichtung zum Ersetzen der beschädigten Sprach-Frame-Wellenform durch die Ersatz-Sprach-Frame-Wellenform, und – eine Einrichtung zum Aktualisieren interner Zustände der Filter basierend auf der Ersetzung, wobei – die Einrichtung zum Extrapolieren einer Ersatz-Sprach-Frame-Wellenform umfasst: – eine Einrichtung zum Bestimmen einer endgültigen Zeitverzögerung (ppfe), wobei die Einrichtung umfasst: – eine Einrichtung zum Bestimmen von Zeitverzögerungen (j) innerhalb eines Wertebereichs [m1, m2] – eine Einrichtung zum Berechnen von
    Figure 00340001
    – eine Einrichtung zum Auswählen der Zeitverzögerung j ϵ [m1, m2], die D(j) minimiert, und – eine Einrichtung zum Bestimmen der ausgewählten Zeitverzögerung j als endgültige Zeitverzögerung (ppfe), wobei sq(N) dem letzten decodierten Sprachmuster in dem letzten unbeschädigten Frame entspricht, d eine vordefinierte Anzahl ist und r(n) Muster der Nulleingangsantwort des einen oder der mehreren Prädiktions-Filter sind.
  20. Vorrichtung nach Anspruch 19, wobei jede Sprach-Frame-Wellenform eine vordefinierte Anzahl an Sprachmustern enthält.
  21. Vorrichtung nach Anspruch 20, die ferner eine Einrichtung zum Speichern von Sprachmustern des anderen Sprachwellenformsegments des decodierten Sprachsignals in einem Speicher umfasst.
  22. Vorrichtung nach Anspruch 21, die ferner eine Einrichtung zum Bestimmen einer vorläufigen Zeitverzögerung (ppfep) basierend auf einer Untersuchung einer Anzahl (K) gespeicherter Sprachmuster in Übereinstimmung mit einem Analysefenster umfasst.
  23. Vorrichtung nach Anspruch 22, die ferner eine Einrichtung zum Bestimmen eines Skalierfaktors (ptfe) umfasst.
  24. Vorrichtung nach Anspruch 23, wobei die endgültige Zeitverzögerung (ppfe) basierend auf einer Untersuchung einer Anzahl gespeicherter Sprachmuster bestimmt wird, und – wobei die Ersatz-Sprach-Frame-Wellenform auf der bestimmten endgültigen Zeitverzögerung (ppfe) basiert.
  25. Vorrichtung nach Anspruch 24, wobei die vorläufige Zeitverzögerung (ppfep) aus Kandidaten vorläufiger Zeitverzögerungen (j) ausgewählt wird, und wobei jedem der Kandidaten vorläufiger Zeitverzögerungen (j) jeweils zugeordnete Korrelationswerte (c(j)) in Übereinstimmung mit der folgenden Gleichung bestimmt werden:
    Figure 00350001
    wobei (K) die Größe des Analysefensters und sq(n) das decodierte Sprachsignal darstellt.
  26. Vorrichtung nach Anspruch 25, wobei die gewählte vorläufige Zeitverzögerung (ppfep) eine Pitch-Prädiktionsverstärkung im Analysefenster maximiert.
  27. Vorrichtung nach Anspruch 25, wobei die gewählte vorläufige Zeitverzögerung (ppfep) die folgende Gleichung maximiert:
    Figure 00350002
  28. Vorrichtung nach Anspruch 27, die ferner eine Einrichtung zum Anwenden des Analysefensters umfasst, wobei basierend auf dem unabhängigen Anwenden des Analysefensters auf die Anzahl (K) gespeicherter Sprachmuster eine periodische Wiederholungsmarke gesetzt wird.
  29. Vorrichtung nach Anspruch 28, wobei die Einrichtung zum Anwenden einen Energiebetrag (E) im Analysefenster bestimmt.
  30. Vorrichtung nach Anspruch 29, wobei der Energiebetrag (E) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00360001
  31. Vorrichtung nach Anspruch 30, wobei die periodische Wiederholungsmarke basierend auf einem Vergleich zwischen dem bestimmten Energiebetrag (E) und einem vordefinierten Schwellenwert gesetzt wird.
  32. Vorrichtung nach Anspruch 31, wobei, wenn der Energiebetrag (E) die vordefinierte Schwellenwertanforderung erfüllt, – ein erster normierter Autokorrelationskoeffizient (ρ1) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00360002
  33. Vorrichtung nach Anspruch 32, wobei die periodische Wiederholungsmarke gesetzt wird, wenn der erste normierte Autokorrelationskoeffizient (ρ1) eine vordefinierte Schwellenwertanforderung erfüllt.
  34. Vorrichtung nach Anspruch 33, wobei, wenn die periodische Wiederholungsmarke nicht gesetzt wird, die endgültige Zeitverzögerung (ppfe) basierend auf einer Zeitverzögerungssuche der gespeicherten Sprachmuster des decodierten Sprachsignals bestimmt wird.
  35. Vorrichtung nach Anspruch 34, wobei die Suche nach der endgültigen Zeitverzögerung (ppfe) der gespeicherten Sprachmuster in Übereinstimmung mit der folgenden Gleichung durchgeführt wird: m × ppfep ≥ T0 wobei (m) einen ganzzahligen Wert und (T0) einen Mindestintervallschwellenwert darstellt.
  36. Vorrichtung nach Anspruch 19, wobei der Skalierfaktor (pfte) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00370001
    wobei (d) eine erste Anzahl an Sprachmustern des Rufens eines der Prädiktions-Filter und (r(n)) ein von dem Prädiktions-Decoder ausgegebenes Rufsignal darstellt.
  37. Computerlesbares Medium, das eine oder mehrere Sequenzen einer oder mehrerer Anweisungen zur Ausführung durch einen oder mehrere Prozessoren enthält, um ein Verfahren zum Synthetisieren einer beschädigten Sprach-Frame-Wellenform durchzuführen, die von einem Prädiktions-Decoder (100) ausgegeben wird, der ein oder mehrere Prädiktions-Filter umfasst, wobei die beschädigte Sprach-Frame-Wellenform repräsentativ für ein Segment eines decodierten Sprachsignals ist, das von dem Prädiktions-Decoder (100) ausgegeben wird, wobei die Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren die Schritte ausführen: – Extrapolieren einer Ersatz-Sprach-Frame-Wellenform basierend auf einem anderen Sprachwellenformsegment des decodierten Sprachsignals, – Ersetzen der beschädigten Sprach-Frame-Wellenform durch die Ersatz-Sprach-Frame-Wellenform, und – Aktualisieren interner Zustände der Filter basierend auf der Ersetzung, wobei – der Schritt des Extrapolierens einer Ersatz-Sprach-Frame-Wellenform umfasst: – Bestimmen einer endgültigen Zeitverzögerung (ppfe) durch: – Bestimmen von Zeitverzögerungen (j) innerhalb eines Wertebereichs [m1, m2], – Berechnen von
    Figure 00370002
    – Auswählen der Zeitverzögerung j ϵ [m1, m2], die D(j) minimiert, und – Bestimmen der ausgewählten Zeitverzögerung j als endgültige Zeitverzögerung (ppfe), wobei sq(N) dem letzten decodierten Sprachmuster in dem letzten unbeschädigten Frame entspricht, d eine vordefinierte Anzahl ist und r(n) Muster der Nulleingangsantwort des einen oder der mehreren Prädiktions-Filter sind.
  38. Computerlesbares Medium nach Anspruch 37, wobei jede Sprach-Frame-Wellenform eine vordefinierte Anzahl an Sprachmustern enthält.
  39. Computerlesbares Medium nach Anspruch 38, das die eine oder die mehreren Anweisungen enthält, die ferner bewirken, das der eine oder die mehreren Prozessoren Sprachmuster des anderen Sprachwellenformsegments des decodierten Sprachsignals in einem Speicher speichern.
  40. Computerlesbares Medium nach Anspruch 39, das ferner bewirkt, dass der eine oder die mehreren Prozessoren eine vorläufige Zeitverzögerung (ppfep) basierend auf einer Untersuchung einer Anzahl (K) gespeicherter Sprachmuster in Übereinstimmung mit einem Analysefenster bestimmen.
  41. Computerlesbares Medium nach Anspruch 40, das die eine oder die mehreren Anweisungen enthält, die ferner bewirken, dass der eine oder die mehreren Prozessoren einen Skalierfaktor (ptfe) bestimmen.
  42. Computerlesbares Medium nach Anspruch 41, wobei die endgültige Zeitverzögerung (ppfe) basierend auf einer Untersuchung einer Anzahl gespeicherter Sprachmuster bestimmt wird, und – wobei die Ersatz-Sprach-Frame-Wellenform auf der bestimmten endgültigen Zeitverzögerung (ppfe) basiert.
  43. Computerlesbares Medium nach Anspruch 42, wobei die vorläufige Zeitverzögerung (ppfep) aus Kandidaten vorläufiger Zeitverzögerungen (j) ausgewählt wird, und wobei jedem der Kandidaten vorläufiger Zeitverzögerungen (j) jeweils zugeordnete Korrelationswerte (c(j)) in Übereinstimmung mit der folgenden Gleichung bestimmt werden:
    Figure 00380001
    wobei (K) die Größe des Analysefensters und sq(n) das decodierte Sprachsignal darstellt.
  44. Computerlesbares Medium nach Anspruch 43, wobei die gewählte vorläufige Zeitverzögerung (ppfep) eine Pitch-Prädiktionsverstärkung im Analysefenster maximiert.
  45. Computerlesbares Medium nach Anspruch 43, wobei die gewählte vorläufige Zeitverzögerung (ppfep) die folgende Gleichung maximiert:
    Figure 00390001
  46. Computerlesbares Medium nach Anspruch 45, wobei basierend auf dem unabhängigen Anwenden des Analysefensters auf die Anzahl (K) gespeicherter Sprachmuster eine periodische Wiederholungsmarke gesetzt wird.
  47. Computerlesbares Medium nach Anspruch 46, wobei das unabhängige Anwenden einen Energiebetrag (E) im Analysefenster bestimmt.
  48. Computerlesbares Medium nach Anspruch 47, wobei der Energiebetrag (E) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00390002
  49. Computerlesbares Medium nach Anspruch 48, wobei die periodische Wiederholungsmarke basierend auf einem Vergleich zwischen dem bestimmten Energiebetrag (E) und einem vordefinierten Schwellenwert gesetzt wird.
  50. Computerlesbares Medium nach Anspruch 49, wobei, wenn der Energiebetrag (E) die vordefinierte Schwellenwertanforderung erfüllt, – ein erster normierter Autokorrelationskoeffizient (ρ1) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00400001
  51. Computerlesbares Medium nach Anspruch 50, wobei die periodische Wiederholungsmarke gesetzt wird, wenn der erste normierte Autokorrelationskoeffizient (ρ1) eine vordefinierte Schwellenwertanforderung erfüllt.
  52. Computerlesbares Medium nach Anspruch 51, wobei, wenn die periodische Wiederholungsmarke nicht gesetzt wird, die endgültige Zeitverzögerung (ppfe) basierend auf einer Zeitverzögerungssuche der gespeicherten Sprachmuster des decodierten Sprachsignals bestimmt wird.
  53. Computerlesbares Medium nach Anspruch 52, wobei die Suche nach der endgültigen Zeitverzögerung (ppfe) der gespeicherten Sprachmuster in Übereinstimmung mit der folgenden Gleichung durchgeführt wird: m × ppfep ≥ T0 wobei (m) einen ganzzahligen Wert und (T0) einen Mindestintervallschwellenwert darstellt.
  54. Computerlesbares Medium nach Anspruch 37, wobei der Skalierfaktor (pfte) in Übereinstimmung mit der folgenden Gleichung bestimmt wird:
    Figure 00400002
    wobei (d) eine erste Anzahl an Sprachmustern des Rufens eines der Prädiktions-Filter und (r(n)) ein von dem Prädiktions-Decoder ausgegebenes Rufsignal darstellt.
DE60220485T 2001-08-17 2002-08-16 Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform Expired - Lifetime DE60220485T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US312789 1994-09-27
US31278901P 2001-08-17 2001-08-17
US34437402P 2002-01-04 2002-01-04
US344374 2002-01-04
US183608 2002-06-28
US10/183,608 US7711563B2 (en) 2001-08-17 2002-06-28 Method and system for frame erasure concealment for predictive speech coding based on extrapolation of speech waveform

Publications (2)

Publication Number Publication Date
DE60220485D1 DE60220485D1 (de) 2007-07-19
DE60220485T2 true DE60220485T2 (de) 2008-02-07

Family

ID=27391707

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60220485T Expired - Lifetime DE60220485T2 (de) 2001-08-17 2002-08-16 Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform

Country Status (4)

Country Link
US (1) US7711563B2 (de)
EP (1) EP1288916B1 (de)
AT (1) ATE364220T1 (de)
DE (1) DE60220485T2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2398982B (en) * 2003-02-27 2005-05-18 Motorola Inc Speech communication unit and method for synthesising speech therein
US7324937B2 (en) * 2003-10-24 2008-01-29 Broadcom Corporation Method for packet loss and/or frame erasure concealment in a voice communication system
US7519535B2 (en) 2005-01-31 2009-04-14 Qualcomm Incorporated Frame erasure concealment in voice communications
BRPI0607251A2 (pt) * 2005-01-31 2017-06-13 Sonorit Aps método para concatenar um primeiro quadro de amostras e um segundo quadro subseqüente de amostras, código de programa executável por computador, dispositivo de armazenamento de programa, e, arranjo para receber um sinal de áudio digitalizado
KR100612889B1 (ko) * 2005-02-05 2006-08-14 삼성전자주식회사 선스펙트럼 쌍 파라미터 복원 방법 및 장치와 그 음성복호화 장치
US7483386B2 (en) * 2005-03-31 2009-01-27 Alcatel-Lucent Usa Inc. Adaptive threshold setting for discontinuous transmission detection
US7930176B2 (en) * 2005-05-20 2011-04-19 Broadcom Corporation Packet loss concealment for block-independent speech codecs
US7395202B2 (en) * 2005-06-09 2008-07-01 Motorola, Inc. Method and apparatus to facilitate vocoder erasure processing
KR100723409B1 (ko) 2005-07-27 2007-05-30 삼성전자주식회사 프레임 소거 은닉장치 및 방법, 및 이를 이용한 음성복호화 방법 및 장치
US7957960B2 (en) * 2005-10-20 2011-06-07 Broadcom Corporation Audio time scale modification using decimation-based synchronized overlap-add algorithm
WO2007051495A1 (en) * 2005-11-07 2007-05-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement in a mobile telecommunication network
JP5142727B2 (ja) * 2005-12-27 2013-02-13 パナソニック株式会社 音声復号装置および音声復号方法
US8015000B2 (en) * 2006-08-03 2011-09-06 Broadcom Corporation Classification-based frame loss concealment for audio signals
US8280728B2 (en) * 2006-08-11 2012-10-02 Broadcom Corporation Packet loss concealment for a sub-band predictive coder based on extrapolation of excitation waveform
WO2008022181A2 (en) * 2006-08-15 2008-02-21 Broadcom Corporation Updating of decoder states after packet loss concealment
CN101366079B (zh) * 2006-08-15 2012-02-15 美国博通公司 用于子带预测编码的基于全带音频波形外插的包丢失隐藏
EP2080194B1 (de) * 2006-10-20 2011-12-07 France Telecom Dämpfung von stimmüberlagerung, im besonderen zur erregungserzeugung bei einem decoder in abwesenheit von informationen
GB0704622D0 (en) * 2007-03-09 2007-04-18 Skype Ltd Speech coding system and method
WO2008146466A1 (ja) * 2007-05-24 2008-12-04 Panasonic Corporation オーディオ復号装置、オーディオ復号方法、プログラム及び集積回路
US8078456B2 (en) * 2007-06-06 2011-12-13 Broadcom Corporation Audio time scale modification algorithm for dynamic playback speed control
CN101325537B (zh) * 2007-06-15 2012-04-04 华为技术有限公司 一种丢帧隐藏的方法和设备
US8386246B2 (en) * 2007-06-27 2013-02-26 Broadcom Corporation Low-complexity frame erasure concealment
CN101207665B (zh) * 2007-11-05 2010-12-08 华为技术有限公司 一种衰减因子的获取方法
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
US8903730B2 (en) * 2009-10-02 2014-12-02 Stmicroelectronics Asia Pacific Pte Ltd Content feature-preserving and complexity-scalable system and method to modify time scaling of digital audio signals
US9076439B2 (en) * 2009-10-23 2015-07-07 Broadcom Corporation Bit error management and mitigation for sub-band coding
PT3239978T (pt) 2011-02-14 2019-04-02 Fraunhofer Ges Forschung Codificação e descodificação de posições de pulso de faixas de um sinal de áudio
PT2676270T (pt) 2011-02-14 2017-05-02 Fraunhofer Ges Forschung Codificação de uma parte de um sinal de áudio utilizando uma deteção de transiente e um resultado de qualidade
BR112013020324B8 (pt) * 2011-02-14 2022-02-08 Fraunhofer Ges Forschung Aparelho e método para supressão de erro em fala unificada de baixo atraso e codificação de áudio
PL2676268T3 (pl) 2011-02-14 2015-05-29 Fraunhofer Ges Forschung Urządzenie i sposób przetwarzania zdekodowanego sygnału audio w domenie widmowej
KR101424372B1 (ko) 2011-02-14 2014-08-01 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 랩핑 변환을 이용한 정보 신호 표현
AR085794A1 (es) 2011-02-14 2013-10-30 Fraunhofer Ges Forschung Prediccion lineal basada en esquema de codificacion utilizando conformacion de ruido de dominio espectral
US9123328B2 (en) * 2012-09-26 2015-09-01 Google Technology Holdings LLC Apparatus and method for audio frame loss recovery
ES2603266T3 (es) * 2013-02-13 2017-02-24 Telefonaktiebolaget L M Ericsson (Publ) Ocultación de errores de trama
CN106254888B (zh) * 2015-06-09 2020-06-02 同济大学 一种图像编码及解码方法、图像处理设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574825A (en) * 1994-03-14 1996-11-12 Lucent Technologies Inc. Linear prediction coefficient generation during frame erasure or packet loss
US5550543A (en) 1994-10-14 1996-08-27 Lucent Technologies Inc. Frame erasure or packet loss compensation method
US5699485A (en) * 1995-06-07 1997-12-16 Lucent Technologies Inc. Pitch delay modification during frame erasures
US5907822A (en) 1997-04-04 1999-05-25 Lincom Corporation Loss tolerant speech decoder for telecommunications
US6810377B1 (en) 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
US6507814B1 (en) * 1998-08-24 2003-01-14 Conexant Systems, Inc. Pitch determination using speech classification and prior pitch estimation

Also Published As

Publication number Publication date
EP1288916A3 (de) 2004-12-15
US7711563B2 (en) 2010-05-04
EP1288916A2 (de) 2003-03-05
US20030074197A1 (en) 2003-04-17
ATE364220T1 (de) 2007-06-15
DE60220485D1 (de) 2007-07-19
EP1288916B1 (de) 2007-06-06

Similar Documents

Publication Publication Date Title
DE60220485T2 (de) Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform
DE60224962T2 (de) Verfahren und Vorrichtung zur Verschleierung von fehlerbehafteten Sprachrahmen
DE60217522T2 (de) Verbessertes verfahren zur verschleierung von bitfehlern bei der sprachcodierung
DE69915830T2 (de) Verbesserte verfahren zur rückgewinnung verlorener datenrahmen für ein lpc-basiertes, parametrisches sprachkodierungsystem.
DE60117144T2 (de) Sprachübertragungssystem und verfahren zur behandlung verlorener datenrahmen
DE60132217T2 (de) Übertragungsfehler-verdeckung in einem audiosignal
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
EP1327242B1 (de) Fehlerverschleierung in bezug auf die dekodierung kodierter akustischer signale
DE60125219T2 (de) Spektralmerkmal ersatz für die verschleierung von rahmenfehlern in einem sprachdekoder
DE60029715T2 (de) Verfahren und anordnung zur verschleierung von rahmenausfall
DE60121201T2 (de) Verfahren und vorrichtung zur verschleierung von fehlerhaften rahmen während der sprachdekodierung
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
DE602004006211T2 (de) Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE10041512B4 (de) Verfahren und Vorrichtung zur künstlichen Erweiterung der Bandbreite von Sprachsignalen
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE69727895T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE60209861T2 (de) Adaptive Postfilterung zur Sprachdekodierung
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE3856211T2 (de) Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen
DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE60122203T2 (de) Verfahren und system zur erzeugung von behaglichkeitsrauschen bei der sprachkommunikation
AU2001284608A1 (en) Error concealment in relation to decoding of encoded acoustic signals
DE69123500T2 (de) 32 Kb/s codeangeregte prädiktive Codierung mit niedrigen Verzögerung für Breitband-Sprachsignal

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