EP0836176A2 - Verfahren zur Synthese eines Rahmens eines Sprachsignals - Google Patents

Verfahren zur Synthese eines Rahmens eines Sprachsignals Download PDF

Info

Publication number
EP0836176A2
EP0836176A2 EP97116746A EP97116746A EP0836176A2 EP 0836176 A2 EP0836176 A2 EP 0836176A2 EP 97116746 A EP97116746 A EP 97116746A EP 97116746 A EP97116746 A EP 97116746A EP 0836176 A2 EP0836176 A2 EP 0836176A2
Authority
EP
European Patent Office
Prior art keywords
rpe
pulses
excitation
speech
ideal
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.)
Ceased
Application number
EP97116746A
Other languages
English (en)
French (fr)
Other versions
EP0836176A3 (de
Inventor
Udo Görtz
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 EP0836176A2 publication Critical patent/EP0836176A2/de
Publication of EP0836176A3 publication Critical patent/EP0836176A3/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/113Regular pulse excitation

Definitions

  • Time domain language coders which will be discussed below, work essentially all according to the same principle: a linear synthesis filter is applied with an excitation signal such that its Output signal to be transmitted speech signal in the sense of The approximate error measure to be determined approximates as well as possible. Often it is Excitation signal from two components. The former should be the harmonic, help to reproduce mostly voiced parts of speech, the latter the noise-like Speech components. The actual sound shaping, the real one Language tract through the pharyngeal-oral-nasal cavity happens to be done through the synthesis filter. The achievable voice quality depends significantly from the excitation of the synthesis filter.
  • So-called residual signal coders such as the RPE-LTP speech coders currently used in digital mobile communications, do not achieve the voice quality required today with comparatively low complexity and bit rates well above 10 kB / s.
  • the starting point of the invention is an "ideal RPE sequence becomes, as in his time by P. Kroon in his thesis "time-domain coding of (near) great quality speech at 16 kb / s ". Delft University of Technology, March 1985, determined. First, therefore, is on the determination of the RPE and the variant used in the RPE-LTP encoder this stimulation type received.
  • the impulse response matrix has the following shape
  • an RPE will have only one in each row of M's nonzero element, where the nth line is the position of the nth Pulse of the RPE indicates. If there are m possibilities, by means of L of zero To form an RPE for different pulses also takes the matrix M m different Shape.
  • the "ideal RPE sequence" is the one according to above calculation the error measure E minimized.
  • the determination of the RPE described above requires the release of a coupled, linear system of equations. As defined by the RPE-LTP encoder was not enough computing power available to the Algorithm in a mass market mobile phone to implement. Therefore, a simplified RPE variant is used. After decorrelation filtering of the speech signal to be transmitted remains a residual signal that theoretically in the frequency range of interest having white spectrum. If all spectral components of same intensity, you can look at the transfer of the entire volume dispense, it is enough to transfer the baseband, which one by subsampling the residual signal after previous low-pass filtering wins. This reduces the number of pulses to be transmitted and thus the transmission rate. Decoder side can by interpolation filtering the untransferred high band will be recovered.
  • the values r (0), r (1), ..., r (N-1) represent the current residual signal, r (- (N-1)), r (- (N-2)), ..., r (-1) are values from the signal history.
  • M is exemplified for the case where the first non-zero pulse is at the first position in the RPE vector and every other pulse is nonzero: ⁇ a 0 , 0, a 1 , 0, a 3 , 0, .. a N-2 , 0 ⁇ .
  • M is constructed as indicated above.
  • R, M t M and H are square matrices of the same dimension. The residual signal matrix R can be assumed to be invertible given sufficient speech activity.
  • the impulse response matrix H is also invertible because it is a triangular matrix whose main diagonal is always nonzero.
  • M t M is never invertible; it contains zero columns and zero rows. If z. B. the second, fourth, sixth, ... pulse in the RPE is zero, then there are in the second, fourth, sixth, ... column and row in M t M only zeros.
  • An FIR filter F (z) of length N with which you can see the residual signal before its sampling would have to filter to get the least possible synthesis error, is by specifying the positioning of the non-zero pulses, the synthesis filter, the target signal and the residual signal are not unique certainly. Become arbitrary after filtering the residual signal m pulses set to zero, m linearly independent are missing to determine the N filter coefficients Equations. The rank of A is only as big as the number of zero more different pulses.
  • the error measure used here is also used.
  • the minimization of the error must lead to the same resulting synthesis error in both methods, because the selected error criterion ensures that there is only a minimum apart from edge extremes.
  • the excitation signals of the two exactly identical synthesis filters must thus match exactly in both cases: the vector z from this section and the vector b from the previous section are therefore the same.
  • the filter F (z) is not recalculated when Target signal and impulse response of the synthesis filter have changed.
  • the Filter coefficients are constant.
  • the magnitude frequency response of this filter has the course of a language spectrum regarded as "typical". in this connection it is a low pass with a smooth transition from the passband to the stopband.
  • the cutoff frequency is around 1300 Hz.
  • the filter F (z) can be regarded as a low-pass filter before the scanner. However, due to the smooth transition from fürlledge- into the Barrier area Alias components. Overall, this approach is a fairly rough approximation.
  • the magnitude frequency response of F (z) varies namely not insignificant.
  • the speech signal can be obtained by linear decorrelation filtering not completely decorrelate.
  • the spectrum is therefore not white, but compared to the original spectrum only flatter and overall of lesser intensity.
  • the assumption, already by knowing the baseband Knowing the entire band is a rough approximation and causes especially for speakers with high voices a not insignificant Errors that appear clearly in the RPE-LTP encoder because only the bottom third of the total volume is transmitted, which is the Sub-sampling by a factor of 3 corresponds.
  • Figure 1 shows the CELP principle as it is typically used.
  • a target signal to be approximated is determined by searching (at least) emulated two codebooks.
  • the adaptive codebook (a2) changes depending from the speech signal while the stochastic codebook (a4) is time-invariant is.
  • the search for the best codevectors is done so that not a common, d. H. simultaneous search in the codebooks takes place, as would be required for optimal selection of codevectors but for reasons of cost first the adaptive codebook (a2) is searched.
  • the best codevector according to the error criterion If the best codevector according to the error criterion is found, one subtracts its contribution to the reconstructed target signal from the target vector (target signal) and receives it by a vector from the stochastic Codebook (a4) still to be reconstructed part of the target signal.
  • the search in the individual codebooks follows the same Principle. In both cases, the quotient becomes the square of the correlation the filtered codevector with the target vector and the energy of the filtered target vector for all codevectors. The one codevector, maximizing this quotient is considered the best codevector which minimizes the error criterion (a5).
  • the upstream error weighting (a6) weights the error according to the characteristic of human hearing. Its position is transmitted to the decoder.
  • the CELP principle is characterized in that to find the best Codevector each candidate vector individually filtered (a3) and with must be compared to the target signal. This process causes despite the sequential search of both codebooks a considerable effort, the one proposed in the first CELP publication Codebook size of 1024 vectors not even on powerful Floating-point signal processors in real time. The focus Working on CELP coders has been (and is) busy Therefore, with the question of how to take advantage of the CELP principle can take over without the disadvantage of the high computational effort have to.
  • the invention is based on the object, a method for speech synthesis to create at the specified bitrate on the Scanning stochastic codebooks can completely do without the Affect voice quality and compared without the transmission rate to increase with the use of stochastic codebooks.
  • the synthesis filter coefficients of a tenth-order filter become often in reflection factors or in Line Spectrum Frequencies (LSFs) converted and (vector-) quantized.
  • the excitation of the synthesis filter consists of the weighted superposition of adaptive excitation and the stochastic stimulus together. Both stimulation components are performed sequentially by a more or less suboptimal Codebook search determines the adaptive excitation, so the by excitation of old excitation values recoverable excitation component, is determined first.
  • the degree of suboptimality when searching The codebooks decide on computational effort and voice quality. The goal is to have as few code vectors as possible within the analysis-by-synthesis loop to investigate, thus limiting the computational effort becomes.
  • the new method according to the invention for the determination described here The stochastic stimulus differs significantly from this approach. There is no pre-selection criterion used and the stochastic stimulus is also not vector quantized. It is not about a scalar quantization in the traditional sense, in which one strives is to quantize the transmitted pulses as accurately as possible.
  • the essentials Quality problem with the RPE-LTP encoder is that the RPE one um the factor three subsampled version of the decorrelated speech signal is. Even an exact quantization of the RPE pulses increases the Quality only insignificant. A reduction of the sub-sampling factor on two increases the quality noticeably, but also requires a considerable higher transmission rate. Because the transfer rate of the encoder but not allowed to rise, this path is eliminated.
  • the RPE-LTP coder uses a rather rough long-term prediction, so that the RPE also has to contribute harmonious speech components.
  • the long-term prediction is much more accurate than in the RPE-LTP coder, so that the residual stochastic excitation is essentially noise-like in character and the proper phasing of the stochastic excitation is much more important than accurate quantization of the amplitudes .
  • ACELPs A lgebraic C or E xited L inear P rediction
  • a codebook search answers the question on which pulse positions pulses must be placed.
  • the answer to this question generally causes a considerable effort, even if the codewords consist only of zeros and ones and the signs have already been determined in advance by suboptimal methods.
  • N 20 samples.
  • the resulting amplitudes of the "ideal RPE” are now considered to find the "surviving pulses". At least half of the RPE amplitudes are relatively small. Only a few amplitudes have a large amplitude. It is sufficient to let the large amplitudes survive, they z. B. equal in terms of amount and then only to transfer their position and sign to the decoder. Three to five of the largest pulses in the whole range suffice for good / very good voice quality.
  • the excitation obtained in this way has the form of a pseudo-MPE ( M ulti P ulse E xcitation).
  • the amplitudes of the surviving pulses are all equal or normalized, z. B. to one, so that the sign also equal to the amplitude is what must be communicated to the coder.
  • To determine the excitation is an exact determination of the amplitudes by solving a coupled system of equations not necessarily required. Leave the corresponding pulse positions and signs also refer to a suboptimal solved system. Here come everyone Possibilities considering amplitudes, positions and signs largely preserved the great pulse. One of these possibilities is to determine the pulses sequentially by first the first pulse, whose contribution to the reconstructed target signal from Target signal p is subtracted, then calculates the second pulse, etc.
  • the described method for obtaining a pseudo-MPE from a "ideal” RPE is a combined "closed-loop” / "open-loop” method.
  • the "ideal” RPE is optimal with respect to the target signal to be approximated (closed-loop), while the quantization of the "ideal” RPE does not match Look at this target signal takes place, but from the positions of the maximum Pulse in the RPE vector depends ("open-loop"). This will reduce the computational effort negligible for quantization. That in speech encoders in this bitrate range otherwise usual very expensive Scanning of stochastic codebooks is omitted.
  • Figure 3 shows the speech coder. After sampling the analog Speech signal in block 0 becomes the digital speech signal of a windowing 2 before the LPC analysis 3 to determine the coefficients of the synthesis filter 11, 12 is performed. Purpose of fenestration is the clipping effects by the finite length of the LPC analysis interval to reduce.
  • the synthesis filter is split into two blocks, with block 11 the decay rate of the filter due to the values in the filter memory and block 12 represents the synthesis filter with zero memory at the beginning of each filtering. The superimposition of both output signals is the output of the synthesis filter. Before their quantization 5, the conversion 4 of the direct filter coefficients into "line spectrum frequencies" takes place (LSF), the more favorable properties in terms of Have quantization as direct filter coefficients.
  • the LSFs will be then quantize 5 and the positions in the corresponding LSF code books are transmitted to the decoder.
  • the windowed digital Speech signal is characterized by a volume value 7, which is proportional is the energy contained in the signal. This value becomes logarithmic quantizes 8 and also transmitted to the decoder.
  • the quantized values of the LSFs and the volume are used, as well as in the decoder.
  • the quantized LSFs converted back into direct filter coefficients 6 and how the volume with the corresponding values of the last analysis interval linear interpolated 9. The above-mentioned calculations are made once per analysis frame, which is 160 samples corresponding to 20 ms long.
  • the following calculations are made eight times per analysis frame, ie every 2.5 ms.
  • the first step is to calculate the current target signal, which should be reproduced. To do this, first subtract the Ausschwinganteil of the synthesis filter 11 due to previous Suggestions from the weighted digital speech signal from block 1. Weight filtering emphasizes areas of importance to the hearing in the voice signal. Now the determination of the adaptive excitation takes place a. It is taken from the adaptive codebook 10 which has a particular one Contains number of past excitation values of the synthesis filter. This Codebook 10 changes its contents after each subframe.
  • the excitation vector a selected from the adaptive codebook, whose filtered and scaled with a gain factor (gain 1) Version in the sense of an arbitrarily chosen error criterion, here square error, smallest distance to the target vector p has. After determining the filtered and scaled adaptive excitation a this is subtracted from the target vector p. It remains through the stochastic Excitation vector c to be minimized residual error. This excitation vector c will not be taken from a codebook, as it is with such Encoders is usually common, but from the target signal p and the Impulse response h of the synthesis filter directly calculated: From the above As explained above, the "ideal" RPE is determined in block 13. The excitation generator 14 determines the positions z. B.
  • gain factor gain 1
  • the speech decoder of Figure 4 is instead of the otherwise existing stochastic codebook an excitation generator 24, the o. e. Receives parameters from the speech coder, ie the position of the first of Zero different pulse of the ideal RPE sequence, the positions of the surviving pulses as well as the sign of the surviving pulses. From these Parameters, the stochastic excitation vector c is formed, the is supplied to the synthesis filter 21 after amplification.
  • the processing steps to be performed by the decoder otherwise correspond essentially those that were already running in the coder, with the exception, however, that for the construction of the filter coefficients and the excitation required codevectors from the various Codebooks based on the position information provided by the coder be taken immediately.
  • there is still one Postprocessing of the synthetic speech signal which is at the output of the LPC synthesis filter 21.
  • the post-processing filter 22 emphasizes the regions important to the listening experience in the voice signal and helps Disturbances caused by the coding itself and possible transmission errors have revealed, at least partially conceal.
  • To final D / A conversion 23 is again an analog voice signal to disposal.

Abstract

Die Erfindung beschreibt eine Möglichkeit, ein Sprachsignal ohne das aufwendige Absuchen eines stochastischen Codebuchs zu kodieren. Eine "ideale" RPE dient als Ausgangspunkt des Verfahrens. Die fünf größten RPE-Pulse werden betragsgleich quantisiert und durch ihre Vorzeichen unterschieden. Die restlichen RPE-Pulse werden Null gesetzt. Mit diesem einfachen und schnell durchführbaren Verfahren erzielt man die gleiche Sprachqualität wie mit deutlich aufwendigeren "closed-loop" Methoden. <IMAGE>

Description

Zeitbereichssprachkodierer, von denen im folgenden die Rede sein soll, arbeiten im wesentlichen alle nach dem gleichen Prinzip: Ein lineares Synthesefilter wird mit einem Anregungssignal derart beaufschlagt, daß dessen Ausgangssignal das zu übertragende Sprachsignal im Sinne eines festzulegenden Fehlermaßes möglichst gut approximiert. Oft besteht das Anregungssignal aus zwei Komponenten. Erstere soll die harmonischen, meist stimmhaften Sprachanteile nachbilden helfen, letztere die rauschförmigen Sprachanteile. Die eigentliche Lautformung, die beim realen Sprachtrakt durch den Rachen-Mund-Nasenraum geschieht, erfolgt durch das Synthesefilter. Die erzielbare Sprachqualität hängt dabei wesentlich von der Anregung des Synthesefilters ab.
Sogenannte Restsignalkodierer, wie zum Beispiel der im digitalen Mobilfunk derzeit eingesetzte RPE-LTP-Sprachkodierer, erreichen bei vergleichsweise geringer Komplexität und Bitraten deutlich oberhalb 10 kB/s nicht die heutzutage erforderliche Sprachqualität. Nach dem CELP-Prinzip (CELP = Code Excited Linear Prediction) arbeitende Analyse-durch-Synthese Sprachkodierer hingegen, die nicht das Sprachsignal selbst, sondern es beschreibende Parameter übertragen, erreichen im gleichen Bitratenbereich zwar eine deutlich bessere Sprachqualität als Restsignalkodierer, dies aber auf Kosten einer erheblich höheren Komplexität, wobei dieser Aufwand wesentlich durch das Absuchen von Codebüchern zur Bestimmung der stochastischen Anregung mitverursacht wird.
Wünschenswert wäre demnach, die Anregungsbestimmung zu vereinfachen, ohne die Sprachqualität zu reduzieren. Merkliche Vereinfachungen sind dann zu erwarten, wenn man das Absuchen von Codebüchern mittels eines guten, einfach bestimmbaren Vorauswahlkriteriums auf eine geringe Anzahl von Codevektoren beschränken oder sogar völlig auf das Absuchen des stochastischen Codebuchs verzichten kann, wenn es möglich wäre, die stochastische Anregung unmittelbar aus dem Sprachsignal abzuleiten, ohne die Übertragungsrate dadurch zu erhöhen. Bislang scheitert dieses Verfahren z. B. bei Bitraten um 13kB/s, weil es nicht gelingt, das Restsignal mit der verfügbaren Datenrate ausreichend gut zu quantisieren, weswegen man auch bei Zeitbereichs-Ansätzen im Bitratenbereich um 13 kB/s die Bestimmung der stochastischen Anregung nach dem CELP-Prinzip findet.
Aus der DE 90 067 17 U1 ist bereits eine Sprachsynthese bekannt, die ein RPE-Codewort verwendet.
Den Ausgangspunkt der Erfindung bildet eine "ideale RPE-Sequenz. Diese wird, wie seinerzeit von P. Kroon in seiner Dissertation "Time-domain coding of (near) toll quality speech at rates below 16 kb/s". Delft University of Technology, March 1985, angegeben, ermittelt. Zunächst wird daher auf die Bestimmung der RPE und die im RPE-LTP-Kodierer eingesetzte Variante dieses Anregungstyps eingegangen.
Berechnung der "idealen RPE"
Der zu bestimmende Anregungsvektor sei N Abtastwerte lang. Allgemein hat jeder dieser Abtastwerte eine eigene Amplitude und ein eigenes Vorzeichen. In der Praxis ist es aus Aufwandsgründen jedoch nötig, die Anzahl von Null verschiedener Pulse zu beschränken. Eine Möglichkeit, diese Aufwandsreduktion vorzunehmen, ist die sogenannte Regulärpuls-Anregung (Regular Pulse Excitation). Wenn beispielsweise jeder zweite Puls von Null verschieden ist, gibt es zwei Möglichkeiten, N/2 Pulse in einem Vektor der Länge N so zu plazieren, daß sich zwischen zwei von Null verschiedenen Pulsen jeweils eine Null befindet. Der erste-, dritte-, ..., Puls ist ungleich Null oder der zweite-, vierte-, ... Puls ist ungleich Null. Gibt es L von Null verschiedene Pulse, wobei L <= N, dann ist jeder (N/L)-te Puls ungleich Null und es gibt (N-(N/L)*(L-1)) Möglichkeiten, eine RPE-Sequenz zu erzeugen (beide Divisionen sind Integer-Divisionen). Der erste von Null verschiedene Puls kann sich auf (N-(N/L)*(L-1)) verschiedenen Positionen befinden. Der im Sinne eines zu approximierenden Zielvektors beste Satz von Amplituden berechnet sich wie folgt. Zunächst sei definiert:
p
Zielvektor, (1*N)-Matrix
h
Impulsantwort des Synthesefilters, (1*N)-Matrix
H
Impulsantwort-Matrix, (N*N)-Matrix
M
Verteilung der von Null verschiedenen Pulse im Anregungsvektor, (N*L)-Matrix
b
von Null verschiedene Pulsamplituden, (1*L)-Matrix
c
Anregungsvektor, (1*N)-Matrix
c'
gefilterte Anregung, (1*N)-Matrix
e
Differenz zwischen gefilterter Anregung und Zielsignal (Fehlervektor), (1*N)-Matrix
E
Fehlermaß, Skalar
Der Anregungsvektor ist gegeben durch c = b · M, der gefilterte Anregungsvektor lautet c' = b· M · H.
Der zu minimierende Fehler ist E = p - c'.
Als Abstandsmaß dient die Summe der quadratischen Fehler. E = e · eT.
Ersetzen von e in der Gleichung durch die vorgenannten Beziehungen liefert E = p·pT - 2·HT · MT · bT + b · M · H · HT · MT · bT .
Die partielle Ableitung nach den Komponenten des Pulsamplitudenvektors b E bT = 0 führt auf den Satz bester Amplituden für die jeweilige Verteilung der von Null verschiedenen Pulse (Matrix M). bT = p·HT · MT ·(M·H·HT·MT )-1.
Die Impulsantwortmatrix hat nachfolgende Gestalt
Figure 00040001
Für den Fall L = N/2 ist M durch die beiden nachfolgenden Matrizen gegeben
Figure 00040002
Allgemein befindet sich bei einer RPE in jeder Zeile von M nur ein einziges von Null verschiedenes Element, wobei die n-te Zeile die Position des n-ten Pulses der RPE angibt. Wenn es m Möglichkeiten gibt, mittels L von Null verschiedener Pulse eine RPE zu bilden, nimmt auch die Matrix M m verschiedene Gestalten an. Die "ideale RPE-Sequenz" ist diejenige, die gemäß obiger Rechnung das Fehlermaß E minimiert.
Bestimmung der RPE beim RPE-LTP-Kodierer
Die zuvor beschriebene Bestimmung der RPE erfordert das Lösen eines verkoppelten, linearen Gleichungssystems. Als der RPE-LTP-Kodierer definiert wurde, stand nicht genug Rechenleistung zur Verfügung, um den Algorithmus in einem für den Massenmarkt vorgesehenen Mobiltelefon zu implementieren. Deshalb kommt eine vereinfachte RPE-Variante zum Einsatz. Nach Dekorrelationsfilterung des zu übertragenden Sprachsignals verbleibt ein Restsignal, das im interessierenden Frequenzbereich ein theoretisch weißes Spektrum aufweist. Wenn alle Spektralkomponenten von gleicher Intensität sind, kann man auf die Übertragung des gesamten Bandes verzichten, es genügt, das Basisband zu übertragen, welches man durch Unterabtastung des Restsignals nach vorheriger Tiefpaß-Filterung gewinnt. Dadurch reduziert sich die Anzahl der zu übertragenden Pulse und damit die Übertragungsrate. Decodierseitig kann durch Interpolationsfilterung das nicht übertragene hohe Band zurückgewonnen werden.
Das Restsignal war bei der Berechnung der"idealen RPE" im vorigen Abschnitt nicht explizit erforderlich, so daß beide Verfahren zunächst recht unterschiedlich aussehen. Tatsächlich jedoch ist das beim RPE-LTP-Kodierer eingesetzte Verfahren als Näherung des zuvor beschriebenen Verfahrens interpretierbar. Die oben beschriebene RPE-Berechnung läßt sich gleichwertig durchführen, wenn man sie unter Einbeziehung des Restsignals in folgende Schritte untergliedert:
  • Filterung des Restsignals r(n) mit einem FIR-Filter F(z) der Länge N→y(n),
  • Abtastung (Dezimierung) des gefilterten Restsignals → z(n),
  • Erhöhung der Abtastrate von z(n) auf die ursprüngliche → c(n),
  • Synthesefilterung dieses Signals → v(n),
  • Berechnung des Synthesefehlers → E,
  • Minimierung des Synthesefehlers durch geeignete Wahl der Koeffizienten von F(z) → {f0, f1, ..., fN-1}.
Gesucht sind also diejenigen N Filterkoeffizienten, die bei Filterung und Abtastung des gegebenen Restsignals den minimalen Fehler verursachen. In Matrixschreibweise ergibt sich: y = f · R z = y · Mt c = z · M v = c · H = f · R · Mt · M · H E = p · pt - 2p · vt + v · vt = p · pt - 2p · Ht · Mt · M · Rt · ft + f · R · Mt · M · H · Ht · Mt · M · Rt · ft E ft = 0 ⇒ f · R · Mt · M · H · Ht · Mt · M · Rt = p · Ht · Mt · M · Rt sei A = R · Mt · M · H f · A · At = p · At wobei
f
(1xN)-Matrix.
R
(NxN)-Matrix,
M
(NpxN)-Matrix,
p
(1xN)-Matrix
   und R = r(0) r(-1) .. r(-(N-1)) r(1) r(0) .. r(-(N-2)) .... .. .. r(N-1) r(N-2) .. r(0) .
Die Werte r(0), r(1), ..., r(N-1) stellen das aktuelle Restsignal dar, r(-(N- 1)), r(-(N-2)), ..., r(-1) sind Werte aus der Signalvergangenheit.
M ist beispielhaft für den Fall angegeben, daß der erste von Null verschiedene Puls auf der ersten Position im RPE-Vektor sitzt und jeder zweite Puls von Null verschieden ist:
{a0, 0, a1, 0, a3, 0, .. aN-2, 0}. Allgemein wird M konstruiert wie oben angegeben.
Figure 00070001
Aus f · A · A' = p · A' kann nun nicht unmittelbar durch Nachmultiplizieren beider Gleichungsseiten mit (A · A')-1 der Koeffizientenvektor f bestimmt werden, weil die Inverse aufgrund der Konstruktion von A unabhängig vom Restsignal und von der Impulsantwort des Synthesefilters nicht existiert, da die Determinante von A stets Null ist: Ist A symmetrisch, gilt det(A) = det(At). Weiterhin ist det(A · B) = det(A) · det(B) und det(A · B) ≠ 0 und det(B) ≠ 0. R, MtM und H sind quadratische Matrizen gleicher Dimension. Die Restsignalmatrix R kann bei ausreichender Sprachaktivität als invertierbar angenommen werden. Die Impulsantwortmatrix H ist ebenfalls invertierbar, weil sie eine Dreiecksmatrix ist, auf deren Hauptdiagonale stets von Null verschiedene Elemente stehen. MtM hingegen ist nie invertierbar, sie enthält Nullspalten und Nullzeilen. Wenn z. B. der zweite, vierte, sechste, ... Puls in der RPE Null ist, dann befinden sich in der zweiten, vierten, sechsten, ... Spalte und Zeile in MtM nur Nullen. Fortgesetzte Anwendung von det(A · B) = det(A) · det(B) ergibt det(A · A') = 0 ∀ R, H.
Ein FIR-Filter F(z) der Länge N, mit dem man das Restsignal vor seiner Abtastung filtern müßte, um den kleinstmöglichen Synthesefehler zu erhalten, ist durch Vorgabe der Positionierung der von Null verschiedenen Pulse, das Synthesefilter, das Zielsignal und das Restsignal nicht eindeutig bestimmt. Werden nach Filterung des Restsignals m Pulse willkürlich nullgesetzt, fehlen zur Bestimmung der N Filterkoeffizienten m linear unabhängige Gleichungen. Der Rang von A ist nur so groß wie die Anzahl von null verschiedenere Pulse.
Bei der Berechnung der "idealen RPE" (siehe oben) wird ebenfalls das hier eingesetzte Fehlermaß benutzt. Die Minimierung des Fehlers muß bei beiden Verfahren auf den gleichen resultierenden Synthesefehler führen, denn durch das gewählte Fehlerkriterium ist sichergestellt, daß es, von Randextrema abgesehen, nur ein Minimum gibt. Die Anregungssignale der beiden exakt gleichen Synthesefilter müssen also in beiden Fällen exakt übereinstimmen: der Vektor z aus diesem Abschnitt und der Vektor b aus dem vorigen Abschnitt sind demnach gleich. Setzt man in f · R · Mt · M · H · Ht · Mt · M · Rt = p · Ht · Mt · M · Rt b = f · R · Mt und nachmultipliziert mit R · Mt , so erhält man b · (M · H · HT · MT ) = p · HT · MT , wenn man die Invertierbarkeit von M · R' · R · M' voraussetzt, also die Gleichungen zur Berechnung der "idealen RPE". Das Gleichungssystem in f läßt sich formal in das System in b überführen. Umgekehrt läßt sich das System in b in das System in f überführen, wenn man statt b fRMt einsetzt und die Gleichung mit MRt nachmultipliziert.
Beispielhaft sei der Fall für N/2 von null verschiedene Pulse angegeben, wobei sich der erste von null verschiedene Puls auf der ersten Position im RPE-Vektor befindet.
Figure 00090001
Als Gleichungssystem in f geschrieben folgt
Figure 00090002
   Zur Berechnung der N Filterkoeffizienten stehen nur N/2 Gleichungen zur Verfügung. Das System ist mit beliebig vielen verschiedenen Koeffizientenvektoren f erfüllbar. Weil es zur Minimierung des Synthesefehlers aber genügt, das Gleichungssystem irgendwie zu erfüllen, wählt man sinnvollerweise einen "bequemen" Koeffizientensatz für die (N-m) wählbaren Koeffizienten, m = Rang (A), multipliziert mit der vorstehenden Matrix und schafft die entstehenden Konstanten auf die rechte Gleichungsseite. Damit ist das verbleibende System reduzierter Ordnung eindeutig lösbar.
Beim RPE-LTP Kodierer wird das Filter F(z) nicht neu berechnet, wenn sich Zielsignal und Impulsantwort des Synthesefilters verändert haben. Die Filterkoeffizienten sind konstant. Der Betragsfrequenzgang dieses Filters hat den Verlauf eines als "typisch" angesehenen Sprachspektrums. Hierbei handelt es sich um einen Tiefpaß mit weichem Übergang vom Durchlaß- in den Sperrbereich. Die Grenzfrequenz liegt im Bereich um 1300 Hz. Das Filter F(z) kann als Tiefpaßfilter vor dem Abtaster angesehen werden. Allerdings entstehen durch den weichen Übergang vom Durchlaß- in den Sperrbereich Alias-Komponenten. Insgesamt stellt diese Vorgehensweise eine recht grobe Näherung dar. Der Betragsfrequenzgang von F(z) variiert nämlich nicht unerheblich.
In der Praxis läßt sich das Sprachsignal durch lineare Dekorrelationsfilterung nicht völlig dekorrelieren. Das Spektrum ist deshalb nicht weiß, sondern gegenüber dem Ursprungsspektrum lediglich flacher und insgesamt von geringerer Intensität. Die Annahme, bereits durch Kenntnis des Basisbandes das gesamte Band zu kennen, ist eine grobe Näherung und verursacht besonders bei Sprechern mit hohen Stimmen einen nicht unerheblichen Fehler, der beim RPE-LTP-Kodierer deutlich in Erscheinung tritt, weil nur das unterste Drittel des Gesamtbandes übertragen wird, was der Unterabtastung mit dem Faktor 3 entspricht.
Dennoch werden zur Übertragung der stochastischen Anregung 45 Bit/5ms benötigt, entsprechend 9 kB/s. Eine weniger genaue Quantisierung der einzelnen Pulse führt auf eine klar schlechtere Sprachqualität, eine Verbesserung derselben ist durch Reduktion des Unterabtastungsfaktors möglich, erhöht aber die Übertragungsrate. Dieser Weg scheidet zur Verbesserung des RPE-LTP-Kodierers deshalb aus. Neben den durch die Art und Weise, wie die RPE ermittelt wird, verursachten Qualitätseinbußen reduzieren weitere beim RPE-LTP-Kodierer aus Aufwandsgründen seinerzeit erforderlichen Beschränkungen die Qualität. So findet ein Synthesefilter von nur achter Ordnung Anwendung. Die Langzeitprädiktion erfolgt mittels eines einstufigen Prädiktors. Die zugehörige Verstärkung wird grobstufig skalar quantisiert.
Versuche, den RPE-LTP-Kodierer zu verbessern, schienen deshalb bei der Suche nach einem Algorithmus für einen deutlich verbesserten Sprachkodierer für das digitale Mobilfunknetz nicht sinnvoll. Diese weit verbreitete Annahme hat dazu geführt, daß auch der Anregungstyp RPE für moderne Zeitbereichskodierer de facto nicht mehr in Betracht gezogen wurde und die nach dem RPE-LTP-Kodierer entwickelten Zeitbereichssprachkodierer im wesentlichen nach dem CELP-Prinzip arbeiten und ihre stochastische Anregung durch aufwendiges Absuchen von trainierten oder algebraisch konstruierten Codebüchern ermittelten.
CELP-Prinzip
Abbildung 1 zeigt das CELP-Prinzip, wie es typischerweise eingesetzt wird. Ein zu approximierendes Zielsignal wird durch Absuchen (mindestens) zweier Codebücher nachgebildet. Dabei unterscheidet man zwischen einem adaptiven Codebuch (a2), dessen Aufgabe die Nachbildung der harmonischen Sprachanteile ist und einem/oder mehreren stochastischen Codebüchern (a4), die zur Synthese der nicht aus Prädiktion gewinnbaren Sprachanteile dienen. Das adaptive Codebuch (a2) ändert sich abhängig vom Sprachsignal, während das stochastische Codebuch (a4) zeitinvariant ist. Die Suche nach den besten Codevektoren läuft derart ab, daß nicht eine gemeinsame, d. h. gleichzeitige Suche in den Codebüchern stattfindet, wie es für eine optimale Auswahl der Codevektoren erforderlich wäre, sondern aus Aufwandsgründen zunächst das adaptive Codebuch (a2) durchsucht wird. Ist der gemäß des Fehlerkriteriums beste Codevektor gefunden, subtrahiert man dessen Beitrag zum rekonstruierten Zielsignal vom Zielvektor (Zielsignal) und erhält den durch einen Vektor aus dem stochastischen Codebuch (a4) noch zu rekonstruierenden Teil des Zielsignals. Die Suche in den einzelnen Codebüchern erfolgt nach dem gleichen Prinzip. In beiden Fällen wird der Quotient aus dem Quadrat der Korrelation des gefilterten Codevektors mit dem Zielvektor und der Energie des gefilterten Zielvektors für alle Codevektoren berechnet. Derjenige Codevektor, der diesen Quotienten maximiert, wird als bester Codevektor angesehen, der das Fehlerkriterium (a5) minimiert. Die vorgeschaltete Fehlergewichtung (a6) gewichtet den Fehler entsprechend der Charakteristik des menschlichen Gehörs. Seine Position wird an den Decoder übertragen. Durch die Berechnung des genannten Quotienten wird für jeden Codevektor implizit der richtige Verstärkungsfaktor (Verstärkung 1, Verstärkung 2) ermittelt. Nachdem der beste Kandidat aus beiden Codebüchern bestimmt ist, kann man durch eine gemeinsame Optimierung der Verstärkung den qualitätsmindernden Einfluß des sequentiell durchgeführten Codebuchsuchens reduzieren. Dabei gibt man den ursprünglichen Zielvektor erneut vor und berechnet zu den nun ausgewählten Codevektoren passend die besten Verstärkungen, die sich meist geringfügig von denen unterscheiden, die während des Codebuchsuchens ermittelt wurden.
Das CELP-Prinzip ist dadurch gekennzeichnet, daß zum Auffinden des besten Codevektors jeder Kandidatenvektor einzeln gefiltert (a3) und mit dem Zielsignal verglichen werden muß. Dieser Vorgang verursacht trotz des sequentiellen Absuchens beider Codebücher einen erheblichen Aufwand, der bei der in der ersten CELP-Veröffentlichung vorgeschlagenen Codebuchgröße von 1024 Vektoren nicht einmal auf leistungsfähigen Fließkomma-Signalprozessoren in Echtzeit zu bewältigen ist. Der Schwerpunkt der Arbeiten an CELP-Kodierern beschäftigte (und beschäftigt) sich deshalb mit der Frage, wie man die Vorteile des CELP-Prinzips nutzen kann, ohne den Nachteil des hohen Rechenaufwands inkaufnehmen zu müssen.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Sprachsynthese zu schaffen, bei dem man im angegebenen Bitratenbereich auf das Absuchen stochastischer Codebücher völlig verzichten kann, ohne die Sprachqualität zu beeinträchtigen und ohne die Übertragungsrate verglichen mit dem Einsatz stochastischer Codebücher zu erhöhen.
Die Lösung der gestellten Aufgabe ist im Anspruch 1 angegeben. Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
Gemäß der Erfindung wird ein Verfahren zur Synthese eines Rahmens eines Sprachsignals in einem Sprachcoder/-decoder, z. B. vom CELP-Typ, zur Verfügung gestellt, bei dem einem Synthesefilter des Sprachcoders ein Anregungsvektor zugeführt wird, der aus einer adaptiven Anregungskomponente a und einer stochastischen Anregungskomponente c besteht, wobei die stochastische Anregungskomponente c durch folgende Parameter gebildet wird, die einer zuvor errechneten idealen RPE-Sequenz entnommen werden:
  • a) Die Position des ersten von Null verschiedenen Pulses in der idealen RPE-Sequenz,
  • b) die Positionen einer vorgewählten Anzahl von betragsgrößten Pulsen der idealen RPE-Sequenz,
  • c) die Amplituden dieser betragsgrößten Pulse, und
  • d) die Vorzeichen dieser betragsgrößten Pulse,
    und wobei diese Parameter ferner zum Sprachdecoder übertragen werden, um auch dort die stochastische Anregungskomponente c zu erzeugen.
  • Fast alle Zeitbereichskodierer besitzen heutzutage eine ähnliche Struktur. Die Synthesefilter-Koeffizienten eines Filters zehnter Ordnung werden oft in Reflexionsfaktoren oder in "Line Spectrum Frequencies" (LSFs) umgerechnet und (vektor-) quantisiert. Die Anregung des Synthesefilters setzt sich aus der gewichteten Überlagerung der adaptiven Anregung und der stochastischen Anregung zusammen. Beide Anregungsbestandteile werden sequentiell durch eine mehr oder weniger suboptimal durchgeführte Codebuchsuche bestimmt, wobei die adaptive Anregung, also der durch Wiederholung alter Anregungswerte gewinnbare Anregungsbestandteil, zuerst ermittelt wird. Der Grad der Suboptimalität beim Absuchen der Codebücher entscheidet über Rechenaufwand und Sprachqualität. Das Ziel ist, möglichst wenige Codevektoren innerhalb der Analyse-durch-Syntheseschleife zu untersuchen, damit der Rechenaufwand begrenzt wird. Dazu ist eine einfache aber gute Vorauswahl der innerhalb der Schleife zu untersuchender Codevektoren erforderlich. Die Vektorquantisierung der Anregung erlaubt einerseits die Reduktion der Übertragungsrate und verursacht andererseits bei gleicher Übertragungsrate wie eine Skalarquantisierung einen geringeren Quantisierungsfehler.
    Das hier beschriebene neue Verfahren nach der Erfindung zur Ermittlung der stochastischen Anregung unterscheidet sich von diesem Ansatz erheblich. Es wird kein Vorauswahlkriterium benutzt und die stochastische Anregung wird auch nicht vektorquantisiert. Es handelt sich auch nicht um eine Skalarquantisierung im herkömmlichen Sinne, bei der man bestrebt ist, die übertragenen Pulse möglichst genau zu quantisieren. Das wesentliche Qualitätsproblem beim RPE-LTP-Kodierer ist, daß die RPE eine um den Faktor Drei unterabgetastete Version des dekorrelierten Sprachsignals ist. Selbst eine exakte Quantisierung der RPE-Pulse erhöht die Qualität nur unwesentlich. Eine Reduktion des Unterabtastungsfaktors auf zwei erhöht die Qualität zwar merklich, bedingt aber auch eine erheblich höhere Übertragungsrate. Weil die Übertragungsrate des Kodierers aber nicht steigen darf, scheidet dieser Weg aus.
    Beim RPE-LTP-Kodierer kommt eine recht grobe Langzeitprädiktion zum Einsatz, so daß auch die RPE noch harmonische Sprachanteile beitragen muß. In heutigen Analyse-durch Synthese-Kodierern hingegen erfolgt die Langzeitprädiktion erheblich genauer als im RPE-LTP-Kodierer, so daß die verbleibende stochastische Anregung tatsächlich im wesentlichen rauschförmigen Charakter besitzt und die richtige Phasenlage der stochastischen Anregung wesentlich wichtiger ist als eine genaue Quantisierung der Amplituden. Diesem Umstand ist es auch zu verdanken, daß ACELPs (Algebraic Code Exicited Linear Prediction) mit Codeworten, die nur eine oder zwei Amplitudenstufen zulassen, gute Ergebnisse liefern. Bei einem ACELP beantwortet eine Codebuchsuche die Frage, auf welchen Pulspositionen Pulse plaziert werden müssen. Die Beantwortung dieser Frage verursacht allgemein einen erheblichen Aufwand, auch wenn die Codeworte nur aus Nullen und Einsen bestehen und die Vorzeichen schon durch suboptimale Methoden vorab ermittelt wurden.
    Dieser Aufwand ist zumindest z. B. im Bitratenbereich um 13 kB/s entbehrlich. Die Positionen, auf denen von Null verschiedene Pulse sitzen müssen, lassen sich auch ohne hörbare Qualitätseinbuße einer mit erheblich geringerem Aufwand berechneten "idealen RPE'" entnehmen.
    Um den Rechenaufwand bei der Lösung des Gleichungssystems zur Bestimmung der "idealen" RPE zu reduzieren, kann man erfindungsgemäß die stochastische Anregung z. B. alle 2,5 ms neu bestimmen. Das entspricht einer Unterrahmenlänge von N = 20 Abtastwerten. In diesem Fall ist ein Gleichungssystem zehnter Ordnung zu lösen. Die sich ergebenden Amplituden der "idealen RPE" werden nun betrachtet, um die "uberlebenden Pulse" zu finden. Zumindest die Hälfte der RPE-Amplituden sind relativ klein. Nur einige wenige Amplituden besitzen eine große Amplitude. Es ist ausreichend, die großen Amplituden überleben zu lassen, sie z. B. betragsmäßig gleich zu machen und dann nur noch deren Position und Vorzeichen an den Decoder zu übertragen. Drei bis fünf der betragsgrößten Pulse genügen für gute/sehr gute Sprachqualität. Die auf diesem Weg erhaltene Anregung hat die Gestalt einer Pseudo-MPE (Multi Pulse Excitation).
    Die Erfindung wird nachfolgend unter Bezugnahme auf die Zeichnung näher beschrieben. Es zeigen:
  • Figur 1 die Darstellung des CELP-Prinzips, wie es herkömmlicherweise eingesetzt wird;
  • Figur 2 eine Darstellung zur erfindungsgemäßen Erzeugung einer stochastischen Anregung (Figur 2b) in Abhängigkeit einer idealen RPE Sequenz (Figur 2a);
  • Figur 3 ein beim erfindungsgemäßen Verfahren verwendeter Sprachcoder; und
  • Figur 4 ein beim erfindungsgemäßen Verfahren verwendeter Sprachdecoder.
  • Die Abbildung 2 zeigt, wie bei einem Ausführungsbeispiel der Erfindung aus einer idealen RPE nach Figur 2a eine stochastische Anregung nach Figur 2b erzeugt wird. Aus der idealen RPE werden dazu folgende Parameter bzw. Größen entnommen:
    • Die Position des ersten von Null verschiedenen Pulses in der idealen RPE;
    • die Positionen der überlebenden Pulse, also derjenigen Pulse, deren Amplitude größer als eine vorgegebene Schwelle ist; und
    • die Vorzeichnen dieser überlebenden Pulse.
    Dabei sind vorzugsweise die Amplituden der überlebenden Pulse alle gleich bzw. normiert, z. B. auf Eins, so daß die Vorzeichenangabe auch gleich der Amplitudenangabe ist, was dem Coder mitgeteilt werden muß.
    Zur Bestimmung der Anregung ist eine exakte Bestimmung der Amplituden durch Lösung eines verkoppelten Gleichungssystems nicht unbedingt erforderlich. Die entsprechenden Pulspositionen und Vorzeichen lassen sich auch einem suboptimal gelösten System entnehmen. Hier kommen alle Möglichkeiten in Betracht, bei denen Amplituden, Positionen und Vorzeichen der großen Pulse weitgehend erhalten bleiben. Eine dieser Möglichkeiten ist, die Pulse sequentiell zu ermitteln, indem man zunächst den ersten Puls bestimmt, dessen Beitrag am rekonstruierten Zielsignal vom Zielsignal p subtrahiert, dann den zweiten Puls berechnet, usw.
    Das beschriebene Verfahren zur Gewinnung einer Pseudo-MPE aus einer "idealen" RPE ist eine kombinierte "closed-loop" / "open-loop" Methode. Die "ideale" RPE ist bezüglich des zu approximierenden Zielsignals optimal (closed-loop"), wahrend die Quantisierung der "idealen" RPE nicht mit Blick auf dieses Zielsignal erfolgt, sondern von den Positionen der maximalen Pulse im RPE-Vektor abhängt ("open-loop"). Dadurch wird der Rechenaufwand zur Quantisierung vernachlässigbar klein. Das in Sprachkodierern in diesem Bitratenbereich ansonsten übliche sehr aufwendige Absuchen stochastischer Codebücher entfällt.
    Die Anwendung dieses Verfahrens wird anhand eines beispielhaften Sprachkodierers im folgenden demonstriert, ist aber nicht auf diesen beschränkt.
    Abbildung 3 zeigt den Sprachkodierer. Nach Abtastung des analogen Sprachsignals im Block 0 wird das digitale Sprachsignal einer Fensterung 2 unterzogen, bevor die LPC-Analyse 3 zur Ermittlung der Koeffizienten des Synthesefilters 11, 12 durchgeführt wird. Zweck der Fensterung ist, die Abschneideeffekte durch die endliche Länge des LPC-Analyseintervalls zu verringern. Das Synthesefilter ist in zwei Blöcke aufgeteilt, wobei Block 11 den Ausschwinganteil des Filters aufgrund der Werte im Filtergedächtnis darstellt und Block 12 das Synthesefilter mit nullgesetztem Gedächtnis zu Beginn einer jeden Filterung. Die Überlagerung beider Ausgangssignale ist das Ausgangssignal des Synthesefilters. Vor ihrer Quantisierung 5 erfolgt die Umrechnung 4 der direkten Filterkoeffizienten in "Line-Spectrum-Frequencies" (LSF), die günstigere Eigenschaften bezüglich der Quantisierung aufweisen als direkte Filterkoeffizienten. Die LSFs werden dann quantisiert 5 und die Positionen in den entsprechenden LSF-Code-büchern werden an den Decoder übertragen. Das gefensterte digitale Sprachsignal wird durch einen Lautstärkewert charakterisiert 7, der proportional der im Signal enthaltenen Energie ist. Dieser Wert wird logarithmisch quantisiert 8 und ebenfalls an den Decoder übertragen. Im Kodierer werden die quantisierten Werte der LSFs und der Lautstärke benutzt, ebenso wie im Decoder. Vor ihrer Verwendung werden die quantisierten LSFs wieder in direkte Filterkoeffizienten umgerechnet 6 und wie die Lautstärke mit den entsprechenden Werten des letzten Analyseintervalls linear interpoliert 9. Die vorgenannten Rechnungen erfolgen einmal pro Analyserahmen, der hier 160 Abtastwerte entsprechend 20 ms lang ist.
    Die nachfolgenden Berechnungen erfolgen acht mal je Analyserahmen, also alle 2,5 ms. Der erste Schritt ist die Berechnung des aktuellen Zielsignals, welches nachgebildet werden soll. Dazu subtrahiert man zunächst den Ausschwinganteil des Synthesefilters 11 aufgrund vorangegangener Anregungen vom wichtungsgefilterten digitalen Sprachsignal aus Block 1. Die Wichtungsfilterung betont für das Gehör wichtige Bereiche im Sprachsignal. Nun erfolgt die Bestimmung der adaptiven Anregung a. Sie wird dem adaptiven Codebuch 10 entnommen, das eine bestimmte Anzahl vergangener Anregungswerte des Synthesefilters enthält. Dieses Codebuch 10 verändert nach jedem Unterrahmen seinen Inhalt. Es wird derjenige Anregungsvektor a aus dem adaptiven Codebuch ausgewählt, dessen gefilterte und mit einem Verstärkungsfaktor (Verstärkung 1) skalierte Version den im Sinne eines willkürlich gewählten Fehlerkriteriums, hier quadratischer Fehler, kleinsten Abstand zum Zielvektor p aufweist. Nach Bestimmung der gefilterten und skalierten adaptiven Anregung a wird diese vom Zielvektor p subtrahiert. Es verbleibt der durch den stochastischen Anregungsvektor c zu minimierende Restfehler. Dieser Anregungsvektor c wird nun keinem Codebuch entnommen, wie es bei solchen Kodierern normalerweise üblich ist, sondern aus dem Zielsignal p und der Impulsantwort h des Synthesefilters unmittelbar berechnet: Aus den genannten Signalen wird, wie oben erläutert, die "ideale" RPE in Block 13 bestimmt. Der Anregungsgenerator 14 bestimmt die Positionen z. B. der fünf betragsgrößten Pulse und dessen Vorzeichen und setzt die restlichen BPE-Pulse zu Null. Die überlebenden Pulse erhalten den gleichen Betrag und werden nur noch durch ihre Vorzeichen unterschieden. Nachdem beide Anregungsteilvektoren (adaptiver a und stochastischer c Anregungsvektor) bekannt sind, werden die Verstärkungsfaktoren gemeinsam optimiert und vektorquantisiert 15.
    Beim Sprachdecoder nach Figur 4 befindet sich anstelle des sonst vorhandenen stochastischen Codebuchs ein Anregungsgenerator 24, der die o. e. Parameter vom Sprachcoder empfängt, also die Position des ersten von Null verschiedenen Pulses der idealen RPE-Sequenz, die Positionen der überlebenden Pulse sowie die Vorzeichen der überlebenden Pulse. Aus diesen Parametern wird der stochastische Anregungsvektor c gebildet, der nach Verstärkung dem Synthesefilter 21 zugeführt wird.
    Die vom Decoder sonst durchzuführenden Verarbeitungsschritte entsprechen im wesentlichen denen, die auch schon im Coder ausgeführt wurden, allerdings mit der Ausnahme, daß die zur Konstruktion der Filterkoeffizienten und der Anregung erforderlichen Codevektoren aus den verschiedenen Codebüchern aufgrund der vom Coder übermittelten Positionsangaben unmittelbar entnommen werden. Darüber hinaus erfolgt noch eine Nachverarbeitung des synthetischen Sprachsignals, das sich am Ausgang des LPC-Synthesefilters 21 ergibt. Das Nachverarbeitungsfilter 22 betont die für den Höreindruck wichtigen Regionen im Sprachsignal und hilft, Störungen, die sich durch die Kodierung selbst und durch mögliche Übertragungsfehler ergeben haben, zumindest teilweise zu verdecken. Nach abschließender D/A-Wandlung 23 steht wieder ein analoges Sprachsignal zur Verfügung.

    Claims (4)

    1. Verfahren zur Synthese eines Rahmens eines Sprachsignals in einem Sprachcoder/-decoder, bei dem einem Synthesefilter (12) des Sprachcoders ein Anregungsvektor zugeführt wird, der aus einer adaptiven Anregungskomponente (a) und einer stochastischen Anregungskomponente (c) besteht, wobei die stochastische Anregungskomponente (c) durch folgende Parameter gebildet wird, die einer zuvor errechneten idealen RPE-Sequenz (Regular Pulse Excitation Sequence) entnommen werden:
      a) Die Position des ersten von Null verschiedenen Pulses in der idealen RPE-Sequenz,
      b) die Positionen einer vorgewählten Anzahl von betragsgrößten Pulsen der idealen RPE-Sequenz.
      c) die Amplituden dieser betragsgrößten Pulse, und
      d) die Vorzeichen dieser betragsgrößten Pulse,
      und wobei diese Parameter ferner zum Sprachdecoder übertragen werden, um auch dort die stochastische Anregungskomponente (c) zu erzeugen.
    2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Amplituden der entnommenen betragsgrößten Pulse den gleichen, beliebig wählbaren Betrag erhalten.
    3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die vorgewählte Anzahl von betragsgrößten Pulsen im Bereich von N/6 ... N/4 liegt, wobei N die Anzahl von Abtastwerten in einem Unterrahmen eines Analyserahmens ist.
    4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die stochastische Anregungskomponente (c) für jeden Unterrahmen neu berechnet wird.
    EP97116746A 1996-10-09 1997-09-25 Verfahren zur Synthese eines Rahmens eines Sprachsignals Ceased EP0836176A3 (de)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    DE19641619A DE19641619C1 (de) 1996-10-09 1996-10-09 Verfahren zur Synthese eines Rahmens eines Sprachsignals
    DE19641619 1996-10-09

    Publications (2)

    Publication Number Publication Date
    EP0836176A2 true EP0836176A2 (de) 1998-04-15
    EP0836176A3 EP0836176A3 (de) 1999-01-13

    Family

    ID=7808273

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    EP97116746A Ceased EP0836176A3 (de) 1996-10-09 1997-09-25 Verfahren zur Synthese eines Rahmens eines Sprachsignals

    Country Status (3)

    Country Link
    US (1) US6041298A (de)
    EP (1) EP0836176A3 (de)
    DE (1) DE19641619C1 (de)

    Families Citing this family (5)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US6859775B2 (en) * 2001-03-06 2005-02-22 Ntt Docomo, Inc. Joint optimization of excitation and model parameters in parametric speech coders
    JP3582589B2 (ja) * 2001-03-07 2004-10-27 日本電気株式会社 音声符号化装置及び音声復号化装置
    US6662154B2 (en) * 2001-12-12 2003-12-09 Motorola, Inc. Method and system for information signal coding using combinatorial and huffman codes
    JP2008503786A (ja) * 2004-06-22 2008-02-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーディオ信号の符号化及び復号化
    EP2128855A1 (de) * 2007-03-02 2009-12-02 Panasonic Corporation Sprachcodierungseinrichtung und sprachcodierungsverfahren

    Citations (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    WO1990013891A1 (en) * 1989-05-11 1990-11-15 Telefonaktiebolaget Lm Ericsson Excitation pulse positioning method in a linear predictive speech coder
    DE9006717U1 (de) * 1990-06-15 1991-10-10 Philips Patentverwaltung Gmbh, 2000 Hamburg, De

    Family Cites Families (12)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    WO1990013112A1 (en) * 1989-04-25 1990-11-01 Kabushiki Kaisha Toshiba Voice encoder
    US5091945A (en) * 1989-09-28 1992-02-25 At&T Bell Laboratories Source dependent channel coding with error protection
    CA2010830C (en) * 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
    US5701392A (en) * 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
    FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
    FI90477C (fi) * 1992-03-23 1994-02-10 Nokia Mobile Phones Ltd Puhesignaalin laadun parannusmenetelmä lineaarista ennustusta käyttävään koodausjärjestelmään
    FI95085C (fi) * 1992-05-11 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin digitaaliseksi koodaamiseksi sekä puhekooderi menetelmän suorittamiseksi
    FI98164C (fi) * 1994-01-24 1997-04-25 Nokia Mobile Phones Ltd Puhekooderin parametrien käsittely tietoliikennejärjestelmän vastaanottimessa
    FI98163C (fi) * 1994-02-08 1997-04-25 Nokia Mobile Phones Ltd Koodausjärjestelmä parametriseen puheenkoodaukseen
    US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
    FR2729245B1 (fr) * 1995-01-06 1997-04-11 Lamblin Claude Procede de codage de parole a prediction lineaire et excitation par codes algebriques
    EP0773533B1 (de) * 1995-11-09 2000-04-26 Nokia Mobile Phones Ltd. Verfahren zur Synthetisierung eines Sprachsignalblocks in einem CELP-Kodierer

    Patent Citations (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    WO1990013891A1 (en) * 1989-05-11 1990-11-15 Telefonaktiebolaget Lm Ericsson Excitation pulse positioning method in a linear predictive speech coder
    DE9006717U1 (de) * 1990-06-15 1991-10-10 Philips Patentverwaltung Gmbh, 2000 Hamburg, De
    US5251261A (en) * 1990-06-15 1993-10-05 U.S. Philips Corporation Device for the digital recording and reproduction of speech signals

    Non-Patent Citations (1)

    * Cited by examiner, † Cited by third party
    Title
    M. Delprat et al.: "A 6 KBPS Regular Pulse CELP Coder For Mobile Radio Communications", Proceedings of the Workshop on Speech Coding for Telecommunications, Boston (USA), Seiten 179-188 (1991) *

    Also Published As

    Publication number Publication date
    US6041298A (en) 2000-03-21
    DE19641619C1 (de) 1997-06-26
    EP0836176A3 (de) 1999-01-13

    Similar Documents

    Publication Publication Date Title
    DE19604273C2 (de) Verfahren und Vorrichtung zum Durchführen einer Suche in einem Kodebuch im Hinblick auf das Kodieren eines Klangsignales, Zellkommunikationssystem, Zellnetzwerkelement und mobile Zell-Sender-/Empfänger-Einheit
    DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
    DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
    DE60225400T2 (de) Verfahren und Vorrichtung zur Verarbeitung eines dekodierten Sprachsignals
    DE69726525T2 (de) Verfahren und Vorrichtung zur Vektorquantisierung und zur Sprachkodierung
    DE19647298C2 (de) Kodiersystem
    DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
    DE60120766T2 (de) Indizieren von impulspositionen und vorzeichen in algebraischen codebüchern zur codierung von breitbandsignalen
    DE60303214T2 (de) Verfahren zur reduzierung von aliasing-störungen, die durch die anpassung der spektralen hüllkurve in realwertfilterbanken verursacht werden
    DE69839407T2 (de) Verfahren und Vorrichtung zum Generieren von Vektoren für die Sprachdekodierung
    DE2659096C2 (de)
    DE69916321T2 (de) Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen
    DE69720861T2 (de) Verfahren zur Tonsynthese
    DE69729527T2 (de) Verfahren und Vorrichtung zur Kodierung von Sprachsignalen
    DE2229149A1 (de) Verfahren zur Übertragung von Sprache
    DE69033510T3 (de) Numerischer sprachcodierer mit verbesserter langzeitvorhersage durch subabtastauflösung
    DE60309651T2 (de) Verfahren zur Sprachkodierung mittels verallgemeinerter Analyse durch Synthese und Sprachkodierer zur Durchführung dieses Verfahrens
    DE60028500T2 (de) Sprachdekodierung
    DE4491015C2 (de) Verfahren zum Erzeugen eines Spektralrauschbewertungsfilters zur Verwendung in einem Sprachcoder
    DE19722705A1 (de) Verfahren zur Abschätzung der Verstärkung zur Sprachkodierung
    DE69725945T2 (de) Sprachkodierer mit niedriger Bitrate
    DE69921066T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
    DE69827313T2 (de) Verfahren zur Kodierung des Zufallskomponenten-Vektors in einem ACELP-Kodierer
    DE19743662A1 (de) Verfahren und Vorrichtung zur Erzeugung eines bitratenskalierbaren Audio-Datenstroms
    DE60016305T2 (de) Verfahren zum Betrieb eines Sprachkodierers

    Legal Events

    Date Code Title Description
    PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

    Free format text: ORIGINAL CODE: 0009012

    AK Designated contracting states

    Kind code of ref document: A2

    Designated state(s): DE FR GB SE

    PUAL Search report despatched

    Free format text: ORIGINAL CODE: 0009013

    RHK1 Main classification (correction)

    Ipc: G10L 5/06

    AK Designated contracting states

    Kind code of ref document: A3

    Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

    17P Request for examination filed

    Effective date: 19981211

    AKX Designation fees paid

    Free format text: DE FR GB SE

    RIC1 Information provided on ipc code assigned before grant

    Free format text: 7G 10L 19/10 A

    GRAG Despatch of communication of intention to grant

    Free format text: ORIGINAL CODE: EPIDOS AGRA

    17Q First examination report despatched

    Effective date: 20020115

    RAP1 Party data changed (applicant data changed or rights of an application transferred)

    Owner name: NOKIA CORPORATION

    STAA Information on the status of an ep patent application or granted ep patent

    Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

    18R Application refused

    Effective date: 20020705