EP2080195A1 - Synthèse de blocs perdus d'un signal audionumérique, avec correction de période de pitch - Google Patents

Synthèse de blocs perdus d'un signal audionumérique, avec correction de période de pitch

Info

Publication number
EP2080195A1
EP2080195A1 EP07871872A EP07871872A EP2080195A1 EP 2080195 A1 EP2080195 A1 EP 2080195A1 EP 07871872 A EP07871872 A EP 07871872A EP 07871872 A EP07871872 A EP 07871872A EP 2080195 A1 EP2080195 A1 EP 2080195A1
Authority
EP
European Patent Office
Prior art keywords
signal
samples
repetition period
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.)
Granted
Application number
EP07871872A
Other languages
German (de)
English (en)
Other versions
EP2080195B1 (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

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.
  • waveform coding methods such as MIC (for "Coded Pulse Modulation") and ADPCM (for "Pulse Modulation and Adaptive Differential Coding"), also known as “PCM” and "ADPCM” in English
  • PCM Coded Pulse Modulation
  • ADPCM Physical Downlink Control Coding
  • a speech signal can be predicted from its recent past (for example from 8 to 12 samples at 8 kHz) using parameters evaluated on short windows (10 to 20 ms in this example).
  • These short-term prediction parameters representative of the vocal tract transfer function (for example to pronounce consonants), are obtained by LPC analysis methods (for
  • Linear Prediction Coding There is also a longer-term correlation associated with quasi-periodicities of speech (for example voiced sounds such as vowels) which are due to the vibration of the vocal cords. It is therefore a question of determining at least the fundamental frequency of the voiced signal which varies typically from 60 Hz (deep voice) to 600 Hz (high voice) according to the speakers.
  • a LTP (Long Term Prediction) analysis determines the LTP parameters of a long-term predictor, and in particular the inverse of the fundamental frequency, often called the pitch period.
  • LTP long-term prediction parameters including the pitch period
  • 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 ITJIT-T standardized G.722 48-, 56- and 64-kbit / s coding system for the transmission of broadband speech signals (which are sampled at 16 kHz).
  • 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”
  • 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 in high 102 and low 100 frequencies and subsampling 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, respectively indicating a rate of 6.5 or 4 bits per sample, while the high-band ADPCM encoder rate is fixed (two bits per second). sample).
  • At the decoder there are the equivalent ADPCM decoding blocks (blocks 106 and 107) whose outputs are combined in the receiving QMF filter bank (oversampling 108 and
  • bit stream resulting from the coding is generally formatted in binary blocks for transmission on many types of networks. For example, there is talk of "IP packets" (for "Internet Protocol”) for blocks transmitted via the Internet, "frames” for blocks transmitted over ATM networks (for "Asynchronous Transfer Mode”), or others.
  • IP packets for "Internet Protocol”
  • frames for blocks transmitted over ATM networks (for "Asynchronous Transfer Mode"), or others.
  • the blocks transmitted after coding can be lost for various reasons: - if a router of the network is saturated and empties its queue,
  • 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 includes state restoration, 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).
  • FIGS. 2a and 2b illustrate this acoustic effect in the case of an expanded band signal encoded by an encoder according to Recommendation G.722. More particularly, 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.
  • Figure 2b shows the signal decoded according to a technique similar to Serizawa et al reference above when a frame loss immediately follows the ItI phoneme. This figure
  • the present invention improves the situation.
  • the method proposes a method for synthesizing a digital audio signal represented by successive blocks of samples, in which, on receiving such a signal, to replace at least one invalid block, a replacement block is generated at from samples of at least one valid block.
  • the method comprises the following steps: a) defining a repetition period of the signal in at least one valid block, and b) copying the samples of the repetition period into at least one replacement block.
  • step a) a last repetition period is determined in at least one valid block immediately preceding an invalid block, and in step b), samples of the last repetition period based on samples of a previous repetition period, and this to limit the amplitude of a possible transient signal that would be present in the last repetition period. The samples thus corrected are then copied back into the replacement block.
  • 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.
  • the amplitude of this current sample is compared with the amplitude, in absolute value, of at least one sample temporally positioned substantially at a repetition period before the current sample, and we assign to the current sample the minimum amplitude, in absolute value, among these two amplitudes, while also affecting, of course, the sign of its initial amplitude.
  • positioned substantially is understood here to mean the fact that a neighborhood to be associated with the current sample is sought in the preceding repetition period.
  • a set of samples is formed in a neighborhood centered around a sample temporally positioned at a repetition period before the current sample, an amplitude chosen from the amplitudes of the samples of said neighborhood, taken into absolute value, and comparing this selected amplitude with the amplitude of the current sample, in absolute value, to assign to the current sample the minimum amplitude, in absolute value, among the selected amplitude and the amplitude of the current sample .
  • 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 detection of a transient signal preceding the block loss is as follows: for a plurality of current samples of the last repetition period, to measure a ratio, in absolute value, of the amplitude of a sample running on the aforementioned chosen amplitude (determined in the vicinity as indicated above), and - then counting the number of occurrences, for the current samples, for which the above-mentioned ratio is greater than a first predetermined threshold (a value close to 4 for example, as will be seen later), and detect the presence of a transient signal if the number of occurrences is greater than a second predetermined threshold (for example if there is more than one occurrence, as will be seen later).
  • a first predetermined threshold a value close to 4 for example, as will be seen later
  • a second predetermined threshold for example if there is more than one occurrence, as will be seen later.
  • 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).
  • FIG. 2c illustrates, by way of comparison, the effect of the treatment in the sense of the invention on the same signal as that of FIGS. 2a and 2b, for which a TP frame has been lost, FIG.
  • FIG. 3 represents the decoder according to recommendation G .722, but modified by integrating a device for correcting erased frames in the sense of the invention
  • FIG. 4 illustrates the principle of extrapolation of the low band
  • FIG. 5 illustrates the principle of pitch repetition (in the field of excitation)
  • Figure 6 illustrates the modification of the excitation signal in the sense of the invention, followed by pitch repetition
  • Figure 7 illustrates the steps of the method of the invention, according to a particular embodiment
  • Figure 8 ill schematically a synthesis device for the implementation of the method in the sense of the invention
  • Figure 8a illustrates the general structure of a quadrature filter bank (QMF) with two channels
  • QMF quadrature filter bank
  • the decoder within the meaning of the invention again presents an architecture in two subbands with the reception QMF filter banks (blocks 310 to 314).
  • the decoder of 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). In the high band, this bias can result, among other artefacts, 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.
  • Figure 8a shows a two-channel quadrature filter bank (QMF).
  • QMF quadrature filter bank
  • 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). These signals are defined by their transform in z:
  • H (z) L (-z). If L (z) satisfies the constraints of perfect reconstruction, 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) may be, for example, the QMF filters of 24 coefficients specified in the ITU-T Recommendation.
  • Figure 8b shows the spectrum of the signals x (n), x1 (n) and xh (n) in the case where the filters L (z) and H (z) are ideal half-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 L (z) and H (z) filters are not ideal. Their non-ideal nature 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.
  • 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. Indeed, in case of 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).
  • the decoder object of FIG. 3 is not described in greater detail, it being understood that the invention is in particular implemented in the block 301 for extrapolation of the low band.
  • This block 301 is detailed in FIG.
  • 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.
  • LPC coefficients (noted hereinafter at 0 , a1s ..., a p ) are obtained in the form:
  • the past excitation signal is calculated by block 401.
  • Block 402 makes an estimate of the fundamental frequency or its inverse: the pitch period TQ. 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 estimated pitch TQ is used by block 403 to extrapolate the excitation of the current frame.
  • the passed signal x1 is classified in 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.
  • the SYNTH synthesis follows the well-known model in the state of the art and called "source-filter". It consists in filtering the excitation extrapolated by an LPC filter.
  • the signal obtained is attenuated by the block 407 as a function of an attenuation calculated in the block 406, to be finally delivered in yl.
  • the invention as such, is carried out by block 403 of FIG. 4, whose functions are described in detail below.
  • FIG. 5 shows, as an illustration, the principle of simple excitation repetition as performed in the state of the art.
  • the excitation can be extrapolated by simply repeating the last pitch period TQ, 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.
  • FIG. 7 shows the processing corresponding to the application of this formula, in flowchart form, to illustrate the steps of the method according to one embodiment of the invention.
  • the processing corresponding to the application of this formula, in flowchart form, to illustrate the steps of the method according to one embodiment of the invention.
  • the past signal e (n) that delivers the block 401.
  • 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), the last pitch period of the valid blocks, as is, is copied into the block 403 of FIG. 4 and the processing continues directly thereafter by the application of the inverse filtering 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.
  • step 74 the third sample of the last pitch period noted e (3) is selected (step 74) and the NEIGH neighborhood samples associated with it in the penultimate pitch period (step 75) are shown in bold and are e (2-7O), e (3-7O) and e (4-7O). They are therefore distributed around e (3-7O).
  • step 76 the maximum, in absolute value, is determined among the NEIGH neighborhood samples (ie the sample e (2-7O) in the example of FIG. 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-7O) is indeed the sample of the penultimate pitch period e (2-7O).
  • 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-7O).
  • the same method is applied to all the samples of the last period, from e (l) to e (12).
  • the corrected samples are represented by dashed lines.
  • the samples of pitch periods extrapolated T ) + ⁇ , T ) + 2, corrected according to the invention, are represented by closed arrows.
  • 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 too much the amplitude of the replacement pitch periods r j + 1 , T 3 + 2 (FIG. 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 + 7O) 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-70), if this sample e (n-70) is to be associated with a sample e (n) positioned at a following pitch period.
  • 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 ( ⁇ )).
  • the modified signal e mo d (n) is thus delivered to the inverse filter 1 / A (z) (reference 405 of FIG. 4) for the following decoding.
  • An exemplary embodiment of a transient detection in general, can consist in counting the number of occurrences of the following condition (1):
  • 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
  • FIG. 2c then illustrates the decoded signal when the invention is implemented, for comparison with FIGS. 2a and 2b for which a frame containing the ItI plosive was lost.
  • the repetition of the phoneme ItI is here avoided, thanks to the implementation of the invention.
  • the differences following the frame loss are not related to the actual plosive detection.
  • the attenuation of the signal after the frame loss in FIG. 2c is explained by the fact that in this case, the G.722 decoder is reset (complete update of the states in the block 302 of FIG. ), whereas in the case of Figure 2b, the G.722 decoder is not reset.
  • 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 in the sense of the invention, when it is executed by a processor of such a synthesis device.
  • Figure 7 described above can illustrate a flowchart of such a computer program.
  • the present invention also provides a device for synthesizing a digital audio signal consisting of a succession of blocks.
  • This device could also include a memory storing the aforementioned computer program and could consist of the block 403 of Figure 4 with the features described above.
  • this device SYN comprises: an input E for receiving blocks of the signal e (n), preceding at least one current block to be synthesized, and an output S for delivering the synthesized signal e mod (n) and having at least this synthesized current block.
  • 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 within the meaning of the invention for synthesizing invalid blocks. More generally, 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.
  • step b a sample correction, in step b), followed by copying of the corrected samples into the replacement block (s).
  • step b a 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)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (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

Synthèse de blocs perdus d'un signal audionumérique, avec correction de période de pitch
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 Prédiction"), 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 Prédiction 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 Prédiction"), 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
- Fo 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 ITJIT-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 œuvre 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 Répétition and Internai State Update on the Decoded Speech for the Sub-band ADPCM Wideband Speech Codée", 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 stationnante 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 ItI. 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 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 : a) définir une période de répétition du signal dans au moins un bloc valide, et 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'un 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 œuvre 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 œuvre 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 œuvre 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/e=2/e).
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- Régressive 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 artefacts, 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) = ^(x(zιl2)L(zιl2) + X(-zιl2)L(-z112))
XH(z) = ^(x(zιl2)H(zιl2) + X(-zυ2)H(-zυ2))
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:
WiA [1 0* au |/tr|emΛenVt4
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 fe) 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 œuvre 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, als ..., ap) sous la forme :
A(z) = ao + ai z"1 + ... + ap z"p avec p = 8 et ao = 1. 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 TQ. 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 TQ ainsi estimé est utilisé par le bloc 403 pour extrapoler l'excitation de la trame courante.
Par ailleurs, le signal passé xl est classifïé 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 œuvre. 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) (ou maintenant n=0,..., L-I, 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 TQ, 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 T0.
En se référant maintenant à la figure 6, avant de répéter la dernière période de pitch TQ, on modifie cette dernière, au sens de l'invention, comme suit.
Pour chaque échantillon n= -TQ, ...,-1, l'échantillon e(n) est modifié en emod(n) suivant une formule du type :
"mod (n) = +j)|), e(n)|) x sign(e(w))
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 T0 (é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 T0, avec n compris entre H1 -T0 + ! et
H1 , e{n^ 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 H1 -T0+! et H1 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+l, 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=l. 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-7O), e(3-7O) et e(4-7O). Ils sont donc répartis autour de e(3-7O).
A l'étape 76, on détermine le maximum, en valeur absolue, parmi les échantillons du voisinage NEIGH (soit l'échantillon e(2-7O) 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-7O) est bien l'échantillon de l'avant-dernière période de pitch e(2-7O). 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-7O). Le même procédé est appliqué à tous les échantillons de la dernière période, de e(l) à 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)+ι, T)+2, corrigés selon l'invention, sont représentés par des flèches fermées.
On comprendra donc que, par la mise en œuvre avantageuse de cette étape 77, si une plosive est bien présente sur la dernière période de pitch T] (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 En revanche, si l'intensité des échantillons de la dernière période de pitch T} est inférieure à celle de l'avant-dernière période 7J-1, en sélectionnant le minimum entre l'échantillon courant e(3) et la valeur d'intensité e(2-r0) dans l'avant-dernière période de pitch T)-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.
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 rj+1, T3+2 (figure 6).
Par ailleurs, l'étape 75, de détermination de voisinage, est mise en œuvre, 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 T0, il n'en est pas toujours de même pour un échantillon e(n+7O) 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-7O), s'il faut associer cet échantillon e(n-7O) à 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 T0 (soit donc jusqu'à arriver au dernier échantillon valide e(^ ) ).
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.
II 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 T3 , d'appliquer cette correction T3 à cette dernière période de pitch T3 et de recopier la correction pour les périodes de pitch suivantes, soit : T3=T3+I=T3+2=Ty Dans une variante, on laisse intacte la dernière période de pitch T3 et on recopie en revanche sa correction T3 dans les périodes de pitch suivantes rj+iet T3+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 :
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 œuvre, à titre de comparaison avec les figures 2a et 2b pour lesquelles une trame comportant la plosive ItI était perdue. La répétition du phonème ItI est ici évitée, grâce à la mise en œuvre 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 œuvre 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 œuvre 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 1A 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 n'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 pour constituer les nouvelles périodes synthétisées 7J+1, 7J+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). Cette réalisation est dans la portée de l'invention.
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

REVENDICATIONS
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, caractérisé en ce que : à l'étape a), on détermine une dernière période de répétition (T)) 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)) en fonction d'échantillons (e(2-T0), e(3-T0), e(4-T0)) d'une période de répétition (T)-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)+1, T)+2).
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-T0)) 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-7O)) 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 le signal audionumérique est un signal de parole, caractérisé en ce que l'on détecte un degré de voisement dans le signal de parole (71), et en ce que les étapes a) et b) sont mises en œuvre si le signal de parole n'est pas voisé ou est faiblement voisé.
7. 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, on applique un amortissement plus rapide que pour un signal stationnaire.
8. Procédé selon la revendication 7, 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é.
9. 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.
10. Procédé selon la revendication 9, 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.
11. 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 pour la mise en œuvre du procédé selon l'une des revendications 1 à 10 lorsqu'il est exécuté par un processeur d'un tel dispositif de synthèse.
12. 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) pour la mise en œuvre du procédé selon l'une des revendications 1 à 10, pour synthétiser le bloc courant à partir d'au moins un desdits blocs précédents.
13. 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 revendication 12, 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 true EP2080195A1 (fr) 2009-07-22
EP2080195B1 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 (22)

* 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 キヤノン株式会社 撮像装置及び音声処理装置
CN103928029B (zh) * 2013-01-11 2017-02-08 华为技术有限公司 音频信号编码和解码方法、音频信号编码和解码装置
FR3001593A1 (fr) * 2013-01-31 2014-08-01 France Telecom Correction perfectionnee de perte de trame au decodage d'un signal.
WO2014123469A1 (fr) 2013-02-05 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Dissimulation améliorée de perte de trame audio
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
MY198868A (en) 2013-02-05 2023-10-02 Ericsson Telefon Ab L M Method and appartus for controlling audio frame loss concealment
RU2665253C2 (ru) 2013-06-21 2018-08-28 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для улучшенного маскирования адаптивной таблицы кодирования при acelp-образном маскировании с использованием улучшенной оценки запаздывания основного тона
MX352092B (es) * 2013-06-21 2017-11-08 Fraunhofer Ges Forschung Aparato y método para mejorar el ocultamiento del libro de códigos adaptativo en la ocultación similar a acelp empleando una resincronización de pulsos mejorada.
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
PT3285254T (pt) 2013-10-31 2019-07-09 Fraunhofer Ges Forschung Descodificador de áudio e método para fornecer uma informação de áudio descodificada utilizando uma ocultação de erro com base num sinal de excitação no domínio de tempo
PT3063759T (pt) 2013-10-31 2018-03-22 Fraunhofer Ges Forschung Descodificador de áudio e método para fornecer uma informação de áudio descodificada utilizando uma dissimulação de erros que modifica um sinal de excitação de domínio de tempo
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
CN116033311B (zh) * 2021-10-26 2025-07-08 珠海市杰理科技股份有限公司 主动降噪方法、装置、电路、设备和系统

Family Cites Families (16)

* 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
JPH05344101A (ja) * 1992-06-09 1993-12-24 Canon Inc データ再生装置
CA2137459A1 (fr) * 1993-05-04 1994-11-10 Stephen V. Cahill Appareil et methode pour reduire de facon substantielle le bruit dans un signal audible
SE503547C2 (sv) * 1993-06-11 1996-07-01 Ericsson Telefon Ab L M Anordning och förfarande för döljande av förlorade ramar
JP3572769B2 (ja) * 1995-11-30 2004-10-06 ソニー株式会社 ディジタルオーディオ信号処理装置および方法
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
CA2388439A1 (fr) * 2002-05-31 2003-11-30 Voiceage Corporation Methode et dispositif de dissimulation d'effacement de cadres dans des codecs de la parole a prevision lineaire
US7411985B2 (en) * 2003-03-21 2008-08-12 Lucent Technologies Inc. Low-complexity packet loss concealment method for voice-over-IP speech transmission
CN100576318C (zh) * 2003-05-14 2009-12-30 冲电气工业株式会社 用于隐藏被擦除的周期信号数据的装置与方法
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
US8024192B2 (en) * 2006-08-15 2011-09-20 Broadcom Corporation Time-warping of decoded audio signal after packet loss

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2008096084A1 *

Also Published As

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

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
EP1051703B1 (fr) Procede decodage d'un signal audio avec correction des erreurs de transmission
EP2080194B1 (fr) Attenuation du survoisement, notamment pour la generation d'une excitation aupres d'un decodeur, en absence d'information
FR3024582A1 (fr) Gestion de la perte de trame dans un contexte de transition fd/lpd
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
WO2016016566A1 (fr) Détermination d'un budget de codage d'une trame de transition lpd/fd
WO2007107670A2 (fr) Procede de post-traitement d'un signal dans un decodeur audio
EP3138095B1 (fr) Correction de perte de trame perfectionnée avec information de voisement
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
EP2232833A2 (fr) Traitement d'erreurs binaires dans une trame binaire audionumerique

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

Payment date: 20250923

Year of fee payment: 19

Ref country code: TR

Payment date: 20250926

Year of fee payment: 19

Ref country code: PL

Payment date: 20250929

Year of fee payment: 19

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

Ref country code: GB

Payment date: 20250923

Year of fee payment: 19

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

Ref country code: FR

Payment date: 20250924

Year of fee payment: 19

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

Ref country code: DE

Payment date: 20250923

Year of fee payment: 19

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

Ref country code: ES

Payment date: 20251103

Year of fee payment: 19