[go: up one dir, main page]

DE602004006211T2 - Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem - Google Patents

Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem Download PDF

Info

Publication number
DE602004006211T2
DE602004006211T2 DE602004006211T DE602004006211T DE602004006211T2 DE 602004006211 T2 DE602004006211 T2 DE 602004006211T2 DE 602004006211 T DE602004006211 T DE 602004006211T DE 602004006211 T DE602004006211 T DE 602004006211T DE 602004006211 T2 DE602004006211 T2 DE 602004006211T2
Authority
DE
Germany
Prior art keywords
term
long
random sequence
periodicity
excitation
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
DE602004006211T
Other languages
English (en)
Other versions
DE602004006211D1 (de
Inventor
Jes Thyssen
Juin-Hwey 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
Publication of DE602004006211D1 publication Critical patent/DE602004006211D1/de
Application granted granted Critical
Publication of DE602004006211T2 publication Critical patent/DE602004006211T2/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/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

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)

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein Techniken zum Decodieren eines codierten Sprachsignals in einem Sprachkommunikationssystem und im Besonderen Techniken zum Decodieren eines codierten Sprachsignals in einem Sprachkommunikationssystem, wobei ein oder mehrere Segmente des codierten Sprachsignals verloren gegangen, gelöscht oder beschädigt worden sind.
  • Hintergrund
  • 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. Das Sprachsignal wird zum Codieren häufig in Frames unterteilt, wobei die das codierte Sprachsignal repräsentierenden Bits dann eine natürliche Unterteilung mit einer Frame-Größe aufweisen, die dem Sprach-Frame entspricht. Für Übertragungszwecke kann eine beliebige Anzahl an Bit-Frames zu einem Super-Frame verdichtet werden, der als auch Paket bezeichnet wird.
  • Wenn das Übertragungsmedium ein paketvermitteltes Netzwerk ist, kann ein so genannter Paketverlust bewirken, dass gesendete Bit-Frames verloren gehen. Wenn ein Paketverlust auftritt, kann der Decoder die normalen Decodieroperationen nicht durchführen, da in dem verlorenen Frame keine zu decodierenden Bits vorhanden sind. Um dies zu beheben, muss der Decoder, Paketverlustverschleierungs-(PLC/Paket Loss Concealment) Operationen durchführen, um zu versuchen, die qualitätsverschlechternden Auswirkungen des Paketverlusts zu verschleiern. Ein ähnliches Problem kann in einem drahtlosen Netzwerk auftreten, in dem gesendete Frames verloren gehen, gelöscht oder beschädigt werden können. Dieser Zustand wird bei drahtlosen Datenübertragungen Frame-Löschung genannt und die im Decoder durchgeführten Operationen zur Behebung dieses Zustands werden als Frame-Löschungsverschleierung (FEC/Frame Erasure Concealment) bezeichnet.
  • Eine bekannte Technik zur Paketverlustverschleierung und/oder Frame-Löschungsverschleierung ist in EP-A-0 673 017 offenbart.
  • Es besteht Bedarf an einem Verfahren zur Durchführung von PLC und/oder FEC in einem Sprachkommunikationssystem, das eine geringe Komplexität aufweist, aber dennoch die regenerierte Sprache fehlender Segmente mit möglichst geringer Verzerrung und so wenigen die Wahrnehmung störenden Artefakten wie möglich bereitstellt.
  • Kurze Zusammenfassung der Erfindung
  • Ein Ziel der vorliegenden Erfindung besteht daher darin, die Qualität eines Sprachsignals zu verbessern, das während einer Übertragung von einer Sprachcodiereinrichtung an eine Sprachdecodiereinrichtung einen Paketverlust und/oder eine Frame-Löschung erlitten hat.
  • Zur Erreichung des vorstehend genannten Ziels stellt die vorliegende Erfindung ein Verfahren zum Decodieren eines codierten Sprachsignals gemäß Anspruch 1 und einen Decoder gemäß Anspruch 6 bereit.
  • Weitere Merkmale und Vorteile der Erfindung sowie der Aufbau und Betrieb verschiedener Ausführungsformen der Erfindung sind nachfolgend unter Bezugnahme auf die begleitenden Zeichnungen im Detail beschrieben. Es wird darauf hingewiesen, dass die Erfindung nicht auf die hierin beschriebenen spezifischen Ausführungsformen beschränkt ist. Derartige Ausführungsformen sind hierin lediglich zu veranschaulichenden Zwecken angegeben. Weitere Ausführungsformen sind für Fachleute auf dem oder den relevanten Gebieten basierend auf den hierin enthaltenen Lehren ersichtlich.
  • Kurze Beschreibung der Zeichnungen/Figuren
  • Die begleitenden Zeichnungen, die hierin enthalten sind und einen Teil der Beschreibung bilden, veranschaulichen, zusammen mit der Beschreibung, die vorliegende Erfindung und dienen ferner dazu, die Grundlagen der Erfindung zu erläutern und es Fachleuten auf dem Gebiet zu ermöglichen, die Erfindung auszuführen und zu nutzen.
  • 1 ist ein Blockdiagramm eines herkömmlichen Prädiktionsdecoders.
  • 2 ist ein Flussdiagramm eines Verfahrens zum Durchführen von PLC und/oder FEC gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 ist ein Blockdiagramm eines PLC und/oder FEC durchführenden Prädiktionsdecoders gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist ein Blockdiagramm eines Computersystems, in dem eine Ausführungsform der vorliegenden Erfindung betrieben werden kann.
  • Die Merkmale und Vorteile der vorliegenden Erfindung gehen aus der nachfolgend dargelegten detaillierten Beschreibung in Verbindung mit den Zeichnungen genauer hervor, in denen gleiche Bezugszeichen immer einander entsprechende Elemente kennzeichnen. In den Zeichnungen bezeichnen gleiche Bezugszeichen im Allgemeinen identische, funktionell ähnliche und/oder strukturell ähnliche Elemente. Die Zeichnung, in der ein Element erstmals erscheint, ist durch die Ziffer(n) ganz links in dem entsprechenden Bezugszeichen angegeben.
  • Genaue Beschreibung der Erfindung
  • A. Beispielhafter herkömmlicher Prädiktionsdecoder
  • Ein erfindungsgemäßes Verfahren zur Durchführung einer Paketverlustverschleierung (PLC/Paket Loss Concealment) und/oder Frame-Löschungsverschleierung (FEC/Frame Erasure Concealment) eignet sich besonders für Prädiktions-Sprach-Codecs und umfasst Adaptive Predicitive Coding (APC/adaptiv-prädiktives Codieren), Multi-Pulse Linear Predictive Coding (MPLPC/lineares prädiktives Multi-Puls-Codieren), Code Excited Linear Prediction (CELP/codeangeregte lineare Prädiktion) und Noise Feedback Coding (NFC/Rauschrückkopplungscodieren), ist jedoch nicht darauf beschränkt.
  • 1 ist ein Blockdiagramm eines herkömmlichen Prädiktionsdecoders 100, der hierin beschrieben ist, um für ein besseres Verständnis der vorliegenden Erfindung zu sorgen. Der Decoder 100 kann dazu verwendet werden, die Decoder von APC-, MPLPC-, CELP- und NFC-Sprachdecodern 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 eines 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, ein Langzeitsynthesefilter und ein Kurzzeitsynthesefilter zu erregen, um das decodierte Ausgangsprachsignal zu erzeugen. Zusätzlich zu dem Erregungssignal werden auch mehrere andere Sprachparameter als Nebeninformationen auf einer Segment-für-Segment-Basis gesendet.
  • Ein Segment kann einem Frame oder Sub-Frame eines abgetasteten Sprachsignals entsprechen. Eine beispielhafte Länge eines Frames (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 typischerweise eine vordefinierte Anzahl gleichlanger Sub-Frames. Die Nebeninformationen dieser Prädiktions-Codecs umfassen typischerweise Informationen bezüglich der spektralen Hüllkurve in Form von Kurzzeit-Prädiktionsparametern, Langzeit-Prädiktionsparametern, wie etwa eine Pitch-Periode und Pitch-Prädiktorabgriffe, sowie der Erregungsverstärkung.
  • Wie in 1 gezeigt, umfasst der Decoder 100 einen Bit-Demultiplexer 105, einen Kurzzeit-Prädiktionsparameterdecoder 110, einen Langzeit-Prädiktionsparameterdecoder 130, einen Erregungsdecoder 150, ein Langzeitsynthesefilter 180 und ein Kurzzeitsynthesefilter 190.
  • Der Bit-Demultiplexer 105 teilt die Bits in jedem empfangenen Bit-Frame in Codes für das Erregungssignal, die Kurzzeit-Prädiktionsparameter, die Langzeit-Prädiktionsparameter und die Erregungsverstärkung.
  • Die Kurzzeit-Prädiktionsparameter, 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 als Linienspektrumfrequenzparameter (LSF-Parameter) bezeichnet werden. In 1 stellt LSPI den gesendeten Quantisierer-Codebuchindex dar, der die LSP-Parameter in jedem Frame repräsentiert. Der 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 im Kurzzeitsynthesefilter 190 zu steuern.
  • Die Pitch-Periode wird als Zeitspanne definiert, in der sich eine Wellenform eines stimmhaften Sprachsignals 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. Der 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 Langzeit-Prädiktors 140 im Langzeitsynthesefilter 180 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. Daher kann der Langzeit-Prädiktor 140 ein einfaches FIR-Filter oder ein adaptives Codebuch darstellen, ohne jedoch darauf beschränkt zu sein.
  • Der Bit-Demultiplexer 105 sondert außerdem einen Verstärkungsindex GI (Gain Index) und einen Erregungsindex CI (Excitation Index) aus dem Eingangsbitstrom aus. Der Erregungsdecoder 150 decodiert den CI in ein unskaliertes Erregungssignal und decodiert außerdem 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 Langzeit-Prädiktors 140 mit dem skalierten Erregungsverstärkungssignal uq(n), um eine quantisierte Version eines Kurzzeit-Prädiktionsrest signals dq(n) zu erhalten. Der 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 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.
  • B. Paketverlustverschleierung und/oder Frame-Löschungsverschleierung ausführender Sprachdecoder gemäß einer Ausführungsform der vorliegenden Erfindung
  • Die vorliegende Erfindung stellt ein Verfahren zum Verbessern der Qualität decodierter Sprachsignale bereit, die einen Paketverlust oder eine Frame-Löschung erlitten haben. Das erfindungsgemäße Verfahren ermöglicht es einem Sprachdecoder, Sprachsignale während Zeitspannen zu regenerieren, in denen keine Informationen empfangen werden. Das Ziel des Verfahrens ist es, fehlende Sprachsegmente, bei möglichst geringer Verzerrung und so wenigen die Wahrnehmung störenden Artefakten wie möglich, adaptiv zu regenerieren.
  • Bei einer Ausführungsform wird die Erfindung in einem Prädiktions-Sprachdecoder ausgeführt, wie etwa dem vorstehend in Bezug auf 1 beschriebenen, wobei eine Langzeiterregung dazu verwendet wird, eine aus einem Langzeitsynthesefilter und einem Kurzzeitsynthesefilter bestehende Reihe zu erregen. Bei Verwendung der Schreibweise der Z-Transformation, wird eine auf einer solchen Reihe basierende Sprachsynthese wie folgt ausgedrückt: X(z) = Fst(z)·Flt(z)·E(z) wobei X(z) die Z-Transformation des synthetisieren Sprachsignals (z.B. des decodierten Sprachsignals) ist, E(z) die Z-Transformation der Langzeiterregung ist und Fst(z) und Flt(z) die Z-Transformationen der Kurzzeit- bzw. Langzeitsynthesefilter sind. Bei der Sprachdecodierung wird das Kurzzeitsynthesefilter für gewöhnlich wie folgt angegeben: Fst(z) = 1A(z) wobei A(z) das Kurzzeit-Prädiktionsfehlerfilter ist, das wie folgt angegeben wird:
    Figure 00070001
  • Typischerweise wird eine Kurzzeit-Prädiktionsordnung K zwischen 8 und 20 verwendet.
  • Das Langzeitsynthesefilter wird für gewöhnlich wie folgt angegeben: Flt(z) = 1B(z) wobei B(z) das Langzeit-Prädiktionsfehlerfilter oder Pitch-Prädiktionsfehlerfilter ist. Typischerweise wird ein Langzeit-Prädiktionsfehlerfilter erster Ordnung B(z) = b·z-L oder ein Langzeit-Prädiktionsfehlerfilter dritter Ordnung B(z) = b0·z-L-1 + b1·z-L + b2·z-L+1 verwendet. Die Erregung einer Reihe aus Langzeit- und Kurzzeitsynthesefiltern mit Langzeiterregung umfasst typischerweise das Hindurchleiten der Langzeiterregung durch das Langzeitsynthesefilter, um die Kurzzeiterregung zu erhalten, die anschließend durch das Kurzzeitsynthesefilter hindurch geleitet wird, um das synthetisierte Sprachsignal (z.B. das decodierte Sprachsignal) zu erhalten. Der Parameter L stellt die Pitch-Periode dar.
  • Theoretisch ist das Langzeit-Prädiktionsrestsignal, das durch Hindurchleiten eines Sprachsignals durch sein Kurzzeit-Prädiktionsfehlerfilter, auf das sein Langzeit- Prädiktionsfehlerfilter folgt, erhalten wird, annähernd ein Zufallssignal. Des Weiteren entwickeln sich die Parameter des vorstehend beschriebenen Synthesemodells, da sich der bestimmende physiologische Prozess vieler Sprachlaute relativ langsam entwickelt, ebenfalls relativ langsam. Das Langzeit-Prädiktionsrestsignal ist typischerweise die optimale Langzeiterregung. Infolge der Quantisierung im Sprachcodierer für Übertragungszwecke, ist das Erregungssignal nicht identisch mit dem Langzeitrestsignal, seine grundlegenden Eigenschaften sind jedoch ähnlich und es ist annähernd zufällig. Daher können, gemäß einer Ausführungsform der vorliegenden Erfindung, in einem fehlenden Sprachsegment (z.B. wenn ein Paketverlust oder eine Frame-Löschung aufgetreten ist), die Parameterwerte des Synthesemodells auf den Werten des Synthesemodells des früheren Sprachsignals (vor dem fehlenden Segment) basieren und eine Zufallssequenz von auf ein geeignetes Niveau skalierten Mustern als Langzeiterregung verwendet werden. Basierend auf diesem Prinzip verschleiert eine Ausführungsform der vorliegenden Erfindung, wenn ein Paket oder Frame nicht in einem Sprachdecoder empfangen wird, den Paketverlust oder die Frame-Löschung durch Erregen der stufenförmigen Langzeit- und Kurzzeitsynthesefilter mit einer Zufallssequenz von auf ein geeignetes Niveau skalierten Mustern.
  • 2 zeigt ein Flussdiagramm eines beispielhaften Verfahrens zur Durchführung von PLC oder FEC in einem Sprachdecoder gemäß den vorstehenden Grundlagen. Wie in 2 gezeigt, beginnt das Verfahren mit Schritt 202, in dem bestimmt wird, ob ein codiertes Sprachsegment schlecht ist. Ein Segment wird als schlecht eingestuft, wenn es verloren gegangen, gelöscht oder anderweitig derart beschädigt worden ist, dass es zu Sprachdecodierungszwecken nicht mehr verwendbar ist. Wie vorstehend erwähnt, kann ein schlechtes Segment aus einem Paketverlust oder einer Frame-Löschung resultieren. Abhängig vom Ergebnis der Bestimmung verzweigt sich die Verarbeitung, wie in Schritt 204 dargestellt. Typischerweise wird dem Sprachdecoder bzw. der PLC oder FEC von einer höheren Systemebene eine Marke (Flag) als Eingang zugeführt, die angibt, ob das Segment gut oder schlecht ist. Bei drahtlosen Systemen kann die Bestimmung durch einen Kanaldecoder durchgeführt werden. Bei VoIP-Systemem kann die Bestimmung durch einen Jitter-Puffer gemäß der Ankunftsstatistik eingehender Pakete durchgeführt werden.
  • Wenn bestimmt wird, dass das Sprachsegment gut ist, wird das Segment decodiert, um das Erregungssignal, die Erregungsverstärkung und die Kurzzeit- und Langzeit-Prädiktionsparameter abzuleiten, wie in Schritt 206 gezeigt. In Schritt 210 wird das Erregungssignal unter Verwendung der Erregungsverstärkung skaliert, um ein skaliertes Erregungssignal zu erzeugen. Dies sind Operationen, die in vielen her kömmlichen Prädiktions-Sprachdecodern durchgeführt werden, wie vorstehend in Bezug auf den herkömmlichen Decoder 100 gemäß 1 beschrieben.
  • Wenn das Sprachsegment jedoch schlecht ist, wird eine andere Technik dazu verwendet, das skalierte Erregungssignal, die Kurzzeit- und Langzeit-Prädiktionsparameter zu erhalten. Im Besonderen wird eine Zufallssequenz von Mustern skaliert, um das skalierte Erregungssignal zu erzeugen, wie in Schritt 208 gezeigt. Dann werden in Schritt 212 die Langzeit- und Kurzzeit-Prädiktionsparameter basierend auf den Langzeit- und Kurzzeit-Prädiktionsparameter abgeleitet, die zu einem zuvor decodierten Sprachsegment gehören sind. Bei einer Ausführungsform werden beispielsweise die Langzeit-Prädiktionsparameter (z.B. die Pitch-Periode und die Pitch-Abgriffe) und die Kurzzeit-Prädiktionsparameter des zuvor decodierten Sprachsegments direkt durch die Langzeit- und Kurzzeit-Prädiktionsparameter des aktuellen Segments ersetzt.
  • Sobald das skalierte Erregungssignal, die Kurzzeit- und Langzeit-Prädiktionsparameter erhalten worden sind, wird das skalierte Erregungssignal im Langzeitsynthesefilter unter der Steuerung der Langzeit-Prädiktionsparameter gefiltert, wie in Schritt 214 gezeigt. Der Ausgang des Langzeitsynthesefilters, der als Kurzzeiterregung bezeichnet werden kann, wird dann im Kurzzeitsynthesefilter unter der Steuerung der Kurzzeit-Prädiktionsparameter gefiltert, wie in Schritt 216 angegeben. Der Ausgang des Kurzzeitsynthesefilters ist das synthetisierte Sprachsignal, das beispielsweise das decodierte Sprachsignal sein kann.
  • 1. Erzeugung eines skalierten Langzeit-Erregungssignals
  • Eine spezifische Technik zum Skalieren der Zufallssequenz, um ein skaliertes Erregungssignal zu erzeugen, wie vorstehend in Bezug auf Schritt 208 erwähnt, wird nun beschrieben. Bei einer Ausführungsform der vorliegenden Erfindung wird, wenn ein periodisches Segment, wie etwa ein stimmhaftes Sprachsignal, verloren geht oder anderweitig als schlecht eingestuft wird, die Energie der Zufallssequenz im Vergleich zur Energie der Langzeiterregung eines zuvor empfangenen Segments (auch frühere Langzeiterregung genannt) vorteilhafterweise verringert. Wenn jedoch ein nicht periodisches Segment, wie etwa ein nicht stimmhaftes Sprachsignal oder Hintergrundrauschen, verloren geht oder anderweitig als schlecht eingestuft wird, wird die Energie der Zufallssequenz in etwa auf dem Niveau der früheren Langzeiterregung gehalten. Diese Technik erleichtert eine "saubere" Regeneration stimmhafter Sprachsignale und behält dennoch die gleichmäßige Energiekontur von nicht stimm haften Sprachsignalen und Hintergrundrauschen bei. Somit wird bei rauschartigen Signalen, wie etwa nicht stimmhaften Sprachsignalen und Hintergrundrauschen, Bewegtheit vermieden und das stimmhafte Sprachsignal ist "sauber". Das Vorstehende macht eine Adaption der Skalierung der Zufallssequenz erforderlich, die über ein einfaches Ausgleichen der Energie einer früheren Langzeiterregung hinausgeht.
  • Insbesondere verwendet eine Ausführungsform der vorliegenden Erfindung ein Periodizitätsmaß zum Steuern der Skalierung der Zufallssequenz. Bei schlechten Segmenten mit geschätzter niedriger Periodizität (wie etwa rauschartigen Signalen) verläuft das Skalieren in Richtung des Ausgleichens der Energie einer früheren Langzeiterregung, während bei schlechten Segmenten mit hoher Periodizität (wie etwa stimmhaften Sprachsignalen), das Skalieren unterhalb des Ausgleichens der Energie einer früheren Langzeiterregung verläuft. Eine Schätzung der Periodizität, die gemäß einer Ausführungsform der vorliegenden Erfindung verwendet werden kann, umfasst das einfache Verwenden eines Periodizitätsmaßes, das dem letzten nicht regenerierten Segment entspricht und als momentanes Periodizitätsmaß bezeichnet werden kann. Eine alternative Ausführungsform der vorliegenden Erfindung verwendet jedoch ein geglättetes Periodizitätsmaß, das durch Glätten oder Tiefpassfiltern des momentanen Periodizitätsmaßes erhalten werden kann. Wenn beispielsweise das Maß der momentanen Periodizität zum Zeitpunkt k durch c(k) angegeben wird, kann das geglättete Periodizitätsmaß wie folgt geschätzt werden: cs(k) = α·cs(k - 1) + (1 - α)·c(k),wobei α ein vordefinierter Faktor ist, der den Glättungsgrad steuert. Das Glätten reduziert Schwankungen im momentanen Periodizitätsmaß und erleichtert eine genauere Steuerung der Skalierung der Zufallssequenz.
  • Bei einer Ausführungsform der vorliegenden Erfindung umfasst das Skalieren der Zufallssequenz das Berechnen eines Skalierfaktors und das Anwenden des Skalierfaktors zum Skalieren der Zufallssequenz relativ zu einem Niveau einer früheren Langzeiterregung. Das Niveau der früheren Langzeiterregung kann bezogen auf die Signalenergie oder durch ein anderes geeignetes Verfahren gemessen werden. Das Niveau einer früheren Langzeiterregung kann beispielsweise auch bezogen auf die durchschnittlichen Signalamplitude gemessen werden. Der Skalierfaktor wird derart berechnet, dass der Wert des Skalierfaktors bei abnehmender Periodizität in Richtung einer Obergrenze erhöht und bei zunehmender Periodizität in Richtung einer Untergrenze verringert wird. Infolge der Anwendung des Skalierfaktors nähert sich das Niveau der Zufallssequenz dem Niveau einer früheren Langzeiterregung, um die Periodizität zu verringern, und nimmt im Vergleich zum Niveau einer früheren Langzeiterregung ab, um die Periodizität zu erhöhen.
  • Ein spezifischeres Beispiel der vorstehenden Skaliertechnik wird nun beschrieben. Bei einer Ausführungsform wird die Zufallssequenz gemäß der folgenden Gleichung skaliert:
    Figure 00110001
    wobei r(n), n = 1, 2, ... FRSZ eine Zufallssequenz von Mustern von eins bis zur Segmentgröße (z.B. der Frame-Größe), Em-1 im Prinzip die Energie der Langzeitsynthesefiltererregung des zuvor decodierten Segments und gplc ein Skalierfaktor ist, dessen Berechnung nachfolgend genau erläutert ist. Während guter Segmente wird eine Periodizitätsschätzung wie folgt aktualisiert: perm = 0,5 perm-1 + 0,5bswobei perm die aktualisierte Periodizitätsschätzung, perm-1 die Periodizitätsschätzung für das zuvor decodierte Segment und bs die Summe der Pitch-Abgriffe für das Langzeitsynthesefilter ist (bei einer Ausführungsform können beispielsweise drei Pitch-Abgriffe vorhanden sein), die auf einen unteren Schwellenwert von null und einen oberen Schwellenwert von eins begrenzt sind. Während schlechter Segmente wird die Periodizitätsschätzung beibehalten: perm = perm-1. Basierend auf der Periodizität wird der Skalierfaktor gemäß einer monotonen Abnahmefunktion berechnet: gplc = -2perm-1 +1,9wobei gplc auf einen unteren Schwellenwert von 0,1 und einen oberen Schwellenwert von 0,9 begrenzt ist. Andere Werte zwischen 0 und 1 können als untere und obere Schwellenwerte verwendet werden.
  • Gemäß dem vorstehenden spezifischen Beispiel wird am Ende eines guten Segments (nach der Synthese des Ausgangs) die Periodizitätsschätzung wie vorstehend erläutert berechnet und die Energie der Langzeitsynthesefiltererregung wie folgt aktualisiert:
    Figure 00120001
    wobei Em die aktualisierte Energie der Langzeitsynthesefiltererregung, FRSZ die Anzahl an Mustern pro Segment und uq(n) die skalierte Langzeiterregung ist.
  • 2. Verarbeitung erweiterter schlechter Segmente
  • Bei erweiterten schlechten Segmenten reduziert eine Ausführungsform der vorliegenden Erfindung allmählich das regenerierte Signal. Bei einer Ausführungsform beispielsweise, bei der 5ms-Frames verwendet werden, wird das regenerierte Signal, wenn 8 oder mehr aufeinander folgende Frames schlecht sind (entspricht einem Sprachsignal von 40 ms Dauer), allmählich reduziert. Zu diesem Zweck werden die Filterkoeffizienten des Langzeitsynthesefilters allmählich abwärts skaliert und gleichzeitig die Zufallssequenz ebenfalls allmählich abwärts skaliert. Diese Technik erreicht zwei Ziele: (1) sie dämpft allmählich das regenerierte Signal während schlechter Segmente und (2) sie reduziert allmählich die Periodizität des Ausgangssprachsignals während erweiterter fehlender Segmente, wodurch das Ausgangssprachsignal einen weniger stark brummenden Klang erhält. Sprachsignale mit brummendem Klang stellen bei der Paketverlustverschleierung während erweiterter Zeitspannen verlorener Pakete ein verbreitetes Problem dar. Diese Ausführungsform der vorliegenden Erfindung trägt dazu bei, dieses Problem zu mindern.
  • Ein spezifischeres Beispiel der vorstehenden Technik wird nun beschrieben. Bei diesem spezifischen Beispiel werden am Ende der Verarbeitung eines schlechten Frames (z.B. nach der Synthese des Decoder-Ausgangssignals) die Energie der Langzeitsynthesefiltererregung und die Langzeitsynthesefilterkoeffizienten abwärts skaliert, wenn 8 oder mehr aufeinander folgende Segmente verloren gehen. Die Bestimmung der aktualisierten Energie der Langzeitsynthesefiltererregung Em und der Filterkoeffizienten des Langzeitsynthesefilters bm,i kann wie folgt ausgedrückt werden:
    Figure 00120002
    wobei Nclf die Anzahl aufeinander folgender verlorener Frames ist, Em-1 die Energie der Langzeiterregung für den zuvor decodierten Frame ist, bm-1,i die Langzeitsynthesefilterkoeffizienten für den zuvor decodierten Frame sind und das Skalieren, βNclf angegeben wird durch:
    Figure 00130001
  • 3. Beispielhafte Decoderstruktur
  • 3 stellt einen beispielhaften Prädiktions-Sprachdecoder 300 dar, der ein Verfahren zur PLC und/oder FEC gemäß den vorstehend beschriebenen Verfahren ausführt. Obgleich erfindungsgemäße Verfahren in einem Sprachdecoder ausgeführt werden können, werden Fachleute auf dem Gebiet leicht erkennen, dass die Erfindung nicht derart eingeschränkt ist. Solche Verfahren können beispielsweise auch in einem unabhängigen Modul ausgeführt werden, das als Teil einer Nachverarbeitungsoperation verwendet wird, die nach der Sprachdecodierung erfolgt. Zum Durchführen der Verfahren erforderliche Parameter können vom Sprachdecoder an das Modul weitergeleitet oder vom Modul selbst abgeleitet werden.
  • Wie in 3 gezeigt, umfasst der Sprachdecoder 300 einen Bit-Demultiplexer 305, einen Erregungsdecoder 350, einen Kurzzeit-Prädiktionsparameterdecoder 310, einen Langzeit-Prädiktionsparameterdecoder 330, ein Synthesefiltermodul 395 und eine Synthesefiltersteuereinheit 396. Das Synthesefiltermodul 395 weist ein Langzeitsynthesefilter 380, das einen Langzeit-Prädiktor 340 und einen Addierer 360 umfasst, und ein Kurzzeitsynthesefilter 390 auf, das einen Kurzzeit-Prädiktor 320 und einen Addierer 370 umfasst. Mit Ausnahme der Synthesefiltersteuereinheit 396 funktionieren die restlichen Elemente des Sprachdecoders 300 auf dieselbe Art und Weise wie die entsprechenden Elemente gleichen Namens im herkömmlichen Sprachdecoder 100, wie vorstehend in Bezug auf 1 beschrieben.
  • Wie in 3 gezeigt, ist die Synthesefiltersteuereinheit 396 mit dem Synthesefiltermodul 395 verbunden. Die Synthesefiltersteuereinheit 396 wird so betrieben, dass der Betrieb des Synthesefiltermoduls 395 gesteuert wird, wenn ein oder mehrere schlechte Sprachsegmente vom Sprachdecoder 300 auf die vorstehend in Bezug auf das Flussdiagramm 200 gemäß 2 beschriebene Art und Weise empfangen werden.
  • Im Besonderen bestimmt die Synthesefiltersteuereinheit 396, ob ein codiertes Sprachsegment schlecht ist. Bei einer Ausführungsform bestimmt eine bezogen auf den Sprachdecoder 300 externe Anwendung, vor dem Empfang des Segments durch den Decoder 300, ob ein Segment schlecht ist. Eine andere Anwendung, wie etwa ein Kanaldecoder, kann beispielsweise einen Fehlerermittlungsalgorithmus durchführen, um zu bestimmen, ob ein Sprach-Frame schlecht ist. Ebenso kann eine andere Anwendung, wie etwa eine Voice-over-Internet-Protocol-(VolP-) Anwendung, bestimmen, dass ein Paket verloren gegangen ist und somit ein oder mehrere entsprechende Sprach-Frames verloren gegangen sind. Ein Schlechtes-Segment-Indikator wird von der anderen Anwendung als Eingang der Synthesefiltersteuereinheit 396 zugeführt, um dem Synthesefilter 296 anzuzeigen, dass das Segment schlecht ist.
  • Wenn das Segment nicht schlecht ist, dann decodieren die Decoder 310, 330 und 350 das Segment, um die Kurzzeit-Prädiktionsparameter, Langzeit-Prädiktionsparameter und das skalierte Erregungssignal uq(n) auf dieselbe Art und Weise wie die Elemente gleichen Namens des herkömmlichen Sprachdecoders 100, der vorstehend in Bezug auf 1 beschrieben ist. Wenn das Segment nicht schlecht ist, verwendet die Synthesefiltersteuereinheit 396 diese decodierten Werte, um den Betrieb des Synthesefiltermoduls 395 zu steuern. Wenn das Segment jedoch schlecht ist, leitet die Synthesefiltersteuereinheit 396 das skalierte Erregungssignal durch Skalieren einer Zufallssequenz von Mustern und die Langzeit- und Kurzzeit-Prädiktionsparameter basierend auf den Parametern eines zuvor decodierten Segments auf dieselbe Art und Weise ab, wie vorstehend in Bezug auf 2 beschrieben. Zur Durchführung dieser Operationen basierend auf zuvor decodierten Segmenten zugehörigen Parametern, umfasst die Synthesefiltersteuereinheit 396 einen geeigneten Speicher 397, wie in 3 gezeigt, oder hat anderweitig Zugriff auf einen solchen.
  • In jedem Fall wird, sobald die Kurzzeit-Prädiktionsparameter, die Langzeit-Prädiktionsparameter und das skalierte Erregungssignal uq(n) für ein Segment bestimmt worden sind, das skalierte Erregungssignal uq(n) durch das Langzeitsynthesefilter 380 unter Steuerung der Langzeit-Prädiktionsparameter gefiltert, um ein Ausgangssignal dq(n) zu erzeugen, das als das Kurzzeit-Erregungssignal betrachtet werden kann. Das Signal dq(n) wird dann durch das Kurzzeitsynthesefilter 390 unter Steuerung der Kurzzeit-Prädiktionsparameter gefiltert, um ein Ausgangssignal sq(n) zu erzeugen, welches das synthetisierte Sprachsignal ist, das beispielsweise das decodierte Sprachsignal sein kann.
  • Es wird darauf hingewiesen, dass, obgleich die vorstehend in Bezug auf die 2 und 3 beschriebenen Ausführungsformen die Durchführung einer Langzeitsynthesefilterung beschreiben, auf die eine Kurzzeitsynthesefilterung folgt, Fachleute auf dem Gebiet leicht erkennen werden, das synthetisierte Sprachsignal auch durch Durchführen einer Kurzzeitsynthesefilterung vor der Langzeitsynthesefilterung erhalten werden kann. Des Weiteren können ein Langzeitsynthesefilter und ein Kurzzeitsynthesefilter zu einem einzelnen Filter kombiniert werden. Die vorliegende Erfindung umfasst derartige alternative Ausführungen.
  • 4. Hardware- und Software-Ausführungen
  • Die folgende Beschreibung eines Universal-Computersystems wird aus Gründen der Vollständigkeit vorgelegt. Die vorliegende Erfindung kann in Hardware oder als Kombination aus Software und Hardware ausgeführt werden. Folglich kann die Erfindung in der Umgebung eines Computersystems oder eines anderen Verarbeitungssystems implementiert werden. Ein Beispiel eines solchen Computersystems 400 ist in 4 gezeigt. Bei der vorliegenden Erfindung können sämtliche der beispielsweise in 3 dargestellten Signalverarbeitungsblöcke in einem oder mehreren unterschiedlichen Computersystemen 400 arbeiten, um die verschiedenen erfindungsgemäßen Verfahren auszuführen. Das Computersystem 400 umfasst einen oder mehrere Prozessoren, wie etwa den Prozessor 404. Der Prozessor 404 kann ein digitaler Spezial- oder Universal-Signalprozessor sein. Der Prozessor 404 ist mit einer Kommunikationsinfrastruktur 406 (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 Gebiet ersichtlich, wie die Erfindung unter Verwendung anderer Computersysteme und/oder Computerarchitekturen zu implementieren ist.
  • Das Computersystem 400 umfasst außerdem einen Hauptspeicher 405, bevorzugt einen Direktzugriffsspeicher (RAM), und kann auch einen sekundären Speicher 410 umfassen. Der sekundäre Speicher 410 kann beispielsweise ein Festplattenlaufwerk 412 und/oder ein Wechselspeicherlaufwerk 414 umfassen, das ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein optisches Plattenlaufwerk, etc. repräsentiert. Das Wechselspeicherlaufwerk 414 liest eine Wechselspeichereinheit 415 und/oder schreibt in diese auf wohlbekannte Art und Weise. Die Wechselspeichereinheit 415 repräsentiert eine Diskette, ein Magnetband, eine optische Platte, etc., die/das durch das Wechselspeicherlaufwerk 414 gelesen oder beschrieben wird. Es versteht sich, dass die Wechselspeichereinheit 415 ein computernutzbares Speichermedium umfasst, in dem Computersoftware und/oder Daten gespeichert sind.
  • Bei alternativen Ausführungen kann der sekundäre Speicher 410 andere ähnliche Einrichtungen umfassen, damit Computerprogramme oder andere Befehle in das Computersystem 400 geladen werden können. Solche Einrichtungen können beispielsweise eine Wechselspeichereinheit 422 und eine Schnittstelle 420 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 422 und Schnittstellen 420 umfassen, die es ermöglichen, Software und Daten von der Wechselspeichereinheit 422 an ein Computersystem 400 zu übertragen.
  • Das Computersystem 400 kann außerdem eine Kommunikationsschnittstelle 424 umfassen. Die Kommunikationsschnittstelle 424 ermöglicht es, Software und Daten zwischen dem Computersystem 400 und externen Einrichtungen zu übertragen. Beispiele für eine Kommunikationsschnittstelle 424 können ein Modem, eine Netzwerkschnittstelle (wie etwa eine Ethernet-Karte), einen Kommunikationsport, eine(n) PCMCIA-Schlitz und -Karte, etc. umfassen. Über die Kommunikationsschnittstelle 424 übertragene Software und Daten haben die Form von Signalen 425, die elektronische, elektromagnetische, optische oder andere Signale sein können, die von der Kommunikationsschnittstelle 424 empfangen werden können. Diese Signale 425 werden der Kommunikationsschnittstelle 424 über einen Kommunikationspfad 426 zugeführt. Der Kommunikationspfad 426 überträgt Signale 425 und kann unter Verwendung eines Drahtes oder Kabels, einer Glasfaser, einer Telefonleitung, einer Mobiltelefonverbindung, einer HF-Verbindung und anderer Kommunikationskanäle implementiert werden. Beispiele für Signale, die über die Schnittstelle 424 übertragen werden können, umfassen: zu codierende und/oder zu decodierende Signale und/oder Parameter, wie etwa Sprach- und/oder Audiosignale, sowie Bitstromdarstellungen derartiger Signale; sämtliche aus der Codierung und Decodierung von Sprach- und/oder Audiosignalen resultierende Signale/Parameter; nicht mit Sprach- und/oder Audiosignalen in Zusammenhang stehende Signale, die unter Verwendung der hierin beschriebenen Techniken verarbeitet werden sollen.
  • In diesem Dokument werden die Begriffe "Computerprogrammmedium" und "computernutzbares Medium" so verwendet, dass sie sich allgemein auf Medien beziehen, wie etwa das Wechselspeicherlaufwerk 414, eine in das Festplattenlaufwerk 412 installierte Festplatte und die Signale 425. Diese Computerprogrammprodukte sind Einrichtungen zum Zuführen von Software an das Computersystem 400.
  • Computerprogramme (auch Computersteuerlogik genannt) werden im Hauptspeicher 405 und/oder sekundären Speicher 410 gespeichert. Auch decodierte Sprachsegmente, gefilterte Sprachsegmente, Filterparameter, wie etwa Filterkoeffizienten und -verstärkungen und so weiter, können alle in den vorstehend erwähnten Speichern gespeichert werden. Die Computerprogramme können auch über die Kommunikationsschnittstelle 424 empfangen werden. Solche Computerprogramme ermöglichen es dem Computersystem 400, wenn sie ausgeführt werden, die vorliegende Erfindung, wie hierin besprochen, zu implementieren. Im Besonderen ermöglichen es die Computerprogramme, wenn sie ausgeführt werden, dem Prozessor 404, die erfindungsgemäßen Verfahren, beispielsweise etwa das in 2 dargestellte Verfahren, zu implementieren. Demgemäß stellen solche Computerprogramme Steuereinrichtungen des Computersystems 400 dar. Wenn die Erfindung unter Verwendung von Software ausgeführt wird, kann die Software in einem Computerprogrammprodukt gespeichert und unter Verwendung des Wechselspeicherlaufwerks 414, des Festplattenlaufwerks 412 oder der Kommunikationsschnittstelle 424 in das Computersystem 400 geladen werden.
  • Bei einer anderen Ausführungsform werden die Merkmale der Erfindung hauptsächlich in Hardware implementiert, und zwar beispielsweise unter Verwendung von Hardwarekomponenten, wie etwa anwendungsspezifische integrierte Schaltungen (ASICs) und Gate-Arrays. Implementierungen einer Hardware-Zustandsmaschine zur Durchführung der hierin beschriebenen Funktionen sind für Fachleute auf dem Gebiet ebenfalls ersichtlich.
  • C. Schlusswort
  • Obgleich verschiedene Ausführungsformen der vorliegenden Erfindung vorstehend beschrieben worden sind, versteht es sich, dass diese rein beispielhaft angegeben wurden und keine Einschränkung darstellen. Fachleute auf dem oder den relevanten Gebieten werden erkennen, dass daran verschiedene Änderungen in Form und Details durchgeführt werden können, ohne vom Schutzumfang der Erfindung abzuweichen, wie in den anhängigen Ansprüchen definiert. Obgleich die vorstehend beschriebenen Ausführungsformen in Bezug auf die Decodierung von Sprachsignalen beschrieben worden sind, lässt sich die vorliegende Erfindung beispielsweise ebenso auf das Decodieren von Audiosignalen im Allgemeinen anwenden. Demge mäß soll der Schutzumfang der vorliegenden Erfindung nicht durch eine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern vielmehr nur gemäß den nachfolgenden Ansprüchen und deren Entsprechungen definiert werden.

Claims (10)

  1. Verfahren zum Decodieren eines codierten Sprachsignals, das umfasst: – wenn ein Segment des codierten Sprachsignals gut ist, Decodieren des Segments, um ein Erregungssignal, Langzeit-Prädiktionsparameter und Kurzzeit-Prädiktionsparameter abzuleiten, – wenn das Segment schlecht ist, Skalieren einer Zufallssequenz von Mustern, um das Erregungssignal abzuleiten, und Ableiten der Langzeit-Prädiktionsparameter und Kurzzeit-Prädiktionsparameter basierend auf Parametern, die zu einem zuvor decodierten Segment des Sprachsignals gehören, – Filtern des Erregungssignals in einem Langzeitsynthesefilter unter der Steuerung der Langzeit-Prädiktionsparameter, wodurch ein erstes Ausgangssignal erzeugt wird, und – Filtern des ersten Ausgangssignals in einem Kurzzeitsynthesefilter unter der Steuerung der Kurzzeit-Prädiktionsparameter, wodurch ein zweites Ausgangssignal erzeugt wird, dadurch gekennzeichnet, dass – das Skalieren der Zufallssequenz das Berechnen eines Skalierfaktors und das Anwenden des Skalierfaktors umfasst, um die Zufallssequenz relativ zu einem Niveau einer früheren Langzeiterregung zu skalieren, – wobei das Berechnen des Skalierfaktors das Erhöhen des Werts des Skalierfaktors in Richtung einer Obergrenze bei abnehmender Periodizität und das Verringern des Werts des Skalierfaktors in Richtung einer Untergrenze bei zunehmender Periodizität umfasst.
  2. Verfahren nach Anspruch 1, bei dem das Skalieren der Zufallssequenz umfasst: – Skalieren der Zufallssequenz, so dass das Niveau der Zufallssequenz ein Niveau einer früheren Langzeiterregung erreicht, um die Periodizität zu verringern, und das Niveau der Zufallssequenz im Vergleich zu dem Niveau einer frühren Langzeiterregung abnimmt, um die Periodizität zu erhöhen.
  3. Verfahren nach Anspruch 1, bei dem das Skalieren der Zufallssequenz umfasst: – Verwenden eines geglätteten Maßes der Periodizität, um das Skalieren der Zufallssequenz durch die folgende Berechnung zu steuern: cs(k) = α·cs(k - 1) + (1 - α)·c(k),wobei cs(k) das geglättete Periodizitätsmaß, cs(k - 1) das geglättete Periodizitätsmaß eines zuvor decodierten Segments des codierten Sprachsignals, c(k) ein momentanes Periodizitätsmaß und α ein vordefinierter Faktor ist, der das Glätten steuert.
  4. Verfahren nach Anspruch 1, das ferner umfasst: – Überwachen einer Anzahl nacheinander empfangener schlechter Segmente und allmähliches Reduzieren des zum Skalieren der Zufallssequenz verwendeten Skalierfaktors in Relation zu der Anzahl nacheinander empfangener schlechter Segmente.
  5. Verfahren nach Anspruch 1, bei dem die Langzeit-Prädiktionsparameter einen Langzeitfilterkoeffizienten umfassen, wobei das Verfahren ferner umfasst: – Feststellen, ob eine Anzahl nacheinander empfangener schlechter Signale einen vordefinierten Schwellenwert übersteigt, und – wenn die Anzahl nacheinander empfangener schlechter Segmente den vordefinierten Schwellenwert übersteigt, allmähliches Reduzieren eines zum Skalieren der Zufallssequenz verwendeten Skalierfaktors in Relation zu der Anzahl nacheinander empfangener schlechter Segmente und allmähliches Reduzieren des Langzeitfilterkoeffizienten in Relation zu der Anzahl nacheinander empfangener schlechter Segmente.
  6. Sprachdecoder mit: – einer Steuereinheit, die dafür konfiguriert ist, ein Erregungssignal, Langzeit-Prädiktionsparameter und Kurzzeit-Prädiktionsparameter abzuleiten, – einem Langzeitsynthesefilter, das das Erregungssignal unter der Steuerung der Langzeit-Prädiktionsparameter filtert, um ein erstes Ausgangssignal zu erzeugen, – einem Kurzzeitsynthesefilter, das das erste Ausgangssignal unter der Steuerung der Kurzzeit-Prädiktionsparameter filtert, um ein zweites Ausgangssignal zu erzeugen, – wobei die Steuereinheit dafür konfiguriert ist, das Erregungssignal, die Langzeit-Prädiktionsparameter und Kurzzeit-Prädiktionsparameter von decodierten Informationen abzuleiten, die zu einem Segment eines codierten Sprachsignals gehören, wenn das Segment gut ist, und das Erregungssignal durch Skalieren einer Zufallssequenz von Mustern abzuleiten und Ableiten der Langzeit-Prädiktionsparameter und Kurzzeit-Prädiktionsparameter basierend auf Parametern, die zu einem zuvor decodierten Segment gehören, wenn das Segment schlecht ist, dadurch gekennzeichnet, dass – die Steuereinheit dafür konfiguriert ist, die Zufallssequenz durch Berechnen eines Skalierfaktors und Anwenden des Skalierfaktors zu skalieren, um die Zufallssequenz relativ zu einem Niveau einer früheren Langzeiterregung zu skalieren, – wobei das Berechnen des Skalierfaktors das Erhöhen des Werts des Skalierfaktors in Richtung einer Obergrenze bei abnehmender Periodizität und das Verringern des Werts des Skalierfaktors in Richtung einer Untergrenze bei zunehmender Periodizität umfasst.
  7. Sprachdecoder nach Anspruch 6, wobei die Steuereinheit dafür konfiguriert ist, die Zufallssequenz zu skalieren, so dass das Niveau der Zufallssequenz ein Niveau einer früheren Langzeiterregung erreicht, um die Periodizität zu verringern, und das Niveau der Zufallssequenz im Vergleich zu dem Niveau einer frühren Langzeiterregung abnimmt, um die Periodizität zu erhöhen.
  8. Sprachdecoder nach Anspruch 6, wobei die Steuereinheit dafür konfiguriert ist, ein geglättetes Maß der Periodizität zu verwenden, um das Skalieren der Zufallssequenz durch die folgende Berechnung zu steuern: cs(k) = α·cs(k - 1) + (1 - α)·c(k),wobei cs(k) das geglättete Periodizitätsmaß, cs(k - 1) das geglättete Periodizitätsmaß eines zuvor decodierten Segments des codierten Sprachsignals, c(k) ein momentanes Periodizitätsmaß und α ein vordefinierter Faktor ist, der das Glätten steuert.
  9. Sprachdecoder nach Anspruch 6, wobei die Steuereinheit ferner dafür konfiguriert ist, eine Anzahl nacheinander empfangener schlechter Segmente zu überwachen und einen zum Skalieren der Zufallssequenz verwendeten Skalierfaktor in Relation zu der Anzahl nacheinander empfangener schlechter Segmente allmählich zu reduzieren.
  10. Sprachdecoder nach Anspruch 6, – wobei die Steuereinheit ferner dafür konfiguriert ist, festzustellen, ob eine Anzahl nacheinander empfangener schlechter Signale einen vordefinierten Schwellenwert übersteigt, und – wenn die Anzahl nacheinander empfangener schlechter Segmente den vordefinierten Schwellenwert übersteigt, einen zum Skalieren der Zufallssequenz verwendeten Skalierfaktor in Relation zu der Anzahl nacheinander empfangener schlechter Segmente allmählich zu reduzieren und einen Langzeitfilterkoeffizienten in Relation zu der Anzahl nacheinander empfangener schlechter Segmente allmählich zu reduzieren.
DE602004006211T 2003-10-24 2004-10-25 Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem Expired - Lifetime DE602004006211T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US51374203P 2003-10-24 2003-10-24
US513742P 2003-10-24
US51571203P 2003-10-31 2003-10-31
US515712P 2003-10-31
US968300P 2004-10-20
US10/968,300 US7324937B2 (en) 2003-10-24 2004-10-20 Method for packet loss and/or frame erasure concealment in a voice communication system

Publications (2)

Publication Number Publication Date
DE602004006211D1 DE602004006211D1 (de) 2007-06-14
DE602004006211T2 true DE602004006211T2 (de) 2008-01-10

Family

ID=34527946

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004006211T Expired - Lifetime DE602004006211T2 (de) 2003-10-24 2004-10-25 Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem

Country Status (3)

Country Link
US (1) US7324937B2 (de)
EP (1) EP1526507B1 (de)
DE (1) DE602004006211T2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473286B2 (en) * 2004-02-26 2013-06-25 Broadcom Corporation Noise feedback coding system and method for providing generalized noise shaping within a simple filter structure
US20060136202A1 (en) * 2004-12-16 2006-06-22 Texas Instruments, Inc. Quantization of excitation vector
US20060147063A1 (en) 2004-12-22 2006-07-06 Broadcom Corporation Echo cancellation in telephones with multiple microphones
US8509703B2 (en) 2004-12-22 2013-08-13 Broadcom Corporation Wireless telephone with multiple microphones and multiple description transmission
KR100612889B1 (ko) * 2005-02-05 2006-08-14 삼성전자주식회사 선스펙트럼 쌍 파라미터 복원 방법 및 장치와 그 음성복호화 장치
JP5142727B2 (ja) * 2005-12-27 2013-02-13 パナソニック株式会社 音声復号装置および音声復号方法
DE102006022346B4 (de) * 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
US20070282601A1 (en) * 2006-06-02 2007-12-06 Texas Instruments Inc. Packet loss concealment for a conjugate structure algebraic code excited linear prediction decoder
KR101291193B1 (ko) * 2006-11-30 2013-07-31 삼성전자주식회사 프레임 오류은닉방법
US7937640B2 (en) * 2006-12-18 2011-05-03 At&T Intellectual Property I, L.P. Video over IP network transmission system
US8340078B1 (en) 2006-12-21 2012-12-25 Cisco Technology, Inc. System for concealing missing audio waveforms
US9129590B2 (en) * 2007-03-02 2015-09-08 Panasonic Intellectual Property Corporation Of America Audio encoding device using concealment processing and audio decoding device using concealment processing
US8126707B2 (en) * 2007-04-05 2012-02-28 Texas Instruments Incorporated Method and system for speech compression
JP5302190B2 (ja) * 2007-05-24 2013-10-02 パナソニック株式会社 オーディオ復号装置、オーディオ復号方法、プログラム及び集積回路
CN101325537B (zh) * 2007-06-15 2012-04-04 华为技术有限公司 一种丢帧隐藏的方法和设备
US7710973B2 (en) * 2007-07-19 2010-05-04 Sofaer Capital, Inc. Error masking for data transmission using received data
US7929520B2 (en) * 2007-08-27 2011-04-19 Texas Instruments Incorporated Method, system and apparatus for providing signal based packet loss concealment for memoryless codecs
KR100998396B1 (ko) * 2008-03-20 2010-12-03 광주과학기술원 프레임 손실 은닉 방법, 프레임 손실 은닉 장치 및 음성송수신 장치
CN101604523B (zh) * 2009-04-22 2012-01-04 网经科技(苏州)有限公司 在g.711语音编码中隐藏冗余信息的方法
KR101847213B1 (ko) * 2010-09-28 2018-04-11 한국전자통신연구원 쉐이핑 함수를 이용한 오디오 신호 디코딩 방법 및 장치
US9087260B1 (en) * 2012-01-03 2015-07-21 Google Inc. Hierarchical randomized quantization of multi-dimensional features
ES2881510T3 (es) * 2013-02-05 2021-11-29 Ericsson Telefon Ab L M Método y aparato para controlar la ocultación de pérdida de trama de audio
KR20150032390A (ko) * 2013-09-16 2015-03-26 삼성전자주식회사 음성 명료도 향상을 위한 음성 신호 처리 장치 및 방법
CN103714820B (zh) * 2013-12-27 2017-01-11 广州华多网络科技有限公司 参数域的丢包隐藏方法及装置
US9706317B2 (en) * 2014-10-24 2017-07-11 Starkey Laboratories, Inc. Packet loss concealment techniques for phone-to-hearing-aid streaming
US9712930B2 (en) * 2015-09-15 2017-07-18 Starkey Laboratories, Inc. Packet loss concealment for bidirectional ear-to-ear streaming
CN108922551B (zh) * 2017-05-16 2021-02-05 博通集成电路(上海)股份有限公司 用于补偿丢失帧的电路及方法
CN114424282A (zh) * 2019-09-03 2022-04-29 杜比实验室特许公司 低时延低频率效应编译码器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615298A (en) 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
US5574825A (en) * 1994-03-14 1996-11-12 Lucent Technologies Inc. Linear prediction coefficient generation during frame erasure or packet loss
US7711563B2 (en) 2001-08-17 2010-05-04 Broadcom Corporation Method and system for frame erasure concealment for predictive speech coding based on extrapolation of speech waveform

Also Published As

Publication number Publication date
US7324937B2 (en) 2008-01-29
EP1526507A1 (de) 2005-04-27
EP1526507B1 (de) 2007-05-02
US20050091048A1 (en) 2005-04-28
DE602004006211D1 (de) 2007-06-14

Similar Documents

Publication Publication Date Title
DE602004006211T2 (de) Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem
DE60209861T2 (de) Adaptive Postfilterung zur Sprachdekodierung
DE69915830T2 (de) Verbesserte verfahren zur rückgewinnung verlorener datenrahmen für ein lpc-basiertes, parametrisches sprachkodierungsystem.
DE69608947T2 (de) Verfahren zur Analyse eines Audiofrequenzsignals durch lineare Prädiktion, und Anwendung auf ein Verfahren zur Kodierung und Dekodierung eines Audiofrequenzsignals
DE69604526T2 (de) Verfahren zur Anpassung des Rauschmaskierungspegels in einem Analyse-durch-Synthese-Sprachkodierer mit einem wahrnehmunggebundenen Kurzzeitfilter
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE69132013T2 (de) Verfahren für sprachquantisierung und fehlerkorrektur
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69317958T2 (de) Kodierer von Audiosignalen mit niedriger Verzögerung, unter Verwendung von Analyse-durch-Synthese-Techniken
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
DE60117144T2 (de) Sprachübertragungssystem und verfahren zur behandlung verlorener datenrahmen
DE60224962T2 (de) Verfahren und Vorrichtung zur Verschleierung von fehlerbehafteten Sprachrahmen
DE3856211T2 (de) Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE60217522T2 (de) Verbessertes verfahren zur verschleierung von bitfehlern bei der sprachcodierung
DE69718307T2 (de) Verfahren und zusammenstellung zur wiederherstellung eines empfangenen sprachsignals
DE69033510T2 (de) Numerischer sprachkodierer mit verbesserter langzeitvorhersage durch subabtastauflösung
DE69524890T2 (de) Parametrische Sprachkodierung
DE102008042579A1 (de) Verfahren zur Fehlerverdeckung bei fehlerhafter Übertragung von Sprachdaten
DE60028500T2 (de) Sprachdekodierung
DE60309651T2 (de) Verfahren zur Sprachkodierung mittels verallgemeinerter Analyse durch Synthese und Sprachkodierer zur Durchführung dieses Verfahrens
DE69420682T2 (de) Sprachdekodierer
DE60032068T2 (de) Sprachdekodierung

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