DE69419453T2 - Verfahren und Vorrichtung zum Einbau eines langterm Synthesefilters - Google Patents
Verfahren und Vorrichtung zum Einbau eines langterm SynthesefiltersInfo
- 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
Links
- 238000003786 synthesis reaction Methods 0.000 title claims description 102
- 230000015572 biosynthetic process Effects 0.000 title claims description 83
- 238000000034 method Methods 0.000 title claims description 46
- 230000007774 longterm Effects 0.000 title claims description 29
- 230000015654 memory Effects 0.000 claims description 45
- 230000003044 adaptive effect Effects 0.000 claims description 40
- 238000005457 optimization Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 230000006978 adaptation Effects 0.000 claims description 5
- 238000001308 synthesis method Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 2
- 230000003321 amplification Effects 0.000 claims 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims 3
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000005284 excitation Effects 0.000 description 76
- 239000013598 vector Substances 0.000 description 28
- 238000010586 diagram Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/09—Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H21/00—Adaptive networks
- H03H21/0012—Digital adaptive filters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch 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 ≥ 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 ≥ 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 ≤ 2 gilt, erhält i den Wert null, und wenn 2 < L/D ≤ 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.
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)
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)
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 |
-
1993
- 1993-05-06 FI FI932049A patent/FI96248C/fi active
-
1994
- 1994-05-06 DE DE69419453T patent/DE69419453T2/de not_active Expired - Lifetime
- 1994-05-06 EP EP94303292A patent/EP0623916B1/de not_active Expired - Lifetime
- 1994-05-06 JP JP6094561A patent/JPH0728498A/ja not_active Ceased
-
1996
- 1996-04-29 US US08/639,718 patent/US5761635A/en not_active Expired - Lifetime
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 |