DE3834871C1 - Method for encoding speech - Google Patents

Method for encoding speech

Info

Publication number
DE3834871C1
DE3834871C1 DE19883834871 DE3834871A DE3834871C1 DE 3834871 C1 DE3834871 C1 DE 3834871C1 DE 19883834871 DE19883834871 DE 19883834871 DE 3834871 A DE3834871 A DE 3834871A DE 3834871 C1 DE3834871 C1 DE 3834871C1
Authority
DE
Germany
Prior art keywords
signal
filter
speech
synthesis filter
sampled
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
Application number
DE19883834871
Other languages
English (en)
Inventor
Joerg-Martin Dipl.-Ing. 7052 Schwaikheim De Mueller
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.)
Siemens AG
Original Assignee
ANT Nachrichtentechnik GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ANT Nachrichtentechnik GmbH filed Critical ANT Nachrichtentechnik GmbH
Priority to DE19883834871 priority Critical patent/DE3834871C1/de
Application granted granted Critical
Publication of DE3834871C1 publication Critical patent/DE3834871C1/de
Expired 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

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 Verwendung betrifft ein Verfahren zur Sprachkodierung unter Verwendung der Analyse-durch-Synthese-Methode gemäß Oberbegriff des Patentanspruches 1.
Solche Verfahren sind bekannt, beispielsweise aus dem Aufsatz von Fukui "Implementation of a multi-pulse speech codec with pitch prediction on a single chip floating-point signal processor", ICASSP 87, Dallas, Texas, S. 968 ff. (Literaturstelle 1), aus dem Aufsatz "Reducing computation in optimal amplitude multipulse coders" von Singhal in ICASSP 86, Tokio, S. 2363 ff. (Literaturstelle 2) oder aus dem Aufsatz "A study on pulse search algorithms for multipulse excited speech coder realization" von Ozawa, in IEEE Journal on selected areas in communications, Vol. SAC-4, No. 1, Januar 1986, S. 133 ff. (Literaturstelle 3).
Verfahren dieser Art gehören zur Klasse der sogenannten RELP-Coder, wobei für RELP Residual Excited Linear Prediction steht. Diesen Codern ist eine Prädikationsanalyse (LPC) des Eingangssignals gemeinsam; sie unterscheiden sich in der Weiterverarbeitung des sogenannten Residuums, dem Fehlersignal der LPC-Analyse. Die Verfahren unterteilt man in die drei Gruppen der Multipulse (MPULS)-, Regularpulse (RPULS)-, und (CELP)-Verfahren; im ersten Fall wird das Residuum durch eine vorgegebene Zahl von Impulsen ersetzt. Dieses "ausgedünnte" Residuum dient dann als Anregungssignal für das empfangsseitige LPC-Synthesefilter. Beim MPULS-Verfahren werden dabei sowohl Impulsamplitude als auch Impulsort codiert und übertragen. Das RPULS-Verfahren benützt dagegen eine reguläre Struktur der gesetzten Impulse, d. h. Impulse mit konstantem Abstand, so daß im wesentlichen nur die Amplituden zu übertragen sind. Bei vergleichbarer Bitrate können somit im letzten Fall mehr Impulse gesetzt werden, die Impulssorten sind jedoch h nicht variable. Das RPLUS-Verfahren kann als Spezielfall des MPLUS-Verfahrens betrachtet werden. Eine weitere Variante ist das CELP-Verfahren, es steht für Code Excited Linear Prediction. Hier wird das Residuum durch eine gaußverteilte Zufallsfolge erzeugt. Dabei wird ein Codebuch, das die Zufallsvektoren enthält, durchsucht und derjenige Vektor ausgewählt, der den kleinsten Fehler im synthetisierten Sprachsignal erzeugt. Zu übertragen ist dann nur die Adresse des gewählten Vektors im Codebuch.
Die zentrale Aufgabe in einem MPLUS- oder RPLUS- Algorithmus ist die Berechnung der Impulssorte und -amplituden. Die Berechnungsverfahren nach den Literaturstellen 2 und 3 weisen einen erheblichen Rechenaufwand auf. Einige Vereinfachungen und suboptimale Ergebnisse liefert die Literaturstelle 1.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art anzugeben, das die Reduzierung des Rechen- und Schaltungsaufwandes und eine aufwandsarme Implementierung auf einem digitalen Signalprozessor ermöglicht. Eine schnelle und hinreichend genaue Berechnung der für die Realisierung eines Multipulse- oder Regularpulse-Sprachcoders notwendigen Auto- und Kreuzkorrelationsfunktionen soll dabei gewährleistet sein.
Diese Aufgabe wird gelöst mit den Verfahrensmerkmalen im kennzeichnenden Teil des Patentanspruchs 1.
Vorteilhafte Ausgestaltungen ergeben sich durch die Unteransprüche.
Durch das erfindungsgemäße Verfahren ergeben sich die Vorteile einer wesentlichen Reduzierung des Rechen- und Schaltungsaufwandes für Korrelationen ohne Verwendung von Näherungen oder suboptimalen Verfahren.
Es folgt nun die Beschreibung der Erfindung anhand der Figuren. Die Fig. 1 zeigt das Blockschaltbild eines Sprachcodierers.
In Fig. 2 ist der Aufbau eines Sprachsynthesefilters dargestellt und in
Fig. 3 eine typische Impulsantwort aufgezeichnet.
Die Fig. 4a und 4b zeigen ein Signal in Abhängigkeit von der Zeit bzw. das dazu zeitlich invertierte Signal.
In Fig. 5 schließlich ist das erfindungsgemäße Vorgehen für die Ermittlung einer Korrelation anschaulich dargestellt.
In Fig. 1 ist erkennbar, daß die abgetastete Original-Sprache S org(n) mittels eines Wichtungsfilters W(z) gewichtet wird zu s w(n) und anschließend mit dem synthetischen Sprachsignal S syn(n) verglichen wird. Die Differenz aus diesen beiden Signalen ergibt das Fehlersignal e w(n), welches zur Berechnung des Residuums r syn(n) verwendet wird.
Das Synthesefilter H wp(z) mit der Impulsantwort h wp(n) wird durch das Residuum angeregt und erzeugt an seinem Ausgang die synthetisierte Sprache.
Gemäß Fig. 2 setzt sich das Synthesefilter aus zwei hintereinandergeschalteten Teilfiltern zusammen, dem Pitch-Prädikationsfilter H p(z) und dem LPC-Filter H LPC(z).
Zusätzlich wird das Ausgangssignal durch das Wichtungsfilter W(z) hörphysiologisch gewichtet. Dabei gilt:
H w(z) = H LPC · W(z) und
H wp(z) = H p(z) · H w(z).
Die beiden Wichtungsfilter W(z) gemäß Fig. 1 und 2 können entfallen, wenn im Fehlersignalpfad vor dem Block Residuum ein Wichtungsfilter W(z) eingefügt wird.
Eine typische Impulsantwort ist in Fig. 3 abgebildet, wobei der linke Bereich im wesentlichen von dem Formantfilter (H p(z)) und der rechte Bereich (2) von dem Pitch-Prädikationsfilter bestimmt ist.
Zur Bestimmung der Impulsamplituden und Impulssorte des MPULS- bzw. RPULS-Residuums sind in folgenden Schritten I und II zwei Korrelationsfunktionen zu berechnen:
Dann sind die weiteren Schritte durchzuführen:
III Bestimmung des Maximums der Funktion R hs(n). Das Maximum befindet sich an der Stelle n = n max:
gesuchter Impulsort: n k = n max
gesuchte Impulsamplitude: a = R hs(nmax)/Rhh(0)
IV Substraktion des Einflusses des gefundenen Impulses:
R′ ns(n) = R ns(n) - a · R hh (|n - n max|); n = 0 . . . N-1
Die Schritte III und IV sind so lange durchzuführen, bis alle Impulse gesetzt sind.
Dieses Verfahren wird in Literaturstelle 3 beschrieben. Die Erfindung bietet die Möglichkeit, die Schritte I und II sehr effizient zu ermitteln.
Die Erfindung geht aus von der Idee, aufgrund der erkannten Ähnlichkeiten zwischen einer Faltung und einer Korrelation diese beiden Funktionen ineinander zu überführen. Die Faltungsfunktion lautet:
Die Korrelationsfunktion lautet:
Einziger Unterschied zwischen beiden Funktionen ist das negative Argument der Impulsantwort h.
Durch eine Substitution k = N-1-l und m = M-1-n erhält man:
Diese Gleichung hat dieselbe Form wie die einer Faltung. Das Signal x(N-1-l) ist nichts anderes als das zeitlich invertierte Signal von x(n). Die beiden Signale sind in den Fig. 4a und 4b beispielhaft dargestellt. Zur Durchführung der Korrelation I und II sind also erfindungsgemäß 3 Schritte notwendig:
1. Inversion des Eingangssignals
2. Filterung mit dem Synthesefilter H wp(z) und
3. eine weitere Inversion, wonach die gewünschte Korrelationsfunktion erhältlich ist.
Die Vorgehensweise ist in Fig. 5 verdeutlicht.
Die Operationsrate zur Berechnung einer Korrelationsfunktion beträgt bei dem erfindungsgemäßen Verfahren O₃ = N · n F, wobei mit F der Filtergrad bezeichnet wird.
Die Inversion der Signale beansprucht keinen zusätzlichen Zeitaufwand, das Signal wird lediglich in umgekehrter Reihenfolge aus dem Speicher des Signalprozessors ausgelesen, als es eingeschrieben wird; mit anderen Worten: der Speicher wird als First-In-Last-Out-Speicher verwendet.
Abschließend wird ein Vergleich der Operationsraten durchgeführt, welche für die Verfahren nach dem Stande der Technik der Literaturstellen 1 bis 3 und nach dem erfindungsgemäßen Verfahren erforderlich sind. Dabei werden für die variablen Größen folgende typische Werte angenommen:
L = 40, N = 160, α = 4 und der Filtergrad n F = 13.
Bei dem Verfahren gemäß Literaturstellen 2 und 3, bei denen die Korrelationsberechnungen durch direkte Auswertung der Korrelationsbeziehungen durchgeführt werden, sind O₁ = N(N + 1)/2 Operationen notwendig, wobei unter einer Operation eine Multiplikation und eine Addition verstanden werden soll. Für die Operationsrate ergibt sich dann ein Wert von O₁ = 12 880, für diesen Aufwand sei 100% angenommen.
Für das Verfahren nach der Literaturstelle 1, bei dem die Gesamtimpulsantwort h wp(n) als fortgesetzte Verschiebung der Einzelimpulsantwort h w(n) gebildet wird und wobei h w(n) im allgemeinen nach n = L Abtastproben bereits vernachlässigbar klein ist, benötigt die Teilkorrelation zwischen s w(n) und h w(n) etwa O₂′ = N · L Operationen. Die Gesamtkorrelationsfunktionen werden dann aus diesen Teilkorrelationen gebildet, wobei der Aufwand mit O₂ = (L + α ) · N abgeschätzt werden kann, wobei mit α die Anzahl der notwendigen Verschiebungen und Überlagerungen bezeichnet wird.
Damit ergibt sich für dieses Verfahren eine Operationsrate von 7040, was einem Aufwand von 54,7% entspricht.
Für das erfindungsgemäße Verfahren ergibt sich insgesamt aber mit O₃ = N · n F lediglich eine Operationsrate von 2080, was einem Aufwand von nur 16,2% entspricht.

Claims (7)

1. Verfahren zur Sprachkodierung unter Verwendung der Analyse-durch-Synthese-Methode, wobei das Original-Sprachsignal abgetastet wird (S org(n)), wobei aus einer festgelegten Anzahl N Abtastproben ein Rahmen (frame) gebildet wird und wobei aus den Abtastproben rahmenweise die Koeffizienten eines Sprach-Synthese-Filters bestimmt werden, wobei mittels eines Impulsgenerators eine Anzahl k Impulse pro Rahmen erzeugt werden, die zur Anregung des Synthese-Filters dienen, wobei das synthetisierte Ausgangssignal dieses Synthese-Filters mit dem abgetasteten Sprachsignal verglichen und ein Fehlersignal erzeugt werden und wobei dieses Fehlersignal zur Ansteuerung des Impulsgenerators verwendet wird, wobei zur Bestimmung des Zeitpunktes m i mit i = 1 bis k, und der Amplitude r(m) der einzelnen Impulse unter anderem die Kreuzkorrelation zwischen dem abgetasteten Sprachsignal (s w(n)) und der Impulsantwort (h wp(n)) des Sprach-Synthese-Filters (H wp(z)), mit n = 1 bis N und der z-Transformierten sowie die Autokorrelation der Impulsantwort (h wp(n)) gebildet werden, dadurch gekennzeichnet,
daß zur Bildung der Korrelationsfunktion das zu korrelierende Eingangssignal (s w(n)) bzw. h wp(n)) invertiert wird,
daß dieses invertierte Signal s w i(n)) bzw. h wp i(n)) einer Filterung mit dem Sprach-Synthese-Filter (H wp(z)) unterzogen wird und
daß das so entstandene Signal (R hs i(n)) bzw. R hh i(n)) invertiert wird.
2. Verfahren nach Anspruch 1, wobei das zu korrelierende Eingangssignal das abgetastete Sprachsignal (s w(n)) ist, dadurch gekennzeichet, daß das invertierte Eingangssignal (s w i(n)) nach der Faltung mit dem Synthese-Filter H wp(z)) ein Signal (R hs i(n)) ergibt, welches nach der weiteren Invertierung die Kreuzkorrelationsfunktion (R hs(n)) ergibt.
3. Verfahren nach Anspruch 1 oder 2, wobei das zu korrelierende Eingangssignal die Impulsantwort (h wp i(n)) ist, dadurch gekennzeichnet, daß das invertierte Eingangssignal (h wp(n)) nach der Faltung mit dem Synthese-Filter (H wp(z)) das Signal (R hh i(n)) ergibt, welches nach der weiteren Invertierung die Autokorrelationsfunktion (R hh(n) ergibt.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß in Abhängigkeit von der Frequenz mittels eines Filters W(z) eine Wichtung des abgetasteten Original-Sprachsignals (S org(n)) zum gewichteten Sprachsignal (s w(n)) erfolgt.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Synthese-Filter (H wp(z)) aus der Kaskade zweier Teilfilter, nämlich einem Pitchfilter (H p(z)) und einem Formantfilter (H LPC(z)) besteht.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß im Synthesefilter (H wp(z)) zusätzlich ein Wichtungsfilter (W(z)) kaskadiert ist, durch welches das synthetisierte Sprachsignal (S syn(n)) in Abhängigkeit von der Frequenz gewichtet wird.
7. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Ansteuerung des Impulsgenerators (Residuum) mit dem mittels eines Filters (W(z)) in Abhängigkeit von der Frequenz gewichteten Fehlersignal (e w(n)) erfolgt.
DE19883834871 1988-10-13 1988-10-13 Method for encoding speech Expired DE3834871C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19883834871 DE3834871C1 (en) 1988-10-13 1988-10-13 Method for encoding speech

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19883834871 DE3834871C1 (en) 1988-10-13 1988-10-13 Method for encoding speech

Publications (1)

Publication Number Publication Date
DE3834871C1 true DE3834871C1 (en) 1989-12-14

Family

ID=6365031

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19883834871 Expired DE3834871C1 (en) 1988-10-13 1988-10-13 Method for encoding speech

Country Status (1)

Country Link
DE (1) DE3834871C1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4231918C1 (de) * 1992-09-24 1993-12-02 Ant Nachrichtentech Verfahren für die Codierung von Sprachsignalen
DE4236315C1 (de) * 1992-10-28 1994-02-10 Ant Nachrichtentech Verfahren zur Sprachcodierung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0195487A1 (de) * 1985-03-22 1986-09-24 Koninklijke Philips Electronics N.V. Linearer Prädiktionssprachcodierer mit Mehrimpulsanregung
WO1988002165A1 (en) * 1986-09-11 1988-03-24 British Telecommunications Public Limited Company Method of speech coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0195487A1 (de) * 1985-03-22 1986-09-24 Koninklijke Philips Electronics N.V. Linearer Prädiktionssprachcodierer mit Mehrimpulsanregung
WO1988002165A1 (en) * 1986-09-11 1988-03-24 British Telecommunications Public Limited Company Method of speech coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FUKUI, A., SHIBAGAKI, K., Implementation of a multi-pulse speed Codec with pitch prediction on a single chip floating-point signal processor, In: ICASSP 87, Dallas Texas, S. 968-971 *
OZAWA, K., ONO, S. ARASEKI, T.: A study on pulse search algorithms for multipulse excited speech coder realization, In: IEEE Journal on selected areas in communications, Vol. SAC-4, No. 1, Januar 1986,S. 133-141 *
SINGHAL, S.: Reducing computation in optimal amphitude multipulse coders, In: ICASSP 86, Tokio S. 2363-2366 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4231918C1 (de) * 1992-09-24 1993-12-02 Ant Nachrichtentech Verfahren für die Codierung von Sprachsignalen
DE4236315C1 (de) * 1992-10-28 1994-02-10 Ant Nachrichtentech Verfahren zur Sprachcodierung

Similar Documents

Publication Publication Date Title
DE69029232T2 (de) System und Methode zur Sprachkodierung
DE69227401T2 (de) Verfahren zum Kodieren und Dekodieren von Sprachsignalen
DE3784942T2 (de) Duplex-datenuebertragung.
DE3854453T2 (de) CELP Vocoder und Anwendungsverfahren.
DE2934489C2 (de)
DE69604729T2 (de) Verfahren zur sprachkodierung mittels linearer prädiktion und anregung durch algebraische kodes
DE3115859C2 (de)
DE69932460T2 (de) Sprachkodierer/dekodierer
DE69530442T2 (de) Vorrichtung zur Sprachkodierung
DE69828725T2 (de) Sprachcodier- und -decodiersystem
DE69526007T2 (de) Postfilter und Verfahren zur Postfilterung
DE3510660C2 (de)
DE69121411T2 (de) Methode und gerät zur codierung von analogen signalen
DE19647298C2 (de) Kodiersystem
DE69426860T2 (de) Sprachcodierer und Verfahren zum Suchen von Codebüchern
DE69329569T2 (de) Digitale Kodierung von Sprachsignalen
DE69528685T2 (de) Vorrichtung zur Vektorquantifizierung
DE10234130B3 (de) Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals
DE69033510T2 (de) Numerischer sprachkodierer mit verbesserter langzeitvorhersage durch subabtastauflösung
DE69329568T2 (de) Verfahren zur Sprachkodierung
DE69128407T2 (de) Verfahren und Einrichtung zur Übertragung mit niedriger Bitrate eines Sprachsignals mittels CELP-Codierung
DE69725945T2 (de) Sprachkodierer mit niedriger Bitrate
DE69028434T2 (de) System zur Codierung von Breitbandaudiosignalen
DE68907098T2 (de) Differentieller Kodierer mit auto-adaptivem Prädiktorfilter und dazugehörigem Dekodierer.
DE4491015C2 (de) Verfahren zum Erzeugen eines Spektralrauschbewertungsfilters zur Verwendung in einem Sprachcoder

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ROBERT BOSCH GMBH, 70469 STUTTGART, DE

8320 Willingness to grant licenses declared (paragraph 23)
8327 Change in the person/name/address of the patent owner

Owner name: SIEMENS AG, 80333 MUENCHEN, DE

8339 Ceased/non-payment of the annual fee