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 PDF

Info

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
Application number
EP89401644A
Other languages
German (de)
English (en)
Other versions
EP0347307B1 (fr
EP0347307A3 (en
Inventor
Michel Lever
Marc Delprat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks France SAS
Original Assignee
Matra Communication SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matra Communication SA filed Critical Matra Communication SA
Publication of EP0347307A2 publication Critical patent/EP0347307A2/fr
Publication of EP0347307A3 publication Critical patent/EP0347307A3/fr
Application granted granted Critical
Publication of EP0347307B1 publication Critical patent/EP0347307B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/113Regular pulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0003Backward prediction of gain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • G10L2019/0014Selection criteria for distances
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients

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

Le procédé, utilisable notamment pour la transmission de parole à faible débit, utilise l'excitation vectorielle. On représente une trame de signal d'une part par des paramètres de prédiction, d'autre part par une succession de vecteurs d'excitation contenus dans un dictionnaire (20) et par des gains (Gk) d'amplification de ces vecteurs, les vecteurs retenus étant déterminés par recherche du minimum de l'énergie d'un signal d'erreur obtenu par soustraction de chaque vecteur à son tour, après l'avoir soumis à un filtrage, à la trame du signal de parole. 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 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.

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é.
  • Classiquement, la fonction A(z) du filtre prédicteur à court terme 26 est de la forme :
    Figure imgb0001
  • 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.
  • Le filtre de pondération perceptuelle 30 a de son côté une fonction de transfert W(z) qui est généralement de la forme :
    Figure imgb0002
  • 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 :
      Figure imgb0003
  • 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 Ck , chaque vecteur k amplifié avec le gain C 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 :
    Figure imgb0004
    qui se confond avec celle de 1/Ã (z/y)
  • 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°
  • L'énergie de l'erreur Ek pondérée pour le vecteur d'indice k (avec O ≦ k ≦ K) peut s'écrire :
    Figure imgb0005
  • Le processus de recherche de la séquence d'innovation optimale (indice k de vecteur Ck 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 :
      Figure imgb0006
    • - calcul du gain correspondant Gk :
      Figure imgb0007
  • 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 :
    Figure imgb0008
  • 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.
  • L'erreur de mémoire qui apparaît dans l'équation représentative de x' est alors suffisamment faible pour pouvoir être considérée comme nulle et l'équation (7) peut s'écrire :
    Figure imgb0009
  • 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 :
    Figure imgb0010
    où dm désigne l'une des séquences (au nombre de K/D) résultant de la décimation des composantes des K vecteurs par élimination des zéros ; la séquence dm pour 0 :5 k :5 3 est donnée en figure 7 à titre d'exemple.
  • 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) :
      Figure imgb0011
      - puis, parmi les vecteurs ayant la phase retenue, sélection du vecteur dm tel que
    • 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)

1. Procédé de codage de parole, à prédiction linéaire et excitation vectorielle, permettant de coder des signaux de parole mis sous forme d'échantillons numérisés répartis en trames, suivant lequel : on représente une trame de signal d'une part par des paramètres de prédiction, d'autre part par une succession de vecteurs d'excitation contenus dans un dictionnaire (20) et par des gains (Gk) d'amplification de ces vecteurs, les vecteurs retenus étant déterminés par recherche (32) du minimum de l'énergie d'un signal d'erreur obtenu en soustrayant chaque vecteur à son tour, préalablement soumis à un filtrage, à la trame du signal de parole ; et,
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.
2. Procédé selon la revendication 1, caractérisé en ce que les impulsions séparées par des zéros sont binaires.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'on effectue chaque recherche (32) du minimum d'énergie du signal d'erreur en soumettant au filtrage (34,36 ou 34a,36a) un ensemble comprenant, en plus des échantillons réels d'un bloc constituant une fraction de la trame, des échantillons nuls en nombre suffisant pour que la réponse impulsionnelle de filtrage prédictif correspondant au dernier échantillon réel soit sensiblement amortie, le filtrage (34,36 ou 34a, 36a) étant effectué sans mémorisation d'un bloc à l'autre.
4. Procédé selon la revendication 1 ou 2, caractérisé en ce que chaque trame du signal de parole, après avoir été soumise à un filtrage prédictif d'analyse à court terme A(z) est appliquée à l'entrée additive d'un soustracteur (38) qui reçoit sur son entrée soustractive la contribution de la mémoire du filtre prédictif à long terme (24),
- on soumet la sortie du soustracteur à un filtrage (42),
- on calcule le produit scalaire (32) de la sortie filtrée du soustracteur et de chaque séquence non amplifiée à son tour en recherchant la séquence pour laquelle le produit scalaire est maximum.
5. Procédé selon la revendication 4, caractérisé en ce que le filtrage (42) est à coefficients fixes. 6. Procédé de codage de parole à prédiction linéaire et excitation vectorielle, permettant de coder des signaux de parole mis sous forme d'échantillons numérisés répartis en trames, suivant lequel : on représente chaque bloc constituant une fraction de trame de signal par l'un des vecteurs contenus dans un dictionnaire (20), par un gain (Gk) d'amplification du vecteur et par des paramètres de prédiction, le vecteur retenu étant déterminé par recherche du minimum de l'énergie d'un signal d'erreur obtenu par soustraction de chaque vecteur à son tour, préalablement soumis à un filtrage, à la trame du signal de parole ; et,
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.
EP89401644A 1988-06-13 1989-06-13 Procédé de codage et codeur de parole à prédiction linéaire Expired - Lifetime EP0347307B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8807846A FR2632758B1 (fr) 1988-06-13 1988-06-13 Procede de codage et codeur de parole a prediction lineaire
FR8807846 1988-06-13

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989002147A1 (fr) * 1987-08-28 1989-03-09 British Telecommunications Public Limited Company Codage de paroles

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
EP0347307B1 (fr) 1994-05-04
EP0347307A3 (en) 1990-12-27
FR2632758B1 (fr) 1991-06-07
DE68915057D1 (de) 1994-06-09
DE68915057T2 (de) 1994-08-18
ES2052043T3 (es) 1994-07-01
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
EP0030194B1 (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

Owner name: GUZZI E RAVIZZA S.R.L.

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