EP0347307A2 - Procédé de codage et codeur de parole à prédiction linéaire - Google Patents
Procédé de codage et codeur de parole à prédiction linéaire Download PDFInfo
- Publication number
- EP0347307A2 EP0347307A2 EP89401644A EP89401644A EP0347307A2 EP 0347307 A2 EP0347307 A2 EP 0347307A2 EP 89401644 A EP89401644 A EP 89401644A EP 89401644 A EP89401644 A EP 89401644A EP 0347307 A2 EP0347307 A2 EP 0347307A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- filtering
- vector
- frame
- speech
- subjected
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 239000013598 vector Substances 0.000 claims abstract description 55
- 230000005284 excitation Effects 0.000 claims abstract description 29
- 238000001914 filtration Methods 0.000 claims abstract description 27
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 15
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 15
- 230000007774 longterm Effects 0.000 claims abstract description 12
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 230000003321 amplification Effects 0.000 claims abstract description 4
- 238000003199 nucleic acid amplification method Methods 0.000 claims abstract description 4
- 230000015654 memory Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 9
- 239000000654 additive Substances 0.000 claims description 2
- 230000000996 additive effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 20
- 238000012546 transfer Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 241000897276 Termes Species 0.000 description 4
- 108091026890 Coding region Proteins 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 2
- 240000008042 Zea mays Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 229940082150 encore Drugs 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/113—Regular pulse excitation
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0003—Backward prediction of gain
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
- G10L2019/0014—Selection criteria for distances
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/06—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients
Definitions
- the present invention relates to a coding method and a speech coder of the type known as linear analysis prediction. It relates more particularly to methods and speech coders of this type with excitation by excitation vector, often designated by the English abbreviation CELP, which are to be distinguished from coding methods with analysis by linear prediction with multi-pulse excitation. (MPLPC), an example of which is given in document EP-A-0 195 487 to which reference may be made.
- Vector-driven linear prediction analysis coding provides an interesting solution to the problem of speech transmission in a narrow band channel, for example, transmission between mobiles and to mobiles in a 12.5 kHz channel which reduces the bit rate available at around 8 kbits / s; in the latter case, the bit rate assigned to the transmission of the parameters representing the speech signal is reduced to around 6 kbits / s because part of the overall bit rate must be assigned to the transmission of an error correction code.
- Speech coders with linear prediction and vector excitation are already known, usable with a low bit rate, usually between a quarter of a bit and a half bit per speech sample.
- SCHROEDER and ATAL Code excited linear prediction (CELP): high quality speech at very low bit rates
- FIG. 1 gives a schematic diagram of such an encoder 10.
- the speech signal is applied to this encoder via a digitization chain.
- the chain comprises, from a microphone 12, a low-pass filter 14 limiting the bandwidth to approximately 4,000 Hz and a sampler-coder 16.
- the sampler takes samples speech at a rate which is for example 8 kHz and provides successive samples, grouped by vocoder frames occupying time windows of fixed duration, for example 20 ms.
- the coder 10 transforms the speech signal into a coded signal having a lower bit rate, transmitted to the transmission equipment by a multiplexer 18 which receives, for each frame, the indices k of the optimal excitation vectors c k , the associated gains G k and coefficients identifying prediction parameters, for each of the constituent blocks of the frame, each occupying a sub-window.
- the coder 10 shown by way of example in FIG. 1 uses analysis by synthesis: the speech spectrum in each window is modeled by a linear predictor filter whose coefficients are variable over time.
- the residual signal, obtained by subtraction, is subject to vector quantization using a dictionary of waveforms.
- excitation vectors stored in the dictionary 20 are chosen either empirically by taking account of statistical data on the language, or randomly, or else from conventional binary digital codes such as the Golay codes.
- the article by SCHROEDER and others mentioned above proposes for example a dictionary comprising 1024 excitation vectors each consisting of 40 samples. This number of vectors is placed between the minimum below which the excitation would be poorly represented and the maximum beyond which the number of bits left free would be insufficient to transmit the parameters of the predictors.
- the output of amplifier 22 is applied to a predictive synthesis filter consisting of a long-term predictor filter 24, intended to introduce the periodicity of the long-term signal, and of a short-term predictor filter 26.
- the output Sn of the predictor filter which represents a synthesis of estimation of the speech signal, is applied to the subtractive input of a subtractor 28 which receives, on its additive input, the sampled and digitized speech signal Sn.
- the coding operation consists in determining the optimal sequence of innovation Ck and the gain G k for each frame of speech by a process of analysis by synthesis.
- the synthesis signal obtained S is compared with the original signal S and the difference signal obtained in the subtractor 28 is processed in a perceptual weighting filter 30 having a transfer function W (z) , whose function is to attenuate the frequencies for which the errors are less important from the perceptual point of view and on the contrary to amplify the frequencies for which the errors are more important from the perceptual point of view.
- a circuit 32 searches for the coding sequence for which the energy contained in the weighted error signal e k for a sub-window is minimal; this sequence is selected for the current block, then the optimum gain G k is calculated.
- the function A (z) of the short-term predictive filter 26 is of the form:
- the coefficients a (i) constitute the parameters of linear prediction. Their number is generally between 8 and 16 for windows of 20 ms.
- the transfer function B (z) can be of the form 1-bz- T and involve a delay T ranging from 40 to 120 samples.
- the perceptual weighting filter 30 has for its part a transfer function W (z) which is generally of the form:
- the present invention aims to provide a coding method with linear prediction and excitation by coding vectors of this type, which meets the requirements of practice better than those previously known, in particular in that it reduces by at least an order of magnitude the volume of calculation to be carried out for the coding of a segment.
- the invention proposes in particular a speech coding method, with linear prediction and vector excitation, according to the characterizing part of claim 1.
- each coding sequence consists of several equidistant pulses separated by zeros, advantageously binary, that is to say that an excitation by regular pulse sequences, or RPCELP is used, we reduce in very large proportions the duration of the search for the optimal sequence, especially if an appropriate choice is made of the characteristics of the perceptual weighting filter.
- the perceptual weighting filter 30, placed at the output of the subtractor 28 in FIG. 1 is transferred to the two input branches of the subtractor in the form of filters 34 and 36, of transfer function 1 / A (z / y). There is thus in cascade, on the branch assigned to the original signal S (n), the filter 33 of transfer function A (z) and the filter 36 having the same transfer function as the filter 34.
- each of the filters 34 and 36 has been shown broken down into a filter 34a or 36a of transfer function 1 / ⁇ (z / y), without memory, and a filter 34b or 36b corresponding only to the contribution of the memory terms.
- the next step in the process consists in eliminating the memory terms, that is to say the operations shown diagrammatically at 34a and 36a, to arrive at the constitution shown in FIG. 5.
- W '(z) A (z) / C (z / y)
- Yet another embodiment of the invention implements a modified error evaluation criterion to be minimized.
- the sample frames each occupying a window are successively applied; consequently, the impulse response of the weighted synthesis filter for a frame (or a block) occurs on the next frame (or the next block).
- we use the damping of the filters and we apply to their input instead of a sequence consisting only of L samples, a sequence consisting of L samples and J zeros, J being chosen so that the impulse response of the synthesis filter W (z) / A (z) is practically zero after J samples.
- the impulse response matrix then becomes a rectangular matrix of the "strip" type with (L + J) xL terms of the type:
- A will then be calculated for each frame while k and G k will be calculated for each block.
- a particularly interesting solution in this case consists in using pulse sequences of length L having a regular structure made up of q equidistant pulses separated by D-1 zeros, the first pulse occupying one of the positions 0 to D-1 and the number of sequences being such that all of these positions are successively occupied. It is thus possible to give a satisfactory representation of the phase information in the excitation signal.
- the dictionary is made up of a basic set of K / D sequences, with a zero phase and with three successive shifts, ie in all K sequences.
- Excitation by regular excitation sequences reduces the number of operations to be performed, since many of the products to be performed are zero, one of the factors being a zero whose position is known for each sample.
- the calculations can be further simplified by constituting the sequences only of binary samples which can only take the values + 1, -1 (and 0), as indicated in FIG. 8. In fact all the sequences then contain the same energy; the search for the optimum sequence is carried out with purely scalar products and amounts to looking for the binary vector which gives the best result.
- the document EP-AO 195 487 relates to an MPLPC coding method according to which it is necessary successively to determine an optimal phase of pulses, then to seek the optimal amplitude of all the pulses constituting sequence among discrete, quantized values.
- H c k all become equal and we have: where d m denotes one of the sequences (the number of K / D) resulting from the decimation of the components of the K vectors by elimination of the zeros; the sequence d m for 0: 5 k: 5 3 is given in FIG. 7 by way of example.
- the coder then presents the principle constitution shown in FIG. 6.
- a single filtering operation is carried out on the speech signal frame by the filter 33.
- the sequence c k tested in a form which no longer needs to be prefiltered , is applied to the circuit 32 for calculating the scalar product c k t .y and for determining the maximum, for which an index selection order is sent at 40.
- the sequence c k amplified at 22 is applied to long-term predictor 24, represented with a single coefficient b.
- the term r is formed by subtracting the output of the long-term predictor 24 from the output of the filter 34 on the speech channel, in the subtractor 38.
- the filter 42 which receives the residue has a fixed response R (z) represented by a symmetric Toeplitz matrix.
- This process reduces the number of calculations required in a report which is typically about three orders of magnitude compared to the conventional CELP method, regardless of the length L chosen for the speech blocks.
- the gain G k is, for transmission, quantized in a quantizer 46.
- Each signal frame is split into several blocks, an intermediate memory 48 must be interposed between the components 33 and 44.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
Description
- La présente invention a pour objet un procédé de codage et un codeur de parole du type dit à.analyse par prédiction linéaire. Elle concerne plus particulièrement les procédés et codeurs de parole de ce genre à excitation par vecteur d'excitation, souvent désignés par l'abréviation anglo-saxonne CELP, qui sont à distinguer des procédés de codage à analyse par prédiction linéaire à excitation multi-impulsionnelle (MPLPC) dont un exemple est donné dans le document EP-A-0 195 487 auquel on pourra se reporter.
- Le codage à analyse par prédiction linéaire à excitation vectorielle fournit une solution intéressante au problème de la transmission de parole dans un canal à bande étroite, par exemple de la transmission entre mobiles et vers les mobiles dans un canal de 12,5 kHz qui réduit le débit disponible à environ 8 kbits/s ; dans ce dernier cas le débit affecté à la transmission des paramètres représentant le signal de parole est réduit à environ 6 kbits/s du fait qu'une partie du débit global doit être affectée à la transmission d'un code de correction d'erreur.
- On connaît déjà des codeurs de parole à prédiction linéaire et excitation vectorielle, utilisables avec un faible débit binaire, habituellement entre un quart de bit et un demi bit par échantillon de parole. On pourra notamment trouver un exemple de réalisation d'un tel codeur dans l'article de SCHROEDER et ATAL "Code excited linear prédiction (CELP) : high quality speech at very low bit rates", proc. ICASSP, mars 1985.
- La figure 1 donne un schéma de principe d'un tel codeur 10. Le signal de parole est appliqué à ce codeur par l'intermédiaire d'une chaîne de numérisation. Dans le mode de réalisation montré en figure 1, la chaîne comprend, à partir d'un microphone 12, un filtre passe-bas 14 limitant la bande passante à 4 000 Hz environ et un échantillonneur-codeur 16. L'échantillonneur prélève des échantillons de parole à une cadence qui est par exemple de 8 kHz et fournit des échantillons successifs, regroupés par trames vocodeurs occupant des fenêtres temporelles de durée déterminée, par exemple 20 ms.
- Le codeur 10 transforme le signal de parole en un signal codé ayant une cadence de bits inférieure, transmis vers l'équipement d'émission par un multiplexeur 18 qui reçoit, pour chaque trame, les indices k des vecteurs d'excitation optimaux ck, les gains Gk associés et des coefficients identifiant des paramètres de prédiction, pour chacun des blocs constitutifs de la trame, occupant chacun une sous-fenêtre.
- Le codeur 10 représenté à titre d'exemple sur la figure 1 utilise l'analyse par synthèse : le spectre de parole dans chaque fenêtre est modélisé par un filtre prédicteur linéaire dont les coefficients sont variables dans le temps. Le signal résiduel, obtenu par soustraction, fait l'objet d'une quantification vectorielle en utilisant un dictionnaire de formes d'onde. Sur la figure 1, le dictionnaire 20 contient K + vecteurs d'excitation ck (avec k=0, ..., k, ..., K) et attaque un amplificateur 22 de gain Gk.
- Habituellement les vecteurs d'excitation mémorisés dans le dictionnaire 20 sont choisis soit de façon empirique en tenant compte de données statistiques sur la langue, soit de façon aléatoire, soit encore à partir de codes numériques binaires classiques tels que les codes de Golay.
- L'article de SCHROEDER et autres mentionné plus haut propose par exemple un dictionnaire comportant 1024 vecteurs d'excitation constitués chacun de 40 échantillons. Ce nombre de vecteurs se place entre le minimum au dessous duquel l'excitation serait mal représentée et le maximum au delà duquel le nombre de bits laissés libres serait insuffisant pour transmettre les paramètres des prédicteurs.
- La sortie de l'amplificateur 22 est appliquée à un filtre prédictif de synthèse constitué d'un filtre prédicteur à long terme 24, destiné à introduire la périodicité du signal à long terme, et d'un filtre prédicteur à court terme 26. La sortie Sn du filtre prédicteur, qui représente une synthèse d'estimation du signal de parole, est appliquée à l'entrée soustractive d'un soustracteur 28 qui reçoit, sur son entrée additive, le signal de parole Sn échantillonné et numérisé.
- Les fonctions de transfert respectives 1/B(z) et 1/A(z) des filtres 24 et 26 une fois calculées et quantifiées, l'opération de codage consiste à déterminer la séquence optimale d'innovation Ck et le gain Gk pour chaque trame de parole par un processus d'analyse par synthèse. Pour chacune des séquences de codage Ck, le signal de synthèse obtenu S est comparé au signal d'origine S et le signal de différence obtenu dans le soustracteur 28 est traité dans un filtre de pondération perceptuelle 30 ayant une fonction de transfert W(z), dont la fonction est d'atténuer les fréquences pour lesquelles les erreurs ont moins d'importance du point de vue perceptuel et d'amplifier au contraire les fréquences pour lesquelles les erreurs ont davantage d'importance du point de vue perceptuel.
- Un circuit 32 recherche la séquence de codage pour laquelle l'énergie contenue dans le signal d'erreur pondéré ek pour une sous-fenêtre, est minimale ; cette séquence est sélectionnée pour le bloc en cours, puis le gain optimum Gk est calculé.
-
- Dans cette formule, qui utilise la notation classique en z, les coefficients a(i) constituent les paramètres de prédiction linéaire. Leur nombre est généralement compris entre 8 et 16 pour des fenêtres de 20 ms.
- Quant à la fonction de transfert B(z), elle peut être de la forme 1-bz-T et faire intervenir un retard T allant de 40 à 120 échantillons.
-
- En dépit de son intérêt, le procédé de codage qui vient d'être exposé ne peut pratiquement pas être mis en oeuvre en temps réel, du fait du volume énorme de calculs requis pour rechercher la séquence d'innovation, (c'est-à-dire le vecteur d'excitation) optimale par K+1 parcours successifs de boucle, chaque parcours constituant le filtrage d'un vecteur d'excitation, par des filtres à coefficients variables dans le temps. On connait également un procédé de codage CELP conforme au préambule de la revendication 1 (IEEE Journal on selected areas in communications, Vol. 6, n°2, Février 1988, pages 353-363) ; la présente invention vise à fournir un procédé de codage à prédiction linéaire et excitation par vecteurs de codage de ce type, répondant mieux que ceux antérieurement connus aux exigences de la pratique, notamment en ce qu'elle réduit d'au moins un ordre de grandeur le volume de calcul à effectuer pour le codage d'un segment.
- Pour cela l'invention propose notamment un procédé de codage de parole, à prédiction linéaire et excitation vectorielle, suivant la partie caractérisante de la revendication 1.
- Du fait que chaque séquence de codage est constituée de plusieurs impulsions équidistantes séparées par des zéros, avantageusement binaires, c'est-à-dire qu'on utilise une excitation par séquences d'impulsions régulières, ou RPCELP, on réduit dans des proportions très considérables la durée de recherche de la séquence optimale, surtout si on fait un choix approprié des caractéristiques du filtre de pondération perceptuelle.
- D'autres caractères de l'invention sont définis dans les revendications 2 à 6.
- L'invention sera mieux comprise à la lecture de la description qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels :
- - la figure 1, déjà mentionnée, est un schéma de principe d'un codeur de parole à prédiction linéaire et excitation vectorielle déjà connu ;
- - la figure 2, similaire à la figure 1, est une variante du schéma montrant une constitution possible de codeur de la figure 1, susceptible d'être simplifiée pour constituer un premier mode de réalisation de l'invention ;
- - les figures 3, et 5 sont des schémas montrant des évolutions successives du codeur de la figure 2 ;
- - la figure 6, similaire à la figure 5, montre de façon plus complète un mode de réalisation de l'invention réduisant encore le volume de calcul ;
- -la figure 7 montre une répartition possible de séquences de codage dans le dictionnaire ;
- -la figure 8 montre une autre constitution possible du dictionnaire.
- Dans le codeur de parole représenté schématiquement en figure 2 (où les éléments correspondant à ceux de la figure 1 sont désignés par le même numéro de référence) le filtre de pondération perceptuelle 30, placé à la sortie du soustracteur 28 sur la figure 1, est reporté sur les deux branches d'entrée du soustracteur sous forme de filtres 34 et 36, de fonction de transfert 1/A(z/y). On trouve ainsi en cascade, sur la branche affectée au signal d'origine S(n), le filtre 33 de fonction de transfert A(z) et le filtre 36 ayant la même fonction de transfert que le filtre 34.
- Le filtrage de tous les vecteurs par le filtre de synthèse, de fonction de transfert 1/A(z/y) dont les coefficients varient dans le temps, représente un volume énorme de calculs. Ce volume est réduit de façon très considérable suivant un premier aspect de l'invention, en adoptant un filtre de pondération perceptuelle à petit nombre de coefficients fixes dans le temps, choisis en fonction des caractéristiques moyennes de la parole sur un long intervalle de temps. Le filtre de pondération perceptuelle a alors une fonction de transfert W'(z) qui peut s'écrire :
- W'(z) = A(z)/C(z/y)
- où C(z/y) est la fonction de transfert d'un prédicteur de parole à court terme, par exemple de la forme :
- Les fonctions de transfert des composants 34 et 36 de la figure 2 deviennent alors 1/C(z/y).
- Un autre mode de mise en oeuvre de l'invention, pouvant être combiné au premier, apparaît mieux en considérant les transformations successives apportées au circuit de la figure 2 pour y aboutir.
- Tout d'abord, comme indiqué sur les figures 3 et 4, la contribution de la mémoire dans le filtre prédicteur à long terme 24, de fonction de transfert 1/B(z), et dans le filtre prédicteur à court terme pondéré de fonction de transfert 1/A(z/y), est soustraite du signal d'origine ayant subi la pondération pour obtenir un signal Xn, avant le début de la recherche dans le dictionnaire de vecteurs 20. Cette opération s'effectue sur la figure 3 à l'aide d'un soustracteur 38 qui reçoit uniquement la composante de mémoire du filtre prédicteur à long terme 24. Ainsi, au cours de la procédure de recherche du vecteur optimal, chaque vecteur k est traitée uniquement par le filtre de synthèse pondéré 34.
- On va maintenant montrer comment il est possible de réduire encore notablement le volume de calcul en faisant référence à la figure 4. Sur cette figure, chacun des filtres 34 et 36 a été montré décomposé en un filtre 34a ou 36a de fonction de transfert 1/Ã (z/y), sans mémoire, et un filtre 34b ou 36b correspondant uniquement à la contribution des termes de mémoire.
- Au cours de la recherche du vecteur optimal
C k , chaque vecteur k amplifié avec le gainC k n'est plus traité que par le filtre de synthèse pondéré sans mémoire 1/Ã (z/y) qui fournit en sortie un signal z(n). Si on identifie par une tilde les grandeurs sans mémoire et si on désigne par : - r le signal résiduel après soustraction des effets du prédicteur à long terme 24,
- x le signal original dont la redondance à long terme a été écartée dans le soustracteur 38 et qui a été pondéré par W(z),
- zk le signal synthétisé,
- x° et z° les contributions des mémoires des filtres au calcul de x et z.
- On peut écrire :
- x = Hr + x°
- x̃ = Hr
- Zk = Gk.H Ck + Z°
- L'opération de filtrage par le filtre 34a, sans mémoire, est exprimée ci-dessus par la convolution de deux séquences finies, représentée par le produit d'une matrice et d'un vecteur : Zk = Gk H ck (4) où H est une matrice triangulaire inférieure LxL (L étant la longueur commune des séquences) dont les éléments sont tirés de la réponse impulsionnelle h(i) de 1/A(z/y), de la forme :
- Le vecteur x' à l'entrée du soustracteur 28, après soustraction des effets de mémoire, peut lui-même s'écrire :
- x' = Hr + x° - z°
-
- Le processus de recherche de la séquence d'innovation optimale (indice k de vecteur
C k et gain d'amplification Gk) comporte deux étapes qui découlent de l'équation (6) si on tient compte du fait connu (J.P. ADOUL et coll. "Fast CELP coding based on algebraic codes", Proc. ICASSP, April 1987) que minimiser l'énergie Ek revient à maximiser un produit scalaire Pm : - - recherche de l'indice k pour lequel le produit scalaire Pω(k) est maximum :
- - calcul du gain correspondant Gk :
- Le calcul d'un produit scalaire est évidemment plus rapide que la recherche d'une distance euclidienne, de sorte que le schéma de la figure 3 permet déjà à lui seul de réduire le volume de calcul.
- L'étape suivante de la démarche consiste à faire disparaître les termes de mémoire, c'est-à-dire les opérations schématisées en 34a et 36a, pour arriver à la constitution montrée en figure 5.
- Comme dans le cas de la figure 2, une simplification importante consiste à substituer des filtres fixes de synthèse à fonction de transfert 1/C(z/y) aux filtres 34a et 36a de fonction 1/Ã(z/γ), ce qui revient encore à adopter un filtre de pondération perceptuelle de la forme W'(z) = A(z)/C(z/y). Il n'y a plus à effectuer une opération de filtrage répétitive par 34a, dans la mesure où les vecteurs d'excitation sont stockés dans le dictionnaire 20, d'une part à l'état préfiltré pour les appliquer directement au circuit de maximisation de produit scalaire 38, d'autre part sous forme originale pour application à l'amplificateur 22 de gain Gk. La simplification apparaît immédiatement par une comparaison avec les processus classiques de recherche de minimum.
- Un autre mode encore de mise en oeuvre de l'invention met en oeuvre un critère d'évaluation d'erreur à minimiser modifié. Les trames d'échantillons occupant chacun une fenêtre sont successivement appliquées ; en conséquence, la réponse impulsionnelle du filtre pondéré de synthèse pour une trame (ou un bloc) intervient sur la trame suivante (ou le bloc suivant). Pour écarter cet effet, on utilise l'amortissement des filtres et on applique à leur entrée, au lieu d'une séquence constituée uniquement de L échantillons, une séquence constituée de L échantillons et J zéros, J étant choisi de façon que la réponse impulsionnelle du filtre de synthèse W(z)/A(z) soit pratiquement nulle après J échantillons. Une valeur J = 10 est généralement suffisante pour que l'amortissement des filtres permette d'écarter les termes représentatifs de leur mémoire. La matrice de réponse impulsionnelle devient alors une matrice rectangulaire du type "bande" à (L+J)xL termes du type :
- La matrice HtH = R est alors une matrice symétrique de Toeplitz, construite à partir de l'autocorrélation R(i) de la réponse impulsionnelle h(n). Ht désigne la transposée de H.
-
- Le vecteur yt = rt Ht H peut être calculé de façon précise, une seule fois par trame, par une opération de filtrage, en utilisant un filtre adaptatif dont les coefficients sont les termes d'auto-corrélation R(i).
- Pour mettre en oeuvre ce procédé dant le cas d'un signal de parole échantillonné à 8 kHz et dont les échantillons sont répartis en trames de 160 échantillons occupant chacune 20 ms, on peut notamment fractionner chaque trame, après filtrage en 33 (figure 5), en quatre blocs de L=40 échantillons qui sont successivement appliqués au filtre 36a, suivis chaque fois de J=10 zéros.
- A sera alors calculé pour chaque trame tandis que k et Gk seront calculés pour chaque bloc.
- Une solution particulièrement intéressante dans ce cas consiste à utiliser des séquences d'impulsions de longueur L ayant une structure régulière constituée de q impulsions équidistantes séparées par D-1 zéros, la première impulsion occupant l'une des positions 0 à D-1 et le nombre de séquences étant tel que toutes ces positions sont successivement occupées. On peut ainsi donner une représentation satisfaisante de l'information de phase dans le signal d'excitation. La figure 7 montre, à titre d'exemple, quatre séquences (pour k=0, 1, 2 et 3) identiques sauf en ce qu'elle correspondent à D=4 phases différentes. On peut considérer que le dictionnaire est constitué par un jeu de base de K/D séquences, avec une phase nulle et avec trois décalages successifs, soit en tout K séquences.
- L'excitation par séquences d'excitation régulières réduit le nombre d'opérations à effectuer, du fait que beaucoup des produits à effectuer sont nuls, l'un des facteurs étant un zéro dont la position est connue pour chaque échantillon. On peut encore simplifier les calculs en constituant les séquences uniquement d'échantillons binaires ne pouvant prendre que les valeurs + 1, -1 (et 0), comme indiqué sur la figure 8. En effet toutes les séquences contiennent alors la même énergie ; la recherche de la séquence optimum s'effectue avec des produits purement scalaires et revient à chercher le vecteur binaire qui donne le meilleur résultat. On peut à sujet noter que le document EP-A-O 195 487 concerne un procédé de codage MPLPC suivant lequel il faut successivement déterminer une phase optimale d'impulsions, puis chercher l'amplitude optimale de toutes les impulsions constituant séquence parmi des valeurs discrètes, quantifiées par exemple sur 3 bits. Dans le cas du critère modifié et d'une excitation par séquences régulières, et notamment dans le cas de séquences constituées d'échantillons binaires, et à la condition supplémentaire que l'auto-corrélation soit normalisée et présente des termes nuls dont l'écartement correspond aux échantillons non nuls des séquences, les termes H ck deviennent tous égaux et on a :
- Si les séquences sont normalisées, la procédure de recherche se limite à la recherche de la séquence pour laquelle le produit scalaire P(k) = yt.ck est maximum.
- Les conditions nécessaires à l'applicabilité de la formule (11) peuvent notamment être obtenues :
- - soit en adoptant un filtre fixe R tel que R(iD) soit nul pour i > 0,
- - soit en adoptant un filtre à coefficients variables, mais dont la réponse impulsionnelle finie (RIF) est tronquée pour les indices d'échantillons supérieurs à D.
- Le codeur présente alors la constitution de principe montrée en figure 6. Une opération de filtrage unique est effectuée sur la trame de signal de parole par le filtre 33. La séquence ck testée, sous forme qui n'a plus besoin d'être préfiltrée, est appliquée au circuit 32 de calcul du produit scalaire ck t.y et de détermination du maximum, pour lequel un ordre de sélection d'indice est envoyé en 40. La séquence ck amplifiée en 22 est appliquée au prédicteur à long terme 24, représenté avec un seul coefficient b. Le terme r est formé en soustrayant la sortie du prédicteur à long terme 24 de la sortie du filtre 34 sur la voie de parole, dans le soustracteur 38. Le filtre 42 qui reçoit le résidu r a une réponse fixe R(z) représentée par une matrice de Toeplitz symétrique.
- La recherche du vecteur optimal peut alors s'effectuer par un nombre réduit d'opérations de multiplication et d'addition, sous la réserve que la réponse soit tronquée si le filtre est variable, par exemple par la démarche suivante si les vecteurs d'excitation régulière sont binaires :
- - détermination de la phase qui donne une valeur maximale à M(p) :
- yt.ck = M(P)
- . c'est-à-dire :
- dm(i) = signe de y(p+iD)
- pour i = 0, ..., q-1
- Une fois sélectionné le vecteur optimal, le gain Gk à retenir s'en déduit directement, puisque 1 l H ckl 12 est égal à une valeur constante q, quelle que soit la valeur de k, dans le cas de vecteurs binaires qui ont tous la même norme.
- Ce processus réduit le nombre de calculs requis dans un rapport qui est typiquement de trois ordres de grandeur environ par rapport au procédé CELP classique, et ce quelle que soit la longueur L choisie pour les blocs de parole.
- Les données à transmettre par le multiplexeur 18 seront :
- -le coefficient unique b et la période T (correspondant à la périodicité du signal de parole) du filtre prédicteur à long terme 24, une ou plusieurs fois par fenêtre, les coefficients a du filtre 33, de fonction de transfert A(z), une fois par fenêtre,
- - l'indice k du vecteur optimal et le gain correspondant Gk, une fois par bloc correspondant à une sous-fenêtre de par exemple 40 échantillons.
- Le gain Gk est, en vue de la transmission, quantifié dans un quantificateur 46. Chaque trame de signal est fractionnée en plusieurs blocs, une mémoire intermédiaire 48 doit être interposée entre les composants 33 et 44.
- Il faut au surplus noter que, du fait que l'excitation est binaire et régulière, elle est peu sensible aux erreurs de transmission : une erreur modifiant la valeur d'un bit ne modifie le vecteur que localement. Les bits de phase en nombre réduit peuvent être protégés par un code correcteur.
Claims (5)
avant soustraction, on soumet chaque trame du signal de parole à un filtrage d'analyse à court terme et à un filtrage de synthèse pondéré, à coefficients éventuellement fixes dans le temps et on soumet le vecteur amplifié à un filtrage prédictif à long terme et au même filtrage de synthèse pondéré perceptuelle que le signal de parole,
caractérisé en ce que tous les vecteurs de codage sont constitués du même nombre d'impulsions, équidistantes et séparées par des zéros.
avant soustraction, on soumet chaque trame du signal de parole à un filtrage d'analyse à court terme A(z) ; caractérisé en ce que :
on soumet le résultat de la soustraction (38) à un filtrage prédicteur de parole à court terme à coefficients fixes dans le temps et,
on soumet le vecteur d'excitation, mémorisé sous forme précalculée et filtré, à un filtrage par un filtre prédicteur 1 / c (z/y) fixe et sans mémoire.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8807846 | 1988-06-13 | ||
FR8807846A FR2632758B1 (fr) | 1988-06-13 | 1988-06-13 | Procede de codage et codeur de parole a prediction lineaire |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0347307A2 true EP0347307A2 (fr) | 1989-12-20 |
EP0347307A3 EP0347307A3 (en) | 1990-12-27 |
EP0347307B1 EP0347307B1 (fr) | 1994-05-04 |
Family
ID=9367205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP89401644A Expired - Lifetime EP0347307B1 (fr) | 1988-06-13 | 1989-06-13 | Procédé de codage et codeur de parole à prédiction linéaire |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0347307B1 (fr) |
DE (1) | DE68915057T2 (fr) |
ES (1) | ES2052043T3 (fr) |
FR (1) | FR2632758B1 (fr) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2042410A2 (es) * | 1992-04-15 | 1993-12-01 | Control Sys S A | Metodo de codificacion y codificador de voz para equipos y sistemas de comunicacion. |
EP0685836A1 (fr) * | 1994-06-03 | 1995-12-06 | Matra Communication | Procédé et dispositif de prétraitement d'un signal acoustique en amont d'un codeur de parole |
US6016468A (en) * | 1990-12-21 | 2000-01-18 | British Telecommunications Public Limited Company | Generating the variable control parameters of a speech signal synthesis filter |
CN101615394B (zh) * | 2008-12-31 | 2011-02-16 | 华为技术有限公司 | 分配子帧的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1989002147A1 (fr) * | 1987-08-28 | 1989-03-09 | British Telecommunications Public Limited Company | Codage de paroles |
-
1988
- 1988-06-13 FR FR8807846A patent/FR2632758B1/fr not_active Expired - Fee Related
-
1989
- 1989-06-13 EP EP89401644A patent/EP0347307B1/fr not_active Expired - Lifetime
- 1989-06-13 DE DE68915057T patent/DE68915057T2/de not_active Expired - Fee Related
- 1989-06-13 ES ES89401644T patent/ES2052043T3/es not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1989002147A1 (fr) * | 1987-08-28 | 1989-03-09 | British Telecommunications Public Limited Company | Codage de paroles |
Non-Patent Citations (4)
Title |
---|
ELECTRONICS LETTERS, vol. 25, no. 6, 16 mars 1989, pages 401-403, Stevenage GB; R.A. SALAMI: "Binary code excited linear prediction (BCELP): new approach to CELP coding of speech without codebooks" * |
ICASSP'85 PROCEEDINGS - IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 26-29 mars 1985, Tampa, Florida, vol. 3, pages 965-968, IEEE, New York, US; E.F. DEPRETTERE et al.: "Regular excitation reduction for effective and efficient LP-coding of speech" * |
ICASSP'86 PROCEEDINGS - IEEE-IECEJ-ASJ INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSNG, 7-11 avril 1986, Tokyo, vol. 4, pages 3055-3058, IEEE, New York, US; G. DAVIDSON et al.: "Complexity reduction methods for vector excitation coding" * |
PROCEEDINGS: ICASSP'87 - 1987 INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 6-9 avril 1987, Dallas, Texas, vol. 4, pages 1957-1960, IEEE, New York, US; J.-P. ADOUL et al.: "Fast CELP coding based on algebraic codes" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016468A (en) * | 1990-12-21 | 2000-01-18 | British Telecommunications Public Limited Company | Generating the variable control parameters of a speech signal synthesis filter |
ES2042410A2 (es) * | 1992-04-15 | 1993-12-01 | Control Sys S A | Metodo de codificacion y codificador de voz para equipos y sistemas de comunicacion. |
EP0685836A1 (fr) * | 1994-06-03 | 1995-12-06 | Matra Communication | Procédé et dispositif de prétraitement d'un signal acoustique en amont d'un codeur de parole |
FR2720849A1 (fr) * | 1994-06-03 | 1995-12-08 | Matra Communication | Procédé et dispositif de prétraitement d'un signal acoustique en amont d'un codeur de parole. |
US5644679A (en) * | 1994-06-03 | 1997-07-01 | Matra Communication | Method and device for preprocessing an acoustic signal upstream of a speech coder |
CN101615394B (zh) * | 2008-12-31 | 2011-02-16 | 华为技术有限公司 | 分配子帧的方法和装置 |
US8843366B2 (en) | 2008-12-31 | 2014-09-23 | Huawei Technologies Co., Ltd. | Framing method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
EP0347307A3 (en) | 1990-12-27 |
ES2052043T3 (es) | 1994-07-01 |
EP0347307B1 (fr) | 1994-05-04 |
DE68915057T2 (de) | 1994-08-18 |
FR2632758B1 (fr) | 1991-06-07 |
DE68915057D1 (de) | 1994-06-09 |
FR2632758A1 (fr) | 1989-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0782128B1 (fr) | Procédé d'analyse par prédiction linéaire d'un signal audiofréquence, et procédés de codage et de décodage d'un signal audiofréquence en comportant application | |
EP0608174B1 (fr) | Systeme de codage-décodage prédictif d'un signal numérique de parole par transformée adaptative à codes imbriqués | |
EP0749626B1 (fr) | Procede de codage de parole a prediction lineaire et excitation par codes algebriques | |
EP3330964B1 (fr) | Ré-échantillonnage d'un signal audio pour un codage /décodage à bas retard | |
EP0542585B1 (fr) | Procédé de quantification d'un filtre prédicteur pour vocodeur à très faible débit | |
EP0481895B1 (fr) | Procédé de transmission, à bas débit, par codage CELP d'un signal de parole et système correspondant | |
EP0428445B1 (fr) | Procédé et dispositif de codage de filtres prédicteurs de vocodeurs très bas débit | |
EP0490740A1 (fr) | Procédé et dispositif pour l'évaluation de la périodicité et du voisement du signal de parole dans les vocodeurs à très bas débit. | |
EP1836699B1 (fr) | Procédé et dispositif de codage audio optimisé entre deux modèles de prediction à long terme | |
WO2006114494A1 (fr) | Procede d’adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques | |
EP0078581B1 (fr) | Système de transmission MIC-différentiel avec prédiction adaptative | |
EP0347307B1 (fr) | Procédé de codage et codeur de parole à prédiction linéaire | |
EP0334714A1 (fr) | Codeur différentiel à filtre prédicteur auto adaptatif et décodeur utilisable en liaison avec un tel codeur | |
EP1039736A1 (fr) | Procédé et disposiif d'identification adaptive, et annuleur d'écho adaptive mettant en oeuvre un tel procédé | |
WO2023165946A1 (fr) | Codage et décodage optimisé d'un signal audio utilisant un auto-encodeur à base de réseau de neurones | |
EP0616315A1 (fr) | Dispositif de codage et de décodage numérique de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP | |
EP0341129A1 (fr) | Procédé et dispositif de codage de l'énergie du signal vocal dans des vocodeurs à très faibles débits | |
EP0030194A1 (fr) | Etage prédicteur pour système de compression de débit numérique | |
EP0469997B1 (fr) | Procédé de codage et codeur de parole à analyse par prédiction linéaire | |
EP0734013B1 (fr) | Determination d'un vecteur d'excitation dans un codeur CELP | |
EP1192618B1 (fr) | Codage audio avec liftrage adaptif | |
EP1192621B1 (fr) | Codage audio avec composants harmoniques | |
EP0454552A2 (fr) | ProcédÀ© et dispositif de codage bas débit de la parole | |
FR2741743A1 (fr) | Procede et dispositif pour l'amelioration de l'intelligibilite de la parole dans les vocodeurs a bas debit | |
EP0300880A1 (fr) | Prédicteur adaptatif |
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: 19901221 |
|
17Q | First examination report despatched |
Effective date: 19930126 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE ES GB IT |
|
REF | Corresponds to: |
Ref document number: 68915057 Country of ref document: DE Date of ref document: 19940609 |
|
GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) |
Effective date: 19940516 |
|
REG | Reference to a national code |
Ref country code: ES Ref legal event code: FG2A Ref document number: 2052043 Country of ref document: ES Kind code of ref document: T3 |
|
ITF | It: translation for a ep patent filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E |
|
REG | Reference to a national code |
Ref country code: ES Ref legal event code: PC2A |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20040608 Year of fee payment: 16 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20040609 Year of fee payment: 16 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: ES Payment date: 20040611 Year of fee payment: 16 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050613 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050613 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20050614 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060103 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20050613 |
|
REG | Reference to a national code |
Ref country code: ES Ref legal event code: FD2A Effective date: 20050614 |