DE69609592T2 - Verfahren und vorrichtung zur signalprädiktion für einen sprachkodierer - Google Patents

Verfahren und vorrichtung zur signalprädiktion für einen sprachkodierer

Info

Publication number
DE69609592T2
DE69609592T2 DE69609592T DE69609592T DE69609592T2 DE 69609592 T2 DE69609592 T2 DE 69609592T2 DE 69609592 T DE69609592 T DE 69609592T DE 69609592 T DE69609592 T DE 69609592T DE 69609592 T2 DE69609592 T2 DE 69609592T2
Authority
DE
Germany
Prior art keywords
vector
vectors
optimal
signal
sub
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 - Fee Related
Application number
DE69609592T
Other languages
English (en)
Other versions
DE69609592D1 (de
Inventor
Jacques Paulin
Bertrand Ravera
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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
Priority claimed from FR9511937A external-priority patent/FR2739964A1/fr
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69609592D1 publication Critical patent/DE69609592D1/de
Application granted granted Critical
Publication of DE69609592T2 publication Critical patent/DE69609592T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G10L2019/0001Codebooks
    • G10L2019/0011Long term prediction filters, i.e. pitch estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Prädiktionsverfahren des vektoriellen Restsignals oder Restvektors kurzfristiger Analyse in einem sogenannten CELP- Sprachkodierer, wobei das besagte Signal die Periodizitätsinformation enthält, vorhanden in einem zu kodierenden ursprünglichen Lautsignal, aufgeteilt in aufeinanderfolgende Unterraster, und die besagte Prädiktion anhand von optimalen prädiktiven Stimulationen für das vorhergehende Unterraster durchgeführt wird. Sie betrifft zugleich, in einem sogenannten CELP-Sprachkodierer mit einerseits einem kurzfristigen Analysefilter, der ein ursprüngliches zu kodierendes Lautsignal erhält, aufgeteilt in vier aufeinanderfolgende Unterraster, und ein vektorielles Restsignal abgibt, zur Definition der im ursprünglichen Lautsignal vorhandenen Periodizität, und andererseits eine Prädiktionsvorrichtung dieses Restsignals und eine Bestimmungsschaltung des Prädiktionsfehlers über die Differenz zwischen diesem vektoriellen Restsignal und dem prädiktiven vektoriellen Signal, insbesondere die besagte Prädiktionsvorrichtung.
  • Die von einem Stimmorgan ausgehende Sprache bildet ein Lautsignal, das zwei verschiedene Eigenschaften aufweist: Einerseits die mit dem Wahrnehmungsmechanismus dieses Signals vom menschlichen Gehörorgan verbundenen (endlicher Frequenzbereich, endliche Frequenzauflösung, Empfindlichkeit gegenüber Resonanzfrequenzen, Unempfindlichkeit gegenüber der Phase der Frequenzkomponenten des Signals usw.), und andererseits die mit dem Funktionsmechanismus des Stimmorgans verbundenen (Pseudo-Periodizität des Schalls, Resonanzstruktur des Signals usw.). Die Sprachaussage an sich kann als die Verbindung einer inhaltlichen Information und einer sogenannten zusätzlichen Information des Ausdrucks betrachtet werden, der die individuellen akustischen Darstellungsvariationen der Nachricht ausdrückt. Es ist eindeutig, daß eine effiziente Übermittlung einer solchen Nachricht zweifellos die Definition eines Klangtreuekriteriums einbeziehen würde. Allgemein ist es jedoch realistischer, sich mit der Definition eines Wahrnehmungskriteriums zufriedenzugeben, das die Erkennung fehlender Wahrnehmungsunterschiede zwischen einer übermittelten Nachricht und dem entsprechenden erhaltenen Signal ermöglicht.
  • Tatsächlich wird das Lautsignal über Variationen des Luftdrucks gebildet, bewirkt im Kehlkopf unter der Wirkung des Atmungssystems, das die zum Erzeugen der Sprache notwendige Energie liefert. Der aus den Lungen kommende Luftstrom wird auf eine sogenannte Grundfrequenz Fo moduliert, die mit der Erzeugung der Vokale verbunden wird. Diese beim Mann zwischen ca. 70 und 150 Hertz und bei der Frau zwischen ca. 150 und 400 Hertz variierende Frequenz charakterisiert die sogenannten stimmhaften Laute (ein Darstellungsbeispiel der Amplitude A eines stimmhaften Lautes über den Zeitfaktor t wird auf Fig. 1 gegeben). Der Luftstrom durch den Kehlkopf versetzt dann die Resonanzhöhlen in bestimmte Schwingungen, deren Form jeweiligen Frequenzen F1, F2, F&sub3; usw. mit der Bezeichnung Formans entsprechen. Das Lautsignal enthält auch Signale, die nicht die Kohärenz der stimmhaften Laute aufweisen, sondern Geräuschen ähneln, die von einer Quelle ohne eigene Frequenz erzeugt werden und nicht die dem Kehlkopf eigenen Frequenzen stimulieren (diese Laute sind mit dem Erzeugen der meisten Konsonanten verbunden). Die Charakteristiken des Lautsignals können über eine Spektralanalyse veranschaulicht werden, die zeigt, daß das geäußerte Spektrum einerseits einen Spektrallinienteil (periodische Stimulationen) zur Erzeugung der stimmhaften Laute, und andererseits einen kontinuierlichen Spektrumsteil (inkohärente Stimulationen) zur Erzeugung der nicht stimmhaften Laute enthält.
  • Eine genauere Analyse eines Lautsignals zeigt definitiv, daß seine Verarbeitung für eine klangtreue Übertragung des für ihn stehenden Frequenzbereichs im akustischen Bereich zur Handhabung eines beträchtlichen Datenflusses führt. Daher wurden Sprachanalysetechniken entwickelt, um diesen Datenfluß beachtlich zu reduzieren. Mit der Beseitigung der so erhaltenen Redundanzen kann das ursprünglich analoge Lautsignal dann nach der Digitalisierung aufgrund der erreichten Kompressionsrate auf ein Volumen komprimiert werden, das seine Übertragung über Leitungen mit einer derzeit sehr geringen Übertragungsleistung ermöglicht.
  • In bezug auf die Komprimierung von Lautsignalen initiierte die Internationale Fernmelde-Union vor kurzem, im Rahmen der im Fernmeldewesen verwendeten sehr geringen Übertragungsleistung, ein Empfehlungsprojekt ("Draft Recommendation G.732 - Dual rate speach coder for multimedia telecommunication transmitting at 5.3 and 6.3 kBits/s", ITU, Study Group 15, 1995, 10. "LBC Meeting", Newton, Ma., USA) zur Definition einer Norm für einen Sprachkodierer.
  • Dieser Kodierer gründet auf dem sogenannten Prinzip der Analyse durch Synthese (in englisch: linear prediction analysis-by-synthesis coding), die einerseits einen Analyseschritt zur Bestimmung der Koeffizienten des Synthesefilters und andererseits einen Schritt der Analyse durch Synthese umfaßt, die im Finden oder Berechnen einer Stimulationssequenz zur Minimierung eines bestimmten Fehlerkriteriums besteht (oft wird das am geringsten quadratische Kriterium verwendet). Die in dem erwähnten Normierungsprojekt aufgeführte sogenannte kodestimulierte lineare Prädiktivkodierung (in englisch: Code Excited Linear Predictive encoding oder CELP-Kodierung als in der weiteren Beschreibung verwendeter Ausdruck) gründet auf einem vereinfachten Modell der Spracherzeugungsform, nach dem das Lautsignal in erster Näherung über einen kurzfristigen (Kehlkopf) und einen langfristigen (Sprachquelle) Korrelationsfilter mit einem Stimulationssignal als Eingang modelliert werden kann.
  • Es gibt sehr viele Dokumente mit detaillierten Beschreibungen von kodestimulierten Prädiktivkodierern, wie z. B. in dem Dokument "Digital audio coding for visual communications", P. Noll, Proceedings of the IEEE, Band 83, Nr. 6, Juni 1995. Bei allen CELP-Kodierern wird eine sogenannter perzeptive Filterung verwendet, und das weiter oben erwähnte Empfehlungsprojekt G.723 verwendet zudem eine sogenannte harmonische Filterung. Diese Filterungen, die nicht im Bereich der Erfindung liegen, werden in der weiteren Beschreibung nicht erwähnt. In dem Kodierer besteht daher die kurzfristige Analyse aus einer linearen Prädiktionsfilterung mit der Bezeichnung LPC (in englisch: linear predictive coding, mit der allgemeinen Bezeichnung A(z), mit A(z) = 1 - akz-k (n = 10 im Falle der Empfehlung G.723), während die langfristige Analyse eine Filterung mit der Bezeichnung LPT (in englisch: long term prediction) eine Synthesefilterung S(z) = 1/A(z) verwendet, mit einer Quanitfizierung der Koeffizienten ak von A(z).
  • Die kurzfristige Analyse gründet auf einer prädiktiven Analyse, bei der die umgesetzte Grundidee darin besteht, für ein bekanntes eingehendes Lautsignal oder beobachtetes Signal s(n) (der Index n bezeichnet den Rang des Musters) einen Filter zu finden, der, stimuliert durch ein Stimulationssignal x(n), ein so nahe wie möglich bei s(n) liegendes prädiktives Signal p(n) abgeben wird und was es folglich ermöglicht, über die Differenz zwischen s(n) und p(n) einen möglichst geringen Restfehler e(n) zu erhalten. Das bei der kurzfristigen Analyse umgesetzte Prädiktionsverfahren ist linear, denn jedes Muster s(n) des ursprünglichen zu übertragenden Lautsignals kann prädiktiv sein (Signal p(n)), in der Form einer Darstellung in einer linearen Kombination einer bestimmten Anzahl (z. B. zehn) an vorhergehenden Mustern, was z. B. folgendermaßen ausgedrückt wird:
  • p(n) ak.s(n - k) (1)
  • Für eine Anzahl von N Mustern gleich z. B. 10 wird dieser Ausdruck:
  • p(n) = a&sub1;.s(n - 1) + a&sub2;.s(n - 2) + .... + a&sub1;&sub0;.s(n - 10) (2)
  • Dies entspricht der Aussage, daß das prädiktive Signal p(n) von einem Filter abgegeben wird, dessen Koeffizienten ak (a&sub1; bis a&sub1;&sub0; beim Beispiel des Ausdrucks (2)) berechnet werden, um den Prädiktionsfehler e(n) = s(n) - p(n) zu minimieren (allgemein verwendet man für die Minimierung des erhaltenen Fehlers das am geringsten quadratische Verfahren).
  • Der in dem Dokument G.723 beschriebene, weiter oben erwähnte Sprachkodierer erhält ein aus Blöcken oder Rastern gebildetes Signal mit 240 Mustern und einer Musternahmefrequenz von 8 kHz, und für jedes Raster wird eine Aufteilung in vier Unterraster zu jeweils 60 Mustern vorausgesetzt. Wenn man für ein bekanntes, zu übertragendes Signals s(n) folglich einen Filter 1/A(z) sucht, einen sogenannten Synthesefilter, der, auf ein Stimulationssignal x(n) angewandt, den Erhalt eines so nahe am Musternahmesignal s(n) liegenden Signals p(n) ermöglicht, entspricht dies dem, einen Filter A(z) zu suchen, einen sogenannten Analysefilter, dessen Koeffizienten derart sind, daß das Ausgangssignal des Filters so bereinigt wie möglich ist, wenn das zu übertragende Signal auf diesen Filter trifft (im Idealfall wäre das Ausgangssignal ein völlig reiner Laut). Anstatt das Lautsignal zu übertragen genügt es dann, für die spätere Wiederherstellung die Koeffizienten des Filters A(z) zu übertragen (diese Koeffizienten beanspruchen weniger Kodierbits als für die Übertragung des Prädiktionsfehlers oder des Signals selbst erforderlich wären).
  • Der obenerwähnte CELP-Kodierer beinhaltet folglich eine solche kurzfristige Filteranalyse, die das zu übertragende Lautsignal erhält, und gibt im Idealfall einen reinen Laut wieder. Ist er dies nicht, gibt er ein nicht völlig bereinigtes Restsignal e(n) ab: Dieses geschmälerte Signal enthält noch die Information der Periodizität des stimmhaften Teils des Lautsignals und wird selbst zum Ziel- oder Vektorsignal (n), das mit dem vorgenannten langfristigen Analysefilter (t(n) = e(n)) zu modellieren ist.
  • Definitiv muß man in einem CELP-Kodierer folglich zwei Prädiktionssorten unterscheiden. Die erste, sogenannte kurzfristige (in englisch: short term analysis), eliminiert die Korrelation zwischen angrenzenden Mustern: Ihr Ziel ist die Definition der geeignetsten Koeffizienten des Eingangsfilters, um nach der Filterung des bekannten Signals den Erhalt eines so nahe am bereinigten Laut liegenden Restsignals zu erhalten. Die zweite (die weitere Beschreibung der Erfindung betrifft nur diesen zweiten Prädiktionstyp), sogenannte langfristige (in englisch: long term prediction), an jedem Untermuster vorgenommene, nutzt die Restinformation der Periodizität der stimmhaften Laute in folgender Relation (3):
  • p(n) = β. t(n - OLP) (3)
  • In diesem Ausdruck bezeichnen (3), t(.) und p(.) jeweils das in dem zu modellierenden Signal betroffene Muster und das Prädiktionsmuster, während β ein Leistungswert ist und OLP (in englisch: Open Loop Pitch) die mit Periode bezeichnete Größe der Stimmhaftigkeit in offener Schleife bestimmt, charakteristisch für die Periodizität des Signals. Die Bestimmung der Periode OLP und der Leistung β reichen aus, um die vom Ausdruck (3) dargestellte Prädiktion umzusetzen.
  • Beim Schreiben des Ausdrucks (3) stellt man fest, daß diese Bestimmung die Form einer direkten Abhängigkeit hat: Bis auf einen Leistungsfaktor ist das prädiktive Muster gleich mit einem der bereits vorgekommenen Muster.
  • Tatsächlich ist das verwendete Prinzip noch allgemeiner. Um diesen Wert, der der Wert der direkten; Abhängigkeit wäre, bildet man eine komplexere Relation in der Form des folgenden Ausdrucks (4), für z. B. einen Prädikator der Ordnung 5:
  • p(n) = β(k).t(n - OLP + k) (4)
  • In einem CELP-Kodierer, und insbesondere im Falle ein kodierer Gegenstand der weiter oben erwähnten Norm ist, wird eine solche Prädiktion mit Hilfe eines als flexibles Wörterbuch bezeichneten Speicher vorgenommen. Dieses flexible Wörterbuch wird aus dem Speicher der optimalen Stimulationsvektoren des vorhergehenden Unterrasters gebildet, in jedem Unterraster teilweise aktualisiert. Es wird bezüglich der geraden Unterraster (für einen Prädikator der Ordnung 5) aus drei Gruppen zu fünf Vektoren und bezüglich der ungeraden Unterraster aus vier Gruppen zu fünf Vektoren gebildet. Jede dieser Gruppen zu fünf Vektoren werden im folgenden "V-Vektor" bezeichnet. Die erste Komponente des ersten Vektors jedes V-Vektors wird mit der Versetzung um (OLP - 2 + δ) zum Vorhergehenden erhalten, mit dem Wissen, daß 8 bei den geraden Unterrastern die Werte (-1, 0, 1), und bei den ungeraden Unterrastern die Werte (- 1, 0, 1, 2) haben kann. Die vier anderen Vektoren jedes V-Vektors werden mit Hilfe des ersten Vektors mit der aufeinanderfolgenden Versetzung eines Musters in Richtung der kommenden Zeit erhalten.
  • Die dem Ausdruck (4) entsprechende Operation ist folglich eine Prädiktion mit einer linearen Musterverbindung, im Laufe derer man die Suche nach dem Lösungsvektor mit der Variierung der Leistung β verfeinert, z. B., im Falle des Projekts G.723, indem man ihr fünf verschiedene Werte gibt ( ist der mit den fünf Werten gebildete Leistungsvektor), und zugleich die Größe OLP um einen geringen Wert von δ anpaßt. Die Auswahl des bestmöglichen Lösungsvektors im Laufe dieser Suche wird vorgenommen, indem in den Bestimmungsverfahrensablauf ein Minimierungschritt einbezogen wird, im Sinne der geringsten Quadrate, der Differenz zwischen dem Ausgangsvektor (n) des Analysefilters (dessen Koeffizienten man überträgt) und den aus der Umsetzung des Ausdrucks (4) resultierenden Lösungsvektoren. Schließlich, da ein CELP-Kodierer an seinem Eingang den Analysefilter enthält, der den zu übertragenen Sprachlaut erhielt und nur noch ein Restsignal abgibt, das die Periodizitätsinformation dieses ursprünglichen Sprachlauts bildet, ist es dieses geschmälerte Signal t(n), für das die nachstehend in bezug auf Fig. 2 erklärte Prädiktion umgesetzt wird. Das dynamische Wörterbuch enthält folglich die für die Bildung einer Näherung dieses Vektors (n) möglichen Stimulationsvektoren.
  • Fig. 2 zeigt im Falle des Projekts G723 ein Beispiel einer Prädiktionsvorrichtung, die die Bestimmung der soeben beschriebenen Umsetzungsprinzipien ermöglicht. Diese Vorrichtung enthält zuerst eine Schaltung 20 zum Speichern der Stimulationsvektoren (d. h. das obenerwähnte dynamische Wörterbuch), gebildet aus der optimalen Stimulation des vorhergehenden Unterrasters, d. h. der bei einer vorhergehenden Umsetzung desselben Prädiktionsverfahrens für vorhergehende Muster ausgewählten Stimulationen. Um den Wert des Leistungsvektors sowie den der Größe OPL + δ = CLP (ein englisch: Closed Loop Pitch) zu finden, wird die Schaltung 20, im Falle man sich in einem geraden Unterraster befindet und 8 z. B. die drei Werte - 1, 0 und + 1 nimmt (wie bei dem auf Fig. 2 dargestellten Fall), von Wegen 30 gefolgt, hier drei identische Wege 30a, 30b, 30c (die Schaltung 20 wird von vier identischen Wegen mit ähnlichen Verweisen gefolgt, im Falle man sich in einem ungeraden Unterraster befindet, wobei 8 dann die vier Werte -1, 0, +1, +2 nimmt).
  • Jeder dieser Wege (je nach Fall dieser drei oder vier Wege beim beschriebenen Beispiel, wobei diese Zahlen keine Begrenzung darstellen) wird vom V-Vektor des dynamischen Wörterbuchs verarbeitet, was dem Schritt 8 des betrachteten Weges entspricht, und enthält zu diesem Zweck in Serie zuerst einen Filter 31, mit als Antwort die impulsive Antwort des (weiter oben definierten) Synthesefilters. Daraufhin ist eine Schaltung 32, die ebenfalls den zu modellierenden Zielvektor (n) erhält, für die Berechnung eines Vektors mit zwanzig Komponenten (δ) vorgesehen, gebildet aus fünf Korrelationsausdrücken zwischen den gefilterten Vektoren und dem Restvektor (in englisch: cross-products), erhalten aus den Skaldenprodukten der fünf gefilterteo Vektoren des dynamischen Wörterbuchs mit dem Zielvektor t (n), aus fünf Energieausdrücken, erhalten aus den Skaldenprodukten der fünf gefilterten Vektoren des dynamischen Wörterbuchs mit sich selbst, und zehn Korrelationsaudrücken, paarweise zwischen den gefilterten Vektoren. Anhand dieser Korrelationen ist es möglich, zu bestimmen, in welchem Maße der Restvektor oder Zielvektor (n) anhand der V-Vektoren des dynamischen Wörterbuchs modelliert werden kann. Die Leistungen, die quantifiziert sind, kommen aus einem Speicher 40 oder einer Quantifikationstabelle, die die möglichen Werte für die verschiedenen Leistungen enthalten (170 bis 5,3 kBits/s, und 85 oder 170 bis 6,3 kBits/s, die 170 Vektoren der im einen oder anderen Fall verwendeten Tabelle sind dann dieselben). Die Informationen in bezug auf die Leistungen werden aus dieser Quantifikationstabelle in der Form von Vektoren gegeben, die (wie zuvor) jeweils zwanzig folgendermaßen definierte Ausdrücke aufweisen: Fünf Leistungswerte, fünf Leistungswerte gleich dem Quadrat dieser Leistungen, zehn Werte entsprechend den zehn paarweisen Produkten dieser fünf Leistungswerte.
  • Die für jeden Wert von δ vorzunehmende Minimierung des Prädiktionsfehlers (d. h. in jedem der drei oder vier Wege: Beim beschriebenen Beispiel für die drei Werte δ = -1, 0, +1 oder jeweils die vier Werte δ = -1, 0, 1, 2) entsprechen folgendem Ausdruck (5):
  • ε = Min ( e²(n)) = Min [t(n)- β(k).f(n - OLP + k)]² (5)
  • (wobei n = 0 bis 59 für z. B. ein Unterraster mit sechzig Mustern, und f(.) = das optimal vom Synthesefilter durchgefilterte Stimulationsmuster) wird in einer Schaltung 33 zur Suche des maximalen Werts der Skalarprodukte des Vektors (6) für jeden der 170 (oder 85) der Vektoren der Quantifikationstabelle vorgenommen. Tatsächlich ist zu bemerken, daß der im Sinne des Ausdrucks (5) optimale Leistungsvektor derjenige ist, der die Ableitung von 6 in bezug auf jede der Komponenten des Vektors annulliert und der somit das Skalarprodukt von (δ) über einen Vektor der Quantifikationstabelle maximiert. Am Ausgang der Schaltungen 33 ermöglicht eine Schaltung 50 dann die Auswahl des maximalen Skalarproduktes unter den drei oder vier am Ausgang der drei (oder vier) Schaltungen verfügbaren Skalarprodukten, wobei diesem maximalen Skalarprodukt ein optimaler Wert des (im Speicher 110 abgelegten) Schrittes δ und ein optimaler Wert des Leistungsvektors entspricht. Der optimale Wert von δ ist selbstverständlich einer der drei (oder vier) in den drei (oder vier) Wegen verwendeter Wert, und der so gewählte Wert ermöglicht die Steuerung eines Schalters 60 mit dementsprechend vielen Eingängen wie Wegen (drei oder vier). Dieser am Ausgang der Filter 31 vorgesehene Schalter ermöglicht die Auswahl des gefilterten V-Vektors, der dem gesuchten Lösungsvektor am besten entspricht.
  • Dieser ausgewählte gefilterte Vektor wird dann an den Eingang eines Verstärkers 70 geführt, wo der aus der Auswahlschaltung 50 kommende Leistungsvektor in einem am Ausgang dieser Schaltung 50 vorhandenen Speicher 80 abgelegt wurde. Der so verstärkte optimale gefilterte V-Vektor ist der Prädiktionsvektor (n), der an die negative Klemme eines Subtrahierers 90 geleitet wird, der an seiner positiven Klemme den Vektor (n) vom Ausgang des Analysefilters des CELP-Kodierers erhält. Dieser Subtrahierer 90 liefert ein Fehlersignal (n) = (n) - (n).
  • Die mit einem solchen Sprachkodierer erhaltene Qualität ist (gemäß der Beschreibung des Dokuments G723) größtenteils auf die Analysefeinheit dieser langfristigen Korrelationssuche in geschossener Schleife zurückzuführen, die mit Hilfe der das dynamische Wörterbuch bildenden Schaltung 20 vorgenommen wird. Diese Qualität wird jedoch nur zum Preis einer sehr großen Komplexität erhalten, wie bei den folgenden, bei der Umsetzung des Kodierers einbezogenen Operationen eindeutig ersichtlich.
  • Ein erstes Ziel der Erfindung ist es, ein einfacheres Prädiktionsverfahren mit einer zum zuvor beschriebenen quasi gleichwertigen Qualität vorzuschlagen.
  • Zu diesem Zweck betrifft die Erfindung ein Prädiktionsverfahren, das für jedes der besagten Unterraster folgende Schritte umfaßt:
  • (1) Für verschiedene Werte eines sogenannten Bestimmungsschrittes δ der besagten Periodizitätsinformation und hinsichtlich der Auswahl, anhand der besagten, zuvor beschriebenen optimalen Stimulationen, eines optimalen Leistungsvektors opt und des entsprechenden Wertes des optimalen Schrittes, einen Durchführungsschritt in Serie, und für jeden der Werte von δ, folgende Unterschritte:
  • (a) einen Unterschritt der Filterung;
  • (b) einen Unterschritt der Berechnung der Korrelationsausdrücke zwischen den gefilterten Vektoren und dem Restvektor, der Energieausdrücke der gefilterten Vektoren und der Korrelationsausdrücke zwischen den paarweise genommenen gefilterten Vektoren zur Abgabe eines ersten Vektors (δ);
  • (c) einen Unterschritt der Auswahl zur Bestimmung eines ursprünglichen Leistungsvektors (δ)init, der Quadrate der Komponenten des besagten Vektors und der Produkte dieser selben paarweise genommenen Komponenten zur Abgabe eines zweiten Vektors T (δ)init;
  • (2) ein Schritt der Auswahl des besagten optimalen Wertes des Schrittes δ, wobei dieser dem Weg entspricht, für den das Skalarprodukt der besagten ersten und zweiten Vektoren (δ) und T (δ)init maximal ist, und, für diesen optimalen Wert von (δ), zur Auswahl in einer sogenannten Quantifikationstabelle des besagten optimalen Leistungsvektors opt, der derjenige der Tabelle ist, für den das Skalarprodukt des besagten ersten Vektors (δ) für jeden der Vektoren der Tabelle maximal ist;
  • (3) ein Schritt zur Berechnung des besagten prädiktiven vektoriellen Restsignals oder prädiktiven Restvektors anhand einerseits der gefilterten Stimulationsvektoren des vorhergehenden Unterrasters, das dem besagten, zuvor ausgewählten optimalen Wert von δ entspricht, und andererseits des besagten ausgewählten optimalen Leistungsvektors.
  • Ein anderes Ziel der Erfindung ist es, einen zu dem soeben beschriebenen ähnlichen Sprachkodierer vorzuschlagen, doch mit einer verminderten Komplexität und unter Bewahrung von quasi gleichwertigen Qualitäten.
  • Zu diesem Zweck betrifft die Erfindung in einem Kodierer wie dem der einleitenden Beschreibung eine aus folgendem bestehende Prädiktionsvorrichtung:
  • (A) Eine Schaltung zum Speichern von Vektoren, ein sogenanntes dynamisches Wörterbuch, das für das vorhergehende Raster optimale prädiktive Stimulationen enthält;
  • (B) am Ausgang der besagten Speicherschaltung eine Vielzahl an Wegen zur Berechnung eines Vektors T (δ)init, jeweils parallel für einen bestimmten Wert eines sogenannten Bestimmungsschritts δ der Periodizitätsinformation vorgesehen, die jeweils selbst in Serie enthalten:
  • (a) einen Filter mit einer Impulsreaktion gleich der des Synthesefilters, ausgehend von dem besagten Analysefilter gebildet;
  • (b) eine Schaltung zur Berechnung der Korrelationsausdrücke zwischen den gefilterten Vektoren, aus dem besagten dynamischen Wörterbuch kommend, und dem besagten Restvektor oder Zielvektor, von Energieausdrücken der gefilterten Vektoren und Korrelationsausdrücken zwischen den paarweise genommenen gefilterten Vektoren;
  • (c) eine Schaltung zur Berechnung pro Weg des besagten Vektors T (δ)init, dessen Komponenten einerseits die Komponenten eines ursprünglichen Leistungsvektors und andererseits die Quadrate der Komponenten des besagten Vektors sind, und schließlich der Produkte dieser selben, paarweise genommenen Komponenten;
  • (C) ein Unterensemble zur Berechnung und Speicherung des optimalen Wertes des besagten Schrittes;
  • (D) einen Speicher, eine sogenannte Quantifikationstabelle, der die Komponenten der möglichen Leistungsvektoren sowie ihre Quadrate und ihre paarweise Produkte enthält;
  • (E) einen Schalter zur Auswahl, in Verbindung mit dem besagten optimalen Wert, des Schrittes des entsprechenden optimalen Vektors (δ), bestehend aus Korrelationsausdrücken, erhalten durch die Skalarprodukte der gefilterten Vektoren über den Restvektor, von Energieausdrücken, erhalten durch die Skalarprodukte der gefilterten Vektoren selbst, und von Korrelationsausdrücken, erhalten durch die paarweisen Skalarprodukte der gefilterten Vektoren;
  • (F) eine Schaltung zur Auswahl in der besagten Quantifikationstabelle der möglichen Leistungsvektoren;
  • (G) einen Speicher zum Ablegen des so gewählten Leistungsvektor;
  • (H) am Ausgang dieses Speichers einen Verstärker des Ausgangs des nach dem besagten Wert des optimalen Schrittes von einem Schalter ausgewählten Filters;
  • (I) einen Subtrahierer zur Bestimmung des besagten Prädiktionsfehlers über die Differenz zwischen dem besagten Restsignal (n) und dem aus dem besagten Verstärker kommenden prädiktiven Signal (n).
  • Während in dem Dokument G723 der Parcours der Tabelle zur Quantifikation der Leistungen sehr komplex ist, da er 14mal pro Raster zu 240 Mustern vorgenommen wird, ermöglicht die der Erfindung entsprechende Lösung, einen weitaus einfacheren Weg zu beschreiten (vier bei einem Kodierer nach dem Dokument), bei einer quasi unmerklichen Verminderung der Qualität. Tatsächlich ist die Grundidee der hier vorgeschlagenen Struktur folgende: Mit der vereinfachenden Hypothese, daß die Korrelationen zwischen den Prädikatoren eliminiert sind oder, was diesem entspricht, daß die Korrelationen zwischen paarweise genommenen, zuvor definierten gefilterten Vektoren gleich Null sind, kann man für jedes Unterraster und für jeden entsprechenden Weg mit einem Schritt δ ohne kostspielige Matrizeninversionsberechnung einen ursprünglichen Leistungsvektor (δ)init definieren. Die Komponenten dieses Vektors sind dann für den betrachteten Wert die aufeinanderfolgenden Verhältnisse der Korrelationsausdrücke zwischen den gefilterten Vektoren und dem Zielvektor sowie der Energieausdrücke des zuvor definierten Vektors (δ).
  • Die Daten für jeden Weg eines ursprünglichen Leistungsvektors (δ)init ermöglicht dann die Bestimmung eines ursprünglichen (und suboptimalen) Wertes von δ, der nur einen Durchgang der Quantifikationstabelle pro Unterraster erfordert. Tatsächlich wird das Auswahlkriterium des Schrittes δ zur Minimierung des Prädiktionsfehlers direkt der zuvor gemachten Bemerkung entnommen, nach der der im Sinne des Ausdrucks (5) optimale Leistungsvektor derjenige ist, der die Ableitung dieses Ausdrucks in bezug auf jede Komponente des Vektors annulliert: Der ursprüngliche optimale Schritt, für jedes Unterraster von dem am Ausgang der Wege vorgesehenen Rechen-Unterensemble vorgesehen, wird dann der, der einen der drei oder vier, je nachdem, ob das Unterraster gerade oder ungerade ist, Skalarprodukte von T (δ)init mit (δ) maximiert, bestimmt durch die in jedem Weg vorgesehene Rechenschaltung nach der Berechnung von (δ) (man erinnere hier daran, daß (δ) zuvor definiert wurde, während T (δ)init ein Vektor ist, der dieselbe Anzahl Komponenten wie (δ) enthält, d. h. im vorliegenden Fall: Die fünf Komponenten des ursprünglichen Leistungsvektors (δ)init, die fünf Quadrate der Komponenten dieses Vektors und die zehn Produkte dieser selben paarweise genommenen Komponenten). Der optimale Leistungsvektor für jedes Unterraster wird dann mit Hilfe der am Ausgang der Quantifikationstabelle vorgesehenen Schaltung erhalten, die auch die Suche nach dem maximalen Wert des Skalarproduktes des Vektors (δ) vornimmt, entsprechend dem optimalen Wert des Schrittes δ, der soeben für jeden der Vektoren (hier 170 oder 85 je nach Leistung) der besagten Tabelle berechnet wurde. Die Bestimmung dieses optimalen Leistungsvektors erfordert nur noch einen einzigen Durchgang der Quantifikationstabelle pro Unterraster, also vier pro Raster (anstatt drei oder vier pro Unterraster, je nachdem, ob das Unterraster gerade oder ungerade ist, also vierzehn pro Raster), was die Komplexität bemerkenswert vermindert.
  • Die Besonderheiten der Erfindung werden anhand der folgenden Beschreibung und der beigefügten Zeichnungen deutlicher veranschaulicht, die als nicht begrenzende Beispiele gegeben werden und von denen:
  • - Fig. 1 ein Darstellungsbeispiel der Amplitude des stimmhaften Lautes nach einem Zeitfaktor ist;
  • - die Fig. 2 und 3 eine Struktur einer Prädiktionsvorrichtung der Stimmhaftigkeitsperiode in geschlossener Schleife ist, jeweils im Falle des erwähnten Dokuments G723 und im Falle der vorliegenden Erfindung.
  • Die Prädiktionsvorrichtung nach der Erfindung gemäß der Darstellung auf Fig. 3 weist mit der der Fig. 2 gemeinsame Elemente auf, d. h. die Speicherschaltung 20 der möglichen Stimulationsvektoren (oder dynamische Wörterbücher), die Filter 31, die Rechenschaltungen 32 der Korrelations- und Energieausdrücke, den Speicher 40 (oder die Quantifikationstabelle), den Schalter 60, den Verstärker 70, den Speicher 80, den Subtrahierer 90 und den Speicher 110.
  • Die mit der Durchführungsform der Fig. 3 bewirkte Vereinfachung ist folgende. Mit der Wahl in jedem der jetzt 130a, 130b, 130c bezeichneten Wege eines ursprünglichen Leistungsvektors (δ)init ist es möglich, einen ursprünglichen Wert von δ zu bestimmen, wofür nur noch ein einziger Durchgang der Quantifikationstabelle (Speicher 40) pro Unterraster erforderlich ist (diese Wahl wird in drei oder vier Vorauswahlschaltungen 101 vorgenommen, je nach der Anzahl Wege). Diese Bestimmung des optimalen Schrittes δ wird für die so gewählten ursprünglichen Leistungsvektoren in einer Rechenschaltung 102 vorgenommen, und der Wert von δ, im Speicher 110 beibehalten, ermöglicht mit Hilfe eines Schalters 161 die Auswahl desjenigen Ausgangs der Rechenschaltung 32, der ihm entspricht. Die Suche des optimalen Leistungsvektors wird dann von der Auswahlschaltung 150 vorgenommen, und der so gewählte Vektor im Speicher 80 beibehalten. Der am Ausgang der Filter 31 vorgesehene Schalter 60, dessen Position von dem aus dem Speicher 110 kommenden Wert von δ gesteuert wird, leitet den gewählten gefilterten V-Vektor zum Verstärker 70. der so verstärkte optimale gefilterte V- Vektor ist der Prädiktionsvektor (n), wie auf der Fig. 2 gezeigt, zum Subtrahierer 90 geleitet.
  • Die so vorgenommene vereinfachte Durchführungsform verschlechtert die im Falle des Dokuments G723 erhaltene Qualität durchschnittlich nur um 0,2 dB, auf der Grundlage von 20 Sprachsignalen zu 12 s, jeweils von 20 verschiedenen Stimmen gesprochen. Diese Verschlechterung des durchschnittlichen Signal-Rausch-Verhältnisses (durchschnittliches SRV) ist nicht hörbar.

Claims (2)

1. Prädiktionsverfahren des vektoriellen Restsignals oder Restvektors kurzfristiger Analyse in einem sogenannten CELP-Sprachkodierer, wobei das besagte Signal die Periodizitätsinformation enthält, vorhanden in einem zu kodierenden ursprünglichen Lautsignal, aufgeteilt in aufeinanderfolgende Unterraster, und die besagte Prädiktion anhand von optimalen prädiktiven Stimulationen für das vorhergehende Unterraster durchgeführt wird, und das Verfahren für jedes der besagten Unterraster folgende Schritte umfaßt:
(1) Für verschiedene Werte eines sogenannten Bestimmungsschrittes δ der besagten Periodizitätsinformation und hinsichtlich der Auswahl, anhand der besagten, zuvor beschriebenen optimalen Stimulationen, eines optimalen Leistungsvektors opt und des entsprechenden Wertes des optimalen Schrittes, einen Durchführungsschritt in Serie, und für jeden der Werte von δ, folgende Unterschritte:
(a) einen Unterschritt der Filterung;
(b) einen Unterschritt der Berechnung der Korrelationsausdrücke zwischen den gefilterten Vektoren und dem Restvektor, der Energieausdrücke der gefilterten Vektoren und der Korrelationsausdrücke zwischen den paarweise genommenen gefilterten Vektoren zur Abgabe eines ersten Vektors (δ);
(c) einen Unterschritt der Auswahl zur Bestimmung eines ursprünglichen Leistungsvektors (δ)init, der Quadrate der Komponenten des besagten Vektors und der Produkte dieser selben paarweise genommenen Komponenten zur Abgabe eines zweiten Vektors T (δ)init;
(2) ein Schritt der Auswahl des besagten optimalen Wertes des Schrittes δ, wobei dieser dem Weg entspricht, für den das Skalarprodukt der besagten ersten und zweiten Vektoren (δ) und t (δ)init maximal ist, und, für diesen optimalen Wert von (δ), zur Auswahl in einer sogenannten Quantifikationstabelle des besagten optimalen Leistungsvektors opt, der derjenige der Tabelle ist, für den das Skalarprodukt des besagten ersten Vektors (δ) für jeden der Vektoren der Tabelle maximal ist;
(3) ein Schritt zur Berechnung des besagten prädiktiven vektoriellen Restsignals oder prädiktiven Restvektors anhand einerseits der gefilterten Stimulationsvektoren des vorhergehenden Unterrasters, das dem besagten, zuvor ausgewählten optimalen Wert von δ entspricht, und andererseits des besagten ausgewählten optimalen Leistungsvektors.
2. CELP-Sprachkodierer mit einerseits einem kurzfristigen Analysefilter, der ein ursprüngliches zu kodierendes Lautsignal erhält, aufgeteilt in vier aufeinanderfolgende Unterraster, und ein vektorielles Restsignal (n) abgibt, zur Definition der im ursprünglichen Lautsignal vorhandenen Periodizität, und andererseits eine Prädiktionsvorrichtung dieses Restsignals und eine Bestimmungsschaltung des Prädiktionsfehlers über die Differenz zwischen diesem vektoriellen Restsignal t (n) und dem prädiktiven vektoriellen Signal (n), wobei die besagte Prädiktionsvorrichtung enthält:
(A) Eine Schaltung zum Speichern von Vektoren (20), ein sogenanntes dynamisches Wörterbuch, das für das vorhergehende Raster optimale prädiktive Stimulationen enthält;
(B) am Ausgang der besagten Speicherschaltung eine Vielzahl an Wegen zur Berechnung (130a, 130b, 130c) eines Vektors T (δ)init, jeweils parallel für einen bestimmten Wert eines sogenannten Bestimmungsschritts δ der Periodizitätsinformation vorgesehen, die jeweils selbst in Serie enthalten:
(a) einen Filter (31) mit einer Impulsreaktion gleich der des Synthesefilters, ausgehend von dem besagten Analysefilter gebildet;
(b) eine Schaltung zur Berechnung (32) der Korrelationsausdrücke zwischen den gefilterten Vektoren, aus dem besagten dynamischen Wörterbuch kommend, und dem besagten Restvektor oder Zielvektor, von Energieausdrücken der gefilterten Vektoren und Korrelationsausdrücken zwischen den paarweise genommenen gefilterten Vektoren;
(c) eine Schaltung zur Vorauswahl pro Weg (101) des besagten Vektors (δ)init, dessen Komponenten einerseits die Komponenten eines ursprünglichen Leistungsvektors (δ)init und andererseits die Quadrate der Komponenten des besagten Vektors sind, und schließlich der Produkte dieser selben, paarweise genommenen Komponenten;
(C) ein Unterensemble zur Berechnung (102) und Speicherung (110) des optimalen Wertes des besagten Schrittes;
(D) einen Speicher, eine sogenannte Quantifikationstabelle (40), der die Komponenten der möglichen Leistungsvektoren sowie ihre Quadrate und ihre paarweise Produkte enthält;
(E) einen Schalter zur Auswahl (161), in Verbindung mit dem besagten optimalen Wert, des Schrittes des entsprechenden optimalen Vektors (δ), bestehend aus Korrelationsausdrücken, erhalten durch die Skalarprodukte der gefilterten Vektoren über den Restvektor, von Energieausdrücken, erhalten durch die Skalarprodukte der gefilterten Vektoren selbst, und von Korrelationsausdrücken, erhalten durch die paarweisen Skalarprodukte der gefilterten Vektoren;
(F) eine Schaltung zur Auswahl (150) in der besagten Quantifikationstabelle jedes der möglichen Leistungsvektoren;
(G) einen Speicher zum Ablegen (80) des so gewählten Leistungsvektor;
(H) am Ausgang dieses Speichers einen Verstärker (70) des Ausgangs des nach dem besagten Wert des optimalen Schrittes von einem Schalter ausgewählten Filters;
(I) einen Subtrahierer (90) zur Bestimmung des besagten Prädiktionsfehlers über die Differenz zwischen dem besagten Restsignal (n) und dem aus dem besagten Verstärker kommenden prädiktiven Signal (n).
DE69609592T 1995-10-11 1996-10-11 Verfahren und vorrichtung zur signalprädiktion für einen sprachkodierer Expired - Fee Related DE69609592T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9511937A FR2739964A1 (fr) 1995-10-11 1995-10-11 Dispositif de prediction de periode de voisement pour codeur de parole
EP96402030 1996-09-25
PCT/FR1996/001596 WO1997014139A1 (fr) 1995-10-11 1996-10-11 Methode et dispositif de prediction de signal pour un codeur de parole

Publications (2)

Publication Number Publication Date
DE69609592D1 DE69609592D1 (de) 2000-09-07
DE69609592T2 true DE69609592T2 (de) 2001-03-29

Family

ID=26144072

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69609592T Expired - Fee Related DE69609592T2 (de) 1995-10-11 1996-10-11 Verfahren und vorrichtung zur signalprädiktion für einen sprachkodierer

Country Status (4)

Country Link
EP (1) EP0796490B1 (de)
JP (1) JPH11500837A (de)
DE (1) DE69609592T2 (de)
WO (1) WO1997014139A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263347B2 (ja) * 1997-09-20 2002-03-04 松下電送システム株式会社 音声符号化装置及び音声符号化におけるピッチ予測方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
US5138661A (en) * 1990-11-13 1992-08-11 General Electric Company Linear predictive codeword excited speech synthesizer

Also Published As

Publication number Publication date
DE69609592D1 (de) 2000-09-07
EP0796490B1 (de) 2000-08-02
JPH11500837A (ja) 1999-01-19
EP0796490A1 (de) 1997-09-24
WO1997014139A1 (fr) 1997-04-17

Similar Documents

Publication Publication Date Title
DE69527410T2 (de) CELP-Koder und -Dekoder und Verfahren dazu
DE69521164T2 (de) System zum Kodieren und Dekodieren von Signalen
DE69031165T2 (de) System und methode zur text-sprache-umsetzung mit hilfe von kontextabhängigen vokalallophonen
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE19647298C2 (de) Kodiersystem
DE3854453T2 (de) CELP Vocoder und Anwendungsverfahren.
DE3874427T2 (de) Linearer praediktionsvocoder mit code-anregung.
DE69232112T2 (de) Vorrichtung zur Sprachsynthese
DE4492048C2 (de) Vektorquantisierungs-Verfahren
DE60029715T2 (de) Verfahren und anordnung zur verschleierung von rahmenausfall
DE69227650T2 (de) Digitaler Sprachkodierer
DE69634645T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE3853916T2 (de) Digitaler-sprachkodierer mit verbesserter vertoranregungsquelle.
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE69331079T2 (de) CELP-Vocoder
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE69013738T2 (de) Einrichtung zur Sprachcodierung.
DE69329569T2 (de) Digitale Kodierung von Sprachsignalen
DE69121411T2 (de) Methode und gerät zur codierung von analogen signalen
DE69730721T2 (de) Verfahren und vorrichtungen zur geräuschkonditionierung von signalen welche audioinformationen darstellen in komprimierter und digitalisierter form
EP1280138A1 (de) Verfahren zur Analyse von Audiosignalen
DE69033510T2 (de) Numerischer sprachkodierer mit verbesserter langzeitvorhersage durch subabtastauflösung
DE68917584T2 (de) Zur Sprachqualitätsverbesserung geeignetes Kodiergerät unter Anwendung einer Doppelanlage zur Pulserzeugung.
DE602004002312T2 (de) Verfahren und Vorrichtung zur Bestimmung von Formanten unter Benutzung eines Restsignalmodells
DE4491015C2 (de) Verfahren zum Erzeugen eines Spektralrauschbewertungsfilters zur Verwendung in einem Sprachcoder

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee