DE60214814T2 - Verfahren und Vorrichtung zur Beseitigung von Diskontinuitäten eines adaptiv gefilterten Signals - Google Patents

Verfahren und Vorrichtung zur Beseitigung von Diskontinuitäten eines adaptiv gefilterten Signals Download PDF

Info

Publication number
DE60214814T2
DE60214814T2 DE60214814T DE60214814T DE60214814T2 DE 60214814 T2 DE60214814 T2 DE 60214814T2 DE 60214814 T DE60214814 T DE 60214814T DE 60214814 T DE60214814 T DE 60214814T DE 60214814 T2 DE60214814 T2 DE 60214814T2
Authority
DE
Germany
Prior art keywords
signal
filter
filtered
crpc
term
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
DE60214814T
Other languages
English (en)
Other versions
DE60214814D1 (de
Inventor
Juin-Hwey Irvine Chen
Jes Laguna Niguel THYSSEN
Chris C. Irvine Lee
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 DE60214814D1 publication Critical patent/DE60214814D1/de
Publication of DE60214814T2 publication Critical patent/DE60214814T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering

Description

  • Die vorliegende Erfindung betrifft allgemein Verfahren zum Filtern von Signalen, und insbesondere Verfahren zum Beseitigen von Unstetigkeiten in adaptiv gefilterten Signalen.
  • In der digitalen Sprachkommunikation mit Codier- und Decodieroperationen ist es bekannt, dass ein sachgemäß entworfenes adaptives Filter, das am Ausgang des Sprachdecodierers angewendet wird, in der Lage ist, das wahrgenommene Codierungsrauschen zu verringern und dadurch die Qualität der decodierten Sprache zu verbessern. Ein solches adaptives Filter wird häufig als adaptives Nachfilter bezeichnet, wobei von dem adaptiven Nachfilter gesagt wird, dass es ein adaptives Nachfiltern durchführt.
  • Adaptives Nachfiltern kann unter Verwendung von Frequenzbereich-Lösungsansätzen durchgeführt werden, d.h. unter Verwendung eines Frequenzbereich-Nachfilters. Herkömmliche Frequenzbereich-Lösungsansätze erfordern auf unvorteilhafte Weise einen hohen Rechenaufwand und führen eine unerwünschte Pufferungsverzögerung für Overlap-Add (überlappende Addition)-Operationen ein, die verwendet werden, um Wellenform-Unstetigkeiten an Blockgrenzen zu vermeiden. Adaptives Nachfiltern kann auch unter Verwendung von Zeitbereich-Lösungsansätzen durchgeführt werden, d.h. unter Verwendung eines Zeitbereich-adaptiven Nachfilters. Ein bekanntes Zeitbereich-adaptives Nachfilter umfasst ein Langzeit-Nachfilter und ein Kurzzeit-Nachfilter. Das Langzeit-Nachfilter wird verwendet, wenn das Sprachspektrum eine harmonische Struktur aufweist, z.B. während stimmhafter Sprache, wenn die Sprachwellenform fast periodisch ist. Das Langzeit-Nachfilter wird typischerweise zum Langzeitfiltern verwendet, um spektrale Senken zwischen Harmonischen im Sprachspektrum zu dämpfen. Das Kurzzeit-Nachfilter führt ein Kurzzeitfiltern zum Dämpfen der Senken in der spektralen Einhüllenden, d.h. der Senken zwischen Formantenspitzen, durch. Es ist ein Nachteil einiger der älteren Zeitbereich-adaptiven Nachfilter, dass sie dazu neigen, die nachgefilterte Sprache dumpf klingen zu lassen, da sie einen Tiefpass-Spectral Tilt während stimmhafter Sprache aufweisen. In neuerer Zeit vorgeschlagene, herkömmliche Zeitbereich-Nachfilter verringern einen solchen Spectral Tilt stark, jedoch auf Kosten der Verwendung von viel komplexeren Filterstrukturen, um dieses Ziel zu erreichen.
  • Sowohl die US-A-S 999 899 (ROBINSON ANTHONY JOHN), 07.12.1999, als auch die EP-A-0 732 687 (MATSUSHITA ELECTRIC IND CO LTD), 18.09.1996, beschreiben Verfahren zum Filtern eines Signals und die Verwendung von Wellenformglättungstechniken auf der Grundlage des Overlap-and-Add-Ansatzes zum Verringern von Unstetigkeiten zwischen Rahmen.
  • Es ist wünschenswert, eine Verstärkung eines adaptiven Nachfilters so zu skalieren, dass die nachgefilterte Sprache in etwa die gleiche Größe wie die ungefilterte Sprache aufweist. Mit anderen Worten ist es wünschenswert, dass ein adaptives Nachfilter eine adaptive Verstärkungssteuerung (Adaptive Gain Control; AGC) aufweist. AGC kann jedoch auf unvorteilhafte Weise den Rechenaufwand des adaptiven Nachfilters erhöhen. Daher besteht ein Bedarf nach einem adaptiven Nachfilter mit AGC, bei dem der Rechenaufwand im Zusammenhang mit der AGC minimiert ist.
  • Gemäß einem Aspekt der Erfindung ist ein Verfahren nach Anspruch 1 vorgesehen.
  • Gemäß einem anderen Aspekt der Erfindung ist ein Computerprogramm-Produkt nach Anspruch 8 vorgesehen.
  • Gemäß einem anderen Aspekt der Erfindung ist eine Vorrichtung nach Anspruch 13 vorgesehen.
  • Die Ausführungsformen der vorliegenden Erfindung werden unter Bezugnahme auf die beigefügte Zeichnung beschrieben. In der Zeichnung bezeichnen gleiche Bezugszeichen identische oder in ihrer Funktion ähnliche Elemente. Die vorliegend verwendeten Ausdrücke "früher" und "gegenwärtig" geben eine relative zeitliche Beziehung an und sind mit den Ausdrücken "gegenwärtige" bzw. "nächste"/"zukünftige" austauschbar, um die gleiche zeitliche Beziehung anzugeben. Ferner sind die erwähnten Ausdrücke jeweils der Einfachheit halber mit Ausdrücken wie etwa "erste" bzw. "zweite," oder dergleichen austauschbar.
  • 1A ist ein Blockdiagramm eines beispielhaften Nachfiltersystems zum Verarbeiten von Sprach- und/oder Audio-bezogenen Signalen gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 1B ist ein Blockdiagramm eines adaptiven Nachfilters des Standes der Technik im ITU-T Recommendation G.729-Sprachcodierungsstandard.
  • 2A ist ein Blockdiagramm eines beispielhaften Filtercontrollers von 1A zum Ableiten von Kurzzeit-Filterkoeffizienten.
  • 2B ist ein Blockdiagramm eines weiteren beispielhaften Filtercontrollers von 1A zum Ableiten von Kurzzeit-Filterkoeffizienten.
  • 2C, 2D und 2E beinhalten jeweils Darstellungen eines decodierten Sprachspektrums und Filterantworten im Zusammenhang mit dem Filtercontroller von 1A.
  • 3 ist ein Blockdiagramm eines beispielhaften adaptiven Nachfilters des Nachfiltersystems von 1A.
  • 4 ist ein Blockdiagramm eines alternativen adaptiven Nachfilters des Nachfiltersystems von 1A.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Verfahrens zum adaptiven Filtern eines decodierten Sprachsignals zum Glätten von Signalunstetigkeiten, die auf Grund einer Filteraktualisierung an einer Sprachrahmengrenze entstehen können.
  • 6 ist ein Hochpegel-Blockdiagramm eines beispielhaften adaptiven Filters.
  • 7 ist ein Zeitablaufdiagramm für beispielhafte Abschnitte von verschiedenen Signalen, die im Zusammenhang mit dem Filter von 7 erörtert werden.
  • 8 ist ein Ablaufdiagramm eines beispielhaften verallgemeinerten Verfahrens zum adaptiven Filtern eines verallgemeinerten Signals zum Glätten von gefilterten Signalunstetigkeiten, die auf Grund einer Filteraktualisierung entstehen können.
  • 9 ist ein Blockdiagramm eines Computersystems, auf dem die vorliegende Erfindung ablaufen kann.
  • Bei der Sprachcodierung wird das Sprachsignal typischerweise Rahmen um Rahmen codiert und decodiert, wobei jeder Rahmen eine feste Länge zwischen 5 ms bis 40 ms besitzt. Beim prädiktiven Codieren von Sprache wird jeder Rahmen häufig weiter in Teilrahmen einer gleichen Länge aufgeteilt, wobei jeder Teilrahmen typischerweise zwischen 1 und 10 ms dauert. Die meisten adaptiven Nachfilter werden Teilrahmen um Teilrahmen angepasst. D.h., die Koeffizienten und Parameter des Nachfilters werden nur einmal pro Teilrahmen aktualisiert, und werden innerhalb jedes Teilrahmens konstant gehalten. Dies trifft sowohl auf das herkömmliche adaptive Nachfilter als auch auf die im Nachfolgenden beschriebenen Ausführungsformen zu.
  • 1. Übersicht über das Nachfiltersystem
  • 1A ist ein Blockdiagramm eines beispielhaften Nachfiltersystems zum Verarbeiten von Sprach- und/oder Audio-bezogenen Signalen gemäß einer Ausführungsform der vorliegenden Erfindung. Das System weist einen Sprachdecodierer 101 (der nicht Teil der vorliegenden Erfindung darstellt), einen Filtercontroller 102, und ein adaptives Nachfilter 103 (auch als Filter 103 bezeichnet) auf, das von dem Controller 102 gesteuert wird. Das Filter 103 weist ein Kurzzeit-Nachfilter 104 und ein Langzeit-Nachfilter 105 (auch als Filter 104 bzw. 105 bezeichnet) auf.
  • Der Sprachdecodierer 101 empfängt einen Bitstrom, der für ein codiertes Sprach- und/oder Audiosignal repräsentativ ist. Der Decodierer 101 decodiert den Bitstrom, um ein decodierte Sprache (DS)-Signal s ~ (n) zu erzeugen. Der Filtercontroller 102 verarbeitet das DS-Signal s ~ (n), um Filtersteuersignale 106 zum Steuern des Filters 103 abzuleiten/zu erzeugen, und liefert die Steuersignale an das Filter. Die Filtersteuersignale 106 steuern die Eigenschaften des Filters 103 und beinhalten z.B. Kurzzeit-Filterkoefzienten di für das Kurzzeitfilter 104, Langzeit-Filterkoeffizienten für das Langzeitfilter 105, AGC-Verstärkungen, usw. Der Filtercontroller 102 führt ein erneutes Ableiten oder ein Aktualisieren der Filtersteuersignale 106 auf einer periodischen Basis durch, z.B. auf einer Rahmen-um-Rahmen-Basis oder einer Teilrahmen-um-Teilrahmen-Basis, wenn das DS-Signal s ~ (n) aufeinander folgende DS-Rahmen oder -Teilrahmen enthält.
  • Das Filter 103 empfängt periodisch aktualisierte Filtersteuersignale 106 und spricht auf die Filtersteuersignale an. Beispielsweise steuern die Kurzzeit-Filterkoeffizienten di, die in den Steuersignalen 106 enthalten sind, eine Transferfunktion (z.B. einen Frequenzgang) des Kurzzeitfilters 104. Da die Steuersignale 106 periodisch aktualisiert werden, arbeitet das Filter 103 als adaptives oder zeitvariables Filter im Ansprechen auf die Steuersignale.
  • Das Filter 103 filtert das DS-Signal s ~ (n) gemäß den Steuersignalen 106. Genauer gesagt filtert das Kurzzeit- und das Langzeitfilter 104 und 105 das DS-Signal s ~ (n) gemäß den Steuersignalen 106. Dieser Filtervorgang wird auch als "Nachfiltern" bezeichnet, da er in der Umgebung eines Nachfilters stattfindet. Beispielsweise veranlassen die Kurzzeit-Filterkoeffizienten di das Kurzzeitfilter 104 zu der oben erwähnten Filterantwort, und das Kurzzeitfilter filtert das DS-Signal s ~ (n) unter Verwendung dieses Frequenzgangs. Das Langzeitfilter 105 kann vor dem Kurzzeitfilter 104 angeordnet sein, oder umgekehrt.
  • 2. Kurzzeit-Nachfilter
  • 2.1 Herkömmliches Nachfilter – Kurzzeit-Nachfilter
  • Ein herkömmliches adaptives Nachfilter, das in dem ITU-T Recommendation G.729 Sprachecodierungsstandard verwendet wird, ist in 1B abgebildet. Es sei angenommen, dass
    Figure 00060001
    die Transferfunktion des Kurzzeitsynthesefilters des G.729-Sprachdecodierers ist. Das Kurzzeit-Nachfilter in 1B besteht aus einem Pole Zero-Filter mit einer Transferfunktion
    Figure 00060002
    wobei 0 < β < α < 1, gefolgt von einem All Zero-Filter 1. Ordnung 1 – μz–1. Im Grunde gibt der Nur-Pole-Abschnitt des Pole Zero-Filters, oder
    Figure 00060003
    eine geglättete Version des Frequenzgangs des Kurzzeitsynthesfilters
    Figure 00060004
    das selbst die spektrale Einhüllende der eingegebenen Sprache annähert. Der All Zero-Abschnitt des Pole Zero-Filters, oder Â(z/β), wird verwendet, um einen Grossteil des Spectral Tilt in
    Figure 00060005
    zu tilgen. Er kann jedoch den Spectral Tilt nicht vollständig tilgenDas Filter 1. Ordnung 1 – μz–1 versucht, den verbleibenden Spectral Tilt im Frequenzgang des Pole Zero-Filters
    Figure 00070001
    zu tilgen.
  • 2.2 Filtercontroller und Verfahren zum Ableiten von Kurzzeit-Filterkoeffizienten
  • Bei einer Nachfilter-Ausführungsform der vorliegenden Erfindung ist das Kurzzeitfilter (beispielsweise das Kurzzeitfilter 104) ein einfaches Nur-Pole-Filter, das eine Transferfunktion
    Figure 00070002
    besitzt. Die 2A und 2B sind Blockdiagramme von zwei verschiedenen beispielhaften Filtercontrollern, welche dem Filtercontroller 102 entsprechen, zum Ableiten der Koeffizienten di des Polynoms D(z), wobei i = 1, 2,..., L, und L die Ordnung des Kurzzeit-Nachfilters ist. Es wird angemerkt, dass die 2A und 2B auch jeweilige Verfahren zum Ableiten der Koeffizienten des Polynoms D(z) darstellen, die von dem Filtercontroller 102 durchgeführt werden. Beispielsweise führt jeder der Funktionsblöcke, oder jede der Gruppen von Funktionsblöcken, die in 2A und 2B dargestellt sind, einen oder mehrere Verfahrensschritte eines Gesamtverfahrens zur Verarbeitung von decodierter Sprache durch.
  • Es sei angenommen, dass der Sprach-Codec eine prädiktiver Codec ist, der einen herkömmlichen LPC-Prädiktor anwendet mit einer Kurzzeitsynthesfilter-Transferfunktion
    Figure 00070003
    wobei
    Figure 00070004
    und M die Ordnung des LPC-Prädiktors ist, die für gewöhnlich 10 für 8 kHz abgetastete Sprache beträgt. Auf viele bekannte prädiktive Sprachcodecs trifft diese Beschreibung zu, einschliesslich Codecs, die Adaptive Predictive Coding (APC), Multi-Pulse Linear Predictive Coding (MPLPC), Code-Excited Linear Prediction (CELP), und Noise Feedback Coding (NFC) verwenden.
  • Die beispielhafte Anordnung des Filtercontrollers 102, die in 2A dargestellt ist, umfasst die Blöcke 220-290. Der Sprachdecodierer 101 kann als ausserhalb des Filtercontrollers befindlich angesehen werden. Wie bereits erwähnt wurde, decodiert der Sprachdecodierer 101 den eintreffenden Bitstrom in das DS-Signal s ~ (n). Es sei angenommen, dass dem Decodierer 101 die decodierten LPC-Prädiktorkoeffizienten âi, i = 1, 2,..., M zur Verfügung stehen (es wird angemerkt, dass wie immer â0 = 1). Im Frequenzbereich hat das DS-Signal s ~ (n) eine spektrale Einhüllende, die eine erste Mehrzahl von Formantenspitzen aufweist. Typischerweise haben die Formantenspitzen jeweilige verschiedene Amplituden, die über einen weiten dynamischen Bereich verbreitet sind.
  • Ein Bandbreitenspreizungsblock 220 skaliert diese âi-Koeffizienten, um die Koeffizienten 222 eines Formungsfilterblocks 230 zu bilden, mit einer Transferfunktion
    Figure 00080001
  • Ein geeigneter Wert für α ist 0,90.
  • Als Alternative kann die beispielhafte Anordnung des Filtercontrollers 102 verwendet werden, die in 2B dargestellt ist, um die Koeffizienten des Formungsfilters (Block 230) abzuleiten. Der Filtercontroller von 2B weist Blöcke oder Module 215-290 auf. Anstatt eine Bandbreitenspreizung der decodierten LPC-Prädiktorkoeffizienten âi, i = 1, 2,..., M durchzuführen, weist der Controller von 2B den Block 215 zum Durchführen einer LPC-Analyse auf, um die LPC-Prädiktorkoeffizienten aus dem decodierten Sprachsignal abzuleiten, und verwendet dann einen Bandbreitenspreizungsblock 220, um eine Bandbreitenspreizung an dem resultierenden Satz von LPC-Prädiktorkoeffizienten durchzuführen. Dieses alternative Verfahren (d.h. das in 2B veranschaulichte Verfahren) ist von Nutzen, wenn der Sprachdecodierer 101 keine decodierten LPC-Prädiktorkoeffizienten zur Verfügung stellt, oder wenn solche decodierte LPC-Prädiktorkoeffizienten als unzuverlässig angesehen werden. Es ist zu beachten, dass der Controller von 2B abgesehen von der Hinzufügung des Blockes 215 mit dem Controller von 2A identisch ist. Mit anderen Worten, jeder der Funktionsblöcke in 2A ist mit dem entsprechenden Funktionsblock in 2B mit der gleichen Blocknummer identisch.
  • Ein All Zero-Formungsfilter 230 mit der Transferfunktion Â(z/α) filtert daraufhin das decodierte Sprachsignal s ~ (n), um ein Ausgangssignal f(n) zu erhalten, wobei das Signal f(n) ein Zeitbereichsignal ist. Dieses Formungsfilter Â(z/α) (230) entfernt einen Grossteil des Spectral Tilt in der spektralen Einhüllenden des decodierten Sprachsignals s ~ (n), während es die Formantenstruktur in der spektralen Einhüllenden des gefilterten Signals f(n) bewahrt. Es bleibt jedoch einiger Spectral Tilt zurück.
  • Allgemeiner gesagt haben die Signale f(n) im Frequenzbereich eine spektrale Einhüllende mit einer Mehrzahl von Formantenspitzen, die der Mehrzahl von Formantenspitzen der spektralen Einhüllenden des DS-Signals s ~ (n) entsprechen. Eine oder mehrere Amplitudendifferenzen zwischen den Formantenspitzen der spektralen Einhüllenden der Signale f(n) werden bezogen auf eine oder mehrere Amplitudendifferenzen zwischen entsprechenden Formantenspitzen der spektralen Einhüllenden des DS-Signals s ~ (n) reduziert. Somit ist das Signal f(n) bezogen auf die decodierte Sprache s ~ (n) "spektral abgeflacht".
  • Ein Spectral Tilt-Kompensationsfilter 260 niederer Ordnung wird daraufhin verwendet, um den verbleibenden Spectral Tilt weiter zu entfernen. Die Ordnung dieses Filters sei als K angenommen. Um die Koeffizienten dieses Filters abzuleiten, führt ein Block 240 eine LPC-Analyse K-ter Ordnung an den Signalen f(n) durch, was in einem LPC-Prädiktionsfehlerfilter K-ter Ordnung resultiert, das definiert ist durch
    Figure 00100001
  • Eine geeignete Filterordnung ist K = 1 oder 2. Ein gutes Resultat wird bei Verwendung einer einfachen Autokorrelation-LPC-Analyse mit einem rechteckigen Fenster über dem gegenwärtigen Teilrahmen von f(n) erhalten.
  • Ein Block 250, der auf den Block 240 folgt, führt dann eine allgemein bekannte Bandbreitenspreizungsprozedur an den Koeffizienten von B(z) durch, um das Spectral Tilt-Kompensationsfilter (Block 260) mit einer Transferfunktion von
    Figure 00100002
    zu erhalten. Für die oben gewählten Parameterwerte ist ein geeigneter Wert für δ 0,96.
  • Das Signal f(n) wird durch das All Zero-Spectral Tilt-Kompensationsfilter B(z/δ) (260) geleitet. Das Filter 260 filtert das spektral abgeflachte Signal f(n), um Amplitudendifferenzen zwischen Formantenspitzen in der spektralen Einhüllenden des Signals f(n) zu reduzieren. Der resultierende gefilterte Ausgang des Blocks 260 wird als Signal t(n) bezeichnet. Das Signal t(n) ist ein Zeitbereichsignal, d.h. das Signal t(n) weist eine Reihe von zeitbezogenen Signalabtastproben auf. Das Signal t(n) hat eine spektrale Einhüllende mit einer Mehrzahl von Formantenspitzen, die den Formantenspitzen in den spektralen Einhüllenden der Signale f(n) und des DS-Signals s ~ (n) entsprechen. Die Formantenspitzen des Signals t(n) stimmen in ihrer Frequenz annähernd mit den Formantenspitzen des DS-Signals s ~ (n) überein. Amplitudendifferenzen zwischen den Formantenspitzen der spektralen Einhüllenden des Signals t(n) sind wesentlich reduziert im Vergleich mit den Amplitudendifferenzen zwischen entsprechenden Formantenspitzen der spektralen Einhüllenden des DS- Signals s ~ (n). Somit ist das Signal t(n) "spektral abgeflacht" im Vergleich mit dem DS-Signal s ~ (n) (und auch mit dem Signal f(n)). Die Formantenspitzen des spektral abgeflachten Zeitbereichsignals t(n) haben jeweilige Amplituden (als Formantenamplituden bezeichnet), die annähernd gleich zueinander sind (z.B. innerhalb 3 dB von einander), während die Formantenamplituden des DS-Signals s ~ (n) wesentlich von einander verschieden sein können (z.B. um bis zu 30 dB).
  • Aus diesen Gründen ist in der spektralen Einhüllende des Signals t(n) sehr wenig Spectral Tilt übrig, aber die Formantenspitzen in der decodierten Sprache sind noch zum Grossteil erhalten. Somit ist es ein Hauptzweck der Blöcke 230 und 260, die Formantenspitzen im Spektrum von s ~ (n) zu Spektralspitzen im Spektrum von t(n) mit einer annähernd gleichen Größe zu machen, damit ein wünschenswertes Kurzzeit-Nachfilter aus dem Signal t(n) abgeleitet werden kann. Bei dem Vorgang, die Spektralspitzen von t(n) zu einer annähernd gleichen Größe zu machen, wird der Spectral Tilt von t(n) vorteilhaft reduziert oder minimiert.
  • Ein Analyseblock 270 führt daraufhin eine LPC-Analyse höherer Ordnung an dem spektral abgeflachten Zeitbereichsignal t(n) durch, um die Koeffizienten ai zu erzeugen. Bei einer Ausführungsform werden die Koeffizienten ai erzeugt, ohne eine Zeitbereich-Frequenzbereich-Konversion durchzuführen. Eine alternative Ausführungsform kann eine solche Konversion umfassen. Eine alternative Ausführungsform kann eine solche Konversion umfassen. Das resultierende LPC-Synthesefilter hat eine Transferfunktion
    Figure 00110001
  • Hierbei kann möglicherweise die Filterordnung L die Gleiche wie M sein, welche die Ordnung des LPC-Synthesefilters im Sprachdecodierer ist. Der typische Wert von L ist 10 oder 8 für 8 kHz abgetastete Sprache.
  • Dieses Nur-Pole-Filter hat einen Frequenzgang mit Spektralspitzen, die annähernd bei den Frequenzen der Formantenspitzen der decodierten Sprache liegen. Die Spektralspitzen haben jeweilige Niveaus auf einem annähernd gleichen Niveau, d.h. die Spektralspitzen haben annähernd gleiche jeweilige Amplituden (anders als die Formantenspitzen von Sprache, welche Amplituden aufweisen, die sich typischerweise über einen weiten dynamischen Bereich erstrecken). Der Grund dafür ist, dass der Spectral Tilt in dem decodierten Sprachsignal s ~ (n) zum Grossteil durch das Formungsfilter Â(z/α) (230) und das Spectral Tilt-Kompensationsfilter B(z/δ) (260) entfernt wurde. Die Koeffizienten ai können unmittelbar verwendet werden, um ein Filter zum Filtern des decodierten Sprachsignals s ~ (n) zu erstellen. Darauf folgende Verarbeitungsschritte, die von den Blöcken 280 und 290 durchgeführt werden, modifizieren jedoch die Koeffizienten, und verleihen hierbei den Koeffizienten ai gewünschte Eigenschaften, wie aus der nachfolgenden Beschreibung hervor geht.
  • Als nächstes führt ein Bandbreitenspreizungsblock 280 eine Bandbreitenspreizung an den Koeffizienten des Nur-Pole-Filters 1/A(z) durch, um den Betrag an Kurzzeit-Nachfiltern zu steuern. Nach dem Bandbreitenspreizen besitzt das resultierende Filter eine Transferfunktion
    Figure 00120001
  • Ein geeigneter Wert von 0 kann in dem Bereich von 0,60 bis 0,75 liegen, je nachdem, wie verrauscht die decodierte Sprache ist, und wie viel Rauschunterdrückung erwünscht ist. Ein höherer Wert von Θ liefert mehr Rauschunterdrückung, auf die Gefahr hin, dass eine merklichere Nachfilterungsverzerrung eingeführt wird, und umgekehrt.
  • Um sicher zu stellen, dass sich ein solches Kurzzeit-Nachfilter problemlos von Teilrahmen zu Teilrahmen entwickelt, ist es von Nutzen, die Filterkoeffizienten ãi = aiθi, i = 1, 2,..., L unter Verwendung eines Nur-Pole-Tiefpassfilters erster Ordnung zu glätten. Hierbei soll ãi(k) den i-ten Koeffizienten ãi = ãiθi in dem k-ten Teilrahmen bezeichnen, und di(k) seine geglättete Version bezeichnen. Ein Koeffizienten-Glättungsblock 290 führt die folgende Tiefpass-Glättungsoperation di(k)= ρ di(k – 1) + (1 – ρ) ãi(k), für i=1, 2,..., Ldurch. Ein geeigneter Wert für ρ ist 0,75.
  • Das Unterdrücken des Teilrahmenindex k zur Vereinfachung ergibt das resultierende Nur-Pole-Filter mit einer Transferfunktion
    Figure 00130001
    als das endgültige Kurzzeit-Nachfilter, das in einer Ausführungsform der vorliegenden Erfindung verwendet wird. Es zeigt sich, dass mit θ zwischen 0,60 und 0,75 und mit ρ = 0,75 dieses einzelne Nur-Pole-Kurzzeit-Nachfilter einen geringeren durchschnittlichen Spectral Tilt als ein herkömmliches Kurzzeit-Nachfilter ergibt.
  • Die in dem Block 290 durchgeführte Glättungsoperation zum Erhalten des Satzes von Koeffizienten di für i = 1, 2,..., L ist im Grunde ein gewichteter Durchschnitt von zwei Sätzen von Koeffizienten für zwei Nur-Pole-Filter. Selbst wenn diese zwei Nur-Pole-Filter für sich stabil sind, ist theoretisch nicht gewährleistet, dass die gewichteten Durchschnitte dieser zwei Sätze von Koeffizienten ein stabiles Nur-Pole-Filter ergeben. Um Stabilität zu gewährleisten, müssen theoretisch die Impulsantworten der zwei Nur-Pole-Filter berechnet werden, der gewichtete Durchschnitt der zwei Impulsantworten berechnet werden, und dann das gewünschte Kurzzeit-Nachfilter als ein All Zero-Filter unter Verwendung einer gerundeten Version des gewichteten Durchschnitts der Impulsantworten ausgeführt werden. Dies erhöht jedoch den Rechenaufwand beträchtlich, da die Ordnung des resultierenden All Zero-Filters üblicherweise weit über der Ordnung L des Nur-Pole-Filters liegt.
  • In der Praxis hat sich herausgestellt, dass auf Grund der Tatsache, dass die Pole des Filters
    Figure 00140001
    bereits gut innerhalb des Einheitskreises (d.h. weit weg von der Einheitskreisgrenze) skaliert sind, ein grosser "Sicherheitsabstand" vorhanden ist, und das geglättete Nur-Pole-Filter
    Figure 00140002
    nach unseren Beobachtungen immer stabil ist.
  • Daher ruft für praktische Zwecke ein direktes Glätten der Nur-Pole-Filterkoeffizienten ãi = aiθi, i = 1, 2,..., L keine Instabilitätsprobleme hervor und wird in einer Ausführungsform der vorliegenden Erfindung wegen seiner Einfachheit und seines geringeren Aufwandes verwendet.
  • Um noch sicherer zu gehen, dass das Kurzzeit-Nachfilter nicht instabil wird, kann statt dessen der oben erwähnte Lösungsansatz des gewichteten Durchschnitts von Impulsantworten verwendet werden. Bei den oben erwähnten Parameterselektionen stellte sich heraus, dass die Impulsantworten nach der 16. Abtastprobe fast immer auf ein vernachlässigbares Niveau absinken. Daher können zufriedenstellende Resultate erzielt werden, indem die Impulsantwort auf 16 Abtastproben gerundet wird und ein FIR (All Zero)-Kurzzeit-Nachfilter 15. Ordnung verwendet wird.
  • Eine andere Möglichkeit, eine potentielle Instabilität zu behandeln, ist das Annähern des Nur-Pole-Filters
    Figure 00140003
    oder
    Figure 00140004
    durch ein All Zero-Filter mit Hilfe der Durbin'schen Rekursion. Insbesondere können die Autokorrelationskoeffizienten der Nur-Pole-Filter-Koeffizientenreihe ãi oder di für i = 0, 1, 2,..., L berechnet werden, und die Durbin'sche Rekursion kann auf der Grundlage von solchen Autokorrelationskoeffizienten vorgenommen werden. Die Ausgangsreihe einer solchen Durbin'schen Rekursion ist ein Satz von Koeffizienten für ein FIR (All Zero)-Filter, das unmittelbar an Stelle des Nur-Pole-Filters
    Figure 00150001
    verwendet werden kann. Da es sich um ein FIR-Filter handelt, liegt keine Instabilität vor. Wenn ein solches FIR-Filter aus den Koeffizienten von
    Figure 00150002
    abgeleitet wird, kann ein weiteres Glätten nötig sein, aber wenn es von den Koeffizienten von
    Figure 00150003
    abgeleitet wird, ist kein zusätzliches Glätten nötig.
  • Es wird angemerkt, dass bei bestimmten Anwendungen die Koeffizienten des Kurzzeitsynthesfilters
    Figure 00150004
    möglicher Weise nicht genügend Quantisierungsauflösung besitzen oder oder überhaupt nicht am Decodierer verfügbar sind (z.B. bei einem nicht-prädiktiven Codec). In diesem Fall kann eine separate LPC-Analyse an der decodierten Sprache s ~ (n) vorgenommen werden, um die Koeffizienten von Â(z) zu erhalten. Der Rest der oben erläuterten Prozeduren bleibt gleich.
  • Es wird angemerkt, dass es bei dem herkömmliche Kurzzeit-Nachfilter von G.729, das in 1B gezeigt ist, zwei adaptive Skalierungsfaktoren GS und Gt für das Pole Zero-Filter bzw. das Spectral Tilt-Kompensationsfilter 1. Ordnung gibt. Die Berechnung dieser Skalierungsfaktoren ist kompliziert. Beispielsweise umfasst die Berechnung von GS eine Berechnung der Impulsantwort des Pole Zero-Filters
    Figure 00150005
    unter Verwendung von Absolutwerten, Summieren der Absolutwerte, und Erstellen des Kehrwertes. Die Berechnung von Gt umfasst ebenso Absolutwert, Subtraktion und Kehrwert. Im Vergleich dazu ist bei dem Kurzzeit-Nachfilter der Ausführungsform kein solcher adaptiver Skalierungsfaktor nötig, und zwar wegen der Verwendung einer neuartigen Overlap-Add-Prozedur später in der Nachfilterstruktur.
  • Beispielhafte Spektraldiagramme für den Filtercontroller
  • 2C ist ein erster Satz von drei beispielhaften Spektraldiagrammen C im Zusammenhang mit dem Filtercontroller 102, die aus einem ersten beispielhaften DS-Signal s ~ (n) resultieren, das dem "oe"-Abschnitt des von einem männlichen Sprecher gesprochenen Wortes "canoe" entspricht. Der Satz von Antworten C umfasst ein Frequenzspektrum, d.h. ein Spektraldiagramm 291C (in kurz gestrichelter Linie dargestellt) des DS-Signals s ~ (n), das dem "oe"-Abschnitt des von einem männlichen Sprecher gesprochenen Wortes "canoe" entspricht. Das Spektrum 291C weist eine Formantenstruktur mit einer Mehrzahl von Spektralspitzen 291C(1)-(n) auf. Die hervorstechendsten Spektralspitzen 291C(1), 291C(2), 291C(3) und 291C(4) haben jeweils verschiedene Formantenamplituden. Insgesamt nehmen die Formantenamplituden monoton ab. Daher hat/zeigt das Spektrum 291C einen Tiefpass-Spectral Tilt.
  • Der Satz von Antworten C weist auch eine spektrale Einhüllende 292C (als durchgezogene Linie dargestellt) des DS-Signals s ~ (n) auf, die dem Frequenzspektrum 291C entspricht. Die spektrale Einhüllende 292C ist die spektrale LPC-Entsprechung des DS-Signals s ~ (n). Mit anderen Worten, die spektrale Einhüllende 292C ist der Filterfrequenzgang des LPC-Filters, repräsentiert durch die Koeffizienten âi (s. 2A und 2B). Die spektrale Einhüllende 292C weist Formantenspitzen 292C(1)-292C(4) auf, die den Formantenspitzen 291C(1)-291C(4) entsprechen und annähernd in der Frequenz damit zusammen fallen. Die spektrale Einhüllende 292C folgt der allgemeinen Form des Spektrums 291C und weist daher den Tiefpass-Spectral Tilt auf. Die Formantenamplituden der Spektren 291C und 292C besitzen einen dynamischen Bereich (d.h. eine maximale Amplitudendifferenz) von annähernd 30 dB. Beispielsweise liegt die Amplitudendifferenz zwischen den minimalen und maximalen Formantenamplituden 292C(4) und 292C(1) innerhalb dieses Bereichs.
  • Der Satz von Antworten C weist auch eine spektrale Einhüllende 293C (als langgestrichelte Linie dargestellt) des spektral abgeflachten Signals t(n) auf, die dem Frequenzspektrum 291C entspricht. Die spektrale Einhüllende 293C ist die spektrale LPC-Entsprechung des spektral abgeflachten DS-Signals t(n). Mit anderen Worten, die spektrale Einhüllende 293C ist der Filterfrequenzgang des LPC-Filters, das durch die Koeffizienten ai in den 2A und 2B repräsentiert ist, entsprechend den spektral abgeflachten Signalen t(n). Die spektrale Einhüllende 293C weist Formantenspitzen 293C(1)-293C(4) auf, die den Formantenspitzen 291C(1)-(4) und 292C(1)-(4) der Spektren 291C und 292C entsprechen und annähernd in der Frequenz damit zusammen fallen. Die Formantenspitzen 293(1)-293(4) des Spektrums 293C haben jedoch annähernd gleiche AmplitudenD.h., die Formantenamplituden des Spektrums 293C sind einander annähernd gleich. Während beispielsweise die Formantenamplituden der Spektren 291C und 292C einen dynamischen Bereich von annähernd 30 dB besitzen, liegen die Formantenamplituden des Spektrums 293C annähernd 3 dB bei einander.
  • 2D ist ein zweiter Satz von drei beispielhaften Spektraldiagrammen D im Zusammenhang mit dem Filtercontroller 102, die aus einem zweiten beispielhaften DS-Signal s(n) resultieren, das dem "sh"-Abschnitt des von einem männlichen Sprecher gesprochenen Wortes "fish" entspricht. Der Satz von Antworten D weist ein Spektrum 291D des DS-Signals s ~ (n), eine spektrale Einhüllende 292D des DS-Signals s ~(n), die dem Spektrum 291D entspricht, und eine spektrale Einhüllende 293D des spektral abgeflachten Signals t(n) auf. Die Spektren 291D und 292D sind den Spektren 291C und 292C von 2C ähnlich, abgesehen davon, dass die Spektren 291D und 292D monoton zunehmende Formantenamplituden besitzen. Somit haben die Spektren 291D und 292D Hochpass-Spectral Tilts an Stelle von Tiefpass-Spectral Tilts. Andererseits weist die spektrale Einhüllende 293D Formantenspitzen mit jeweils annähernd gleichen Amplituden auf.
  • 2E ist ein dritter Satz von drei beispielhaften Spektraldiagrammen E im Zusammenhang mit dem Filtercontroller 102, die aus einem dritten beispielhaften DS-Signal s(n) resultieren, welches dem "c" (/k/-Ton) des von einem männlichen Sprecher gesprochenen Wortes "canoe" entspricht. Der Satz von Antworten E weist ein Spektrum 291E des DS-Signals s ~(n), eine spektrale Einhüllende 292E des DS-Signals s ~ (n) entsprechend dem Spektrum 291E, und eine spektrale Einhüllende 293E des spektral abgeflachten Signals t(n) auf. Anders als die oben erörterten Spektren 291C und 292C, und 291D und 292D weisen die Formantenamplituden in den Spektren 291E und 292E keinen klaren Spectral Tilt auf. Statt dessen ist z.B. die Spitzenamplitude der zweiten Formanten 292D(2) höher als die der ersten und der dritten Formantenspitze 292D(1) bzw. 292D(3). Dennoch weist die spektrale Einhüllende 293E Formantenspitzen mit jeweils annähernd gleichen Amplituden auf.
  • Aus der beispielhaften 2C-2E geht hervor, dass die Formantenspitzen des spektral abgeflachten DS-Signals t(n) jeweils annähernd gleiche Amplituden für eine Vielfalt von verschiedenen Formantenstrukturen des Eingangsspektrums aufweisen, darunter Eingangsformantenstrukturen mit einem Tiefpass-Spectral Tilt, einem Hochpass-Spectral Tilt, einer grossen Formantenspitze zwischen zwei kleinen Formantenspitzen, usw.
  • Unter erneuter Bezugnahme auf 1A, und 2A und 2B kann angenommen werden, dass der Filtercontroller der vorliegenden Erfindung eine erste Stufe 294 aufweist, gefolgt von einer zweiten Stufe 296. Die erste Stufe 294 weist eine erste Anordnung von Signalverarbeitungsblöcken 220-260 in 2A, und eine zweite Anordnung von Signalverarbeitungsblöcken 215-260 in 2B auf. Die zweite Stufe 296 weist Blöcke 270-290 auf. Wie oben beschrieben wurde, hat das DS-Signal s ~ (n) eine spektrale Einhüllende mit einer ersten Mehrzahl von Formantenspitzen (z.B. 291C(1)-(4)). Die erste Mehrzahl von Formantenspitzen besitzt typischerweise jeweils wesentlich unterschiedliche Amplituden. Die erste Stufe 294 erzeugt aus dem DS-Signal s ~ (n) das spektral abgeflachte DS-Signal t(n) als ein Zeitbereichsignal (z.B. als eine Reihe von Zeitbereichsignal-Abtastproben). Das spektral abgeflachte DS-Zeitbereichsignal t(n) besitzt eine spektrale Einhüllende mit einer zweiten Mehrzahl von Formantenspitzen (z.B. 293C(1)-(4)) entsprechend der ersten Mehrzahl von Formantenspitzen des DS-Signals s ~ (n). Die zweite Mehrzahl von Formantenspitzen besitzt jeweilige Amplituden, die einander annähernd gleich sind.
  • Die zweite Stufe 296 leitet den Satz von Filterkoeffizienten di von dem spektral abgeflachten DS-Zeitbereichsignal t(n) ab. Die Filterkoeffizienten di repräsentieren eine Filterantwort, die im Kurzzeitfilter 104 ausgeführt wird, z.B. mit einer Mehrzahl von Spektralspitzen, die in der Frequenz annähernd mit den Formantenspitzen der spektralen Einhüllenden des DS-Signals s ~ (n) zusammen fallen. Die Filterspitzen haben jeweilige Größen, die einander annähernd gleich sind.
  • Das Filter 103 empfängt Filterkoeffizienten di. Die Koeffizienten di veranlassen das Kurzzeitfilter 104 zu der oben beschriebenen Filterantwort. Das Filter 104 filtert das DS-Signal s ~ (n) (oder eine langzeitgefilterte Version davon in Ausführungsformen, bei denen Langzeitfiltern vor dem Kurzzeitfiltern stattfindet) unter Verwendung von Koeffizienten di, und somit gemäß der oben beschriebenen Filterantwort. Wie oben erwähnt wurde, enthält der Frequenzgang des Filters 104 Spektralspitzen mit annähernd gleicher Amplitude, die in der Frequenz mit den Formantenspitzen der spektralen Einhüllenden des DS-Signals s ~ (n) zusammen fallen. Somit behält das Filter 103 vorteilhaft die relativen Amplituden der Formantenspitzen der spektralen Einhüllenden des DS-Signals s ~ (n) bei und vertieft dabei spektrale Senken zwischen den Formantenspitzen. Dies bewahrt die Formantenstruktur des DS-Signals s ~ (n) insgesamt und reduziert dabei Codierungsrauschen im Zusammenhang mit dem DS- Signal (das in den spektralen Senken zwischen den Formantenspitzen in der DS-spektralen Einhüllenden liegt).
  • Bei einer Ausführungsform sind die Filterkoeffizienten di Nur-Pole-Kurzzeit-Filterkoeffizienten. Somit arbeitet bei dieser Ausfihrungsform das Kurzzeitfilter 104 als ein Nur-Pole-Kurzzeitfilter. Bei anderen Ausführungsformen können die Kurzzeit-Filterkoeffizienten von den Signalen t(n) als All Zero- oder Pole Zero-Koeffizienten abgeleitet werden, wie für den Fachmann auf diesem Gebiet nach der Lektüre der vorliegenden Beschreibung ersichtlich ist.
  • 3. Langzeit-Nachfilter
  • Es ist bedeutsam, dass das Langzeit-Nachfilter der Ausführungsformen (z.B. das Langzeitfilter 105) keinen adaptiven Skalierungsfaktor verwendet, wegen der Verwendung einer neuartigen Overlap-Add-Prozedur später in der Nachfilterstruktur. Es wurde gezeigt, dass der adaptive Skalierungsfaktor aus dem Langzeit-Nachfilter weg gelassen werden kann, ohne einen hörbaren Unterschied zu verursachen.
  • Es sei angenommen, dass p die Pitch-Periode für den gegenwärtigen Teilrahmen bezeichnet. Für das Langzeit-Nachfilter kann die vorliegende Erfindung ein All Zero-Filter mit der Form 1 + γz – P, ein Nur-Pole-Filter der Form
    Figure 00200001
    oder ein Pole Zero-Filter der Form
    Figure 00200002
    verwenden. Bei den oben stehenden Transferfunktionen sind die Filterkoeffizienten γ und λ typischerweise positive Zahlen zwischen 0 und 0,5.
  • In einem prädiktiven Sprach-Codec wird die Pitch-Periodeninformation häufig als Teil der Nebeninformationen übertragen. Am Decodierer kann die decodierte Pitch- Periode unverändert für das Langzeit-Nachfilter verwendet werden. Als Alternative kann eine Suche nach einer verfeinerten Pitch-Periode in der Nachbarschaft des übertragenen Pitch vorgenommen werden, um eine besser geeignete Pitch-Periode zu finden. Auf ähnliche Weise werden die Koeffizienten γ und λ manchmal von dem decodierten Pitchprädiktor-Abgriffwert abgeleitet, aber manchmal am Decodierer auf der Grundlage des decodierten Sprachsignals erneut abgeleitet. Es kann auch ein Schwelleneffekt vorliegen, so dass die Koeffizienten γ und λ auf Null gesetzt werden, wenn die Periodizität des Sprachsignals zu gering ist, um die Verwendung eines Langzeit-Nachfilters zu rechtfertigen. Alle diese Standard-Vorgehensweisen sind im früheren Stand der Technik von Langzeit-Nachfiltern gut bekannt und können mit dem Langzeit-Nachfilter in Ausführungsformen der vorliegenden Erfindung verwendet werden.
  • 4. Gesamt-Nachfilterstruktur
  • 3 ist ein Blockdiagramm einer beispielhaften Anordnung 300 eines adaptiven Nachfilters 103. Mit anderen Worten, das Nachfilter 300 in 3 entwickelt das Nachfilter 103 in 1A weiter. Das Nachfilter 300 weist ein Langzeit-Nachfilter 310 (entsprechend dem Langzeitfilter 105 in 1A) auf, gefolgt von einem Kurzzeit-Nachfilter 320 (entsprechend dem Kurzzeitfilter 104 in 1A). Im Vergleich mit der herkömmlichen Nachfilterstruktur von 1 ist ein auffälliger Unterschied das Fehlen von separaten Verstärkungs-Skalierungsfaktoren für das Langzeit-Nachfilter 310 und das Kurzzeit-Nachfilter 320 in 3. Ein weiterer wichtiger Unterschied ist das Fehlen des Probe-um-Probe-Glättens eines AGC-Skalierungsfaktors G in 3. Die Weglassung dieser Verarbeitungsblöcke wird durch das Hinzufügen eines Overlap-Add-Blocks 350 ermöglicht, der Wellenform-Unstetigkeiten an den Teilrahmengrenzen glättet.
  • Das adaptive Nachfilter 300 in 3 ist mit einem All Zero-Langzeit-Nachfilter (310) dargestellt. 4 zeigt eine alternative adaptive Nachfilteranordnung 400 des Filters 103 mit einem Nur-Pole-Langzeit-Nachfilter 410. Die Funktion jedes Verarbeitungsblockes in 3 ist nachstehend beschrieben. Es wird angemerkt, dass 3 und 4 auch für jeweilige Verfahren zum Filtern eines Signals stehen. Beispielsweise führt jeder der Funktionsblöcke, oder jede der Gruppen von Funktionsblöcken, die in den 3 und 4 dargestellt sind, einen oder mehrere Verfahrensschritte eines Gesamtverfahrens zum Filtern eines Signals durch.
  • Es sei angenommen, dass s ~ (n) die n-te Abtastprobe der decodierten Sprache bezeichnet. Der Filterblock 310 führt ein All Zero-Langzeit-Nachfiltern folgendermassen durch, um das Langzeit-nachgefilterte Signal s1(n) zu erhalten, das definiert ist durch s1(n) = s ~ (n) + γ s ~ (n – p)
  • Der Filterblock 320 führt dann eine Kurzzeit-Nachfilteroperation an s1(n) durch, um das Kurzzeit-nachgefilterte Signals ss(n) zu erhalten, das angegeben ist durch
    Figure 00220001
  • An einem Teilrahmen misst ein Verstärkungs-Skalierblock 330 eine durchschnittliche "Verstärkung" des decodierten Sprachsignals s ~(n) und des Kurzzeit-nachgefilterten Signals ss(n) in dem gegenwärtigen Teilrahmen und berechnet das Verhältnis aus diesen zwei Verstärkungen. Die "Verstärkung" kann auf eine Anzahl von verschiedenen Weisen bestimmt werden. Beispielsweise kann die Verstärkung der quadratische Mittelwert (Root Mean Square; RMS) sein, der über den gegenwärtigen Teilrahmen berechnet wurde. Um die Quadratwurzeloperation zu vermeiden und den Rechenaufwand gering zu halten, berechnet eine Ausführungsform des Verstärkungs-Skalierblocks 330 den einmal-pro-Rahmen AGC-Skalierungsfaktor G als
    Figure 00230001
    wobei N die Anzahl von Sprach-Abtastproben in einem Teilrahmen ist, und der Zeitindex n = 1, 2,..., N dem gegenwärtigen Teilrahmen entspricht.
  • Der Block 340 multipliziert den gegenwärtigen Teilrahmen des Kurzzeit-nachgefilterten Signals ss(n) mit dem einmal-pro-Rahmen AGC-Skalierungsfaktor G, um das Verstärkungs-skalierte nachgefilterte Signal sg(n) zu erhalten, wie in sg(n) = G ss(n), für n = 1, 2,..., N.
  • 5. Rahmengrenze-Glättung
  • Der Block 350 führt eine spezielle Overlap-Add-Operation wie folgt durch. Zuerst führt er am Anfang des gegenwärtigen Teilrahmens die Operationen der Blöcke 310, 320 und 340 für J Abtastproben unter Verwendung der Nachfilterparameter (γ, p und di, i = 1, 2,..., L) und AGC-Verstärkung G des letzten Teilrahmens durch, wobei J die Anzahl von Abtastproben für die Overlap-Add-Operation ist, und J ≤ N. Dies ist äquivalent dazu, die Operationen der Blöcke 310, 320 und 340 des letzten Teilrahmens für zusätzliche J Abtastproben in den gegenwärtigen Teilrahmen weiterführen zu lassen, ohne die Nachfilterparameter und die AGC-Verstärkung zu aktualisieren. Die resultierenden J Abtastproben des Ausgangs von Block 340 seien als sp(n), n = 1, 2,..., J bezeichnet. Dann sind diese J Wellenform-Abtastproben des Signals sp(n) im Wesentlichen eine Fortführung des sg(n)-Signals im letzten Teilrahmen, weshalb ein problemloser Übergang über die Grenze zwischen dem Teil rahmen und dem gegenwärtigen Teilrahmen vorliegen sollte. An dieser Teilrahmengrenze sollte keine Wellenform-Unstetigkeit auftreten.
  • Nun sollen wd(n) und wu(n) das Overlap-Add-Fenster bezeichnen, das eine absteigende bzw. eine aufsteigende Rampe aufweist. Der Overlap-Add-Block 350 berechnet das endgültige Nachfilterausgang-Sprachsignal sf(n) wie folgt:
    Figure 00240001
  • In der Praxis stellt sich heraus, dass für eine Teilrahmengrösse von 40 Abtastproben (5 ms für 8 kHz Abtastung) zufriedenstellende Ergebnisse mit einer Overlap-Add-Länge von J = 20 Abtastproben erhalten wurden. Die Overlap-Add-Fensterfunktionen wd(n) und wu(n) können jegliche der allgemein bekannten Fensterfunktionen für die Overlap-Add-Operation sein. Beispielsweise können sie beide Raised Cosine-Fenster oder beide dreieckige Fenster sein, mit der Erfordernis, dass wd(n) + wu(n) = 1 für n = 1, 2,..., J. Es stellt sich heraus, dass die einfacheren dreieckigen Fenster zufriedenstellend funktionieren.
  • Es ist zu beachten, dass am Ende eines Teilrahmens das endgültige nachgefilterte Sprachsignal sf(n) mit dem Verstärkungs-skalierten Signal sg(n) identisch ist. Da das Signal sp(n) eine Fortführung des Signals sg(n) des letzten Teilrahmens ist, und da die oben erwähnte Overlap-Add-Operation dazu führt, dass das endgültige nachgefilterte Sprachsignal sf(n) einen allmählichen Übergang von sp(n) zu sg(n) in den ersten J Abtastproben des gegenwärtigen Teilrahmens ausführt, wird jegliche Wellenform-Unstetigkeit in dem Signal sg(n), die an der Teilrahmengrenze vorliegen kann (wobei n = 1), durch die Overlap-Add-Operation geglättet. Es ist dieser Glättungseffekt, der von dem Overlap-Add-Block 350 zur Verfügung gestellt wird, der die Beseitigung der individuellen Verstärkungs-Skalierungsfaktoren für Langzeit- und Kurzzeit- Nachfilter sowie das Abtastprobe-um-Abtastprobe-Glätten des AGC-Skalierungsfaktors ermöglichte.
  • Die AGC-Einheit von herkömmlichen Nachfiltern (wie dem in 1B) versucht, eine problemlose Abtastprobe-um-Abtastprobe-Entwicklung des Verstärkungs-Skalierungsfaktors zu erhalten, um wahrgenommene Unstetigkeiten in der Ausgangswellenform zu vermeiden. Bei einem solchen Glätten gibt es immer Vor- und Nachteile. Falls das Glätten nicht ausreichend ist, kann die ausgegebene Sprache hörbare Unstetigkeiten aufweisen, die manchmal als ein knisterndes Geräusch beschrieben werden. Bei übermäßigem Glätten hingegen kann sich der AGC-Verstärkungs-Skalierungsfaktor sehr schwerfällig anpassen – so schwerfällig, dass die Größe der nachgefilterten Sprache möglicherweise der schnellen Größenänderung in bestimmten Teilen der ungefilterten decodierten Sprache nicht folgen kann.
  • Im Vergleich dazu gibt es keine solche "Schwerfälligkeit" der Verstärkungsnachfolge bei der vorliegenden Erfindung. Vor der Overlap-Add-Operation hat das Verstärkungsskalierte Signal sg(n) garantiert die gleiche durchschnittliche "Verstärkung" gegenüber dem gegenwärtigen Teilrahmen wie die ungefilterte decodierte Sprache, ungeachtet der Definition der "Verstärkung". Daher erzeugt die vorliegende Erfindung auf einem Teilrahmenniveau ein endgültiges nachgefiltertes Sprachsignal, das vollständig "Verstärkungs-synchronisiert" mit der ungefilterten decodierten Sprache ist. Die vorliegende Erfindung muss niemals der plötzlichen Änderung der "Verstärkung" in dem ungefilterten Signal "nachjagen", wie es bei früheren Nachfiltern der Fall ist.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 500 zum adaptiven Filtern eines DS-Signals einschliesslich aufeinander folgender DS-Rahmen (wo jeder Rahmen eine Reihe von DS-Abtastproben aufweist), zum Glätten, und somit zum im Wesentlichen Eliminieren von Signalunstetigkeiten, die durch eine Filteraktualisierung an einer DS-Rahmengrenze entstehen können. Das Verfahren 500 wird auch als ein Verfahren zum Glätten eines adaptiv gefilterten DS-Signals bezeichnet.
  • Ein anfänglicher Schritt 502 umfasst das Ableiten eines früheren Satzes von Filterkoeffizienten auf der Grundlage von mindestens einem Abschnitt eines früheren DS-Rahmens. Beispielsweise kann der Schritt 502 das Ableiten von Kurzzeit-Filterkoeffizienten di von einem früheren DS-Rahmen umfassen.
  • Ein nächster Schritt 504 umfasst das Filtern des früheren DS-Rahmens unter Verwendung des früheren Satzes von Filterkoeffizienten zum Erzeugen eines früheren gefilterten DS-Rahmens.
  • Ein nächster Schritt 506 umfasst das Filtern eines Anfangsabschnitts oder -segments eines gegenwärtigen DS-Rahmens unter Verwendung der früheren Filterkoeffizienten zum Erzeugen eines ersten gefilterten DS-Rahmenabschnitts oder -segments. Beispielsweise erzeugt der Schritt 506 einen ersten gefilterten Rahmenabschnitt, der auf die oben beschriebene Weise als Signal sp(n) für n = 1 .. J dargestellt ist.
  • Ein nächster Schritt 508 umfasst das Ableiten eines gegenwärtigen Satzes von Filterkoeffizienten auf der Grundlage von mindestens einem Abschnitt, wie etwa dem Anfangsabschnitt, des gegenwärtigen DS-Rahmens.
  • Ein nächster Schritt 510 umfasst das Filtern des Anfangsabschnitts oder -segments des gegenwärtigen DS-Rahmens unter Verwendung der gegenwärtigen Filterkoeffizienten, wodurch ein zweiter gefilterter DS-Rahmenabschnitt erzeugt wird. Beispielsweise erzeugt der Schritt 510 einen zweiten gefilterten Rahmenabschnitt, der auf die oben beschriebene Weise als Signal sg(n) für n = 1 .. J, dargestellt ist.
  • Ein nächster Schritt 512 (der z.B. von den Blöcken 350 und 450 in 3 und 4 durchgeführt wird) umfasst das Modifizieren des zweiten gefilterten DS-Rahmen abschnitts mit dem ersten gefilterten DS-Rahmenabschnitt, um eine mögliche Signalunstetigkeit an einer Grenze zwischen dem früheren gefilterten DS-Rahmen und dem gegenwärtigen gefilterten DS-Rahmen zu glätten. Beispielsweise führt der Schritt 512 die nachfolgende Operation auf die oben beschriebene Weise durch: sf(n) = wd(n)sp(n) + wu(n)sg(n), n = 1, 2,..., N.
  • In dem Verfahren 500 resultieren die Schritte 506, 510 und 512 in einem Glätten der möglichen gefilterten Signalwellenform-Unstetigkeit, die aus dem Umschalten von Filterkoeffizienten an einer Rahmengrenze entstehen kann.
  • Alle Filterschritte in dem Verfahren 500 (z.B. Filterschritte 504, 506 und 510) können Kurzzeitfiltern oder Langzeitfiltern oder eine Kombination aus den beiden umfassen. Die Filterschritte in Verfahren 500 können auch Kurzzeit- und/oder Langzeitfiltern gefolgt von Verstärkungsskalierung umfassen.
  • Das Verfahren 500 kann auf jegliche Signale angewendet werden, die mit einem Sprach- und/oder Audiosignal zusammen hängen. Das Verfahren 500 kann auch allgemeiner auf adaptives Filtern (einschliesslich sowohl Nachfiltern als auch Nicht-Nachfiltern) eines jeglichen Signals angewendet werden, einschliesslich eines Signals, das nicht mit einem Sprach- und/oder Audiosignal zusammen hängt.
  • 6. Weitere Ausführungsformen
  • 4 zeigt eine alternative adaptive Nachfilterstruktur gemäß einer Ausführungsform. Der einzige Unterschied ist, dass das All Zero-Langzeit-Nachfilter 310 in 3 nun durch ein Nur-Pole-Langzeit-Nachfilter 410 ersetzt ist. Dieses Nur-Pole-Langzeit-Nachfilter 410 führt Langzeit-Nachfiltern gemäß der folgenden Gleichung durch. s1(n) = s ~ (n) + λ s1(n – p)
  • Die Funktionen der übrigen vier Blöcke in 4 sind identisch mit den ähnlich bezifferten vier Blöcken in 3.
  • Wie im Abschnitt 2.2 oben erörtert wurde, können auch alternative Formen eines Kurzzeit-Nachfilters anders als
    Figure 00280001
    verwendet werden, nämlich die FIR(All Zero)-Versionen des Kurzzeit-Nachfilters. Obgleich die 3 und 4 nur
    Figure 00280002
    als das Kurzzeit-Nachfilter zeigen, dürfte verständlich sein, dass jegliche der in Abschnitt 2.2 erwähnten alternativen All Zero-Kurzzeit-Nachfilter auch in der in 3 und 4 dargestellten Nachfilterstruktur verwendet werden können. Darüber hinaus, auch wenn das Kurzzeit-Nachfilter in 3 und 4 als auf das Langzeit-Nachfilter folgend gezeigt ist, kann die Reihenfolge des Kurzzeit-Nachfilters und Langzeit-Nachfilters umgekehrt sein, ohne dass die Ausgabesprachqualität beeinträchtigt wird. Das Nachfilter der Ausführungsformen kann auch nur ein Kurzzeitfilter (d.h. ein Kurzzeitfilter, aber kein Langzeitfilter) oder nur ein Langzeitfilter aufweisen.
  • Wieder eine andere alternative Ausführungsform ist die Anwendung eines Lösungsansatzes mit einem "Pitch-Vorfilter", das in einem bekannten Decodierer verwendet wird, wobei das Langzeit-Nachfilter von 3 oder 4 vor das LPC-Synthesefilter des Sprachdecodierers verschoben wird. In diesem Fall müsste jedoch wahrscheinlich ein geeigneter Verstärkungs-Skalierungsfaktor für das Langzeit-Nachfilter verwendet werden, ansonsten könnte das LPC-Synthesefilter-Ausgangssignal eine Signalverstärkung besitzen, die ganz unterschiedlich von derjenigen der ungefilterten decodierten Sprache ist. In diesem Szenario könnten der Block 330 und der Block 430 das LPC-Synthesefilter-Ausgangssignal als das Bezugssignal zum Bestimmen des geeigneten AGC-Verstärkungsfaktors anwenden.
  • 7. Verallgemeinertes Adaptives Filtern unter Verwendung von Overlap-Add
  • Wie oben erwähnt wurde, kann das beschriebene Overlap-Add-Verfahren bei dem adaptiven Filtern eines jeglichen Signaltyps verwendet werden. Beispielsweise kann ein adaptives Filter Komponenten des oben beschriebenen Overlap-Add-Verfahrens zum Filtern eines beliebigen Signals anwenden. 6 ist ein Hochpegel-Blockdiagramm eines beispielhaften, verallgemeinerten adaptiven oder zeitvariablen Filters 600. Der Ausdruck "verallgemeinert" soll angeben, dass das Filter 600 einen beliebigen Signaltyp filtern kann, und dass das Signal nicht in Rahmen von Abtastproben segmentiert werden muss.
  • Im Ansprechen auf ein Filtersteuersignal 604 schaltet das adaptive Filter 602 zwischen aufeinander folgenden Filtern um. Beispielsweise schaltet das adaptive Filter 602 im Ansprechen auf das Filtersteuersignal 604 an einem Filteraktualisierungszeitpunkt tU von einem ersten Filter F1 auf ein zweites Filter F2 um. Jedes Filter kann eine verschiedene Filtertransferfunktion (d.h. Frequenzgang), ein verschiedenes Niveau der Verstärkungsskalierung usw. repräsentieren. Beispielsweise kann jedes verschiedene Filter aus einem verschiedenen Satz von Filterkoeffizienten oder einer in dem Steuersignal 604 vorhandenen aktualisierten Verstärkung resultieren. Bei einer Ausführungsform besitzen die beiden Filter F1 und F2 genau die gleichen Strukturen, und das Umschalten beinhaltet das Aktualisieren der Filterkoeffizienten von einem ersten Satz auf einen zweiten Satz, wodurch die Transfercharakteristiken des Filters verändert werden. Bei einer alternativen Ausführungsform können die Filter sogar verschiedene Strukturen besitzen, und das Umschalten beinhaltet das Aktualisieren der gesamten Filterstruktur einschliesslich der Filterkoeffizienten. In beiden Fällen wird dies als Umschalten von einem ersten Filter F1 auf ein zweites Filter F2 bezeichnet. Dies könnte auch als Umschalten zwischen verschiedenen Filtervariationen F1 und F2 angesehen werden.
  • Das adaptive Filter 602 filtert ein verallgemeinertes Eingangssignal 606 gemäß den auf einander folgenden Filtern zum Erzeugen eines gefilterten Ausgangssignals 608. Das adaptive Filter 602 arbeitet gemäß dem oben und weiter unten beschriebenen Overlap-Add-Verfahren.
  • 7 ist ein Zeitablaufdiagramm von beispielhaften Abschnitten (als Wellenformen (a) bis (d) bezeichnet) verschiedener Signale im Zusammenhang mit dem adaptiven Filter 600, was im Nachfolgenden erörtert wird. Diese verschiedenen Signale besitzen eine gemeinsame Zeitachse. Die Wellenform (a) repräsentiert einen Abschnitt des Eingangssignals 606. Die Wellenform (b) repräsentiert einen Abschnitt eines gefilterten Signals, das von dem Filter 600 unter Verwendung des Filters F1 erzeugt wurde. Die Wellenform (c) repräsentiert einen Abschnitt eines gefilterten Signals, das von dem Filter 600 unter Verwendung des Filters F2 erzeugt wurde. Die Wellenform (d) repräsentiert das Overlap-Add-Ausgangssegment, einen Abschnitt des Signals 608, das von dem Filter 600 unter Verwendung des Overlap-Add-Verfahrens der vorliegenden Erfindung erzeugt wurde. Ebenfalls in 7 dargestellt sind die Zeitperioden tF1 und tF2, welche Zeitperioden repräsentieren, während denen das Filter F1 bzw. F2 aktiv ist.
  • 8 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 800 zum adaptiven Filtern eines Signals zum Vermeiden von Signalunstetigkeiten, die sich aus einer Filteraktualisierung ergeben können. Das Verfahren 800 wird in Verbindung mit dem adaptiven Filter 600 und den Wellenformen von 7 zu Veranschaulichungszwecken beschrieben.
  • Ein erster Schritt 802 umfasst das Filtern eines früheren Signalsegments mit einem früheren Filter, wodurch ein früheres gefiltertes Segment erzeugt wird. Beispielsweise unter Verwendung des Filters F1 filtert das Filter 602 ein früheres Signalsegment 702 des Signals 606 zum Erzeugen eines früheren gefilterten Segments 704. Dieser Schritt entspricht dem Schritt 504 des Verfahrens 500.
  • Ein nächster Schritt 804 umfasst das Umschalten auf ein gegenwärtiges Filter an einem Filteraktualisierungszeitpunkt. Beispielsweise schaltet das adaptive Filter 602 an dem Filteraktualisierungszeitpunkt tU von dem Filter F1 auf das Filter F2 um.
  • Ein nächster Schritt 806 umfasst das Filtern eines gegenwärtigen Signalsegments ab dem Filteraktualisierungszeitpunkt mit dem früheren Filter zum Erzeugen eines ersten gefilterten Segments. Beispielsweise unter Verwendung des Filters F1 filtert das Filter 602 ein gegenwärtiges Signalsegment 706 ab dem Filteraktualisierungszeitpunkt tU zum Erzeugen eines ersten gefilterten Segments 708. Dieser Schritt entspricht dem Schritt 506 des Verfahrens 500. In einer alternativen Anordnung ist die Reihenfolge der Schritte 804 und 806 umgekehrt.
  • Ein nächster Schritt 810 umfasst das Filtern des gegenwärtigen Signalsegments mit dem gegenwärtigen Filter zum Erzeugen eines zweiten gefilterten Segments. Das erste und das zweite gefilterte Segment überlappen einander zeitlich ab dem Zeitpunkt tU. Beispielsweise unter Verwendung des Filters F2 filtert das Filter 602 das gegenwärtige Signalsegment 706 zum Erzeugen eines zweiten gefilterten Segments 710, welches das erste gefilterte Segment 708 überlappt. Dieser Schritt entspricht dem Schritt 510 des Verfahrens 500.
  • Ein nächster Schritt 812 umfasst das Modifizieren des zweiten gefilterten Segments mit dem ersten gefilterten Segment zum Glätten einer möglichen gefilterten Signalunstetigkeit am Filteraktualisierungszeitpunkt. Beispielsweise modifiziert das Filter 602 das zweite gefilterte Segment 710 unter Verwendung des ersten gefilterten Segments 708 zum Erzeugen eines gefilterten, geglätteten Ausgangssignalsegments 714. Dieser Schritt entspricht dem Schritt 512 des Verfahrens 500 Zusammen glätten die Schritte 806, 810 und 812 in dem Verfahren 800 jegliche Unstetigkeiten, die durch das Umschalten der Filter in Schritt 804 verursacht worden sein könnten.
  • Das adaptive Filter 602 fährt fort, das Signal 606 mit dem Filter F2 zu filtern, um das gefilterte Segment 716 zu erzeugen. Das von dem Filter 602 erzeugte gefilterte Ausgangssignal 608 beinhaltet aneinander grenzende, aufeinander folgende gefilterte Signalsegmente 704, 714 und 716. Der Modifizierungsschritt 812 glättet eine Unstetigkeit, die zwischen den gefilterten Signalsegmenten 704 und 710 infolge des Umschaltens zwischen den Filtern F1 und F2 am Zeitpunkt tU entstehen kann, und führt daher zu einem problemlosen Signalübergang zwischen den gefilterten Ausgangssegmenten 704 und 714.
  • Vorliegend wurden verschiedene Verfahren und Vorrichtungen zum Verarbeiten von Signalen beschrieben. Beispielsweise wurden Verfahren zum Ableiten von Filterkoeffizienten aus einem decodierten Sprachsignal und Verfahren zum adaptiven Filtern eines decodierten Sprachsignals (bzw. eines verallgemeinerten Signals) beschrieben. Es sollte verständlich sein, dass solche Verfahren und Vorrichtungen dazu bestimmt sind, zumindest Abschnitte oder Segmente des erwähnten Sprachsignals (bzw. verallgemeinerten Signals) zu verarbeiten. Beispielsweise arbeitet die vorliegende Erfindung zumindest an einem Abschnitt eines decodierten Sprachsignals (z.B. einem decodierten Sprachrahmen oder -teilrahmen) oder einem Zeitsegment des decodierten Sprachsignals. Hierbei kann der Ausdruck "decodiertes Sprachsignal" (oder allgemein "Signal") als synonym mit "zumindest ein Abschnitt des decodierten Sprachsignals" (oder "zumindest ein Abschnitt des Signals") betrachtet werden.
  • 8. Hardware- und Softwareausführungen
  • Die nachfolgende Beschreibung eines Mehrzweck-Computersystems wird der Vollständigkeit halber gegeben. Die Ausführungsformen können als Hardware oder als eine Kombination aus Software und Hardware ausgeführt werden. Folglich kann die Erfindung in der Umgebung eines Computersystems oder eines anderen Verarbeitungssystems ausgeführt werden. Ein Beispiel für ein solches Computersystem 900 ist in 9 gezeigt. Bei der vorliegenden Erfindung können alle der in den 1A, 2A-2B, 3-4 und 6 dargestellten Signalverarbeitungsblöcke z.B. auf einem oder mehreren verschiedenen Computersystemen 900 verwirklicht sein, um die verschiedenen Verfahren der vorliegenden Erfindung auszuführen. Das Computersystem 900 umfasst einen oder mehrere Prozessoren wie etwa den Prozessor 904. Bei dem Prozessor 904 kann es sich um einen Spezialzweck- oder Mehrzweck-Digitalsignalprozessor handeln. Der Prozessor 904 ist mit einer Kommunikations-Infrastruktur 906 (z.B. einem Bus oder Netz) verbunden. Verschiedene Softwareausführungen sind im Zusammenhang mit diesem beispielhaften Computersystem beschrieben. Nach der Lektüre der vorliegenden Beschreibung dürfte es für den Fachmann auf dem betreffenden Gebiet ersichtlich sein, wie die Erfindung unter Verwendung anderer Computersysteme und/oder Computerarchitekturen ausgeführt werden kann.
  • Das Computersystem 900 umfasst auch einen Hauptspeicher 905, bevorzugt einen Direktzugriffsspeicher (RAM), und kann auch einen Sekundärspeicher 910 aufweisen. Der Sekundärspeicher 910 kann z.B. ein Festplattenlaufwerk 912 und/oder ein Wechsel-Speicherlaufwerk 914 aufweisen, die für ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein Bildplattenlaufwerk usw. stehen. Das Wechsel-Speicherlaufwerk 914 liest aus einer und/oder schreibt auf eine Wechselspeichereinheit 915 auf eine allgemein bekannte Weise. Die Wechselspeichereinheit 915 steht für eine Diskette, ein Magnetband, eine Bildplatte usw., von denen bzw. auf die von dem Wechsel-Speicherlaufwerk 914 gelesen und geschrieben wird. Es dürfte verständlich sein, dass die Wechselspeichereinheit 915 ein von einem Computer verwendbares Speichermedium aufweist, auf dem Computersoftware und/oder Daten gespeichert sind.
  • Bei alternativen Ausführungen kann der Sekundärspeicher 910 andere, ähnliche Einrichtungen aufweisen, die das Laden von Computerprogrammen oder anderen Anweisungen in das Computersystem 900 ermöglichen. Solche Einrichtungen können z.B. eine Wechselspeichereinheit 922 und eine Schnittstelle 920 umfassen. Beispiele für solche Einrichtungen können eine Programmkassette und Kassettenschnittstelle (wie die in Videospielgeräten verwendeten), einen Wechselspeicherchip (wie einen EPROM oder PROM) und eine dazu gehörige Buchse, und andere Wechselspeichereinheiten 922 und Schnittstellen 920 aufweisen, die es ermöglichen, dass Software und Daten von der Wechselspeichereinheit 922 in das Computersystem 900 übertragen werden.
  • Das Computersystem 900 kann auch eine Kommunikationsschnittstelle 924 aufweisen. Die Kommunikationsschnittstelle 924 ermöglicht das Übertragen von Software und Daten zwischen dem Computersystem 900 und externen Vorrichtungen. Beispiele für die Kommunikationsschnittstelle 924 können ein Modem, eine Netzschnittstelle (wie etwa eine Ethernet-Karte), einen Kommunikationsport, PCMCIA-Schlitz und Karte usw. umfassen. Software und Daten, die über die Kommunikationsschnittstelle 924 übertragen werden, haben die Form von Signalen 925, bei denen es sich um elektronische, elektromagnetische, optische oder andere Signale handeln kann, die von der Kommunikationsschnittstelle 924 empfangen werden können. Diese Signale 925 werden über einen Kommunikationspfad 926 an die Kommunikationsschnittstelle 924 geliefert. Der Kommunikationspfad 926 überträgt Signale 925 und kann unter Verwendung von Draht oder Kabel, Lichtleiter, einer Telefonleitung, einer zellulären Telefonverbindung, einer HF-Verbindung und anderer Kommunikationskanäle ausgeführt sein. Beispiele für Signale, die über die Schnittstelle 924 übertragen werden können, umfassen: zu codierende und/oder decodierende Signale und/oder Parameter wie etwa Sprach- und/oder Audiosignale und Bitstromdarstellungen solcher Signale; jegliche Signale/Parameter, die aus dem Codieren und Decodieren von Sprach- und/oder Audiosignalen resultieren; Signale, die nicht mit Sprache zusammen hängen, und/oder Audiosignale, die unter Verwendung der vorliegend beschriebenen Methoden gefiltert werden sollen.
  • In dieser Schrift werden die Ausdrücke "Computerprogramm-Medium" und "von einem Computer verwendbares Medium" verwendet, um allgemein Medien zu bezeichnen, wie etwa das Wechsel-Speicherlaufwerk 914, eine in dem Festplattenlaufwerk 912 installierte Festplatte, und Signale 925. Diese Computerprogramm-Produkte sind Einrichtungen, die dem Computersystem 900 Software liefern.
  • Computerprogramme (auch als Computersteuerlogik bezeichnet) werden im Hauptspeicher 905 und/oder Sekundärspeicher 910 gespeichert. Auch decodierte Sprachrahmen, gefilterte Sprachrahmen, Filterparameter wie etwa Filterkoeffizienten und Verstärkungen und dergleichen können alle in den oben genannten Speichern gespeichert werden. Computerprogramme können auch über die Kommunikationsschnittstelle 924 empfangen werden. Solche Computerprogramme versetzen das Computersystem 900 bei ihrer Durchführung in die Lage, die vorliegend erörterten Ausführungsformen auszuführen. Insbesondere versetzen die Computerprogramme den Prozessor 904 bei ihrer Durchführung in die Lage, die Prozesse der Ausführungsformen auszuführen, wie beispielsweise die in den 2A-2B, 3-5 und 8 veranschaulichten Verfahren auszuführen. Folglich repräsentieren solche Computerprogramme Steuereinrichtungen bzw. Controller des Computersystems 900. Als Beispiel können bei den Ausführungsformen der Erfindung die Prozesse/Verfahren, die von Signalverarbeitungsblöcken von Quantisierern und/oder inversen Quantisierern ausgeführt werden, von einer Computersteuerlogik ausgeführt werden. Wenn die Erfindung unter Verwendung von Software ausgeführt wird, kann die Software in einem Computerprogramm-Produkt gespeichert und unter Verwendung des Wechsel-Speicherlaufwerks 914, des Festplattenlaufwerks 912 oder der Kommunikationsschnittstelle 924 in das Computersystem 900 geladen werden.
  • Bei einer anderen Ausfihrungsform werden Merkmale der Erfindung in erster Linie als Hardware ausgeführt, die z.B. Hardwarekomponenten wie etwa Application Specific Integrated Circuits (ASICs) und Gate-Arrays anwenden. Die Ausführung einer Hardware-State Machine zum Durchführen der vorliegend beschriebenen Funktionen ist ebenso für den Fachmann auf dem betreffenden Gebiet ersichtlich.
  • 9. Schlussfolgerung
  • Obwohl verschiedene Ausführungsformen der vorliegenden Erfindung oben beschrieben wurden, sollte es verständlich sein, dass diese beispielhaft und nicht einschränkend gegeben wurden. Für den Fachmann auf diesem Gebiet ist es ersichtlich, dass verschiedene Änderungen in Form und Detail daran vorgenommen werden können, ohne von dem Schutzbereich der Erfindung abzuweichen.
  • Die vorliegende Erfindung wurde oben stehend mit Hilfe von funktionellen Baublöcken und Verfahrensschritten beschrieben, welche die Durchführung von spezifischen Funktionen und ihren Beziehungen unter einander veranschaulichen. Die Profile dieser funktionellen Baublöcke und Verfahrensschritte wurden dabei für eine vereinfachte Beschreibung willkürlich definiert. Alternative Profile können definiert werden, solange die spezifischen Funktionen und Beziehungen auf angemessene Weise durchgeführt werden. Ebenso kann die Reihenfolge der Verfahrensschritte neu geordnet werden. Solche alternative Profile liegen daher innerhalb des Schutzbereiches der beanspruchten Erfindung. Für den Fachmann ist ersichtlich, dass diese funktionellen Baublöcke als diskrete Komponenten, anwendungsspezifische IC's, Prozessoren für die Durchführung von geeigneter Software und dergleichen oder als eine beliebige Kombination aus diesen ausgeführt werden können. Daher sollte der Umfang und Schutzbereich der vorliegenden Erfindung nicht durch einzelne der oben beschriebenen, beispielhaften Ausführungsformen eingeschränkt sein, sondern nur gemäß der nachfolgenden Patentansprüche definiert werden.

Claims (14)

  1. Verfahren (500) zum Filtern eines decodierte Sprache-Signals (s ~ (n)), wobei das Signal s ~ (n) aufeinander folgende Signalrahmen aufweist, und wobei das Verfahren umfasst: (a) Filtern (506) eines Anfangsabschnitts eines gegenwärtigen Signalrahmens (s ~ (n)) unter Verwendung eines früheren Satzes von Filterkoeffizienten, wobei das Filtern mindestens eines von einem Kurzzeitfiltern und einem Langzeitfiltern umfasst, um einen ersten Zwischenrahmenabschnitt eines nachgefilterten Signals (ss(n)) zu erhalten, der mit einem früheren Verstärkungsfaktor G1 verstärkungsskaliert wird, wodurch ein erster gefilterter Rahmenabschnitt (sp(n)) erzeugt wird; (b) Filtern (508) des Anfangsabschnitts des gegenwärtigen Signalrahmens s ~ unter Verwendung eines gegenwärtigen Satzes von Filterkoeffizienten, wobei das Filtern mindestens eines von einem Kurzzeitfiltern und einem Langzeitfiltern umfasst, um einen zweiten Zwischenrahmenabschnitt eines nachgefilterten Signals (ss(n)) zu erhalten, der mit einem früheren Verstärkungsfaktor G2 verstärkungsskaliert wird, wodurch ein zweiter gefilterter Rahmenabschnitt (sg(n)) erzeugt wird; und (c) Modifizieren (512) des zweiten gefilterten Rahmenabschnitts (sg(n)) mit dem ersten gefilterten Rahmenabschnitt (sp(n)), um eine mögliche gefilterte Signalunstetigkeit zwischen dem zweiten gefilterten Rahmenabschnitt (sg(n)) und einem unter Verwendung der früheren Filterkoeffizienten erzeugten, früheren gefilterten Rahmen zu glätten, dadurch gekennzeichnet, dass der frühere und der gegenwärtige Verstärkungsfaktor G1 bzw. G2 als
    Figure 00380001
    berechnet werden, wobei N die Anzahl von Signalabtastproben in einem Rahmen ist, (s ~ (n)) die n-te Abtastprobe des decodierte Sprache-Signals (s ~ (n)) bezeichnet, ss(n) die n-te Abtastprobe des nachgefilterten Sprachsignals ss(n) bezeichnet, und wobei der Zeitindex n = 1, 2,..., N jeweils bei Verwendung des früheren Satzes von Filterkoeffizienten dem früheren Rahmen entspricht und bei Verwendung des gegenwärtigen Satzes von Filterkoeffizienten dem gegenwärtigen Rahmen entspricht.
  2. Verfahren (500) nach Anspruch 1, wobei Schritt (c) das Durchführen einer Overlap-Add-Operation über den zweiten gefilterten Rahmenabschnitt (sg(n)) und den ersten gefilterten Rahmenabschnitt (sp(n)) umfasst.
  3. Verfahren (500) nach einem der vorherigen Ansprüche, wobei Schritt (c) umfasst: (d)(i) Gewichten des ersten gefilterten Rahmenabschnitts (sp(n)) mit einer ersten Gewichtungsfunktion, um einen ersten gewichteten gefilterten Rahmenabschnitt zu erzeugen; (d)(ii) Gewichten des zweiten gefilterten Rahmenabschnitts (sg(n)) mit einer zweiten Gewichtungsfunktion, um einen zweiten gewichteten gefilterten Rahmenabschnitt zu erzeugen; (d)(iii) Kombinieren des ersten und des zweiten gewichteten gefilterten Rahmenabschnitts.
  4. Verfahren (500) nach Anspruch 3, wobei Schritt (d)(iii) das Addieren des ersten und des zweiten gewichteten gefilterten Rahmenabschnitts mit einander umfasst.
  5. Verfahren (500) nach einem der vorherigen Ansprüche 3 oder 4, wobei die erste und die zweite Gewichtungsfunktion jeweils entweder eine Dreiecksfunktion oder eine Raised Cosine-Funktion sind.
  6. Verfahren (500) nach einem der vorherigen Ansprüche 3 bis 5, welches ferner umfasst: Ableiten der gegenwärtigen Filterkoeffizienten auf der Grundlage von wenigstens einem Teil des gegenwärtigen Signalrahmens; und Ableiten der früheren Filterkoeffizienten auf der Grundlage von wenigstens einem Teil eines früheren Signalrahmens.
  7. Verfahren nach einem der vorherigen Ansprüche, welches ferner umfasst: vor Schritt (a), Filtern des füheren Signalrahmens unter Verwendung eines früheren Satzes von Filterkoeffizienten, wodurch der frühere gefilterte Rahmen erzeugt wird, wobei Schritt (c) das Modifizieren des zweiten gefilterten Rahmenabschnitts mit dem ersten gefilterten Rahmenabschnitt umfasst, um eine mögliche gefilterte Signalunstetigkeit zwischen dem zweiten gefilterten Rahmenabschnitt und dem früheren gefilterten Rahmen zu glätten.
  8. Computerprogramm-Produkt (CPP) mit einem von einem Computer verwendbaren Medium (905, 910), das in dem Medium ausgeführte Einrichtungen für computerlesbaren Programmcode (CRPC) aufweist, um ein Anwendungsprogramm, das auf einem Computerprozessor (904) durchzuführen ist, zu veranlassen, ein decodierte Sprache-Signal (s ~ (n)) zu filtern, wobei das Signal aufeinander folgende decodierte Sprache-Signalrahmen aufweist, und wobei das Computerprogramm-Produkt aufweist: erste CRPC-Einrichtungen, welche den Prozessor (904) veranlassen, einen Anfangsabschnitt eines gegenwärtigen Signalrahmens unter Verwendung eines früheren Satzes von Filterkoeffizienten zu filtern, wobei die ersten CRPC-Ein richtungen mindestens eine von CRPC-Einrichtungen aufweisen, welche den Prozessor (904) veranlassen, an dem Anfangsabschnitt des gegenwärtigen decodierte Sprache-Rahmens ein Kurzzeitfiltern unter Verwendung von früheren Kurzzeit-Filterkoeffizienten durchzuführen, und CRPC-Einrichtungen, welche den Prozessor veranlassen, an dem Anfangsabschnitt des gegenwärtigen decodierte Sprache-Rahmens ein Langzeitfiltern unter Verwendung von früheren Langzeit-Filterkoeffizienten durchzuführen, um ein nachgefiltertes Signal (ss(n)) zu erhalten, und ferner CRPC-Einrichtungen aufweisen, welche den Prozessor (904) veranlassen, mit einem früheren Verstärkungsfaktor an einem ersten intermediären gefilterten decodierte Sprache-Rahmenabschnitt, der aus dem mindestens Einen von Kurzzeitfiltern und Langzeitfiltern resultiert, eine Verstärkungsskalierung durchzuführen, wodurch ein erster gefilterter Rahmenabschnitt (sp(n)) erzeugt wird; zweite CRPC-Einrichtungen, welchen den Prozessor (904) veranlassen, den Anfangsabschnitt des gegenwärtigen Signalrahmens unter Verwendung eines gegenwärtigen Satzes von Filterkoeffizienten zu filtern, wobei die zweiten CRPC-Einrichtungen mindestens eine von CRPC-Einrichtungen aufweisen, welche den Prozessor (904) veranlassen, an dem Anfangsabschnitt des gegenwärtigen decodierte Sprache-Rahmens ein Kurzzeitfiltern unter Verwendung von gegenwärtigen Kurzzeit-Filterkoeffizienten durchzuführen, und CRPC-Einrichtungen, welchen den Prozessor veranlassen, an dem Anfangsabschnitt des gegenwärtigen decodierte Sprache-Rahmens ein Langzeitfiltern unter Verwendung von gegenwärtigen Langzeit-Filterkoeffizienten durchzuführen, um ein nachgefiltertes Signal (ss(n)) zu erhalten, und ferner CRPC-Einrichtungen aufweisen, welche den Prozessor (904) veranlassen, mit einem gegenwärtigen Verstärkungsfaktor an einem zweiten intermediären gefilterten decodierte Sprache-Rahmenabschnitt, der aus dem mindestens Einen von Kurzzeitfiltern und Langzeitfiltern resultiert, eine Verstärkungsskalierung durchzuführen, wodurch ein zweiter gefilterter Rahmenabschnitt (sg(n)) erzeugt wird; und dritte CRPC-Einrichtungen, welche den Prozessor (904) veranlassen, den zweiten gefilterten Rahmenabschnitt mit dem ersten gefilterten Rahmen abschnitt (sp(n)) zu modifizieren, um eine mögliche gefilterte Signalunstetigkeit zwischen dem zweiten gefilterten Rahmenabschnitt und einem unter Verwendung der früheren Filterkoeffizienten erzeugten, früheren gefilterten Rahmen zu glätten, dadurch gekennzeichnet, dass die ersten und die zweiten CRPC-Einrichtungen ferner CRPC-Einrichtungen aufweisen, welche den früheren und den gegenwärtigen Verstärkungsfaktor als
    Figure 00410001
    berechnen, wobei N die Anzahl von Signalabtastproben in einem Rahmen ist, (s ~ (n)) die n-te Abtastprobe des decodierte Sprache-Signals (s ~ (n)) bezeichnet, ss(n) die n-te Abtastprobe des nachgefilterten Sprachsignals ss(n) bezeichnet, und wobei der Zeitindex n = 1, 2,..., N jeweils bei Verwendung des früheren Satzes von Filterkoeffizienten dem früheren Rahmen entspricht und bei Verwendung des gegenwärtigen Satzes von Filterkoeffizienten dem gegenwärtigen Rahmen entspricht.
  9. CPP nach Anspruch 8, wobei die dritten CRPC-Einrichtungen erste CRPC-Einrichtungen aufweisen, welche den Prozessor (904) veranlassen, eine Overlap-Add-Operation über den zweiten gefilterten Rahmenabschnitt (sg(n)) und den ersten gefilterten Rahmenabschnitt (sp(n)) durchzuführen.
  10. CPP nach einem der vorherigen Ansprüche 8 oder 9, wobei die dritten CRPC-Einrichtungen aufweisen: erste gewichtende CRPC-Einrichtungen, welche den Prozessor (904) veranlassen, den ersten gefilterten Rahmenabschnitt (sp(n)) mit einer ersten Gewich tungsfunktion zu gewichten, um einen ersten gewichteten gefilterten Rahmenabschnitt zu erzeugen; zweite gewichtende CRPC-Einrichtungen, welche den Prozessor (904) veranlassen, den zweiten gefilterten Rahmenabschnitt (sg(n)) mit einer zweiten Gewichtungsfunktion zu gewichten, um einen zweiten gewichteten gefilterten Rahmenabschnitt zu erzeugen; und kombinierende CRPC-Einrichtungen, welche den Prozessor (904) veranlassen, den ersten und den zweiten gewichteten gefilterten Rahmenabschnitt zu kombinieren.
  11. CPP nach Anspruch 10, wobei die kombinierenden CRPC-Einrichtungen CRPC-Einrichtungen aufweisen, welche den Prozessor (904) veranlassen, den ersten und den zweiten gewichteten gefilterten Rahmenabschnitt mit einander zu addieren.
  12. CPP nach einem der vorherigen Ansprüche 8 bis 11, wobei die erste und die zweite Gewichtungsfunktion jeweils entweder eine Dreiecksfunktion oder eine Raised Cosine-Funktion sind.
  13. Gerät (900) mit Einrichtungen, die dazu bestimmt und ausgelegt sind, jeden der Schritte eines Verfahrens nach einem der vorherigen Ansprüche 1 bis 7 durchzuführen.
  14. Computerprogramm mit einem Code, welcher eine programmierbare Vorrichtung veranlasst, jeden der Schritte des Verfahrens nach einem der vorherigen Ansprüche 1 bis 7 durchzuführen, wenn er auf einer solchen programmierbaren Vorrichtung ausgeführt wird.
DE60214814T 2001-10-03 2002-10-03 Verfahren und Vorrichtung zur Beseitigung von Diskontinuitäten eines adaptiv gefilterten Signals Expired - Lifetime DE60214814T2 (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US32644901P 2001-10-03 2001-10-03
US326449P 2001-10-03
US10/183,418 US7353168B2 (en) 2001-10-03 2002-06-28 Method and apparatus to eliminate discontinuities in adaptively filtered signals
US10/183,554 US7512535B2 (en) 2001-10-03 2002-06-28 Adaptive postfiltering methods and systems for decoding speech
US183418 2002-06-28
US183554 2002-06-28
US215048 2002-08-09
US10/215,048 US8032363B2 (en) 2001-10-03 2002-08-09 Adaptive postfiltering methods and systems for decoding speech

Publications (2)

Publication Number Publication Date
DE60214814D1 DE60214814D1 (de) 2006-11-02
DE60214814T2 true DE60214814T2 (de) 2007-09-20

Family

ID=26909634

Family Applications (3)

Application Number Title Priority Date Filing Date
DE60225400T Expired - Lifetime DE60225400T2 (de) 2001-10-03 2002-10-03 Verfahren und Vorrichtung zur Verarbeitung eines dekodierten Sprachsignals
DE60209861T Expired - Lifetime DE60209861T2 (de) 2001-10-03 2002-10-03 Adaptive Postfilterung zur Sprachdekodierung
DE60214814T Expired - Lifetime DE60214814T2 (de) 2001-10-03 2002-10-03 Verfahren und Vorrichtung zur Beseitigung von Diskontinuitäten eines adaptiv gefilterten Signals

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE60225400T Expired - Lifetime DE60225400T2 (de) 2001-10-03 2002-10-03 Verfahren und Vorrichtung zur Verarbeitung eines dekodierten Sprachsignals
DE60209861T Expired - Lifetime DE60209861T2 (de) 2001-10-03 2002-10-03 Adaptive Postfilterung zur Sprachdekodierung

Country Status (3)

Country Link
US (3) US7353168B2 (de)
EP (3) EP1315150B1 (de)
DE (3) DE60225400T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US7047190B1 (en) * 1999-04-19 2006-05-16 At&Tcorp. Method and apparatus for performing packet loss or frame erasure concealment
US7353168B2 (en) 2001-10-03 2008-04-01 Broadcom Corporation Method and apparatus to eliminate discontinuities in adaptively filtered signals
EP1383110A1 (de) * 2002-07-17 2004-01-21 STMicroelectronics N.V. Verfahren und Vorrichtung für Breitbandsprachkodierung, insbesondere mit einer verbesserten Qualität der stimmhaften Rahmen
US7478040B2 (en) * 2003-10-24 2009-01-13 Broadcom Corporation Method for adaptive filtering
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
US7570690B2 (en) * 2004-11-05 2009-08-04 Interdigital Technology Corporation Adaptive equalizer with a dual-mode active taps mask generator and a pilot reference signal amplitude control unit
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US20070299655A1 (en) * 2006-06-22 2007-12-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Low Frequency Expansion of Speech
ATE496365T1 (de) * 2006-08-15 2011-02-15 Dolby Lab Licensing Corp Arbiträre formung einer temporären rauschhüllkurve ohne nebeninformation
WO2008032828A1 (fr) * 2006-09-15 2008-03-20 Panasonic Corporation Dispositif de codage audio et procédé de codage audio
US8005671B2 (en) * 2006-12-04 2011-08-23 Qualcomm Incorporated Systems and methods for dynamic normalization to reduce loss in precision for low-level signals
JPWO2008072701A1 (ja) * 2006-12-13 2010-04-02 パナソニック株式会社 ポストフィルタおよびフィルタリング方法
ATE548728T1 (de) * 2007-03-02 2012-03-15 Ericsson Telefon Ab L M Nichtkausales nachfilter
JP5198477B2 (ja) * 2007-03-05 2013-05-15 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 定常的な背景雑音の平滑化を制御するための方法及び装置
CN101303858B (zh) * 2007-05-11 2011-06-01 华为技术有限公司 实现基音增强后处理的方法及装置
CN101308655B (zh) * 2007-05-16 2011-07-06 展讯通信(上海)有限公司 一种音频编解码方法与装置
US7826572B2 (en) * 2007-06-13 2010-11-02 Texas Instruments Incorporated Dynamic optimization of overlap-and-add length
EP2171712B1 (de) * 2007-06-27 2016-08-10 Telefonaktiebolaget LM Ericsson (publ) Verfahren und anordnung zum erweitern von räumlichen audiosignalen
JP5326311B2 (ja) * 2008-03-19 2013-10-30 沖電気工業株式会社 音声帯域拡張装置、方法及びプログラム、並びに、音声通信装置
CN101483495B (zh) * 2008-03-20 2012-02-15 华为技术有限公司 一种背景噪声生成方法以及噪声处理装置
US9196258B2 (en) * 2008-05-12 2015-11-24 Broadcom Corporation Spectral shaping for speech intelligibility enhancement
US9197181B2 (en) * 2008-05-12 2015-11-24 Broadcom Corporation Loudness enhancement system and method
JP4735711B2 (ja) * 2008-12-17 2011-07-27 ソニー株式会社 情報符号化装置
DK2791937T3 (en) 2011-11-02 2016-09-12 ERICSSON TELEFON AB L M (publ) Generation of an højbåndsudvidelse of a broadband extended buzzer
CN102930872A (zh) * 2012-11-05 2013-02-13 深圳广晟信源技术有限公司 用于宽带语音解码中基音增强后处理的方法及装置
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
EP2980796A1 (de) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Verarbeitung eines Audiosignals, Audiodecodierer und Audiocodierer
RU2632151C2 (ru) 2014-07-28 2017-10-02 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ выбора одного из первого алгоритма кодирования и второго алгоритма кодирования с использованием уменьшения гармоник
EP3483886A1 (de) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Auswahl einer grundfrequenz
EP3483883A1 (de) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiokodierung und -dekodierung mit selektiver nachfilterung
EP3483882A1 (de) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Steuerung der bandbreite in codierern und/oder decodierern
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483884A1 (de) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signalfiltrierung
EP3483879A1 (de) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analyse-/synthese-fensterfunktion für modulierte geläppte transformation
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
EP3483880A1 (de) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Zeitliche rauschformung
EP3483878A1 (de) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiodecoder mit auswahlfunktion für unterschiedliche verlustmaskierungswerkzeuge

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8400728A (nl) * 1984-03-07 1985-10-01 Philips Nv Digitale spraakcoder met basisband residucodering.
US4617676A (en) 1984-09-04 1986-10-14 At&T Bell Laboratories Predictive communication system filtering arrangement
US4969192A (en) 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US5241650A (en) * 1989-10-17 1993-08-31 Motorola, Inc. Digital speech decoder having a postfilter with reduced spectral distortion
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
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
DE69619284T3 (de) 1995-03-13 2006-04-27 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur Erweiterung der Sprachbandbreite
US5664055A (en) 1995-06-07 1997-09-02 Lucent Technologies Inc. CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity
US5699485A (en) * 1995-06-07 1997-12-16 Lucent Technologies Inc. Pitch delay modification during frame erasures
US5699458A (en) * 1995-06-29 1997-12-16 Intel Corporation Efficient browsing of encoded images
US5774837A (en) 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
US5864798A (en) * 1995-09-18 1999-01-26 Kabushiki Kaisha Toshiba Method and apparatus for adjusting a spectrum shape of a speech signal
EP0764939B1 (de) * 1995-09-19 2002-05-02 AT&T Corp. Synthese von Sprachsignalen in Abwesenheit kodierter Parameter
JP3653826B2 (ja) * 1995-10-26 2005-06-02 ソニー株式会社 音声復号化方法及び装置
TW321810B (de) 1995-10-26 1997-12-01 Sony Co Ltd
JP3680380B2 (ja) * 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
US5867814A (en) * 1995-11-17 1999-02-02 National Semiconductor Corporation Speech coder that utilizes correlation maximization to achieve fast excitation coding, and associated coding method
AU3702497A (en) * 1996-07-30 1998-02-20 British Telecommunications Public Limited Company Speech coding
US6269331B1 (en) * 1996-11-14 2001-07-31 Nokia Mobile Phones Limited Transmission of comfort noise parameters during discontinuous transmission
TW326070B (en) * 1996-12-19 1998-02-01 Holtek Microelectronics Inc The estimation method of the impulse gain for coding vocoder
GB2326572A (en) 1997-06-19 1998-12-23 Softsound Limited Low bit rate audio coder and decoder
US6073092A (en) * 1997-06-26 2000-06-06 Telogy Networks, Inc. Method for speech coding based on a code excited linear prediction (CELP) model
FI980132A (fi) * 1998-01-21 1999-07-22 Nokia Mobile Phones Ltd Adaptoituva jälkisuodatin
US6078880A (en) * 1998-07-13 2000-06-20 Lockheed Martin Corporation Speech coding system and method including voicing cut off frequency analyzer
US6094629A (en) 1998-07-13 2000-07-25 Lockheed Martin Corp. Speech coding system and method including spectral quantizer
US6173255B1 (en) 1998-08-18 2001-01-09 Lockheed Martin Corporation Synchronized overlap add voice processing using windows and one bit correlators
US6330533B2 (en) * 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US6385573B1 (en) * 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
US6449590B1 (en) 1998-08-24 2002-09-10 Conexant Systems, Inc. Speech encoder using warping in long term preprocessing
US6480822B2 (en) * 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
US6507814B1 (en) * 1998-08-24 2003-01-14 Conexant Systems, Inc. Pitch determination using speech classification and prior pitch estimation
US6104992A (en) 1998-08-24 2000-08-15 Conexant Systems, Inc. Adaptive gain reduction to produce fixed codebook target signal
GB2342829B (en) * 1998-10-13 2003-03-26 Nokia Mobile Phones Ltd Postfilter
US6691092B1 (en) * 1999-04-05 2004-02-10 Hughes Electronics Corporation Voicing measure as an estimate of signal periodicity for a frequency domain interpolative speech codec system
US6826527B1 (en) 1999-11-23 2004-11-30 Texas Instruments Incorporated Concealment of frame erasures and method
US6665638B1 (en) * 2000-04-17 2003-12-16 At&T Corp. Adaptive short-term post-filters for speech coders
US6584438B1 (en) * 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
US6842733B1 (en) * 2000-09-15 2005-01-11 Mindspeed Technologies, Inc. Signal processing system for filtering spectral content of a signal for speech coding
ATE439666T1 (de) * 2001-02-27 2009-08-15 Texas Instruments Inc Verschleierungsverfahren bei verlust von sprachrahmen und dekoder dafer
US7353168B2 (en) 2001-10-03 2008-04-01 Broadcom Corporation Method and apparatus to eliminate discontinuities in adaptively filtered signals

Also Published As

Publication number Publication date
US7512535B2 (en) 2009-03-31
US8032363B2 (en) 2011-10-04
US20030088405A1 (en) 2003-05-08
DE60214814D1 (de) 2006-11-02
US20030088406A1 (en) 2003-05-08
EP1315150A3 (de) 2004-07-21
US20030088408A1 (en) 2003-05-08
EP1315149A2 (de) 2003-05-28
EP1315150A2 (de) 2003-05-28
EP1308932A2 (de) 2003-05-07
DE60209861T2 (de) 2007-02-22
EP1315150B1 (de) 2006-03-15
US7353168B2 (en) 2008-04-01
EP1308932B1 (de) 2008-03-05
DE60225400D1 (de) 2008-04-17
DE60209861D1 (de) 2006-05-11
DE60225400T2 (de) 2009-02-26
EP1315149B1 (de) 2006-09-20
EP1315149A3 (de) 2004-07-14
EP1308932A3 (de) 2004-07-21

Similar Documents

Publication Publication Date Title
DE60214814T2 (de) Verfahren und Vorrichtung zur Beseitigung von Diskontinuitäten eines adaptiv gefilterten Signals
DE602004006211T2 (de) Verfahren zur Maskierung von Paketverlusten und/oder Rahmenausfall in einem Kommunikationssystem
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE60117144T2 (de) Sprachübertragungssystem und verfahren zur behandlung verlorener datenrahmen
DE3244476C2 (de)
DE60024501T2 (de) Verbesserung der perzeptuellen Qualität von SBR (Spektralbandreplikation) UND HFR (Hochfrequenzen-Rekonstruktion) Kodierverfahren mittels adaptivem Addieren von Grundrauschen und Begrenzung der Rauschsubstitution
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
EP0076234B1 (de) Verfahren und Vorrichtung zur redundanzvermindernden digitalen Sprachverarbeitung
DE69535723T2 (de) Verfahren und vorrichtung zur sprachkodierung mit reduzierter, variabler bitrate
DE60220485T2 (de) Verfahren und Vorrichtung zur Verschleierung von Rahmenausfall von prädiktionskodierter Sprache unter Verwendung von Extrapolation der Wellenform
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE10041512B4 (de) Verfahren und Vorrichtung zur künstlichen Erweiterung der Bandbreite von Sprachsignalen
AT400646B (de) Sprachsegmentkodierungs- und tonlagensteuerungsverfahren für sprachsynthesesysteme und synthesevorrichtung
DE60122203T2 (de) Verfahren und system zur erzeugung von behaglichkeitsrauschen bei der sprachkommunikation
DE69730779T2 (de) Verbesserungen bei oder in Bezug auf Sprachkodierung
DE60224962T2 (de) Verfahren und Vorrichtung zur Verschleierung von fehlerbehafteten Sprachrahmen
DE69720861T2 (de) Verfahren zur Tonsynthese
DE19715126C2 (de) Sprachsignal-Codiervorrichtung
DE60309651T2 (de) Verfahren zur Sprachkodierung mittels verallgemeinerter Analyse durch Synthese und Sprachkodierer zur Durchführung dieses Verfahrens
DE60200632T2 (de) Verfahren zur Sprachaktivitätsdetektion in einem Signal, und Sprachkodierer mit Vorrichtung zur Ausführung des Verfahrens
DE60028500T2 (de) Sprachdekodierung
EP1023777B1 (de) Verfahren und vorrichtung zur erzeugung eines bitratenskalierbaren audio-datenstroms
DE60224142T2 (de) Verfahren und Vorrichtung zur Wellenformdämpfung von fehlerbehafteten Sprachrahmen
DE60030069T2 (de) Verschleierungsverfahren bei Verlust von Sprachrahmen

Legal Events

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

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