EP2203915B1 - Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite - Google Patents

Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite 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)
English (en)
Other versions
EP2203915A1 (fr
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/fr
Application granted granted Critical
Publication of EP2203915B1 publication Critical patent/EP2203915B1/fr
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

Definitions

  • 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.
  • 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.
  • 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.
  • 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
  • error concealment procedures are implemented.
  • LPC Linear Predictive Coding
  • LTP Long Term Prediction
  • 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.
  • 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).
  • 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.
  • 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.
  • this calculation load increase due to the past signal analyzes is the same as the erased frame of either 5 ms or 40 ms.
  • the analyzes of the past signal 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.
  • 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.
  • This computing load in some cases remains reasonable and comparable to the computation load of the normal decoding.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • parameters decoded in the previous valid frames are used for loss concealment.
  • such parameters are not transmitted to the decoder and must be estimated by analysis to synthesize the missing signal when concealing losses.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • It also relates to a digital signal decoder comprising a transmission error concealment device according to the invention.
  • 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.
  • the erased frame dissimilarization module 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.
  • the erasure mask module continues to synthesize the missing signal using the same parameters as in the previous extrapolated frame, possibly slightly attenuated.
  • 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.
  • Table 1 below illustrates the evolution of the complexity of such an encoder in the case where only one frame (No. 3) is erased.
  • 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 valid encoding (0.15 WMOPS) 1 1 1 1 1 1 1 decoding (0.15 WMOPS) 1 1 0 1 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
  • 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.
  • 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.
  • the present invention aims to reduce this complexity by distributing the steps of hiding erased frames over the duration of several frames.
  • the figure 1 illustrates a first embodiment of the invention.
  • 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.
  • FIG. 1 shows an exemplary embodiment in the case where the frame N, received at the decoder is erased.
  • 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.
  • DEMUX demultiplexing module
  • DE-NO normal decoding module
  • 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).
  • the preparation step is performed for all valid frames in anticipation of a potential erased frame.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • Table 3 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).
  • 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.
  • 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.
  • the duration of two frames is available to extrapolate the signal replacing this 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.
  • 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.
  • 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.
  • FIG. 3a A tabular illustration of this second embodiment is also provided in Figure 3a and Figure 3b .
  • 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.
  • 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.
  • the buffer or "buffer” in English
  • P2 analysis the second part of the Online analysis
  • the extrapolated frame # 4 can be sent to the sound card.
  • the decoding of the frame No. 5 is done and the result is stored as illustrated in line 311.
  • 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.
  • 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.
  • line 411 represents decoded frames and stored in the buffer.
  • 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).
  • 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.
  • Table 4 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.
  • 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.
  • 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).
  • 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.
  • the coding of the high band introduces a delay of 5 ms (called lookahead in English) because of the MDCT transformation.
  • 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.
  • the figure 5 shows a corresponding decoder implementing the method of concealing transmission errors according to the invention.
  • the low band decoded by the scalable PCM decoder (DID-MIC) (block 202) is shifted by one frame (block 203) - ie 5 ms.
  • 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 invention applies here in the case of hiding erased frames in the low band.
  • 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.
  • 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.
  • 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.
  • the bit stream T associated with the N frame actually contains the low band (LB) codes of the N + 1 frame.
  • the bitstream associated with the N-1 frame actually contains the low band codes of the N-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.
  • the bitstream associated with the N frame is erased, which means that the low band codes of the N + 1 frame are not available.
  • the first preparation step E1 is executed in the low band, taking into account the decoded and memorized signal of the lowband frame N.
  • the sound card receives the N frame of the low band stored in memory.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the present invention also relates to a device 70 for concealing a transmission error in a digital signal
  • 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.
  • 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.
  • 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.
  • the figures 1 and 2 can illustrate the algorithm of such a computer program.
  • This concealment device according to the invention can be independent or integrated in a digital signal decoder.

Abstract

L'invention concerne 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 (N) après une trame valide, on effectue au moins deux étapes, une première étape (El) 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 (E2) de dissimulation produisant les échantillons manquants du signal correspondant à la dite trame effacée. La première étape et la deuxième étape sont exécutées dans des intervalles temporels différents. L'invention se rapporte également à un dispositif de dissimulation mettant en œuvre le procédé selon l'invention ainsi qu'un décodeur comportant un tel dispositif. L'invention permet de distribuer la complexité de la dissimulation d'erreur sur des intervalles temporels différents.

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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • En génération d'excitation CELP, les paramètres de la trame effacée sont classiquement obtenus comme suit.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Ceci n'est plus vérifié si le codeur G722 traite des trames plus courtes, de 5 ms par exemple.
  • 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.
  • 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.
  • La présente invention telle que définie par les revendications 1, 8 et 10, vient améliorer la 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Elle vise aussi un décodeur de signal numérique comportant un dispositif de dissimulation d'erreur de transmission selon l'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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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
  • 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é.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • L'ordre d'exécution des différentes tâches de dissimulation n'est pas 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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é.
  • 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.
  • Une illustration sous forme de tableau de ce deuxième mode de réalisation est également proposée en figure 3a et 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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).
  • 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.
  • Ce retard n'est par contre pas nécessaire dans la bande basse puisqu'un codage PCM scalable est utilisé.
  • 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é.
  • La figure 5 montre un décodeur correspondant mettant en oeuvre le procédé de dissimulation d'erreurs de transmission conforme à l'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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • La carte son reçoit la trame N de la bande basse mise en mémoire.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Les figures 1 et 2 peuvent illustrer l'algorithme d'un tel programme informatique.
  • Ce dispositif de dissimulation selon l'invention peut être indépendant ou intégré dans un décodeur de signal numérique.

Claims (10)

  1. Procédé de dissimulation d'erreur de transmission dans un signal numérique découpé en une pluralité de trames temporelles successives 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 (N) après une trame valide, on effectue au moins deux étapes, une première étape (E1) de préparation ne produisant aucun échantillon manquant et comportant au moins une analyse d'un signal décodé valide pour estimer des paramètres de dissimulation et une deuxième étape (E2) de dissimulation produisant les échantillons manquants du signal correspondant à la dite trame effacée à l'aide des paramètres estimés, caractérisé en ce que la charge de calcul du processus de dissimulation de trames effacées est répartie en effectuant les étapes constituant le processus de dissimulation de trames effacées sur des intervalles temporels différents, la première étape étant exécutée dans l'intervalle temporel réservé au traitement d'une première trame et la deuxième étape étant exécutée dans l'intervalle temporel réservé au traitement d'une deuxième trame successive à la première trame.
  2. Procédé selon la revendication 1, caractérisé en ce que l'étape de préparation s'effectue pour toute trame décodée valide en prévision d'une potentielle trame effacée et l'étape de dissimulation s'effectue dans l'intervalle temporel réservé au traitement de la trame effacée.
  3. Procédé selon la revendication 1, caractérisé en ce que l'étape de préparation s'effectue dans l'intervalle temporel réservé au traitement de la trame effacée et l'étape de dissimulation s'effectue dans un intervalle temporel réservé au traitement de la trame succédant à la trame effacée.
  4. Procédé selon la revendication 3, caractérisé en ce 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 d'une trame temporelle de signal comportant un retard temporel dans la deuxième bande de fréquence par rapport au décodage de cette même trame temporelle dans la première bande de fréquence.
  5. Procédé selon la revendication 4, caractérisé en ce que 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.711WB.
  6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que 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.
  7. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que 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.
  8. Dispositif de dissimulation d'erreur de transmission dans un signal numérique découpé en une pluralité de trames temporelles successives 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 pour estimer des paramètres de dissimulation et des moyens de dissimulation produisant les échantillons manquants du signal correspondant à une trame effacée à l'aide des paramètres estimés, caractérisé en ce que lesdits moyens de préparation sont mis en oeuvre dans l'intervalle temporel réservé au traitement d'une première trame et lesdits moyens de dissimulation sont mis en oeuvre dans l'intervalle temporel réservé au traitement d'une deuxième trame successive à la première trame, pour répartir la charge de calcul du processus de dissimulation de trames effacées.
  9. Décodeur de signal numérique caractérisé en ce qu'il comporte un dispositif de dissimulation d'erreur de transmission selon la revendication 8.
  10. Programme informatique destiné à être stocké dans une mémoire d'un dispositif de dissimulation d'erreur de transmission, caractérisé en ce qu'il comporte des instructions de code pour la mise en oeuvre des étapes du procédé selon l'une des revendications 1 à 7, lorsqu'il est exécuté par un processeur dudit dispositif de dissimulation d'erreur de transmission.
EP08838291A 2007-09-21 2008-09-19 Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite Active EP2203915B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0757750 2007-09-21
PCT/FR2008/051684 WO2009047461A1 (fr) 2007-09-21 2008-09-19 Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite

Publications (2)

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

Family

ID=39283823

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08838291A Active EP2203915B1 (fr) 2007-09-21 2008-09-19 Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite

Country Status (7)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2660610C2 (ru) * 2014-03-19 2018-07-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для генерации сигнала маскирования ошибок с использованием индивидуальных замещающих представлений lpc для информации индивидуальных кодовых книг
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 (fr) 2014-07-29 2016-02-05 Orange Gestion de la perte de trame dans un contexte de transition fd/lpd

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2142391C (fr) * 1994-03-14 2001-05-29 Juin-Hwey Chen Reduction de la complexite des calculs durant l'effacement des trames ou les pertes de paquets
WO2000063883A1 (fr) * 1999-04-19 2000-10-26 At & T Corp. Procede et appareil destines a effectuer un masquage de pertes de paquets ou d'effacement de trame (fec)
US6952668B1 (en) * 1999-04-19 2005-10-04 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
FR2813722B1 (fr) * 2000-09-05 2003-01-24 France Telecom Procede et dispositif de dissimulation d'erreurs et systeme de transmission comportant un tel dispositif
EP1536582B1 (fr) * 2001-04-24 2009-02-11 Nokia Corporation Procédés de changement de la taille d'un tampon de gigue et pour l'alignement temporel, système de communications, extrémité de réception et transcodeur
JP2004239930A (ja) * 2003-02-03 2004-08-26 Iwatsu Electric Co Ltd パケット損失補償におけるピッチ検出方法と装置
JP2004361731A (ja) * 2003-06-05 2004-12-24 Nec Corp オーディオ復号装置及びオーディオ復号方法
EP1746580B1 (fr) * 2004-05-10 2010-03-24 Nippon Telegraph and Telephone Corporation Méthode de communication de paquet de signaux acoustiques, méthode de transmission, méthode de réception et dispositif et programme de ceux-ci
US7359409B2 (en) * 2005-02-02 2008-04-15 Texas Instruments Incorporated Packet loss concealment for voice over packet networks
JP2007114417A (ja) * 2005-10-19 2007-05-10 Fujitsu Ltd 音声データ処理方法及び装置
KR100658907B1 (ko) * 2005-12-29 2006-12-15 포스데이타 주식회사 휴대 인터넷 시스템의 기지국 장치 및 호 제어 방법
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
KR100998396B1 (ko) * 2008-03-20 2010-12-03 광주과학기술원 프레임 손실 은닉 방법, 프레임 손실 은닉 장치 및 음성송수신 장치

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2660610C2 (ru) * 2014-03-19 2018-07-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для генерации сигнала маскирования ошибок с использованием индивидуальных замещающих представлений lpc для информации индивидуальных кодовых книг
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
JP5604572B2 (ja) 2014-10-08
CN101802906B (zh) 2013-01-02
WO2009047461A1 (fr) 2009-04-16
ES2391360T3 (es) 2012-11-23
EP2203915A1 (fr) 2010-07-07
JP2013250582A (ja) 2013-12-12
JP2010539550A (ja) 2010-12-16
US20100306625A1 (en) 2010-12-02
KR20100084632A (ko) 2010-07-27
US8607127B2 (en) 2013-12-10
CN101802906A (zh) 2010-08-11
KR101450297B1 (ko) 2014-10-13

Similar Documents

Publication Publication Date Title
EP2277172B1 (fr) Dissimulation d'erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP2080195B1 (fr) Synthèse de blocs perdus d'un signal audionumérique
EP1316087B1 (fr) Dissimulation d'erreurs de transmission dans un signal audio
JP5849106B2 (ja) 低遅延の統合されたスピーチ及びオーディオ符号化におけるエラー隠しのための装置及び方法
EP2727107B1 (fr) Fenêtres de pondération en codage/décodage par transformée avec recouvrement, optimisées en retard
EP2452336B1 (fr) Codage/décodage perfectionne de signaux audionumériques
WO2011004098A1 (fr) Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques
EP1581930A1 (fr) Procede de codage et de decodage audio a debit variable
EP2080194B1 (fr) Attenuation du survoisement, notamment pour la generation d'une excitation aupres d'un decodeur, en absence d'information
EP0906613B1 (fr) Procede et dispositif de codage d'un signal audiofrequence par analyse lpc "avant" et "arriere"
WO1999040573A1 (fr) Procede de decodage d'un signal audio avec correction des erreurs de transmission
EP1356455B1 (fr) Methode et dispositif de traitement d'une pluralite de flux binaires audio
EP2203915B1 (fr) Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
FR2984580A1 (fr) Procede de detection d'une bande de frequence predeterminee dans un signal de donnees audio, dispositif de detection et programme d'ordinateur correspondant
EP1665234A1 (fr) Procede de transmission d un flux d information par insertion a l'interieur d'un flux de donnees de parole, et codec parametrique pour sa mise en oeuvre
WO2009080982A2 (fr) Traitement d'erreurs binaires dans une trame binaire audionumerique
FR2830970A1 (fr) Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole
FR2997250A1 (fr) Detection d'une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions

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