EP0454552A2 - Method and apparatus for low bitrate speech coding - Google Patents
Method and apparatus for low bitrate speech coding Download PDFInfo
- Publication number
- EP0454552A2 EP0454552A2 EP91401051A EP91401051A EP0454552A2 EP 0454552 A2 EP0454552 A2 EP 0454552A2 EP 91401051 A EP91401051 A EP 91401051A EP 91401051 A EP91401051 A EP 91401051A EP 0454552 A2 EP0454552 A2 EP 0454552A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- coding
- frame
- frames
- pitch
- takes place
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
- G10L19/07—Line spectrum pair [LSP] vocoders
Definitions
- the present invention relates to a method and a device for low bit rate coding of speech.
- the object of the invention is to overcome the aforementioned drawbacks.
- the subject of the invention is a low bit rate coding process for speech, characterized in that it consists, after having cut the speech signal into frames of constant length, to calculate the characteristics of N modeling filters of the vocal tract as well as the fundamental period (pitch), voicing and energy characteristics of the voice signal by determined intervals of N successive frames by calculating the energy of the speech signal a determined number P of times per frame to code all of these characteristics.
- Figure 1 a flowchart illustrating the speech coding method implemented by the invention.
- FIG. 2 a mode of coding the LSP coefficients of the analysis filter used in FIG. 1 to model the voice path.
- Figure 3 a table of LSP coefficients.
- Figure 5 is a pitch coding table.
- FIG. 6 is a flowchart illustrating the method for synthesizing the speech signal implemented by the invention.
- FIG. 7 a graph to illustrate a mode of interpolation of the synthesis filters implemented by the invention.
- Figure 8 an embodiment of a device for implementing the method according to the invention.
- the coding method according to the invention consists, after having cut the speech signal into frames of constant length of approximately 20 to 25 ms, as this usually takes place in vocoders, determining and coding the characteristics of the speech signal over N successive frames by determining the energy of the signal P times per frame.
- the synthesis of the speech signal on each frame then takes place by descrambling and decoding the values of the coded characteristics of the speech signal.
- step 3 After sampling the speech signal on each frame and quantizing the samples over a determined number of bits, these are pre-emphasized in step 3.
- the sampling operation makes the spectrum of the speech signal periodic
- the number of samples taken into account for the determination of the coefficients of the vocal tract modeling filter is limited in a known manner by making the product of the pre-emphasized samples of step 3 by a HAMMING window of duration equal to that of a frame, this window also having the advantage of strengthening the resonances.
- the coefficients k i of the vocal tract modeling filter are calculated in step 5 from autocorrelation coefficients R i defined by a relation of the form: where i is an integer varying from 0 to 10 for example, and S i represents a sample of pre-emphasized and windowed signal.
- the calculation of the coefficients K i can be carried out in step 5 by applying the known algorithm of M. LEROUX-GUEGUEN, a description of which can be found in the article of the journal IEEE Transactions or Acoustics Speech, and Signal Processing June 1977 titled "A fixed point computation of partial correlation coefficients"'. This calculation amounts to inverting a square matrix whose elements are the coefficients R i of the relation (1).
- F e represents the sampling frequency of the speech signal.
- the calculation of the fundamental period of the signal and the voicing takes place in a known manner by performing steps 9 and 10.
- the speech signal is classified into two categories of sounds, voiced sounds and unvoiced sounds.
- Voiced sounds that are produced from the vocal cords are compared to a series of impulses whose fundamental period is called "Pitch" in English.
- Unvoiced sounds produced by turbulence are assimilated to white noise.
- the method recognizes in step 10 for each frame a voiced sound, and a non-voiced sound otherwise. Recognition takes place after a preprocessing of the signal to reinforce useful information and limit that which is not.
- This preprocessing consists in carrying out a first low pass filtering of the signal, followed by bashing and a second filtering.
- the first filtering is carried out for example by means of a simple "Butterworth" filter of order 3 whose cutoff frequency at 3dB can be fixed at 600 Hertz .
- the trimming then places the signal samples whose level is below a certain predetermined threshold at zero amplitude, possibly variable depending on the amplitude of the voice signal. This raking makes it possible to accentuate the periodic aspect of the signal while reducing the details detrimental to subsequent processing.
- the second filtering makes it possible to smooth the results of the bashing by eliminating the high frequencies.
- a Butterworth filter identical to the first filter can be used.
- the energy calculation which takes place in step 8 is executed on four subframes. This calculation takes place by taking the logarithm to base 2 of the sum of the energies of each pre-emphasized samples of a subframe.
- the subframes in each frame are contiguous or overlap to have a length multiple of the "pitch".
- the coding of frame 3 is of scalar type. It is carried out in application of the algorithm known under the name "Adaptive Backward Sequential" as described for example in the article of the journal IEEE on selected areas in communications, Vol. 6 feb. 88 of MM. Sugamara N and FAYARDIN N (1988) entitled "Quantizer design in LSP speech analysis”.
- the coding algorithm is executed in descending order of the LSP coefficients, starting with the last of the ways shown in FIGS. 2 and 3.
- the coding of the last LSP coefficient ( 10) takes place linearly between two frequency values F10MIN and F10MAX and takes place on N V10 values coded linearly on NB10 bits.
- frames 1 and 2 are not coded directly, but it is the type of interpolation allowing them to be quantified as faithfully as possible which is coded.
- the coder determines among 3 interpolations represented by the graph of FIG. 4 which one seems to him to give the best approximation of the values of frames 1 and 2.
- the method then chooses from the 3 previous interpolations the one which minimizes the quantization error, estimated by means of a function D_INTER defined below by adopting the corresponding code value.
- D_INTER (i) W1. (LSPQ (case i, frame 1) -LSP (Frame 1)) 2 + W2. (LSPQ (case i, Frame 2) -LSP (Frame 2)) 2 where LSPQ (case i, Frame j) is the value of the odd LSP coefficient of the frame j quantified by means of type i interpolation.
- LSP (frame j) Actual value in frame j of the odd LSP coefficient to be quantified
- W1 value of the energy of frame 1
- This coding takes place on 8 bits.
- the pitch and voicing coding take place in step 14 on three consecutive frames.
- the current voicing type is determined from six possible cases from the voices of frames 1, 2 and 3 and the voicing of frame 0 which precedes each group of frames 1, 2 and 3.
- a coding table represented in FIG. 5 makes it possible to associate with any pitch value a number from the table whose value subsequently designated by "N array" is the closest to the pitch.
- the code 0 is assigned to type 1.
- a code equal to the value "N. table” of the pitch of frame 3 is assigned to type 2.
- a code equal to 64 to which is added the value "N. table” of the pitch of frame 3 is assigned to type 3.
- a code equal to 128 to which is added the value "N. table” of the pitch of frame 1 is assigned to type 4.
- a code equal to 192 to which is added the value "N. table of the pitch of frame 1 is assigned to type 5. Coding of type 6 takes place in a very particular way by projecting the vector composed of the three values of the pitches of the three frames on the 3 vectors (Vect 1, Vect 2, Vect 3) eigen to code the three projections obtained.
- Vect 1, Vect 2, Vect 3 are an approximation of the first 3 eigen vectors of the intercorrelation matrix.
- N.tableau which is the closest to the average (P1 + P2 + P3) / 3 of the pitches of frames 1, 2 and 3.
- the corresponding code is then coded on the 63 values of the coding table.
- the projection on the second eigenvector (Vect 2) is equal to the scalar product of the pitches of frames 1, 2 and 3 by the second eigenvector (Vect 2) and the projection on the third eigenvector (Vect 3) is equal to the product scalar pitch of frames 1, 2 and 3 by the third eigenvector (Vect 3).
- the corresponding codes can be obtained respectively on only 4 and 3 values from the coding table.
- the coding of the energy which is carried out on stage 15 takes place in a known manner and described in patent application FR 2 631 146 on three consecutive frames. Four energy values corresponding to the 4 sub-fields of each of the three fields are coded. However, in order to eliminate the redundant information in these 12 values, a Main Component Analysis of the type described has the title "Data analysis elements" in the book by MM. DIDAY, LEMAIRE, POUGET and TESTU published by Dunod, is performed. Coding takes place in two stages. A first step is to make a basic change. The energy vector of dimension 12, composed of the 12 energy values of the 3 frames is projected on the first 3 main axes determined during the analysis by principal components (more than 97% of the information is contained in these 3 projections) .
- the second step consists in quantifying these 3 projections, the first projection is quantized on 4 bits, the second on 3 bits and the third on 2 bits.
- the synthesis takes place according to steps 17 to 28 of the flow diagram of FIG. 6, on the one hand, steps 17 to 21 for descrambling and decoding the values of the coefficients LSP of the filter (step 18), of the pitch (step 19), of the voicing and of the energy (step 20) for three consecutive frames and on the other hand, according to steps 22 to 28 which carry out the synthesis of the speech signal successively for each of the three frames on the basis of the information obtained during the execution of steps 17 to 21.
- Descreening and decoding follow procedures reverse to the screening and decoding procedures defined during the analysis illustrated by the flowchart of FIG. 1.
- the shaping of the synthesis filter consists in performing in step 23 an interpolation calculation of the LSP coefficients on four subframes and a calculation to transform the LSP coefficients into coefficients A i . This last calculation is followed in step 24 by a gain calculation of the synthesis filter for the 4 subframes to which is added a calculation of the energy of the excitation signal of the filter. In order to avoid sudden transitions between dissimilar filters, these are done in step 23 in four steps every quarter of a frame.
- LSP (SS Tr i , TrN) (LSP (TrN-1) * (4-i) + LSP (TrN) * i) / 4
- LSP (SS Tri, Tr N) designates the value of the interpolated filter in subframe i of frame N.
- the 12 decoded energies correspond to the energy of the speech signal after pre-emphasis, it is necessary to obtain the energy of the excitation signal divide the energy by the gain of the filter.
- the gain of the filter of each subframe is calculated using the coefficients K i according to the relation
- the last step consists in determining the value of the standard deviation of the energy of each subframe (value used during the calculation of the excitation).
- the entire coding and decoding method according to the invention can be executed by means of a microprogrammed structure formed as shown by way of example in FIG. 8 by a signal processing microprocessor 29 such as that sold by the company Texas Instrument under the designation TMS 320C25.
- a signal processing microprocessor 29 such as that sold by the company Texas Instrument under the designation TMS 320C25.
- the speech signal is first sampled by an analog to digital converter 30 before being applied to a data bus 31 of the microprocessor 29.
- An analog filter 32 coupled to an automatic gain control device 33 filters the signal speech before sampling.
- the programs and the data implemented for the execution of the method according to the invention are recorded in a read-only memory 34 and in a random access memory 35 connected to the microprocessor 29.
- An interface circuit 36 connects the microprocessor 29 via from a data line 37 to transmission devices external to the vocoder, not shown.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
La présente invention concerne un procédé et un dispositif de codage bas débit de la parole.The present invention relates to a method and a device for low bit rate coding of speech.
Elle s'applique notamment à la réalisation de vocodeurs pour les liaisons radio HF, ou de ceux utilisés pour la messagerie vocale.It applies in particular to the production of vocoders for HF radio links, or of those used for voice messaging.
Dans ces domaines, le volume d'informations à transmettre se heurte de plus en plus aux limites technologiques des équipements susceptibles de véhiculer la parole. Ainsi pour des transmissions dont le débit est inférieur à 2400 bits par seconde, les techniques de codage connues (MIC, DELTA, RELP etc... ) ne sont plus adaptées, le signal de parole ne pouvant plus être transmis par sa forme d'onde. Pour assurer ces transmissions il devient nécessaire d'utiliser les techniques de codage beaucoup plus sophistiquées des vocodeurs. Ainsi, la plupart des vocodeurs très bas débit utilisent une technique de codage vectoriel de leur filtre numérique pour modéliser le conduit vocal. Cette modélisation a lieu par recherche d'une référence dans un dictionnaire. Cependant cette technique qui est à la fois très compliquée et coûteuse à mettre en oeuvre ne permet pas d'obtenir une quantification fine du signal de parole. Les difficultés viennent en outre du fait que l'énergie du signal est souvent mal représentée et donc mal codée, de la sorte les brusques variations d'amplitude du signal vocal ne peuvent plus être restituées correctement.In these areas, the volume of information to be transmitted is increasingly coming up against the technological limits of equipment capable of carrying speech. Thus for transmissions whose bit rate is less than 2400 bits per second, the known coding techniques (MIC, DELTA, RELP, etc.) are no longer suitable, the speech signal no longer being able to be transmitted by its form of wave. To ensure these transmissions it becomes necessary to use the much more sophisticated coding techniques of vocoders. Thus, most very low speed vocoders use a vector coding technique of their digital filter to model the voice path. This modeling takes place by searching for a reference in a dictionary. However, this technique which is both very complicated and costly to implement does not make it possible to obtain a fine quantization of the speech signal. The difficulties also come from the fact that the energy of the signal is often poorly represented and therefore poorly coded, so that sudden variations in amplitude of the voice signal can no longer be restored correctly.
Le but de l'invention est de pallier les inconvénients précités.The object of the invention is to overcome the aforementioned drawbacks.
A cet effet, l'invention a pour objet un procédé de codage à bas débit de la parole, caractérisé en ce qu'il consiste après avoir découpé le signal de parole en trames de longueur constante, à calculer les caractéristiques de N filtres de modélisation du conduit vocal ainsi que les caractéristiques de période fondamentale (pitch), de voisement et d'énergie du signal vocal par intervalles déterminés de N trames successives en calculant l'énergie du signal de parole un nombre P déterminé de fois par trame pour coder l'ensemble de ces caractéristiques. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description faite en regard des dessins annexés qui représentent :To this end, the subject of the invention is a low bit rate coding process for speech, characterized in that it consists, after having cut the speech signal into frames of constant length, to calculate the characteristics of N modeling filters of the vocal tract as well as the fundamental period (pitch), voicing and energy characteristics of the voice signal by determined intervals of N successive frames by calculating the energy of the speech signal a determined number P of times per frame to code all of these characteristics. Other characteristics and advantages of the invention will become apparent from the description given with reference to the appended drawings which represent:
La figure 1 un organigramme illustrant le procédé de codage de la parole mis en oeuvre par l'invention.Figure 1 a flowchart illustrating the speech coding method implemented by the invention.
La figure 2 un mode de codage des coefficients LSP du filtre d'analyse mis en oeuvre à la figure 1 pour modéliser le conduit vocal.FIG. 2 a mode of coding the LSP coefficients of the analysis filter used in FIG. 1 to model the voice path.
La figure 3 un tableau de coefficients LSP.Figure 3 a table of LSP coefficients.
La figure 4 des chemins de codage de trames par interpolation.Figure 4 of frame coding paths by interpolation.
La figure 5 une table de codage de "pitch".Figure 5 is a pitch coding table.
La figure 6 un organigramme illustrant le procédé de synthèse du signal de parole mis en oeuvre par l'invention.FIG. 6 is a flowchart illustrating the method for synthesizing the speech signal implemented by the invention.
La figure 7 un graphe pour illustrer un mode d'interpolation des filtres de synthèse mis en oeuvre par l'invention.FIG. 7 a graph to illustrate a mode of interpolation of the synthesis filters implemented by the invention.
La figure 8 un mode de réalisation d'un dispositif pour la mise en oeuvre du procédé selon l'invention.Figure 8 an embodiment of a device for implementing the method according to the invention.
Le procédé de codage selon l'invention consiste après avoir découpé le signal de parole en trames de longueur constante d'environ 20 à 25 ms, comme ceci a lieu habituellement dans les vocodeurs, à déterminer et coder les caractéristiques du signal de parole sur N trames successives en déterminant l'énergie du signal P fois par trame.The coding method according to the invention consists, after having cut the speech signal into frames of constant length of approximately 20 to 25 ms, as this usually takes place in vocoders, determining and coding the characteristics of the speech signal over N successive frames by determining the energy of the signal P times per frame.
La synthèse du signal de parole sur chaque trame a lieu ensuite en procédant au détramage et au décodage des valeurs des caractéristiques codées du signal de parole.The synthesis of the speech signal on each frame then takes place by descrambling and decoding the values of the coded characteristics of the speech signal.
Les étapes représentatives d'un procédé de codage selon l'invention appliquées à un cas où N = 3 trames successives sont analysées sont représentées sur l'organigramme de la figure 1. Sur cet organigramme le procédé commence aux étapes 1 à 6, par le calcul sur la première trame analysée des coefficients "LSP" où "LSP" est l'abréviation anglaise de "Line Spectrum Pair", d'un filtre d'analyse modélisant le conduit vocal : ce calcul peut être effectué par exemple en suivant la méthode connue décrite dans l'article de MM. Peter KABAL et Ravi PRAKASA RAMACHANDRAN ayant pour titre "The computation of line spectral Frequencies using Chebyshev polynomials" publié dans IEE Transactions on Acoustics, Speech and Signal Processing ASSP-34 Dec. 86.The representative steps of a coding method according to the invention applied to a case where N = 3 successive frames are analyzed are represented on the flow diagram of FIG. 1. On this flow diagram the method begins in
Après échantillonnage du signal de parole sur chaque trame et quantification des échantillons sur un nombre déterminé de bits ceux-ci sont préaccentués à l'étape 3. Comme l'opération d'échantillonnage rend périodique le spectre du signal de parole, le nombre d'échantillons pris en compte pour la détermination des coefficients du filtre de modélisation du conduit vocal est limité de façon connue en faisant le produit des échantillons préaccentués de l'étape 3 par une fenêtre de HAMMING de durée égale à celle d'une trame, cette fenêtre présentant aussi l'avantage de renforcer les résonances.After sampling the speech signal on each frame and quantizing the samples over a determined number of bits, these are pre-emphasized in
Les coefficients ki du filtre de modélisation du conduit vocal sont calculés à l'étape 5 à partir de coefficients d'autocorrélation Ri définis par une relation de la forme :
où i est un nombre entier variant de 0 à 10 par exemple, et Si représente un échantillon de signal préaccentué et fenêtré.The coefficients k i of the vocal tract modeling filter are calculated in
where i is an integer varying from 0 to 10 for example, and S i represents a sample of pre-emphasized and windowed signal.
Le calcul des coefficients Ki peut être effectué à l'étape 5 en appliquant l'algorithme connu de M. LEROUX-GUEGUEN dont une description peut être trouvée dans l'article de la revue IEEE Transactions ou Acoustics Speech, and Signal Processing June 1977 ayant pour titre "A fixed point computation of partial correlation coefficients"'. Ce calcul revient à inverser une matrice carrée dont les éléments sont les coefficients Ride la relation (1).The calculation of the coefficients K i can be carried out in
Le passage des coefficients de réflexions à des coefficients de prédiction Ai a lieu à l'étape 8. Ce passage utilise aussi un algorithme connu sous le nom d'algorithme de M. Levison dont une description peut être trouvée dans l'article intitulé :
"The Wiener RM5 error croterion in filter design and prediction J Math Phys, 25 pp 614-617 (1947)"The passage from the reflection coefficients to the prediction coefficients A i takes place in
"The Wiener RM5 error croterion in filter design and prediction J Math Phys, 25 pp 614-617 (1947)"
Enfin les coefficients LSP du filtre sont calculés à partir de deux polynômes P et Q décrits comme suit dans le plan des transformées en Z, où Z est la variable complexe de ces polynômes,
Si ejαi et ej βi désignent les racines des polynômes P et Q les coefficients LSP sont par définition les fréquences fi et gi des arguments de ces racines
soit :
is :
Dans ce calcul Fe représente la fréquence d'échantillonnage du signal de parole.In this calculation F e represents the sampling frequency of the speech signal.
Les fréquences fi et gi sont conservées dans une mémoire, non représentée et les calculs précédents sont recommencés sur les échantillons des deux trames qui suivent. Lorsque les paramètres de trois trames consécutives sont calculés et que trois jeux de coefficients ont été stockés le procédé passe à leur codage à l'étape 13.The frequencies f i and g i are kept in a memory, not shown and the preceding calculations are repeated on the samples of the two frames which follow. When the parameters of three consecutive frames are calculated and three sets of coefficients have been stored, the method goes to their coding in
Le calcul de la période fondamentale du signal et du voisement a lieu de façon connue par exécution des étapes 9 et 10. Au cours de ces étapes le signal de parole est classé en deux catégories de sons, les sons voisés et les sons non voisés. Les sons voisés qui sont produits à partir des cordes vocales sont assimilés à une suite d'impulsions dont la période du fondamental porte le nom de "Pitch" en anglais. Les sons non voisés qui sont produits par des turbulences sont assimilés à du bruit blanc. Ainsi lorsque le signal de parole présente des périodicités marqués le procédé reconnaît à l'étape 10 pour chaque trame un son voisé, et un son non voisé dans le cas contraire. La reconnaissance a lieu après un prétraitement du signal pour renforcer les informations utiles et limiter celles quine le sont pas. Ce prétraitement consiste à effectuer un premier filtrage passe bas du signal, suivi d'un ébasage et d'un deuxième filtrage. Comme la fréquence fondamentale du signal de parole varie entre 50 et 400 Hertz le premier filtrage est effectué par exemple au moyen, d'un simple filtre de "Butterworth" d'ordre 3 dont la fréquence de coupure à 3dB peut être fixée à 600 Hertz. L'ébasage place ensuite à une amplitude nulle les échantillons du signal dont le niveau est inférieur à un certain seuil prédéterminé variable éventuellement suivant l'amplitude du signal vocal. Cet ébasage permet d'accentuer l'aspect périodique du signal tout en diminuant les détails nuisibles aux traitements ultérieurs.The calculation of the fundamental period of the signal and the voicing takes place in a known manner by performing
Enfin, le deuxième filtrage permet de lisser les résultats de l'ébasage en éliminant les hautes fréquences. A cette fin, un filtre de Butterworth identique au pemier filtre peut être utilisé.Finally, the second filtering makes it possible to smooth the results of the bashing by eliminating the high frequencies. To this end, a Butterworth filter identical to the first filter can be used.
Les calculs du pitch et du voisement ont lieu de façon connue par utilisation de la fonction AMDF (Average Magnitude Difference Function). Ils se déroulent suivant cinq étapes qui consistent :
- 1. A calculer une décision préliminaire de voisement à partir des valeurs de l'énergie, du filtre de modélisation et du nombre de passages par l'amplitude nulle du signal.
- 2. A calculer un seuil de voisement à partir de la décision du voisement préliminaire, de l'énergie basse fréquence et de constantes internes.
- 3. A calculer pour chaque valeur de R une fonction AMDF(k) =SOMME| (S(n) - S(n-k)| (8) où s(n) représente le signal prétraité, et à calculer les valeurs maximales de cette fonction.
- 4. A comparer et étudier les valeurs maximales obtenues pour en déduire le voisement et le pitch de la trame.
- 5. Et à corriger le voisement et le pitch de la trame précédente en fonction des résultats de la trame courante pour conserver une certaine stationnarité au voisement.
- 1. To calculate a preliminary decision of voicing from the values of the energy, the modeling filter and the number of passages by the zero amplitude of the signal.
- 2. To calculate a voicing threshold from the decision of the preliminary voicing, low frequency energy and internal constants.
- 3. To calculate for each value of R a function AMDF (k) = SUM | (S (n) - S (nk) | (8) where s (n) represents the preprocessed signal, and calculating the maximum values of this function.
- 4. To compare and study the maximum values obtained to deduce the voicing and the pitch of the frame.
- 5. And to correct the voicing and the pitch of the previous frame according to the results of the current frame to maintain a certain stationarity at the voicing.
Le calcul d'énergie qui a lieu à l'étape 8 est exécuté sur quatre sous trames. Ce calcul a lieu en prenant le logarithme à base 2 de la somme des énergies de chaque échantillons préaccentué d'une sous trame.The energy calculation which takes place in
Les sous trames dans chaque trame sont jointives ou se chevauchent pour avoir une longueur multiple du "pitch".The subframes in each frame are contiguous or overlap to have a length multiple of the "pitch".
Une fois que les caractéristiques, de modélisation du filtre, d'énergie, de voisement et de pitch sont obtenues pour trois trames successives le procédé passe à leur codage selon les étapes 13 à 16. Le codage du filtre des trois trames désignées ci-après par trame 1, trame 2 et trame 3 s'effectue en deux temps en commençant par la trame 3.Once the characteristics, modeling of the filter, energy, voicing and pitch are obtained for three successive frames the method proceeds to their coding according to
Le codage de la trame 3 est de type scalaire. Il s'effectue en application de l'algorithme connue sous l'appellation "Backward Sequential adaptative" tel que décrit par exemple dans l'article de la revue IEEE on selected areas in communications, Vol. 6 feb. 88 de MM. Sugamara N et FAYARDIN N (1988) ayant pour titre "Quantizer design in LSP speech analysis".The coding of
L'algorithme de codage est exécuté dans l'ordre décroissant des coefficients LSP en commençant par le dernier des manières représentées aux figures 2 et 3. Pour un filtre de modélisation du conduit vocal à 10 coefficients LSP par exemple le codage du dernier coefficient LSP(10) a lieu de façon linéaire entre deux valeurs de fréquences F₁₀MIN et F₁₀MAX et a lieu sur NV10 valeurs codées linéairement sur NB₁₀ bits.The coding algorithm is executed in descending order of the LSP coefficients, starting with the last of the ways shown in FIGS. 2 and 3. For a voice path modeling filter with 10 LSP coefficients, for example the coding of the last LSP coefficient ( 10) takes place linearly between two frequency values F₁₀MIN and F₁₀MAX and takes place on N V10 values coded linearly on NB₁₀ bits.
Les codages des LSP(i) autres coefficients pour i = 9, 8...1 a lieu par comparaison du coefficient LSPQ(i+1) à une valeur de fréquence maximum FiMAXThe coding of the LSP (i) other coefficients for i = 9, 8 ... 1 takes place by comparison of the coefficient LSPQ (i + 1) with a maximum frequency value F i MAX
Si LSPQ(i + 1)>FiMAX alors le codage du coefficient est effectué linéairement entre deux valeurs FiMIN et FiMAX sur NVi valeurs et donc sur NBi bits.If LSPQ (i + 1)> F i MAX then the coding of the coefficient is performed linearly between two values F i MIN and F i MAX on NV i values and therefore on NB i bits.
Si LSP(i+1)<FiMAX alors le codage du coefficient est effectué linéairement entre FiMIN et LSPQ(i+1) sur NVi valeurs et donc sur NBibits.If LSP (i + 1) <F i MAX then the coding of the coefficient is carried out linearly between F i MIN and LSPQ (i + 1) on NV i values and therefore on NB i bits.
Au cours du codage des trames 1 et 2 une bonne approximation des valeurs de coefficients LSP correspondant aux trames 1 et 2 est obtenue à partir de l'interpolation entre les trames 0 (trame 0 = trame 3 du groupe de 3 trames précédentes) et 3. Dans ce processus les trames 1 et 2 ne sont pas codées directement mais c'est le type d'interpolation permettant de les quantifier le plus fidèlement possible qui est codé.During the coding of
Pour chacune des valeurs de coefficients LSP d'ordre impairs des trames 1 ou 2, le codeur détermine parmi 3 interpolations représentées par le graphe de la figure 4 celle qui lui semble donner la meilleure approximation des valeurs des trames 1 et 2.For each of the values of LSP coefficients of odd order of
Les trois cas d'interpolations possibles cas 0, cas1 et cas 2 donnent pour les trames 1 et 2 des coefficients LSPQ définis en liaison avec la figure 4 comme suit. (LSPQ (trame i) = Valeur Quantifiée du LSP de la trame i
Le procédé choisit ensuite parmi les 3 interpolations précédentes celle qui minimise l'erreur de quantification, estimée au moyen d'une fonction D_INTER définie ci-dessous en adoptant la valeur de code correspondante.The method then chooses from the 3 previous interpolations the one which minimizes the quantization error, estimated by means of a function D_INTER defined below by adopting the corresponding code value.
La fonction D_INTER est définie comme suit.
LSP(trame j) = Valeur réelle dans la trame j du coefficient LSP impair à quantifierLSP (frame j) = Actual value in frame j of the odd LSP coefficient to be quantified
W1 = valeur de l'énergie de la trame 1W1 = value of the energy of
W2 = valeur de l'énergie de la trame 2W2 = value of the energy of
On obtient ainsi 5 codes de 3 cas chacun, soit 3⁵=243 cas possibles. Le code obtenu est égal à
Code LSP1 + 3.Code LSP3 + 9.Code LSP5 + 27.Code LSP7 + 81.Code LSP9We thus obtain 5 codes of 3 cases each, that is 3⁵ = 243 possible cases. The code obtained is equal to
Code LSP1 + 3.Code LSP3 + 9.Code LSP5 + 27.Code LSP7 + 81.Code LSP9
Ce codage tient sur 8 bits.This coding takes place on 8 bits.
Le codage du pitch et du voisement ont lieu à l'étape 14 sur trois trames consécutives.The pitch and voicing coding take place in
Le type de voisement courant est déterminé parmi six cas possibles à partir des voisements des trames 1, 2 et 3 et du voisement de la trame 0 qui précède chaque groupe de trames 1, 2 et 3.The current voicing type is determined from six possible cases from the voices of
Les types de cas possibles considérés sont les suivants.
Une table de codage représenté à la figure 5 permet d'associer à toute valeur du pitch un nombre de la table dont la valeur désignée par la suite par "N tableau" est la plus proche du pitch.A coding table represented in FIG. 5 makes it possible to associate with any pitch value a number from the table whose value subsequently designated by "N array" is the closest to the pitch.
Le codage des six types de cas possibles précédents a lieu alors de la manière suivante:The coding of the six types of previous possible cases then takes place as follows:
Le code 0 est attribué au type 1. Un code égal à la valeur "N.tableau" du pitch de la trame 3 est attribué au type 2. Un code égal à 64 auquel est ajouté la valeur "N.tableau" du pitch de la trame 3 est attribué au type 3. Un code égal à 128 auquel est ajouté la valeur "N. tableau " du pitch de la trame 1 est attribué au type 4. Un code égal à 192 auquel est ajouté la valeur "N.tableau du pitch de la trame 1 est attribué au type 5. Le codage du type 6 a lieu de façon toute particulière en projetant le vecteur composé des trois valeurs des pitchs des trois trames sur les 3 vecteurs (Vect 1, Vect 2, Vect 3) propres pour coder les trois projections obtenues. Ces trois vecteurs Vect 1, Vect 2, Vect 3 sont une approximation des 3 premiers vecteurs propres de la matrice d'intercorrélation. Comme la projection sur le premier vecteur propre donne la moyenne des pitchs il est plus simple de prendre directement comme code pour la première projection la valeur "N.tableau" qui est la plus proche de la moyenne (P₁ + P₂ + P₃)/3 des pitchs des trames 1, 2 et 3. Le code correspondant est alors codé sur les 63 valeurs de la table de codage.The
La projection sur le deuxième vecteur propre (Vect 2) est égale au produit scalaire des pitchs des trames 1, 2 et 3 par le deuxième vecteur propre (Vect 2) et la projection sur le troisième vecteur propre (Vect 3) est égale au produit scalaire des pitchs des trames 1, 2 et 3 par le troisième vecteur propre (Vect 3).The projection on the second eigenvector (Vect 2) is equal to the scalar product of the pitches of
Les codes correspondants peuvent être obtenus respectivement sur seulement 4 et 3 valeurs de la table de codage.The corresponding codes can be obtained respectively on only 4 and 3 values from the coding table.
Le codage de l'énergie qui est effectué à l'étage 15 a lieu de façon connue et décrite dans la demande de brevet FR 2 631 146 sur trois trames consécutives. Quatre valeur de l'énergie correspondant aux 4 sous trames de chacune des trois trames sont codées. Cependant pour éliminer l'information redondante dans ces 12 valeurs une Analyse par Composantes Principales du type de celle décrite ayant pour titre "Eléments d'analyse des données" dans le livre de MM. DIDAY, LEMAIRE, POUGET et TESTU publié par Dunod, est effectuée. Le codage a lieu selon deux étapes. Une première étape consiste à effectuer un changement de base. Le vecteur énergie de dimension 12, composé des 12 valeurs d'énergie des 3 trames est projeté sur les 3 premiers axes principaux déterminés lors de l'analyse par composantes principales (plus de 97% de l'information est contenue dans ces 3 projections ).The coding of the energy which is carried out on
La deuxième étape consiste à quantifier ces 3 projections, la première projection est quantifiée sur 4 bits, la deuxième sur 3 bits et la troisième sur 2 bits.The second step consists in quantifying these 3 projections, the first projection is quantized on 4 bits, the second on 3 bits and the third on 2 bits.
Le codage de l'énergie ainsi obtenu est alors défini sur 4 + 3 +2 = 9 bits.The energy coding thus obtained is then defined on 4 + 3 + 2 = 9 bits.
Le tramage qui est effectué à l'étape 16 consiste à effectuer un regroupement de tous les codes pour former un mot continu de 54 bits décomposés comme suite :
- 1)
Code énergie 3 trames sur 9 bits. - 2)
Code pitch 3 trames sur 10 bits. - 3)
Code filtre trame 3 sur 27 bits. - 4) Code filtres trames 1
et 2 sur 8 bits.
soit au total 9 + 10+27 + 8 = 54 bits.
- 1)
Energy code 3 frames on 9 bits. - 2)
Pitch code 3 frames on 10 bits. - 3)
Frame filter code 3 on 27 bits. - 4)
1 and 2 on 8 bits.Frame filter code
or intotal 9 + 10 + 27 + 8 = 54 bits.
A titre d'exemple pour le cas d'une durée de trame de 22.5 ms, le procédé permet d'obtenir dans ces conditions un débit binaire par seconde de 54/(3*0.0225) = 800 bits par seconde.By way of example for the case of a frame duration of 22.5 ms, the method makes it possible under these conditions to obtain a bit rate per second of 54 / (3 * 0.0225) = 800 bits per second.
La synthèse c'est-à-dire le décodage du signal de parole se déroule selon les étapes 17 à 28 de l'organigramme de la figure 6 suivant d'une part, les étapes 17 à 21 pour détramer et décoder les valeurs des coefficients LSP du filtre (étape 18), du pitch (étape 19), du voisement et de l'énergie (étape 20) pour trois trames consécutives et d'autre part, suivant les étapes 22 à 28 qui réalisent la synthèse du signal de parole successivement pour chacune des trois trames à partir des informations obtenues lors de l'exécution des étapes 17 à 21. Le détramage et le décodage suivent des procédures inverses aux procédures de tramage et de décodage définie lors de l'analyse illustrée par l'organigramme de la figure 1. La mise en forme du filtre de synthèse consiste à effectuer à l'étape 23 un calcul d'interpolation des coefficients LSP sur quatre sous trames et un calcul pour transformer les coefficients LSP en coefficients Ai. Ce dernier calcul est suivi à l'étape 24 par un calcul de gain du filtre de synthèse pour les 4 sous trames auquel est ajouté un calcul de l'énergie du signal d'excitation du filtre. Afin d'éviter des transitions brutales entre filtres dissemblables celles-ci se font à l'étape 23 en quatre étapes tous les quarts de trame. Les quatre filtres interpolés doivent alors vérifier une relation de la forme :
LSP(SS Tri, TrN)=(LSP(TrN-1)*(4-i)+LSP(TrN)*i)/4
où LSP(SS Tri, Tr N) désigne la valeur du filtre interpôlé dans la sous trame i de la trame N.The synthesis, that is to say the decoding of the speech signal, takes place according to
LSP (SS Tr i , TrN) = (LSP (TrN-1) * (4-i) + LSP (TrN) * i) / 4
where LSP (SS Tri, Tr N) designates the value of the interpolated filter in subframe i of frame N.
L'interpolation a lieu suivant le schéma de la figure 7.The interpolation takes place according to the diagram in Figure 7.
Comme les 12 énergies décodées correspondent à l'énergie du signal de parole après préaccentuation, il faut pour obtenir l'énergie du signal d'excitation diviser l'énergie par le gain du filtre.As the 12 decoded energies correspond to the energy of the speech signal after pre-emphasis, it is necessary to obtain the energy of the excitation signal divide the energy by the gain of the filter.
Le gain du filtre de chaque sous trame est calculé en utilisant les coefficients Ki suivant la relationThe gain of the filter of each subframe is calculated using the coefficients K i according to the relation
Gain du filtre
Enfin la dernière étape consiste à déterminer la valeur de l'écart type de l'énergie de chaque sous trame (valeur utilisée lors du calcul de l'excitation).Finally the last step consists in determining the value of the standard deviation of the energy of each subframe (value used during the calculation of the excitation).
L'ensemble du procédé de codage et de décodage selon l'invention sont exécutables au moyen d'une structure microprogrammée formée de la façon représentée à titre d'exemple sur la figure 8 par un microprocesseur de traitement du signal 29 tel que celui commercialisé par la société Texas Instrument sous la désignation TMS 320C25. Suivant cette structure le signal de parole est d'abord échantillonné par un convertisseur analogique numérique 30 avant d'être appliqué sur un bus de donnée 31 du microprocesseur 29. Un filtre analogique 32 couplé à un dispositif de contrôle automatique de gain 33 filtre le signal de parole avant son échantillonnage. Les programmes et les données mis en oeuvre pour l'exécution du procédé selon l'invention sont inscrits dans une mémoire morte 34 et dans une mémoire vive 35 reliées au microprocesseur 29. Un circuit d'interface 36 relie le microprocesseur 29 par l'intermédiaire d'une ligne de donnée 37 à des dispositifs de transmission extérieurs au vocodeur non représentés.The entire coding and decoding method according to the invention can be executed by means of a microprogrammed structure formed as shown by way of example in FIG. 8 by a
Un dispositif de réception de la parole formé d'un haut parleur 38, d'un amplificateur de puissance 39, un filtre analogique 40, est relié au microprocesseur par l'intermédiaire d'un convertisseur numérique analogique 41.A speech reception device formed by a
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9005400 | 1990-04-27 | ||
FR9005400A FR2661541A1 (en) | 1990-04-27 | 1990-04-27 | METHOD AND DEVICE FOR CODING LOW SPEECH FLOW |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0454552A2 true EP0454552A2 (en) | 1991-10-30 |
EP0454552A3 EP0454552A3 (en) | 1992-01-02 |
Family
ID=9396170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19910401051 Withdrawn EP0454552A3 (en) | 1990-04-27 | 1991-04-19 | Method and apparatus for low bitrate speech coding |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0454552A3 (en) |
JP (1) | JPH05507796A (en) |
CA (1) | CA2079884A1 (en) |
FR (1) | FR2661541A1 (en) |
WO (1) | WO1991017541A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0543700A2 (en) * | 1991-11-22 | 1993-05-26 | Thomson-Csf | Method for quantification of speed signal energy in a low bit rate vocoder |
EP0573398A2 (en) * | 1992-06-01 | 1993-12-08 | Hughes Aircraft Company | C.E.L.P. Vocoder |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4701955A (en) * | 1982-10-21 | 1987-10-20 | Nec Corporation | Variable frame length vocoder |
US4852179A (en) * | 1987-10-05 | 1989-07-25 | Motorola, Inc. | Variable frame rate, fixed bit rate vocoding method |
EP0428445A1 (en) * | 1989-11-14 | 1991-05-22 | Thomson-Csf | Method and apparatus for coding of predictive filters in very low bitrate vocoders |
-
1990
- 1990-04-27 FR FR9005400A patent/FR2661541A1/en not_active Withdrawn
-
1991
- 1991-04-19 WO PCT/FR1991/000329 patent/WO1991017541A1/en active Application Filing
- 1991-04-19 EP EP19910401051 patent/EP0454552A3/en not_active Withdrawn
- 1991-04-19 CA CA 2079884 patent/CA2079884A1/en not_active Abandoned
- 1991-04-19 JP JP91508756A patent/JPH05507796A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4701955A (en) * | 1982-10-21 | 1987-10-20 | Nec Corporation | Variable frame length vocoder |
US4852179A (en) * | 1987-10-05 | 1989-07-25 | Motorola, Inc. | Variable frame rate, fixed bit rate vocoding method |
EP0428445A1 (en) * | 1989-11-14 | 1991-05-22 | Thomson-Csf | Method and apparatus for coding of predictive filters in very low bitrate vocoders |
Non-Patent Citations (3)
Title |
---|
1977 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING, Hartford, Connecticut, 9-11 mai 1977, pages 219-222, IEEE, New York, US; R. VISWANATHAN et al.: "The application of a functional perceptual model of speech to variable-rate LPC systems" * |
1978 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING, Tulsa, Oklahoma, 10-12 avril 1978, pages 458-461, IEEE, New York, US; E. McLARNON: "A method for reducing the transmission rate of a channel vocoder by using frame interpolation" * |
ICASSP '83 - IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING, Boston, 14-16 avril 1983, vol. 1, pages 69-72, IEEE, New York, US; R.M. SCHWARTZ et al.: "A comparison of methods for 300-400 B/S vocoders" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0543700A2 (en) * | 1991-11-22 | 1993-05-26 | Thomson-Csf | Method for quantification of speed signal energy in a low bit rate vocoder |
FR2684225A1 (en) * | 1991-11-22 | 1993-05-28 | Thomson Csf | METHOD FOR QUANTIFYING SPEECH SIGNAL ENERGY IN A VOCODER AT VERY LOW SPEED. |
EP0543700A3 (en) * | 1991-11-22 | 1993-09-29 | Thomson-Csf | Method for quantification of speed signal energy in a low bit rate vocoder |
EP0573398A2 (en) * | 1992-06-01 | 1993-12-08 | Hughes Aircraft Company | C.E.L.P. Vocoder |
EP0573398A3 (en) * | 1992-06-01 | 1994-02-16 | Hughes Aircraft Co | |
US5495555A (en) * | 1992-06-01 | 1996-02-27 | Hughes Aircraft Company | High quality low bit rate celp-based speech codec |
Also Published As
Publication number | Publication date |
---|---|
WO1991017541A1 (en) | 1991-11-14 |
CA2079884A1 (en) | 1991-10-28 |
EP0454552A3 (en) | 1992-01-02 |
JPH05507796A (en) | 1993-11-04 |
FR2661541A1 (en) | 1991-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3241959B2 (en) | Audio signal encoding method | |
EP0782128B1 (en) | Method of analysing by linear prediction an audio frequency signal, and its application to a method of coding and decoding an audio frequency signal | |
RU2257556C2 (en) | Method for quantizing amplification coefficients for linear prognosis speech encoder with code excitation | |
US5067158A (en) | Linear predictive residual representation via non-iterative spectral reconstruction | |
EP1320087B1 (en) | Synthesis of an excitation signal for use in a comfort noise generator | |
EP0698877B1 (en) | Postfilter and method of postfiltering | |
EP0700032B1 (en) | Methods and apparatus with bit allocation for quantizing and de-quantizing of transformed voice signals | |
EP0865028A1 (en) | Waveform interpolation speech coding using splines functions | |
JP2004504637A (en) | Voice communication system and method for handling lost frames | |
US5991725A (en) | System and method for enhanced speech quality in voice storage and retrieval systems | |
EP0865029B1 (en) | Efficient decomposition in noise and periodic signal waveforms in waveform interpolation | |
US5884251A (en) | Voice coding and decoding method and device therefor | |
EP0428445B1 (en) | Method and apparatus for coding of predictive filters in very low bitrate vocoders | |
EP2080194B1 (en) | Attenuation of overvoicing, in particular for generating an excitation at a decoder, in the absence of information | |
FR2784218A1 (en) | LOW-SPEED SPEECH CODING METHOD | |
SE470577B (en) | Method and apparatus for encoding and / or decoding background noise | |
JPH08254994A (en) | Reconfiguration of arrangement of sound coded parameter by list (inventory) of sorting and outline | |
FR2653557A1 (en) | APPARATUS AND METHOD FOR SPEECH PROCESSING. | |
US6535847B1 (en) | Audio signal processing | |
US5812966A (en) | Pitch searching time reducing method for code excited linear prediction vocoder using line spectral pair | |
EP0454552A2 (en) | Method and apparatus for low bitrate speech coding | |
JPH09508479A (en) | Burst excitation linear prediction | |
US7603271B2 (en) | Speech coding apparatus with perceptual weighting and method therefor | |
JP3163206B2 (en) | Acoustic signal coding device | |
EP1192619B1 (en) | Audio coding and decoding by interpolation |
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 ES GB IT |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): DE ES GB IT |
|
17P | Request for examination filed |
Effective date: 19920624 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: THOMSON-CSF |
|
17Q | First examination report despatched |
Effective date: 19940803 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 19941214 |