EP2203915B1 - Transmission error dissimulation in a digital signal with complexity distribution - Google Patents

Transmission error dissimulation in a digital signal with complexity distribution Download PDF

Info

Publication number
EP2203915B1
EP2203915B1 EP08838291A EP08838291A EP2203915B1 EP 2203915 B1 EP2203915 B1 EP 2203915B1 EP 08838291 A EP08838291 A EP 08838291A EP 08838291 A EP08838291 A EP 08838291A EP 2203915 B1 EP2203915 B1 EP 2203915B1
Authority
EP
European Patent Office
Prior art keywords
frame
erased
signal
concealment
frames
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.)
Active
Application number
EP08838291A
Other languages
German (de)
French (fr)
Other versions
EP2203915A1 (en
Inventor
Balazs Kovesi
Stéphane RAGOT
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.)
Orange SA
Original Assignee
France Telecom 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 France Telecom SA filed Critical France Telecom SA
Publication of EP2203915A1 publication Critical patent/EP2203915A1/en
Application granted granted Critical
Publication of EP2203915B1 publication Critical patent/EP2203915B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition

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)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The invention relates to a method for dissimulating a transmission error in a digital signal divided into a plurality of successive frames associated with different time intervals, in which the signal, upon reception, may contain erased frames and valid frames, and that comprises carrying out at least two steps in order to replace at least the first erased frame (N) after a valid frame, i.e. a first preparation step (E1) that does not generate any missing sample and that comprises at least analysing a valid decoded signal, and a second dissimulation step (E2) that generates the missing samples of the signal corresponding to said erased frame. The first step and the second step are carried out in different time intervals. The invention also relates to a dissimulation device implementing the method of the invention, and to a decoder including such a device. The invention can be used for distributing the complexity of the error dissimulation over different time intervals.

Description

La présente invention concerne le traitement de signaux numériques dans le domaine des télécommunications. Ces signaux peuvent être par exemple des signaux de parole, de musique, des signaux vidéo ou plus généralement des signaux multimédias.The present invention relates to the processing of digital signals in the telecommunications field. These signals may be, for example, speech, music, video signals or more generally multimedia signals.

La présente invention intervient dans un système de codage/décodage adapté pour la transmission/réception de tels signaux. Plus particulièrement, la présente invention porte sur un traitement à la réception permettant d'améliorer la qualité des signaux décodés en présence de pertes de blocs de données.The present invention intervenes in a coding / decoding system adapted for the transmission / reception of such signals. More particularly, the present invention relates to a reception processing for improving the quality of the decoded signals in the presence of data block losses.

Différentes techniques existent pour convertir sous forme numérique et compresser un signal audionumérique. Les techniques les plus courantes sont :

  • les méthodes de codage de forme d'onde, telles que le codage MIC (pour "Modulation par Impulsions Codées") et MICDA (pour "Modulation par Impulsion et Codage Différentiel Adaptatif'), dits aussi "PCM" et "ADPCM" en anglais,
  • les méthodes de codage paramétrique par analyse par synthèse comme le codage CELP (pour "Code Excited Linear Prediction"), et
  • les méthodes de codage perceptuel en sous-bandes ou par transformée.
Different techniques exist for converting into digital form and compressing a digital audio signal. The most common techniques are:
  • waveform coding methods, such as MIC (for "Coded Pulse Modulation") and ADPCM (for "Pulse Modulation and Adaptive Differential Coding"), also known as "PCM" and "ADPCM" in English ,
  • parametric coding methods using synthetic analysis such as Code Excited Linear Prediction (CELP), and
  • perceptual encoding methods in subbands or by transform.

Ces techniques traitent le signal d'entrée de façon séquentielle échantillon par échantillon (MIC ou MICDA) ou par blocs d'échantillons dits "trames" (CELP et codage par transformée). Pour tous ces codeurs, les valeurs codées sont ensuite transformées en un train binaire qui est transmis sur un canal de transmission.These techniques treat the input signal sequentially sample by sample (MIC or ADPCM) or sample blocks called "frames" (CELP and transform coding). For all these encoders, the encoded values are then transformed into a bit stream which is transmitted over a transmission channel.

Selon la qualité de ce canal et le type de transport, des perturbations peuvent affecter le signal transmis et produire des erreurs sur le train binaire reçu par le décodeur. Ces erreurs peuvent intervenir de manière isolée dans le train binaire mais se produisent très fréquemment par rafales. C'est alors un paquet de bits correspondant à une portion complète de signal qui est erroné ou non reçue. Ce type de problème se rencontre par exemple pour les transmissions sur les réseaux mobiles. Il se rencontre aussi dans les transmissions sur les réseaux par paquets et en particulier sur les réseaux de type internet.Depending on the quality of this channel and the type of transport, disturbances may affect the transmitted signal and produce errors on the bitstream received by the decoder. These errors may occur in isolation in the bit stream but occur very frequently in bursts. It is then a packet of bits corresponding to a complete portion of the signal that is erroneous or not received. This type of problem occurs for example for transmissions on mobile networks. It is also found in transmission on packet networks and in particular on Internet-type networks.

Lorsque le système de transmission ou les modules chargés de la réception permettent de détecter que les données reçues sont fortement erronées (par exemple sur les réseaux mobiles), ou qu'un bloc de données n'a pas été reçu ou est corrompu par des erreurs binaires (cas de systèmes à transmission par paquets par exemple), des procédures de dissimulation des erreurs sont alors mises en oeuvre.When the transmission system or the modules in charge of reception detect that the received data are highly erroneous (for example on mobile networks), or that a block of data has not been received or is corrupted by errors For example, in the case of packet transmission systems, for example, error concealment procedures are implemented.

La trame courante à décoder est alors déclarée effacée ("bad frame" en anglais). Ces procédures permettent d'extrapoler au décodeur les échantillons du signal manquant à partir des signaux et données issus des trames précédentes.The current frame to be decoded is then declared erased (" bad frame " in English). These procedures make it possible to extrapolate to the decoder the samples of the missing signal from the signals and data from the previous frames.

De telles techniques ont été mises en oeuvre principalement dans le cas des codeurs paramétriques et prédictifs (techniques de récupération/dissimulation des trames effacées). Elles permettent de limiter fortement la dégradation subjective du signal perçue au décodeur en présence de trames effacées. Ces algorithmes reposent sur la technique utilisée pour le codeur et le décodeur, et constituent en fait une extension du décodeur. Les dispositifs de dissimulation de trames effacées ont pour objectif d'extrapoler les paramètres de la trame effacée à partir de la (ou des) dernières trames précédentes considérées comme valides.Such techniques have been implemented mainly in the case of parametric and predictive coders (techniques for recovery / concealment of erased frames). They make it possible to strongly limit the subjective degradation of the signal perceived at the decoder in the presence of erased frames. These algorithms rely on the technique used for the encoder and decoder, and are in fact an extension of the decoder. The purpose of the hiding devices of erased frames is to extrapolate the parameters of the erased frame from the last (or more) previous frames considered valid.

Certains paramètres manipulés ou codés par les codeurs prédictifs présentent une forte corrélation inter-trames (cas des paramètres LPC (pour « Linear Predictive Coding » en anglais) qui représentent l'enveloppe spectrale, et des paramètres LTP (pour « Long Term Prediction » en anglais) de prédiction à long terme qui représente la périodicité du signal (pour les sons voisés, par exemple). Du fait de cette corrélation, il est beaucoup plus avantageux de réutiliser les paramètres de la dernière trame valide pour synthétiser la trame effacée que d'utiliser des paramètres erronés ou aléatoires.Some parameters manipulated or coded by predictive coders have a strong inter-frame correlation (in the case of Linear Predictive Coding (LPC) parameters which represent the spectral envelope, and LTP parameters (for Long Term Prediction). English) long-term prediction that represents the periodicity of the signal (for voiced sounds, for example) .This correlation makes it much more advantageous to reuse the parameters of the last valid frame to synthesize the erased frame than use erroneous or random parameters.

En génération d'excitation CELP, les paramètres de la trame effacée sont classiquement obtenus comme suit.In CELP excitation generation, the parameters of the erased frame are conventionally obtained as follows.

Les paramètres LPC d'une trame à reconstruire sont obtenus à partir des paramètres LPC de la dernière trame valide, par simple recopie des paramètres ou encore avec introduction d'un certain amortissement (technique utilisée par exemple dans le codeur normalisé G723.1 voir aussi le document US 2006/0171373 ). Ensuite, on détecte un voisement ou un non voisement dans le signal de parole pour déterminer un degré d'harmonicité du signal au niveau de la trame effacée.The LPC parameters of a frame to be reconstructed are obtained from the LPC parameters of the last valid frame, by simple copy of the parameters or with introduction of a certain damping (technique used for example in the G723.1 standard encoder see also the document US 2006/0171373 ). Then, a voicing or non-voicing in the speech signal is detected to determine a degree of harmonicity of the signal at the erased frame.

Si le signal est non voisé, un signal d'excitation peut être généré de manière aléatoire (par tirage d'un mot de code de l'excitation passée, par léger amortissement du gain de l'excitation passée, par sélection aléatoire dans l'excitation passée, ou en utilisant encore des codes transmis qui peuvent être totalement erronés).If the signal is unvoiced, an excitation signal can be randomly generated (by drawing a codeword of the past excitation, by a slight damping of the gain of the past excitation, by random selection in the past excitement, or still using transmitted codes that may be totally wrong).

Si le signal est voisé, la période de pitch (appelée aussi "délai LTP") est généralement celle calculée pour la trame précédente, éventuellement avec une légère "gigue" (augmentation de la valeur du délai LTP pour les trames d'erreur consécutive, le gain LTP étant pris très voisin de 1 ou égal à 1). Le signal d'excitation est donc limité à la prédiction à long terme effectuée à partir d'une excitation passée.If the signal is voiced, the pitch period (also called "LTP delay") is generally the one calculated for the previous frame, possibly with a slight "jitter" (increase of the value of the LTP delay for consecutive error frames, the gain LTP being taken very close to 1 or equal to 1). The excitation signal is therefore limited to the long-term prediction made from a past excitation.

La complexité de calcul de ce type d'extrapolation de trames effacées est généralement comparable à celle d'un décodage d'une trame valide (ou "good frame" en anglais) : à la place du décodage et de la quantification inverse des paramètres on utilise les paramètres estimés à partir du passé, éventuellement légèrement modifiés, puis on synthétise le signal reconstruit de la même manière que pour une trame valide en utilisant les paramètres ainsi obtenus.The computation complexity of this type of extrapolation of erased frames is generally comparable to that of a decoding of a valid frame (or " good frame " in English): instead of decoding and inverse quantization of the parameters, uses the parameters estimated from the past, possibly slightly modified, and then synthesizes the reconstructed signal in the same way as for a valid frame using the parameters thus obtained.

D'autres types de codage ne permettent pas l'extrapolation d'une trame effacée par extension du décodeur en utilisant les paramètres estimés à partir du passé. C'est le cas par exemple pour le codage temporel MIC qui code le signal échantillon par échantillon, sans recourir à un modèle de prédiction de la parole. Aucun paramètre n'est directement disponible au décodeur pour effectuer l'extrapolation.Other types of coding do not allow the extrapolation of an erased frame by extension of the decoder by using the parameters estimated from the past. This is the case, for example, for the time coding PCM which codes the signal sample by sample, without resorting to a model of prediction of speech. No parameter is directly available to the decoder to perform the extrapolation.

Pour extrapoler les trames effacées avec la même performance que dans le cas de codeurs paramétriques l'algorithme de dissimilation de trames effacées doit donc d'abord estimer lui-même les paramètres d'extrapolation à partir du signal décodé passé. Ceci nécessite typiquement des analyses de corrélation court terme (LPC) et long terme (LTP) et éventuellement la classification du signal (voisé, non-voisé, plosive, etc.) ce qui augmente considérablement la charge de calcul. Ces analyses sont par exemple décrit dans le document intitulé " Method of packet errors cancellation suitable for any speech and sound compression scheme" de B. KOVESI et D. Massaloux, ISIVC-2004, International Symposium on Image/Video Communications over fixed and mobile networks, July 2004 . Selon cette technique décrite, le procédé de dissimulation d'une trame effacée consiste donc en une première partie d'analyse et une deuxième partie d'extrapolation produisant des échantillons manquants du signal correspondant à la trame effacée.To extrapolate the erased frames with the same performance as in the case of parametric coders, the algorithm for concealing erased frames must first estimate the extrapolation parameters from the signal itself. decoded past. This typically requires short-term (LPC) and long-term (LTP) correlation analyzes and possibly signal classification (voiced, voiceless, plosive, etc.) which greatly increases the computational load. These analyzes are described, for example, in the document entitled " "From B. KOVESI and D. Massaloux," ISIVC-2004, International Symposium on Image / Video . According to this technique described, the method of concealing an erased frame therefore consists of a first analysis part and a second extrapolation part producing missing samples of the signal corresponding to the erased frame.

Toutefois, pour des effacements consécutifs ces analyses ne sont à faire qu'une seule fois, lors de la première trame effacée, puis les paramètres ainsi estimés (éventuellement légèrement atténués selon la longueur de l'effacement) sont utilisés pendant toute la durée de l'extrapolation.However, for consecutive deletions these analyzes are to be done only once, during the first erased frame, then the parameters thus estimated (possibly slightly attenuated according to the length of the erasure) are used for the duration of the erasure. extrapolation.

En d'autres termes cette augmentation de charge de calcul due aux analyses du signal passé est la même que la trame effacée soit de 5 ms ou de 40 ms.In other words, this calculation load increase due to the past signal analyzes is the same as the erased frame of either 5 ms or 40 ms.

Cependant, pour dimensionner la plateforme matérielle - par exemple un processeur de type DSP (pour « Digital Signal Processor » en anglais) - le cas le plus défavorable est pris en compte, c'est à dire la complexité maximale. Ce pire cas de complexité se retrouve donc dans le cas de trames courtes.However, to size the hardware platform - for example a DSP processor (for "Digital Signal Processor" in English) - the worst case is taken into account, that is to say the maximum complexity. This worst case of complexity is therefore found in the case of short frames.

En effet les analyses du signal passé (LPC, LTP, classification) requièrent un nombre donné d'opérations par trame, indépendamment de la taille de trame. La complexité de ces analyses se mesure en nombre d'opérations par seconde. Cette complexité augmente donc d'autant que la longueur de trame est courte, car le nombre d'opérations par seconde est donné par le nombre d'opérations par trame divisé par la longueur de trame - le nombre d'opérations par seconde est donc inversement proportionnel à la longueur de trame.Indeed the analyzes of the past signal (LPC, LTP, classification) require a given number of operations per frame, regardless of the frame size. The complexity of these analyzes is measured in the number of operations per second. This complexity therefore increases as long as the frame length is short because the number of operations per second is given by the number of operations per frame divided by the frame length - the number of operations per second is therefore inversely proportional to the frame length.

La complexité moyenne est également un paramètre important car elle influence la consommation en énergie du processeur et ainsi la durée d'autonomie de la batterie de l'équipement dans lequel il se situe, comme par exemple un terminal mobile.The average complexity is also an important parameter because it influences the energy consumption of the processor and thus the duration of autonomy of the battery of the equipment in which it is located, such as a mobile terminal.

Cette charge de calcul, dans certains cas reste raisonnable et comparable à la charge de calcul du décodage normal. Par exemple dans le cas du codeur normalisé G.722, un algorithme de dissimulation de trames effacées de faible complexité a été normalisé suivant la recommandation ITU-T G.722 appendix IV. La complexité de calcul de l'extrapolation d'une trame effacée de 10 ms est dans ce cas de 3 WMOPS (pour « Weighted Million Operations Per Second »), ce qui est sensiblement identique à la complexité du décodage d'une trame valide.This computing load, in some cases remains reasonable and comparable to the computation load of the normal decoding. For example, in the case of the G.722 standard encoder, an algorithm for hiding low complexity erased frames has been standardized according to the ITU-T Recommendation G.722 appendix IV. The complexity of calculating the extrapolation of an erased frame of 10 ms is in this case 3 WMOPS (for "Weighted Million Operations Per Second"), which is substantially identical to the complexity of the decoding of a valid frame.

Ceci n'est plus vérifié si le codeur G722 traite des trames plus courtes, de 5 ms par exemple.This is no longer true if the G722 encoder processes shorter frames, for example 5 ms.

De plus, la complexité d'un tel algorithme de dissimilation de trames effacées peut être pénalisant dans le cas de codeurs de très faible complexité comme le codeur normalisé selon la recommandation ITU-T G.711 (MIC) et ces extensions comme le codeur G.711 WB en cours de normalisation pour notamment le décodage de la bande basse, échantillonnée à 8 kHz et codée par un codeur G.711 suivi par une couche d'amélioration.Moreover, the complexity of such an algorithm for concealing erased frames can be penalizing in the case of very low complexity coders such as the standard encoder according to the ITU-T Recommendation G.711 (MIC) and these extensions as the G encoder .711 WB in the process of normalization, in particular for the decoding of the low band, sampled at 8 kHz and coded by a G.711 coder followed by an enhancement layer.

En effet, la complexité du codage/décodage MIC est de l'ordre 0.3 WMOPS, alors que celle d'un algorithme de dissimilation de trames effacées performant est typiquement de l'ordre de 3 WMOPS en se basant sur des trames de 10 ms.Indeed, the complexity of the MIC coding / decoding is of the order of 0.3 WMOPS, whereas that of a high performance erased frame dissimilar algorithm is typically of the order of 3 WMOPS based on frames of 10 ms.

La présente invention telle que définie par les revendications 1, 8 et 10, vient améliorer la situation.The present invention as defined by claims 1, 8 and 10, improves the situation.

Elle propose à cet effet un procédé de dissimulation d'erreur de transmission dans un signal numérique découpé en une pluralité de trames successives associées à des intervalles temporels différents dans lequel, à la réception le signal est susceptible de comporter des trames effacées et des trames valides et pour remplacer au moins la première trame effacée après une trame valide, on effectue au moins deux étapes, une première étape de préparation ne produisant aucun échantillon manquant et comportant au moins une analyse d'un signal décodé valide et une deuxième étape de dissimulation produisant les échantillons manquants du signal correspondant à la dite trame effacée. Le procédé est tel que la première étape et la deuxième étape sont exécutées dans des intervalles temporels différents.To this end, it proposes a transmission error concealment method in a digital signal divided into a plurality of successive frames associated with different time intervals in which, on reception, the signal may comprise erased frames and valid frames. and to replace at least the first erased frame after a valid frame, at least two steps are performed, a first preparation step producing no missing sample and having at least one analysis of a valid decoded signal and a second concealment step producing the missing samples of the signal corresponding to the said erased frame. The method is such that the first step and the second step are performed in different time intervals.

Ainsi, les étapes constituant le processus de dissimulation de trames effacées étant effectuées sur des intervalles temporels différents, cela permet de répartir la charge de calcul et ainsi de diminuer la complexité, notamment le pire cas de complexité. Le pire cas de complexité étant diminué, le dimensionnement du processeur peut alors être également revu à la baisse.Thus, since the steps constituting the process of concealing erased frames are performed over different time intervals, this makes it possible to distribute the computing load and thus to reduce the complexity, especially the worst case of complexity. The worst case of complexity being reduced, the sizing of the processor can then also be revised downward.

Par étape de préparation, on entend des opérations spécifiques à la dissimulation, qui ne seraient pas nécessaires pour le décodage de trames uniquement valides.By preparatory step, we mean operations specific to concealment, which would not be necessary for the decoding of only valid frames.

Dans l'état de l'art, par exemple en décodage CELP, des paramètres décodés dans les trames valides précédentes sont utilisés pour la dissimulation de perte. Selon l'invention, de tels paramètres ne sont pas transmis au décodeur et doivent être estimés par analyse afin de synthétiser le signal manquant lors de la dissimulation de pertes.In the state of the art, for example in CELP decoding, parameters decoded in the previous valid frames are used for loss concealment. According to the invention, such parameters are not transmitted to the decoder and must be estimated by analysis to synthesize the missing signal when concealing losses.

Dans un premier mode de réalisation, l'étape de préparation s'effectue dans l'intervalle temporel associé à une trame valide et l'étape de dissimulation s'effectue dans l'intervalle temporel associé à une trame effacée.In a first embodiment, the preparation step is carried out in the time interval associated with a valid frame and the concealment step is performed in the time interval associated with an erased frame.

L'étape de préparation étant effectuée avant l'intervalle temporel correspondant à une trame effacée, la deuxième étape ne nécessite plus de complexité aussi importante lors de l'intervalle temporel correspondant à la trame effacée, ce qui diminue dans cet intervalle, la complexité. C'est généralement pendant cet intervalle que le pire cas de complexité est mesuré. Celui-ci est ainsi diminué dans ce mode de réalisation.Since the preparation step is carried out before the time interval corresponding to an erased frame, the second step no longer requires such significant complexity during the time interval corresponding to the erased frame, which reduces the complexity in this interval. It is usually during this interval that the worst case of complexity is measured. This is thus decreased in this embodiment.

Dans un deuxième mode de réalisation, l'étape de préparation s'effectue dans l'intervalle temporel associé à une trame effacée et l'étape de dissimulation s'effectue dans un intervalle temporel suivant.In a second embodiment, the preparation step is performed in the time interval associated with an erased frame and the concealment step is performed in a subsequent time interval.

La première étape n'est ici plus exécutée systématiquement lors de la réception d'une trame valide mais à la réception d'une trame effacée. On réduit donc ainsi aussi bien le pire cas de complexité par la répartition de la charge de calcul que la complexité moyenne par rapport au premier mode de réalisation.The first step is no longer performed systematically when receiving a valid frame but on receiving an erased frame. So we reduce thus both the worst case of complexity by the distribution of the computing load and the average complexity with respect to the first embodiment.

De façon avantageuse, le deuxième mode de réalisation du procédé selon l'invention est tel qu'il est mis en oeuvre lors du décodage d'une première bande de fréquence dans un système de décodage comportant un décodage dans une première bande de fréquence et un décodage dans une deuxième bande de fréquence, le décodage dans la deuxième bande de fréquence comportant un retard temporel par rapport au décodage dans la première bande de fréquence.Advantageously, the second embodiment of the method according to the invention is such that it is implemented during the decoding of a first frequency band in a decoding system comprising a decoding in a first frequency band and a decoding in a second frequency band, the decoding in the second frequency band having a time delay with respect to the decoding in the first frequency band.

Ainsi, le retard introduit par l'exécution de la deuxième étape sur l'intervalle temporel suivant est transparent pour ce type de décodage qui possède déjà un retard temporel entre le décodage de la première bande de fréquence et la deuxième bande de fréquence.Thus, the delay introduced by the execution of the second step over the next time interval is transparent for this type of decoding which already has a time delay between the decoding of the first frequency band and the second frequency band.

L'invention est particulièrement adaptée dans le cas où la première bande de fréquence correspond à la bande basse d'un décodage de type G.711WB et la deuxième bande de fréquence correspond à la bande haute d'un décodage de type G.711 WB, le retard du signal issu de l'étape de dissimulation correspondant au retard de décodage de la bande haute par rapport à la bande basse.The invention is particularly suitable in the case where the first frequency band corresponds to the low band of a G.711WB type decoding and the second frequency band corresponds to the high band of a G.711 WB type decoding. , the delay of the signal from the concealment step corresponding to the decoding delay of the high band with respect to the low band.

Dans un mode de réalisation particulier, l'étape de préparation comporte une étape d'analyse LPC, une étape d'analyse LTP et l'étape de dissimulation comporte une étape de calcul d'un signal résiduel LPC, une étape de classement et une étape d'extrapolation d'échantillons manquants.In a particular embodiment, the preparation step comprises an LPC analysis step, an LTP analysis step and the concealment step comprises a step of calculating a residual LPC signal, a classification step and a step of extrapolation of missing samples.

Dans un autre mode de réalisation particulier, l'étape de préparation comporte une étape d'analyse LPC, une étape d'analyse LTP, une étape de calcul d'un signal résiduel LPC et l'étape de dissimulation comporte une étape de classement et une étape d'extrapolation d'échantillons manquants.In another particular embodiment, the preparation step comprises an LPC analysis step, an LTP analysis step, a LPC residual signal calculation step and the concealment step includes a classification step and a step of extrapolation of missing samples.

La présente invention concerne également un dispositif de dissimulation d'erreur de transmission dans un signal numérique découpé en une pluralité de trames successives associées à des intervalles temporels différents comportant des moyens de préparation ne produisant aucun échantillon manquant et comportant au moins des moyens d'analyse d'un signal décodé valide et des moyens de dissimulation produisant les échantillons manquants du signal correspondant à une trame effacée. Le dispositif est tel ce que lesdits moyens sont mis en oeuvre dans des intervalles temporels différents pour remplacer au moins la première trame effacée après une trame valide.The present invention also relates to a transmission error concealment device in a digital signal cut into a plurality of successive frames associated with different time intervals comprising preparation means producing no missing sample and comprising at least analysis means. a valid decoded signal and means of concealment producing the missing samples of the signal corresponding to an erased frame. The device is such that said means are implemented in different time intervals to replace at least the first erased frame after a valid frame.

Elle vise aussi un décodeur de signal numérique comportant un dispositif de dissimulation d'erreur de transmission selon l'invention.It also relates to a digital signal decoder comprising a transmission error concealment device according to the invention.

Enfin, l'invention se rapporte à un programme informatique destiné à être stocké dans une mémoire d'un dispositif de dissimulation d'erreur de transmission. Ce programme informatique est tel qu'il comporte des instructions de code pour la mise en oeuvre des étapes du procédé de dissimulation d'erreur selon l'invention, lorsqu'il est exécuté par un processeur dudit dispositif de dissimulation d'erreur de transmission.Finally, the invention relates to a computer program intended to be stored in a memory of a transmission error concealment device. This computer program is such that it includes code instructions for carrying out the steps of the error concealment method according to the invention, when executed by a processor of said transmission error concealment device.

D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée, donnée à titre d'exemple ci-après, et des dessins annexés sur lesquels :

  • la figure 1 illustre le procédé de dissimulation selon l'invention dans un premier mode de réalisation;
  • la figure 2 illustre le procédé de dissimulation selon l'invention dans un deuxième mode de réalisation;
  • les figures 3a et 3b illustrent sous forme de tableaux des exemples du deuxième mode de réalisation de l'invention;
  • la figure 4 illustre un codeur de type G.711 WB qui peut être utilisé dans le cadre de l'invention;
  • la figure 5 illustre un décodeur de type G.711 WB mettant en oeuvre le deuxième mode de réalisation de l'invention;
  • la figure 6 illustre le procédé de dissimulation selon l'invention dans son deuxième mode de réalisation et dans un décodeur de type G.711 WB; et
  • la figure 7 illustre un dispositif de dissimulation selon l'invention.
Other advantages and characteristics of the invention will appear on examining the detailed description, given by way of example below, and the appended drawings in which:
  • the figure 1 illustrates the concealment method according to the invention in a first embodiment;
  • the figure 2 illustrates the concealment method according to the invention in a second embodiment;
  • the Figures 3a and 3b illustrate in tabular form examples of the second embodiment of the invention;
  • the figure 4 illustrates a G.711 WB encoder which may be used in the context of the invention;
  • the figure 5 illustrates a G.711 WB decoder embodying the second embodiment of the invention;
  • the figure 6 illustrates the concealment method according to the invention in its second embodiment and in a G.711 WB decoder; and
  • the figure 7 illustrates a concealment device according to the invention.

Dans les codeurs normalisé G.711 par exemple, la méthode de dissimulations de trames effacées décrit dans le document " Method of packet errors cancellation suitable for any speech and sound compression scheme" de B. KOVESI et D. Massaloux, ISIVC-2004, International Symposium on Image/Video Communications over fixed and mobile networks, July 2004 est réalisée comme suit.In the G.711 standardized encoders for example, the method of hiding erased frames described in the document " Method of package cancellation B. KOVESI and D. Massaloux, ISIVC-2004, International Symposium on Image / Video is performed as follows.

A la détection d'une première trame effacée (perdue ou erronée) le module de dissimilation de trames effacées analyse le signal mémorisé passé puis synthétise (ou extrapole) la trame manquante en utilisant les paramètres estimés.Upon detection of a first erased frame (lost or erroneous), the erased frame dissimilarization module analyzes the stored stored signal and then synthesizes (or extrapolates) the missing frame using the estimated parameters.

Si la perte d'une trame consécutive est détectée, le module de dissimilation de trames effacées continue à synthétiser le signal manquant en utilisant les mêmes paramètres que dans la trame précédente extrapolée, éventuellement légèrement atténués.If the loss of a consecutive frame is detected, the erasure mask module continues to synthesize the missing signal using the same parameters as in the previous extrapolated frame, possibly slightly attenuated.

A la réception d'une première trame valide après un effacement la continuité entre le signal extrapolé pendant l'effacement et le signal décodé valide est assuré par un moyen simple et efficace de lissage ou encore de "fondu enchaîné". Ce fondu enchainé est réalisé de la manière suivante: pour une longueur prédéterminée de typiquement 5-10 ms on continue à synthétiser le signal extrapolé parallèlement au décodage du signal dans la trame valide. Le signal de sortie est alors la somme pondérée de ces deux signaux en diminuant progressivement le poids du signal extrapolé et en augmentant en même temps le poids du signal valide.Upon receipt of a first valid frame after erasing, continuity between the extrapolated signal during erasure and the valid decoded signal is provided by a simple and efficient smoothing or "cross-fading" means. This crossfade is performed in the following manner: for a predetermined length of typically 5-10 ms continues to synthesize the extrapolated signal parallel to the decoding of the signal in the valid frame. The output signal is then the weighted sum of these two signals by progressively decreasing the weight of the extrapolated signal and at the same time increasing the weight of the valid signal.

Dans un but illustratif, supposons les chiffres de complexité suivants :

  • codage d'une trame → 0.15 WMOPS,
  • décodage d'une trame → 0. 1 WMOPS,
  • analyses (LPC, LTP, classification) au début d'effacement → 2.5 WMOPS,
  • extrapolation d'une trame en utilisant les paramètres estimés par les analyses → 0.5 WMOPS,
  • fondu enchainé entre le signal extrapolé et la première trame décodée après un effacement → 0.05 WMOPS.
For illustrative purposes, assume the following complexity figures:
  • encoding a frame → 0.15 WMOPS,
  • decoding a frame → 0. 1 WMOPS,
  • analyzes (LPC, LTP, classification) at the beginning of erasure → 2.5 WMOPS,
  • extrapolation of a frame using the parameters estimated by the analyzes → 0.5 WMOPS,
  • fade-in between the extrapolated signal and the first decoded frame after an erase → 0.05 WMOPS.

Le Tableau 1 ci-dessous illustre l'évolution de la complexité d'un tel codeur dans le cas où une seule trame (n° 3) est effacée. Tableau 1 Exemple d'évolution de la complexité dans le cas d'une trame effacée Numéro de la trame 1 2 3 4 5 6 Nature de la trame valide valide effacée valide valide valide encodage (0.15 WMOPS) 1 1 1 1 1 1 décodage (0.15 WMOPS) 1 1 0 1 1 1 analyse (2.5 WMOPS) 0 0 1 0 0 0 extrapolation (0.5 WMOPS) 0 0 1 1 0 0 fondu enchainé (0.05 WMOPS) 0 0 0 1 0 0 complexité totale WMOPS) 0.3 0.3 3.15 0.85 0.3 0.3 Table 1 below illustrates the evolution of the complexity of such an encoder in the case where only one frame (No. 3) is erased. <b> Table 1 Example of evolution of complexity in the case of an erased frame </ b> Number of the frame 1 2 3 4 5 6 Nature of the frame valid valid deleted valid valid valid encoding (0.15 WMOPS) 1 1 1 1 1 1 decoding (0.15 WMOPS) 1 1 0 1 1 1 analysis (2.5 WMOPS) 0 0 1 0 0 0 extrapolation (0.5 WMOPS) 0 0 1 1 0 0 dissolve fade (0.05 WMOPS) 0 0 0 1 0 0 total complexity WMOPS) 0.3 0.3 3.15 0.85 0.3 0.3

On peut ainsi observer le pic de complexité (3.15 WMOPS) que le DSP doit pouvoir supporter, pendant la période de la trame effacée. Ce pic de complexité est essentiellement du au fait que l'intégralité du procédé de dissimulation de la trame effacée (partie d'analyse et partie d'extrapolation) est exécuté pendant la durée de la trame effacée.It is thus possible to observe the peak of complexity (3.15 WMOPS) that the DSP must be able to support, during the period of the erased frame. This complexity peak is essentially due to the fact that the entire process of concealing the erased frame (analysis part and extrapolation part) is executed during the duration of the erased frame.

La complexité moyenne pour ces six trames est de 0.87 WMOPS. De la même façon, le Tableau 2 ci-dessous illustre le cas de 2 trames consécutives (n° 3 et n° 4) effacées. Tableau 2 Exemple d'évolution de la complexité dans le cas de deux trames effacées Numéro de la trame 1 2 3 4 5 6 Nature de la trame valide valide effacée effacée valide valide encodage (0.15 WMOPS) 1 1 1 1 1 1 décodage (0.15 WMOPS) 1 1 0 0 1 1 Analyse (2.5 WMOPS) 0 0 1 0 0 0 extrapolation (0.5 WMOPS) 0 0 1 1 1 0 fondu enchainé (0.05 WMOPS) 0 0 0 0 1 0 complexité totale WMOPS) 0.3 0.3 3.15 0.65 0.85 0.3 The average complexity for these six frames is 0.87 WMOPS. In the same way, Table 2 below illustrates the case of 2 consecutive frames (n ° 3 and n ° 4) erased. <b> Table 2 Example of evolution of complexity in the case of two erased frames </ b> Number of the frame 1 2 3 4 5 6 Nature of the frame valid valid deleted deleted valid valid encoding (0.15 WMOPS) 1 1 1 1 1 1 decoding (0.15 WMOPS) 1 1 0 0 1 1 Analysis (2.5 WMOPS) 0 0 1 0 0 0 extrapolation (0.5 WMOPS) 0 0 1 1 1 0 dissolve fade (0.05 WMOPS) 0 0 0 0 1 0 total complexity WMOPS) 0.3 0.3 3.15 0.65 0.85 0.3

On peut toujours observer le pic de complexité (3.15 WMOPS) pendant la durée de la première trame effacée car de nouveau l'intégralité du procédé de dissimulation de la trame effacée (partie d'analyse et partie d'extrapolation) est exécutée pendant la durée d'une trame, celle de la première trame effacée. Par contre la complexité pour les trames suivantes effacées est nettement plus faible et la complexité moyenne pour ces six trames est de 0.925 WMOPS, à peine plus forte que dans le cas d'une seule trame effacée. L'augmentation de la durée de l'effacement n'augmente pas significativement la complexité.The peak of complexity (3.15 WMOPS) can always be observed during the duration of the first erased frame because again the entire process of concealing the erased frame (part of analysis and part of extrapolation) is executed during the duration of a frame, that of the first erased frame. On the other hand, the complexity for the following erased frames is much lower and the average complexity for these six frames is 0.925 WMOPS, slightly higher than in the case of a single erased frame. Increasing the duration of erasure does not significantly increase complexity.

Ainsi, dans ce type de codeur/décodeur de l'état de l'art, pour chaque trame reçue au décodeur, une variable bfi (pour "bad frame indicator" en anglais) indique que la trame courante est effacée (bfi=1) et permet de sélectionner le type de décodage, décodage normal ou dissimulation de trames effacées. Ainsi, si la trame est valide (bfi = 0), on procède à un décodage normal (de complexité 0.15 WMOPS), sinon (bfi = 1), la dissimulation de trame effacée (de complexité 3 WMOPS) permet d'extrapoler la trame manquante à partir du signal passé. Ce processus est répété à chaque trame.Thus, in this type of coder / decoder of the state of the art, for each frame received at the decoder, a variable bfi (for "bad frame indicator" in English) indicates that the current frame is erased (bfi = 1) and allows to select the type of decoding, normal decoding or concealment of erased frames. Thus, if the frame is valid ( bfi = 0), a normal decoding (of complexity 0.15 WMOPS) is carried out, otherwise ( bfi = 1), the erased frame concealment (of complexity 3 WMOPS) makes it possible to extrapolate the frame missing from the past signal. This process is repeated at each frame.

La présente invention vise à réduire cette complexité en répartissant les étapes de la dissimulation de trames effacées sur la durée de plusieurs trames.The present invention aims to reduce this complexity by distributing the steps of hiding erased frames over the duration of several frames.

Ainsi, la figure 1 illustre un premier mode de réalisation de l'invention. Pour remplacer au moins la première trame effacée après une trame valide, le procédé de dissimulation selon l'invention comporte au moins deux étapes, une première étape (E1) de préparation ne produisant aucun échantillon manquant, une deuxième étape (E2) de dissimulation qui comprend la production d'échantillons manquants du signal correspondant à la trame effacée. On précise que par étape de préparation on entend des opérations spécifiques à la dissimulation, qui ne seraient pas nécessaires pour le décodage de trames uniquement valides.So, the figure 1 illustrates a first embodiment of the invention. To replace at least the first erased frame after a valid frame, the concealment method according to the invention comprises at least two steps, a first preparation step (E1) producing no missing sample, a second concealment step (E2) which includes producing missing samples of the signal corresponding to the erased frame. It is specified that in preparation step is meant operations specific to concealment, which would not be necessary for the decoding of only valid frames.

Ces deux étapes E1 et E2 sont effectuées dans des intervalles temporels différents associés aux trames successives reçues au décodeur. La figure 1 montre un exemple de réalisation dans le cas où la trame N, reçue au décodeur est effacée.These two steps E1 and E2 are performed in different time intervals associated with the successive frames received at the decoder. The figure 1 shows an exemplary embodiment in the case where the frame N, received at the decoder is erased.

Ainsi, dans ce mode de réalisation, une première trame N-2 reçue dans un train binaire en provenance du canal de communication, est traitée par un module de démultiplexage (DEMUX) 14 puis est décodé par un module de décodage normal (DE-NO) 15.Thus, in this embodiment, a first N-2 frame received in a bit stream from the communication channel is processed by a demultiplexing module (DEMUX) 14 and is decoded by a normal decoding module (DE-NO ) 15.

Ce signal décodé constitue la trame N-2 référencée 20 en sortie du décodeur envoyée par exemple à la carte son 24. Il est également fourni en entrée d'un module de préparation 16 mettant en oeuvre la première étape E1 de préparation. Le résultat de cette étape est ensuite mémorisé en 17 (MEM).This decoded signal constitutes the N-2 frame referenced at the output of the decoder sent for example to the sound card 24. It is also provided at the input of a preparation module 16 implementing the first preparation step E1. The result of this step is then stored at 17 (MEM).

Ce même processus de démultiplexage, décodage normal, constitution de la trame N-1 référencée 21 en sortie du décodeur, et mémorisation du résultat de la première étape est également effectué pour la trame N-1 valide.This same process of demultiplexing, normal decoding, constitution of the N-1 frame referenced 21 at the output of the decoder, and storage of the result of the first step is also performed for the valid N-1 frame.

Dans ce mode de réalisation, l'étape de préparation est effectuée pour toutes les trames valides en prévision d'une potentielle trame effacée.In this embodiment, the preparation step is performed for all valid frames in anticipation of a potential erased frame.

Lorsqu'une trame effacée N référencée 12 est reçue au décodeur la deuxième étape E2 de dissimulation est effectuée en prenant en compte au moins un résultat mémorisé dans les trames précédentes. Cette deuxième étape de dissimulation génère des échantillons manquants pour constituer la trame N référencé 22 en sortie du décodeur.When an erased frame N referenced 12 is received at the decoder the second step of concealment E2 is performed taking into account at least one result stored in the previous frames. This second stage of concealment generates missing samples to constitute the N frame referenced 22 at the output of the decoder.

Lorsqu'une trame valide N+1 est reçue en entrée du décodeur, celle-ci subit une étape de démultiplexage, de décodage normal comme toutes les trames valides mais également une étape de "fondu enchainé" FOND référencée 19 qui va permettre de lisser le signal décodé entre le signal reconstruit pour la trame N et le signal décodé pour la trame N+1. Cette étape de fondu enchainé consiste à continuer en parallèle au décodage normal, l'extrapolation EXTR référencée 26 des échantillons manquants de l'étape E2. Le signal de sortie est alors la somme pondérée de ces deux signaux en diminuant progressivement le poids du signal extrapolé et en augmentant en même temps le poids du signal valide.When a valid N + 1 frame is received at the input of the decoder, the latter undergoes a step of demultiplexing, of normal decoding like all the valid frames but also a "fade-in" step FOND referenced 19 which will allow to smooth the signal decoded between the reconstructed signal for the N frame and the decoded signal for the N + 1 frame. This step of cross-fading consists of continuing in parallel with the normal decoding, extrapolation EXTR referenced 26 of the missing samples of the step E2. The output signal is then the weighted sum of these two signals by progressively decreasing the weight of the extrapolated signal and at the same time increasing the weight of the valid signal.

Le signal obtenu en sortie du décodeur est ensuite par exemple fourni à une carte son 24 pour ensuite être restitué par exemple à l'aide de haut-parleurs 25.The signal obtained at the output of the decoder is then for example supplied to a sound card 24 to be restored for example by means of loudspeakers 25.

Ainsi, le fait d'effectuer de manière systématique l'étape de préparation après le décodage d'une trame valide permet de réduire le pire cas de complexité dans l'intervalle temporel correspondant à la trame effacée N.Thus, the fact of systematically performing the preparation step after the decoding of a valid frame makes it possible to reduce the worst case of complexity in the time interval corresponding to the erased frame N.

Dans le cas où une trame est effacée une partie des opérations est déjà faite, seule l'étape E2 de dissimulation produisant les échantillons manquants du signal correspondant à la trame effacée est exécutée durant la durée de la trame. La charge de calcul pour cette trame est donc diminuée.In the case where a frame is erased a part of the operations is already done, only the concealment step E2 producing the missing samples of the signal corresponding to the erased frame is executed during the duration of the frame. The calculation load for this frame is therefore reduced.

L'étape de préparation E1 peut par exemple contenir une première partie de l'analyse comme par exemple l'analyse LPC et l'analyse LTP. Ces étapes d'analyse sont notamment détaillée dans le document "Method of packet errors cancellation suitable for any speech and sound compression scheme" cité précédemment.The preparation step E1 may for example contain a first part of the analysis, for example LPC analysis and LTP analysis. These analysis steps are particularly detailed in the document "Method of packet errors cancellation for any speech and sound compression scheme" cited above.

L'étape de dissimulation E2 contient alors une étape de calcul du signal résiduel LPC (utilisé dans la phase d'extrapolation), de classification du signal et d'extrapolation des échantillons manquants (génération du signal d'excitation à partir du signal résiduel et filtrage de synthèse).The concealment step E2 then contains a step of calculating the residual signal LPC (used in the extrapolation phase), of classification of the signal and extrapolation of the missing samples (generation of the excitation signal from the residual signal and synthesis filtering).

Dans une autre variante de réalisation, l'étape E1 peut contenir à la fois les analyses LPC, LTP et le calcul du signal résiduel LPC, l'étape E2 contenant alors l'étape de classification et d'extrapolation.In another variant embodiment, the step E1 can contain both the LPC, LTP and the calculation of the residual LPC signal, the E2 step then containing the classification and extrapolation step.

L'ordre d'exécution des différentes tâches de dissimulation n'est pas unique.The order of execution of the various concealment tasks is not unique.

Bien évidement il faut respecter quelques contraintes comme le fait que les étapes de classification et d'extrapolation sont les dernières opérations et que l'analyse LPC précède le calcul du signal résiduel LPC.Of course, some constraints must be respected, such as the fact that the classification and extrapolation steps are the last operations and that the LPC analysis precedes the calculation of the residual LPC signal.

Quelques exemples pour des ordres d'opérations possibles sont :

  • Analyse LPC, analyse LTP, calcul du signal résiduel LPC, classification et extrapolation;
  • Analyse LTP, analyse LPC, calcul du signal résiduel LPC, classification et extrapolation;
  • Analyse LPC, calcul du signal résiduel LPC, analyse LTP, classification et extrapolation.
Some examples for possible orders of operations are:
  • LPC analysis, LTP analysis, LPC residual signal calculation, classification and extrapolation;
  • LTP analysis, LPC analysis, LPC residual signal calculation, classification and extrapolation;
  • LPC analysis, LPC residual signal calculation, LTP analysis, classification and extrapolation.

La répartition des différentes tâches peut ainsi se moduler de différentes façon et ne se limite pas aux exemples précités.The distribution of different tasks can thus be modulated in different ways and is not limited to the above examples.

De plus les opérations d'une tâche peuvent être exécutées en plusieurs temps. Par exemple dans une autre variante de réalisation, l'étape E1 peut contenir à la fois l'analyse LPC, le calcul du signal résiduel LPC et la première partie de l'analyse LTP, l'étape E2 contenant alors la deuxième partie de l'analyse LTP, la classification et l'extrapolation.In addition, the operations of a task can be executed in several times. For example, in another variant embodiment, step E1 can contain both the LPC analysis, the calculation of the residual LPC signal and the first part of the LTP analysis, step E2 then containing the second part of the LTP analysis. LTP analysis, classification and extrapolation.

Ceci montre qu'on peut répartir la complexité de calcul d'analyse librement entre les étapes E1 et E2 pour pouvoir diminuer au maximum le pire cas de complexité. La répartition optimale dépend de la complexité des autres calculs de décodage.This shows that the analysis calculation complexity can be freely distributed between the steps E1 and E2 in order to be able to reduce the worst case of complexity as much as possible. The optimal distribution depends on the complexity of the other decoding calculations.

Le Tableau 3 ci-dessous illustre un exemple chiffré où la première partie d'analyse (analyse_p1) a une complexité de 1.15 WMOPS, la deuxième partie d'analyse (analyse_p2) a une complexité de 1.35 WMOPS, l'étape de préparation E1 contenant la première partie d'analyse (analyse_p1) et l'étape de dissimulation E2 contenant la deuxième partie d'analyse (analyse_p2) et l'extrapolation (extrapolation).Table 3 below illustrates an encrypted example where the first analysis part (analysis_p1) has a complexity of 1.15 WMOPS, the second analysis part (analysis_p2) has a complexity of 1.35 WMOPS, the preparation step E1 containing the first analysis part (analysis_p1) and the concealment step E2 containing the second analysis part (analysis_p2) and the extrapolation (extrapolation).

Ce tableau traite le cas où deux trames consécutives sont effacées. A noter que pour la deuxième trame effacée seule l'étape « extrapolation » est nécessaire car on réutilise les paramètres produits par les étapes d'analyse (analyse p1 et p2). Dans certaines réalisations ces paramètres peuvent être légèrement modifiés (atténués). Cette opération d'atténuation des paramètres est optionnelle et est peu coûteuse en charge de calcul, c'est pourquoi on l'ignore dans les exemples donnés. Tableau 3 Exemple d'évolution de la complexité dans le cas de 2 trames effacées avec analyse en deux parties Numéro de la trame 1 2 3 4 5 6 Nature de la trame valide valide effacée effacée valide valide encodage (0.15 WMOPS) 1 1 1 1 1 1 décodage (0.15 WMOPS) 1 1 0 0 1 1 Analysc_p1 (1.15 WMOPS) 1 1 0 0 1 1 Analyse_p2 (1.35 WMOPS) 0 0 1 0 0 0 extrapolation (0.5 WMOPS) 0 0 1 1 1 0 fondu enchainé (0.05 WMOPS) 0 0 0 0 1 0 complexité totale WMOPS) 1.45 1.45 2.0 0.65 2.0 1.45 This table deals with the case where two consecutive frames are erased. Note that for the second erased frame only the step "extrapolation" is necessary because we reuse the parameters produced by the analysis steps (analysis p1 and p2). In some embodiments these parameters can be slightly modified (attenuated). This operation of attenuation of the parameters is optional and is inexpensive in computing load, which is why it is ignored in the given examples. <b> Table 3 Example of evolution of complexity in the case of 2 erased frames with split analysis </ b> Number of the frame 1 2 3 4 5 6 Nature of the frame valid valid deleted deleted valid valid encoding (0.15 WMOPS) 1 1 1 1 1 1 decoding (0.15 WMOPS) 1 1 0 0 1 1 Analysc_p1 (1.15 WMOPS) 1 1 0 0 1 1 Analysis_p2 (1.35 WMOPS) 0 0 1 0 0 0 extrapolation (0.5 WMOPS) 0 0 1 1 1 0 dissolve fade (0.05 WMOPS) 0 0 0 0 1 0 total complexity WMOPS) 1.45 1.45 2.0 0.65 2.0 1.45

On peut observer que le pire cas de complexité est nettement diminué par rapport au cas présenté dans le tableau 2 ci-dessus, elle passe de 3.15 WMOPS à 2.0 WMOPS. Ceci est obtenu sans retard supplémentaire, comme on peut le voir sur la figure 1.It can be seen that the worst case of complexity is significantly less than in the case presented in Table 2 above, it goes from 3.15 WMOPS to 2.0 WMOPS. This is achieved without further delay, as can be seen on the figure 1 .

Cependant, la complexité de traitement d'une trame valide est augmentée de 0.3 WMOPS à 1.45 WMOPS par rapport au cas présenté dans le tableau 2 ci-dessus. En absence d'erreur de transmission la complexité moyenne est donc multipliée par presque 5 ce qui augmente la consommation du DSP et diminue son autonomie en cas d'utilisation sur batterie.However, the processing complexity of a valid frame is increased from 0.3 WMOPS to 1.45 WMOPS compared to the case shown in Table 2 above. In the absence of a transmission error, the average complexity is therefore multiplied by almost 5, which increases the consumption of the DSP and decreases its autonomy when used on battery.

Un deuxième mode de réalisation de l'invention offre une solution qui diminue à la fois le pire cas de complexité sans augmenter la complexité moyenne. Ainsi, en référence à la figure 2 , un deuxième mode de réalisation est illustré dans le cas où la trame N référencée 31 reçue au décodeur est effacée.A second embodiment of the invention offers a solution that decreases both the worst case of complexity without increasing the average complexity. So, with reference to the figure 2 a second embodiment is illustrated in the case where the frame N referenced 31 received at the decoder is erased.

Dans cet exemple, l'étape de préparation E1 n'est exécutée que dans le cas où une trame est effacée et non plus systématiquement à chaque trame valide. L'étape de préparation s'effectue ainsi dans l'intervalle temporel correspondant à la trame N effacée. Le signal en sortie du décodeur a donc un retard temporel correspondant à un intervalle temporel d'une trame.In this example, the preparation step E1 is executed only in the case where a frame is erased and no longer systematically to each valid frame. The preparation step is thus performed in the time interval corresponding to the erased N frame. The output signal of the decoder therefore has a time delay corresponding to a time interval of one frame.

Ainsi, comme illustré en figure 2, pour une trame valide N-1 référencée 30 reçue au décodeur, celle-ci est traitée par le module de démultiplexage DEMUX 14, est décodée normalement en 15 et le signal décodé est mémorisé en MEM 17 dans une mémoire tampon. Ce signal décodé mémorisé est envoyé à la carte son 24 en sortie du décodeur après le décodage de la trame N référencée 31 reçue.So as illustrated in figure 2 for a valid N-1 frame referenced 30 received at the decoder, it is processed by the DEMUX demultiplexing module 14, decoded normally at 15 and the decoded signal is stored in MEM 17 in a buffer memory. This memorized decoded signal is sent to the sound card 24 at the output of the decoder after the decoding of the frame N referenced 31 received.

Ainsi, à la détection de la trame effacée N, on dispose de la durée de deux trames pour extrapoler le signal remplaçant cette trame N. Pendant l'intervalle temporel correspondant à la trame N effacée, l'étape de préparation E1 est effectuée sur le signal décodé et mémorisé correspondant à la trame N-1 reçue. L'étape E2 de dissimulation comprenant l'extrapolation des échantillons manquants correspondant à la trame N est réalisée dans l'intervalle temporel correspondant à la trame N+1, reçue au décodeur.Thus, when the erased frame N is detected, the duration of two frames is available to extrapolate the signal replacing this frame N. During the time interval corresponding to the erased frame N, the preparation step E1 is performed on the frame decoded and stored signal corresponding to the received N-1 frame. The concealment step E2 comprising the extrapolation of the missing samples corresponding to the frame N is carried out in the time interval corresponding to the N + 1 frame, received at the decoder.

Pendant cet intervalle temporel, la trame N+1 est également traitée par le module de démultiplexage, décodée et mémorisée pour être utilisée ensuite dans l'intervalle temporel correspondant à la trame N+2 lors de l'étape FOND 19 de fondu enchainé.During this time interval, the N + 1 frame is also processed by the demultiplexing module, decoded and stored for later use in the time interval corresponding to the N + 2 frame during the FADE 19 step of cross fading.

La trame N+1 résultante est envoyée à la carte son en 43. Un décalage temporel correspondant dans cet exemple de réalisation à une trame est donc introduit en sortie du décodeur. Ceci est en général acceptable dans le cas par exemple d'un codeur/décodeur de type G.711 qui a un retard très faible.The resulting N + 1 frame is sent to the sound card at 43. A corresponding time offset in this exemplary one-frame embodiment is therefore introduced at the output of the decoder. This is generally acceptable in the case for example of a G.711 encoder / decoder which has a very low delay.

Une illustration sous forme de tableau de ce deuxième mode de réalisation est également proposée en figure 3a et figure 3b.A tabular illustration of this second embodiment is also provided in Figure 3a and Figure 3b .

La figure 3a montre un exemple où la trame n° 4 est effacée. La première ligne 310 montre les numéros des trames reçues au décodeur. La deuxième ligne 311 montre le numéro de la trame décodée en mémoire tampon.The figure 3a shows an example where frame # 4 is erased. The first line 310 shows the numbers of the frames received at the decoder. The second line 311 shows the number of the decoded frame in the buffer.

A la détection de la perte de la trame n° 4 on effectue l'étape de préparation en commençant l'analyse (analyse_p1) sur les trames passées décodées (n° 1 - n° 3) comme le montre la ligne 312. A la fin de la trame n° 4 on envoie à la carte son la trame n° 3 mémorisée précédemment comme illustré en ligne 316. Pour la trame suivante la mémoire tampon (ou "buffer" en anglais) est vide mais la deuxième partie de l'analyse (analyse_p2) en ligne 313 et la synthèse de l'extrapolation de la trame n° 4 en ligne 314 sont terminées. La trame n° 4 extrapolée peut être envoyée à la carte son. En même temps le décodage de la trame n° 5 est fait et le résultat est mémorisé comme illustré en ligne 311. Pour la trame suivante, on extrapole la trame n° 5 (ligne 314) pour le fondu enchainé avec la trame n° 5 mémorisée (ligne 315). Le résultat de ce fondu enchaîné est envoyé à la carte son (ligne 316). Ensuite on décode et mémorise la trame n° 6.When the loss of frame 4 is detected, the preparation step is carried out by starting the analysis (analysis_p1) on the decoded past frames (n ° 1 - n ° 3) as shown on line 312. end of the frame No. 4 is sent to the sound card the frame No. 3 previously stored as illustrated in line 316. For the next frame the buffer (or "buffer" in English) is empty but the second part of the Online analysis (P2 analysis) 313 and the extrapolation synthesis of in-line frame 4 are completed. The extrapolated frame # 4 can be sent to the sound card. At the same time the decoding of the frame No. 5 is done and the result is stored as illustrated in line 311. For the following frame, we extrapolate the frame No. 5 (line 314) for the crossfade with the frame No. 5 memorized (line 315). The result of this fade is sent to the sound card (line 316). Then we decode and memorize the frame n ° 6.

Le tableau représenté en figure 3b, illustre le cas où à la fois la trame n° 4 et la trame n° 5 sont effacées. Les trames reçues au décodeur sont illustrés en ligne 410. De la même façon que pour la figure 3a, la ligne 411 représente les trames décodées et mémorisées dans la mémoire tampon.The table represented in figure 3b , illustrates the case where both frame # 4 and frame # 5 are erased. The frames received at the decoder are illustrated on line 410. In the same way as for the figure 3a , line 411 represents decoded frames and stored in the buffer.

La première étape de préparation (analyse_p1) est effectuée dans l'intervalle temporel de la première trame effacée (ligne 412). La deuxième partie de l'analyse (analyse_p2) est effectuée dans l'intervalle temporel suivant, c'est-à-dire ici dans l'intervalle correspondant à la deuxième trame effacée (ligne 413).The first preparation step (analysis_p1) is performed in the time interval of the first deleted frame (line 412). The second part of the analysis (analysis_p2) is carried out in the following time interval, that is to say here in the interval corresponding to the second erased frame (line 413).

L'extrapolation des échantillons manquants s'effectue dans l'intervalle temporel correspondant à la deuxième trame effacée et également pour les deux trames suivantes (ligne 414) dans les intervalles temporels suivants pour pouvoir exécuter le fondu enchainé (ligne 415) sur la trame 6 valide. Ensuite on décode et mémorise la trame n° 7.The extrapolation of the missing samples takes place in the time interval corresponding to the second erased frame and also for the following two frames (line 414) in the following time intervals to be able to execute the crossfade (line 415) on the frame 6 valid. Then we decode and memorize the frame n ° 7.

La ligne 416 montre les numéros des trames de sortie du décodeur avec un décalage temporel d'une trame par rapport au signal reçu au décodeur.Line 416 shows the numbers of the decoder output frames with a time shift of one frame relative to the signal received at the decoder.

Le tableau 4 ci-dessous illustre l'évolution de la complexité correspondant au cas de figure de la figure 3a. Cette fois le résultat optimal (la plus faible complexité maximale) est obtenu en divisant l'analyse comme suit:
• partie 1 → 1.6 WMOPS,
• partie 2 → 0.9 WMOPS. Tableau 4 Exemple d'évolution de la complexité dans le cas d'une trame mémorisée, avec une trame effacée Numéro de la trame 2 3 4 5 6 7 Nature de la trame valide valide effacée valide valide valide encodage (0.15 WMOPS) 1 1 1 1 1 1 décodage (0.15 WMOPS) 1 1 0 1 1 1 analyse_p1 (1.6 WMOPS) 0 0 1 0 0 0 analyse_p2 (0.9 WMOPS) 0 0 0 1 0 0 extrapolation (0.5 WMOPS) 0 0 0 1 1 0 fondu enchainé (0.05 WMOPS) 0 0 0 0 1 0 complexité totale WMOPS) 0.3 0.3 1.75 1.7 0.85 0.3
Table 4 below illustrates the evolution of the complexity corresponding to the case of the figure 3a . This time the optimal result (the lowest maximum complexity) is obtained by dividing the analysis as follows:
part 1 → 1.6 WMOPS,
part 2 → 0.9 WMOPS. <b> Table 4 Example of evolution of complexity in the case of a stored frame, with an erased frame </ b> Number of the frame 2 3 4 5 6 7 Nature of the frame valid valid deleted valid valid valid encoding (0.15 WMOPS) 1 1 1 1 1 1 decoding (0.15 WMOPS) 1 1 0 1 1 1 analysis_p1 (1.6 WMOPS) 0 0 1 0 0 0 analysis_p2 (0.9 WMOPS) 0 0 0 1 0 0 extrapolation (0.5 WMOPS) 0 0 0 1 1 0 dissolve fade (0.05 WMOPS) 0 0 0 0 1 0 total complexity WMOPS) 0.3 0.3 1.75 1.7 0.85 0.3

On observe ainsi une diminution de la complexité maximale en comparaison avec la solution présentée dans le tableau 3 ci-dessus. Par rapport à l'état de l'art présenté dans le tableau 1, la complexité maximale est pratiquement divisée par deux tandis que la complexité moyenne est inchangée (0.87 WMOPS). On remarque de plus que cette solution n'augmente pas la complexité de décodage d'une trame reçue valide.A decrease in the maximum complexity is thus observed in comparison with the solution presented in Table 3 above. Compared to the state of the art presented in Table 1, the maximum complexity is practically halved while the average complexity is unchanged (0.87 WMOPS). Note further that this solution does not increase the decoding complexity of a valid received frame.

On remarque cependant que dans ce cas de figure, on introduit un retard sur le signal décodé par rapport au signal reçu au décodeur.Note however that in this case, a delay is introduced on the decoded signal with respect to the signal received at the decoder.

Les exemples donnés ci-dessus ont était pris avec un découpage du processus de dissimulation d'erreur de transmission en deux étapes. Bien évidement la procédure objet de la présente invention est facilement généralisable pour un découpage en trois étapes voire plus. Un tel découpage peut être également avantageux dans certain cas, quand l'écart entre la complexité du décodage normal et celle de l'algorithme de dissimulation de trames effacées est très grand. Dans ce cas on peut distribuer la complexité de l'algorithme de dissimulation de trames effacées sur trois ou plus de trames. Les différentes étapes étant exécutées sur des intervalles temporels différents.The examples given above were taken with a breakdown of the two-step transmission error concealment process. Obviously, the procedure that is the subject of the present invention is easily generalizable for cutting into three or more steps. Such a division may also be advantageous in certain cases, when the difference between the complexity of the normal decoding and that of the algorithm for concealing erased frames is very large. In this case we can distribute the complexity of the algorithm for hiding erased frames on three or more frames. The different steps being performed on different time intervals.

Le deuxième mode de réalisation ainsi décrit est particulièrement intéressant lorsqu'il est mis en oeuvre dans certains décodeurs comme par exemple dans le décodeur G.711WB (pour G711-WideBand en anglais, bande élargie) en cours de formalisation.The second embodiment thus described is particularly interesting when it is implemented in some decoders, for example in the G.711WB decoder (for G711- WideBand in English, broadband) being formalized.

Nous allons décrire en référence à la figure 4, un codeur de type G.711WB. Le codage G.711WB consiste à ajouter jusqu'à 2 couches d'améliorations de 16 kbit/s à la couche dit "couche coeur" G.711 de 64 kbit/s. Les configurations possibles de train binaire - dites Rx x identifie les débits sont:

  • Débit de 64 kbit/s (R1): données G.711 uniquement
  • Débit de 80 kbits (64+16 kbit/s) (R2a): données G.711 et données d'amélioration de qualité dans la bande 50-4000 Hz.
  • Débit de 80 kbits (64+16 kbit/s) (R2b): données G.711 et données d'extension de la bande du G.711 pour la partie 4000-7000 Hz.
  • Débit de 96 kbit/s ((64+16+16 kbit/s) (R3): données G.711, données d'amélioration de qualité dans la bande 50-4000 Hz, données d'extension de la bande du G.711 pour la partie 4000-7000 Hz
We will describe with reference to the figure 4 , a G.711WB type encoder. The G.711WB encoding consists of adding up to 2 layers of 16 kbit / s enhancements to the 64 kbit / s G.711 core layer. Possible configurations of bit stream - say R x where x identifies the bit rates are:
  • 64 kbit / s ( R1 ) bit rate: G.711 data only
  • 80 kbit / s (64 + 16 kbit / s) ( R2a ) data rate: G.711 data and quality improvement data in the 50-4000 Hz band.
  • 80 kbit (64 + 16 kbit / s) ( R2b ) rate: G.711 data and G.711 band extension data for the 4000-7000 Hz portion.
  • 96 kbit / s (64 + 16 + 16 kbit / s) ( R3 ) rate: G.711 data, quality improvement data in the 50-4000 Hz band, G band extension data. 711 for the 4000-7000 Hz part

Ainsi les débits R1 et R2a conduisent à une reconstruction en bande étroite (50-4000 Hz) alors que les débits R2b et R3 conduisent à une reconstruction en bande élargie (50-7000 Hz). Un codeur propriétaire similaire à G.711WB est décrit dans le document Y. Hiwasaki and H. Ohmuro and T. Mori and S. Kurihara and A. Kataoka, "A G.711 Embedded Wideband Speech Coding for VoIP Conferences", IEICE Transactions on Information and Systems, vol. E89-D, no. 9, Sept. 2006, pp. 2542-2552 .Thus the flow rates R1 and R2a lead to a narrow-band reconstruction (50-4000 Hz) while the flow rates R2b and R3 lead to an enlarged band reconstruction (50-7000 Hz). A proprietary encoder similar to G.711WB is described in the document Y. Hiwasaki and H. Ohmuro and T. Mori and S. Kurihara and A. Kataoka, "A G.711 Embedded Wideband Speech Coding for VoIP Conferences," IEICE Transactions on Information and Systems, Vol. E89-D, no. 9, Sept. 2006, pp. 2542-2552 .

La figure 4 montre un exemple de codeur qui rentre dans le cadre de la normalisation G.711 WB. L'entrée du codeur est un signal audio S16 échantillonné à 16 kHz. Le codeur comprend un banc de filtres en quadrature 101 séparant la bande basse (50-7000 Hz) et la bande haute (4000-7000 Hz). On retire à la bande basse un signal intermédiaire (bloc 102) calculé par une boucle de rétroaction de bruit (bloc 104 et 105). Le signal est ensuite codé par un codeur (Co-MIC) MIC scalable à 64 et 80 kbit/s (bloc 103).The figure 4 shows an example of an encoder that falls within the scope of the G.711 WB standardization. The encoder input is an audio signal S 16 sampled at 16 kHz. The encoder comprises a quadrature filter bank 101 separating the low band (50-7000 Hz) and the high band (4000-7000 Hz). An intermediate signal (block 102) calculated by a noise feedback loop (blocks 104 and 105) is removed from the low band. The signal is then encoded by a 64 and 80 kbit / s scalable PCM encoder (Co-MIC) (block 103).

La bande haute est codée (bloc 107-Co-MDCT) après transformation en cosinus discrète modifiée (MDCT en anglais) (bloc 106). La transformation MDCT est une transformation à recouvrement de 50%, qui requiert de connaître le signal dans la trame future N+1 pour coder la trame courante N. Ainsi pour un codage G711-WB avec des trames de 5 ms, le codage de la bande haute introduit un retard de 5 ms (dit lookahead en anglais) à cause de la transformation MDCT.The high band is coded (block 107-Co-MDCT) after Modified Discrete Cosine Transform (MDCT) (Block 106). The MDCT transformation is an overlap transformation of 50%, which requires knowing the signal in the future N + 1 frame to encode the current frame N. Thus for a G711-WB coding with 5 ms frames, the coding of the high band introduces a delay of 5 ms (called lookahead in English) because of the MDCT transformation.

Ce retard n'est par contre pas nécessaire dans la bande basse puisqu'un codage PCM scalable est utilisé.This delay is however not necessary in the low band since scalable PCM coding is used.

Le train binaire T de chaque trame est ensuite généré par le multiplexeur (bloc 108). Ce train binaire peut en cours de transmission vers un décodeur être tronqué ou effacé.The bit stream T of each frame is then generated by the multiplexer (block 108). This bit stream may be transmitted to a decoder being truncated or erased.

La figure 5 montre un décodeur correspondant mettant en oeuvre le procédé de dissimulation d'erreurs de transmission conforme à l'invention.The figure 5 shows a corresponding decoder implementing the method of concealing transmission errors according to the invention.

Au décodage pour les configurations R1 et R2a, après démultiplexage (bloc 201), la bande basse décodée par le décodeur (Dé-MIC) MIC scalable (bloc 202) est décalée d'une trame (bloc 203) - soit 5 ms. Pour les configurations R2b et R3, la bande haute est en plus décodée (blocs 205 et 206) et les deux bandes sont combinées après sélection des branches adéquates (bloc 208 et 209) par le banc de filtre en quadrature (bloc 210). La variable bfi (pour "bad frame indicator") sert à indiquer au décodeur que la trame courante est effacée et permet de sélectionner (blocs 208 et 209) le type de décodage: décodage normal (blocs 202, 203, 205 et 206) si bfi = 0 ou dissimulation de trames effacées (blocs 204, 211 et 207) si bfi = 1.At decoding for configurations R1 and R2a, after demultiplexing (block 201), the low band decoded by the scalable PCM decoder (DID-MIC) (block 202) is shifted by one frame (block 203) - ie 5 ms. For the configurations R2b and R3, the high band is additionally decoded (blocks 205 and 206) and the two bands are combined after selecting the appropriate branches (blocks 208 and 209) by the quadrature filter bank (block 210). The variable bfi (for "bad frame indicator") serves to indicate to the decoder that the current frame is erased and makes it possible to select (blocks 208 and 209) the decoding type: normal decoding (blocks 202, 203, 205 and 206) if bfi = 0 or hiding erased frames (blocks 204, 211 and 207) if bfi = 1.

L'invention s'applique ici dans le cas de la dissimulation de trames effacées dans la bande basse. En effet, le décodage normal dans la bande basse est de faible complexité puisqu'il s'agit d'un décodage de type MIC. La distribution de la complexité du processus de dissimulation de trames effacées est alors intéressante à mettre en oeuvre.The invention applies here in the case of hiding erased frames in the low band. Indeed, the normal decoding in the low band is of low complexity since it is a PCM type decoding. The distribution of the complexity of the process of concealing erased frames is then interesting to implement.

Pour cela, le processus de dissimulation de trames effacées s'effectue en au moins deux étapes qui sont effectuées dans des intervalles temporels différents. La première étape E1 s'effectue par des moyens de préparation mis en oeuvre dans le bloc 204 sur l'intervalle temporel correspondant à la trame effacée et la deuxième étape s'effectue dans l'intervalle temporel correspondant à la trame suivante par les moyens de dissimulation mis en oeuvre dans le bloc 211.For this, the process of hiding erased frames is done in at least two steps that are performed in different time intervals. The first step E1 is carried out by means of preparation implemented in the block 204 on the time interval corresponding to the erased frame and the second step is carried out in the time interval corresponding to the following frame by the means of concealment implemented in block 211.

Au décodeur un retard d'une trame est nécessaire pour aligner temporellement la bande basse avec la bande haute (bloc 203). Ce retard d'une trame entre bande basse et bande haute est ici exploité pour mettre en oeuvre l'invention dans son deuxième mode de réalisation détaillé précédemment en référence aux figures 2, 3a et 3b. Il n'est alors pas nécessaire d'introduire de retard supplémentaire.At the decoder a delay of one frame is necessary to temporally align the low band with the high band (block 203). This delay of a frame between low band and high band is here exploited to implement the invention in its second embodiment detailed above with reference to figures 2 , 3a and 3b . It is not necessary to introduce additional delay.

Ainsi, comme illustré en référence à la figure 6 , on se place dans le cas où la trame effacée est la trame N et les trames N-1, N+1 et N+2 sont valides.So, as illustrated with reference to the figure 6 , one places oneself in the case where the erased frame is the frame N and the frames N-1, N + 1 and N + 2 are valid.

Puisqu'un retard d'une trame est utilisée au codeur G.711 WB pour coder la bande haute par MDCT, le train binaire T associé à la trame N contient en fait les codes bande basse (LB) de la trame N+1. De la même façon, le train binaire associé à la trame N-1 contient en fait les codes bande basse de la trame N.Since a delay of one frame is used at the G.711 WB encoder to encode the high band by MDCT, the bit stream T associated with the N frame actually contains the low band (LB) codes of the N + 1 frame. In the same way, the bitstream associated with the N-1 frame actually contains the low band codes of the N-frame.

A la réception du train binaire associé à la trame N-1, le signal bande basse de la trame N est décodé et mis en mémoire tampon pour être donné en même temps que la trame N-1 de la bande haute, au banc de filtre 210.Upon reception of the bit stream associated with the N-1 frame, the low band signal of the N frame is decoded and buffered to be given together with the N-1 frame of the high band at the filter bank. 210.

Le train binaire associé à la trame N est effacée, ce qui veut dire que les codes bande basse de la trame N+1 ne sont pas disponibles.The bitstream associated with the N frame is erased, which means that the low band codes of the N + 1 frame are not available.

A la non réception du train binaire associé à la trame N effacée, la première étape de préparation E1 est exécutée dans la bande basse en prenant en compte le signal décodé et mémorisé de la trame N de la bande basse.When the bit stream associated with the erased N frame is not received, the first preparation step E1 is executed in the low band, taking into account the decoded and memorized signal of the lowband frame N.

La carte son reçoit la trame N de la bande basse mise en mémoire.The sound card receives the N frame of the low band stored in memory.

Le train binaire associé à la trame N+1 est reçu, ce qui veut dire que les codes bande basse de la trame N+2 sont reçus. Ceux-ci sont décodés et le résultat est mis en mémoire tampon. Dans le même intervalle temporel, l'étape de dissimulation E2 (seconde partie de l'analyse et extrapolation de la trame N+1) de l'algorithme de dissimulation est exécutée. On dispose donc du signal bande basse extrapolé dans la trame N+1 pour l'envoyer à la carte son.The bitstream associated with the N + 1 frame is received, which means that the low band codes of the N + 2 frame are received. These are decoded and the result is buffered. In the same time interval, the concealment step E2 (second part of the analysis and extrapolation of the N + 1 frame) of the concealment algorithm is executed. So we have the low band signal extrapolated in the N + 1 frame to send it to the sound card.

Le train binaire associé à la trame N+2 est reçu. On décode ainsi les codes bande basse de la trame N+3 et on mémorise le signal décodé. Dans le même intervalle temporel l'algorithme de dissimulation de trames effacées continue l'extrapolation pour la trame N+2 de la bande basse de façon à réaliser un fondu enchainé avec trame N+2 de la bande basse bufférisé pour assurer la continuité entre signal extrapolé et signal décodé normalement.The bitstream associated with the N + 2 frame is received. The low band codes of the N + 3 frame are thus decoded and the decoded signal is memorized. In the same time interval the erased frame concealment algorithm continues the extrapolation for the N + 2 frame of the low band so as to perform a cross-fading with N + 2 frame of the buffered low band to ensure continuity between signal extrapolated and decoded signal normally.

La présente invention ne se limite pas à une application dans ce type de codeur/décodeur. Elle peut également être mise en oeuvre selon le deuxième mode de réalisation dans un codeur/décodeur de type G.722 pour le décodage de la bande basse, particulièrement quand ce décodeur traite de longueur de trame de 5 ms.The present invention is not limited to an application in this type of encoder / decoder. It can also be implemented according to the second mode of implemented in a G.722 encoder / decoder for decoding the low band, particularly when this decoder deals with a frame length of 5 ms.

La présente invention vise également un dispositif 70 de dissimulation d'erreur de transmission dans un signal numérique comportant comme représenté en 212 à la figure 5, des moyens 204 de préparation aptes à mettre en oeuvre la première étape E1, des moyens 211 de dissimulation aptes à mettre en oeuvre la deuxième étape E2. Ces moyens sont mis en oeuvre dans des intervalles temporels différents correspondants à des trames de signal successives reçues en entrée du dispositif. Matériellement, ce dispositif au sens de l'invention comporte typiquement, en référence à la figure 7 , un processeur µP coopérant avec un bloc mémoire BM incluant une mémoire de stockage et/ou de travail, ainsi qu'une mémoire tampon MEM précitée en tant que moyen pour mémoriser les trames décodées et envoyées avec un décalage temporel. Ce dispositif reçoit en entrée des trames successives du signal numérique Se et délivre le signal synthétisé Ss comportant les échantillons d'une trame effacée.The present invention also relates to a device 70 for concealing a transmission error in a digital signal comprising, as represented at 212, the figure 5 , 204 preparation means capable of implementing the first step E1, 211 means of concealment able to implement the second step E2. These means are implemented in different time intervals corresponding to successive signal frames received at the input of the device. Materially, this device in the sense of the invention typically comprises, with reference to the figure 7 , a μP processor cooperating with a memory block BM including a storage and / or working memory, as well as a memory buffer MEM mentioned above as a means for storing the decoded frames and sent with a time offset. This device receives as input successive frames of the digital signal Se and delivers the synthesized signal Ss comprising the samples of an erased frame.

Le bloc mémoire BM peut comporter un programme informatique comportant les instructions de code pour la mise en oeuvre des étapes du procédé selon l'invention lorsque ces instructions sont exécutées par un processeur µP du dispositif et notamment une première étape de préparation ne produisant aucun échantillon manquant et une deuxième étape de dissimulation produisant les échantillons manquants du signal correspondant à la trame effacée, les deux étapes étant exécutées dans des intervalles temporels différents.The memory block BM may comprise a computer program comprising the code instructions for implementing the steps of the method according to the invention when these instructions are executed by a μP processor of the device and in particular a first preparation step producing no missing sample and a second concealment step producing the missing samples of the signal corresponding to the erased frame, the two steps being executed in different time intervals.

Les figures 1 et 2 peuvent illustrer l'algorithme d'un tel programme informatique.The figures 1 and 2 can illustrate the algorithm of such a computer program.

Ce dispositif de dissimulation selon l'invention peut être indépendant ou intégré dans un décodeur de signal numérique.This concealment device according to the invention can be independent or integrated in a digital signal decoder.

Claims (10)

  1. Method of transmission error concealment in a digital signal split up into a plurality of successive time frames in which, on reception, the signal might comprise erased frames and valid frames and in order to replace at least the first erased frame (N) after a valid frame, at least two steps are performed, a first step (E1) of preparation not producing any missing sample and comprising at least one analysis of a valid decoded signal for estimating concealment parameters and a second step (E2) of concealment producing the missing samples of the signal corresponding to said erased frame with the aid of the estimated parameters, characterized in that the computational loading of the process for concealing erased frames is distributed by performing the steps constituting the process for concealing erased frames over different time intervals, the first step being executed in the time interval reserved for the processing of a first frame and the second step being executed in the time interval reserved for the processing of a second frame following the first frame.
  2. Method according to Claim 1, characterized in that the preparation step is performed for any valid decoded frame in anticipation of a potential erased frame and the concealment step being performed in the time interval reserved for the processing of the erased frame.
  3. Method according to Claim 1, characterized in that the preparation step is performed in the time interval reserved for the processing of the erased frame and the concealment step is performed in a time interval reserved for the processing of the frame following the erased frame.
  4. Method according to Claim 3, characterized in that it is implemented during the decoding of a first frequency band in a decoding system comprising a decoding in a first frequency band and a decoding in a second frequency band, the decoding of a signal time frame comprising a temporal delay in the second frequency band with respect to the decoding of this same time frame in the first frequency band.
  5. Method according to Claim 4, characterized in that the first frequency band corresponds to the low band of a decoding of G.711WB type and the second frequency band corresponds to the high band of a decoding of G.711WB type.
  6. Method according to one of Claims 1 to 5, characterized in that the preparation step comprises an LPC analysis step, an LTP analysis step and the concealment step comprises a step of calculating an LPC residual signal, a step of ranking and a step of extrapolating missing samples.
  7. Method according to one of Claims 1 to 5, characterized in that the preparation step comprises an LPC analysis step, an LTP analysis step, a step of calculating an LPC residual signal and the concealment step comprises a step of ranking and a step of extrapolating missing samples.
  8. Device for transmission error concealment in a digital signal split up into a plurality of successive time frames comprising preparation means not producing any missing sample and comprising at least means for analyzing a valid decoded signal for estimating concealment parameters and concealment means producing the missing samples of the signal corresponding to an erased frame with the aid of the estimated parameters, characterized in that said preparation means are implemented in the time interval reserved for the processing of a first frame and said concealment means are implemented in the time interval reserved for the processing of a second frame following a first frame, so as to distribute the computational loading of the process for concealing erased frames.
  9. Digital signal decoder characterized in that it comprises a transmission error concealment device according to Claim 8.
  10. Computer program intended to be stored in a memory of a transmission error concealment device, characterized in that it comprises code instructions for implementing the steps of the method according to one of Claims 1 to 7, when it is executed by a processor of said transmission error concealment device.
EP08838291A 2007-09-21 2008-09-19 Transmission error dissimulation in a digital signal with complexity distribution Active EP2203915B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0757750 2007-09-21
PCT/FR2008/051684 WO2009047461A1 (en) 2007-09-21 2008-09-19 Transmission error dissimulation in a digital signal with complexity distribution

Publications (2)

Publication Number Publication Date
EP2203915A1 EP2203915A1 (en) 2010-07-07
EP2203915B1 true EP2203915B1 (en) 2012-07-11

Family

ID=39283823

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08838291A Active EP2203915B1 (en) 2007-09-21 2008-09-19 Transmission error dissimulation in a digital signal with complexity distribution

Country Status (7)

Country Link
US (1) US8607127B2 (en)
EP (1) EP2203915B1 (en)
JP (2) JP2010539550A (en)
KR (1) KR101450297B1 (en)
CN (1) CN101802906B (en)
ES (1) ES2391360T3 (en)
WO (1) WO2009047461A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2660610C2 (en) * 2014-03-19 2018-07-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Apparatus, method and corresponding computer program for generating an error concealment signal using individual replacement lpc representations for individual codebook information
US10163444B2 (en) 2014-03-19 2018-12-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using an adaptive noise estimation
US10224041B2 (en) 2014-03-19 2019-03-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus, method and corresponding computer program for generating an error concealment signal using power compensation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3024582A1 (en) 2014-07-29 2016-02-05 Orange MANAGING FRAME LOSS IN A FD / LPD TRANSITION CONTEXT

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2142391C (en) * 1994-03-14 2001-05-29 Juin-Hwey Chen Computational complexity reduction during frame erasure or packet loss
KR100633720B1 (en) * 1999-04-19 2006-10-16 에이티 앤드 티 코포레이션 Method and apparatus for performing packet loss or frame erasure concealment
US6952668B1 (en) * 1999-04-19 2005-10-04 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
FR2813722B1 (en) * 2000-09-05 2003-01-24 France Telecom METHOD AND DEVICE FOR CONCEALING ERRORS AND TRANSMISSION SYSTEM COMPRISING SUCH A DEVICE
ATE422744T1 (en) * 2001-04-24 2009-02-15 Nokia Corp METHOD FOR CHANGING THE SIZE OF A JAMMER BUFFER AND TIME ALIGNMENT, COMMUNICATION SYSTEM, RECEIVER SIDE AND TRANSCODER
JP2004239930A (en) * 2003-02-03 2004-08-26 Iwatsu Electric Co Ltd Method and system for detecting pitch in packet loss compensation
JP2004361731A (en) * 2003-06-05 2004-12-24 Nec Corp Audio decoding system and audio decoding method
US8320391B2 (en) * 2004-05-10 2012-11-27 Nippon Telegraph And Telephone Corporation Acoustic signal packet communication method, transmission method, reception method, and device and program thereof
US7359409B2 (en) * 2005-02-02 2008-04-15 Texas Instruments Incorporated Packet loss concealment for voice over packet networks
JP2007114417A (en) * 2005-10-19 2007-05-10 Fujitsu Ltd Voice data processing method and device
KR100658907B1 (en) * 2005-12-29 2006-12-15 포스데이타 주식회사 Radio access station and method for controlling call in portable internet system
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
KR100998396B1 (en) * 2008-03-20 2010-12-03 광주과학기술원 Method And Apparatus for Concealing Packet Loss, And Apparatus for Transmitting and Receiving Speech Signal

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2660610C2 (en) * 2014-03-19 2018-07-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Apparatus, method and corresponding computer program for generating an error concealment signal using individual replacement lpc representations for individual codebook information
US10140993B2 (en) 2014-03-19 2018-11-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using individual replacement LPC representations for individual codebook information
US10163444B2 (en) 2014-03-19 2018-12-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using an adaptive noise estimation
US10224041B2 (en) 2014-03-19 2019-03-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus, method and corresponding computer program for generating an error concealment signal using power compensation
US10614818B2 (en) 2014-03-19 2020-04-07 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using individual replacement LPC representations for individual codebook information
US10621993B2 (en) 2014-03-19 2020-04-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using an adaptive noise estimation
US10733997B2 (en) 2014-03-19 2020-08-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using power compensation
US11367453B2 (en) 2014-03-19 2022-06-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using power compensation
US11393479B2 (en) 2014-03-19 2022-07-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using individual replacement LPC representations for individual codebook information
US11423913B2 (en) 2014-03-19 2022-08-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating an error concealment signal using an adaptive noise estimation

Also Published As

Publication number Publication date
JP2013250582A (en) 2013-12-12
KR20100084632A (en) 2010-07-27
US8607127B2 (en) 2013-12-10
JP2010539550A (en) 2010-12-16
JP5604572B2 (en) 2014-10-08
CN101802906B (en) 2013-01-02
CN101802906A (en) 2010-08-11
ES2391360T3 (en) 2012-11-23
US20100306625A1 (en) 2010-12-02
WO2009047461A1 (en) 2009-04-16
KR101450297B1 (en) 2014-10-13
EP2203915A1 (en) 2010-07-07

Similar Documents

Publication Publication Date Title
EP2277172B1 (en) Concealment of transmission error in a digital signal in a hierarchical decoding structure
EP2080195B1 (en) Synthesis of lost blocks of a digital audio signal
EP1316087B1 (en) Transmission error concealment in an audio signal
EP1372289B1 (en) Generation of a frame descriptor of silence for generation of comfort noise
JP5849106B2 (en) Apparatus and method for error concealment in low delay integrated speech and audio coding
EP2727107B1 (en) Delay-optimized overlap transform, coding/decoding weighting windows
EP2452337A1 (en) Allocation of bits in an enhancement coding/decoding for improving a hierarchical coding/decoding of digital audio signals
WO2004070706A1 (en) Method for encoding and decoding audio at a variable rate
EP2080194B1 (en) Attenuation of overvoicing, in particular for generating an excitation at a decoder, in the absence of information
EP2452336A1 (en) Improved coding /decoding of digital audio signals
EP0906613B1 (en) Method and device for coding an audio signal by &#34;forward&#34; and &#34;backward&#34; lpc analysis
WO1999040573A1 (en) Method for decoding an audio signal with transmission error correction
EP1356455B1 (en) Method and device for processing numerous audio binary streams
EP2203915B1 (en) Transmission error dissimulation in a digital signal with complexity distribution
EP2795618B1 (en) Method of detecting a predetermined frequency band in an audio data signal, detection device and computer program corresponding thereto
EP2347411B1 (en) Pre-echo attenuation in a digital audio signal
EP1665234A1 (en) Information flow transmission method whereby said flow is inserted into a speech data flow, and parametric codec used to implement same
WO2009080982A2 (en) Processing of binary errors in a digital audio binary frame
FR2830970A1 (en) Telephone channel transmission speech signal error sample processing has errors identified and preceding/succeeding valid frames found/samples formed following speech signal period and part blocks forming synthesised frame.

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

17P Request for examination filed

Effective date: 20100413

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA MK RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20110516

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 566475

Country of ref document: AT

Kind code of ref document: T

Effective date: 20120715

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602008017181

Country of ref document: DE

Effective date: 20120906

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2391360

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20121123

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20120711

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 566475

Country of ref document: AT

Kind code of ref document: T

Effective date: 20120711

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

Effective date: 20120725

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20121111

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20121011

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20121112

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20121012

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

BERE Be: lapsed

Owner name: FRANCE TELECOM

Effective date: 20120930

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120930

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

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

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

26N No opposition filed

Effective date: 20130412

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120919

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20121011

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120930

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120930

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120930

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602008017181

Country of ref document: DE

Effective date: 20130412

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20120711

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20120919

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080919

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 9

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 10

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 11

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20230822

Year of fee payment: 16

Ref country code: GB

Payment date: 20230823

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20230822

Year of fee payment: 16

Ref country code: DE

Payment date: 20230822

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: 20231002

Year of fee payment: 16