EP2080195B1 - Synthèse de blocs perdus d'un signal audionumérique - Google Patents

Synthèse de blocs perdus d'un signal audionumérique Download PDF

Info

Publication number
EP2080195B1
EP2080195B1 EP07871872A EP07871872A EP2080195B1 EP 2080195 B1 EP2080195 B1 EP 2080195B1 EP 07871872 A EP07871872 A EP 07871872A EP 07871872 A EP07871872 A EP 07871872A EP 2080195 B1 EP2080195 B1 EP 2080195B1
Authority
EP
European Patent Office
Prior art keywords
signal
repetition period
samples
amplitude
block
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
EP07871872A
Other languages
German (de)
English (en)
Other versions
EP2080195A1 (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
Priority to PL07871872T priority Critical patent/PL2080195T3/pl
Publication of EP2080195A1 publication Critical patent/EP2080195A1/fr
Application granted granted Critical
Publication of EP2080195B1 publication Critical patent/EP2080195B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching

Definitions

  • the present invention relates to the processing of digital audio signals (especially speech signals).
  • the present invention relates to a reception processing for improving the quality of the decoded signals in the presence of data block losses.
  • the LTP long-term prediction parameters including the pitch period, represent the fundamental vibration of the speech signal (when it is voiced), while the LPC short-term prediction parameters represent the spectral envelope. of this signal.
  • all of these LPC and LTP parameters thus resulting from a speech coding, can be transmitted in blocks to a peer decoder, via one or more telecommunication networks, to then restore the initial speech signal.
  • the G.722 coder has an ADPCM coding scheme in two sub-bands obtained by a QMF (for "Quadrature Mirror Filter") filter bank.
  • QMF for "Quadrature Mirror Filter”
  • the figure 1 of the state of the art shows the coding and decoding structure according to Recommendation G.722.
  • Blocks 101 to 103 represent the transmission filter bank QMF (spectral separation high 102 and low 100 frequencies and sub-sampling 101 and 103), applied to the input signal Se.
  • the following blocks 104 and 105 respectively correspond to low and high band ADPCM coders.
  • the Low-band ADPCM encoder rate is specified by a mode of 0, 1, or 2, indicating a rate of 6, 5, or 4 bits per sample, respectively, while the high-band ADPCM encoder rate is fixed (two bits per second). sample).
  • the ADPCM decoding equivalent blocks (blocks 106 and 107), the outputs of which are combined in the receiving QMF filterbank (oversampling 108 and 110, inverse filters 109, 111 and joining the low frequency bands and high 112) to generate the synthesis signal Ss.
  • the decoder When a loss of one or more consecutive blocks, the decoder must reconstruct the signal without information on lost or errored blocks. It relies on the previously decoded information from the valid blocks received. This problem, called “lost block correction” (or, hereafter, “erasure correction”) is actually more general than simply extrapolating missing information because the loss of frames often causes a loss of synchronization between encoder and decoder, especially when these are predictive, as well as continuity problems between the extrapolated information and the decoded information after a loss.
  • the correction of erased frames thus also encompasses state restoration, re-convergence, and other techniques.
  • Annex I of ITU-T Recommendation G.711 describes erasure correction for PCM encoding.
  • the frame loss correction is therefore simply to extrapolate the missing information and ensure the continuity between a reconstructed frame and correctly received frames, following a loss.
  • the extrapolation is implemented by repetition of the signal passed synchronously with the fundamental frequency (or conversely, "pitch period"), that is to say by simply repeating pitch periods.
  • the continuity is ensured by a smoothing (or "cross-fading") between samples received and extrapolated samples.
  • a speech signal includes so-called “transient” sounds (non-stationary sounds including typically vowel attacks (beginnings) and sounds called “plosives” which correspond to short consonants such as “p", "b”, “d”, "t", “k”).
  • transient sounds non-stationary sounds including typically vowel attacks (beginnings)
  • plosives sounds which correspond to short consonants such as "p", "b”, “d”, "t", “k”
  • a correction of frame loss by simple repetition will generate a very unpleasant sequence listening to "t” (which will be understood in French as “teu- teu-teu-teu-teu ) in burst for a loss of several successive frames (for example five consecutive losses).
  • the Figures 2a and 2b illustrate this acoustic effect in the case of an expanded band signal encoded by an encoder according to Recommendation G.722.
  • the figure 2a shows a decoded speech signal on an ideal channel (without loss of frame).
  • This signal corresponds, in the example represented, to the French word "temps", divided into two phonemes: / t / then / an /.
  • Vertical dashed lines indicate the boundaries between frames. We consider here the case of frames of length of the order of 10 ms.
  • the figure 2b shows the decoded signal according to a technique similar to the Serizawa et al reference above when a frame loss immediately follows the phoneme / t /. This figure 2b shows the problem of the repetition of the past signal.
  • the phoneme / t / is repeated in the extrapolated frame. It is also present in the following frame or frames because the extrapolation is slightly prolonged after a loss, in the example shown, in order to effect a cross-fade with the decoding under normal conditions (ie in the presence of useful information in the received signal).
  • the method according to the invention is advantageously applied to the processing of a speech signal, both in the case of a voiced signal and in the case of an unvoiced signal.
  • the repetition period simply consists of the pitch period and step a) of the method aims in particular to determine a pitch period (typically given by the inverse of a fundamental frequency) a tone of the signal (for example the tone of a voice in a speech signal) in at least one valid block preceding the loss.
  • the valid signal received is not voiced, there is not really a detectable pitch period.
  • it can be expected to set a given arbitrary number of samples which will be considered as the length of the pitch period (which can then be called generically "repetition period”) and carry out the process. sense of the invention on the basis of this repetition period.
  • the longest possible pitch period typically 20 ms (corresponding to 50 Hz of a very deep voice), or 160 samples at 8 kHz sampling frequency.
  • the sample correction step b) is applied to all samples of the last period of repetition, taken one by one as a current sample.
  • step b) is repeatedly copied to form the replacement blocks.
  • This amplitude chosen from the amplitudes of the samples of said neighborhood is preferably the maximum amplitude in absolute value.
  • a damping (gradual attenuation) of the amplitude of the samples in the replacement blocks is usually applied.
  • a transient character of the signal is detected before the loss of blocks, and, where appropriate, a faster damping is applied than for a stationary (non-transitory) signal.
  • the digital audio signal is a speech signal
  • a degree of voicing is advantageously detected in the speech signal and the correction of step b) is not implemented if the speech signal is strongly voiced (which manifests itself by a correlation coefficient close to "1" in the search for a pitch period).
  • this correction is implemented only if the signal is not voiced or if it is weakly voiced.
  • step b) avoids applying the correction of step b) and unnecessarily attenuating the signal in the replacement blocks, if the valid signal received is strongly voiced (thus stationary), which actually corresponds to the pronunciation of the signal. a stable vowel (eg "aaaa”).
  • the present invention is directed to the signal modification before repetition period repetition (or "pitch" for a voiced speech signal), for the synthesis of lost blocks at the decoding of digital audio signals.
  • Transient repeat effects are avoided by comparing samples of a pitch period with those of the previous pitch period.
  • the signal is modified preferentially by taking the minimum between the current sample and at least one sample substantially of the same position of the previous pitch period.
  • the invention offers several advantages, particularly in the context of decoding in the presence of block losses.
  • it makes it possible to avoid artifacts coming from the erroneous repetition of transients (when a simple repetition of pitch period is used).
  • it performs a transient detection which can be used to adapt the energy control of the extrapolated signal (via a variable attenuation).
  • the decoder in the sense of the invention again presents an architecture in two subbands with the reception QMF filter banks (blocks 310 to 314).
  • the decoder of the figure 3 further integrates a device 320 for clearing erased frames.
  • the G.722 decoder generates an output signal Ss sampled at 16 kHz and cut into time frames (or sample blocks) of 10, 20 or 40 ms. Its operation differs according to the presence or not of loss of frames.
  • the erased frame is extrapolated in the block 301 from the signal x1 passed (pitch copy in particular) and the states of the ADPCM decoder are updated. in block 302.
  • the erased frame is extrapolated in block 305 from the passed signal xh and the states of the ADPCM decoder are updated in block 306.
  • the extrapolation yh is a simple repetition of the last period of the past xh signal.
  • This signal uh is advantageously filtered to give the signal vh.
  • the G.722 coding is a recursive predictive coding scheme (of the "backward" type). It uses in each subband an ARMA prediction operation (for "Auto-Regressive Moving Average") and a procedure for adapting the ARMA filter quantization and adaptation pitch, identical to the encoder and to the decoder. The prediction and the pitch adaptation are based on the decoded information (prediction error, reconstructed signal).
  • the transmission errors lead to a desynchronization between the decoder and the encoder variables.
  • the pitch adaptation and prediction procedures are then erroneous and skewed over a long period of time (up to 300-500 ms).
  • this bias can result, among other artifacts, in the appearance of a continuous component of very low amplitude (of the order of +/- 10 for a maximum dynamic signal +/- 32767 ).
  • this DC component is found in the form of a sinusoid at 8kHz audible and very troublesome to the hearing.
  • the transformation of the DC component (or “DC component”) into a sinusoid at 8 kHz is explained below.
  • the figure 8a represents a two-channel quadrature filter bank (QMF).
  • the signal x (n) is decomposed into two subbands by the analysis bank. We thus obtain a low band xl (n) and a high band xh (n).
  • the signal obtained after the synthesis filter bank is identical to the signal x (n) with a shift.
  • the filters L (z) and H (z) can be, for example, the QMF filters of 24 coefficients specified in ITU-T Recommendation G.722.
  • the figure 8b shows the spectrum of the signals x (n), xl (n) and xh (n) in the case where the filters L (z) and H (z) are ideal mid-band filters.
  • the frequency response of L (z) over the interval [-f'e / 2, + fe '/ 2] is then given, in the ideal case, by:
  • the f ⁇ 1 if f ⁇ f vs ' / 4 0 other
  • the L (z) and H (z) filters are not ideal. Their non-ideal character results in the appearance of a spectral folding component which is canceled by the synthesis bench. The high band remains inverted, however.
  • Block 308 then performs a high pass filtering (HPF for " high pass filter ”) which removes the DC component (for " DC remove " in English).
  • HPF high pass filter
  • the use of such a filter is particularly advantageous, including outside the scope of the correction of pitch period in the low band within the meaning of the invention.
  • a high-pass filter 308 is provided on the high frequency channel.
  • This high-pass filter 308 is advantageously provided upstream, for example, of the QMF filter bank of this high-frequency channel of the G.722 decoder.
  • This arrangement makes it possible to avoid the folding of the DC component at 8 kHz (value taken from the sampling rate f ' e ) when it is applied to the QMF filter bank.
  • the high-pass filter (308) is preferably provided upstream of this filter bank.
  • this high-pass filter 308 is temporarily applied (for a few seconds for example) during and after a loss of blocks, even if valid blocks are received again.
  • Filter 308 could be used permanently. Nevertheless, it is activated only in case of frame losses, because the disturbance due to the DC component is generated only in this case, so that the output of the modified G.722 decoder (because integrating the mechanism of loss correction) is identical to that of the ITU-T G.722 decoder in the absence of frame loss.
  • This filter 308 is applied only during the frame loss correction and for a few seconds following a loss.
  • the G.722 decoder is desynchronized from the encoder for a period of 100 to 500 ms following a loss and the continuous component in the high band is typically only present for a duration of 1 to 2 seconds.
  • the filter 308 is maintained a little longer to have a safety margin (for example four seconds).
  • Block 400 performs a linear prediction analysis (LPC) on the passed signal xl.
  • LPC linear prediction analysis
  • This analysis is similar to that carried out in particular in the G.729 standardized coder. It can consist of windowing the signal, calculating the autocorrelation and finding the linear prediction coefficients by the Levinson-Durbin algorithm. Preferably, only the last 10 seconds of the signal are used and the LPC order is set to 8.
  • the past excitation signal is calculated by block 401.
  • Block 402 makes an estimate of the fundamental frequency or its inverse: the pitch period T 0 . This estimation is carried out for example in a manner similar to the pitch analysis (called “open loop” especially as in the standardized encoder G.729).
  • the pitch T 0 thus estimated is used by the block 403 to extrapolate the excitation of the current frame.
  • the passed signal x1 is classified in the block 404.
  • the aim is rather to detect whether the signal Se is strongly voiced (for example when the correlation with respect to the pitch period is very close to 1). If the signal is strongly voiced (which corresponds to the pronunciation of a stable vowel, for example "aaaa ##), then the signal Se is free of transients and the pitch period correction in the sense of the invention may not be implemented. Otherwise, preferentially, the correction of the pitch period in the sense of the invention will be applied in all other cases.
  • SYNTH synthesis follows the model well known in the state of the art and called "source-filter”. It consists in filtering the excitation extrapolated by an LPC filter.
  • the excitation can be extrapolated by simply repeating the last pitch period T 0 , that is to say by copying the succession of the last samples of the past excitation, the number of samples in this succession corresponding to the number of samples that includes the pitch period T 0 .
  • this signal modification is not applied if the signal x 1 (and therefore the input signal Se) is strongly voiced. Indeed, in the case of a strongly voiced signal, the simple repetition of the last pitch period, without modification, can give a better result, whereas a modification of the last pitch period and its repetition could result in a slight quality degradation.
  • step 70 we obtain the information according to which the signal x1 is strongly voiced or not, from the module 404 determining the degree of voicing. If the signal is strongly voiced (arrow O at the output of the test 71), it copies the last pitch period of the valid blocks, as such, in the block 403 of the figure 4 and processing continues directly thereafter by the application of the inverse filter 1 / A (z) by the module 405.
  • each sample e (n) of the last pitch period is made to correspond to a NEIGH neighborhood in the preceding pitch period, ie in the penultimate pitch period.
  • This measure is advantageous but not necessary. The advantage it provides will be described later. It is simply indicated here that this neighborhood comprises an odd number of samples 2k + 1, in the example described. Of course, alternatively, this number may be even.
  • ak 1. Indeed, with reference to the figure 6 , it is found that the third sample of the last pitch period noted e (3) is selected (step 74) and NEIGH neighborhood samples associated with it in the penultimate pitch period (step 75) are represented in FIG. and are e (2- T 0 ), e (3- T 0 ) and e (4- T 0 ). They are therefore distributed around e (3- T 0 ).
  • step 76 the maximum, in absolute value, is determined among the NEIGH neighborhood samples (ie the sample e (2- T 0 ) in the example of the figure 6 ). This feature is advantageous but not necessary. The advantage it provides will be described later. Typically, alternatively, one could choose to determine the average on NEIGH neighborhood, for example.
  • step 77 the minimum, in absolute value, is determined between the value of the current sample e (n) and the value of the maximum M found on NEIGH neighborhood in step 76.
  • this minimum between e (3) and e (2- T 0 ) is indeed the sample of the penultimate pitch period e (2- T 0 ).
  • the amplitude of the current sample e (n) is then replaced by this minimum.
  • the amplitude of the sample e (3) becomes equal to that of the sample e (2- T 0 ).
  • the same method is applied to all the samples of the last period, from e (1) to e (12).
  • the corrected samples are represented by dashed lines. Samples of pitch periods extrapolated T j + 1 , T j + 2 , corrected according to the invention, are represented by closed arrows.
  • this step 77 if a plosive is indeed present on the last pitch period T j (high intensity of the signal, in absolute value, as represented on FIG. figure 6 ), we will determine the minimum between this intensity of the plosive and that of the samples substantially at the same time position in the preceding pitch period (the term "substantially” meaning here "to a neighborhood ⁇ k near", hence the advantage of the realization of step 75), and replace, if necessary, the intensity of the plosive by a lower intensity belonging to the penultimate pitch period T j-1 .
  • step 76 the maximum value M in absolute value of the samples of the neighborhood (and not another parameter such as the average on this neighborhood, for example) is determined so as to compensate for the effect of choosing the minimum to step 77 for replace the value e (n).
  • This measurement therefore makes it possible not to limit the amplitude of the pitch pitch periods T j + 1 , T j + 2 ( figure 6 ).
  • the neighborhood determination step 75 is advantageously implemented because a pitch period is not always regular and, if a sample e (n) has a maximum intensity in a period of pitch T 0 , it is not always the same for a sample e (n + T 0 ) in a next pitch period.
  • a pitch period may extend to a time position falling between two samples (at a given sampling frequency). We speak of "fractional pitch". It is therefore always preferable to take a neighborhood centered around a sample e (n- T 0 ), if this sample e (n- T 0 ) must be associated with a sample e (n) positioned at a pitch period next.
  • step 78 consists simply in reassigning the sign of the initial sample e (n) to the modified sample e mod (n).
  • Steps 75 to 78 are repeated for a sample e (n) following (n before n + 1 in step 79), until the pitch period T 0 is exhausted (ie until reaching the last valid sample e ( n 1 )).
  • the modified signal e mod (n) is thus delivered to the inverse filter 1 / A (z) (reference 405 of FIG. figure 4 ) for further decoding.
  • the signal passed x1 has a transient (for example a plosive), which makes it possible to force a fast attenuation by the block 406 on the synthesis signal yl (eg attenuation over 10 ms).
  • a transient for example a plosive
  • the Figure 2c then illustrates the decoded signal when the invention is implemented, for comparison with the Figures 2a and 2b for which a frame with the plosive / t / was lost. Repetition of the phoneme / t / is avoided here, thanks to the implementation of the invention.
  • the differences following the frame loss are not related to the actual plosive detection.
  • attenuation of the signal after the frame loss at the Figure 2c can be explained by the fact that in this case, the G.722 decoder is reset (complete update of the states in the block 302 of the figure 3 ), whereas in the case of figure 2b , the G.722 decoder is not reset. It will be understood, however, that the invention relates to the detection of plosives for the extrapolation of an erased frame and not to the problem of restarting after a loss of frame.
  • the present invention also relates to a computer program intended to be stored in memory of a device for synthesizing a digital audio signal.
  • This program then comprises instructions for implementing the method within the meaning of the invention, when it is executed by a processor of such a synthesis device.
  • the figure 7 described above can illustrate a flowchart of such a computer program.
  • the synthesis device SYN within the meaning of the invention comprises means such as a working memory MEM (or storage of the aforementioned computer program) and a PROC processor cooperating with this memory MEM, for the implementation of the method within the meaning of the invention, and thus to synthesize the current block from at least one of the preceding blocks of the signal e (n).
  • a working memory MEM or storage of the aforementioned computer program
  • PROC processor cooperating with this memory MEM, for the implementation of the method within the meaning of the invention, and thus to synthesize the current block from at least one of the preceding blocks of the signal e (n).
  • the present invention also relates to a decoder of a digital audio signal consisting of a succession of blocks, this decoder comprising the device 403 in the sense of the invention for synthesizing invalid blocks.
  • the present invention is not limited to the embodiments described above by way of example; it extends to other variants.
  • signal detection and modification can be performed in the signal domain (rather than the field of excitation).
  • the excitation is extrapolated by repetition of pitch and possibly addition of a random contribution and this excitation is filtered by a filter of type 1 / A (z), where A (z) is derived from the last correctly received predictor filter.
  • sample correction in step b), followed by copying of the corrected samples into the replacement block (s).
  • sample correction and copying can be steps that can occur in any order and, in particular, be reversed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Stereophonic System (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)

Description

  • La présente invention concerne le traitement de signaux audionumériques (signaux de parole, notamment).
  • Elle 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).
  • On rappelle rapidement qu'un signal de parole peut être prédit à partir de son passé récent (par exemple de 8 à 12 échantillons à 8 kHz) au moyen de paramètres évalués sur des fenêtres courtes (10 à 20 ms dans cet exemple). Ces paramètres de prédiction à court terme, représentatifs de la fonction de transfert du conduit vocal (par exemple pour prononcer des consonnes), sont obtenus par des méthodes d'analyse LPC (pour "Linear Prediction Coding"). Il existe aussi une corrélation à plus long terme associée aux quasi-périodicités de la parole (par exemple de sons voisés tels que les voyelles) qui sont dues à la vibration des cordes vocales. Il s'agit donc de déterminer au moins la fréquence fondamentale du signal voisé qui varie typiquement de 60 Hz (voix grave) à 600 Hz (voix aiguë) selon les locuteurs. On détermine alors, par une analyse LTP (pour "Long Term Prediction"), les paramètres LTP d'un prédicteur à long terme, et en particulier l'inverse de la fréquence fondamentale, appelée souvent "période de pitch". On définit alors le nombre d'échantillons dans une période de pitch par le rapport Fe/F0 (ou sa partie entière), où :
    • Fe est la cadence d'échantillonnage, et
    • F0 est la fréquence fondamentale.
  • On retiendra donc que les paramètres de prédiction à long terme LTP, dont la période de pitch, représentent la vibration fondamentale du signal de parole (lorsqu'il est voisé), tandis que les paramètres de prédiction à court terme LPC représentent l'enveloppe spectrale de ce signal.
  • Dans certains codeurs, l'ensemble de ces paramètres LPC et LTP, résultant donc d'un codage de parole, peuvent être transmis par blocs vers un décodeur homologue, via un ou plusieurs réseaux de télécommunication, pour restituer ensuite le signal de parole initial.
  • On s'intéresse toutefois par la suite (à titre d'exemple) au système de codage G.722 à 48, 56 et 64 kbit/s normalisé par l'UIT-T pour la transmission de signaux de parole en bande élargie (qui sont échantillonnés à 16 kHz). Le codeur G.722 présente un schéma de codage MICDA en deux sous-bandes obtenues par un banc de filtres QMF (pour "Quadrature Mirror Filter"). Pour plus de détails, on peut se référer utilement au texte de la recommandation G.722.
  • La figure 1 de l'état de l'art montre la structure de codage et de décodage selon la recommandation G.722. Les blocs 101 à 103 représentent le banc de filtres QMF de transmission (séparation spectrale en hautes 102 et basses 100 fréquences et sous-échantillonnage 101 et 103), appliqué au signal d'entrée Se. Les blocs suivants 104 et 105 correspondent respectivement aux codeurs MICDA en bande basse et haute. Le débit du codeur MICDA en bande basse est spécifié par un mode valant 0, 1, ou 2, indiquant respectivement un débit de 6, 5 ou 4 bits par échantillon, alors que le débit du codeur MICDA en bande haute est fixe (deux bits par échantillon). On retrouve au décodeur les blocs équivalents de décodage MICDA (blocs 106 et 107) dont les sorties sont combinées dans le banc de filtres QMF de réception (sur-échantillonnage 108 et 110, filtres inverses 109, 111 et réunion des bandes de fréquences basses et hautes 112) pour générer le signal de synthèse Ss.
  • Un problème général étudié ici concerne la correction de pertes de blocs au décodage. En effet, le train binaire issu du codage est en général formaté en blocs binaires pour la transmission sur beaucoup de types de réseaux. On parle par exemple de "paquets IP" (pour "Internet Protocol") pour des blocs transmis via le réseau Internet, de "trames" pour des blocs transmis sur des réseaux ATM (pour "Asynchronous Transfer Mode"), ou autres. Les blocs transmis après codage peuvent être perdus pour diverses raisons:
    • si un routeur du réseau est saturé et vide sa file d'attente,
    • si le bloc est reçu en retard (donc non pris en compte) lors d'un décodage à flux continu et en temps-réel,
    • si un bloc reçu est corrompu (par exemple si son code de parité CRC n'est pas vérifié).
  • Lors d'une perte d'un ou plusieurs blocs consécutifs, le décodeur doit reconstruire le signal sans information sur les blocs perdus ou erronés. Il s'appuie sur l'information décodée précédemment à partir des blocs valides reçus. Ce problème, appelé "correction de blocs perdus" (ou encore, ci-après, "correction de trames effacées") est en fait plus général que la simple extrapolation d'information manquante car la perte de trames occasionne souvent une perte de synchronisation entre codeur et décodeur, en particulier lorsque ceux-ci sont prédictifs, ainsi que des problèmes de continuité entre l'information extrapolée et l'information décodée après une perte. La correction de trames effacées englobe donc aussi des techniques de restauration d'états, de re-convergence, et autres.
  • L'annexe I de la recommandation UIT-T G.711 décrit une correction de trames effacées adaptée au codage MIC. Le codage MIC n'étant pas prédictif, la correction de pertes de trames se résume donc simplement à extrapoler l'information manquante et assurer la continuité entre une trame reconstruite et des trames correctement reçues, suite à une perte. L'extrapolation est mise en oeuvre par répétition du signal passé de façon synchrone avec la fréquence fondamentale (ou inversement, "période de pitch"), c'est-à-dire en répétant simplement des périodes de pitch. La continuité est assurée par un lissage (ou "fondu enchaîné" pour le terme anglais "cross-fading") entre échantillons reçus et échantillons extrapolés.
  • Dans le document:
    • " A Packet Loss Concealment Method using Pitch Waveform Repetition and Internal State Update on the Decoded Speech for the Sub-band ADPCM Wideband Speech Codec", M. Serizawa et Y. Nozawa, IEEE Speech Coding Workshop, pages 68-70 (2002),
      il a été proposé une correction de trames effacées pour le codeur/décodeur normalisé G.722 en extrapolant une trame perdue à l'aide d'un algorithme de répétition des périodes de pitch (répétition qui peut être similaire à celle décrite dans l'annexe I de la recommandation G.711). Pour mettre à jour les états du codeur G.722 (mémoire des filtres et mémoire d'adaptation de pas), la trame ainsi extrapolée est divisée en deux sous-bandes qui sont encodées à nouveau par codage MICDA.
  • Toutefois, de telles techniques de correction de pertes de trame par répétition de périodes de pitch ne peuvent fonctionner correctement que si le signal passé est stationnaire ou au moins cyclo-stationnaire. Elles reposent donc sur l'hypothèse implicite que le signal associé à la trame perdue (qu'il faut extrapoler) est "similaire" au signal décodé jusqu'à la perte de trame. Dans le cas du signal de parole, cette hypothèse de stationnarité n'est rigoureusement valable que pour des sons tels qu'une portion de voyelles à répéter. Par exemple, une voyelle "a" peut être répétée plusieurs fois (ce qui donne "aaaa..." sans occasionner de gêne à l'écoute). Or, un signal de parole comporte des sons dits "transitoires" (sons non stationnaires incluant typiquement les attaques (débuts) de voyelles et les sons appelés "plosives" qui correspondent aux consonnes brèves telles que "p", "b", "d", "t", "k"). Ainsi, si par exemple une trame est perdue juste après le son "t", une correction de perte de trame par simple répétition générera une séquence très désagréable à l'écoute de "t" (qui s'entendra en français comme "teu-teu-teu-teu-teu") en rafale pour une perte de plusieurs trames successives (par exemple cinq pertes consécutives).
  • Les figures 2a et 2b illustrent cet effet acoustique dans le cas d'un signal en bande élargie codé par un codeur selon la recommandation G.722. Plus particulièrement, la figure 2a montre un signal de parole décodé sur un canal idéal (sans perte de trame). Ce signal correspond, dans l'exemple représenté, au mot français "temps", divisé en deux phonèmes: /t/ puis /an/. Les lignes verticales en pointillés indiquent les frontières entre trames. On considère ici le cas de trames de longueur de l'ordre de 10 ms. La figure 2b montre le signal décodé selon une technique similaire à la référence Serizawa et al ci-avant lorsqu'une perte de trame suit immédiatement le phonème /t/. Cette figure 2b montre bien le problème de la répétition du signal passé. On constate que le phonème /t/ est répété dans la trame extrapolée. Il est aussi présent dans la ou les trames suivantes car l'extrapolation est légèrement prolongée après une perte, dans l'exemple représenté, afin de réaliser un fondu enchaîné avec le décodage en conditions normales (c'est-à-dire en présence d'informations utiles dans le signal reçu).
  • Le problème de répétition des plosives n'a apparemment jamais été évoqué dans l'art antérieur connu.
  • La présente invention, telle que définie par les revendications ci-jointes, vient améliorer la situation.
  • Elle propose à cet effet un procédé de synthèse d'un signal audionumérique représenté par des blocs successifs d'échantillons, dans lequel, à la réception d'un tel signal, pour remplacer au moins un bloc invalide, on génère un bloc de remplacement à partir d'échantillons d'au moins un bloc valide.
  • D'une façon générale, le procédé comporte les étapes suivantes:
    1. a) définir une période de répétition du signal dans au moins un bloc valide, et
    2. b) recopier les échantillons de la période de répétition dans au moins un bloc de remplacement.
  • Dans le procédé au sens de l'invention:
    • à l'étape a), on détermine une dernière période de répétition dans au moins un bloc valide précédant immédiatement un bloc invalide, et
    • à l'étape b), on corrige des échantillons de la dernière période de répétition en fonction d'échantillons d'une période de répétition précédente, et ce, pour limiter l'amplitude d'un éventuel signal transitoire qui serait présent dans la dernière période de répétition.
  • On recopie ensuite les échantillons ainsi corrigés dans le bloc de remplacement.
  • Le procédé au sens de l'invention s'applique avantageusement au traitement d'un signal de parole, aussi bien dans le cas d'un signal voisé que dans le cas d'un signal non voisé. Ainsi, si le signal est voisé, la période de répétition consiste simplement en la période de pitch et l'étape a) du procédé vise notamment la détermination d'une période de pitch (donnée typiquement par l'inverse d'une fréquence fondamentale) d'un ton du signal (par exemple le ton d'une voix dans un signal de parole) dans au moins un bloc valide précédant la perte.
  • Si le signal valide reçu n'est pas voisé, il n'existe pas réellement de période de pitch détectable. Dans ce cas, il peut être prévu de fixer un nombre donné d'échantillons arbitraire qui sera considéré comme la longueur de la période de pitch (que l'on peut alors appeler de façon générique "période de répétition") et réaliser le procédé au sens de l'invention sur la base de cette période de répétition. Par exemple, on peut choisir une période de pitch la plus longue possible, typiquement 20 ms (correspondant à 50 Hz d'une voix très grave), soit 160 échantillons à 8 kHz de fréquence d'échantillonnage. Il est possible aussi de prendre la valeur correspondant au maximum d'une fonction de corrélation en limitant la recherche dans un intervalle de valeur (par exemple entre MAX_PITCH/2 et MAX_PITCH, où MAX_PITCH est la valeur maximale dans la recherche de période de pitch).
  • Préférentiellement, si une pluralité de blocs invalides consécutifs doivent être remplacés à la réception et que ces blocs s'étendent sur au moins une période de répétition, l'étape de correction d'échantillons b) est appliquée à tous les échantillons de la dernière période de répétition, pris un à un en tant qu'échantillon courant.
  • En outre, si ces blocs invalides vont jusqu'à s'étendre sur plusieurs périodes de répétition, on recopie plusieurs fois la période de répétition ainsi corrigée à l'étape b) pour former les blocs de remplacement.
  • Dans une réalisation particulière, pour la correction d'échantillon précitée qui est effectuée à l'étape b), on peut procéder comme suit. Pour un échantillon courant de la dernière période de répétition, on compare:
    • l'amplitude de cet échantillon courant, en valeur absolue,
    • à l'amplitude, en valeur absolue, d'au moins un échantillon temporellement positionné sensiblement à une période de répétition avant l'échantillon courant, et on affecte à l'échantillon courant l'amplitude minimale, en valeur absolue, parmi ces deux amplitudes, en lui affectant aussi, bien entendu, le signe de son amplitude initiale.
  • On entend ici par les termes "positionné sensiblement" le fait que l'on recherche dans la période de répétition précédente un voisinage à associer à l'échantillon courant. Ainsi, préférentiellement, pour un échantillon courant de la dernière période de répétition :
    • on constitue un ensemble d'échantillons dans un voisinage centré autour d'un échantillon temporellement positionné à une période de répétition avant l'échantillon courant,
    • on détermine une amplitude choisie parmi les amplitudes des échantillons dudit voisinage, prises en valeur absolue,
    • et on compare cette amplitude choisie à l'amplitude de l'échantillon courant, en valeur absolue, pour affecter à l'échantillon courant l'amplitude minimum, en valeur absolue, parmi l'amplitude choisie et l'amplitude de l'échantillon courant.
  • Cette amplitude choisie parmi les amplitudes des échantillons dudit voisinage est préférentiellement l'amplitude maximum en valeur absolue.
  • Par ailleurs, on applique habituellement un amortissement (atténuation progressive) de l'amplitude des échantillons dans les blocs de remplacement. Ici, de façon avantageuse, on détecte un caractère transitoire du signal avant la perte de blocs, et, le cas échéant, on applique un amortissement plus rapide que pour un signal stationnaire (non transitoire).
  • On peut, en complément ou en variante, effectuer aussi une remise à jour (RAZ) des mémoires des filtres suivants dans le traitement de synthèse, spécifiquement adaptée aux sons transitoires, pour éviter de retrouver l'influence de tels sons transitoires dans le traitement des blocs valides suivants.
  • Préférentiellement, la détection d'un signal transitoire précédant la perte de bloc s'effectue comme suit:
    • pour une pluralité d'échantillons courants de la dernière période de répétition, de mesurer un rapport, en valeur absolue, de l'amplitude d'un échantillon courant sur l'amplitude choisie précitée (déterminée dans le voisinage comme indiqué ci-avant), et
    • compter ensuite le nombre d'occurrences, pour les échantillons courants, pour lesquelles le rapport précité est supérieur à un premier seuil prédéterminé (une valeur voisine de 4 par exemple, comme on le verra plus loin), et
    • détecter la présence d'ùn signal transitoire si le nombre d'occurrences est supérieur à un second seuil prédéterminé (par exemple s'il y a plus d'une occurrence, comme on le verra plus loin).
  • Ces étapes ci-avant peuvent être mises à profit pour déclencher aussi l'étape de correction b) au sens de l'invention, en cas de détection d'un son transitoire dans la période de répétition précédant immédiatement la perte d'un bloc.
  • Toutefois, pour décider d'appliquer ou non l'étape de correction b) du procédé au sens de l'invention, on procède préférentiellement comme suit. Si le signal audionumérique est un signal de parole, on détecte avantageusement un degré de voisement dans le signal de parole et on ne met pas en oeuvre la correction de l'étape b) si le signal de parole est fortement voisé (ce qui se manifeste par un coefficient de corrélation proche de "1" dans la recherche d'une période de pitch). En d'autres termes, on ne met en oeuvre cette correction que si le signal n'est pas voisé ou s'il est faiblement voisé.
  • On évite ainsi d'appliquer la correction de l'étape b) et d'atténuer inutilement le signal dans les blocs de remplacement, si le signal valide reçu est fortement voisé (donc stationnaire), ce qui correspond en réalité à la prononciation d'une voyelle stable (par exemple "aaaa").
  • Ainsi, en bref, la présente invention vise la modification de signal avant répétition de période de répétition (ou "pitch" pour un signal de parole voisé), pour la synthèse de blocs perdus au décodage de signaux audionumériques. Les effets de répétition de transitoires sont évités en comparant les échantillons d'une période de pitch avec ceux de la période de pitch précédente. Le signal est modifié préférentiellement en prenant le minimum entre l'échantillon courant et au moins un échantillon sensiblement de même position de la période de pitch précédente.
  • L'invention offre plusieurs avantages notamment dans le contexte de décodage en présence de pertes de blocs. Elle permet notamment d'éviter les artefacts venant de la répétition erronée de transitoires (lorsqu'une simple répétition de période de pitch est utilisée). De plus, elle réalise une détection de transitoires qui peut servir à adapter le contrôle d'énergie du signal extrapolé (via une atténuation variable).
  • 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, outre les figures 1, 2a et 2b présentées précédemment :
    • la figure 2c illustre, à titre de comparaison, l'effet du traitement au sens de l'invention sur le même signal que celui des figures 2a et 2b, pour lequel on a perdu une trame TP,
    • la figure 3 représente le décodeur selon la recommandation G.722, mais modifié en intégrant un dispositif de correction de trames effacées au sens de l'invention,
    • la figure 4 illustre le principe d'extrapolation de la bande basse,
    • la figure 5 illustre le principe de la répétition de pitch (dans le domaine de l'excitation),
    • la figure 6 illustre la modification du signal d'excitation au sens de l'invention, suivie par la répétition de pitch,
    • la figure 7 illustre les étapes du procédé de l'invention, selon une réalisation particulière,
    • la figure 8 illustre schématiquement un dispositif de synthèse pour la mise en oeuvre du procédé au sens de l'invention,
    • la figure 8a illustre la structure générale d'un banc de filtres en quadrature (QMF) à deux canaux,
    • la figure 8b représente les spectres des signaux x(n), xl(n), xh(n) de la figure 8a quand les filtres L(z) et H(z) sont idéaux (soit fe =2fe ).
  • Une réalisation de l'invention reposant à titre d'exemple sur le système de codage selon la recommandation G.722 est décrite ci-après. On ne reprend pas ici la description du codeur G.722 (décrite ci-avant en référence à la figure 1). On se restreint ici à la description d'un décodeur G.722 modifié, qui intègre un correcteur de périodes de pitch à reproduire en cas de perte de trames.
  • En référence à la figure 3, le décodeur au sens de l'invention (ici selon la recommandation G.722) présente à nouveau une architecture en deux sous-bandes avec les bancs de filtres QMF de réception (blocs 310 à 314). Par rapport au décodeur de la figure 1, le décodeur de la figure 3 intègre en plus un dispositif 320 de correction de trames effacées.
  • Le décodeur G.722 génère un signal de sortie Ss échantillonné à 16 kHz et découpé en trames temporelles (ou blocs d'échantillons) de 10, 20 ou 40 ms. Son fonctionnement diffère suivant la présence ou non de perte de trames.
  • En l'absence totale de perte de trames (donc si toutes les trames sont reçues et valides, le train binaire de la bande de basses fréquences BF est décodé par le bloc 300 du dispositif 320 au sens de l'invention, aucun fondu enchaîné (bloc 303) n'est réalisé et le signal reconstruit est donné simplement par zl = xl. De même, le train binaire de la bande de fréquences hautes HF est décodé par le bloc 304. Le commutateur 307 sélectionne la voie uh = xh et le commutateur 309 sélectionne la voie zh = uh = xh.
  • Néanmoins, en cas de perte d'une ou plusieurs trames, dans la bande basse BF, la trame effacée est extrapolée dans le bloc 301 à partir du signal xl passé (recopie de pitch notamment) et les états du décodeur MICDA sont mis à jour dans le bloc 302. La trame effacée est reconstruite comme zl = yl. Ce processus est répété tant qu'une perte de trames est détectée. Il est important de noter que le bloc d'extrapolation 301 ne se borne pas seulement à générer un signal extrapolé sur la trame courante (perdue) : il génère également 10 ms de signal pour la trame suivante afin de réaliser un fondu enchaîné dans le bloc 303.
  • Ensuite, lorsqu'une trame valide est reçue, celle-ci est décodée par le bloc 300 et un fondu enchaîné 303 est réalisé pendant les 10 premières millisecondes entre la trame valide xl et la trame précédemment extrapolée yl.
  • Dans la bande haute HF, la trame effacée est extrapolée dans le bloc 305 à partir du signal xh passé et les états du décodeur MICDA sont mis à jour dans le bloc 306. Dans le mode de réalisation privilégié, l'extrapolation yh est une simple répétition de la dernière période du signal xh passé. Le commutateur 307 sélectionne la voie uh = yh. Ce signal uh est avantageusement filtré pour donner le signal vh. En effet, le codage G.722 est un schéma de codage prédictif récursif (de type "backward"). Il utilise dans chaque sous-bande une opération de prédiction de type ARMA (pour "Auto-Regressive Moving Average" - filtre autorégressif à moyenne mobile) et une procédure d'adaptation de pas de quantification et d'adaptation du filtre ARMA, identiques au codeur et au décodeur. La prédiction et l'adaptation du pas s'appuient sur les informations décodées (erreur de prédiction, signal reconstruit).
  • Les erreurs de transmission, plus particulièrement les pertes de trames, conduisent à une désynchronisation entre les variables du décodeur et du codeur. Les procédures d'adaptation de pas et de prédiction sont alors erronées et biaisées sur une grande période de temps (jusqu'à 300-500 ms). Dans la bande haute, ce biais peut résulter, parmi d'autres artéfacts, en l'apparition d'une composante continue d'amplitude très faible (de l'ordre de +/-10 pour un signal de dynamique maximale +/-32767). Toutefois, après passage par le banc de filtres QMF de synthèse, cette composante continue se retrouve sous la forme d'une sinusoïde à 8kHz audible et très gênante à l'audition.
  • La transformation de la composante continue (ou "composante DC") en une sinusoïde à 8 kHz est expliquée ci-après. La figure 8a représente un banc de filtres en quadrature (QMF) à deux canaux. Le signal x(n) est décomposé en deux sous-bandes par le banc d'analyse. On obtient ainsi une bande basse xl(n) et une bande haute xh(n). Ces signaux sont définis par leur transformée en z: XL z = 1 2 X z 1 / 2 L z 1 / 2 + X - z 1 / 2 L - z 1 / 2
    Figure imgb0001
    XH z = 1 2 X z 1 / 2 H z 1 / 2 + X - z 1 / 2 H - z 1 / 2
    Figure imgb0002
  • Les filtres passe-bas L(z) et passe-haut H(z) étant en quadrature, on a : H(z)=L(-z).
  • Si L(z) vérifie les contraintes de reconstruction parfaite, le signal obtenu après le banc de filtre de synthèse est identique au signal x(n) à un décalage près.
  • Ainsi, si la fréquence d'échantillonnage du signal x(n) est ƒ e', les signaux xl(n) et xh(n) sont échantillonnés à la fréquence ƒe =ƒe '/2. Typiquement, on a souvent ƒe ' = 16 kHz, soit ƒe = 8 kHz. On indique en outre que les filtres L(z) et H(z) peuvent être par exemple les filtres QMF de 24 coefficients spécifiés dans la recommandation UIT-T G.722.
  • La figure 8b montre le spectre des signaux x(n), xl(n) et xh(n) dans le cas où les filtres L(z) et H(z) sont des filtres mi-bande idéaux. La réponse en fréquence de L(z) sur l'intervalle [-f'e/2, +fe'/2] est alors donnée, dans le cas idéal, par: L f = { 1 si f f c ʹ / 4 0 autrement
    Figure imgb0003
  • On remarque que le spectre de xh(n) correspond à la bande haute repliée. Cette propriété de repliement (ou "folding" en anglais), bien connue dans l'état de l'art, s'explique visuellement, ainsi qu'au moyen de l'équation ci-dessus définissant XH(z). Le repliement de la bande haute est "inversé" par le banc de filtres de synthèse qui rétablit le spectre de la bande haute dans l'ordre naturel des fréquences.
  • Toutefois, en pratique, les filtres L(z) et H(z) ne sont pas idéaux. Leur caractère non-idéal a pour conséquence l'apparition d'une composante de repliement spectral qui est annulée par le banc de synthèse. La bande haute reste néanmoins inversée.
  • Le bloc 308 réalise alors un filtrage passe-haut (HPF pour "high pass filter") qui supprime la composante continue (pour "DC remove" en anglais). L'utilisation d'un tel filtre est particulièrement avantageuse, y compris en dehors du cadre de la correction de période de pitch dans la bande basse au sens de l'invention.
  • D'ailleurs, l'utilisation d'un tel filtre HPF (bloc 308) éliminant la composante continue dans la bande haute pourrait faire l'objet d'une protection séparée, dans un contexte général de perte de trames au décodage. En termes génériques, on comprendra donc qu'en contexte de décodage d'un signal reçu avec séparation de ce signal en bande de fréquences hautes et en bande de fréquences basses, donc en au moins deux canaux comme en décodage selon la norme G.722, lorsqu'il advient une perte de signal suivie d'une synthèse d'un signal de remplacement, de façon générale, sur la voie de hautes fréquences du décodeur, cela peut entraîner la présence d'une composante continue dans le signal de remplacement. L'effet de cette composante continue peut se prolonger aussi dans le signal décodé, pendant un certain temps, lorsque le signal codé reçu est à nouveau valide pourtant, à cause de la désynchronisation entre le codeur et le décodeur et de la taille mémoire des filtres.
  • On prévoit avantageusement un filtre passe-haut 308 sur la voie des hautes fréquences. Ce filtre passe-haut 308 est avantageusement prévu en amont par exemple du banc de filtres QMF de cette voie des hautes fréquences du décodeur G.722. Cette disposition permet d'éviter le repliement de la composante continue à 8 kHz (valeur tirée du taux d'échantillonnage f'e ) lorsqu'elle est appliquée au banc de filtres QMF. Plus généralement, lorsque le décodeur fait intervenir un banc de filtres en fin de traitement sur la voie des hautes fréquences, on prévoit préférentiellement le filtre passe-haut (308) en amont de ce banc de filtres.
  • Ainsi, en référence à nouveau à la figure 3, le commutateur 309 sélectionne la voie zh = vh, tant qu'il y a perte de trames.
  • Ensuite, dès qu'une trame valide est reçue, celle-ci est décodée par le bloc 304 et le commutateur 307 sélectionne la voie uh = xh. Pendant quelques instants suivants (par exemple après quatre secondes), le commutateur 309 sélectionne encore la voie zh = vh, mais passé ces quelques secondes, on revient au fonctionnement "normal" où le commutateur 309 sélectionne à nouveau la voie zh = uh en contournant le bloc 308 et donc sans application du filtre passe-haut 308.
  • En termes génériques, on comprendra donc que, préférentiellement, on applique temporairement (quelques secondes par exemple) ce filtre passe-haut 308 pendant et après une perte de blocs, même si des blocs valides sont à nouveau reçus. Le filtre 308 pourrait être utilisé en permanence. Néanmoins, il n'est activé qu'en cas de pertes de trames, car la perturbation due à la composante continue n'est générée que dans ce cas, de sorte que la sortie du décodeur G.722 modifié (car intégrant le mécanisme de correction de pertes) est identique à celle du décodeur UIT-T G.722 en l'absence de perte de trames. Ce filtre 308 est appliqué uniquement pendant la correction de perte de trames et pendant quelques secondes consécutives à une perte. En effet, en cas de perte, le décodeur G.722 est désynchronisé du codeur pendant une période de 100 à 500 ms suite à une perte et la composante continue dans la bande haute n'est typiquement présente que pour une durée de 1 à 2 secondes. Le filtre 308 est maintenu un peu plus longtemps pour avoir une marge de sécurité (par exemple quatre secondes).
  • On ne décrit pas plus en détail le décodeur objet de la figure 3, étant entendu que l'invention est en particulier mise en oeuvre dans le bloc 301 d'extrapolation de la bande basse. Ce bloc 301 est détaillé sur la figure 4.
  • En référence à la figure 4, l'extrapolation de la bande basse repose sur une analyse du signal passé xl (partie de la figure 4 référencée ANALYS) suivie d'une synthèse du signal yl à délivrer (partie de la figure 4 référencée SYNTH). Le bloc 400 réalise une analyse par prédiction linéaire (LPC) sur le signal passé xl. Cette analyse est similaire à celle réalisée notamment dans le codeur normalisé G.729. Elle peut consister à fenêtrer le signal, calculer l'autocorrélation et trouver les coefficients de prédiction linéaire par l'algorithme de Levinson-Durbin. Préférentiellement, seules les 10 dernières secondes du signal sont utilisées et l'ordre LPC est fixé à 8. On obtient donc neuf coefficients LPC (notés ci-après a0, al, ... , ap) sous la forme : A z = a 0 + a 1 z - 1 + + a p z - p avec p = 8 et a 0 = 1.
    Figure imgb0004
  • Après analyse LPC, le signal d'excitation passé est calculé par le bloc 401. Le signal d'excitation passé est noté e(n) avec n=-M, ...,-1, où M correspond au nombre d'échantillons passés et stockés.
    Le bloc 402 réalise une estimation de la fréquence fondamentale ou de son inverse: la période de pitch T 0. Cette estimation est réalisée par exemple d'une façon similaire à l'analyse de pitch (dite "en boucle ouverte" notamment comme dans le codeur normalisé G.729).
  • Le pitch T 0 ainsi estimé est utilisé par le bloc 403 pour extrapoler l'excitation de la trame courante.
  • Par ailleurs, le signal passé xl est classifié dans le bloc 404. On peut chercher ici à détecter la présence de transitoires, par exemple la présence d'une plosive pour appliquer la correction de période de pitch au sens de l'invention, mais, dans une variante préférentielle, on cherche plutôt à détecter si le signal Se est fortement voisé (par exemple lorsque la corrélation par rapport à la période de pitch est très proche de 1). Si le signal est fortement voisé (ce qui correspond à la prononciation d'une voyelle stable, par exemple "aaaa... "), alors le signal Se est exempt de transitoires et la correction de période de pitch au sens de l'invention peut ne pas être mise en oeuvre. Sinon, préférentiellement, on appliquera la correction de la période de pitch au sens de l'invention dans tous les autres cas.
  • Les détails de la détection d'un degré de voisement ne sont pas présentés ici car ils sont connus en soi et dépassent le cadre de l'invention.
  • En référence à nouveau à la figure 4, la synthèse SYNTH suit le modèle bien connu dans l'état de l'art et dit "source-filtre". Elle consiste à filtrer l'excitation extrapolée par un filtre LPC. Ici, l'excitation extrapolée e(n) (où maintenant n=0,..., L-1, L étant la longueur de la trame à extrapoler) est filtrée par le filtre inverse 1/A(z) (bloc 405). Ensuite, le signal obtenu est atténué par le bloc 407 en fonction d'une atténuation calculée dans le bloc 406, pour être finalement délivré en yl.
  • L'invention, en tant que telle, est réalisée par le bloc 403 de la figure 4, dont les fonctions sont décrites en détail ci-après.
  • On a représenté sur la figure 5, à titre illustratif, le principe de la simple répétition d'excitation telle que réalisée dans l'état de l'art. L'excitation peut être extrapolée en répétant simplement la dernière période de pitch T 0, c'est-à-dire en copiant la succession des deniers échantillons de l'excitation passée, le nombre d'échantillons dans cette succession correspondant au nombre d'échantillons que comporte la période de pitch T 0.
  • En se référant maintenant à la figure 6, avant de répéter la dernière période de pitch T 0, on modifie cette dernière, au sens de l'invention, comme suit.
  • Pour chaque échantillon n= -T 0, ...,-1, l'échantillon e(n) est modifié en emod(n) suivant une formule du type: e mod n = min max i = - k , ... , 0 , ... , + k e n - T 0 + i , e n × sign e n
    Figure imgb0005
  • Comme indiqué ci-avant, préférentiellement, cette modification de signal n'est pas appliquée si le signal xl (et donc le signal d'entrée Se) est fortement voisé. En effet, dans le cas d'un signal fortement voisé, la répétition simple de la dernière période de pitch, sans modification, peut donner un meilleur résultat, alors qu'une modification de la dernière période de pitch et sa répétition pourrait entraîner une légère dégradation de qualité.
  • On a représenté sur la figure 7 le traitement correspondant à l'application de cette formule, sous forme d'organigramme, pour illustrer les étapes du procédé selon un mode de réalisation de l'invention. On part ici du signal passé e(n) que délivre le bloc 401. A l'étape 70, on obtient l'information selon laquelle le signal xl est fortement voisé ou non, à partir du module 404 déterminant le degré de voisement. Si le signal est fortement voisé (flèche O en sortie du test 71), on recopie la dernière période de pitch des blocs valides, telle quelle, dans le bloc 403 de la figure 4 et le traitement se poursuit directement ensuite par l'application du filtrage inverse 1/A(z) par le module 405.
  • En revanche, si le signal xl n'est pas fortement voisé (flèche N en sortie du test 71), on va chercher à modifier les derniers échantillons du signal d'excitation e(n) correspondant aux derniers blocs valides reçus, ces échantillons s'étendant sur toute une période de pitch T 0 (étape 73), donnée par le module 402 de la figure 4 (à l'étape 72). Dans la réalisation illustrée sur la figure 7, on cherche à modifier tous les échantillons e(n) sur toute une période de pitch T 0, avec n compris entre nl -T 0+1 et nl , e(nl ) correspondant donc au dernier échantillon valide reçu (étape 74). On comprendra ainsi, avec ces notations, qu'un échantillon e(n) avec n compris entre nl -T 0+1 et nl appartient simplement à la dernière période de pitch validement reçue.
  • A l'étape 75, on fait correspondre à chaque échantillon e(n) de la dernière période de pitch un voisinage NEIGH dans la période de pitch précédente, donc dans l'avant-dernière période de pitch. Cette mesure est avantageuse mais aucunement nécessaire. L'avantage qu'elle procure sera décrit plus loin. On indique simplement ici que ce voisinage comprend un nombre d'échantillons impair 2k+1, dans l'exemple décrit. Bien entendu, en variante, ce nombre peut être pair. Par ailleurs, dans l'exemple de la figure 6, on a k=1. En effet, en référence encore à la figure 6, on constate que le troisième échantillon de la dernière période de pitch noté e(3) est sélectionné (étape 74) et les échantillons du voisinage NEIGH qui lui sont associés dans l'avant-dernière période de pitch (étape 75) sont représentés en gras et sont e(2-T 0), e(3-T 0) et e(4-T 0). Ils sont donc répartis autour de e(3-T 0).
  • A l'étape 76, on détermine le maximum, en valeur absolue, parmi les échantillons du voisinage NEIGH (soit l'échantillon e(2-T 0) dans l'exemple de la figure 6). Cette caractéristique est avantageuse mais aucunement nécessaire. L'avantage qu'elle procure sera décrit plus loin. Typiquement, en variante, on pourrait choisir de déterminer la moyenne sur le voisinage NEIGH, par exemple.
  • A l'étape 77, on détermine le minimum, en valeur absolue, entre la valeur de l'échantillon courant e(n) et la valeur du maximum M trouvé sur le voisinage NEIGH à l'étape 76. Dans l'exemple illustré sur la figure 6, ce minimum entre e(3) et e(2-T 0) est bien l'échantillon de l'avant-dernière période de pitch e(2-T 0). Toujours à cette étape 77, on remplace alors l'amplitude de l'échantillon courant e(n) par ce minimum. Sur la figure 6, l'amplitude de l'échantillon e(3) devient égale à celle de l'échantillon e(2-T 0). Le même procédé est appliqué à tous les échantillons de la dernière période, de e(1) à e(12). Sur la figure 6, on a représenté les échantillons corrigés par des traits pointillés. Les échantillons des périodes de pitch extrapolées T j+1, T j+2, corrigés selon l'invention, sont représentés par des flèches fermées.
  • On comprendra donc que, par la mise en oeuvre avantageuse de cette étape 77, si une plosive est bien présente sur la dernière période de pitch T j (forte intensité du signal, en valeur absolue, comme représenté sur la figure 6), on va déterminer le minimum entre cette intensité de la plosive et celle des échantillons sensiblement à la même position temporelle dans la période de pitch précédente (le terme "sensiblement" signifiant ici "à un voisinage ± k près", d'où l'avantage de la réalisation de l'étape 75), et remplacer, le cas échéant, l'intensité de la plosive par une intensité plus faible appartenant à l'avant-dernière période de pitch T j-1. En revanche, si l'intensité des échantillons de la dernière période de pitch T j est inférieure à celle de l'avant-dernière période T j-1, en sélectionnant le minimum entre l'échantillon courant e(3) et la valeur d'intensité e(2-T 0) dans l'avant-dernière période de pitch T j-1, on ne modifie pas la dernière période et on évite ainsi le risque qu'une plosive (de forte intensité) puisse être recopiée de l'avant-dernière période de pitch T j-1.
  • Ainsi, à l'étape 76, on détermine le maximum M en valeur absolue des échantillons du voisinage (et non pas un autre paramètre tel que la moyenne sur ce voisinage, par exemple) de manière à compenser l'effet de choisir le minimum à l'étape 77 pour effectuer le remplacement de la valeur e(n). Cette mesure permet donc de ne pas trop limiter l'amplitude des périodes de pitch de remplacement T j+1 , Tj+2 (figure 6).
  • Par ailleurs, l'étape 75, de détermination de voisinage, est mise en oeuvre, de façon avantageuse, car une période de pitch n'est pas toujours régulière et, si un échantillon e(n) a une intensité maximum dans une période de pitch T 0, il n'en est pas toujours de même pour un échantillon e(n+T 0) dans une période de pitch suivante. Par ailleurs, une période de pitch peut s'étendre jusqu'à une position temporelle tombant entre deux échantillons (à une fréquence d'échantillonnage donnée). On parle de "pitch fractionnaire". Il est donc toujours préférable de prendre un voisinage centré autour d'un échantillon e(n-T 0), s'il faut associer cet échantillon e(n-T 0) à un échantillon e(n) positionné à une période de pitch suivante.
  • Enfin, puisque les traitements des étapes 75 à 77 portent essentiellement sur les valeurs absolues des échantillons, l'étape 78 consiste simplement à réaffecter le signe de l'échantillon initial e(n) à l'échantillon modifié emod(n).
  • On réitère les étapes 75 à 78 pour un échantillon e(n) suivant (n devant n+1 à l'étape 79), jusqu'à épuisement de la période de pitch T 0 (soit donc jusqu'à arriver au dernier échantillon valide e(nl )).
  • On délivre ainsi le signal modifié emod(n) au filtre inverse 1/A(z) (référence 405 de la figure 4) pour la suite du décodage.
  • Il convient néanmoins de noter encore deux variantes possibles de réalisation. Il est possible de corriger ainsi la dernière période de pitch T j, d'appliquer cette correction T'j à cette dernière période de pitch T j et de recopier la correction pour les périodes de pitch suivantes, soit : T j=T j+1=T j+2=T'j.
    Dans une variante, on laisse intacte la dernière période de pitch T j et on recopie en revanche sa correction T'j dans les périodes de pitch suivantes T j+1 et T j+2.
  • La comparaison des figures 5 et 6 montre en quoi la modification de l'excitation ainsi faite est avantageuse. Ainsi, en bref, dans le cas où une plosive est présente dans la dernière période de pitch, celle-ci sera automatiquement éliminée avant répétition de pitch car elle n'aura pas d'équivalent dans l'avant-dernière période de pitch. Cette réalisation permet ainsi d'éliminer l'un des artefacts les plus gênants de la répétition de pitch et consistant en la répétition de plosives.
  • Par ailleurs, on prévoit avantageusement une atténuation plus rapide du signal synthétisé et répété, si une plosive est détectée dans la dernière période de pitch. Un exemple de réalisation d'une détection de transitoire, de manière générale, peut consister à compter le nombre d'occurrences de la condition (1) suivante : e n 4 > max i = - k , ... , 0 , ... , + k e n - T 0 + i
    Figure imgb0006
  • Si cette condition est vérifiée par exemple plus d'une fois sur la trame courante, alors le signal passé xl comporte une transitoire (par exemple une plosive), ce qui permet de forcer une atténuation rapide par le bloc 406 sur le signal de synthèse yl (par exemple une atténuation sur 10 ms).
  • La figure 2c illustre alors le signal décodé lorsque l'invention est mise en oeuvre, à titre de comparaison avec les figures 2a et 2b pour lesquelles une trame comportant la plosive /t/ était perdue. La répétition du phonème /t/ est ici évitée, grâce à la mise en oeuvre de l'invention. Les différences qui suivent la perte de trame ne sont pas liées à la détection de plosives proprement dite. En fait, l'atténuation du signal après la perte de trame à la figure 2c s'explique par le fait que dans ce cas, le décodeur G.722 est réinitialisé (mise à jour complète des états dans le bloc 302 de la figure 3), alors que dans le cas de la figure 2b, le décodeur G.722 n'est pas réinitialisé. On comprendra néanmoins que l'invention porte sur la détection de plosives pour l'extrapolation d'une trame effacée et non sur le problème du redémarrage après une perte de trame.
  • Néanmoins, à l'écoute, le signal illustré à la figure 2c est de meilleure qualité que celui de la figure 2b.
  • La présente invention vise aussi un programme d'ordinateur destiné à être stocké en mémoire d'un dispositif de synthèse d'un signal audionumérique. Ce programme comporte alors des instructions pour la mise en oeuvre du procédé au sens de l'invention, lorsqu'il est exécuté par un processeur d'un tel dispositif de synthèse. D'ailleurs, la figure 7 décrite ci-avant peut illustrer un organigramme d'un tel programme d'ordinateur.
  • Par ailleurs, la présente invention vise aussi un dispositif de synthèse d'un signal audionumérique constitué d'une succession de blocs. Ce dispositif pourrait comporter d'ailleurs une mémoire stockant le programme d'ordinateur précité et pourrait consister en le bloc 403 de la figure 4 avec les fonctionnalités décrites ci-avant. En référence à la figure 8, ce dispositif SYN, comporte :
    • une entrée E pour recevoir des blocs du signal e(n), précédant au moins un bloc courant à synthétiser, et
    • une sortie S pour délivrer le signal synthétisé emod(n) et comportant au moins ce bloc courant synthétisé.
  • Le dispositif de synthèse SYN au sens de l'invention comporte des moyens tels qu'une mémoire de travail MEM (ou de stockage du programme d'ordinateur précité) et un processeur PROC coopérant avec cette mémoire MEM, pour la mise en oeuvre du procédé au sens de l'invention, et pour synthétiser ainsi le bloc courant à partir d'au moins un des blocs précédents du signal e(n).
  • La présente invention vise aussi un décodeur d'un signal audionumérique constitué d'une succession de blocs, ce décodeur comportant le dispositif 403 au sens de l'invention pour synthétiser des blocs invalides.
  • De manière plus générale, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemple; elle d'étend à d'autres variantes.
  • Dans des réalisations variantes, les paramètres de correction de période de pitch et/ou de détection de transitoires peuvent être les suivants. On peut considérer un intervalle comportant un nombre différent de trois échantillons dans l'avant-dernière période de pitch. On peut prendre par exemple k=2 pour avoir cinq échantillons considérés en tout. De même, la valeur du seuil pour la détection de transitoire (de ¼ dans l'exemple de la condition (1) ci-avant) peut être adaptée. De plus, on peut déclarer le signal comme transitoire si la condition de détection est vérifiée au moins m fois, avec m ≥ 1.
  • Par ailleurs, l'invention peut être également appliquée à d'autres contextes que celui décrit ci-avant.
  • Par exemple, la détection et la modification de signal peuvent être réalisées dans le domaine du signal (plutôt que le domaine de l'excitation). Typiquement, pour la correction de pertes de trame dans un décodeur CELP (qui fonctionne aussi suivant le modèle source-filtre), l'excitation est extrapolée par répétition de pitch et éventuellement ajout d'une contribution aléatoire et cette excitation est filtrée par un filtre de type 1/A(z), où A(z) est dérivé du dernier filtre prédicteur correctement reçu.
  • Elle peut être appliquée aussi à un décodeur selon la norme G.711, tout aussi naturellement.
  • Bien entendu, recopier tout simplement l'avant-dernière période de pitch T j-1 pour constituer les nouvelles périodes synthétisées T j+1, T j+2 permettrait déjà de surmonter le problème de répétition de plosives, si, de plus, on prend le soin de détecter des plosives dans l'avant-dernière période de pitch (par exemple en utilisant une condition du type de la condition (1) ci-avant).
  • Par ailleurs, pour la clarté de l'exposé ci-avant, on a décrit une correction d'échantillons, à l'étape b), suivi du recopiage des échantillons corrigés dans le(s) bloc(s) de remplacement. Bien entendu et de façon strictement équivalente techniquement, il est possible aussi de recopier d'abord les échantillons de la dernière période de répétition et de les corriger tous ensuite dans le(s) bloc(s) de remplacement. Ainsi, la correction d'échantillons et le recopiage peuvent être des étapes qui peuvent intervenir dans un ordre quelconque et, en particulier, être inversées.

Claims (12)

  1. Procédé de synthèse d'un signal audionumérique représenté par des blocs successifs d'échantillons, dans lequel, à la réception d'un tel signal, pour remplacer au moins un bloc invalide, on génère un bloc de remplacement à partir d'échantillons d'au moins un bloc valide,
    le procédé comportant les étapes suivantes:
    a) déterminer (402) une période de répétition dans au moins un bloc valide, et
    b) recopier (403) les échantillons de la période de répétition dans au moins un bloc de remplacement,
    ladite période de répétition correspondant à une période de pitch si le signal est voisé ou à une valeur déterminée arbitrairement ou à partir d'une fonction de corrélation si le signal n'est pas voisé,
    caractérisé en ce que:
    - à l'étape a), on détermine une dernière période de répétition (T j) dans au moins un bloc valide précédant immédiatement un bloc invalide,
    - à l'étape b), on corrige des échantillons (e(3)) de ladite dernière période de répétition (T j) en fonction d'échantillons (e(2-T 0), e(3-T 0), e(4-T 0)) d'une période de répétition (T j-1) précédant ladite dernière période de répétition, pour limiter l'amplitude d'un éventuel signal transitoire dans ladite dernière période de répétition, et on recopie les échantillons ainsi corrigés dans ledit bloc de remplacement (T j+1, T j+2), ladite correction étant effectuée par rapport à un voisinage centré autour d'un échantillon temporellement positionné à une période de répétition avant l'échantillon courant.
  2. Procédé selon la revendication 1, dans lequel le signal est un signal de parole voisé, caractérisé en ce que la période de répétition est une période de pitch correspondant à l'inverse d'une fréquence fondamentale du signal.
  3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que, à l'étape b), on corrige un échantillon courant (e(3)) de la dernière période de répétition, en comparant :
    - l'amplitude de cet échantillon courant, en valeur absolue,
    - à l'amplitude, en valeur absolue, d'au moins un échantillon (e(2-T 0)) temporellement positionné sensiblement à une période de répétition avant l'échantillon courant,
    et en affectant à l'échantillon courant l'amplitude minimale, en valeur absolue, parmi ces deux amplitudes.
  4. Procédé selon la revendication 3, caractérisé en ce que, pour un échantillon courant (e(3)) de la dernière période de répétition :
    - on constitue un ensemble d'échantillons (75) dans un voisinage centré autour d'un échantillon (e(3-T 0)) temporellement positionné à une période de répétition avant l'échantillon courant,
    - on détermine une amplitude choisie (76) parmi les amplitudes des échantillons dudit voisinage, prises en valeur absolue,
    - et on compare cette amplitude choisie à l'amplitude de l'échantillon courant, en valeur absolue, pour affecter (77) à l'échantillon courant (e(3)) l'amplitude minimum, en valeur absolue, parmi l'amplitude choisie et l'amplitude de l'échantillon courant.
  5. Procédé selon la revendication 4, caractérisé en ce que l'amplitude choisie parmi les amplitudes des échantillons dudit voisinage est l'amplitude maximum en valeur absolue (M).
  6. Procédé selon l'une des revendications précédentes, dans lequel on applique un amortissement de l'amplitude des échantillons dans ledit bloc de remplacement, caractérisé en ce qu'on détecte un éventuel caractère transitoire du signal dans la dernière période de répétition et, le cas échéant, la correction de l'étape b) est effectuée en appliquant un amortissement plus rapide que pour un signal stationnaire.
  7. Procédé selon la revendication 6, prise en combinaison avec l'une des revendications 3 et 4, caractérisé en ce que :
    - pour une pluralité d'échantillons courants de la dernière période de répétition, on mesure un rapport, en valeur absolue, de l'amplitude d'un échantillon courant sur ladite amplitude choisie, et
    - on compte le nombre d'occurrences, pour lesdits échantillons courants, pour lesquelles ledit rapport est supérieur à un premier seuil prédéterminé, et
    - on détecte la présence d'un caractère transitoire si le nombre d'occurrences est supérieur à un second seuil prédéterminé.
  8. Procédé selon l'une des revendications précédentes, caractérisé en ce que, dans le cas d'une réception d'une pluralité de blocs invalides consécutifs s'étendant sur au moins une période de répétition, l'étape de correction d'échantillons b) est appliquée à tous les échantillons de la dernière période de répétition, pris un à un en tant qu'échantillon courant.
  9. Procédé selon la revendication 8, caractérisé en ce que, dans le cas d'une réception d'une pluralité de blocs invalides consécutifs s'étendant sur plusieurs périodes de répétition, pour remplacer ladite pluralité de blocs invalides, on recopie plusieurs fois la période de répétition corrigée à l'étape b) pour former les blocs de remplacement.
  10. Programme d'ordinateur destiné à être stocké en mémoire d'un dispositif de synthèse d'un signal audionumérique, caractérisé en ce qu'il comporte des instructions adaptées pour la mise en oeuvre du procédé selon l'une des revendications 1 à 9 lorsqu'il est exécuté par un processeur d'un tel dispositif de synthèse.
  11. Dispositif de synthèse d'un signal audionumérique constitué d'une succession de blocs, comportant:
    - une entrée (E) pour recevoir des blocs du signal (e(n)), précédant au moins un bloc courant à synthétiser, et
    - une sortie (S) pour délivrer le signal synthétisé (emod(n)) et comportant au moins ledit bloc courant,
    caractérisé en ce qu'il comporte des moyens (MEM, PROC) adaptés pour la mise en oeuvre du procédé selon l'une des revendications 1 à 9, pour synthétiser le bloc courant à partir d'au moins un desdits blocs précédents.
  12. Décodeur d'un signal audionumérique constitué d'une succession de blocs, caractérisé en ce qu'il comporte en outre un dispositif (403) selon la revendications 11, pour synthétiser des blocs invalides.
EP07871872A 2006-10-20 2007-10-17 Synthèse de blocs perdus d'un signal audionumérique Active EP2080195B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL07871872T PL2080195T3 (pl) 2006-10-20 2007-10-17 Synteza utraconych bloków cyfrowego sygnału akustycznego

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0609227A FR2907586A1 (fr) 2006-10-20 2006-10-20 Synthese de blocs perdus d'un signal audionumerique,avec correction de periode de pitch.
PCT/FR2007/052189 WO2008096084A1 (fr) 2006-10-20 2007-10-17 Synthèse de blocs perdus d'un signal audionumérique, avec correction de période de pitch

Publications (2)

Publication Number Publication Date
EP2080195A1 EP2080195A1 (fr) 2009-07-22
EP2080195B1 true EP2080195B1 (fr) 2011-03-16

Family

ID=37735201

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07871872A Active EP2080195B1 (fr) 2006-10-20 2007-10-17 Synthèse de blocs perdus d'un signal audionumérique

Country Status (14)

Country Link
US (1) US8417519B2 (fr)
EP (1) EP2080195B1 (fr)
JP (1) JP5289320B2 (fr)
KR (1) KR101406742B1 (fr)
CN (1) CN101627423B (fr)
AT (1) ATE502376T1 (fr)
BR (1) BRPI0718422B1 (fr)
DE (1) DE602007013265D1 (fr)
ES (1) ES2363181T3 (fr)
FR (1) FR2907586A1 (fr)
MX (1) MX2009004211A (fr)
PL (1) PL2080195T3 (fr)
RU (1) RU2432625C2 (fr)
WO (1) WO2008096084A1 (fr)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
JP5456370B2 (ja) * 2009-05-25 2014-03-26 任天堂株式会社 発音評価プログラム、発音評価装置、発音評価システムおよび発音評価方法
US8976675B2 (en) * 2011-02-28 2015-03-10 Avaya Inc. Automatic modification of VOIP packet retransmission level based on the psycho-acoustic value of the packet
JP5932399B2 (ja) * 2012-03-02 2016-06-08 キヤノン株式会社 撮像装置及び音声処理装置
CN105976830B (zh) * 2013-01-11 2019-09-20 华为技术有限公司 音频信号编码和解码方法、音频信号编码和解码装置
FR3001593A1 (fr) * 2013-01-31 2014-08-01 France Telecom Correction perfectionnee de perte de trame au decodage d'un signal.
RU2628144C2 (ru) 2013-02-05 2017-08-15 Телефонактиеболагет Л М Эрикссон (Пабл) Способ и устройство для управления маскировкой потери аудиокадров
US9478221B2 (en) 2013-02-05 2016-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced audio frame loss concealment
BR112015017222B1 (pt) * 2013-02-05 2021-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Método e decodificador configurado para ocultar um quadro de áudio perdido de um sinal de áudio recebido, receptor, e, meio legível por computador
AU2014283389B2 (en) 2013-06-21 2017-10-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for improved concealment of the adaptive codebook in ACELP-like concealment employing improved pulse resynchronization
KR102120073B1 (ko) 2013-06-21 2020-06-08 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 개선된 피치 래그 추정을 사용하여 acelpp-형 은폐 내에서 적응적 코드북의 개선된 은폐를 위한 장치 및 방법
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
ES2805744T3 (es) 2013-10-31 2021-02-15 Fraunhofer Ges Forschung Decodificador de audio y método para proporcionar una información de audio decodificada usando un ocultamiento de errores en base a una señal de excitación de dominio de tiempo
KR101940740B1 (ko) 2013-10-31 2019-01-22 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 시간 도메인 여기 신호를 변형하는 오류 은닉을 사용하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더 및 방법
NO2780522T3 (fr) * 2014-05-15 2018-06-09
US9706317B2 (en) * 2014-10-24 2017-07-11 Starkey Laboratories, Inc. Packet loss concealment techniques for phone-to-hearing-aid streaming
JP6611042B2 (ja) * 2015-12-02 2019-11-27 パナソニックIpマネジメント株式会社 音声信号復号装置及び音声信号復号方法
GB2547877B (en) * 2015-12-21 2019-08-14 Graham Craven Peter Lossless bandsplitting and bandjoining using allpass filters
CN106970950B (zh) * 2017-03-07 2021-08-24 腾讯音乐娱乐(深圳)有限公司 相似音频数据的查找方法及装置
WO2022045395A1 (fr) * 2020-08-27 2022-03-03 임재윤 Procédé de correction de données audio et dispositif d'élimination de plosives

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3369077A (en) * 1964-06-09 1968-02-13 Ibm Pitch modification of audio waveforms
WO1994026036A1 (fr) * 1993-05-04 1994-11-10 Motorola Inc. Appareil et procede permettant d'eliminer le bruit dans un signal de sortie audible
US6597961B1 (en) * 1999-04-27 2003-07-22 Realnetworks, Inc. System and method for concealing errors in an audio transmission
JP2001228896A (ja) * 2000-02-14 2001-08-24 Iwatsu Electric Co Ltd 欠落音声パケットの代替置換方式
US6584438B1 (en) * 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
US20030163304A1 (en) * 2002-02-28 2003-08-28 Fisseha Mekuria Error concealment for voice transmission system
US20030220787A1 (en) * 2002-04-19 2003-11-27 Henrik Svensson Method of and apparatus for pitch period estimation
US7411985B2 (en) * 2003-03-21 2008-08-12 Lucent Technologies Inc. Low-complexity packet loss concealment method for voice-over-IP speech transmission
KR20060011854A (ko) * 2003-05-14 2006-02-03 오끼 덴끼 고오교 가부시끼가이샤 소거된 주기 신호 데이터를 은닉하는 장치 및 방법
JP4135621B2 (ja) * 2003-11-05 2008-08-20 沖電気工業株式会社 受信装置および方法
US8725501B2 (en) * 2004-07-20 2014-05-13 Panasonic Corporation Audio decoding device and compensation frame generation method
WO2008022181A2 (fr) * 2006-08-15 2008-02-21 Broadcom Corporation Mise à jour des états de décodeur après un masquage de perte de paquet

Also Published As

Publication number Publication date
WO2008096084A1 (fr) 2008-08-14
MX2009004211A (es) 2009-07-02
FR2907586A1 (fr) 2008-04-25
US20100318349A1 (en) 2010-12-16
BRPI0718422A2 (pt) 2013-11-12
ES2363181T3 (es) 2011-07-26
CN101627423B (zh) 2012-05-02
JP5289320B2 (ja) 2013-09-11
RU2432625C2 (ru) 2011-10-27
PL2080195T3 (pl) 2011-09-30
EP2080195A1 (fr) 2009-07-22
ATE502376T1 (de) 2011-04-15
KR101406742B1 (ko) 2014-06-12
BRPI0718422B1 (pt) 2020-02-11
KR20090082415A (ko) 2009-07-30
US8417519B2 (en) 2013-04-09
RU2009118929A (ru) 2010-11-27
DE602007013265D1 (de) 2011-04-28
JP2010507121A (ja) 2010-03-04
CN101627423A (zh) 2010-01-13

Similar Documents

Publication Publication Date Title
EP2080195B1 (fr) Synthèse de blocs perdus d'un signal audionumérique
EP2277172B1 (fr) Dissimulation d'erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP1316087B1 (fr) Dissimulation d'erreurs de transmission dans un signal audio
EP2002428B1 (fr) Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant
EP3103116B1 (fr) Extension ameliorée de bande de fréquence dans un décodeur de signaux audiofréquences
EP2080194B1 (fr) Attenuation du survoisement, notamment pour la generation d'une excitation aupres d'un decodeur, en absence d'information
WO2015004373A1 (fr) Facteur d'échelle optimisé pour l'extension de bande de fréquence dans un décodeur de signaux audiofréquences
EP3175444B1 (fr) Gestion de la perte de trame dans un contexte de transition fd/lpd
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
EP3138095B1 (fr) Correction de perte de trame perfectionnée avec information de voisement
EP2005424A2 (fr) Procede de post-traitement d'un signal dans un decodeur audio
EP2203915B1 (fr) Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite
WO2007006958A2 (fr) Procédé et dispositif d'atténuation des échos d'un signal audionumérioue issu d'un codeur multicouches

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

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 HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20091209

RTI1 Title (correction)

Free format text: SYNTHESIS OF LOST BLOCKS OF A DIGITAL AUDIO SIGNAL

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 HU IE IS IT LI LT LU LV MC MT NL 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: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 602007013265

Country of ref document: DE

Date of ref document: 20110428

Kind code of ref document: P

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602007013265

Country of ref document: DE

Effective date: 20110428

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20110316

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2363181

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20110726

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

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

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

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

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

LTIE Lt: invalidation of european patent or patent extension

Effective date: 20110316

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

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

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

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

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

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

REG Reference to a national code

Ref country code: PL

Ref legal event code: T3

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

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

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

Ref country code: IE

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

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

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

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

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

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

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

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20111219

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

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

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602007013265

Country of ref document: DE

Effective date: 20111219

BERE Be: lapsed

Owner name: FRANCE TELECOM

Effective date: 20111031

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

Ref country code: MC

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

Effective date: 20111031

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

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

Ref country code: LI

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

Effective date: 20111031

Ref country code: CH

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

Effective date: 20111031

Ref country code: BE

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

Effective date: 20111031

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

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

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

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

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 12

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

Ref country code: TR

Payment date: 20230927

Year of fee payment: 17

Ref country code: IT

Payment date: 20230920

Year of fee payment: 17

Ref country code: GB

Payment date: 20230920

Year of fee payment: 17

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

Ref country code: PL

Payment date: 20230925

Year of fee payment: 17

Ref country code: FR

Payment date: 20230920

Year of fee payment: 17

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

Ref country code: ES

Payment date: 20231102

Year of fee payment: 17

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

Ref country code: DE

Payment date: 20230920

Year of fee payment: 17