DE69419453T2 - Verfahren und Vorrichtung zum Einbau eines langterm Synthesefilters - Google Patents

Verfahren und Vorrichtung zum Einbau eines langterm Synthesefilters

Info

Publication number
DE69419453T2
DE69419453T2 DE69419453T DE69419453T DE69419453T2 DE 69419453 T2 DE69419453 T2 DE 69419453T2 DE 69419453 T DE69419453 T DE 69419453T DE 69419453 T DE69419453 T DE 69419453T DE 69419453 T2 DE69419453 T2 DE 69419453T2
Authority
DE
Germany
Prior art keywords
signal
synthesis
adaptive
adaptive codebook
correlation
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
DE69419453T
Other languages
English (en)
Other versions
DE69419453D1 (de
Inventor
Kari Juhani Jarvinen
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.)
Qualcomm Inc
Original Assignee
Nokia Mobile Phones Ltd
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 Nokia Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Application granted granted Critical
Publication of DE69419453D1 publication Critical patent/DE69419453D1/de
Publication of DE69419453T2 publication Critical patent/DE69419453T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Filters That Use Time-Delay Elements (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Realisieren eines Langzeit-Synthesefilters, das den Effekt der Grundfrequenz von Sprache nachbildet, insbesondere für digitale Sprachcodierer, die auf dem Analyse-durch-Synthese-Prinzip arbeiten.
  • Nachfolgend wird der Stand der Technik unter Bezugnahme auf die beigefügten Figuren erörtert, in denen
  • Fig. 1 einen Codierer gemäß dem Stand der Technik zeigt;
  • Fig. 2 verschiedene Typen von Verzögerungen zeigt, wie sie durch das Synthesefilter hervorgerufen werden.
  • Fig. 1 zeigt einen Codierer gemäß dem Stand der Technik. Im Codierer wird das Analyse-durch-Synthese-Verfahren dazu verwendet, die Parameterwerte des Langzeit-Vorhersagefilters zu berechnen (das auch als Grundfrequenzfilter bekannt ist; LTP (long-term predictive)-Filter, Langzeitvorhersage) oder adaptives Codebuch). Beim in Fig. 1 dargestellten Codierer wird jeder im Speicher des Langzeit-Synthesefilters 101 bei verschiedenen Verzögerungswerten liegende Erregungsvektor geeignet verstärkt und als Erregung an das Kurzzeit-LPC-Synthesefilter 102 gegeben. LPC (Linear Predictive Coding - lineares, vorhersagendes Codieren) ist ein allgemein bekanntes Verfahren, das dazu verwendet wird, die Kurzzeit-Abtastwertabhängigkeit eines Sprachsignals zu codieren.
  • Das durch jeden Erregungsvektor synthetisierte Signal wird ferner in der Subtrahiereinrichtung 104 mit dem Sollsignal 103 verglichen, wodurch die Syntheseabweichung erkannt wird. Das Sollsignal kann ein ursprüngliches Sprachsignal sein, das codiert werden soll oder es kann ein Signal sein, das durch irgendeine vorige Codierungsmaßnahme gegeben ist. Das Abweichungssignal wird dann im allgemeinen in einem Gewichtungsfilter 105 gewichtet, um die Sprachqualität hinsichtlich des Standpunkts der menschlichen Hörwahrnehmung zu verbessern. Der Leistungspegel des Abweichungssignals wird in einem Leistungsberechnungsblock 106 berechnet, und der für jeden Erregungsvektor berechnete Abweichungsleistungspegel wird an die Codebuch-Suchsteuerung 107 geliefert, die den im Speicher des Synthesefilters liegenden Vektor sucht, um diejenige Erregung herauszufinden, die das kleinste Gewicht der Abweichungssignale erzeugt. Der dem besten Erregungsvektor entsprechende Verzögerungswert Dopt 108 sowie der Skalierungskoeffizient bopt 109 werden zum Decodierer weitergeleitet.
  • Das Langzeit-Synthesefilter kann als adaptives Codebuch angesehen werden, wobei das Erregungssignal einiger weniger voriger Rahmen im Speicher gespeichert ist. Der Inhalt des Speichers wird dadurch adaptiert, dass das jedesmal erzeugte Erregungssignal im Speicher untergebracht wird und demgemäß der älteste Erregungsrahmen aus dem Speicher entfernt wird, um dadurch eine Art LIFO-Puffer zu bilden.
  • In Verbindung mit der Suche nach Parametern für das Langzeit-Synthesefilter gemäß Fig. 1 ist es möglich, eine Suche durch z. B. ein festes Codebuch so auszubilden, dass das vom Addierer 104 erhaltene Abweichungssignal gemäß der Langzeitsynthese zur Verarbeitung in einer ähnlichen Analyse-durch- Synthese-Verarbeitungsstufe weiterleitet wird, in der das feste Codebuch durchsucht wird, um den besten festen Erregungsvektor zu finden. In dieser Beschreibung wird beispielhaft der Einfachheit halber eine Langzeit-Analyse-durch-Synthese-Suche behandelt, die gesondert von der Verarbeitung des festen Codebuchs ausgeführt wird. Die Suche kann auch gemeinsam für das adaptive und feste Codebuch dadurch ausgeführt werden, dass die Erregung gemäß dem festen Codebuch dem Eingang 100 des Synthesefilters zugeführt wird. Selbstverständlich können auch mehr Codebücher als ein adaptives und ein festes Codebuch verwendet werden.
  • Fig. 2 zeigt verschiedene Typen von Synthesefilterverzögerungen. Die Figur veranschaulicht eine Situation mit einer Verzögerung, die größer als die Länge eines Unterrahmens ist (Fall I), als auch eine Situation mit einer Verzögerung, die kleiner als der Unterrahmen ist (Fall II). Wenn nach einem geeigneten Erregungsvektor für den Rahmen J+1 gesucht wird, wird der Inhalt der der Unterrahmen, die diesem vorangehen und im Speicher abgespeichert sind, nach einem geeigneten Punkt durchsucht, der als Erregung zu verwenden ist. In der Figur ist mit einer gestrichelten Linie auch die für den Rahmen J+1 verwendete Erregung markiert, für den aktuell eine Suche erfolgt, und der demgemäß zum Zeitpunkt der aktuell beschriebenen Suche noch unbekannt ist. In der Figur sind gesondert auch zwei Fälle auf Grundlage dessen dargestellt, ob die im System zulässige Verzögerung D kleiner als der Unterrahmen L sein kann (der Analyserahmen, wie er beim Codieren der Langzeiterregung verwendet wird). Im Fall I ist die Verzögerung so begrenzt, dass sie nicht kleiner als die Größe des Unterrahmens ist, wodurch die Erregung mittels eines unkomplizierten Verfahrens auf Grundlage der Berechnung der Korrelation erhalten wird. Die nicht verstärkte Erregung, die beim Optimieren der Erregungsparameter zu verwenden ist, wird wie folgt erhalten:
  • exiD(n) = buff(K-D+n-1); n = 1, ..., L, (1)
  • wobei K der Zeiger auf das Ende des Filterspeichers oder-puffers ist.
  • Der aktuelle, skalierte Erregungsvektor wird wie folgt erhalten:
  • exi(n) = bopt * exiDopt(n); n = 1, ..., L. (2)
  • Der optimale Verzögerungswert Dopt wird durch eine Analyse-durch-Synthese- Suche gemäß einem bekannten Verfahren dadurch erhalten, dass als erstes die Antwort VD(n) des LPC-Synthesefilters für jede unskalierte Erregung exiD(n) erhalten wird und im gesamten Bereich n = 1, ..., L des Unterrahmens nach demjenigen Verzögerungswert D gesucht wird, der den Wert des Korrelationsterms R(D) maximiert. Der Parameter Dopt ist der aus dem Sprachsignal gemessene Grundzyklus. Wenn ein Sprachsignal betroffen ist, wird häufig der Begriff Grundfrequenz an Stelle von Grundzyklus verwendet. Es handelt sich um einen Wert, der das umgekehrte des Grundzyklus ist, und er drückt die Frequenz aus, mit der die menschlichen Stimmbänder schwingen.
  • wobei s(i), mit i = 1, ..., L, das nachzubildende Signal ist.
  • Der optimale Verstärkungskoeffizient bopt für jeden Erregungsvektor, um ein synthetisiertes Signal vD(n) zu erzeugen, wird aus einem in der Technik wohlbekannten Term erhalten:
  • So kann eine Suche nach der bestmöglichen Erregung im oben beschriebenen Fall auf ziemlich unkomplizierte Weise erfolgen. Die Situation ist dann anders, wenn das Verfahren die Verwendung von Verzögerungswerten erlaubt, die kleiner als der Unterrahmen sind, d. h. so, wie es im Fig. 2 dargestellten Fall II auftritt. In diesem Fall müsste die Antwort des Synthesefilters für einen noch nicht bekannten Teil des Erregungssignals berechnet werden, da der Start des Abtastvorgangs an einem Punkt K-D im Puffer beginnt, wobei bei D< L die letzteren Abtastwerte (L-D) aus dem Pufferbereich herausfallen. Dies ist eine Folge des Einpufferns eines Unterrahmens von L Abtastwerten. Der Grundzyklus P des beim Beispiel von Fig. 2 dargestellten Erregungssignals ist deutlich kleiner als die Unterrahmenlänge L. Wirkungsvolles Codieren würde die Verwendung eines Verzögerungswerts kürzer als L im Langzeit-Synthesefilter erfordern.
  • Vom Standpunkt der Machbarkeit einer Analyse-durch-Synthese-Suche aus macht es Sinn, den Unterrahmen ausreichend lang zu halten, so dass andererseits die Rechenbelastung (die Anzahl von Optimierungen der Erregungen pro Zeiteinheit) vernünftig niedrig gehalten werden kann und das andererseits die Anzahl von die Erregung beschreibenden Parametern, wie sie an den Decodierer zu liefern sind, vernünftig niedrig ist, um die Bitrate niedrig zu halten. Es ist auch zweckmäßig, die Optimierung der Erregung mit einem Prüfintervall auszuführen, das ausreichend lang ist, und zwar vom Standpunkt des Wirkungsgrads des Codierungsverfahrens her. In der Praxis hat sich ein Unterrahmen mit einer Länge von ungefähr 5 ms als gute Auswahl ausgehend vom Standpunkt des Funktionsvermögens und des Wirkungsgrads des Verfahrens erwiesen. Jedoch führt ein so ausgewählter Unterrahmen zu einer Situation, bei der die kleinste mit einem Langzeit-Synthesefilter realisierbare Grundfrequenz 200 Hz beträgt. Die Grundfrequenz für weibliche Sprecher kann wesentlich über 300 Hz liegen. Dies ist der Grund, weswegen das Codierungsergebnis bei bekannten Systemen besonders für weibliche Spre cher unter Verwendung einer hohen Grundfrequenz deutlich schlechter als das Codierungsergebnis für männliche Sprecher ist.
  • Das Problem kann unter Verwendung sehr kleiner Unterrahmenlängen, die kürzer als der kürzestmögliche Grundzyklus des Sprachsignals, beseitigt werden. Jedoch verbessert diese Lösung die Codierung des Signals nur hinsichtlich der Grundfrequenz wesentlich, und sie erhöht die zur Realisierung erforderlich Rechenbelastung übermäßig, wodurch der Codierungswirkungsgrad verringert ist.
  • Eine Lösung zum Codieren hoher Grundfrequenzen eines Sprachsignals besteht darin, das Langzeit-Synthesefilter so zu modifizieren, dass dann, wenn (unbekannte) Unterrahmen, die aktuell eine Optimierung erfahren, zu verwenden sind, d. h., wenn die letzteren Abtastwerte (L-D) aus dem Pufferbereich herausfallen, Abtastwerte, die dem Bereich außerhalb des Puffers entsprechen, aus Abtastwerten vor D entnommen werden und für die Erregungswerte eingesetzt werden (oder sie werden aus Abtastwerten, die dem Mehrfachen von D vorangehen, auf solche Weise entnommen, dass ein Signal aus dem bekannten Bereich im LTP-Speicher entnommen wird, um das unbekannte Signal zu repräsentieren). Hierzu wird z. B. auf das US-Patent 4 980 916 und das Patent WO-91/03790 Bezug genommen. Die Schwierigkeit bei diesem Verfahren liegt in der Tatsache, dass sich die Intensität des Erregungssignals deutlich ändern kann, wenn zum nächsten Unterrahmen fortgeschritten wird, wobei das Erregungssignal, für das zuvor eine Suche vor dem Abtastwert D ausgeführt wurde, nicht der tatsächlichen Erregung entspricht.
  • Gemäß einer ersten Erscheinungsform der Erfindung sind ein Verfahren zum Betreiben eines Langzeit-Synthesefilters (LTP) unter Verwendung eines Analyse-durch-Synthese-Ablaufs, mit: Lesen von Signalen vorbestimmter Länge, wie sie in einem adaptiven Codebuch gespeichert sind, und Nutzen der Signale zum Erzeugen jeweiliger Synthesesignale; Vergleichen jeweiligen Synthesesignale mit einem Sollsignal und Erzeugen eines Abweichungssignals, das die Korrelation zwischen jeweiligen Synthesesignalen und dem Sollsignal anzeigt; Auswählen desjenigen Signals zur Synthese, das die größte Korrelation erzeugt, und Speichern desselben; wobei mehrere gesondert adaptierbare adaptive Codebücher vorhanden sind und das Signal mit der größten Korrelation in eines der mehreren adaptiven Codebücher eingespeichert wird, und ein Langzeit-Synthesefilter (LTP) zur Verwendung einer Analyse-durch-Synthese-Prozedur mit mehr als einem adaptiven Codebuch, das zur Adaption und zur Verwendung mit einem eine Codierung erfahrenden Signal individuell auswählbar ist, geschaffen.
  • Gemäß einer zweiten Erscheinungsform der Erfindung sind ein Verfahren zum Betreiben eines Langzeit-Synthesefilters (LTP) unter Verwendung eines Analyse-durch-Synthese-Ablaufs mit: Lesen von Signalen vorbestimmter Länge, die für verschiedene Verzögerungswerte (D) in einem adaptiven Codebuch gespeichert sind, und Verwenden der Signale zum Erzeugen jeweiliger Synthesesignale; Vergleichen jeweiliger Synthesesignale mit einem Sollsignal und Erzeugen eines Abweichungssignals, das die Korrelation zwischen jeweiligen Synthesesignalen und dem Sollsignal anzeigt; Auswählen desjenigen Signals zur Synthese, das die größte Korrelation erzeugt, und Speichern desselben im adaptiven Codebuch; wobei eine Hilfsspeichereinrichtung vorhanden ist, um dasjenige Signal zu speichern, das für Verzögerungswerte (D) unter einer vorbestimmten Länge, oder diese entsprechend, die größte Korrelation erzeugt, und ein Langzeit-Vorhersagesynthesefilter (LTP) zur Nutzung einer Analyse-durch-Synthese-Prozedur mit einer Hilfsspeichereinrichtung, die einem adaptiven Codebuch zum Speichern von Signalen entspricht, wenn Verzögerungswerte (D) kleiner als eine vorbestimmte Länge sind oder dieser entsprechen, geschaffen.
  • Ein Verfahren und eine Vorrichtung gemäß der Erfindung können beim digitalen Codieren eines Sprachsignals verwendet werden. Insbesondere können sie mit Vorteil verwendet werden, wenn versucht wird, ein Sprachsignal hoher Qualität mit niedrigen Bitraten unter 10 kBit/s zu übertragen. Das Verfahren kann z. B. bei code-erregter, linearer, vorhersagender Codierung verwendet werden. Durch die Erfindung kann bei Analyse-durch-Synthese-Verfahren, die CELP-Codierung sehr ähnlich sind, ein verbessertes Sprachcodierungsergebnis erzielt werden, insbesondere bei den genannten niedrigen Bitraten. CELP-Codierung ist z. B. in der Veröffentlichung "Code-Excited Linear Prediction (CELP); High guality Speech at Very Low Bit Rates", Proceedings of the IEEE International Conference of Acoustics, Speech an Signal Processing IKASSP, Vol. 3, S. 937-940, März 1985 von M. R. Schroeder und B.S. Atal erörtert.
  • Es wird in vorteilhafter Weise ein gutes Codierungsergebnis für diejenigen Arten von Stimmen erhalten, deren Grundfrequenz sehr hoch, d. h. dann, wenn der der Grundfrequenz entsprechende Zyklus zeitkürzer als der verwendete Analyse-durch-Synthese-Rahmen ist. Die Verwendung mehrerer paralleler, gesondert adaptierbarer Synthesespeicherblöcke im Synthesefilter ermöglicht es, die Funktion und das Codierungsergebnis des Synthesefilters weiter zu verbessern. Zum Beispiel können nützliche Signale, wie sie viele Zyklen zuvor aufgetreten sind, gespeichert und wiederverwendet werden.
  • Die Erfindung wird im Nachfolgenden im einzelnen, nur beispielhaft, unter Bezugnahme auf die beigefügten Figuren beschrieben.
  • Fig. 1 zeigt den bereits erörterten Codierer gemäß dem Stand der Technik;
  • Fig. 2 zeigt verschiedene Verzögerungstypen des Synthesefilters;
  • Fig. 3 zeigt ein Blockdiagramm der interen Struktur eines erfindungsgemäßen Langzeit-Synthesefilters;
  • Fig. 4 zeigt ein Flussdiagramm für die Suche nach optimaler Erregung gemäß der Erfindung;
  • Fig. 5 zeigt ein Blockdiagramm zur Realisierung eines erfindungsgemäßen Synthesefilters durch mehrere parallele, gesondert adaptierende Teilspeicher; und
  • Fig. 6 repräsentiert ein Flussdiagramm eines erfindungsgemäßen Langzeitfilters, das aus Teilspeichern besteht.
  • Die Fig. 1 und 2 wurden oben erörtert. Nachfolgend wird unter Bezugnahme auf die Fig. 3 bis 6 ein Ausführungsbeispiel zu einer ersten Erscheinungsform der Erfindung beschrieben.
  • Fig. 3 zeigt ein Blockdiagramm der Innenstruktur eines erfindungsgemäßen Langzeit-Synthesefilters 305. Das Filter umfasst den LTP-Speicher 303 (buff(n); n = k-Dmax, ...,K-1), aus dem, ab einem geeigneten Punkt K-Dopt, eine Auswahl eines Vektors mit einer Länge von L Abtastwerten, verstärkt mit dem Koeffizient bopt 302, erfolgt, um als optimaler Erregungsvektor exi(n) mit n = 1, ..., L, 304 verwendet zu werden. In der Figur wird dem Addierer 301 an seinem Eingang 300 ein Signal vom Wert null zugeführt, und der Einfachheit halber ist angenommen, dass nicht mehr als ein Erregungssignal auf einmal optimiert wird.
  • Ein Ausführungsbeispiel gemäß einer zweiten Erscheinungsform der Erfindung verfügt als Teil des Synthesefilterspeichers über einen Hilfsspeicher 307 exb(n), mit n = 1, ..., D, für den, falls erforderlich, ein Teil eines Signals erzeugt wird, der verwendet wird, wenn der erforderliche oder optimale Verzögerungswert kleiner als der Unterrahmen ist. Dem Hilfsspeicher wird über einen Verstärkungsblock 306 ein Vektor vom LTP-Speicher buff(n) zugeführt, der geeignet mit dem Verstärkungskoeffizient b' verstärkt ist. Der mit b' skalierte Teilerregungsvektor, der dem Hilfsspeicher zugeführt wird, wird verwendet, wenn die Optimierung der LTP-Parameter (d. h. der Abtastwerte n = 1, ..., L) in einen Bereich fällt, in dem ein Teil des Signals zur Verwendung während der aktuellen, erforderlichen Optimierung fällt, zum zu optimierenden Rahmen gehört, d. h., wenn sie in einen Bereich außerhalb des Puffers fällt. Ein Näherungswert für den unbekannten Teil des Signals, der zur Optimierung oder Synthese erforderlich ist, wird aus der im Hilfsspeicher gespeicherten vorskalierten Teilerregung exb(n) über einen Umschalter 308 erhalten.
  • Fig. 4 zeigt ein Flussdiagramm zur Suche nach der optimalen Erregung gemäß der Erfindung. Fig. 4A zeigt den Suchablauf für Erregungsparameter, wenn D größer als L oder gleich groß ist. In Fig. 4A laufen die Verzögerungswerte vom Maximalwert zum Minimalwert, d. h. von Dmax zu Dmin, durch, wobei für jeden möglichen Wert von D ein entsprechender Erregungsvektor exiD(n), mit n = 1, ..., L, gebildet ist. Der beste Verzögerungswert und der beste Verstärkungskoeffizient werden dadurch ausgewählt, dass durch ein, auf diesem Gebiet bekanntes Verfahren, der Kreuzkorrelationsterm R(D) zwischen der Antwort des Erregungsvektors und dem Sollsignal (dem ursprünglichen Sprachsignal) für die gesamte Zeit des Unterrahmens n = 1, ... L berechnet wird.
  • Gemäß Fig. 4 startet die Optimierung in einem Block 400. In einem Block 401 wird die Suche nach Verzögerungswerten D so ausgelöst, dass sie beim zugehörigen Maximalwert beginnt und in einem Block 402 wird ein Zeiger (n) auf den entsprechenden Punkt des LTP-Speichers erzeugt. In einem Block 403 erfolgt ein Test für Streuung in den tatsächlichen oder aktuellen Verzögerungswertebereich, der auf den gerade optimierten Unterrahmen zeigt (n &ge; K). Wenn der Zeiger auf Erregungswerte zeigt, die noch nicht bekannt sind, geht das Programm zu den Abläufen in Fig. 4B (404) über. Wenn der Zeiger im Bereich verbleibt, der sich im Speicher des Synthesefilters befindet (K- Dmax n(K), wird in einem Block 405 jeder Abtastwert des unskalierten Erregungsvektors erzeugt, und der Ablauf wird mittels eines Blocks 406 dadurch wiederholt, dass fortgeschritten wird, bis ein Erregungsvektor der gesamten Länge 11 von Abtastwerten erzeugt ist. Der Schalter 308 in Fig. 3 befindet sich zu diesem Zeitpunkt in der Stellung 1. In einem Block 407 wird ein Test zur Länge ausgeführt. In einem Block 408 erfolgt Rückkehr von den Vorgängen in Fig. 4B zum Grundteil des Algorithmus. Wenn ein Block 409 erreicht wird, ist für den Vektor exiD(n), mit n = 1, ..., L, ein Erregungsvektor der Länge L erzeugt, einschließlich den Fällen D < L.
  • Im Block 409 wird jeder nicht verstärkte Erregungsvektor exiD(n), mit n = 1, ..., L, dem LPC-Synthesefilter zugeführt, und in einem Block 410 wird die Korrelation des Ausgangssignals VD(n), mit n = 1, ..., L, des LPC-Synthesefilters für das Sollsignal mit einem Prüfintervall der Länge L entsprechend der Formel (3) berechnet. In einem Block 411 wird der für jeden Verzögerungswert D berechnete Korrelationsterm mit dem Maximalwert der zuvor berechneten Korrelationsterme verglichen. Wenn der gerade getestete, gegebene Verzögerungswert einen Korrelationswert über den vorigen liefert, wird der gegebene Verzögerungswert als optimaler Verzögerungswert Dopt ausgewählt, und der entsprechende Skalierungskoeffizient wird als optimaler Skalierungskoeffizient bopt ausgewählt. In einem Block 412 wird der nächste Verzögerungswert zur Verarbeitung entnommen, und die Optimierung wird fortgesetzt, wenn der in einem Block 413 auszuführende Test nicht angibt, dass bereits alle Verzögerungswerte getestet wurden. Wenn alle Verzögerungsmöglichkeiten durchgelaufen sind und die optimale Erregung aufgefunden ist, wird der LTP-Speicher in einem Block 414 aktualisiert. Der Optimierungsalgorithmus für die LTP-Parameter wird in einem Block 415 beendet.
  • Sollte die Anwendung des Algorithmus gemäß Fig. 4A die Verwendung von Abtastwerten umfassen, die sich noch nicht im LTP-Speicher befinden (n &ge; K, geht das Programm zum Ablauf gemäß Fig. 4B über. Die Verarbeitung beginnt in einem Block 421, in dem eine Berechnung, im LPC-Synthesefilter, für die Antwort V'D(n); mit n = 1, ..., D, des Teilerregungsvektors der Länge D erfolgt, der gemäß dem linken Teil der Figur erzeugt wurde, d. h. des Vektors exiD(n), n = 1, ..., D. In einem Block 422 wird der Skalierungskoeffizient b' für die Teilerregung auf dieselbe Weise wie der Verstärkungskoeffizient b dadurch berechnet, dass die Antwort für die Teilerregung erzeugt wird und sie unter Verwendung eines Prüfintervalls der Länge D mit dem nachzubildenden Signal korreliert wird. Die Berechnung wird nur für diejenigen Abtastwerte ausgeführt, für die D bekannt ist, d. h. nur für das Stück der Teilerregung mit n = 1, ..., D.
  • In einem Block 423 wird der für die Teilerregung berechnete Verstärkungskoeffizient dazu verwendet, eine Annäherung für den unbekannten Teil des Signals zu erzeugen, wobei dieses wie folgt zum Hilfsspeicher läuft:
  • exb(n) = b*buff(K-D+n-1); n = 1, ..., D (6)
  • Der fehlende Teil des Erregungssignals, wie er vom Analyse-durch-Synthese- Verfahren benötigt wird, wird in einem Block 424 vom Hilfsspeicher erhalten. Der Umschalter 308 in Fig. 3 ist demgemäß in die Stellung 2 verstellt:
  • exiD(n+D) = exb(n-i*D); n = 1, ..., L-D (7)
  • wobei i*D, mit i = 0, 1, ... ein Mehrfaches von D ist, wodurch der Zeiger in den Bereich des Hilfsspeichers versetzt wird. Wenn 1 < LID &le; 2 gilt, erhält i den Wert null, und wenn 2 < L/D &le; gilt, erhält i die Werte null und eins in solcher Weise, dass im spezifizierten Bereich n = 1, ..., D des Hilfsspeichers exb(n), mit n = 1, ..., D usw. immer ein Treffer erfolgt. Wenn auf diese Weise der Endteil des Erregungssignals erzeugt wurde, kehrt das Programm zum Hauptalgorithmus zurück.
  • Wenn zu Fig. 4A zurückgekehrt wird, kann die in den Blöcken 421 und 422 ausgeführte Berechnung bei der Berechnung der Blöcke 409 und 410 genutzt werden, was bedeutet, dass der Arbeitsumfang des Algorithmus nicht wesentlich anwächst, obwohl ein gesonderter Korrelationsterm berechnet werden muss, um einen Teil des fehlenden Signals zu erzeugen.
  • Das oben beschriebene Synthesefilterverfahren betrifft die Berechnung der Erregungsparameter, wie sie im Codierer auszuführen ist. Dennoch ist es nützlich, ein erfindungsgemäßes Synthesefilter auch in einem Decodierer zu nutzen, um Entsprechungen zum Vorgang der Codiereroptimierung zu erzielen, obwohl es in einem Decodierer auch mit einer herkömmlichen Filterstruktur möglich wäre, eine Synthesefilterverzögerung zu realisieren, die kürzer als der Unterrahmen ist.
  • Fig. 5 zeigt ein Blockdiagramm eines Ausführungsbeispiels zu einer ersten Erscheinungsform der Erfindung mittels einer Anzahl paralleler, gesondert adaptierbarer Teilspeicher. Die Figur legt die Verwendung mehrerer adaptiver Codebücher dar, wobei es sich um ein zusätzliches Merkmal der Erfindung handelt, und sie legt die Adaption der Codebücher unter Steuerung durch eine Schalterstruktur dar. Innerhalb des Langzeit-Synthesefilters ermög licht es die Benutzung mehrerer Codebücher, eine Gruppe von Erregungsvektoren für häufig genutzte Erregungstypen, die als aktiv klassifiziert werden und dem zu synthetisierenden Unterrahmen um einen großen Wert vorangehen können, zu durchsuchen. Im Synthesefilter gemäß der zweiten Erscheinungsform der Erfindung sind an Stelle eines Synthesefilterspeichers mehrere (Anzahl M) Synthesefilterblöcke 507 und Verstärkungskoeffizienten 506 verwendet.
  • Es wird nur derjenige Teilspeicher adaptiert, der dazu verwendet wird, zu einem beliebigen gegebenen Zeitpunkt eine Erregung zu erzeugen, und die anderen Teilspeicher des Synthesefilters werden im alten Zustand ohne jede Adaptierung belassen. Das Verfahren ermöglicht es, den Inhalt derjenigen LTP-Speicher, die für eine ziemlich lange Zeit nicht genutzt wurden, für anschließende Verwendung im Zustand beizubehalten, in dem sie zuletzt verwendet wurden. Demgemäß ist es möglich, sie als nutzbare Erregung für Zeiten beizubehalten, die länger als beim in der Technik bekannten Synthesefilterverfahren sind.
  • Ein Umschalter 503, der die Erregung auswählt, und ein Umschalter 505, der den zu adaptierenden LTP-Teilspeicher auswählt, wirken synchron miteinander. Wenn jedoch ein Teilspeicher des Synthesespeichers für einige (Anzahl R) Rahmen nicht als Erregung verwendet wird, wird sein Inhalt mit einem Erregungsvektor adaptiert, der durch Skalierung aus dem aktiven Teilspeicher erzeugt wurde. In diesem Fall hebt die Steuerlogik 508 für die Adaption der Teilspeicher die Synchronisation der Umschalter für einen Moment auf, und sie adaptiert, als Ausnahmefall, einen anderen Teilspeicher als denjenigen, aus dem das Erregungssignal entnommen wurde.
  • Das erzeugte Erregungssignal wird am Ausgang 509 des Synthesefilters erhalten. Es kann eine mögliche gleichzeitige Optimierung der zusätzlichen Erregung dadurch ausgeführt werden, dass es mittels der Addiereinrichtung 501 am Eingang 500 zur LTP-Erregung addiert wird.
  • Fig. 6 zeigt ein Flussdiagramm eines aus Teilspeichern bestehenden Langzeitfilters. In einem Block 601 wird der Betrieb des Synthesefilters für jeden Unterrahmen gestartet. In einem Block 602 wird der Inhalt der Teilspeicher nach derjenigen Erregung durchsucht, die die kleinste Abweichung ergibt und für diese wird der geeignete Verstärkungskoeffizient berechnet, z. B. mit dem bereits beschriebenen zweistufigen Ablauf. Jeder Teilspeicher kann mehrere Erregungsvektoren mit jeweils der Länge eines Unterrahmens enthalten. In einem Block 603 wird der aus dem Speicher ausgewählte skalierte Vektor als Erregung auf solche Weise verwendet, dass der Teilspeicher, aus dem der gegebene Vektor ausgewählt wurde, durch den Umschalter 503 aktiviert wird. In einem Testblock 604 erfolgt eine Prüfung dahingehend, ob alle Teilspeicher innerhalb einer vernünftigen Zeit während der Erzeugung der Erregung verwendet wurden (sie mindestens einmal während der letzten R codierten Rahmen ausgewählt wurden).
  • Wenn alle Teilspeicher ausreichend häufig in Gebrauch waren, wird in einem Block 606 derjenige Teilspeicher adaptiert, aus dem die Erregung ausgewählt wurde, d. h., dass der Schalter 505 so eingestellt wird, dass er auf denjenigen Teilspeicher zeigt, aus dem das Erregungssignal über den Umschalter 503 entnommen wurde. Andernfalls wird entsprechend einem Block 605 nur derjenige Teilspeicher adaptiert, der als zu lange ungenutzt klassifiziert wurde, anstatt dass derjenige Teilspeicher adaptiert wird, aus dem die Erregung entnommen wurde. Die Erzeugung der Erregung jedes Rahmens wird in einem Block 607 beendet.
  • Bei Sprachcodierern, die gemäß dem Analyse-durch-Synthese-Prinzip arbeiten, ermöglicht es die Erfindung, diejenigen Arten hoher Grundschwingungen zu realisieren, die eine entsprechende Zykluszeit aufweisen, die kleiner als die Rahmenlänge der Analyse-durch-Synthese-Struktur ist. Die Erfindung beruht auf der Verwendung eines zweistufigen Algorithmus, in dessen erster Stufe für das Signal für den Anfang des zu optimierenden Unterrahmens eine Näherung erzeugt wird, während in der zweiten Stufe eine Berechnung der Codiererparameter unter Verwendung der so erzeugten Signalnäherung ausgeführt wird, wobei sich diese Berechnung auf Verzögerungswerte erstreckt, die kürzer als der Analyse-durch-Synthese-Rahmen sind.
  • Ein zusätzliches Merkmal der Erfindung liegt in der Verwendung mehrerer paralleler, gesondert adaptierbarer Synthesespeicherblöcke innerhalb eines Synthesefilters. Bei einem Langzeit-Synthesefilter ermöglicht es die Verwendung mehrerer gesonderter Speicherblöcke, in einer Gruppe häufig genutzter (aktiver) Erregungstypen nach einem Erregungsvektor zu suchen, der weit vor dem zu synthetisierenden Unterrahmen liegen kann.
  • Alles in allem ist es so mit dem erfindungsgemäßen Verfahren einerseits möglich, kurze Vorhersageverzögerungszeiten (d. h. hohe Grundfrequenzen) mit größerer Widergabetreue als bei zuvor angegebenen Verfahren zu erzielen, und andererseits, durch Optimierung der Erregung unter Nutzung gesondert adaptierbarer Teilspeicher, die Nutzung von Erregungen zu ermöglichen, die sehr großen Verzögerungszeiten entsprechen und lange Zeit zuvor erzeugt wurden.
  • Im Codierer gemäß Fig. 1, der dem Stand der Technik entspricht, ist es möglich, durch das erfindungsgemäße Verfahren, Verzögerungswerte zu nutzen, die kleiner als die Länge des Langzeit-Analyse-durch-Synthese-Rahmens sind. Es können mehrere parallele Synthesespeicherblöcke gemäß der Erfindung nicht nur bei Sprachcodierern, die gemäß dem Analyse-durch-Synthese-Prinzip arbeiten, sondern auch bei eher herkömmlichen Codierern mit sogenanntem offenem System verwendet werden, die nicht die Ausführung der Synthese des Sprachsignals mit verschiedenen Syntheseparameterwerten im Codierer, was den Analyse-durch-Synthese-Verfahren ähnlich ist und die folgende Abweichungsprüfung auf Grundlage des aktuellen Syntheseergebnisses umfassen.
  • Aus der vorstehenden Beschreibung erkennt der Fachmann, dass innerhalb des Schutzumfangs der Erfindung verschiedene Modifizierungen vorgenommen werden können.

Claims (17)

1. Verfahren zum Betreiben eines Langzeit-Synthesefilters (LTP) unter Verwendung eines Analyse-durch-Synthese-Ablaufs, mit: Lesen von Signalen vorbestimmter Länge, wie sie in einem adaptiven Codebuch (507) gespeichert sind, und Nutzen der Signale zum Erzeugen jeweiliger Synthesesignale; Vergleichen jeweiligen Synthesesignale mit einem Sollsignal und Erzeugen eines Abweichungssignals, das die Korrelation zwischen jeweiligen Synthesesignalen und dem Sollsignal anzeigt; Auswählen desjenigen Signals zur Synthese, das die größte Korrelation erzeugt, und Speichern dieses Signals; wobei mehrere gesondert adaptierbare adaptive Codebücher vorhanden sind und das Signal mit der größten Korrelation in eines der mehreren adaptiven Codebücher eingespeichert wird.
2. Verfahren zum Betreiben eines Langzeit-Synthesefilters (LTP) unter Verwendung eines Analyse-durch-Synthese-Ablaufs mit: Lesen von Signalen vorbestimmter Länge, die für verschiedene Verzögerungswerte (D) in einem adaptiven Codebuch (507) gespeichert sind, und Verwenden der Signale zum Erzeugen jeweiliger Synthesesignale; Vergleichen jeweiliger Synthesesignale mit einem Sollsignal und Erzeugen eines Abweichungssignals, das die Korrelation zwischen jeweiligen Synthesesignalen und dem Sollsignal anzeigt; Auswählen desjenigen Signals zur Synthese, das die größte Korrelation erzeugt, und Speichern dieses Signals im adaptiven Codebuch; wobei eine Hilfsspeichereinrichtung (307) vorhanden ist, um dasjenige Signal zu speichern, das für Verzögerungswerte (D) unter einer vorbestimmten Länge, oder diese entsprechend, die größte Korrelation erzeugt.
3. Verfahren nach Anspruch 1 oder Anspruch 2 oder Anspruch 1 und Anspruch 2, bei dem die vorbestimmte Länge der Länge L eines Unterrahmens entspricht.
4. Verfahren nach Anspruch 3, bei dem die Optimierung der Synthesefilterparameter des adaptiven Codebuchs durch einen zweistufigen Algorithmus mittels eines geeignet skalierten Teilsignals ausführbar ist, das zu einem Hilfsspeicher geleitet wird, so dass unter Verwendung des Teilsignals im Synthesefilter Verzögerungswerte (D) realisierbar sind, die kürzer als die Unterrahmen sind.
5. Verfahren nach Anspruch 4, bei dem der zweistufige Algorithmus eine erste Stufe zum Erzeugen eines Näherungssignals entsprechend dem Anfang des gerade zu optimierenden Unterrahmens und zum Berechnen eines Skalierungskoeffizienten b' entsprechend dem Teilsignal der Längen = 1, ..., D, um ein Signal exiD(n), mit n = D+1, ..., L, entsprechend einem zu optimierenden unbekannten Signal zu erzeugen; und eine zweite Stufe aufweist, um das Signal exi(D) als unbekanntes Signal zu verwenden, um dadurch die Analyse der Parameter des Langzeitfilters auf Verzögerungswerte (D) zu erstrecken, die kürzer als die Länge (L) der Unterrahmen sind.
6. Verfahren nach Anspruch 5, das als Anordnung aus einem Verstärkungsblock, einem Hilfsspeicher und einem Umschalter realisiert ist, wobei der Verstärkungskoeffizient mit der Länge von D Abtastwerten mittels des Korrelationsablaufs berechnet wird.
7. Verfahren nach einem der Ansprüche 3 bis 6, bei dem die Bearbeitung der adaptiven Codebücher dadurch ausgeführt wird, dass dasselbe adaptive Codebuch adaptiert wird, aus dem das Signal zur Verwendung beim Synthesevorgang ausgewählt wurde.
8. Verfahren nach einem der Ansprüche 3 bis 6, bei dem dann, wenn ein adaptives Codebuch als Signal für weniger als eine vorbestimmte Anzahl R von Rahmen verwendet wird, dessen Inhalt mit einem Signal adaptiert wird, das durch Skalieren aus dem adaptiven Codebuch erzeugt wurde, aus dem das Signal ausgewählt wurde, um dadurch ein anderes adaptives Codebuch zu adaptieren, als dasjenige, aus dem das Signal entnommen wurde.
9. Verfahren nach Anspruch 8, bei dem
- der Inhalt der adaptiven Codebücher nach dem Signal durchsucht wird, das die kleinste Abweichung ergibt, und für dieses ein geeigneter Verstärkungskoeffizient (602) berechnet wird;
- das aus den adaptiven Codebüchern ausgewählte skalierte Signal als Signal (603) in solcher Weise geliefert wird, dass das adaptive Codebuch, aus dem das Signal ausgewählt wurde, durch einen Umschalter (503) aktiviert wird;
- eine Prüfung dahingehend erfolgt, dass alle adaptiven Codebücher innerhalb einer vernünftigen Zeit während der Erzeugung des Signals in Gebrauch waren (604);
- dasjenige adaptive Codebuch, aus dem das Signal ausgewählt wurde, dadurch adaptiert wird (606), dass ein anderer Umschalter so eingestellt wird (505), dass er auf dasjenige adaptive Codebuch zeigt, aus dem das Signal über den erstgenannten Umschalter entnommen wurde (503), oder das alternativ nur dasjenige adaptive Codebuch adaptiert wird, das als zu lange unbenutzt klassifiziert wurde (605).
10. Verfahren nach einem der Ansprüche 3 bis 9, bei dem beim Optimieren des Filters
- die Suche nach den Verzögerungswerten D so ausgelöst wird, dass sie ab dem Maximalwert beginnt (401) und ein Zeiger auf den entsprechenden Punkt des adaptiven Codebuchs erzeugt wird (402);
- ein Test für eine Streuung in den Verzögerungswertebereich, der auf den gerade optimierten Unterrahmen zeigt, hinein ausgeführt wird (n K) (403);
- ein Abtastwert für jedes unskalierte Signal erzeugt wird (405) und der Ablauf dadurch wiederholt wird, dass der Zeiger auf das Signal weiter vorverstellt wird, bis ein Signal der Länge aller L Abtastwerte erzeugt ist (406);
- ein Testen der Länge ausgeführt wird (407);
- für die so erzeugte Antwort eines Teilsignals in einem LPC-Synthesefilter eine Berechnung ausgeführt wird (421);
- der Skalierungskoeffizient b' für das Teilsignal dadurch berechnet wird, dass die Antwort des Teilsignals erzeugt wird und sie mit dem nachzubildenden Signal mittels eines Prüfintervalls der Länge D korreliert wird (422);
- für das Teilsignal eine Näherung für den unbekannten Teil des Signals erzeugt wird, die an den Hilfsspeicher geliefert wird (423);
- der fehlende Teil des Signals, wie für das Analyse-durch-Synthese-Verfahren erforderlich, aus dem Hilfsspeicher entnommen wird (424);
- jedes nicht verstärkte Signal dem LPC-Synthesefilter zugeführt wird (409);
- die Korrelation des Ausgangssignals des LPC-Synthesefilters mit dem Sollsignal mittels eines Prüfintervalls der Länge L berechnet wird (410);
- der für jeden Verzögerungswert D berechnete Korrelationsterm mit dem Maximalwert der zuvor berechneten Korrelationsterme verglichen wird und jeder Korrelationswert, der höher als die vorigen ist, als optimaler Verzögerungswert Dopt ausgewählt wird, und der entsprechende Skalierungskoeffizient als optimaler Skalierungskoeffizient bopt ausgewählt wird (411);
- der nächste Verzögerungswert zur Verarbeitung verwendet wird (412), bis alle Verzögerungswerte getestet sind (413); und
- das adaptive Codebuch aktualisiert wird (414).
11. Verfahren nach Anspruch 10, bei dem die zuvor ausgeführte Berechnung der Teilsignalantwort und des Skalierungskoeffizienten b' (421, 422) beim Berechnen der Signale und der Korrelationsterme verwendet wird (409, 410).
12. Langzeit-Synthesefilter (LTP) zur Verwendung eines Analyse-durch-Synthese-Ablaufs, mit mehr als einem adaptiven Codebuch (507), die zur Adaption und zur Verwendung mit einem eine Codierung erfahrenden Signal individuell auswählbar sind.
13. Vorhersagendes Langzeit-Synthesefilter (LTP) zur Verwendung eines Analyse-durch-Synthese-Ablaufs, mit einer Hilfsspeichereinrichtung (307), die einem adaptiven Codebuch (303) entspricht, um Signale einzuspeichern, wenn Verzögerungswerte (D) kleiner als eine vorbestimmte Länge oder gleich groß wie diese sind.
14. Synthesefilter nach Anspruch 12 oder Anspruch 13 oder Anspruch 12 und Anspruch 13, bei dem jedem adaptiven Codebuch (507) ein eigener Verstärkungskoeffizient (506) zugewiesen ist und das Filter einen Umschalter (503) aufweist, der ein Signal aus den adaptiven Codebüchern (507) auswählt, und ferner mit einem Umschalter (505), der das zu adaptierende Codebuch auswählt, und einer Steuerlogik (508) zum Adaptieren der adaptiven Codebücher.
15. Synthesefilter nach Anspruch 14, bei dem eine Anzahl gesonderter adaptiver Codebücher als Zusatzsignal dient.
16. Synthesefilter nach Anspruch 14, bei dem die vorbestimmte Länge der Länge L eines Unterrahmens entspricht.
17. Synthesefilter nach einem der Ansprüche 14 oder 15, bei dem ein Signal mit einer Länge von L Abtastwerten ab einem geeigneten Punkt im adaptiven Codebuch (303) ausgewählt wird und an einen Verstärkungsblock (302) gegeben wird, in dem das Signal zur Verwendung als optimales Signal (304) verstärkt wird und der Hilfsspeicher (307) an den, bei Bedarf, ein Signal vom adaptiven Codebuch geliefert wird, über den Verstärkungsblock (306) angeschlossen ist, wobei eine geeignete Verstärkung erfolgt.
DE69419453T 1993-05-06 1994-05-06 Verfahren und Vorrichtung zum Einbau eines langterm Synthesefilters Expired - Lifetime DE69419453T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FI932049A FI96248C (fi) 1993-05-06 1993-05-06 Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin

Publications (2)

Publication Number Publication Date
DE69419453D1 DE69419453D1 (de) 1999-08-19
DE69419453T2 true DE69419453T2 (de) 2000-02-24

Family

ID=8537873

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69419453T Expired - Lifetime DE69419453T2 (de) 1993-05-06 1994-05-06 Verfahren und Vorrichtung zum Einbau eines langterm Synthesefilters

Country Status (5)

Country Link
US (1) US5761635A (de)
EP (1) EP0623916B1 (de)
JP (1) JPH0728498A (de)
DE (1) DE69419453T2 (de)
FI (1) FI96248C (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI973873A (fi) 1997-10-02 1999-04-03 Nokia Mobile Phones Ltd Puhekoodaus
FI980132A (fi) 1998-01-21 1999-07-22 Nokia Mobile Phones Ltd Adaptoituva jälkisuodatin
FI113571B (fi) 1998-03-09 2004-05-14 Nokia Corp Puheenkoodaus
CA3160488C (en) * 2010-07-02 2023-09-05 Dolby International Ab Audio decoding with selective post filtering

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0076234B1 (de) * 1981-09-24 1985-09-04 GRETAG Aktiengesellschaft Verfahren und Vorrichtung zur redundanzvermindernden digitalen Sprachverarbeitung
NL8400728A (nl) * 1984-03-07 1985-10-01 Philips Nv Digitale spraakcoder met basisband residucodering.
NL8500843A (nl) * 1985-03-22 1986-10-16 Koninkl Philips Electronics Nv Multipuls-excitatie lineair-predictieve spraakcoder.
IT1195350B (it) * 1986-10-21 1988-10-12 Cselt Centro Studi Lab Telecom Procedimento e dispositivo per la codifica e decodifica del segnale vocale mediante estrazione di para metri e tecniche di quantizzazione vettoriale
US4969192A (en) * 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US4831624A (en) * 1987-06-04 1989-05-16 Motorola, Inc. Error detection method for sub-band coding
JPH02500620A (ja) * 1987-08-28 1990-03-01 ブリテツシユ・テレコミユニケイシヨンズ・パブリツク・リミテツド・カンパニー コード化通信システム
EP0316112A3 (de) * 1987-11-05 1989-05-31 AT&T Corp. Anwendung von statischen und dynamischen Spektralinformationen in Spracherkennungssystemen
US5359696A (en) * 1988-06-28 1994-10-25 Motorola Inc. Digital speech coder having improved sub-sample resolution long-term predictor
IT1224453B (it) * 1988-09-28 1990-10-04 Sip Procedimento e dispositivo per la codifica decodifica di segnali vocali con l'impiego di un eccitazione a impulsi multipli
CA2005115C (en) * 1989-01-17 1997-04-22 Juin-Hwey Chen Low-delay code-excited linear predictive coder for speech or audio
JPH02272500A (ja) * 1989-04-13 1990-11-07 Fujitsu Ltd コード駆動音声符号化方式
WO1990013112A1 (en) * 1989-04-25 1990-11-01 Kabushiki Kaisha Toshiba Voice encoder
DE68914147T2 (de) * 1989-06-07 1994-10-20 Ibm Sprachcodierer mit niedriger Datenrate und niedriger Verzögerung.
DE69026143T2 (de) * 1989-06-07 1996-08-22 Canon Kk Kodefehler korrigierende Vorhersage-Decodiervorrichtung
SG47028A1 (en) 1989-09-01 1998-03-20 Motorola Inc Digital speech coder having improved sub-sample resolution long-term predictor
JPH0398318A (ja) * 1989-09-11 1991-04-23 Fujitsu Ltd 音声符号化方式
US4980916A (en) 1989-10-26 1990-12-25 General Electric Company Method for improving speech quality in code excited linear predictive speech coding
US5073940A (en) * 1989-11-24 1991-12-17 General Electric Company Method for protecting multi-pulse coders from fading and random pattern bit errors
US5097507A (en) * 1989-12-22 1992-03-17 General Electric Company Fading bit error protection for digital cellular multi-pulse speech coder
US5148489A (en) * 1990-02-28 1992-09-15 Sri International Method for spectral estimation to improve noise robustness for speech recognition
US5235669A (en) * 1990-06-29 1993-08-10 At&T Laboratories Low-delay code-excited linear-predictive coding of wideband speech at 32 kbits/sec
JP2878796B2 (ja) * 1990-07-03 1999-04-05 国際電気株式会社 音声符号化器
US5293449A (en) * 1990-11-23 1994-03-08 Comsat Corporation Analysis-by-synthesis 2,4 kbps linear predictive speech codec
GB9105101D0 (en) * 1991-03-11 1991-04-24 British Telecomm Error burst detection
FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
CA2483322C (en) * 1991-06-11 2008-09-23 Qualcomm Incorporated Error masking in a variable rate vocoder
GB9118217D0 (en) * 1991-08-23 1991-10-09 British Telecomm Speech processing apparatus
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
FI90477C (fi) * 1992-03-23 1994-02-10 Nokia Mobile Phones Ltd Puhesignaalin laadun parannusmenetelmä lineaarista ennustusta käyttävään koodausjärjestelmään

Also Published As

Publication number Publication date
US5761635A (en) 1998-06-02
EP0623916A1 (de) 1994-11-09
FI932049A (fi) 1994-11-07
EP0623916B1 (de) 1999-07-14
JPH0728498A (ja) 1995-01-31
FI96248C (fi) 1996-05-27
DE69419453D1 (de) 1999-08-19
FI96248B (fi) 1996-02-15
FI932049A0 (fi) 1993-05-06

Similar Documents

Publication Publication Date Title
DE69227650T2 (de) Digitaler Sprachkodierer
DE69029120T2 (de) Stimmenkodierer
DE69309557T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE3244476C2 (de)
DE69932460T2 (de) Sprachkodierer/dekodierer
DE3854453T2 (de) CELP Vocoder und Anwendungsverfahren.
DE69227401T2 (de) Verfahren zum Kodieren und Dekodieren von Sprachsignalen
DE3874427T2 (de) Linearer praediktionsvocoder mit code-anregung.
DE69814517T2 (de) Sprachkodierung
DE68912692T2 (de) Zur Sprachqualitätsmodifizierung geeignetes Übertragungssystem durch Klassifizierung der Sprachsignale.
DE69420431T2 (de) Sprachkodierungssystem
DE19647298C2 (de) Kodiersystem
DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE69613360T2 (de) Linear-prädiktiver analyse-durch-synthese sprachkodierer
DE69705830T2 (de) Sprachverarbeitung
EP1979901B1 (de) Verfahren und anordnungen zur audiosignalkodierung
DE69029232T2 (de) System und Methode zur Sprachkodierung
DE69325237T2 (de) Verfahren zum Kodieren eines Sprachsignales
DE69329569T2 (de) Digitale Kodierung von Sprachsignalen
DE69734837T2 (de) Sprachkodierer, sprachdekodierer, sprachkodierungsmethode und sprachdekodierungsmethode
DE29825254U1 (de) Sprachcodierer und Sprachdecodierer
EP1193688A2 (de) Verfahren zur Ermittlung eines Eigenraums zur Darstellung einer Mehrzahl von Trainingssprechern
DE69610915T2 (de) Verfahren zur quantisierung des verstärkungsfaktors für die linear-prädiktive sprachkodierung mittels analyse-durch-synthese
DE69126062T2 (de) System zur Sprachcodierung und -decodierung
DE69017801T2 (de) Codierung unter Anwendung von beschränkter stochastischer Anregung.

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: BECKER, KURIG, STRAUS, 80336 MUENCHEN

8327 Change in the person/name/address of the patent owner

Owner name: QUALCOMM,INC.(N. D. GES. D. STAATES DELAWARE),, US

8327 Change in the person/name/address of the patent owner

Owner name: QUALCOMM INCORPORATED (N.D. GES. D. STAATES DE, US