DE69227650T2 - Digitaler Sprachkodierer - Google Patents

Digitaler Sprachkodierer

Info

Publication number
DE69227650T2
DE69227650T2 DE69227650T DE69227650T DE69227650T2 DE 69227650 T2 DE69227650 T2 DE 69227650T2 DE 69227650 T DE69227650 T DE 69227650T DE 69227650 T DE69227650 T DE 69227650T DE 69227650 T2 DE69227650 T2 DE 69227650T2
Authority
DE
Germany
Prior art keywords
pulse pattern
pulse
excitation
synthesizer
excitation vector
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
DE69227650T
Other languages
English (en)
Other versions
DE69227650D1 (de
Inventor
Kari-Pekka Sf-90140 Oulu Estola
Jari Sf-90100 Oulu Hagqvist
Kari Sf-93100 Tampere Jarvinen
Jukka Sf-24130 Salo Ranta
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.)
Nokia Oyj
Original Assignee
Nokia Mobile Phones Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Publication of DE69227650D1 publication Critical patent/DE69227650D1/de
Application granted granted Critical
Publication of DE69227650T2 publication Critical patent/DE69227650T2/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
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook

Landscapes

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

Description

    Digitaler Sprachkodierer
  • Die Erfindung betrifft Sprachcodierung, insbesondere "Code Excited Linear Prediction"-Codierung von Sprache.
  • Derzeit werden wirkungsvolle Sprachcodierungsabläufe entwickelt. Im Stand der Technik ist "Code Excited Linear Prediction (CELP)"-Codierung bekannt, die im einzelnen im Artikel von M. R. Schroeder und B. S. Atal "Code-Excited Linear Prediction (CELP): High Quality Speech at Very Low Bit Rates", Proceedings of the IEEE International Conference of Acoustics, Speech and Signal Processing ICASSP, Vol. 3, S. 937- 940, März 1985, erläutert ist.
  • Codierung gemäß einem Algorithmus vom CELP-Typ könnte als wirkungsvoller Vorgang im Stand der Technik angesehen werden, jedoch ist die benötigte hohe Rechnerleistung ein Nachteil. Ein CELP-Codierer umfasst mehrere die Spracherzeugung modellierende Filter, für die ein geeignetes Erregungssignal aus einem Codebuch ausgewählt wird, das einen Satz von Erregungsvektoren erhält. Ein CELP-Codierer umfasst im allgemeinen Filter für sowohl kurze als auch lange Terme, wobei eine synthetisierte Version des ursprünglichen Sprachsignals erzeugt wird. In einem CELP-Codierer wird für eine erschöpfende Suche jeder einzelne, im Codebuch gespeicherte Erregungsvektor für jeden Sprachblock im Synthetisierer angewandt, der die Filter für lange und kurze Terme enthält. Das synthetisierte Sprachsignal wird mit dem ursprünglichen Sprachsignal verglichen, um ein Abweichungssignal zu erzeugen. Das Abweichungssignal wird dann auf ein Gewichtungsfilter gegeben, das das Abweichungssignal entsprechend dem Wahrnehmungsverhalten beim menschlichen Hören ausbildet, was zu einem Maß für die Codierungsabweichung führt, das der Hörwahrnehmung besser entspricht. Der optimale Erregungsvektor für den zu verarbeitenden jeweiligen Sprachblock wird dadurch erhalten, dass aus dem Codebuch derjenige Erregungsvektor ausgewählt wird, der für den fraglichen Sprachblock das kleinste gewichtete Abweichungssignal erzeugt.
  • Wenn z. B. die Abtastrate 8 kHz beträgt, würde ein Block mit einer Länge von fünf Millisekunden aus 40 Abtastwerten bestehen. Wenn die gewünschte Übertragungsrate für die Erregung 0,2 Bits pro Abtastwert beträgt, ist ein Zufallscodebuch mit 1024 Zufallsvektoren erforderlich. Eine erschöpfende Suche nach allen diesen Vektoren führt zu ungefähr 120.000.000 Multiplizier- und Akkumulier(MAC)-Operationen pro Sekunde. Es ist deutlich, dass ein derartiges Berechnungsvolumen für die derzeitige Signalverarbeitungstechnik eine unrealistische Aufgabe darstellt. Außerdem ist der Speicherverbrauch nicht praxisgerecht, da ein Festwertspeicher von 640 Kilobit dazu erforderlich wäre, das Codebuch von 1024 Vektoren zu speichern (1024 Vektoren; 40 Abtastwerte pro Vektor; jeder Abtastwert ist durch ein 16-Bit-Wort repräsentiert).
  • Das obige Berechnungsproblem ist gut bekannt, und um die Berechnung zu vereinfachen, wurden verschiedene Vorschläge gemacht, durch die die Berechnungsbelastung und der Speicherverbrauch wesentlich verringert werden können, so dass es möglich sein sollte, den CELP-Algorithmus in Echtzeit mit Signalprozessoren zu realisieren. Hier können zwei verschiedene Vorgehensweisen genannt werden:
  • 1) Realisieren des Suchablaufs in einer transformierten Domäne unter Verwendung z. B. diskreter Fourier-Transformation; siehe I. M. Trancoso, B. S. Atal: "Efficient Procedures for Finding the Optimum Innovation in Stochastic Coders", Proc. ICASSP, Vol. 4, S. 2375-2378, April 1986;
  • 2) Verwendung von Vektorsummierungstechniken; I. A. Gershon, M. A. Jasiuk: "Vector Sum Excited Linear Prediction Speech Coding at 8 kbit/s", Proc. ICASSP, S. 461-464, 1990.
  • Es ist die Aufgabe der Erfindung, einen Codierungsablauf vom CELP-Typ und eine das Verfahren realisierende Vorrichtung zu schaffen, die für praktische Anwendungen besser als bekannte Verfahren geeignet sind. Insbesondere zielt die Erfindung darauf ab, ein leicht betreibbares Codebuch zu entwickeln, sowie einen Such- und Nachschlageablauf zu entwickeln, der eine Berechnungsfunktion liefert, die weniger Rechnerleistung und weniger Speicher benötigt, wobei gleichzeitig gute Sprachqualität beibehalten bleibt. Dies sollte zu wirkungsvoller Sprachcodierung führen, durch die Sprache hoher Qualität mit Übertragungsraten unter 10 kbit/s übertragen werden kann und die der Rechnerbelastung und dem Speicherverbrauch mäßige Erfordernisse auferlegt, wodurch sie leicht durch derzeitige Signalprozessoren realisierbar ist.
  • Gemäß der Erfindung ist folgendes geschaffen: ein Verfahren zum Synthetisieren eines Sprachsignalblocks in einem Sprachcodierer vom CELP-Typ, das es umfasst, einen Erregungsvektor auf einen Synthetisierer des Codierers zu geben, um einen Block synthetisierter Sprache zu erzeugen, dadurch gekennzeichnet, dass das Verfahren ferner folgendes umfasst:
  • - Auswählen einer vorbestimmten Anzahl (K) von Impulsmustern (Pj(n)) aus einem Codebuch des Codierers, der einen Satz (P) von Impulsmustern enthält, wobei K größer als eins ist;
  • - Bestimmen der Verzögerung (dj) und der Ausrichtung (Oj) jedes ausgewählten Impulsmusters bezüglich des Startpunkts des Erregungsvektors, wobei Oj entweder 1 oder -1 ist; und
  • - Erzeugen des Erregungsvektors durch Kombinieren der ausgewählten Impulsmuster, wobei jedes Impulsmuster die bestimmte Verzögerung (dj) und Ausrichtung (Oj) aufweist.
  • Dies hat den Vorteil, dass anstelle einer Auswertung aller Erregungen die Filter des Synthetisierers nur eine beschränkte Anzahl (P) von Impulsmustern verarbeiten, also nicht den Satz aller durch sie gebildeter Erregungsvektoren, wodurch die Rechnerleistung zum Suchen des optimalen Erregungsvektors niedrig gehalten ist. Die Erfindung erzielt auch den Vorteil, dass nur eine beschränkte Anzahl (P) von Impulsmustern, statt aller Erregungsvektoren, in den Speicher eingespeichert werden muss.
  • Gemäß der Erfindung ist auch folgendes geschaffen: ein Sprachcodierer vom CELP-Typ zum Verarbeiten eines synthetisierten Sprachsignals aus einem ursprünglichen Sprachsignal, mit:
  • - einem ersten Synthetisierer, der so arbeitet, dass er einen Block synthetisierter Sprache aus einem zugeführten Erregungsvektor erzeugt;
  • dadurch gekennzeichnet, dass er ferner folgendes aufweist:
  • - ein Codebuch mit einem Satz (P) von Impulsmustern; und
  • - eine Einrichtung zum Erzeugen des Erregungsvektors durch Auswählen einer vorbestimmten Anzahl (K) von Impulsmustern (Pj(n)) aus dem Codebuch, wobei K nicht größer als eins ist; Bestimmen der Ausrichtung (Oj) und der Verzögerung (dj) jedes ausgewählten Impulsmusters bezüglich des Startpunkts des Erregungsvektors, wobei Oj 1 oder -1 ist; und Kombinieren der ausgewählten Impulsmuster, wobei jedes Impulsmuster die bestimmte Verzögerung (dj) und Ausrichtung (Oj) aufweist, um den Erregungsvektor zu erzeugen.
  • Dies hat den Vorteil, dass zwar bei einem CELP-Codierer für eine erschöpfende Suche alle skalierten Erregungsvektoren verarbeitet werden müssen, beim erfindungsgemäßen Codierer aber nur eine kleine Anzahl von Impulsmustern gefiltert wird.
  • Die durch Impulsmuster erregte lineare Vorhersage (PPELP = Pulse Pattern Excited Linear Prediction) gemäß der Erfindung erlaubt eine einfache Echtzeitrealisierung von Codierern vom CELP-Typ unter Verwendung von Signalprozessoren. Im oben angegebenen Fall (1024 Erregungsvektoren) erfordert ein erfindungsgemäßer PPELP-Codierer weniger als 2.000.000 MAC- Operationen pro Sekunde für den gesamten Suchprozess, so dass er leicht durch einen einzelnen Signalprozessor realisierbar ist. Da anstelle aller Erregungsvektoren nur Impulsmuster gespeichert sind, kann ausgesagt werden, dass das Erfordernis eines Codebuchs im wesentlichen beseitigt ist. So wird bei moderater Rechnerleistung Echtzeitbetrieb erzielt.
  • Die Erfindung wird nun beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Fig. 1a ist ein allgemeines Blockdiagramm eines CELP-Codierers zum Veranschaulichen einer Realisierung von PPELP;
  • Fig. 1b zeigt einen entsprechenden Decodierer;
  • Fig. 2 ist ein Grundblockdiagramm eines Codierers, das veranschaulicht, wie PPELP realisiert wird;
  • Fig. 3 veranschaulicht den Impulsmustergenerator eines erfindungsgemäßen Codierers; und
  • Fig. 4 ist ein detailliertes Blockdiagramm eines erfindungsgemäßen PPELP-Codierers.
  • Hier wird das erfindungsgemäße Verfahren als Impulsmusterverfahren bezeichnet, d. h. als Codierung mit durch Impulsmuster erregter linearer Vorhersage (PPELP = Pulse Pattern Excited Linear Prediction), was, auf vereinfachte Weise, als wirkungsvoller Ablauf zum Erzeugen eines Erregungssignals und als Ablauf zum Suchen der optimalen Erregung, wie für einen Sprachcodierer entwickelt, bezeichnet werden kann, wobei die Erregung auf Grundlage der Verwendung von Impulsmustern erzeugt wird, die in Beziehung zum Startpunkt des Erregungsvektors geeignet verzögert und ausgerichtet sind. Das Codebuch eines Codierers unter Verwendung dieser PPELP- Codierung, das die Erregungsvektoren enthält, kann wirkungsvoll gehandhabt werden, wenn jeder Erregungsvektor als Kombination von Impulsmustern aufgebaut wird, die in Beziehung zum Startpunkt des Erregungsvektors geeignet verzögert sind. Aus dem eine begrenzte Anzahl (P) von Impulsmustern enthaltenden Codebuch wählt der Codierer eine vorbestimmte Anzahl (K) von Impulsmustern aus, die kombiniert werden, um einen Erregungsvektor zu bilden, der eine vorbestimmte Anzahl (L) von Abtastwerten enthält.
  • Um die erfindungsgemäße PPELP-Codierung zu veranschaulichen, zeigt Fig. 1a ein Blockdiagramm eines Codierers vom CELP- Typ, bei dem das PPELP-Verfahren realisiert ist. Hierbei umfasst der Codierer einen Kurztermanalysator 1 zum Bilden eines Satzes linearer Vorhersageparameter a(i), mit i = 1, 2, ..., m, wobei m = Ordnung der Analyse gilt. Der Parametersatz a(i) beschreibt den spektralen Gehalt des Sprachsignals, und er wird für jeden Sprachblock aus N Abtastwerten (die Länge von N entspricht im allgemeinen einem Intervall von 20 Millisekunden) berechnet, für Verwendung in einem Kurztermfilter 4 des Synthetisierers bei der Erzeugung eines synthetisierten Sprachsignals ss(n). Der Codierer umfasst, neben dem Kurztermfilter 4 des Synthetisierers, auch ein Langtermfilter 5 des Synthetisierers. Das Langtermfilter 5 dient zur Einführung von Sprachperiodizität (Tonhöhe), und das Kurztermfilter 4 dient der spektralen Hüllkurve (Formanten). So werden die zwei Filter zum Modellieren des Sprachsignals verwendet. Das Kurztermfilter 4 des Synthetisierers modelliert die Funktion des menschlichen Vokaltrakts, wohingegen das Langtermfilter 5 des Synthetisierers die Schwingung der Stimmbänder moduliert. Die Langtermvorhersage- (LTP = Long Term Prediction)-Parameter für das Langtermfilter des Synthetisierers werden in einem Langtermvorhersage- (LTP)-Analysator 9 berechnet.
  • Ein Gewichtungsfilter 2, das auf den Eigenschaften der menschlichen Hörwahrnehmung beruht, wird dazu verwendet, Frequenzen zu dämpfen, bei denen die Abweichung e(n), d. h. die Differenz zwischen dem ursprünglichen Sprachsignal s(n) und dem synthetisierten Sprachsignal ss(n), wie durch die Subtrahiereinrichtung 8 erzeugt, gemäß der Hörwahrnehmung weniger wichtig ist, und um Frequenzen zu verstärken, bei denen die Abweichung gemäß der Hörwahrnehmung wichtiger ist. Die Erregung für jeden Erregungsblock von L Abtastwerten wird in einem Erregungsgenerator 3 dadurch erzeugt, dass Impulsmuster zusammengesetzt werden, die in Beziehung zum Anfang des Erregungsvektors geeignet verzögert sind. Die Impulsmuster sind in einem Codebuch 10 gespeichert. Bei einer erschöpfenden Suche müssten in einem CELP-Codierer alle skalierten Erregungsvektoren vi(n) im Kurzterm- und im Langtermfilter 4 und 5 des Synthetisierers verarbeitet werden, wohingegen im PPELP-Codierer die Filter nur Impulsmuster verarbeiten.
  • Eine Codebuch-Suchsteuerung 6 wird dazu verwendet, Steuerparameter uj (Position des Impulsmusters im Impulsmuster-Codebuch), dj (Position des Impulsmusters im Erregungsvektor, d. h. Verzögerung des Impulsmusters in bezug auf den Startpunkt des Blocks), oj (Ausrichtung des Impulsmusters), die den Erregungsgenerator 3 steuern, auf Grundlage der vom Gewichtungsfilter 2 ausgegebenen gewichteten Abweichung ew(n) zu erzeugen. Während eines Auswertungsprozesses werden optimale Impulsmustercodes ausgewählt, d. h. diejenigen Codes, die zur minimalen gewichteten Abweichung ew(n) führen.
  • Von der Codebuch-Suchsteuerung 6 wird ein Skalierungsfaktor gc, dessen Optimierung unten in Verbindung mit der Suche nach Impulsmusterparametern detaillierter beschrieben wird, an eine Multipliziereinrichtung 7 geliefert, an die auch das Ausgangssignal des Erregungsvektors 3 geliefert wird. Das Ausgangssignal des Multiplizierers 7 wird in den Langtermsynthetisierer 5 eingegeben. Die Codiererparameter a(i), die LTP-Parameter, uj, dj und oj werden, wie dies auch für gc gilt, im Block 11 im Multiplexbetrieb verarbeitet. Es muss darauf hingewiesen werden, dass alle auch im Codierabschnitt des Codierers verwendeten Parameter quantisiert werden, bevor sie in den Synthetisiererfiltern 4, 5 verwendet werden.
  • Der Decodierer arbeitet so, wie es in Fig. 1b dargestellt ist. Während eines Decodiervorgangs liefert der Demultiplexer 17 die quantisierten Codierparameter, d. h. uj, dj, oj, den Skalierungsfaktor gc, die LTP-Parameter sowie a(i). Das Impulsmuster-Codebuch 13 und der Impulsmuster-Erregungsgenerator 12 werden dazu verwendet, das Impulsmuster-Erregungssignal Vi,opt(n) zu erzeugen, das unter Verwendung des Skalierungsfaktors gc im Multiplizierer 14 skaliert wird und an das Langterm-Synthetisiererfilter 15 und das Kurzterm- Synthetisiererfilter 16 geliefert wird, das das decodierte Sprachsignal ss(n) als Ausgangssignal liefert.
  • In Fig. 2, die die Realisierung einer PPELP-Codierung auf allgemeine Weise veranschaulicht, ist ein Grundblockdiagramm eines Codierers dargestellt. Das zu codierende Sprachsignal wird auf ein Mikrofon 19 und dann ein Filter 20, typischerweise vom Bandpasstyp, gegeben. Das bandpassmäßig gefilterte Analogsignal wird dann unter Verwendung eines Analog-Digital-(A/D)-Wandlers 24 in eine digitale Signalfolge umgesetzt. Als Abtastfrequenz sind bei diesem Ausführungsbei spiel acht kHz verwendet. Das Ausgangssignal s(n), das eine digitale Wiedergabe des ursprünglichen Sprachsignals ist, wird dann an eine Subtrahiereinrichtung 41 und in einen LPC- Analysator 21 weitergegeben, in dem für jeden Sprachblock von N Abtastwerten ein Satz von LPC-Parametern (bei unserem Beispiel gilt N = 160) unter Verwendung eines bekannten Ablaufs erzeugt wird. Die sich ergebenden Kurzzeit-Vorhersage(STP = Short Term Predictive)-Parameter a(i), mit i = 1, 2, ..., m (bei unserem Beispiel gilt m = 10), werden auf einen Multiplexer gegeben und zur Übertragung vom Codierer auf den Übertragungskanal gegeben. Verfahren zum Erzeugen von LPC-Parametern sind z. B. im Artikel von B. S. Atal: "Predictive Coding of Speech at Low Bit Rates", IEEE Trans. Comm., Vol. COM-30, S. 600-614, April 1982, erörtert. Diese Parameter werden beim Synthetisierungsablauf sowohl im Codierer als auch im Decodierer verwendet.
  • Die STP-Parameter a(i) werden von Kurztermfiltern 22, 39, 29 sowie Gewichtungsfiltern 25, 30 verwendet, wie unten erörtert.
  • Die Übertragungsfunktion eines Kurzterm-Synthetisiererfilters verfügt über die Übergangsfunktion 1/A(z), mit
  • Im PPELP-Codierer werden in einem Impulsmuster-Codebuch 27 gespeicherte Impulsmuster in einem Langterm-Synthetisiererfilter 28 und im Kurzterm-Synthetisiererfilter 29 verarbeitet, um Reaktionen auf die Impulsmuster zu erhalten. Das Ausgangssignal des Kurzterm-Synthetisiererfilters 29 wird unter Verwendung des in den Multiplizierer 36 eingegebenen Skalierungsfaktors gc skaliert, wie in Zusammenhang mit der Suche nach dem optimalen Erregungsvektor berechnet. Das sich ergebende synthetisierte Sprachsignal ssc(n) wird dann in eine Subtrahiereinrichtung 38 eingegeben.
  • Der Codierer umfasst auch einen Nulleingabe-Vorhersagezweig mit einem Kurzterm-Synthetisierfilter 22. Dieser Nulleingabe-Vorhersagezweig liegt dort, wo die Wirkung der Statusvariablen des Kurzterm-Vorhersagezweigs, d. h. des Zweigs mit den Filtern 28, 29, vom Sprachsignal s(n) abgezogen wird. Dies beseitigt den Einfluss der Statusvariablen aus zuvor analysierten Sprachblöcken. Diese Technik ist gut bekannt. Das Ausgangssignal no(n) wird an die Subtrahiereinrichtung 41 geliefert, an die auch das digitale Sprachsignal s(n) geliefert wird. Das sich ergebende Ausgangssignal wird an eine weitere Subtrahiereinrichtung 40 geliefert.
  • An die Subtrahiereinrichtung 40 wird auch das Ausgangssignal eines Langterm-Vorhersagezweigs des Codierers geliefert, der ein Langterm-Synthetisiererfilter 23, ein Kurzterm-Synthetisiererfilter 39 und einen Multiplizierer 35 enthält.
  • Die sich ergebende Ausgangssignalabweichung eltp(n) von der Subtrahiereinrichtung 40 wird an die Subtrahiereinrichtung 38 und ein zweites Gewichtungsfilter 25 geliefert.
  • Das synthetisierte Sprachsignal ssc(n) und das digitalisierte Sprachsignal s(n), wie mit Hilfe des Nulleingabe-Vorhersagezweigs modifiziert, werden so unter Verwendung der Subtrahiereinrichtung 38 verglichen, und das Ergebnis ist ein Ausgangsdifferenzsignal ec(n).
  • Das Differenzsignal ec(n) wird durch das Gewichtungsfilter 30 unter Verwendung der im LPC-Analysator 21 erzeugten STP- Parameter gefiltert. Die Übertragungsfunktion des Gewichtungsfilters ist wie folgt gegeben:
  • Der Gewichtungsfaktor y hat typischerweise einen Wert, der geringfügig kleiner als 1,0 ist. Bei unserem Ausführungsbeispiel ist y als y = 0,83 gewählt. Der Suchablauf wird durch die Erregungscodebuch-Steuerung 34 gesteuert. Die Impulsmusterparameter (uj, dj, oj) des Erregungsvektors vi(n), der L Abtastwerte enthält - bei unserem Ausführungsbeispiel gilt L = 40 -, die zur minimalen Abweichung führen, werden unter Verwendung der Impulsmuster-Codebuchsteuerung 34 des Impulsmuster-Codebuchs 10 gesucht und, über den Kanal, mittels des Multiplexers, als optimale Erregungsparameter an den Decodierer geliefert. Der im Multiplizierblock 37 verwendete optimale Skalierungsfaktor gc,opt muss ebenfalls übertragen werden.
  • Der Codierer verwendet auch ein Langterm-Synthetisiererfilter 26 mit einem Abgriff mit einer Übertragungsfunktion der Form 1/P(z), mit
  • P(z) = 1 - bz-M (3)
  • Die Parameter b und M sind Langtermvorhersage(LTP = Long Term Prediction)-Parameter, und sie werden für jeden Block von B Abtastwerten (bei unserem Beispiel gilt B = 40) unter Verwendung eines Analyse-Synthese-Ablaufs, wie er ansonsten als LTP mit geschlossener Schleife bekannt ist, abgeschätzt. Die optimalen LTP-Parameter werden auf ähnliche Weise wie bei der Codebuchsuche berechnet. Die Suche nach den LTP- Parametern in einer geschlossenen Schleife kann als Verwendung eines adaptiven Codebuchs gedacht werden, wobei die Zeitverzögerung M die Position des aus dem Codebuch 42 ausgewählten Erregungsvektors im Codebuch spezifiziert und b dem Langterm-Skalierungsfaktor gltp des Erregungsvektors entspricht. Auch wird der im Multiplizierer 35 verwendete Langterm-Skalierungsfaktor gltp in Verbindung mit der Suche nach dem optimalen Parameter berechnet.
  • Die LTP-Parameter könnten gleichzeitig mit der tatsächlichen Impulsmustererregung berechnet werden. Jedoch ist diese Vorgehensweise kompliziert. Daher ist bei diesem Ausführungsbeispiel ein zweistufiger Ablauf bevorzugt, wie er unten beschrieben ist.
  • Im ersten Schritt werden die LTP-Parameter dadurch berechnet, dass die gewichtete Abweichung eltp(n) berechnet wird, und im zweiten Schritt wird der optimale Erregungsvektor durch Minimieren von ec(n) gesucht. Die Ausführung dieses Vorgangs erfordert einen zweiten Synthetisiererzweig, der nachfolgend als Langterm-Vorhersagezweig bezeichnet wird und der einen zweiten Satz aus einem Kurzterm- und einem Langterm-Synthetisiererfilter 23 und 39, eine Subtrahiereinrichtung 40, ein zweites Gewichtungsfilter 25 und eine Codebuch- Suchsteuerung 26 enthält. Hier sei darauf hingewiesen, dass der Einfluss des vorigen Erregungsvektors oder der Nulleingabe-Antwort no(n) vom Synthetisiererfilter 22 keinen Einfluss im Suchprozess hat, so dass er durch die Subtrahiereinrichtung 41, wie oben erörtert, vom Eingangssprachsignal s(n) subtrahiert werden kann.
  • Zustandsvariable, d. h. solche für das LTP-Codebuch 42 sowie diejenigen, T(i) (mit i = 1, 2, ..., m), für die Kurzterm-Synthetisiererfilter werden dadurch aktualisiert, dass die optima le Impulsmustererregung vom Erregungsgenerator 31, geeigneterweise im Multiplizierer 37 unter Verwendung des Skalierungsfaktors gc,opt, verstärkt, an das Langterm- und das Kurzterm-Synthetisiererfilter 32 und 33 geliefert werden.
  • Die Auswertung des relativ bescheidenen LTP-Codebuchs ist eine Aufgabe, die nicht so kompliziert ist wie die Auswertung eines im allgemeinen wesentlich größeren festen Codebuchs. Unter Verwendung rekursiver Techniken und einer Beschneidung der Impulsantwort können die Rechnererfordernisse im Optimierungsablauf mit geschlossener Schleife vernünftig gehalten werden, wenn die LTP-Parameter optimiert werden. Die folgende Erörterung konzentriert sich auf die Suche nach dem optimalen Erregungsvektor aus dem Codebuch, das die aktuellen, festen Erregungsvektoren enthält.
  • Es sei darauf hingewiesen, dass die Fig. 2 die Codiererfunktion im Prinzip veranschaulicht und sie der Einfachheit halber keine vollständige Beschreibung des Optimierungsverfahrens für das Erregungssignal auf Grundlage der unten beschriebenen Impulsmustertechnik enthält. Fig. 4, die unten beschrieben ist, gibt eine detailliertere Beschreibung dazu, wie die Impulsmustertechnik verwendet wird.
  • Fig. 3 zeigt den Erregungsgenerator 51 gemäß der Erfindung, der dem Generator 3 in Fig. 1a, dem Generator 12 in Fig. 1b und dem Erregungsgenerator 31 in Fig. 2 entspricht. In einem PPELP-Codierer wird jeder Erregungsvektor dadurch erzeugt, dass eine Gesamtheit von K Impulsmustern aus einem Codebuch 50 ausgewählt wird, das einen Satz von P Impulsmustern pj(n), mit 1 ≤ j ≤ P, enthält. Die durch den Impulsmuster- Auswählblock 52 ausgewählten Impulsmuster werden im Verzögerungsblock 53 und im Ausrichtungsblock 54 dazu verwendet, die Erregungsvektoren vi(n) im Addierer 55 zu erzeugen, wobei i die fortlaufende Nummer des Erregungsvektors ist.
  • Durch das Impulsmusterverfahren kann im Erregungsvektor eine Gesamtheit von (2P)K(LK) Erregungsvektoren erzeugt werden. Die eine Hälfte der Erregungsvektoren hat das entgegengesetzte Vorzeichen im Vergleich zur anderen Hälfte, und so ist es nicht erforderlich, sie zu verarbeiten, wenn von den Synthetisiererfiltern nach dem optimalen Erregungsvektor gesucht wird, sondern sie werden erhalten, wenn der Skalierungsfaktor gc negative Werte aufweist. Die ausgewerteten Erregungsvektoren vi(n), mit i = 1, 2, ..., (2P)K(LK)/2 und mit n = 0, 1, 2, ..., L - 1 haben die folgende Form:
  • wobei uj (1 ≤ j ≤ K) die Position des Impulsmusters j' im Impulsmuster-codebuch (1 ≤ uj ≤ P), dj die Position des Impulsmusters im Erregungsvektor (0 ≤ dj ≤ L - 1) und oj dessen Ausrichtung (+1 oder -1) repräsentieren.
  • Die Erregungswirkung der Impulsmuster beruhend auf der Impulsmustertechnik kann dadurch ausgewertet werden, dass in den Synthetisiererfiltern nur eine vorbestimmte Anzahl P von Impulsmustern (p&sub1;(n), p&sub2;(n), ..., pp(n)) verarbeitet wird. So kann die Auswertung der Erregungsvektoren sehr wirkungsvoll ausgeführt werden. Ein weiterer Vorteil des Impulsmusterverfahrens ist derjenige, dass nur eine kleine Anzahl von Impulsmustern, anstelle des gesamten Satzes von (2P)K(LK) Vektoren gespeichert werden muss. Sprache hoher Qualität kann unter Verwendung von nur zwei Impulsmustern erzielt werden. Dies führt zu einem Suchprozess, der insgesamt nur geringe Rechnerleistung erfordert, und es sind nur zwei Impulsmuster im Speicher abzuspeichern. Daher erfordert der erfindungsgemäße Codieralgorithmus insgesamt nur mäßige Rechnerleistung und wenig Speicher.
  • Mit Hilfe der Fig. 4 erfolgt eine detailliertere Beschreibung des PPELP-Codierverfahrens, wobei diese Figur die tatsächliche Realisierung veranschaulicht und sie in einem PPELP-Codierer die Optimierung der Impulsmustererregung detaillierter zeigt. Hier sei darauf hingewiesen, dass die Gewichtungsfilter gemäß der Gleichung (2), d. h. der Filter 30 und 25 in Fig. 2, von den Ausgängen der Subtrathiereinrichtung (38 und 40 in Fig. 2) weggenommen sind, so dass die entsprechenden Funktionen nun vor der Subtrahiereinrichtung in den Filtern 60, 61 und 67 liegen.
  • Die STP-Parameter werden im LPC-Analysierer 75 berechnet.
  • In dieser Kombination ist der LTP-Parameter M auf Werte beschränkt, die größer als die Länge des Impulsmuster-Erregungsvektors sind. In diesem Fall beruht die Langtermvorhersage auf den vorigen Impulsmuster-Erregungsvektoren. Das Ergebnis hieraus ist es, dass nun der Langterm-Vorhersagezweig nicht im Suchprozess für die Impulsmustererregung enthalten sein muss. Diese Vorgehensweise vereinfacht das Codiersystem wesentlich.
  • Die Wirkung der vorigen Sprachblöcke, d. h. das Ausgangssignal no(n) des Filters 61 des Nulleingabe-Zweigs wird vom gewichteten Sprachsignal sw(n), d. h. dem Ausgangssignal des Filters 60, das das digitale Sprachsignal s(n) erhält, durch die Subtrahiereinrichtung 62 abgezogen. Der Einfluss des Langterm-Vorhersagezweigs wird in der Subtrahiereinrichtung 63 abgezogen, bevor eine Impulsmusteroptimierung zum Erzeugen des Ausgangssignals eltp(n) erfolgt.
  • Um die Impulsmuster-Erregungsparameter uj, dj, oj zu opti mieren, werden die im Codebuch 64 enthaltenen Antworten der Impulsmuster unter Verwendung des Synthetisiererfilters 67 erzeugt, und die tatsächliche Bewertung der Qualität der Impulsmustererregung wird durch Korrelatoren 65 und 68 ausgeführt. Die optimalen Parameter uj, dj, oj werden durch eine Impulsmuster-Suchsteuerung 66 geliefert und dazu verwendet, durch den Impulsmuster-Auswählblock 69, den Verzögerungsgenerator 73 und den Ausrichtungsblock 74 die optimale Erregung zu erzeugen. Die Synthetisiererfilter-Statusvariablen werden dadurch aktualisiert, dass der erzeugte optimale Erregungsvektor vi,opt, der durch den Multiplizierblock 70 unter Verwendung des durch die Impulsmustersteuerung erzeugten Skalierungsfaktors gc,opt skaliert wurde, auf die Synthetisiererfilter 71 und 72 angewandt wird. Die Optimierung der Impulsmuster-Erregungsparameter wird unten erläutert.
  • Der Impulsmustercodebuch-Suchprozess sollte diejenigen Impulsmuster-Erregungsparameter auffinden, die den folgenden Ausdruck minimieren:
  • wobei eltp(n) das Ausgangssignal der Subtrahiereinrichtung 63 ist, wie oben erörtert, d. h. das gewichtete ursprüngliche Sprachsignal nach Subtrahieren der Nulleingabe-Antwort no(n) und des Einflusses des Langterm-Vorhersagezweigs vom gewichteten Sprachsignal sw(n); ssc,i(n) ein Sprachsignalvektor ist, der im Synthetisiererfilter 67 synthetisiert wird. Dies führt zur Suche nach dem Maximum von
  • Ri²/Ai (6)
  • mit
  • und
  • Derjenige Vektor, der den Ausdruck (5) minimiert, wird für den optimalen Erregungsvektor Vi,opt(n) ausgewählt, wobei die Notation i,opt als fortlaufende Nummer verwendet ist.
  • In Zusammenhang mit der Suche nach dem optimalen Impulsmuster wird auch der Skalierungsfaktor gc optimiert, um den optimalen Skalierungsfaktor gc,opt zu erhalten, der dazu verwendet wird, die optimal skalierte Erregung wi,opt(n) zu erzeugen, die an die Synthetisiererfilter im Decodierer und das Langtermfilter 71 des Optimierungszweigs im Codierer geliefert wird, d. h.
  • wi,opt(n) = gc,opt Vi,opt(n) (9).
  • Der optimale Skalierungsfaktor gc,opt ist durch Ri,opt/ A,iopt gegeben, wobei Ri,opt und A,iopt die Terme für optimale Kreuzkorrelation sowie Autokorrelation sind.
  • Für einen vorgegebenen Erregungsvektor vi(n) ist die gewichtete Antwort hi(n) des Synthetisiererfilters für jedes Impulsmuster pi(n) wie folgt gegeben:
  • mit 0 ≤ n ≤ L - 1, und wobei huj (n) die Antwort des gewichteten Synthetisierungsfilters 67 auf das Impulsmuster puj (n) ist.
  • Die Codebuchsuche kann unter Verwendung, der Impulsmuster- Korrelationsvektoren wirkungsvoll ausgeführt werden. Der Kreuzkorrelationsterm Ri für jeden Erregungsvektor vi(n) kann unter Verwendung des Impulsmuster-Korrelationsvektors rk(n) berechnet werden, mit
  • mit 0 ≤ n ≤ L - 1.
  • Der Impulsmuster-Korrelationsvektor rk(n) wird für jedes Impulsmuster (k = 1, 2, ..., P) berechnet. Der für den jeweiligen Erregungsvektor vi(n) bezüglich des zu modellierenden Signalvektors (der als Kombination von K Impulsmustern erzeugt wird und durch die Impulsmusterpositionen uj im Impulsmuster-Codebuch, die Impulsmusterverzögerungen, d. h. Positionen bezüglich des Starts des Erregungsvektors, dj und die Ausrichtungen oj definiert ist) berechnete Kreuzkorrelationsterm Ri kann einfach wie folgt berechnet werden:
  • Entsprechend kann der Autokorrelationsterm Ai für das synthetisierte Sprachsignal wie folgt berechnet werden:
  • mit:
  • Wenn der Testvorgang für die Impulsmustererregung auf empfindliche Weise betreffend die Berechnung des Kreuzkorrelationsterms r r k&sub1; k&sub2; (n&sub1;, n&sub2;)ausgebildet ist, können die zuvor berechneten Impulsmuster-Kreuzkorrelationsterme in den Berechnungsvorgängen verwendet werden und die Rechnerbelastung und den Speicherverbrauch auf niedrigem Niveau halten. Dann würde die Impulsmustertechnik dazu verwendet, mit einer Optimierung der Impulsmustererregung durch Positionieren der Impulsmuster ausgehend vom Ende des Erregungsrahmens und durch Zählen der Korrelation der Abfolge nach für derartige Impulsmuster, bei denen ein Impulsmuster für einen Abtastwert zum Startpunkt des Erregungsrahmens verschoben wurde, ohne dann die wechselseitigen Abstände zwischen den Impulsmustern zu ändern, zu beginnen. Dann kann die Impulsmuster- Kreuzkorrelation für die verschobene Impulsmusterkombination dadurch berechnet werden, dass ein neu multiplizierter Term zum vorigen Wert addiert wird.
  • Aus der obigen Beschreibung ist es erkennbar, dass das Impulsmusterverfahren bei diesen Ausführungsbeispielen drei Schritte umfasst:
  • - Im ersten Schritt werden alle Impulsmuster durch Synthetisiererfilter gefiltert, was zu P-Impulsmusterantworten hk(n), mit k = 1, 2, ..., P führt.
  • - Im zweiten Schritt wird für L Impulsmusterverzögerungen die Korrelation für jede Impulsmusterantwort hk(n) zum Signal eltp berechnet, wobei das Ausgangssignal des LTP-Zweigs vom gewichteten Sprachsignal sw(n) angezogen wurde, wobei der Ablauf zum Korrelationsvektor rk(n) führt. Die Länge des Vektors beträgt L Abtastwerte, und sie wird für P-Impulsmuster berechnet.
  • - Im dritten Schritt wird der Effekt jeder Impulsmustererregung dadurch ausgewertet, dass der Autokorrelationsterm Ai und der Kreuzkorrelationsterm Ri berechnet werden und auf Grundlage derselben die optimale Erregung ausgewählt wird. In Verbindung mit dem Testvorgang der Erregungsvektoren wird der Kreuzkorrelationsterm r r k&sub1; k&sub2; (n1, n&sub2;) rekursiv für jede Impulsmusterkombination berechnet.
  • Gemäß der Erfindung ist es möglich, die Rechnerbelastung für die oben angegebene Impulsmusterparameter-Optimierung weiter dadurch zu verringern, dass eine Optimierung der Impulsmusterpositionen in zwei Schritten ausgeführt wird. Im ersten Schritt werden die Impulsmusterverzögerungen, d. h. die Positionen in der Impulsmustererregung, bezüglich des Startpunkts der Erregungsblöcke dadurch ausgesucht, dass für jedes Impulsmuster pj(n) Verzögerungswerte verwendet werden, deren Differenz (Gitterabstand) Dj Abtastwerten oder einem Mehrfachen von Dj entspricht. Im ersten Schritt werden die folgenden Kombinationen bewertet:
  • mit r = 0, 1, ..., [(L - 1)/Dj], wobei die Funktion in diesem Zusammenhang bedeutet, dass auf ganze Werte abgeschnitten wird.
  • Die oben beschriebene Suche führt, für jedes Impulsmuster j, das in die Erregung einzuschließen ist, zu optimalen Verzögerungswerten ddj (1 ≤ j ≤ K) eines Gitters mit der Schrittweite Dj.
  • Der zweite Schritt umfasst das Testen der Verzögerungswerte ddj - (Dj - 1), ddj - (Dj - 2), ..., ddj - 2, ddj - 1, ddj + 1, ddj + 2, ddj + (Dj - 2), ddj + (Dj - 1), wie sie in der Nähe der im Schritt 1 gefundenen optimalen Verzögerungswerte liegen. Bei diesem zweiten Schritt wird ein neuer Optimierungszyklus entsprechend dem Schritt 1 für alle Impulsmuster-Erregungsparameter ausgeführt, jedoch beschränkt auf die oben genannten Verzögerungswerte in der Nähe von ddj. Im Ergebnis werden die endgültigen Impulsmusterparameter uj, dj und oj erhalten.
  • Die zweistufige Suche nach den Positionen der Impulsmuster im Erregungsvektor ermöglicht es, die Rechnerbelastung des PPELP-Codierers weiter gegenüber den oben angegebenen Werten zu verringern, ohne dass die durch das Verfahren erzielte subjektive Qualität beeinträchtigt wird, wenn die Gitterschrittweite Dj vernünftig klein gehalten wird. Z. B. erzeugt die Verwendung von Gitterschrittweiten D&sub1; = 1 und D&sub2; = 3 für K = 2 immer noch ein gutes Codierungsergebnis.
  • Für den Fachmann ist es aus der obigen Beschreibung ersichtlich, dass es möglich ist, die erfindungsgemäße Idee auf verschiedene Weisen dadurch zu verwenden, dass die angegebenen Ausführungsbeispiele modifiziert werden, ohne dass dadurch von den beigefügten Ansprüchen und ihrem Schutzumfang abgewichen wird.

Claims (9)

1. Verfahren zum Synthetisieren eines Sprachsignalblocks in einem Sprachcodierer vom CELP-Typ, das es umfasst, einen Erregungsvektor auf einen Synthetisierer des Codierers zu geben, um einen Block synthetisierter Sprache zu erzeugen, dadurch gekennzeichnet, dass das Verfahren ferner folgendes umfasst:
- Auswählen einer vorbestimmten Anzahl (K) von Impulsmustern (Pj(n)) aus einem Codebuch (64) des Codierers, der einen Satz (P) von Impulsmustern enthält, wobei K größer als eins ist;
- Bestimmen der Verzögerung (dj) und der Ausrichtung (Oj) jedes ausgewählten Impulsmusters bezüglich des Startpunkts des Erregungsvektors, wobei Oj entweder 1 oder -1 ist; und
- Erzeugen des Erregungsvektors durch Kombinieren der ausgewählten Impulsmuster, wobei jedes Impulsmuster die bestimmte Verzögerung (dj) und Ausrichtung (Oj) aufweist.
2. Verfahren nach Anspruch 1, bei dem der Erregungsvektor ein optimaler Erregungsvektor (Vi,opt, Wi,opt) ist, der auf einen ersten Zweig des Codierers gegeben wird.
3. Verfahren nach Anspruch 1 oder 2, bei dem die ausgewählten Impulsmuster durch eine Impulsmuster-Erzeugungseinrichtung (51) des Codierers auf Grundlage eingegebener optimaler Steuerparameter (uj, dj, oj) erzeugt werden.
4. Verfahren nach Anspruch 3, bei dem die Steuerparameter einen ersten Parameter (uj) zum Auswählen des Satzes von Impulsmustern unter Bezugnahme auf ihre Position im Codebuch, einen zweiten Parameter (dj) zum Bestimmen der Verzögerung der Impulsmuster sowie einen dritten Parameter (oj) zum Bestimmen der Ausrichtung der Impulsmuster umfassen.
5. Verfahren nach Anspruch 2, 3 oder 4 in Abhängigkeit von Anspruch 2, bei dem das ursprüngliche Sprachsignal gewichtet und modifiziert wird, um jede Auswirkung eines zuvor synthetisierten Sprachblocks zu beseitigen, um ein gewichtetes ursprüngliches Sprachsignal (eltp(n)) zu erzeugen, und jedes Impulsmuster aus dem Codebuch in einem Synthetisiererfilter (67) eines zweiten Synthetisiererzweigs des Codierers gefiltert wird, um eine vorbestimmte Anzahl (P) der Antworten (hi(n)) des Synthetisiererfilters zu erzeugen, die korreliert sind, so dass die optimalen Steuerparameter bestimmt werden, bei denen das Verhältnis der Kreuzkorrelation (Ri) zur Autokorrelation (Ai) der Antwort des Synthetisiererfilters auf das gewichtete ursprüngliche Sprachsignal maximal ist.
6. Verfahren nach Anspruch 5, ferner mit dem Schritt des Bestimmens der optimalen Impulsmusterverzögerung unter Verwendung eines Äquidistanzgitters durch Bestimmen der Verzögerung als Funktion einer ersten Position (ddj) auf dem Gitter, mit anschließendem Bestimmen der Verzögerung als Funktion einer zweiten Position in der Nähe der ersten Position.
7. Sprachcodierer vom CELP-Typ zum Verarbeiten eines synthetisierten Sprachsignals aus einem ursprünglichen Sprachsignal, mit:
- einem ersten Synthetisierer 2, der so arbeitet, dass er einen Block synthetisierter Sprache aus einem zugeführten Erregungsvektor (Vi,opt, Wi,opt) erzeugt; dadurch gekennzeichnet, dass er ferner folgendes aufweist:
- ein Codebuch (10; 13; 27; 50) mit einem Satz (P) von Impulsmustern; und
- eine Einrichtung (12, 31, 51, 3) zum Erzeugen des Erregungsvektors durch Auswählen einer vorbestimmten Anzahl (K) von Impulsmustern (Pj(n)) aus dem Codebuch (10; 13; 27; 50), wobei K nicht größer als eins ist; Bestimmen der Ausrichtung (Oj) und der Verzögerung (dj) jedes ausgewählten Impulsmusters bezüglich des Startpunkts des Erregungsvektors, wobei Oj 1 oder -1 ist; und Kombinieren der ausgewählten Impulsmuster, wobei jedes Impulsmuster die bestimmte Verzögerung (dj) und Ausrichtung (Oj) aufweist, um den Erregungsvektor zu erzeugen.
8. Sprachcodierer nach Anspruch 7, mit einer Einrichtung zum Erzeugen eines Satzes optimaler Steuerparameter (uj, dj, oj) zum Auswählen der Impulsmuster, und zum Bestimmen ihrer Verzögerung und Ausrichtung.
9. Sprachcodierer nach Anspruch 8, mit:
- einer Einrichtung (60, 61, 62, 63) zum Erzeugen eines gewichteten ursprünglichen Sprachsignals (eltp(n)), das so modifiziert ist, dass jede Einwirkung eines zuvor synthetisierten Sprachblocks beseitigt ist;
- einer Einrichtung zum Filtern (67) des Satzes vorbestimmter Impulsmuster vom Codebuch zum Erzeugen einer vorbestimmten Anzahl (P) von Synthetisierfilterantworten (hi(n));
- wobei die Steuerparameter-Erzeugungseinrichtung eine Korrelationseinrichtung (65, 68) für Kreuzkorrelation und Autokorrelation der Synthetisiererfilterantworten mit dem gewichteten ursprünglichen Sprachsignal aufweist; und
- einer Einrichtung (66) zum Erzeugen der optimalen Steuerparameter, wenn das Verhältnis der Kreuzkorrelation zur Autokorrelation maximal ist.
DE69227650T 1991-05-20 1992-05-19 Digitaler Sprachkodierer Expired - Fee Related DE69227650T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FI912438A FI98104C (fi) 1991-05-20 1991-05-20 Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi

Publications (2)

Publication Number Publication Date
DE69227650D1 DE69227650D1 (de) 1999-01-07
DE69227650T2 true DE69227650T2 (de) 1999-06-24

Family

ID=8532557

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69227650T Expired - Fee Related DE69227650T2 (de) 1991-05-20 1992-05-19 Digitaler Sprachkodierer

Country Status (5)

Country Link
US (1) US5327519A (de)
EP (1) EP0515138B1 (de)
JP (1) JP3167787B2 (de)
DE (1) DE69227650T2 (de)
FI (1) FI98104C (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717824A (en) * 1992-08-07 1998-02-10 Pacific Communication Sciences, Inc. Adaptive speech coder having code excited linear predictor with multiple codebook searches
WO1994007239A1 (en) * 1992-09-16 1994-03-31 Fujitsu Limited Speech encoding method and apparatus
US5864650A (en) * 1992-09-16 1999-01-26 Fujitsu Limited Speech encoding method and apparatus using tree-structure delta code book
FI95086C (fi) * 1992-11-26 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin tehokkaaksi koodaamiseksi
FI96248C (fi) * 1993-05-06 1996-05-27 Nokia Mobile Phones Ltd Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin
FI94810C (fi) * 1993-10-11 1995-10-25 Nokia Mobile Phones Ltd Menetelmä huonon GSM-puhekehyksen tunnistamiseksi
EP0657874B1 (de) * 1993-12-10 2001-03-14 Nec Corporation Stimmkodierer und Verfahren zum Suchen von Kodebüchern
JP2979943B2 (ja) * 1993-12-14 1999-11-22 日本電気株式会社 音声符号化装置
IT1271182B (it) * 1994-06-20 1997-05-27 Alcatel Italia Metodo per migliorare le prestazioni dei codificatori vocali
FR2729247A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FR2729244B1 (fr) * 1995-01-06 1997-03-28 Matra Communication Procede de codage de parole a analyse par synthese
FR2732148B1 (fr) * 1995-03-24 1997-06-13 Sgs Thomson Microelectronics Determination d'un vecteur d'excitation dans un codeur celp
JPH08272395A (ja) * 1995-03-31 1996-10-18 Nec Corp 音声符号化装置
JPH08292797A (ja) * 1995-04-20 1996-11-05 Nec Corp 音声符号化装置
US5778026A (en) * 1995-04-21 1998-07-07 Ericsson Inc. Reducing electrical power consumption in a radio transceiver by de-energizing selected components when speech is not present
US5864797A (en) * 1995-05-30 1999-01-26 Sanyo Electric Co., Ltd. Pitch-synchronous speech coding by applying multiple analysis to select and align a plurality of types of code vectors
US5822724A (en) * 1995-06-14 1998-10-13 Nahumi; Dror Optimized pulse location in codebook searching techniques for speech processing
JP3616432B2 (ja) * 1995-07-27 2005-02-02 日本電気株式会社 音声符号化装置
US5867814A (en) * 1995-11-17 1999-02-02 National Semiconductor Corporation Speech coder that utilizes correlation maximization to achieve fast excitation coding, and associated coding method
JP3137176B2 (ja) * 1995-12-06 2001-02-19 日本電気株式会社 音声符号化装置
FR2742568B1 (fr) * 1995-12-15 1998-02-13 Catherine Quinquis Procede d'analyse par prediction lineaire d'un signal audiofrequence, et procedes de codage et de decodage d'un signal audiofrequence en comportant application
DE19641619C1 (de) * 1996-10-09 1997-06-26 Nokia Mobile Phones Ltd Verfahren zur Synthese eines Rahmens eines Sprachsignals
KR100339168B1 (ko) * 1996-11-07 2002-06-03 모리시타 요이찌 음원 벡터 생성 장치, 음성 부호화 장치 및 음성 복호화장치
US5960389A (en) * 1996-11-15 1999-09-28 Nokia Mobile Phones Limited Methods for generating comfort noise during discontinuous transmission
US6108624A (en) * 1997-09-10 2000-08-22 Samsung Electronics Co., Ltd. Method for improving performance of a voice coder
KR100872246B1 (ko) 1997-10-22 2008-12-05 파나소닉 주식회사 직교화 탐색 방법 및 음성 부호화기
FI980132A (fi) 1998-01-21 1999-07-22 Nokia Mobile Phones Ltd Adaptoituva jälkisuodatin
KR100510399B1 (ko) * 1998-02-17 2005-08-30 모토로라 인코포레이티드 고정 코드북내의 최적 벡터의 고속 결정 방법 및 장치
JP3199020B2 (ja) * 1998-02-27 2001-08-13 日本電気株式会社 音声音楽信号の符号化装置および復号装置
US6480822B2 (en) * 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
JP4173940B2 (ja) * 1999-03-05 2008-10-29 松下電器産業株式会社 音声符号化装置及び音声符号化方法
US6782361B1 (en) 1999-06-18 2004-08-24 Mcgill University Method and apparatus for providing background acoustic noise during a discontinued/reduced rate transmission mode of a voice transmission system
KR100391527B1 (ko) 1999-08-23 2003-07-12 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치, 기록 매체, 음성 복호화 장치, 신호 처리용 프로세서, 음성 부호화 복호화 시스템, 통신용 기지국, 통신용 단말 및 무선 통신 시스템
US6980948B2 (en) * 2000-09-15 2005-12-27 Mindspeed Technologies, Inc. System of dynamic pulse position tracks for pulse-like excitation in speech coding
US6789059B2 (en) * 2001-06-06 2004-09-07 Qualcomm Incorporated Reducing memory requirements of a codebook vector search
EP1994531B1 (de) * 2006-02-22 2011-08-10 France Telecom Verbesserte celp kodierung oder dekodierung eines digitalen audiosignals
US20090164211A1 (en) * 2006-05-10 2009-06-25 Panasonic Corporation Speech encoding apparatus and speech encoding method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4701954A (en) * 1984-03-16 1987-10-20 American Telephone And Telegraph Company, At&T Bell Laboratories Multipulse LPC speech processing arrangement
NL8500843A (nl) * 1985-03-22 1986-10-16 Koninkl Philips Electronics Nv Multipuls-excitatie lineair-predictieve spraakcoder.
US4910781A (en) * 1987-06-26 1990-03-20 At&T Bell Laboratories Code excited linear predictive vocoder using virtual searching
CA1337217C (en) * 1987-08-28 1995-10-03 Daniel Kenneth Freeman Speech coding
US4817157A (en) * 1988-01-07 1989-03-28 Motorola, Inc. Digital speech coder having improved vector excitation source
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
CA2019801C (en) * 1989-06-28 1994-05-31 Tomohiko Taniguchi System for speech coding and an apparatus for the same
US5097508A (en) * 1989-08-31 1992-03-17 Codex Corporation Digital speech coder having improved long term lag parameter determination
JPH0451199A (ja) * 1990-06-18 1992-02-19 Fujitsu Ltd 音声符号化・復号化方式

Also Published As

Publication number Publication date
US5327519A (en) 1994-07-05
JP3167787B2 (ja) 2001-05-21
EP0515138A2 (de) 1992-11-25
JPH05210399A (ja) 1993-08-20
DE69227650D1 (de) 1999-01-07
FI98104B (fi) 1996-12-31
FI98104C (fi) 1997-04-10
FI912438A0 (fi) 1991-05-20
EP0515138A3 (en) 1993-06-02
EP0515138B1 (de) 1998-11-25
FI912438A (fi) 1992-11-21

Similar Documents

Publication Publication Date Title
DE69227650T2 (de) Digitaler Sprachkodierer
DE3854453T2 (de) CELP Vocoder und Anwendungsverfahren.
DE69628103T2 (de) Verfahren und Filter zur Hervorbebung von Formanten
DE3853916T2 (de) Digitaler-sprachkodierer mit verbesserter vertoranregungsquelle.
DE3244476C2 (de)
DE60226308T2 (de) Quantisierung der Anregung in einem Geräuschrückkopplungskodierungssytem mit allgemeiner Rauschformung
DE69928288T2 (de) Kodierung periodischer sprache
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE69604526T2 (de) Verfahren zur Anpassung des Rauschmaskierungspegels in einem Analyse-durch-Synthese-Sprachkodierer mit einem wahrnehmunggebundenen Kurzzeitfilter
DE69309557T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69932460T2 (de) Sprachkodierer/dekodierer
DE69518452T2 (de) Verfahren für die Transformationskodierung akustischer Signale
DE3856211T2 (de) Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen
DE68912692T2 (de) Zur Sprachqualitätsmodifizierung geeignetes Übertragungssystem durch Klassifizierung der Sprachsignale.
DE69029120T2 (de) Stimmenkodierer
DE3874427T2 (de) Linearer praediktionsvocoder mit code-anregung.
DE19647298C2 (de) Kodiersystem
DE69619284T3 (de) Vorrichtung zur Erweiterung der Sprachbandbreite
DE60011051T2 (de) Celp-transkodierung
DE3041423C1 (de) Verfahren und Vorrichtung zur Verarbeitung eines Sprachsignals
DE69621393T2 (de) Quantisierung von Sprachsignalen in prädiktiven Kodiersystemen unter Verwendung von Modellen menschlichen Hörens
DE69129329T2 (de) Sprachkodierungsystem
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE69013738T2 (de) Einrichtung zur Sprachcodierung.

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

8339 Ceased/non-payment of the annual fee