DE69225293T2 - Verallgemeinerte Analyse-durch-Synthese Methode und Einrichtung zur Sprachkodierung - Google Patents

Verallgemeinerte Analyse-durch-Synthese Methode und Einrichtung zur Sprachkodierung

Info

Publication number
DE69225293T2
DE69225293T2 DE69225293T DE69225293T DE69225293T2 DE 69225293 T2 DE69225293 T2 DE 69225293T2 DE 69225293 T DE69225293 T DE 69225293T DE 69225293 T DE69225293 T DE 69225293T DE 69225293 T2 DE69225293 T2 DE 69225293T2
Authority
DE
Germany
Prior art keywords
original
original signal
signal
error
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69225293T
Other languages
English (en)
Other versions
DE69225293D1 (de
Inventor
Willem Bastiaan Kleijn
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.)
AT&T Corp
Original Assignee
AT&T Corp
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 AT&T Corp filed Critical AT&T Corp
Publication of DE69225293D1 publication Critical patent/DE69225293D1/de
Application granted granted Critical
Publication of DE69225293T2 publication Critical patent/DE69225293T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • 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
    • 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/0012Smoothing of parameters of the decoder interpolation
    • 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/0013Codebook search algorithms
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients

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)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

    Erfindungsgebiet
  • Die vorliegende Erfindung betrifft allgemein Sprachcodierungssysteme und insbesondere eine Verringerung der Bandbreitenanforderungen bei Analyse- durch-Synthese-Sprachcodierungssystemen.
  • Stand der Technik
  • Sprachcodierungssysteme haben die Aufgabe, Codewortdarstellungen von Sprachsignalen bereitzustellen, die über einen Kanal oder ein Netz zu einem oder mehreren Empfängern des Systems übermittelt werden. Jeder Empfänger des Systems rekonstruiert aus empfangenen Codeworten Sprachsignale. Die durch ein System in einer gegebenen Zeitspanne übermittelte Menge von Codewortinformationen definiert die Systembandbreite und wirkt sich auf die Qualität der Sprachwiedergabe durch Empfänger des Systems aus.
  • Entwickler von Sprachcodierungssystemen versuchen häufig, die Fähigkeit einer qualitativ hochwertigen Sprachwiedergabe mit sowenig Bandbreite wie möglich bereitzustellen. Die Anforderungen qualitativ hochwertiger Sprache und niedrigerer Bandbreite können jedoch miteinander in Konflikt stehen und deshalb bei einem Entwicklungsprozeß zu technischen Kompromissen führen. Dennoch wurden Sprachcodierungsverfahren entwickelt, die eine akzeptable Sprachqualität bei verringerten Kanalbandbreiten bereitstellen. Zu diesen gehören Analyse-durch-Synthese- Sprachcodierungsverfahren.
  • Bei Analyse-durch-Synthese-Sprachcodierungsverfahren werden Sprachsignale durch einen Wellenformenanpassungsprozeß codiert. Aus einem oder mehreren Parametern wird synthetisch ein versuchsweises Sprachsignal erzeugt, um mit einem zu codierenden Original-Sprachsignal verglichen zu werden. Durch Verändern von Parametern können verschiedene synthetisch erzeugte versuchsweise Sprachsignale bestimmt werden. Die Parameter des am besten übereinstimmenden versuchsweisen Sprachsignals können dann verwendet werden, um das Original-Sprachsignal darzustellen.
  • Viele Analyse-durch-Synthese-Codierer, zum Beispiel die meisten codeerregten linearen Prädiktionscodierer (CELP-Codierer), setzen einen Langzeit-Prädiktor (LTP) ein, um Langzeit-Korrelationen in Sprachsignalen zu modellieren (der Ausdruck "Sprachsignale" bedeutet tatsächliche Sprache oder ein beliebiges der in Analyse-durch-Synthese-Codierern vorliegenden Erregungssignale). Im allgemeinen ermöglichen solche Korrelationen die Verwendung eines vergangenen Sprachsignals als eine Approximation eines aktuellen Sprachsignals. LTP arbeiten durch Vergleichen mehrerer vergangener Sprachsignale (die bereits codiert wurden) mit einem aktuellen (Original-) Sprachsignal. Durch solche Vergleiche bestimmt der LTP, welche vergangenen Sprachsignale gut mit dem Originalsignal übereinstimmen. Ein vergangenes Sprachsignal kann durch eine Verzögerung identifiziert werden, die angibt, wie weit in der Vergangenheit zurückliegend (von der aktuellen Zeit aus) das Signal zu finden ist. Ein Codierer, der einen LTP einsetzt, subtrahiert eine skalierte Version des am besten übereinstimmenden vergangenen Sprachsignals (d.h. die beste Approximation) von dem aktuellen Sprachsignal, um ein Signal zu erzeugen (das manchmal als Rest oder Erregung bezeichnet wird), das eine verringerte Langzeit- Korrelation aufweist. Dieses Signal wird dann typischerweise mit einem festen stochastischen Codebuch (FSCB) codiert. Der FSCB-Index und die LTP-Verzögerung werden u.a. zu einem CELP-Decodierer übertragen, der aus diesen Parametern eine Abschätzung des Original- Sprachsignals wiederherstellen kann.
  • Durch Modellieren von Langzeit-Korrelationen von Sprache kann die Qualität der rekonstruierten Sprache in einem Decodierer verbessert werden. Diese Verbesserung wird jedoch nicht ohne eine wesentliche Erhöhung der Bandbreite erzielt. Um zum Beispiel Langzeit-Korrelationen von Sprache zu modellieren, können herkömmliche CELP-Codierer alle 5 oder 7,5 ms 8-Bit-Verzögerungsinformationen übertragen (was als Unterrahmen bezeichnet wird). Solche zeitveränderlichen Verzögerungsparameter erfordern zum Beispiel eine Bandbreite von ein bis zwei Kilobit (kb) pro Sekunde. Da Schwankungen der LTP-Verzögerung nicht immer über die Zeit hinweg prädizierbar sind (d.h. eine Folge von LTP-Verzögerungswerten kann von stochastischer Beschaffenheit sein), kann es sich als schwierig erweisen, die zusätzliche Bandbreitenanforderung durch die Codierung von Verzögerungsparametern zu verringern.
  • Ein Ansatz zur Verringerung der zusätzlichen Bandbreitenanforderungen von Analyse-durch-Synthese- Codierern, die einen LTP einsetzen, könnte darin bestehen, LTP-Verzögerungswerte weniger häufig zu übertragen und LTP-Verzögerungszwischenwerte durch Interpolation zu bestimmen. Interpolation kann jedoch dazu führen, daß in einzelnen Unterrahmen des Sprachsignals suboptimale Verzögerungswerte verwendet werden. Wenn die Verzögerung suboptimal ist, dann wird zum Beispiel der LTP auf suboptimale Weise vergangene Sprachsignale auf aktuelle abbilden. Infolgedessen wird ein etwaiges verbleibendes Erregungssignal größer, als es andernfalls sein könnte. Das FSCB muß dann arbeiten, um die Auswirkungen dieser suboptimalen Zeitverschiebung rückgängig zu machen, anstatt seine normale Funktion der Verbesserung der Gestalt der Wellenform auszuführen. Ohne diese Verbesserung kann sich eine wesentliche hörbare Verzerrung ergeben.
  • Y. Shiraki und M. Honda offenbaren in IEEE Transactions on Acoustics, Speech and Signal Processing, Band 36, Nr. [9], Seiten 1437-1444, September 1988, einen Vocoder mit variabler Segmentlänge auf der Grundlage der kombinierten Segmentierung und Quantisierung für die Sprachcodierung mit sehr niedrigen Bitraten. Das Codierungsproblem wird dadurch formuliert, nach den Segmentgrenzen und der Folge von Codesegmenten zu suchen, so daß das Spektralverzerrungsmaß für ein gegebenes Intervall minimiert wird. Dieses Verfahren verwendet eine Prozedur der dynamischen Programmierung. Außerdem wird ein iterativer Algorithmus zum Entwurf des Quantisierers mit variabler Segmentlänge offenbart. Dieser iterative Algorithmus besteht darin, die Segmentgrenzen zu aktualisieren und die Codesegmente mit fester Länge für die Trainingssequenz zu aktualisieren.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung wird durch die unabhängigen Ansprüche definiert.
  • Durch die vorliegende Erfindung wird ein Verfahren und eine Vorrichtung zur Verringerung der Bandbreitenanforderungen bei Analyse-durch-Synthese- Sprachcodierungssystemen bereitgestellt. Durch die vorliegende Erfindung werden mehrere, auf einem eigentlich zu codierenden Originalsignal basierende Versuchs-Originalsignale bereitgestellt. Diesen Versuchs-Originalsignalen wird die Beschränkung auferlegt, daß sie dem eigentlichen Originalsignal hörbar ähnlich sind, und werden anstelle der Verwendung des tatsächlichen Originals bei der Codierung oder als Ergänzung verwendet. Das Originalsignal und damit auch die Versuchs-Originalsignale können die Form tatsächlicher Sprachsignale oder beliebiger der in Analyse-durch-Synthese-Codierern vorliegenden Erregungssignale annehmen. Die vorliegende Erfindung realisiert eine verallgemeinerte Analyse-durch- Synthese-Codierung, indem die Variation von Original- Sprachsignalen berücksichtigt wird, um die Codierungsfehler- und Bitrate zu reduzieren. Die Erfindung ist u.a. auf Netze zur Kommunikation von Sprachinformationen wie zum Beispiel zellulare und herkömmliche Telefonnetze anwendbar.
  • In einer illustrativen Ausführungsform der vorliegenden Erfindung werden in einem Codierungs- und Synthetisierungsprozeß Versuchs-Originalsignale verwendet, um rekonstruierte Originalsignale zu erzeugen. Zwischen den Versuchs-Originalsignalen und den rekonstruierten Signalen werden Fehlersignale gebildet. Das Versuchs-Originalsignal, von dem bestimmt wird, daß es den kleinsten Fehler ergibt, wird als Grundlage für die Codierung und die Übermittlung zu einem Empfänger verwendet. Indem der Fehler auf diese Weise verringert wird, kann ein Codierungsprozeß so modifiziert werden, daß die erforderliche Systembandbreite reduziert wird.
  • In einer weiteren illustrativen Ausführungsform der vorliegenden Erfindung werden für einen CELP- Codierer ein oder mehrere Versuchs-Originalsignale bereitgestellt, indem ein Codebuch von Zeitverzerrungen auf das tatsächliche Originalsignal angewendet wird. In einer LTP-Prozedur des CELP-Codierers werden Versuchs- Originalsignale mit einem versuchsweisen vergangenen Sprachsignal verglichen, daß durch ein adaptives Codebuch bereitgestellt wird. Es wird das Versuchs- Originalsignal bestimmt, das dem versuchsweisen Signal am nächsten kommt. Als Teil des des LTP-Prozesses wird das versuchsweise Signal von dem identifizierten Versuchs-Originalsignal subtrahiert, um einen Rest zu bilden. Der Rest wird dann durch Anwendung eines festen stochatischen Codebuchs codiert. Als Folge der Verwendung mehrerer Versuchs-Originalsignale bei der LTP-Prozedur wird durch die illustrative Ausführungsform der vorliegenden Erfindung eine verbesserte Abbildung von vergangenen Signalen auf die aktuellen und, als Ergebnis, ein verringerter Rest-Fehler bereitgestellt. Dieser verringerte Rest-Fehler führt zu einer weniger häufigen Übertragung von LTP- Verzögerungsinformationen und ermöglicht eine Verzögerungsinterpolation fast ohne oder ganz ohne Verschlechterung der Qualität der rekonstruierten Sprache.
  • Durch eine weitere illustrative Ausführungsform der vorliegenden Erfindung werden durch ein Zeitverschiebungs-Verfahren mehrere Versuchs- Originalsignale bereitgestellt.
  • Kurze Beschreibung der Zeichnungen
  • FIG. 1 zeigt eine illustrative Ausführungsform der vorliegenden Erfindung.
  • FIG. 2 zeigt einen herkömmlichen CELP-Codierer.
  • FIG. 3 zeigt eine illustrative Ausführungsform der vorliegenden Erfindung.
  • FIG. 4 zeigt eine illustrative Zeitverzerrungsfunktion für die in FIG. 3 gezeigte Ausführungsform.
  • FIG. 5 zeigt eine illustrative Ausführungsform der vorliegenden Erfindung, die die Zeitverschiebung betrifft.
  • FIG. 6 zeigt eine illustrative Zeitverschiebungsfunktion für die in FIG. 5 gezeigte Ausführungsform.
  • Ausführliche Beschreibung Einführung
  • FIG. 1 zeigt eine illustrative Ausführungsform der vorliegenden Erfindung. Ein zu codierendes Original-Sprachsignal S(i) wird einem Generator 10 für Versuchs-Originalsignale bereitgestellt. Der Generator 10 für Versuchs-Originalsignale erzeugt ein Versuchs- Originalsignal (i), das dem Originalsignal S(i) hörbar ähnlich ist. Das Versuchs-Originalsignal (i) wird einem Sprachcodierer/-synthetisierer 15 bereitgestellt, der (i) eine codierte Darstellung für (i) bestimmt und (ii) darüber hinaus auf der Grundlage der codierten Darstellung von (i) ein rekonstruiertes Sprachsignal (i) erzeugt. Zwischen dem Versuchs-Original-Sprachsignal (i) und (i) wird durch die Subtraktionsschaltung 17 ein Differenz- oder Fehler-Signal E(i) erzeugt. Das Signal E(i) wird zu dem Generator 10 für Versuchs- Originalsignale rückgekoppelt, der als Versuch, den Betrag des Fehlersignals E(i) zu verringern, ein weiteres Versuchs-Originalsignal auswählt. Die Ausführungsform dient dadurch zur Bestimmung, welches Versuchs-Originalsignal min(i) innerhalb bestimmter Beschränkungen zu einem minimalen Fehler Emin(i) führt. Wenn min(i) bestimmt wurde, können Parameter, die von dem Sprachcodierer/-synthetisierer 15 verwendet wurden, um das entsprechende (i) zu synthetisieren, als die codierte Darstellung von min(i) und damit von S(i) dienen.
  • Durch die vorliegende Erfindung wird für die herkömmliche Analyse-durch-Synthese-Codierung eine Verallgemeinerung bereitgestellt, indem erkannt wird, daß die Originalsignale variiert werden können, um den bei dem Codierungsprozeß auftretenden Fehler zu verringern. Als solcher kann der Sprachcodierer/-synthetisierer 15 ein beliebiger herkömmlicher Analyse-durch-Synthese- Codierer sein, wie zum Beispiel eine herkömmliche CELP.
  • Herkömmliche CELP
  • Ein herkömmlicher Analyse-durch-Synthese-CELP- Codierer ist in FIG. 2 dargestellt. Ein abgetastetes Sprachsignal s(i) (wobei i der Abtastindex ist) wird einem linearen Kurzzeit-Prädiktionsfilter (STP) 20 der Ordnung N bereitgestellt, das für ein aktuelles Sprachsegment optimiert wurde. Das Signal x(i) ist eine nach der Filterung mit dem STP erhaltene Erregung:
  • wobei die Parameter an durch den linearen Prädiktionsanalysator 10 bereitgestellt werden. Da N (bei einer Abtastrate von 8 kHz) normalerweise etwa 10 Abtastwerte beträgt, behält das Erregungssignal x(i) die Langzeit-Periodiziät des Originalsignals s(i). Ein LTP 30 wird bereitgestellt, um diese Redundanz zu entfernen.
  • Die Werte für x(i) werden gewöhnlich blockweise bestimmt. Jeder Block wird als ein Unterrahmen bezeichnet. Die Koeffizienten an der linearen Prädiktion werden durch den Analysator 10 rahmenweise bestimmt, wobei ein Rahmen eine feste Länge aufweist, die im allgemeinen ein ganzzahliges Vielfaches von Unterrahmenlängen ist und gewöhnlich 20-30 ms lang ist. Die Unterrahmenwerte für an werden gewöhnlich durch Interpolation bestimmt.
  • Der LTP bestimmt eine Verstärkung λ(i) und eine Verzögerung d(i), die folgendermaßen zu verwenden sind:
  • wobei die (i-d(i)) Abtastwerte eines Sprachsignals sind, das in früheren Unterrahmen synthetisiert (oder rekonstruiert) wurde. Somit stellt der LTP 30 die Größe λ(i) (i-d(i)) bereit. Das Signal r(i) ist das Erregungssignal, das übrigbleibt, nachdem λ(i) (i-d (i)) von x(i) subtrahiert wurde. Das Signal r(i) wird dann mit einem FSCB 40 codiert. Das FSCB 40 ergibt einen Index, der den Codebuchvektor anzeigt, und einen zugeordneten Skalierungsfaktor u(i). Zusammen stellen diese Größen eine skalierte Erregung bereit, die am besten mit r(i) übereinstimmt.
  • Daten, die jeden Sprach-Unterrahmen darstellen, d.h. die LTP-Parameter λ(i) und d(i), und der FSCB- Index werden für die ganzzahlige Anzahl von Unterrahmen zusammengestellt, die gleich einem Rahmen ist (typischerweise 2, 4 oder 6). Dieser Daten-Rahmen wird zusammen mit den Koeffizienten an zu einem CELP- Codierer übermittelt, in dem er für die Rekonstruktion von Sprache verwendet wird.
  • Ein CELP-Codierer führt die Umkehrung des oben besprochenen Codierungsprozesses durch. Der FSCB-Index wird durch ein FSCB des (manchmal als Synthesizer bezeichneten) Empfängers empfangen, und der zugeordnete Vektor e(i) (ein Erregungssignal) wird von dem Codebuch abgerufen. Die Erregung e(i) wird verwendet, um einen LTP-Umkehrungsprozeß zu erregen (bei dem Langzeit- Korrelationen bereitgestellt werden), um ein quantisiertes Äquivalent von x(i), (i), zu erzeugen. Durch Filtern von (i) mit einem STP-Umkehrungsprozeß (bei dem Kurzzeit-Korrelationen bereitgestellt werden) wird ein rekonstruiertes Sprachsignal y(i) erzeugt.
  • Im allgemeinen kann die rekonstruierte Erregung (i) als die Summe von skalierten Beiträgen der adaptiven und festen Codebücher interpretiert werden. Zur Auswahl der Vektoren aus diesen Codebüchern kann ein wahrnehmungsgebunden relevantes Fehlerkriterium verwendet werden. Dies kann durch Ausnutzung der in dem menschlichen Gehör bestehenden spektralen Maskierung durchgeführt werden. Somit zieht dieses Fehlerkriterium, anstatt die Differenz zwischen dem Originalsignal und dem rekonstruierten Sprachsignal zu verwenden, die Differenz wahrnehmungsbezogen gewichteter Signale in Betracht.
  • Diese wahrnehmungsbezogene Gewichtung von Signalen deakzentuiert die in Sprache vorliegenden Formanten. In diesem Beispiel werden die Formanten durch ein Allpolfilter beschrieben, in dem die spektrale Deakzentuierung durch Verschieben der Pole nach innen erzielt werden kann. Dies entspricht dem Ersetzen des Filters mit den Prädiktorkoeffizienten a&sub1;,a&sub2;,...,aN durch ein Filter mit den Koeffizienten γa&sub1;, γ²a&sub2;,...,γNaN, wobei γ ein wahrnehmungsbezogener Gewichtungsfaktor ist (der gewöhnlich auf einen Wert um 0,8 eingestellt wird).
  • Das abgetastete Fehlersignal in dem wahrnehmungsbezogen gewichteten Bereich g(i) beträgt:
  • Das Fehlerkriterium von Analyse-durch-Synthese- Codierern wird unterrahmenweise formuliert. Für eine Unterrahmenlänge von L Abtastwerten wird häufig das folgende Kriterium verwendet:
  • wobei der erste Abtastwert des Unterrahmens ist. Es ist zu beachten, daß dieses Kriterium die Erregungsabtastwerte über den Unterrahmen hinweg ungleichmäßig gewichtet; der Abtastwert ( +L-1) wirkt sich nur auf g( +L-1) aus, während sich (i) auf alle Abtastwerte von g(i) in dem aktuellen Unterrahmen auswirkt.
  • Das Kriterium von Gleichung (4) schließt die Auswirkungen von Differenzen zwischen x(i) und (i) vor , d.h. vor dem Beginn des aktuellen Unterrahmens, mit ein. Es ist zweckmäßig, eine Erregung in dem aktuellen Unterrahmen zu definieren, um diese Antwort des gewichteten Synthesefilters auf ein Null-Eingangssignal darzustellen:
  • wobei z(i) die Null-Eingangssignalantwort des wahrnehmungsbezogen gewichteten Synthesefilters ist, wenn dieses mit x(i)- (i) erregt wird.
  • Im Zeitbereich führt die spektrale Deakzentuierung um den Faktor γ zu einer schnelleren Dämpfung der Impulsantwort des Allpolfilters. In der Praxis tritt bei einer Abtastrate von 8 kHz, und γ = 0,8, niemals ein wesentlicher Teil der Energie der Impulsantwort über 20 Abtastwerte hinaus auf.
  • Aufgrund ihres schnellen Abfallens kann die Impulsantwort des Allpolfilters 1/(1-γa&sub1;z&supmin;¹...-yNaNz-N) durch ein FIR-Filter approximiert werden. Es sei h&sub0;,h&sub1;,...,hR-1 die Impulsantwort des letzteren Filters. Dies ermöglicht Vektorschreibweise für das auf die wahrnehmungsbezogen gewichtete Sprache angewandte Fehlerkriterium. Da die Codierer unterrahmenweise wirken, ist es zweckmäßig, Vektoren mit der Länge des Unterrahmens in Abtastwerten L zu definieren. Zum Beispiel gilt für das Erregungssignal:
  • Weiterhin wird die spektrale Gewichtungsmatrix H folgendermaßen definiert:
  • H hat die Dimensionen (L+R-1) ×L. Somit approximiert der Vektor H (i) die gesamte Antwort des IIR-Filters 1/(1-γa&sub1;z&supmin;¹...-γNaNz-N) auf den Vektor (i). Mit diesen Definitionen ist das folgende wahrnehmungsbezogen gewichtete Kriterium angemessen:
  • Mit der aktuellen Definition von H ist das Fehlerkriterium von Gleichung (8) von der Autokorrelationsart (man beachte, daß HTH toeplitzsch ist). Wenn die Matrix H auf eine quadratische L×L-Matrix abgeschnitten wird, dann approximiert Gleichung (8) die Gleichung (4), bei der es sich um das häufiger anzutreffende Kovarianzkriterium handelt, so wie es in der Original-CELP verwendet wird.
  • Eine illustrative Ausführungsform für die CELP- Codierung
  • FIG. 3 zeigt eine illustrative Ausführungsform der vorliegenden Erfindung, so wie sie auf die CELP- Codierung angewandt werden kann. Ein abgetastetes Sprachsignal s(i) wird zur Codierung vorgelegt. Das Signal s(i) wird einem linear-prädiktiven Analysator 100 bereitgestellt, der die linearen Prädiktionskoeffizienten an erzeugt. Das Signal s(i) wird außerdem einem STP 120, der gemäß einem durch Gleichung (1) beschriebenen Prozeß wirkt, und einem Verzögerungsabschätzungsglied 140 bereitgestellt.
  • Das Verzögerungsabschätzungsglied 140 wirkt, um in der jüngeren Vergangenheit von s(i) (z.B. zwischen 20 und 160 Abtastwerten in der Vergangenheit) nach einer Menge aufeinanderfolgender vergangener Abtastwerte (mit einer einem Unterrahmen gleichkommenden Länge) zu suchen, die am besten mit dem aktuellen, zu codierenden Sprach-Unterrahmen s(i) übereinstimmt. Das Verzögerungsabschätzungsglied 140 kann seine Bestimmung eventuell durch eine Korrelationsprozedur des aktuellen Unterrahmens durchführen, wobei die zusammenhängende Menge vergangener Abtastwerte s(i) in dem Intervall i-160 ≤ i ≤ i-20 liegt. Ein illustratives Korrelationsverfahren ist das durch die herkömmlichen LTP mit offener Schleife von CELP-Codierern verwendete. (Der Ausdruck offene Schleife bezieht sich auf ein LTP- Abschätzungsverfahren, das statt rekonstruierter vergangener Sprachsignale Originalsignale verwendet. Ein Verzögerungsabschätzungsprozeß, der rekonstruierte Sprachsignale verwendet, wird als Prozeß mit geschlossener Schleife bezeichnet.) Das Verzögerungsabschätzungsglied 140 bestimmt einmal pro Rahmen durch die oben beschriebene Prozedur eine Verzögerungsabschätzung. Das Verzögerungsabschätzungsglied 140 berechnet durch Interpolation von Verzögerungswerten, die an Rahmengrenzen bestimmt werden, für jeden Unterrahmen Verzögerungswerte M.
  • Das adaptive Codebuch 150 hält eine ganze Zahl von Vektoren von rekonstruierten vergangenen Sprachsignalinformationen (typischerweise 128 oder 256). Jeder solche Vektor (i ist L Abtastwerte lang (Länge eines Unterrahmens) und überlappt teilweise benachbarte Codebuchvektoren, so daß sich aufeinanderfolgende Vektoren um einen Abtastwert unterscheiden. Wie in FIG. 3 gezeigt, wird jeder Vektor aus der Summe der Beiträge des vergangenen adaptiven Codebuchs 150 und des festen Codebuchs 180 für die grundlegende Wellenform-Anpassungsprozedur des CELP-Codierers gebildet. Die Verzögerungsabschätzung M wird als Index für gespeicherte adaptive Codebuchvektoren verwendet.
  • Als Reaktion auf den Empfang von M stellt das adaptive Codebuch 150 einen Vektor (i-M) bereit, der L Abtastwerte beinhaltet, die bei M+L Abtastwerten in der Vergangenheit beginnen und bei M Abtastwerten in der Vergangenheit enden. Dieser Vektor von vergangenen Sprachinformationen dient als eine LTP-Abschätzung der aktuellen zu codierenden Sprachinformationen.
  • Wie bereits beschrieben wirkt der LTP-Prozeß zur Identifizierung eines vergangenen Sprachsignals, das am besten mit einem aktuellen Sprachsignal übereinstimmt, um so die Langzeit-Korrelation in codierter Sprache zu verringern. In der illustrativen Ausführungsform von FIG. 3 werden mehrere Versuchs- Original-Sprachsignale für den LTP-Prozeß bereitgestellt. Diese Versuchs-Originalsignale werden durch die Zeitverzerrungsfunktion 130 bereitgestellt.
  • Durch die in FIG. 4 dargestellte Zeitverzerrungsfunktion 130 wird ein Codebuch 133 von Zeitverzerrungen (TWCB) bereitgestellt, das auf Originalsprache angewandt wird, um mehrere Versuchs- Original-Sprachsignale bereitzustellen. Im Prinzip kann das Codebuch 133 der Zeitverzerrungsfunktion 130 jede beliebige Zeitverzerrung (t) dτ/dt enthalten (wobei τ eine verzerrte Zeitskala ist), die die wahrnehmungsbezogene Qualität des Originalsignals nicht verändert:
  • wobei tj und τj den Anfang des aktuellen Unterrahmens j in dem ursprünglichen und dem verzerrten Bereich bezeichnen.
  • Als Beitrag zur Sicherstellung der Stabilität des Verzerrungsprozesses wird bevorzugt, daß wesentliche Tonhöhenimpulse in die Nähe der rechten Grenze der Unterrahmen fallen. Dies kann erreicht werden, indem unter Verwendung bekannter Verfahren Unterrahmengrenzen so definiert werden, daß sie gerade eben rechts von solchen Impulsen fallen. Unter der Annahme, daß sich die Tonhöhenimpulse des zu codierenden Sprachsignals an den Grenzpunkten befinden, wird bevorzugt, daß die Verzerrungsfunktionen die folgende Gleichung erfüllen:
  • Wenn die Tonhöhenimpulse etwas vor den Unterrahmengrenzen liegen, dann sollte (t) seinen Endwert in dieser Umgebung der Unterrahmengrenze behalten. Wenn die Gleichung (10) nicht erfüllt ist, dann können sich oszillierende Verzerrungen ergeben. Die folgende Familie von Zeitverzerrungsfunktionen kann zur Bereitstellung eines Codebuchs von Zeitverzerrungen verwendet werden:
  • wobei A, B, C, B und C Konstanten sind. Die Verzerrungsfunktion konvergiert mit zunehmendem t zu A. Bei tj ist der Wert der Verzerrungsfunktion gerade A+B. Der Wert von C kann verwendet werden, um die Gleichung (10) genau zu erfüllen. Ein Codebuch stetiger Zeitverzerrungen kann erzeugt werden, indem 1) ein Wert für A gewählt wird (typischerweise zwischen 0,95 und 1,05), 2) Werte für B und C gewählt werden (typischerweise in der Größenordnung von 2,5 ms), 3) B verwenden, um die Randbedingung bei tj zu erfüllen (wobei (tj)=A+B) und 4) C wählen, um die Randbedingung von Gleichung (10) zu erfüllen. Es ist zu beachten, daß keine das Zeitverzerrungscodebuch betreffenden Informationen übertragen werden; seine Größe ist nur durch die Anforderungen an den Rechenaufwand begrenzt.
  • Bezugnehmend auf FIG. 4 wird das Original- Sprachsignal x(i) durch den Zeitverzerrungsprozeß 130 empfangen und in dem Speicher 131 gespeichert. Das Original-Sprachsignal x(i) wird dem Verzerrungsprozeß 130 verfügbar gemacht, wenn dies erforderlich wird. Der Verzerrungsprozeß empfängt eine Verzerrungsfunktion (t) aus dem Zeitverzerrungscodebuch 133 und wendet die Funktion gemäß Gleichung (9) auf das Originalsignal an. Ein zeitverzerrtes Original-Sprachsignal (i), das als ein Versuchs-Original bezeichnet wird, wird dem Prozeß 134 zugeführt, der folgendermaßen eine Quadratdifferenz- bzw. eine Fehlergröße ε' bestimmt:
  • Gleichung (12) ist der Gleichung (8) ähnlich, mit der Ausnahme, daß die Gleichung (12) im Gegensatz zu Gleichung (8) normiert wurde und somit der Fehlerprozeß der minimalen Fehlerquadrate nur noch für Unterschiede der Form empfindlich ist.
  • Die Fehlergröße ε' wird einem Fehlerauswertungsglied 135 bereitgestellt, das wirkt, indem es aus allen ihm vorgelegten Werten von ε' die minimale Fehlergröße ε'min bestimmt (es gibt einen Wert ε' für jede Zeitverzerrung in dem TWCB) und den Wert von (i) speichert, der ε'min zugeordnet ist, nämlich min(i).
  • Wenn min(i) bestimmt wurde, dann wird der Skalierungsfaktor λ(i) folgendermaßen durch den Prozeß 136 bestimmt:
  • Dieser Skalierungsfaktor wird mit (i-M) multipliziert und als Ausgabe bereitgestellt.
  • Wiederum bezugnehmend auf FIG. 3 werden min(i) und die Abschätzung λ(i) (i-M) des adaptiven Codebuchs der Schaltung 160 zugeführt, die die Abschätzung λ(i) (i-M) von dem verzerrten Original min(i) subtrahiert. Das Ergebnis ist das Erregungssignal r(i), das einem Prozeß 170 des Suchens in einem festen stochastischen Codebuch zugeführt wird.
  • Der Prozeß 170 des Suchens in einem Codebuch wirkt auf herkömmliche Weise, um zu bestimmen, welcher der Vektoren des festen stochastischen Codebuchs, z(i), skaliert mit einem Faktor u(i), mit r(i) im Sinne von minimalen Quadraten und wahrnehmungsbezogener Gewichtung am besten übereinstimmt. Der gewählte skalierte Vektor des festen Codebuchs, u(i)zmin(i), wird zu dem skalierten Vektor des adaptiven Codebuchs, λ(i) (i-M), addiert, was die beste Abschätzung (i) eines aktuellen rekonstruierten Sprachsignals ergibt. Diese beste Abschätzung (i) wird in dem adaptiven Codebuch 150 gespeichert.
  • Wie bei herkömmlichen Sprachcodierern werden die LTP-Verzögerungs- und Skalierungsfaktorwerte λ und M, ein FSCB-Index und die Koeffizienten an der linearen Prädiktion zur Rekonstruktion durch einen herkömmlichen CELP-Empfänger über einen Kanal einem Decodierer zugeführt. Aufgrund des durch die Wirkung der illustrativen Ausführungsform der vorliegenden Erfindung gewährten verringerten Fehlers (in dem Codierungsprozeß) ist es jedoch möglich, LTP- Verzögerungsinformationen M statt einmal pro Unterrahmen einmal pro Rahmen zu übertragen. Unterrahmenwerte für M können beim Empfänger durch Interpolieren der Verzögerungswerte bereitgestellt werden, das auf eine identische Weise wie die durch das Verzögerungsabschätzungsglied 140 des Senders durchgeführte Interpolation erfolgt.
  • Indem statt mit jedem Unterrahmen mit jedem Rahmen LTP-Verzögerungsinformationen M übertragen werden, können die der Verzögerung zugeordneten Bandbreitenanforderungen wesentlich verringert werden.
  • Ein LTP mit einer stetigen Verzögerungskontur
  • Bei einem herkömmlichen LTP ist die Verzögerung in jedem Unterrahmen konstant und ändert sich unstetig an den Unterrahmengrenzen. Dieses unstetige Verhalten wird als eine gestufte Verzögerungskontur bezeichnet. Bei gestuften Verzögerungskonturen entsprechen die von Unterrahmen zu Unterrahmen unstetigen Änderungen der Verzögerung Unstetigkeiten der LTP-Abbildung vergangener Erregung auf die aktuelle. Diese Unstetigkeiten werden durch Interpolation modifiziert und können die Konstruktion eines Signals mit einer sich glatt entwickelnden Tonhöhenzykluswellenform verhindern. Da in den oben besprochenen illustrativen Ausführungsformen eine Interpolation von Verzögerungswerten benötigt wird, kann es sich als vorteilhaft erweisen, einen LTP mit einer stetigen Verzögerungskontur auszustatten, die die Interpolation auf natürlichere Weise erleichtert. Da dieser umkonzipierte LTP eine Verzögerungskontur ohne Unstetigkeiten bereitstellt, wird er als ein LTP mit stetiger Verzögerungskontur bezeichnet.
  • Der Prozeß, durch den Verzögerungswerte einer stetigen Verzögerungskontur einem adaptiven Codebuch zugeführt werden, ersetzt den oben für das Verzögerungsabschätzungsglied 140 beschriebenen Prozeß. Zur Bereitstellung einer stetigen Verzögerungskontur für den LTP wird die beste Kontur einer Menge von über den aktuellen Unterrahmen hinweg möglichen Konturen ausgewählt. Jede Kontur beginnt an dem Endwert d(tj) der Verzögerungskontur des vorherigen Unterrahmens. In der vorliegenden illustrativen Ausführungsform wird jede Verzögerungskontur der Menge so gewählt, daß sie innerhalb einer Unterrahmens linear ist. Somit hat die Momentanverzögerung d(t) für den aktuellen Unterrahmen j von N Abtastwerten (die im Abstand des Abtastintervalls T auseinanderliegen), der den Bereich von tj< t&le;tj+1 überdeckt, die folgende Form:
  • wobei &alpha; eine Konstante ist. Für ein gegebenes d(t) gilt für die durch einen LTP erfolgende Abbildung eines vergangenen Sprachsignals (unskaliert durch eine LTP- Verstärkung) auf ein aktuelles folgendes:
  • Gleichung (15) wird für die Abtastwerte tj,tj+T,...,tj+(N-1)T ausgewertet. Für nicht ganzzahlige Verzögerungswerte muß der Signalwert (t-d(t)) mit Interpolation erzeugt werden. Zur Bestimmung der optimalen stückweise linearen Verzögerungskontur wird eine Menge von Q Versuchssteigungen &alpha;&sub1;, &alpha;&sub2;, ... , &alpha;Q verwendet, und für jede dieser wird die Folge u(tj),u(tj + T),...,u(tj + (N-1)T) ausgewertet. Der beste quantisierte Wert von d (tj) kann dann durch Gleichung (8) gefunden werden, d.h. die Gleichung (8) kann verwendet werden, um eine wahrnehmungsbezogen gewichtete Abschätzung der kleinsten Fehlerquadrate zwischen (t) und (t-d(t)) bereitzustellen. Bezugnehmend auf FIG. 3, so wie sie für die vorliegende Ausführungsform angepaßt werden könnte, wird der Wert von d(tj) aus dem Verzögerungsabschätzungsglied 140 anstelle von M zu dem adaptiven Codebuch 150 weitergegeben.
  • Wenn zur Erzeugung einer zeitskalierten Version des vergangenen Signals ein LTP mit stetiger Verzögerungskontur verwendet wird, dann wird bevorzugt, daß die Steigung der Verzögerungskontur weniger als Eins beträgt: d(tj) < 1. Wenn diese Proposition verletzt wird, dann kann eine örtliche Zeitumkehrung der abgebildeten Wellenform auftreten. Außerdem kann eine stetige Verzögerungskontur eine Tonhöhenverdopplung nicht genau beschreiben. Zur Modellierung von Tonhöhenverdopplungen muß die Verzögerungskontur unstetig sein. Man betrachte wiederum die Verzögerungskontur von Gleichung (14). Da jede Tonhöhenperiode normalerweise durch eine Haupt- Energiemitte (den Tonhöhenimpuls) dominiert wird, wird bevorzugt, die Verzögerungskontur mit einem Freiheitsgrad pro Tonhöhenzyklus auszustatten. Somit werden durch den illustrativen LTP mit stetiger Verzögerungskontur Unterrahmen mit einer adaptiven Länge von ungefähr einem Tonhöhenzyklus bereitgestellt. Diese adaptive Länge wird verwendet, um eine den Tonhöhenimpulsen gerade nachfolgende Plazierung von Unterrahmengrenzen zu erlauben. Dadurch kann eine oszillierende Verzögerungskontur vermieden werden. Da die LTP-Parameter in festen Zeitintervallen übertragen werden, hat die Unterrahmengröße keine Auswirkung auf die Bitrate. In dieser illustrativen Ausführungsform sind bekannte Verfahren zum Ausfindigmachen der Tonhöhenimpulse und damit der Verzögerungsrahmengrenzen anwendbar. Diese Verfahren können als Teil des Prozesses des adaptiven Codebuchs 150 angewendet werden.
  • Eine illustrative Ausführungsform für die CELP- Codierung mit Zeitverschiebung
  • Zusätzlich zu den oben besprochenen Zeitverzerrungsausführungsformen kann eine Zeitverschiebungsausführungsform der vorliegenden Erfindung eingesetzt werden. Als Beispiel kann eine Zeitverschiebungsausführungsform die Form der in FIG. 5 gezeigten Ausführungsform annehmen, die der Ausführungsform von FIG. 3 ähnlich ist, wobei die Zeitverzerrungsfunktion 130 durch eine Zeitverschiebungsfunktion 200 ersetzt wird.
  • Wie die Zeitverzerrungsfunktion 130 stellt die Zeitverschiebungsfunktion 200 mehrere Versuchs-Originalsignale bereit, denen die Beschränkung auferlegt wird, daß sie dem zu codierenden Originalsignal hörbar ähnlich sind. Wie die Zeitverzerrungsfunktion 130 versucht die Zeitverschiebungsfunktion 200 zu bestimmen, welches der erzeugten Versuchs-Originalsignale einem identifizierten vergangenen Sprachsignal in der Form am nächsten kommt. Im Gegensatz zu der Zeitverzerrungsfunktion 130 wirkt die Zeitverschiebungsfunktion 200 jedoch durch zeitliches Verschieben eines Unterrahmens des Original-Sprachsignals (vorzugsweise des Erregungssignals x(i)) um einen Betrag &theta;, &theta;min &le; &theta; &le; &theta;max, um eine Position des Originalsignals zu bestimmen, die beim Vergleich mit einem vergangenen Sprachsignal (typischerweise &theta;min = &theta;max = 2,5 Abtastwerte, was mit Überabtastung erzielt wird) den kleinsten Fehler ergibt. Das Verschieben des Original-Sprachsignals um einen Betrag &theta; nach rechts (d.h. zeitlich später) wird durch Wiederholen des letzten Abschnitts mit der Länge &theta; des vorherigen Unterrahmens erzielt, wodurch die linke Flanke des Unterrahmens der Originalsprache gestopft wird. Das Verschieben des Original-Sprachsignals um einen Betrag &theta; nach links wird einfach durch Entfernen (d.h. Auslassen) einer Länge &theta; des Originalsignals von der linken Flanke des Unterrahmens erzielt. Wie bei der Zeitverzerrung ist zwischen zwei Signalen der kleinste Fehler im allgemeinen dem zeitlichen Angleichen der Haupt-Tonhöhenimpulse in einem Unterrahmen zugeordnet.
  • Es ist zu beachten, daß die Unterrahmengröße nicht von der Tonhöhenperiode abhängen muß. Es wird jedoch bevorzugt, daß die Unterrahmengröße immer kleiner als eine Tonhöhenperiode gehalten wird. Dann kann die Position jedes Tonhöhenimpulses unabhängig bestimmt werden. Es kann eine Unterrahmengröße von 2,5 ms verwendet werden. Da die LTP-Parameter in festen Zeitintervallen übertragen werden, hat die Unterrahmengröße keine Auswirkung auf die Bitrate. Damit Unterrahmen nicht zwischen Tonhöhenimpulse fallen, muß die Änderung der Verschiebung ordnungsgemäß eingeschränkt werden (in der Größenordnung von 0,25 ms für einen Unterrahmen von 2,5 ms). Als Alternative kann die Verzögerung für Unterrahmen, bei denen die Energie wesentlich geringer als die Energie der umgebenden Unterrahmen ist, konstant gehalten werden.
  • Eine illustrative Zeitverschiebungsfunktion 200 ist in FIG. 6 gezeigt. Die Funktion 200 ist der oben besprochenen Zeitverzerrungsfunktion 130 ähnlich, wobei der Verzerrungsprozeß 132 und das zugeordnete Codebuch 133 durch einen Stopf-/Auslaßprozeß 232 ersetzt werden. Die von der Funktion 200 durchgeführte Verschiebungsprozedur lautet folgendermaßen:
  • wobei tj den Anfang des aktuellen Rahmens j in dem Originalsignal bedeutet. Eine Angleichungsprozedur mit geschlossener Schleife sucht nach dem Wert von &theta;min &le; &theta; &le; &theta;max, der ein Fehlerkriterium minimiert, das Gleichung (12) ähnlich ist:
  • Diese Prozedur wird durch den Prozeß 234 (der &epsi;' gemäß Gleichung (17) bestimmt) und das Fehlerauswertungsglied 135 (das &epsi;'min bestimmt) ausgeführt.
  • Der optimale Wert für &theta; für den Unterrahmen j ist dasjenige &theta;, das &epsi;'min zugeordnet ist, und wird als &theta;j bezeichnet. Für eine Unterrahmenlänge LUnterrahmen wird nun folgendermaßen der Anfang des Unterrahmens j+1 in der Originalsprache bestimmt:
  • während für das rekonstruierte Signal die Zeit &tau;j+1 einfach folgendes gilt:
  • Wie bei den oben besprochenen illustrativen Ausführungsformen werden einem herkömmlichen CELP- Empfänger durch diese Ausführungsform der vorliegenden Erfindung Skalierungs- und Verzögerungsinformationen, Koeffizienten der linearen Prädiktion und Indizes für feste stochastische Codebücher bereitgestellt. Wiederum können aufgrund des durch die vorliegende Erfindung bereitgestellten verringerten Codierungsfehlers Verzögerungsinformationen statt mit jedem Unterrahmen mit jedem Rahmen übertragen werden. Der Empfänger kann Verzögerungsinformationen interpolieren, um Verzögerungswerte für einzelne Unterrahmen zu bestimmen, so wie es durch das Verzögerungsabschätzungsglied 140 des Senders durchgeführt wird.
  • Die Interpolation mit einer Kontur mit gestufter Verzögerung kann folgendermaßen ablaufen. Es seien tA und tB der Anfang und das Ende des aktuellen Interpolationsintervalls für das Originalsignal. Weiterhin soll der Index jA den ersten LTP-Unterrahmen des aktuellen Interpolationsintervalls und jB den ersten LTP-Unterrahmen des nächsten Interpolationsintervalls bezeichnen. Als erstes wird eine Abschätzung (offene Schleife) der Verzögerung am Ende dB des aktuellen Interpolationsintervalls zum Beispiel durch einen Kreuzkorrelationsprozeß zwischen vergangenen und aktuellen Sprachsignalen erhalten (tatsächlich muß der für tB für diesen Zweck verwendete Wert eine Abschätzung sein, da der Endwert nach der Interpolation bekannt wird.). Es sei dA die Verzögerung am Ende des vorherigen Interpolationsintervalls. Dann kann die Verzögerung des Unterrahmens j einfach folgendermaßen eingestellt werden:
  • Der unskalierte Beitrag des LTP zu der Erregung ist dann durch folgendes gegeben:
  • wobei &tau;j der Anfang des Unterrahmens j für das rekonstruierte Signal ist.
  • Verzögerungs-Tonhöhenverdopplung und -halbierung
  • Bei Analyse-durch-Synthese-Codierern tritt aufgrund der Ähnlichkeit aufeinanderfolgender Tonhöhenzyklen häufig das Problem der Verzögerungsverdopplung oder -halbierung auf. Eine solche Verdopplung oder Halbierung der Verzögerung ist bei vielen praktischen Anwendungen schwer zu vermeiden. Bezüglich der vorliegenden Erfindung kann die Verzögerungsverdopplung oder -halbierung jedoch folgendermaßen behandelt werden. Als erster Schritt wird die Abschätzung der offenen Schleife für den Endpunkt des aktuellen Interpolationsintervalls mit der letzten Verzögerung in dem vorherigen Interpolationsintervall verglichen. Immer dann, wenn diese einem Vielfachen oder Sub- Vielfachen des vorherigen Interpolationsintervallendpunkts nahekommt, dann wird angenommen, daß eine Verzögerungsmultiplikation oder -division stattgefunden hat. Es folgt eine Besprechung der Art und Weise der Behandlung von Verzögerungsverdopplung und Verzögerungshalbierung; andere Vielfache können ähnlich behandelt werden.
  • Bezüglich Verzögerungsverdopplung sei d&sub2;(&tau;B) eine Abschätzung (offene Schleife) der Endwertverzögerung, wobei der Index 2 anzeigt, daß die Verzögerung zwei Tonhöhenzyklen entspricht. Es sei d&sub1;(&tau;A) eine Verzögerung, die einem Tonhöhenzyklus entspricht. Im allgemeinen stehen die verdoppelte Verzögerung und die standardmäßige Verzögerung folgendermaßen miteinander in Beziehung:
  • Die Gleichung (22) beschreibt zwei sequentielle Abbildungen durch einen LTP. Eine einfache Multiplikation der Verzögerung mit Zwei führt, wenn die Tonhöhenperiode nicht konstant ist, nicht zu einer korrekten Abbildung.
  • Man betrachet nun den Fall, daß d&sub1;(&tau;) in dem aktuellen Interpolationsintervall linear ist:
  • Dann ergibt die Kombination der Gleichungen (22) und (23) folgendes:
  • Gleichung (24) zeigt, daß d&sub2;(&tau;) innerhalb eines eingeschränkten Bereichs linear ist. Im allgemeinen ist d&sub2;(&tau;) jedoch in dem Bereich nicht linear, in dem &tau;A < &tau; < &tau;A + d&sub1;(&tau;). Die folgende Prozedur kann für Verzögerungsverdopplung verwendet werden. Zu Beginn sind d&sub1;(&tau;A) und d&sub2;(&tau;B) bekannt. Durch Verwendung von &tau; = &tau;B in Gleichung (24) ergibt sich &beta;:
  • Dann sind sowohl d&sub1;(&tau;) als auch d&sub2;(&tau;) innerhalb des Interpolationsintervalls bekannt. Die standardmäßige Verzögerung d&sub1;(&tau;) genügt in dem gesamten Interpolationsintervall der Gleichung (23). Bei d&sub2;(&tau;) ist zu beachten, daß die Gleichung (22) über das gesamte Interpolationsintervall hinweg gültig ist, während die Gleichung (24) nur über eine beschränkten Teil gültig ist.
  • Der tatsächliche LTP-Erregungsbeitrag für das Interpolationsintervall ergibt sich nun durch einen glatten Übergang von der standardmäßigen zu der doppelten Verzögerung:
  • wobei &psi;(&tau;) eine glatte Funktion ist, die über das angezeigte Interpolationsintervall hinweg von 0 auf 1 ansteigt, wodurch das aktuelle Interpolationsintervall abgezeichnet wird. Diese Prozedur nimmt an, daß das Interpolationsintervall ausreichend größer als die doppelte Verzögerung ist.
  • Bei der Verzögerungshalbierung wird dieselbe Prozedur in der entgegengesetzten Richtung verwendet. Man nehme die Randbedingungen d&sub2;(&tau;A) und d&sub1;(&tau;B) an. Um die Gleichung (22) für &tau;A < &tau; &le; &tau;B benutzen zu können, muß d&sub1;(&tau;A) in dem Bereich &tau;A - d&sub1;(&tau;A) < T &le; &tau;A definiert werden. Eine ordnungsgemäße Definition bewahrt eine gute Sprachqualität. Da die doppelte Verzögerung in dem vorherigen Interpolationsintervall linear sein wird, kann die Gleichung (24) verwendet werden, um in diesem Bereich eine vernünftige Definition von d, (&tau;) zu erhalten. Bei einer linearen Kontur gilt für d&sub2;(&tau;):
  • wobei das ' anzeigt, daß sich die Werte auf das vorherige Interpolationsintervall beziehen (man beachte, daß &tau;'B=&tau;A), und wobei &eta;' eine Konstante ist. Beim Vergleich mit der Gleichung (24) gilt für d&sub1;(&tau;) in dem letzten Teil des vorherigen Interpolationsintervalls:
  • Durch die Gleichung (28) wird außerdem ein Randwert d&sub1;(&tau;A) für das aktuelle Interpolationsintervall bereitgestellt. Aus diesem Wert und aus d&sub1;(&tau;B) kann der Wert von &beta; für die Gleichung (23) berechnet werden. Wiederum kann die Gleichung (22) verwendet werden, um d&sub2;(&tau;) in dem aktuellen Interpolationsintervall zu berechnen. Der Übergang von d&sub2;(&tau;) zu d&sub1;(&tau;) wird wiederum durch Verwendung der Gleichung 22 durchgeführt, wobei jedoch diesmal &psi;(&tau;) in dem Interpolationsintervall von 1 auf 0 abnimmt.

Claims (22)

1. Verfahren zur Codierung eines Original- Sprachsignals, mit den folgenden Schritten:
Erzeugen einer Mehrzahl von auf dem Originalsignal basierenden Versuchs-Originalsignalen, denen die Beschränkung auferlegt wird, daß sie dem Originalsignal hörbar ähnlich sind, und die mindestens ein modifiziertes Originalsignal enthalten;
Ausführen der folgenden Schritte a), b) und c) für jedes der besagten Versuchs-Originalsignale:
a) Codieren des Versuchs-Originalsignals, um einen oder mehrere Parameter zu erzeugen, die dieses darstellen;
b) synthetisches Erzeugen einer Abschätzung des Versuchs-Originalsignals aus einem oder mehreren der Parameter; und
c) Bestimmen eines Fehlers zwischen dem Versuchs-Originalsignal und der synthetisch erzeugten Abschätzung des Versuchs-Originalsignals; und
Auswählen des besagten einen bzw. der besagten mehreren Parameter eines Versuchs-Originalsignals, dem ein bestimmter Fehler zugeordnet ist, der ein Fehlerkriterium erfüllt, als eine codierte Darstellung des Originalsignals.
2. Verfahren nach Anspruch 1, wobei der Schritt des Erzeugens einer Mehrzahl von Versuchs- Originalsignalen den Schritt des Vornehmens einer oder mehrerer Zeitverzerrungen an dem Originalsignal umfaßt.
3. Verfahren nach Anspruch 1, wobei der Schritt des Erzeugens einer Mehrzahl von Versuchs- Originalsignalen den Schritt des Durchführens einer oder mehrerer Zeitverschiebungen des Originalsignals umfaßt.
4. Verfahren nach Anspruch 1, wobei der Schritt des Codierens eines Versuchs-Originalsignals das Durchführen einer Analyse-durch-Synthese-Codierung umfaßt.
5. Verfahren nach Anspruch 4, wobei der Schritt des Durchführens einer Analyse-durch-Synthese-Codierung das Durchführen einer codeerregten linearen Prädiktionscodierung umfaßt.
6. Verfahren nach Anspruch 1, wobei der Schritt des Bestimmens eines Fehlers das Bestimmen einer Summe von Quadraten von Abtastwerten einer Differenz zwischen einem gefilterten Versuchs-Originalsignal und einer gefilterten synthetisch erzeugten Abschätzung dieses Signals umfaßt.
7. Verfahren nach Anspruch 1, wobei der Schritt des Bestimmens eines Fehlers das Bestimmen einer Summe von Quadraten von Abtastwerten einer Differenz zwischen einem wahrnehmungsbezogen gewichteten Versuchs- Originalsignal und einer wahrnehmungsbezogen gewichteten synthetisch erzeugten Abschätzung dieses Signals umfaßt.
8. Verfahren nach Anspruch 6 oder 7, wobei der Vorgang der Fehlerauswertung das Bestimmen der minimalen Summe von Quadraten von Abtastwerten aus einer Mehrzahl von Summen von Quadraten von Abtastwerten umfaßt.
9. Verfahren nach Anspruch 1, wobei der Schritt des Auswählens einer codierten Darstellung des Originalsignals das Bestimmen des Versuchs- Originalsignals umfaßt, dem der kleinste bestimmte Fehler zugeordnet ist.
10. Vorrichtung zur Codierung eines Original- Sprachsignals, die folgendes umfaßt:
Mittel (132, 133; 232) zum Erzeugen einer Mehrzahl von auf dem Originalsignal basierenden Versuchs-Originalsignalen, denen die Beschränkung auferlegt wird, daß sie dem Originalsignal hörbar ähnlich sind, und die mindestens ein modifiziertes Originalsignal enthalten;
an die Erzeugungsmittel angekoppelte Mittel zum Codieren eines Versuchs-Originalsignals, um einen oder mehrere Parameter zu erzeugen, die dieses darstellen;
an die Codierungsmittel angekoppelte Mittel (170, 180, 150) zum synthetischen Erzeugen einer Abschätzung des Versuchs-Originalsignals aus einem oder mehreren der Parameter;
an die Codierungsmittel und an die Erzeugungsmittel angekoppelte Mittel (134, 234) zum Bestimmen eines Fehlers zwischen dem Versuchs- Originalsignal und der synthetisch erzeugten Abschätzung des Versuchs-Originalsignals; und
Mittel (135) zum Auswählen des besagten einen bzw. der besagten mehreren Parameter eines Versuchs- Originalsignals, dem ein bestimmter Fehler zugeordnet ist, der ein Fehlerkriterium erfüllt, als eine codierte Darstellung des Originalsignals.
11. Vorrichtung nach Anspruch 10, wobei die Mittel zum Erzeugen einer Mehrzahl von Versuchs- Originalsignalen Mittel (132) zum Vornehmen einer oder mehrerer Zeitverzerrungen an dem Originalsignal umfassen.
12. Vorrichtung nach Anspruch 10, wobei die Mittel zum Erzeugen einer Mehrzahl von Versuchs- Originalsignalen ein Codebuch (133) von Zeitverzerrungen umfassen.
13. Vorrichtung nach Anspruch 10, wobei die Mittel zum Erzeugen einer Mehrzahl von Versuchs- Originalsignalen Mittel (232) zur Durchführung einer oder mehrerer Zeitverschiebungen des Originalsignals umfassen.
14. Vorrichtung nach Anspruch 10, wobei die Mittel zum Codieren eines Versuchs-Originalsignals Mittel zur Durchführung einer Analyse-durch-Synthese-Codierung umfassen.
15. Vorrichtung nach Anspruch 14, wobei die Mittel zur Durchführung einer Analyse-durch-Synthese-Codierung einen codeerregten linearen Prädiktionscodierer umfassen.
16. Vorrichtung nach Anspruch 10, wobei die Mittel zum synthetischen Erzeugen einer Abschätzung des Versuchs-Originalsignals ein festes stochastisches Codebuch (180) umfassen.
17. Vorrichtung nach Anspruch 16, wobei die Mittel zum synthetischen Erzeugen einer Abschätzung eines Versuchs-Originalsignals weiterhin ein adaptives Codebuch (150) umfassen.
18. Vorrichtung nach Anspruch 10, wobei die Mittel zum Bestimmen eines Fehlers Mittel zum Bestimmen einer Summe von Quadraten von Abtastwerten einer Differenz zwischen dem Versuchs-Originalsignal und dessen synthetisch erzeugter Abschätzung umfassen.
19. Vorrichtung nach Anspruch 18, wobei der Vorgang der Fehlerauswertung das Bestimmen der minimalen Summe von Quadraten von Abtastwerten aus einer Mehrzahl von Summen von Quadraten von Abtastwerten umfaßt.
20. Vorrichtung nach Anspruch 18, wobei die Differenz zwischen dem Originalsignal und dessen synthetisch erzeugter Abschätzung wahrnehmungsbezogen gewichtet ist.
21. Vorrichtung nach Anspruch 10, wobei die Mittel zum Auswählen einer codierten Darstellung des Originalsignals Mittel zum Bestimmen des Versuchs- Originalsignals umfassen, dem der kleinste bestimmte Fehler zugeordnet ist.
22. Netz zur Übermittlung eines Original- Sprachsignals mit folgendem:
einem Kommunikationskanal;
einem an den Kommunikationskanal angekoppelten Sender zum Senden einer codierten Darstellung des Originalsignals, wobei der Sender eine Vorrichtung nach Anspruch 10 umfaßt; und
einem an den Kommunikationskanal angekoppelten Empfänger zum Decodieren der codierten Darstellung des aus dem Sender empfangenen Originalsignals.
DE69225293T 1991-10-25 1992-10-16 Verallgemeinerte Analyse-durch-Synthese Methode und Einrichtung zur Sprachkodierung Expired - Lifetime DE69225293T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US78268691A 1991-10-25 1991-10-25

Publications (2)

Publication Number Publication Date
DE69225293D1 DE69225293D1 (de) 1998-06-04
DE69225293T2 true DE69225293T2 (de) 1998-09-10

Family

ID=25126860

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69225293T Expired - Lifetime DE69225293T2 (de) 1991-10-25 1992-10-16 Verallgemeinerte Analyse-durch-Synthese Methode und Einrichtung zur Sprachkodierung

Country Status (4)

Country Link
EP (1) EP0539103B1 (de)
JP (1) JP3662597B2 (de)
DE (1) DE69225293T2 (de)
ES (1) ES2115646T3 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2102080C (en) * 1992-12-14 1998-07-28 Willem Bastiaan Kleijn Time shifting for generalized analysis-by-synthesis coding
US5704003A (en) * 1995-09-19 1997-12-30 Lucent Technologies Inc. RCELP coder
ATE192259T1 (de) * 1995-11-09 2000-05-15 Nokia Mobile Phones Ltd Verfahren zur synthetisierung eines sprachsignalblocks in einem celp-kodierer
US6113653A (en) * 1998-09-11 2000-09-05 Motorola, Inc. Method and apparatus for coding an information signal using delay contour adjustment

Also Published As

Publication number Publication date
EP0539103A3 (en) 1993-08-11
EP0539103A2 (de) 1993-04-28
JPH05232995A (ja) 1993-09-10
DE69225293D1 (de) 1998-06-04
ES2115646T3 (es) 1998-07-01
JP3662597B2 (ja) 2005-06-22
EP0539103B1 (de) 1998-04-29

Similar Documents

Publication Publication Date Title
DE69032168T2 (de) Dynamisches codebuch zur wirksamen sprachcodierung unter anwendung von algebraischen coden
DE69420431T2 (de) Sprachkodierungssystem
DE69023402T2 (de) Verfahren zur Sprachkodierung und -dekodierung.
DE69604729T2 (de) Verfahren zur sprachkodierung mittels linearer prädiktion und anregung durch algebraische kodes
DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE69615119T2 (de) Relaxation CELP (RCELP) Koder
DE69900786T2 (de) Sprachkodierung
DE69227401T2 (de) Verfahren zum Kodieren und Dekodieren von Sprachsignalen
DE4492048C2 (de) Vektorquantisierungs-Verfahren
DE69928288T2 (de) Kodierung periodischer sprache
DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
DE68916944T2 (de) Verfahren zur schnellen Bestimmung der Grundfrequenz in Sprachcodierern mit langfristiger Prädiktion.
DE69613360T2 (de) Linear-prädiktiver analyse-durch-synthese sprachkodierer
DE19647298C2 (de) Kodiersystem
DE3782025T2 (de) Verfahren zur verbesserung der qualitaet kodierter sprache.
DE69029232T2 (de) System und Methode zur Sprachkodierung
DE3784942T2 (de) Duplex-datenuebertragung.
DE69314389T2 (de) Zweimoden langzeitprädiktion in sprechkodierung
DE69328064T2 (de) Zeit-Frequenzinterpolation mit Anwendung zur Sprachkodierung mit niedriger Rate
DE60309651T2 (de) Verfahren zur Sprachkodierung mittels verallgemeinerter Analyse durch Synthese und Sprachkodierer zur Durchführung dieses Verfahrens
DE69223335T2 (de) Sprachkodiersystem
DE68922134T2 (de) Überträgungssystem für codierte Sprache mit Codebüchern zur Synthetisierung von Komponenten mit niedriger Amplitude.
DE69033510T2 (de) Numerischer sprachkodierer mit verbesserter langzeitvorhersage durch subabtastauflösung
DE69017801T2 (de) Codierung unter Anwendung von beschränkter stochastischer Anregung.
DE69609089T2 (de) Sprachkodierer mit aus aktuellen und vorhergehenden Rahmen extrahierten Merkmalen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R071 Expiry of right

Ref document number: 539103

Country of ref document: EP