EP2347411B1 - Attenuation de pre-echos dans un signal audionumerique - Google Patents

Attenuation de pre-echos dans un signal audionumerique Download PDF

Info

Publication number
EP2347411B1
EP2347411B1 EP09747881A EP09747881A EP2347411B1 EP 2347411 B1 EP2347411 B1 EP 2347411B1 EP 09747881 A EP09747881 A EP 09747881A EP 09747881 A EP09747881 A EP 09747881A EP 2347411 B1 EP2347411 B1 EP 2347411B1
Authority
EP
European Patent Office
Prior art keywords
sub
signal
attenuation
block
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP09747881A
Other languages
German (de)
English (en)
Other versions
EP2347411A1 (fr
Inventor
Balazs Kovesi
Stéphane RAGOT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP2347411A1 publication Critical patent/EP2347411A1/fr
Application granted granted Critical
Publication of EP2347411B1 publication Critical patent/EP2347411B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • 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/0212Speech 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 orthogonal transformation
    • 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 invention relates to a method and a device for attenuating pre-echoes when decoding a digital audio signal.
  • compression processes for the transport of digital audio signals on the transmission networks, whether for example fixed or mobile networks, or for the storage of signals, compression processes (or source coding) using coding systems of the time coding type or frequency coding by transform.
  • the method and the device which are the subject of the invention, thus have as their field of application the compression of sound signals, in particular frequency-coded digital audio signals.
  • the figure 1 illustrates, by way of illustration, a schematic diagram of the coding and decoding of a digital audio signal by transform including an addition / overlap synthesis analysis according to the prior art.
  • Certain musical sequences such as percussion and certain segments of speech like the plosives (/ k /, / t /, ...), are characterized by extremely sudden attacks which result in very fast transitions and a very strong variation signal dynamics in a few samples.
  • An example of a transition is given to the figure 1 from sample 410.
  • the input signal is cut into blocks of samples of length L (here represented by dotted vertical lines).
  • the input signal is noted x ( n ).
  • L 160 samples.
  • the division in blocks, also called frames, operated by the transform coding is totally independent of the sound signal and the transitions appear at any point in the analysis window. But after transform decoding, the reconstructed signal is tainted by "noise” (or distortion) generated by the quantization (Q) -quantization inverse (Q -1 ) operation.
  • This coding noise is temporally distributed in a relatively uniform manner over the entire temporal support of the transformed block, that is to say over the entire length of the window of length 2L of samples (with overlap of L samples).
  • the energy of the coding noise is generally proportional to the energy of the block and is a function of the decoding rate.
  • the level of the coding noise is lower than that of the signal for the high energy samples that immediately follow the transition, but the level is higher than that of the signal for the lower energy samples, especially on the part preceding the transition (samples 160 - 410 of the figure 1 ).
  • the signal to noise ratio is negative and the resulting degradation, can appear very troublesome to listen.
  • Pre-echo is the coding noise prior to the transition and post-echo the noise after the transition.
  • the human ear also performs a post-masking of a longer duration, from 5 to 60 milliseconds, during the passage of high energy sequences to low energy sequences.
  • the rate or level of inconvenience acceptable for post-echoes is therefore greater than for pre-echoes.
  • a first solution is to apply adaptive filtering.
  • the reconstituted signal consists in fact of the original signal and the quantization noise superimposed on the signal.
  • the aforementioned filtering process does not allow to find the original signal, but provides a strong reduction of pre-echoes. However, it requires to transmit additional auxiliary parameters to the decoder.
  • a technique that does not require the transmission of auxiliary parameters is described in the French patent application FR 06 01466 .
  • the described method allows discriminating the presence of pre-echoes and attenuating the pre-echoes of a hierarchically coded digital audio signal (generating a multilayer binary stream) from a transform coding, generating pre-echo, and a time coding, not generating pre-echoes.
  • This patent application more specifically describes the decoder detection of a low energy zone preceding a transition to a high energy zone, the attenuation of the pre-echoes in the detected low energy zones and the inhibition of the attenuation.
  • pre-echoes in the area of high energy The treatment for attenuating the pre-echoes is based on a comparison between the signal resulting from a decoding by transform (generating pre-echoes) and a signal resulting from a temporal decoding (non-echo generator).
  • This technique does not require specific auxiliary information transmission from the coder but requires the presence of a reference signal from a time decoding.
  • All decoders using transform decoding do not necessarily have a reference signal from time decoding. Moreover, in the case where such a reference signal is available at the decoder, it is not always suitable for calculating the attenuation of pre-echoes.
  • a stereo scalable encoder for example the stereo extension of ITU-T G.729.1, can operate as described below.
  • the encoder calculates the average of the two left and right channels of the stereo signal, then codes this average by the G.729.1 encoder, and finally transmits additional parameters of stereo extension.
  • the bitstream transmitted to the decoder thus includes a G.729.1 layer with additional layers of stereo extension.
  • an additional first layer has parameters reflecting the difference in energy per subband (in the transformed domain) between the two channels of the stereo signal.
  • a second layer comprises, for example, the transformed coefficients of the residual signal, defined as the difference between the original signal and the signal decoded from the G.729.1 bit stream and the first layer.
  • the G.729.1 decoder in extended mode first decodes the mono signal and finds, according to the transmitted parameters, the transformed coefficients of the two left and right channels.
  • the decoding of the mono signal by a G.729.1 decoder provides a reference signal based on the average of the two channels. In the case where the difference in levels between the two channels is large, the time envelope of the mono signal will then be small relative to the output of the inverse transform of the higher level channel and strong compared to the output of the transform. inverse of the lower level channel.
  • the attenuation factor is defined on characteristics specific to the decoded signal that do not require transmission of information from the encoder or signal derived from non-echo-generating decoding.
  • a factor adapted to each sub-block of the current frame and calculated from the reconstructed signal makes it possible to improve the quality of the pre-echo attenuation processing.
  • the concatenated signal can be defined from the reconstructed signal of the current frame and the second part of the current frame as defined later with reference to the figure 2 .
  • the method does not introduce time delay.
  • the concatenated signal is defined as the reconstructed signal of the current frame and the next frame.
  • the concatenated signal can be physically stored at different locations by sub-blocks.
  • a minimum value is set for an attenuation value of the factor as a function of the temporal envelope of the reconstructed signal of the previous frame.
  • the time envelope of the reconstructed signal of the preceding frame can for example be determined by calculating the minimum energy per sub-block or by calculating the average energy or any other calculation.
  • the attenuation factor is determined according to the temporal envelope of said sub-block, the maximum of the temporal envelope of the sub-block comprising said transition and the temporal envelope. of the reconstructed signal of the previous frame.
  • the time envelope is determined by a calculation of energy by sub-blocks.
  • the method further comprises a step of calculating and storing the temporal envelope of the current frame after the attenuation step in the determined sub-blocks.
  • This time envelope calculation will therefore be used to process the next frame. This calculation is precise since the signal is no longer disturbed by the pre-echoes.
  • an attenuation factor of value 1 is assigned to the samples of said sub-block comprising the transition as well as to the samples of the following sub-blocks in the current frame.
  • Attenuation is therefore inhibited in these sub-blocks which do not include pre-echoes.
  • This particular embodiment has proved particularly effective and is simple to implement.
  • the method provides for the determination of a smoothing function between the calculated factors sample by sample.
  • a factor correction is performed for the sub-block preceding the sub-block having a transition, by applying an attenuation inhibiting attenuation value, to the attenuation factor applied to a predetermined number. samples of the sub-block preceding the sub-block having a transition.
  • the invention relates to a decoder of a digital audio signal comprising a device as described above.
  • Such a decoder can for example be a G.729.1-SWB / stereo decoder studied in Question 23 of ITU-T, Commission 16.
  • the invention can be integrated in such a decoder in stereo mode or in SWB mode (for "super wide band” English).
  • the invention is directed to a computer program comprising code instructions for implementing the steps of the attenuation method as described, when these instructions are executed by a processor.
  • the figure 2 represents a frame of the decoded signal as well as the configuration of the reconstructed recovery signal as described with reference to FIG. figure 1 .
  • the intermediate signal comprises an antisymmetrical portion and a symmetrical portion.
  • the pre-echo attenuation method generates a concatenated signal [x rec, N (0). X ,,,,, N (L-1) x cur2h, N (0) ... x cur2h, N (L-1)], from the reconstructed signal of the current frame x rec, N (n) and the signal of the second part of the current frame upgraded x cur2h, N (n).
  • This concatenated signal is divided into sub-blocks of samples of determined length, here an even number.
  • the method determines the sub-blocks of the current block requiring attenuation of pre-echoes.
  • the attenuation method also includes a step of calculating the attenuation factor to be applied to the determined sub-blocks. The calculation is performed for each of the sub-blocks as a function of the temporal envelope of the concatenated signal.
  • This calculation can also be performed in addition to the time envelope of the reconstructed signal of the previous frame.
  • An attenuation device 100 includes a module 101 for defining a concatenated signal, a module 102 for dividing the concatenated signal into sub-blocks, a module 103 for calculating temporal envelope of the concatenated signal, a detection unit 104 transition from the time envelope to a high energy area and determination of the low energy sub-blocks preceding a sub-block in which a transition has been detected and an attenuation module 105 in the determined sub-blocks.
  • the attenuation module is able to apply an attenuation factor to the sub-blocks determined by the module 104, the attenuation factor being determined by the attenuation module as a function of the time envelope of the concatenated signal.
  • the attenuation device is included in a decoder comprising an inverse quantization module 110 (Q -1 ), an inverse transform module 120 (MDCT -1 ), an add / overlap signal reconstruction module 130 (add / rec) as described with reference to figure 1 and delivering a reconstructed signal to the attenuation device according to the invention.
  • the Figures 4a and 4b illustrate examples of signals with transitions or attacks in the signal.
  • the pre-echo phenomenon exists when the energy of a part of the signal in an MDCT window is significantly higher (attack) than that of the other parts.
  • the pre-echo is then observed in the low energy parts before the attack. It is therefore in this part that the pre-echoes must be attenuated.
  • attack or the transition of the signal is in the current frame (L first samples) or in the next frame (L following samples) corresponding to the second part of the current frame as represented in figure 2 .
  • the figure 4a represents a signal concatenated with an attack of the signal in the second part of the current frame.
  • the second part of the current frame is symmetric by property of the inverse transform MDCT. Indeed according to the invention the pre-echoes are attenuated without introducing additional delay in the transform decoding.
  • the pre-echo attenuation method according to the invention delivers pre-echo attenuation factors for each sample of the frame. This process will now be described with reference to figures 5 and 6 .
  • the organization chart represented in figure 5 illustrates the different stages of calculation of the attenuation factor according to the invention for a current frame.
  • step 201 the time envelope of the reconstructed signal of the current frame is calculated and in step 202, the temporal envelope of the second part of the updated current frame is calculated.
  • the temporal envelope is for example obtained by calculating the energy by sub-blocks as described with reference to the figure 6 . It can be obtained by other methods, for example by calculating the average of the absolute values of the signal by sub-blocks, or else the maximum value or the median value of each sub-block.
  • the envelope can also be obtained for example as a Teager-Kaiser type operator followed by a low-pass filtering. In any case, it is assumed here, without loss of generality, that the temporal envelope is defined with a temporal resolution of one value per sub-block, the size of the sub-blocks being flexible.
  • an attenuation factor function is defined from the envelopes of the current frame defined in steps 201 and 202 and from the envelope of the reconstructed signal of the previous frame (T env (x rec, N-1 (n)).
  • the optional step 204 defines a smoothing function on the obtained values of the attenuation factor in order to avoid discontinuities that could be revealed in the processed signal.
  • step 302 the energy En (k) of the K 2 sub-blocks of the reconstructed signal x rec, N (n) is calculated.
  • step 303 the energy of each sub-block of the second part of the current frame being upgraded x cur2h, N (n), is calculated. Only K 2/2 values are different because of the symmetry of this part of the signal as represented in figure 4a .
  • step 305 a loop counter is initialized.
  • the sub-block of index ind1 is determined at 307 to have an attenuation factor g (k) as a function of its energy En (k). max maximum energy in and of the average energy of the reconstructed signal of the previous frame x rec, N-1 and this factor is assigned in 308 to all the samples of the sub-block.
  • step 310 the index of the first sample of the sub-block is calculated at maximum energy.
  • step 311 it is checked whether it is less than the length of the frame. If so, the maximum energy sub-block is in the current frame and the factor 1, ie, a value inhibiting attenuation, is assigned to all samples from the beginning of the sub-block to the current frame. at the end of the frame in the loop of steps 311-312-313.
  • step 314 the average energy of the reconstructed current frame, that is to say the first K 2 blocks of the reconstructed signal x rec, N ( n ), is calculated and stored. It will be used in the following frame for the calculation of the new factors.
  • a factor smoothing function is determined and applied sample by sample to avoid abrupt factor variations.
  • the last attenuation factor obtained for the last sub-block to be attenuated of the current frame is stored for use in the next frame in step 315.
  • smoothing functions are possible, such as, for example, a linear transition between the two factor values, either with a constant slope (for example in steps of 0.05) or with a fixed length (for example, on 16 samples).
  • the step 307 for calculating the attenuation factor for a sub-block is now detailed in a particular embodiment of the invention with reference to FIG. figure 7 .
  • the ratio max / en (k) of the maximum energy determined in step 304 on the energy of the sub-block treated is first calculated in step 401.
  • S1 is fixed at 16 in the example, this value being optimized experimentally.
  • the factor is then set at step 403 at an attenuation inhibiting attenuation value, i.e. 1.
  • step 404 it is tested in step 404 if the ratio r is less than or equal to a second threshold S2.
  • S2 is set at 32 in the example, this value being optimized experimentally.
  • the risk of pre-echo is then maximum and is applied in step 406 a strong attenuation value to the factor, for example 0.1.
  • the frame that precedes the pre-echo frame has a homogeneous energy that corresponds to the energy of the background noise at that time. According to the experience it is not useful or even desirable that the signal energy becomes lower than the average energy of the previous frame after pre-echo processing.
  • a limit value of the lim r factor r is calculated with which the given sub-block is obtained exactly the same energy as the average energy of the previous frame. Then at step 408, this value is limited to a maximum of 1 since the attenuation values are of interest here.
  • the thus obtained lim value g serves as the lower limit in the final calculation of the attenuation factor at step 409.
  • a rate characteristic of the transmitted signal may be taken into account. Indeed, in a low-rate transmission, the quantization noise is generally important, which increases the risk of annoying pre-echo. In contrast, at very high speed, the coding quality can be very good and no pre-echo attenuation is necessary.
  • the rate information can therefore be taken into account in determining the attenuation factor.
  • the figures 8a and 8b illustrate the implementation of the attenuation method of the invention in a typical example.
  • the signal is sampled at 8 kHz, the frame length is 160 samples and each frame is divided into 4 sub-blocks of 40 samples.
  • part b) of the figure 8a the result of decoding (only the left channel) without pre-echo processing is shown.
  • Part c. Shows the evolution of the pre-echo attenuation factor (continuous line) obtained by implementing the method according to the invention.
  • the dotted line represents the factor before smoothing.
  • Part d. Illustrates the result of the decoding after application of the pre-echo processing (multiplication of the signal b.) With the signal c.)). We see that the pre-echo has been removed.
  • the figure 8b illustrates the same typical example for which an implementation of an alternative embodiment of the attenuation method according to the invention is carried out.
  • Part c. figure 8b give an example of such a correction.
  • the value of factor 1 has been assigned to the last 16 samples of the sub-block preceding the sub-block with the attack, starting from index 344.
  • the smoothing function gradually increases the factor to have a value close to 1 at the time of the attack.
  • the amplitude of the attack is then preserved.
  • the difficulty of this method is to know, in the frame that precedes the frame including the attack, whether the attack is in the first sub-block or not.
  • the factor 1 value must be assigned to the last samples of the frame.
  • the problem is that on the concatenated signal the position of the attack can not be determined with certainty due to the symmetry of this part of the concatenated signal which in fact reflects the well-known "time folding" property of the MDCT transform .
  • the figures 9 and 10 illustrate the concatenated signal corresponding to the second frame of figures 8a and 8b .
  • One solution is to always assign the factor value to 1 to the last samples of the frame if the attack is detected in the 4 th sub-block of the concatenated signal. If in the next frame, the attack is in the first sub-block (case of the figure 11 ) the operation is then optimal. On the other hand, when the attack is in the 4 th sub-block (case of the figure 12 ), the attenuation is suboptimal because around the end of the frame, the pre-echo attenuation factor increases to 1 for a few samples and then drops back to the correct attenuation level at the beginning of the next frame. The subjective impact of this sub-optimality is low because when the attack is in the 4 th sub-block of the following frame its amplitude is well diminished by the analysis windowing. The pre-echo caused by this attack is weak.
  • the method of the invention uses a particular example of calculating the beginning of the attack (search for the maximum energy per sub-block) but can work with any other method of determining the beginning of the attack.
  • the method which is the subject of the invention mentioned above applies to the attenuation of the pre-echoes in any transform coder which uses an MDCT filter bank or any real or complex value perfect reconstruction filter bank, or the banks of almost perfect reconstruction filters as well as filter banks using the Fourier transform or the wavelet transform.
  • the pre-echo reduction method then applies directly to the reconstructed signal and no longer to the concatenated signal which is hybridized between reconstructed signal / intermediate signal with temporal folding.
  • the transition detection, attenuation factor calculation and pre-echo reduction means described above apply.
  • the concatenated signal is not defined explicitly, it is always possible to use the reconstructed signal at the current frame and an intermediate signal of the inverse MDCT to perform the operations described above.
  • FIG. 13a An example of a stereo signal encoder is described with reference to the figure 13a .
  • a suitable decoder comprising an attenuation device according to the invention is described with reference to the figure 13b .
  • the figure 13a shows an example of an encoder, for which stereo information is transmitted by frequency band and is decoded in the frequency domain.
  • a mono signal M is calculated from the input signals of the left channel L and the right channel R by die-stamping means 500.
  • the encoder also integrates time-frequency transformation means 502, 503 and 504 capable of producing a transform, for example a discrete Fourier Transform or DFT (of the English "Discrete Fourier Transform"), an MDCT transform (of the “Modified Discrete Cosine Transform”), an MCLT (Modulated Complex Lapped Transform).
  • a discrete Fourier Transform or DFT of the English "Discrete Fourier Transform”
  • MDCT transform of the "Modified Discrete Cosine Transform”
  • MCLT Modulated Complex Lapped Transform
  • the mono signal M is also quantized and coded by the means 501, for example by the G.729.1 coder standardized in ITU-T.
  • This module delivers the binary bit stream bst 1 and also the decoded mono signal M transformed in the frequency domain.
  • the module 505 performs the stereo parametric coding from the frequency signals L, R, and M and the decoded signal M. It delivers the first optional extension layer of the bit stream bst 2 and the two channels of the decoded stereo signal L and R obtained by decoding the two layers bst 1 and bst 2 .
  • the stereo residual signal in the frequency domain is calculated by the means 506 and 507 and encoded by the coding means 508 and the second optional extension layer of the bitstream bst 3 is obtained.
  • the encoded heart signal bst 1 and the optional extension layers bst 2 and bst 3 are transmitted to the decoder.
  • the figure 13b shows an example of a decoder capable of receiving the encoded heart signal bst 1 and the optional extension layers bst 2 and bst 3 .
  • Decoding means 600 make it possible to decode the binary bit stream bst 1 and to obtain the decoded mono signal M. If the first optional extension layer bst 2 is available it can be decoded by the parametric stereo decoding means 601 to build the decoded stereo signal L and R from the mono decoded signal M. Otherwise, L and R will be equal to M.
  • the second optional extension layer bst 3 When the second optional extension layer bst 3 is also available it is decoded by the decoding means 602 to obtain the stereo residual signal in the frequency domain. This is in addition to the decoded stereo signal L and R to increase the accuracy of the frequency representation of the signal. Otherwise, when this second extension layer is not available L and R remain unchanged.
  • the figure 14a shows an exemplary encoder of the super-wide band extension of a G.729.1 type wideband encoder.
  • the super-wideband input signal S 32 is downsampled by the subsampling means 700 to obtain an expanded band signal S 16 .
  • This signal is quantized and coded by the means 701 for example by the ITU G.729.1 coder.
  • This module delivers the binary bit stream bst 1 and also the decoded broadband signal ⁇ 16 in the frequency domain.
  • the super-wideband input signal S 32 is transformed in the frequency domain by the transformation means 704.
  • the frequencies of the high band (7000 -14000Hz band) that are not coded in the enlarged band portion will be encoded by the means of transmission. This coding is based on the spectrum of the decoded broadband signal ⁇ 16 .
  • the coded parameters constitute the first optional extension of the bst 2 binary train.
  • An optional second layer of the bit stream bst 3 provided by the coding means 705 contains the parameters for improving the quality of the enlarged band (50-7000 Hz).
  • the decoder of the figure 14b represents a super-wideband decoder (50-14000 Hz) corresponding to the encoder of the figure 14a .
  • the binary bit stream bst 1 is decoded by a G.729.1 type wideband encoder (module 800).
  • the spectrum of the broadband decoded signal is thus obtained. This spectrum is possibly improved by the decoding at 801 of the second extension layer optional bst 3 .
  • the module 801 also includes the frequency-time transformation of the broadband signal.
  • the present invention does not intervene in this frequency-time transformation to reduce the pre-echoes because here we have the echo-free time signals (CELP and TDBWE components of the G.729.1 coder) and therefore the technique described in the French patent application. FR 06 01466 can be applied.
  • the decoded broadband signal is then oversampled by a factor of 2 in the oversampling means 802.
  • the first optional extension layer bst 2 When the first optional extension layer bst 2 is available at the decoder, it is decoded by the decoding means 803.
  • This decoding is based on the spectrum of the decoded broadband signal ⁇ 16 .
  • the spectrum thus obtained contains the non-zero values only in the 7000-14000 Hz frequency zone not coded by the enlarged band part. In this configuration, between 7000 and 14000 Hz, therefore, there are no reference signals without pre-echo.
  • the attenuation device according to the invention is therefore implemented.
  • the time signal is obtained by frequency-time inverse transformation by the module 504.
  • the addition / recovery reconstruction module provides a reconstructed signal.
  • the reduction of the pre-echoes according to the present invention is carried out by the attenuation module 807 as described with reference to FIG. figure 3 .
  • the signal after inverse transformation MDCT contains only frequencies higher than 7000 Hz.
  • the temporal envelope of this signal can therefore be determined with a very high precision, which increases the efficiency of the attenuation. pre-echoes by the attenuation method of the invention.
  • this device 100 in the sense of the invention typically comprises a ⁇ P processor cooperating with a memory block BM including a storage and / or working memory, and a memory buffer MEM mentioned above as a means for storing, for example the time envelope of the frame current attenuation factor calculated for the last sample of the current frame, the energy of the sub-blocks of the current frame or any other data necessary for the implementation of the attenuation method as described with reference to the Figures 5 to 7 .
  • This device receives as input successive frames of the digital signal Se and delivers the reconstructed signal Sa with attenuation of pre-echoes if necessary.
  • the memory block BM may comprise a computer program comprising the code instructions for implementing the steps of the method according to the invention when these instructions are executed by a ⁇ P processor of the device and in particular a step of defining a concatenated signal, from at least the reconstructed signal of the current frame, a step of dividing said concatenated signal into sub-blocks of samples of a determined length, a time envelope calculation step of the concatenated signal, a transition detection step of the temporal envelope to a high energy area, a step of determining the low energy sub-blocks preceding a sub-block in which a transition has been detected and an attenuation step in the determined sub-blocks.
  • the attenuation is performed according to an attenuation factor calculated for each of the determined sub-blocks, as a function of the temporal envelope of the concatenated signal.
  • the Figures 5 to 7 can illustrate the algorithm of such a computer program.
  • This attenuation device can be independent or integrated into a digital signal decoder.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • L'invention concerne un procédé et un dispositif d'atténuation des pré-échos lors du décodage d'un signal audionumérique.
  • Pour le transport des signaux audionumériques sur les réseaux de transmission, qu'il s'agisse par exemple de réseaux fixes ou mobiles, ou pour le stockage des signaux, on fait appel à des processus de compression (ou codage source) mettant en oeuvre des systèmes de codage du type codage temporel ou codage fréquentiel par transformée.
  • Le procédé et le dispositif, objets de l'invention, ont ainsi comme domaine d'application la compression des signaux sonores, en particulier les signaux audionumériques codés par transformée fréquentielle.
  • La figure 1 représente à titre illustratif, un schéma de principe du codage et du décodage, d'un signal audio numérique par transformée incluant une analyse-synthèse par addition/recouvrement selon l'art antérieur.
  • Certaines séquences musicales, telles que les percussions et certains segments de parole comme les plosives (/k/, /t/, ...), sont caractérisées par des attaques extrêmement brusques qui se traduisent par des transitions très rapides et une variation très forte de la dynamique du signal en l'espace de quelques échantillons. Un exemple de transition est donné à la figure 1 à partir de l'échantillon 410.
  • Pour le traitement de codage/décodage, le signal d'entrée est découpé en blocs d'échantillons de longueur L (représentés ici par des traits verticaux en pointillés). Le signal d'entrée est noté x(n). La découpe en blocs successifs conduit à définir les blocs x N = [x(N.L) ... x(N.L+L-1) ] = [ x N(0) ... x N(L-1)], où N est l'indice de la trame, L est la longueur de la trame. A la figure 1 on a L=160 échantillons. Dans le cas de la transformée modulée en cosinus modifiée MDCT (pour "Modified Discrete Cosine Transform" en anglais), deux blocs xN(n) et xN+1(n) sont analysés conjointement pour donner un bloc de coefficients transformés associés à la trame d'indice N.
  • La division en blocs, aussi appelés trames, opérée par le codage par transformée est totalement indépendante du signal sonore et les transitions apparaissent donc en un point quelconque de la fenêtre d'analyse. Or après décodage par transformée, le signal reconstruit est entaché de "bruit" (ou distorsion) engendré par l'opération quantification (Q)-quantification inverse (Q-1). Ce bruit de codage est réparti temporellement de façon relativement uniforme sur tout le support temporel du bloc transformé, c'est-à-dire sur toute la longueur de la fenêtre de longueur 2L d'échantillons (avec recouvrement de L échantillons). L'énergie du bruit de codage est en général proportionnelle à l'énergie du bloc et est fonction du débit de décodage.
  • Pour un bloc comportant une attaque (comme le bloc 320-340 de la figure 1) l'énergie du signal est élevée, le bruit est donc également de niveau élevé.
  • En codage par transformée, le niveau du bruit de codage est inférieur à celui du signal pour les échantillons de forte énergie qui suivent immédiatement la transition, mais le niveau est supérieur à celui du signal pour les échantillons d'énergie plus faible, notamment sur la partie précédant la transition (échantillons 160 - 410 de la figure 1). Pour la partie précitée, le rapport signal à bruit est négatif et la dégradation résultante, peut apparaître très gênante à l'écoute. On appelle pré-écho le bruit de codage antérieur à la transition et post-écho le bruit postérieur à la transition.
  • On peut observer sur la figure 1 que le pré-écho affecte la trame précédant la transition ainsi que la trame où se produit la transition.
  • Les expériences psycho-acoustiques ont montré que l'oreille humaine effectue un pré-masquage temporel des sons assez limité, de l'ordre de quelques millisecondes. Le bruit précédant l'attaque, ou pré-écho, est audible lorsque la durée du pré-écho est supérieure à la durée du pré-masquage.
  • L'oreille humaine effectue également un post-masquage d'une durée plus longue, de 5 à 60 millisecondes, lors du passage de séquences de forte énergie à des séquences de faible énergie. Le taux ou niveau de gêne acceptable pour les post-échos est donc plus important que pour les pré-échos.
  • Le phénomène des pré-échos, plus critique, est d'autant plus gênant que la longueur des blocs en nombre d'échantillons est importante. Or, en codage par transformée, il est nécessaire d'avoir une résolution fidèle des zones fréquentielles les plus significatives. A fréquence d'échantillonnage fixée et à débit fixé, si on augmente le nombre de points de la fenêtre on disposera de plus de bits pour coder les raies fréquentielles jugées utiles par le modèle psycho acoustique, d'où l'avantage d'utiliser des blocs de grande longueur. Le codage MPEG AAC (Advanced Audio Coding), par exemple, utilise une fenêtre de grande longueur qui contient un nombre fixe d'échantillons, 2048, soit sur une durée de 64 ms à une fréquence d'échantillonnage de 32 kHz. Les codeurs par transformée utilisés pour les applications conversationnelles utilisent souvent une fenêtre de durée 40 ms à 16 kHz et une durée de renouvellement de trame de 20 ms.
  • Dans le but de réduire l'effet gênant précité du phénomène des pré-échos différentes solutions ont jusqu'ici été proposées.
  • Une première solution consiste à appliquer un filtrage adaptatif. Dans la zone précédant la transmission due à l'attaque, le signal reconstitué est en fait constitué du signal original et du bruit de quantification superposé au signal.
  • Une technique de filtrage correspondante a été décrite dans l'article intitulé High Quality Audio Transform Coding at 64 kbits, IEEE Trans. on Communications Vol 42, No. 11, November 1994, publié par Y. Mahieux et J. P. Petit.
  • La mise en oeuvre d'un tel filtrage nécessite la connaissance de paramètres dont certains sont estimés au décodeur à partir des échantillons bruités. Par contre, des informations telles que l'énergie du signal d'origine ne peuvent être connues qu'au codeur et doivent par conséquent être transmises. Lorsque le bloc reçu contient une variation brusque de dynamique, le traitement de filtrage lui est appliqué.
  • Le processus de filtrage précité ne permet pas de retrouver le signal d'origine, mais procure une forte réduction des pré-échos. Il nécessite toutefois de transmettre les paramètres auxiliaires supplémentaires au décodeur.
  • Une technique qui ne nécessite pas la transmission de paramètres auxiliaires est décrite dans la demande de brevet français FR 06 01466 . La méthode décrite permet de discriminer la présence des pré-échos et d'atténuer les pré-échos d'un signal audionumérique engendré par codage hiérarchique (générant un train binaire multicouches) à partir d'un codage par transformée, générant du pré-écho, et d'un codage temporel, ne générant pas de pré-échos.
  • Cette demande de brevet décrit plus précisément la détection au décodeur d'une zone de basse énergie précédant une transition vers une zone de forte énergie, l'atténuation des pré-échos dans les zones de basse énergie détectées et l'inhibition de l'atténuation des pré-échos dans la zone de forte énergie. Le traitement permettant d'atténuer les pré-échos est basé sur une comparaison entre le signal issu d'un décodage par transformée (générant des pré-échos) et un signal issu d'un décodage temporel (non générateur d'échos).
  • Cette technique ne nécessite pas de transmission d'information auxiliaire spécifique venant du codeur mais nécessite la présence d'un signal de référence issu d'un décodage temporel.
  • Tous les décodeurs utilisant un décodage par transformée ne dispose pas nécessairement d'un signal de référence issu d'un décodage temporel. De plus, dans le cas où un tel signal de référence est disponible au décodeur, il n'est pas toujours adapté pour calculer l'atténuation des pré-échos.
  • Un codeur scalable stéréo, par exemple l'extension en stéréo de la norme UIT-T G.729.1, peut fonctionner de la manière décrite ci-après.
  • Le codeur calcule la moyenne des deux canaux gauche et droit du signal stéréo, puis code cette moyenne par le codeur G.729.1, et enfin transmet des paramètres supplémentaires d'extension stéréo. Le train binaire transmis au décodeur comporte donc une couche G.729.1 avec des couches supplémentaires d'extension stéréo. Par exemple, une première couche supplémentaire comporte des paramètres reflétant la différence d'énergie par sous-bande (dans le domaine transformé) entre les deux canaux du signal stéréo. Une seconde couche comporte par exemple les coefficients transformés du signal résiduel, défini comme la différence entre le signal original et le signal décodé à partir du train binaire G.729.1 et de la première couche.
  • Le décodeur G.729.1 en mode étendu, décode d'abord le signal mono et retrouve en fonction des paramètres transmis, les coefficients transformés des deux canaux gauche et droit.
  • Le décodage du signal mono par un décodeur de type G.729.1 apporte un signal de référence basé sur la moyenne des deux canaux. Dans le cas où la différence de niveaux entre les deux canaux est grande, l'enveloppe temporelle du signal mono sera alors faible par rapport à la sortie de la transformée inverse du canal de plus grand niveau et fort par rapport à la sortie de la transformée inverse du canal de plus faible niveau.
  • L'utilisation d'une référence comme la sortie du décodeur G.729.1 pour atténuer les pré-échos ne sera donc pas efficace pour le décodage stéréo : Dans le canal de plus grand niveau on détectera à tort trop de pré-écho et on supprimera donc du signal utile tandis que dans le canal de plus faible niveau on ne détectera ni ne supprimera tous les pré-échos.
  • Il existe donc un besoin d'une technique d'atténuation précise de pré-échos au décodage, dans le cas où un signal issu d'un décodage temporel n'est pas disponible ou n'est pas performant et où aucune information auxiliaire n'est transmise par le codeur. Cette technique doit, de plus, pouvoir fonctionner pour le codage mono et stéréo.
  • A cet effet, la présente invention traite d'un procédé d'atténuation de pré-échos dans un signal audionumérique engendré à partir d'un codage par transformée, dans lequel, au décodage, pour une trame courante de ce signal audionumérique, le procédé comporte:
    • une étape de définition d'un signal concaténé, à partir au moins du signal reconstruit de la trame courante;
    • une étape de division dudit signal concaténé en sous-blocs d'échantillons de longueur déterminée;
    • une étape de calcul d'enveloppe temporelle du signal concaténé;
    • une étape de détection de transition de l'enveloppe temporelle vers une zone à forte énergie;
    • une étape de détermination des sous-blocs de basse énergie précédant un sous-bloc dans lequel une transition a été détectée; et
    • une étape d'atténuation dans les sous-blocs déterminés,
    le procédé étant caractérisé en ce que l'atténuation s'effectue selon un facteur d'atténuation calculé pour chacun des sous-blocs déterminés, en fonction de l'enveloppe temporelle du signal concaténé et de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  • Ainsi, le facteur d'atténuation est défini sur des caractéristiques propres au signal décodé qui ne nécessitent pas de transmission d'information du codeur ni de signal issu d'un décodage non générateur d'échos.
  • Un facteur adapté à chaque sous-bloc de la trame courante et calculé à partir du signal reconstruit permet d'améliorer la qualité du traitement d'atténuation des pré-échos.
  • Le signal concaténé peut être défini à partir du signal reconstruit de la trame courante et de la deuxième partie de la trame courante tel que défini ultérieurement en référence à la figure 2. Dans ce cas, la méthode n'introduit pas de retard temporel.
  • Dans le cas où on s'autorise un retard temporel, le signal concaténé est défini comme le signal reconstruit de la trame courante et de la trame suivante.
  • Le signal concaténé peut être physiquement stocké à différents endroits par sous-blocs.
  • Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé défini ci-dessus.
  • Ainsi, dans un mode particulier de réalisation, une valeur minimale est fixée pour une valeur d'atténuation du facteur en fonction de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  • Ceci permet d'éviter une trop grande différence d'atténuation d'une trame à une autre en particulier sur le niveau de bruit de fond et ainsi d'éviter des artéfacts audibles.
  • L'enveloppe temporelle du signal reconstruit de la trame précédente peut par exemple être déterminée par le calcul de l'énergie minimale par sous-bloc ou encore par le calcul de l'énergie moyenne ou tout autre calcul.
  • Dans un mode particulier de réalisation de l'invention, le facteur d'atténuation est déterminé en fonction de l'enveloppe temporelle dudit sous-bloc, du maximum de l'enveloppe temporelle du sous-bloc comprenant ladite transition et de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  • Dans un exemple de réalisation, l'enveloppe temporelle est déterminée par un calcul d'énergie par sous-blocs.
  • Avantageusement, le procédé comporte en outre une étape de calcul et de mémorisation de l'enveloppe temporelle de la trame courante après l'étape d'atténuation dans les sous-blocs déterminés.
  • Ce calcul d'enveloppe temporelle sera donc utilisé pour traiter la trame suivante. Ce calcul est précis puisque le signal n'est plus perturbé par les pré-échos.
  • Avantageusement, un facteur d'atténuation de valeur 1 est attribué aux échantillons dudit sous-bloc comportant la transition ainsi qu'aux échantillons des sous-blocs suivants dans la trame courante.
  • L'atténuation est donc inhibée dans ces sous-blocs qui ne comportent pas de pré-échos.
  • Dans un mode de réalisation particulier, le facteur d'atténuation est déterminé par sous-bloc déterminé selon les étapes suivantes:
    • calcul du rapport de l'énergie maximale déterminée dans le sous-bloc comportant une transition sur l'énergie du sous-bloc courant;
    • comparaison du rapport à un premier seuil;
    • dans le cas où le rapport est inférieur ou égal au premier seuil, attribution d'une valeur inhibant l'atténuation au facteur d'atténuation;
    • dans le cas où le rapport est supérieur au premier seuil:
      • comparaison du rapport à un deuxième seuil;
      • dans le cas où le rapport est inférieur ou égal au deuxième seuil, attribution d'une valeur d'atténuation faible au facteur d'atténuation;
      • dans le cas où le rapport est supérieur au deuxième seuil, attribution d'une valeur d'atténuation forte au facteur d'atténuation.
  • Ce mode de réalisation particulier s'est révélé particulièrement efficace et est simple à mettre en oeuvre.
  • Avantageusement, le procédé prévoit la détermination d'une fonction de lissage entre les facteurs calculés échantillon par échantillon.
  • Ceci permet également d'éviter des artéfacts audibles lors d'une variation trop brusque des valeurs d'atténuation.
  • Dans une variante de mise en oeuvre, une correction de facteur est effectuée pour le sous-bloc précédant le sous-bloc comportant une transition, en appliquant une valeur d'atténuation inhibant l'atténuation, au facteur d'atténuation appliqué à un nombre prédéterminé d'échantillons du sous-bloc précédant le sous-bloc comportant une transition.
  • Ceci permet donc de ne pas diminuer l'amplitude de l'attaque par la fonction de lissage définie pour les valeurs d'atténuation.
  • La présente invention vise également un dispositif d'atténuation de pré-échos dans un signal audionumérique engendré à partir d'un codeur par transformée, dans lequel, le dispositif associé à un décodeur comprend pour traiter une trame courante de ce signal audionumérique:
    • un module de définition d'un signal concaténé, à partir au moins du signal reconstruit de la trame courante;
    • un module de division dudit signal concaténé en sous-blocs d'échantillons de longueur déterminée;
    • un module de calcul d'enveloppe temporelle du signal concaténé;
    • un module de détection de transition de l'enveloppe temporelle vers une zone à forte énergie;
    • un module de détermination des sous-blocs de basse énergie précédant un sous-bloc dans lequel une transition a été détectée; et
    • un module d'atténuation dans les sous-blocs déterminés.
    Le dispositif est tel que le module d'atténuation effectue l'atténuation selon un facteur d'atténuation calculé pour chacun des sous-blocs déterminés, en fonction de l'enveloppe temporelle du signal concaténé et de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  • L'invention vise un décodeur d'un signal audionumérique comportant un dispositif tel que décrit précédemment.
  • Un tel décodeur peut par exemple être un décodeur de type G.729.1-SWB/stéréo étudié à la question 23 de l'UIT-T, commission 16.
  • L'invention peut être intégrée à un tel décodeur en mode stéréo ou en mode SWB (pour "super Wide Band" anglais).
  • Enfin, l'invention vise un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé d'atténuation tel que décrit, lorsque ces instructions sont exécutées par un processeur.
  • D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels:
    • la figure 1 décrite précédemment illustre un système de codage-décodage par transformée selon l'état de l'art;
    • la figure 2 illustre la configuration du signal reconstruit par rapport à la trame courante d'un signal;
    • la figure 3 illustre un dispositif d'atténuation de pré-échos dans un décodeur de signal audionumérique;
    • la figure 4a représente le signal concaténé lorsqu'une transition se trouve dans la deuxième partie de la trame courante;
    • la figure 4b représente le signal concaténé lorsqu'une transition se trouve dans le signal reconstruit de la trame courante;
    • la figure 5 illustre un organigramme représentant un mode de réalisation général des étapes du calcul du facteur d'atténuation selon de l'invention;
    • la figure 6 illustre un organigramme détaillé de la mise en oeuvre du procédé d'atténuation selon un mode de réalisation de l'invention;
    • la figure 7 illustre un mode de réalisation particulier du calcul du facteur d'atténuation selon l'invention;
    • la figure 8a illustre un exemple de signal audionumérique pour lequel l'invention selon un mode de réalisation est mis en oeuvre;
    • la figure 8b illustre le même signal audionumérique pour lequel l'invention selon une variante de réalisation est mise en oeuvre;
    • la figure 9 illustre le signal concaténé lorsque l'attaque se situe dans le deuxième sous-bloc de la deuxième partie de la trame courante;
    • la figure 10 illustre le signal concaténé lorsque l'attaque se situe dans le troisième sous-bloc de la deuxième partie de la trame courante;
    • la figure 11 illustre le signal concaténé lorsque l'attaque se situe dans le premier sous-bloc de la deuxième partie de la trame courante;
    • la figure 12 illustre le signal concaténé lorsque l'attaque se situe dans le quatrième sous-bloc de la deuxième partie de la trame courante;
    • les figures 13a et 13b illustrent respectivement un codeur et un décodeur de type G.729.1SWB/stéréo, le décodeur comportant un dispositif d'atténuation selon l'invention;
    • les figures 14a et 14b illustrent respectivement un codeur et un décodeur de type G.729.1 SWB, le décodeur comportant un dispositif d'atténuation selon l'invention;
    • la figure 15 illustre un exemple d'un dispositif d'atténuation selon l'invention.
  • La figure 2 représente une trame du signal décodé ainsi que la configuration du signal reconstruit par addition recouvrement tel que décrit en référence à la figure 1. Dans la suite, la notation suivante est utilisée en référence à la figure 2 et à l'équation suivante : x rec , N n = h n + L x tr , N - 1 n + L + h n x tr , N n pour n 0 , L - 1
    Figure imgb0001

    où N est l'indice de la trame, L est la longueur de la trame, xrec,N est le signal reconstruit de la trame N, xtr,N est le signal de longueur 2L issu de la transformation inverse MDCT de la trame N. Sans rentrer dans les détails de la MDCT et de la transformation inverse MDCT, on définit le signal intermédiaire xtr,N de longueur 2L pour la trame N comme: x tr , N = y r 0 y r L 2 - 1 y r - y r L 2 - 1 - y r 0 - y r inversé y i 0 y i L 2 - 1 y i y i L 2 - 1 y i 0 y i inversé
    Figure imgb0002

    où yr(n) et yi(n) sont des signaux intermédiaires qui ne sont pas détaillés ici. Alors on peut montrer que le signal reconstruit xrec,N de la trame N est donné par: x rec , N n = h n + L x tr , N - 1 n + L + h n x tr , N n pour n 0 , L - 1
    Figure imgb0003

    La reconstruction s'effectue donc par addition-recouvrement.
  • On remarque que le signal intermédiaire comprend une partie antisymétrique et une partie symétrique. Lors du décodage de la trame N, on reçoit le train binaire qui permet de trouver xtr,N ; on peut donc reconstruire xrec,N(n), n=0...L-1. Par contre on ne dispose que de la « moitié » de l'information sur la trame future d'indice N+1, c'est-à-dire xtr,N, n=L...2L-1, sur la trame future d'indice N+1. Il est important de noter que pour toutes les variantes de réalisation de la MDCT (et de son inverse) on peut toujours définir un signal intermédiaire xtr,N de la forme définie ci-dessus. Cependant dans certaines réalisations le signal xtr,N n'est pas explicite en tant que tel, seuls les signaux intermédiaires yr(n) et yi(n), comprenant du « repliement temporel », sont disponibles.
  • Ainsi, dans un décodeur par transformée, le signal reconstruit de la trame courante (xrec,N(n), n = 0 à L-1) est obtenu par addition pondérée de la deuxième partie de la sortie de la transformée inverse des coefficients MDCT de la trame précédente (xtr,N-1(n), n = L à 2L-1) et de la première partie de la sortie de la transformée inverse des coefficients MDCT de la trame courante (xtr,N(n), n = 0 à L-1). La deuxième partie de la sortie de la transformée inverse des coefficients MDCT de la trame courante (xtr,N(n), n = L à 2L-1) sera gardée en mémoire et deviendra xtr,N - l(n), n = L à 2L-1 pour être exploitée pour obtenir le signal reconstruit de la trame suivante. Pour simplifier, dans la suite, les termes "première partie de la trame courante", "deuxième partie de la trame courante", "signal reconstruit de la trame courante" seront utilisés. Dans la trame suivante, la deuxième partie de la trame courante devient donc la deuxième partie de la trame précédente.
  • Pour encore simplifier les figures on introduit également la notation suivante pour la deuxième partie de la trame courante mis à niveau, c'est-à-dire multiplié par la valeur maximale de la fenêtre de synthèse de la transformée MDCT: x cur 2 h , N n = h L x tr , N L + n , n = 0 à L - 1
    Figure imgb0004
  • En particulier, pour une attaque située dans la trame courante, en première ou deuxième partie, le procédé d'atténuation des pré-échos selon un mode de réalisation de l'invention génère un signal concaténé [xrec,N(0) ... X,,,,N(L-1) xcur2h,N(0) ... xcur2h,N(L-1)], à partir du signal reconstruit de la trame courante xrec,N(n) et du signal de la deuxième partie de la trame courante mis à niveau xcur2h,N(n).
  • Ce signal concaténé est divisé en sous-blocs d'échantillons de longueur déterminée, ici un nombre pair.
  • Le procédé détermine les sous-blocs du bloc courant nécessitant une atténuation de pré-échos.
  • Le procédé d'atténuation comporte également une étape de calcul du facteur d'atténuation à appliquer aux sous-blocs déterminés. Le calcul s'effectue pour chacun des sous-blocs en fonction de l'enveloppe temporelle du signal concaténé.
  • Ce calcul peut aussi s'effectuer en fonction en outre de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  • Ainsi en référence à la figure 3 , un dispositif d'atténuation 100 comporte un module 101 de définition d'un signal concaténé, un module 102 de division du signal concaténé en sous-blocs, un module 103 de calcul d'enveloppe temporelle du signal concaténé, un module 104 de détection de transition de l'enveloppe temporelle vers une zone à forte énergie et de détermination des sous-blocs de basse énergie précédant un sous-bloc dans lequel une transition a été détectée et un module 105 d'atténuation dans les sous-blocs déterminés. Le module d'atténuation est apte à appliquer un facteur d'atténuation aux sous-blocs déterminés par le module 104, le facteur d'atténuation étant déterminé par le module d'atténuation en fonction de l'enveloppe temporelle du signal concaténé.
  • En référence à la figure 3, le dispositif d'atténuation est compris dans un décodeur comportant un module 110 de quantification inverse (Q-1), un module 120 de transformée inverse (MDCT-1), un module 130 de reconstruction du signal par addition/recouvrement (add/rec) comme décrit en référence à la figure 1 et délivrant un signal reconstruit au dispositif d'atténuation selon l'invention.
  • Les figures 4a et 4b illustrent des exemples de signaux comportant des transitions ou attaques dans le signal. Le phénomène de pré-écho existe lorsque l'énergie d'une partie du signal dans une fenêtre MDCT est nettement supérieure (attaque) à celle des autres parties. Le pré-écho est alors observé dans les parties à basse énergie avant l'attaque. C'est donc dans cette partie qu'il faut atténuer les pré-échos.
  • Deux cas sont possibles: l'attaque ou la transition du signal se trouve dans la trame courante (L premiers échantillons) ou dans la trame suivante (L échantillons suivants) correspondant à la deuxième partie de la trame courante comme représenté en figure 2.
  • La figure 4a représente un signal concaténé avec une attaque du signal dans la deuxième partie de la trame courante. On peut voir sur cette figure la découpe en K2 sous-blocs k de longueur N2 échantillons avec N2=L/K2, K2=4. Les L premiers échantillons représentent le signal reconstruit de la trame courante xrec,N(n), n=0, ..., L-1. Les L échantillons suivants (L à 2L-1) représentent la deuxième partie de la trame courante xcut2h,N(n), n=0, ..., L-1. Dans la trame suivante, cette deuxième partie devient la première partie de la trame précédente.
  • A noter que la deuxième partie de la trame courante est symétrique par propriété de la transformée inverse MDCT. En effet selon l'invention les pré-échos sont atténués sans introduire de retard supplémentaire dans le décodage par transformée. Lors du décodage de la trame courante, le décodeur synthétise les échantillons xtr,N (n), n=0, ..., 2L-1, mais ne peut utiliser que les échantillons xtr,N (n), n=0, ..., L-1 pour reconstruire xrec,N (n), n=0, ..., L-1.
  • On voit que l'attaque ou transition se trouve dans la trame suivante (mais sans pouvoir donner encore sa position), il faut donc atténuer le pré-écho pour les L premiers échantillons de la trame courante du signal reconstruit.
  • La figure 4b représente le même signal une trame plus tard, cette fois l'attaque se trouve dans la trame courante du signal reconstruit, dans le troisième sous-bloc (k=2). Il faut donc atténuer le pré-écho dans les deux premiers sous-blocs.
  • Le procédé d'atténuation des pré-échos selon l'invention délivre des facteurs d'atténuation du pré-écho pour chaque échantillon de la trame. Ce procédé va maintenant être décrit en référence aux figures 5 et 6.
  • L'organigramme représenté en figure 5 illustre les différentes étapes de calcul du facteur d'atténuation selon l'invention pour une trame courante.
  • A l'étape 201, l'enveloppe temporelle du signal reconstruit de la trame courante est calculée et à l'étape 202, l'enveloppe temporelle de la deuxième partie de la trame courante mise à niveau est calculée.
  • L'enveloppe temporelle est par exemple obtenue par le calcul de l'énergie par sous-blocs comme décrit en référence à la figure 6. Elle peut être obtenue par d'autres méthodes, en calculant par exemple la moyenne des valeurs absolues du signal par sous-blocs, ou encore la valeur maximale ou la valeur médiane de chaque sous-bloc. L'enveloppe peut également être obtenue par exemple comme un opérateur de type Teager-Kaiser suivi par un filtrage passe-bas. Dans tous les cas on suppose ici, sans perte de généralité, que l'enveloppe temporelle est définie avec une résolution temporelle d'une valeur par sous-bloc, la taille des sous-blocs étant flexible.
  • A l'étape 203, une fonction de facteur d'atténuation est définie à partir des enveloppes de la trame courante définie aux étapes 201 et 202 et à partir de l'enveloppe du signal reconstruit de la trame précédente (Tenv(xrec,N-1(n)).
  • L'étape 204 optionnelle, définie une fonction de lissage sur les valeurs obtenues du facteur d'atténuation afin d'éviter les discontinuités qui pourrait se révéler dans le signal traité.
  • En référence à la figure 6 , le procédé d'atténuation dans un mode de réalisation détaillé de l'invention va maintenant être décrit.
  • Ainsi, à l'étape 301, comme illustré en figure 4a ou 4b, le signal est découpé en sous-blocs de longueur N2 = L/ K2. On obtient ainsi 2 K 2 sous-blocs.
  • A l'étape 302, l'énergie En(k) des K2 sous-blocs du signal reconstruit xrec,N (n) est calculée.
  • A l'étape 303, l'énergie de chaque sous-bloc de la deuxième partie de la trame courante mise à niveau xcur2h,N(n), est calculée. Seules K 2/2 valeurs sont différentes du fait de la symétrie de cette partie du signal comme représenté en figure 4a.
  • Le maximum des énergies des sous-blocs de signal xrec,N (n) et xcur2h (n) est calculé à l'étape 304 sur les K 2 + K 2 / 2 = 3 K 2 /2 blocs et son indice est mémorisé dans ind1.
  • La valeur de l'énergie maximale maxen ainsi calculée est également mémorisée.
  • A l'étape 305 un compteur de boucle est initialisé. Dans la boucle des étapes 306 à 309, on détermine en 307, pour chaque sous-bloc précédent le sous-bloc d'indice ind1 un facteur d'atténuation g(k) en fonction de son énergie En(k), de l'énergie maximale maxen et de l'énergie moyenne du signal reconstruit de la trame précédente xrec,N-1 et on attribue ce facteur en 308 à tous les échantillons du sous-bloc.
  • A l'étape 310 on calcule l'indice du premier échantillon du sous-bloc à l'énergie maximale. A l'étape 311 on vérifie s'il est inférieur à la longueur de la trame. Si oui, le sous-bloc d'énergie maximale est dans la trame courante et on attribue le facteur 1, c'est-à-dire une valeur inhibant l'atténuation, à tous les échantillons à partir du début du sous-bloc jusqu'à la fin de la trame dans la boucle des étapes 311-312-313.
  • A l'étape 314 l'énergie moyenne de la trame courante reconstruite, c'est à dire des K2 premiers blocs du signal reconstruit xrec,N (n), est calculée et mémorisée. Elle sera utilisée dans la trame suivante pour le calcul des nouveaux facteurs. Dans une variante on peut remplacer l'équation de cette étape par une autre qui tient compte également de l'atténuation des pré-échos, par exemple par l'équation suivante : En prev = 1 K 2 k = 0 K 2 - 1 En k g 2 k
    Figure imgb0005
  • Ainsi, on prend en compte le signal traité qui n'est plus perturbé par des pré-échos.
  • Aux étapes 315 et 316, une fonction de lissage des facteurs est déterminée et appliquée échantillon par échantillon pour éviter des variations trop brusques du facteur.
  • Cette fonction de lissage est par exemple définie par les équations suivantes: g pre 0 = α g old + 1 - α g pre ʹ 0
    Figure imgb0006
    g pre i = α g pre i - 1 + 1 - α g pre ʹ i , i = 1 , , L - 1
    Figure imgb0007

    où on pondère le facteur défini pour l'échantillon précédent et le facteur de l'échantillon courant pour obtenir le facteur lissé.
  • Le dernier facteur d'atténuation obtenu pour le dernier sous-bloc à atténuer de la trame courante est mémorisé pour une utilisation dans la trame suivante à l'étape 315.
  • D'autres fonctions de lissage sont possibles comme par exemple une transition linéaire entre les deux valeurs de facteur, soit avec une pente constante (par exemple par pas de 0.05), soit avec une longueur fixe (par exemple sur 16 échantillons).
  • Une fois les facteurs ainsi calculés, l'atténuation de pré-écho est faite sur le signal reconstruit de la trame courante en multipliant chaque échantillon par le facteur correspondant : x recg , N n = g n x rec , N n , n = 0 à L - 1
    Figure imgb0008
  • L'étape 307 de calcul du facteur d'atténuation pour un sous-bloc, est maintenant détaillée dans un mode de réalisation particulier de l'invention en référence à la figure 7 .
  • Dans ce mode de réalisation, on calcule d'abord à l'étape 401, le rapport maxen / En(k) de l'énergie maximale déterminée à l'étape 304 sur l'énergie du sous-bloc traité.
  • En pratique, ce rapport peut être inversé et les seuils adaptés en conséquence.
  • On teste à l'étape 402 si ce rapport est inférieur ou égal à un premier seuil S1. La valeur de S1 est fixée à 16 dans l'exemple, cette valeur étant optimisée expérimentalement.
  • Si oui, la variation de l'énergie par rapport à l'énergie maximale est faible pour produire un pré-écho gênant, aucune atténuation n'est alors nécessaire. Le facteur est alors fixé à l'étape 403, à une valeur d'atténuation inhibant l'atténuation, c'est-à-dire 1.
  • Sinon, on teste à l'étape 404 si le rapport r est inférieur ou égal à un deuxième seuil S2. La valeur de S2 est fixée à 32 dans l'exemple, cette valeur étant optimisée expérimentalement.
  • Si oui, cela veut dire que l'on peut avoir un petit pré-écho gênant qui est à atténuer légèrement en fixant le facteur à l'étape 405, à une valeur d'atténuation faible, par exemple à 0,5. Quand le rapport est supérieur à ce deuxième seuil, le risque de pré-écho est alors maximal et on applique à l'étape 406 une valeur d'atténuation forte au facteur, par exemple 0,1.
  • Dans la plupart des cas, surtout quand le pré-écho est gênant, la trame qui précède la trame de pré-écho a une énergie homogène qui correspond à l'énergie du bruit de fond à ce moment. Selon l'expérience il n'est pas utile ni même souhaitable que l'énergie du signal devienne inférieure à l'énergie moyenne de la trame précédente après le traitement de pré-écho.
  • A l'étape 407 on calcule donc une valeur limite du facteur limr avec lequel on obtient pour le sous-bloc donné exactement la même énergie que l'énergie moyenne de la trame précédente. Puis à l'étape 408, on limite cette valeur à un maximum de 1 puisqu'on s'intéresse ici aux valeurs d'atténuation.
  • La valeur limg ainsi obtenue sert comme limite inférieure dans le calcul final du facteur d'atténuation à l'étape 409.
  • Dans une variante de réalisation du calcul du facteur d'atténuation, une caractéristique de débit du signal transmis peut-être pris en compte. En effet, dans une transmission à bas débit, le bruit de quantification est en général important, ce qui augmente le risque de pré-écho gênant. A l'opposé, à très haut débit, la qualité de codage peut être très bonne et aucune atténuation de pré-écho n'est alors nécessaire.
  • Dans le cas d'un codage/décodage multi-débit, l'information de débit peut donc être prise en compte pour déterminer le facteur d'atténuation.
  • Les figures 8a et 8b illustrent la mise en oeuvre du procédé d'atténuation de l'invention sur un exemple typique.
  • Dans cet exemple le signal est échantillonné à 8 kHz, la longueur de la trame est de 160 échantillons et chaque trame est divisée en 4 sous-blocs de 40 échantillons.
  • Dans la partie a.) de la figure 8a, 3 trames du signal original correspondant à la partie bande étroite (0-4000Hz) du canal gauche d'un signal stéréo échantillonné à 16 kHz, sont représentées. Une attaque ou transition dans le signal est située dans le sous-bloc commençant à l'indice 360. Ce signal à été codé par exemple par une extension stéréo du codeur G.729.1.
  • Dans la partie b.) de la figure 8a, le résultat du décodage (uniquement le canal gauche) sans traitement de pré-écho est illustré. On peut observer le pré-écho à partir de l'échantillon 160 (début de la trame précédant la trame avec l'attaque).
  • La partie c.) montre l'évolution du facteur d'atténuation de pré-écho (ligne continue) obtenu par la mise en oeuvre du procédé selon l'invention. La ligne pointillée représente le facteur avant lissage.
  • La partie d.) illustre le résultat du décodage après application du traitement de pré-écho (multiplication du signal b.) avec le signal c.)). On voit que le pré-écho a bien été supprimé.
  • La figure 8b illustre le même exemple typique pour lequel une mise en oeuvre d'une variante de réalisation du procédé d'atténuation selon l'invention est effectuée.
  • Si on observe bien la figure 8a on s'aperçoit que le facteur lissé ne remonte pas à 1 au moment de l'attaque, ce qui implique une diminution de l'amplitude de l'attaque. L'impact perceptible de cette diminution est très faible mais peut néanmoins être évité.
  • Pour cela, on peut par exemple affecter, avant lissage, la valeur de facteur 1 aux quelques derniers échantillons du sous-bloc précédant le sous-bloc où se situe l'attaque. La partie c.) de la figure 8b donne un exemple d'une telle correction. Dans cet exemple on a affecté la valeur de facteur 1 aux 16 derniers échantillons du sous-bloc précédent le sous-bloc avec l'attaque, à partir de l'indice 344.
  • Ainsi la fonction de lissage accroit progressivement le facteur pour avoir une valeur proche de 1 au moment de l'attaque. L'amplitude de l'attaque est alors préservée.
  • La difficulté de cette méthode est de savoir, dans la trame qui précède la trame comportant l'attaque, si l'attaque se situe dans le premier sous-bloc ou non.
  • Si l'attaque se situe dans le premier sous-bloc, alors la valeur de facteur 1 doit être affectée aux derniers échantillons de la trame. Le problème est que sur le signal concaténé on ne peut pas déterminer avec certitude la position de l'attaque, à cause de la symétrie de cette partie du signal concaténé qui reflète en fait la propriété bien connue de " repliement temporel " de la transformée MDCT.
  • Les figures 9 et 10 illustrent le signal concaténé correspondant à la deuxième trame des figures 8a et 8b.
  • On peut en effet voir que l'attaque est dans le sous-bloc k=5 du signal concaténé. Cette attaque sera donc soit dans le deuxième soit dans le troisième sous bloc du signal reconstruit de la trame suivante. Elle ne sera donc pas dans le premier sous-bloc de la trame suivante. Il n'est alors pas nécessaire d'affecter la valeur de facteur à 1 aux derniers échantillons de la trame courante. Ceci est valable que le signal ait effectivement l'attaque dans le deuxième sous-bloc de la trame suivante (cas de la figure 9) ou dans le troisième sous-bloc (cas de la figure 10).
  • Par contre, comme représenté en figure 11 ou 12 , quand l'attaque est dans le 1er ou dans le 4éme sous-bloc de la trame suivante, on détecte l'attaque dans le sous-bloc k=4 du signal concaténé à cause de la symétrie de cette partie du signal concaténé.
  • Or si l'attaque est dans le premier sous-bloc, il faut affecter la valeur de facteur à 1 aux derniers échantillons de la trame mais cela n'est pas nécessaire quand l'attaque est dans le 4ème sous-bloc.
  • Une solution est de toujours affecter la valeur de facteur à 1 aux derniers échantillons de la trame si l'attaque est détectée dans le 4éme sous-bloc du signal concaténé. Si dans la trame suivante, l'attaque est dans le premier sous-bloc (cas de la figure 11) le fonctionnement est alors optimal. Par contre quand l'attaque est dans le 4ème sous-bloc (cas de la figure 12), l'atténuation est sous-optimale car autour de la fin de la trame, le facteur d'atténuation de pré-écho augmente vers 1 pour quelques échantillons puis redescend vers le niveau correct d'atténuation au début de la trame suivante. L'impact subjectif de cette sous-optimalité est faible car quand l'attaque se trouve dans le 4ème sous-bloc de la trame suivante son amplitude est bien diminuée par le fenêtrage d'analyse. Le pré-écho provoqué par cette attaque est faible.
  • Les figures 9 à 12 ont été obtenues avec le même signal d'entrée, en le décalant de la longueur d'un sous-bloc pour déplacer la position de l'attaque dans la trame. On peut observer en comparant les figures 11 et 12 par exemple, la différence de niveau de pré-écho en fonction de la position de l'attaque : quand l'attaque se trouve dans le 4éme sous-bloc le pré-écho est nettement plus faible.
  • Le procédé objet de l'invention utilise un exemple particulier de calcul du début de l'attaque (recherche du maximum d'énergie par sous-bloc) mais peut fonctionner avec toute autre méthode de détermination du début de l'attaque.
  • Le procédé objet de l'invention précitée s'appliquent à l'atténuation des pré-échos dans tout codeur par transformée qui utilise un banc de filtre MDCT ou tout banc de filtres à reconstruction parfaite à valeur réelle ou complexe, ou les bancs de filtres à reconstruction presque parfaite ainsi que les bancs de filtres utilisant la transformée de Fourier ou la transformée en ondelettes.
  • Il est à noter que dans le cas où un retard d'une trame est tolérable au décodeur, les problèmes de localisation de transitoire (attaque) dans la seconde partie du signal concaténé peuvent être évités. Le procédé de réduction des pré-échos s'applique alors directement au signal reconstruit et non plus au signal concaténé qui est hybride entre signal reconstruit / signal intermédiaire avec repliement temporel. Les moyens de détection de transition, de calcul de facteur d'atténuation et de réduction de pré-échos décrits précédemment s'appliquent.
  • Par ailleurs, dans le cas où le signal concaténé n'est pas défini explicitement, il est toujours possible d'utiliser le signal reconstruit à la trame courante et un signal intermédiaire de la MDCT inverse pour réaliser les opérations décrites précédemment.
  • Des exemples d'application de l'invention sont donnés ci-après.
  • Un exemple de codeur de signal stéréo est décrit en référence à la figure 13a. Un décodeur adapté comportant un dispositif d'atténuation selon l'invention est décrit en référence à la figure 13b.
  • La figure 13a montre un exemple de codeur, pour lequel des informations stéréo sont transmises par bande de fréquences et sont décodées dans le domaine fréquentiel.
  • Un signal mono M est calculé à partir des signaux d'entrée de la voie gauche L et droite R par des moyens de matriçage 500.
  • Le codeur intègre également des moyens de transformation temps-fréquence 502, 503 et 504 apte à réaliser une transformée, par exemple une transformée de Fourier discrète ou DFT (de l'anglais « Discrete Fourier Transform »), une transformée MDCT (de l'anglais « Modified Discrete Cosine Transform »), une transformée MCLT (de l'anglais « Modulated Complex Lapped Transform »).
  • On obtient ainsi, à partir des valeurs L, R et M correspondant aux signaux temporels gauche et droit, et mono, des valeurs de signaux fréquentiels gauche L et droit R, et mono M. On utilisera pour décrire les figures 13 et 14 les caractères en italique pour des signaux dans le domaine fréquentiel.
  • Le signal mono M est également quantifié et codé par les moyens 501 par exemple par le codeur G.729.1 normalisé à l'UIT-T. Ce module délivre le train binaire de coeur bst1 et également le signal mono décodé transformé dans le domaine fréquentiel.
  • Le module 505 effectue le codage paramétrique stéréo à partir des signaux fréquentiels L, R, et M et du signal décodé M̂. Il délivre la première couche d'extension optionnelle du train binaire bst2 et les deux canaux du signal stéréo décodé L et qu'on obtient en décodant les deux couche bst1 et bst2.
  • Le signal résiduel stéréo dans le domaine fréquentiel est calculé par les moyens 506 et 507 et encodé par le moyen de codage 508 et on obtient la deuxième couche d'extension optionnelle du train binaire bst3.
  • Le signal encodé de coeur bst1 et les couches d'extension optionnelles bst2 et bst3 sont transmis au décodeur.
  • La figure 13b montre un exemple de décodeur susceptible de recevoir le signal encodé de coeur bst1 et les couches d'extension optionnelles bst2 et bst3.
  • Des moyens de décodage 600 permettent de décoder le train binaire coeur bst1 et d'obtenir le signal décodé mono . Si la première couche d'extension optionnelle bst2 est disponible elle peut être décodée par les moyens de décodage stéréo paramétrique 601 pour construire le signal stéréo décodé L et R à partir du signal décodé mono M̂. Sinon, L et seront égale a M̂.
  • Quand la deuxième couche d'extension optionnelle bst3 est également disponible elle est décodée par les moyens de décodage 602 pour obtenir le signal résiduel stéréo dans le domaine fréquentiel. Ceci s'ajoute au signal stéréo décodé et pour augmenter la précision de la représentation fréquentielle du signal. Sinon, quand cette deuxième couche d'extension n'est pas disponible L et restent inchangés.
  • Ces deux signaux subissent une transformation inverse fréquence-temps par les modules 605 et 606, une reconstruction par addition/recouvrement par les modules respectifs 607 et 608. Une réduction des pré-échos selon l'invention est alors effectuée par les modules d'atténuation 609 et 610 tels que décrit en référence à la figure 3, pour obtenir les deux canaux du signal stéréo temporel décodé et .
  • Un autre exemple de décodeur comportant un dispositif selon l'invention est maintenant décrit en référence aux figures 14a et 14b.
  • La figure 14a montre un exemple de codeur de l'extension en bande super-élargie d'un codeur bande élargie de type G.729.1. Le signal d'entrée en bande super-élargie S32 est sous-échantillonné par les moyens de sous-échantillonnage 700 pour obtenir un signal en bande élargie S16. Ce signal est quantifié et codé par les moyens 701 par exemple par le codeur ITU G.729.1. Ce module délivre le train binaire de coeur bst1 et également le signal bande élargie décodé 16 dans le domaine fréquentiel.
  • Le signal d'entrée en bande super-élargie S32 est transformé dans le domaine fréquentiel par les moyens de transformation 704. Les fréquences de la bande haute (bande 7000 -14000Hz) non codées dans la partie bande élargie seront encodées par les moyens de codage 704. Ce codage est basé sur le spectre du signal bande élargie décodé 16. Les paramètres codés constituent la première extension optionnelle du train binaire bst2.
  • Une deuxième couche optionnelle du train binaire bst3 fourni par les moyens de codage 705, contient les paramètres pour améliorer la qualité de la bande élargie (50-7000 Hz).
  • Le décodeur de la figure 14b représente un décodeur en bande super-élargie (50-14000 Hz) correspondant à l'encodeur de la figure 14a. Le train binaire de coeur bst1 est décodé par un codeur en bande élargie de type G.729.1 (module 800). On obtient donc le spectre du signal décodé en bande élargie. Ce spectre est éventuellement amélioré par le décodage en 801 de la deuxième couche d'extension optionnelle bst3. Le module 801 comprend également la transformation fréquence-temps du signal bande élargie. La présente invention n'intervient pas dans cette transformation fréquence-temps pour réduire les pré-échos car ici on dispose des signaux temporels sans écho (composants CELP et TDBWE du codeur G.729.1) et donc la technique décrit dans la demande de brevet français FR 06 01466 peut être appliquée. Le signal bande élargie décodé est ensuite sur-échantillonné par un facteur de 2 dans les moyennes de sur-échantillonnage 802.
  • Quand la première couche d'extension optionnelle bst2 est disponible au décodeur, elle est décodée par les moyens de décodage 803.
  • Ce décodage est basé sur le spectre du signal bande élargie décodé Ŝ16. Le spectre ainsi obtenu contient les valeurs non-nulles uniquement dans la zone de fréquence 7000-14000 Hz non codée par la partie en bande élargie. Dans cette configuration, entre 7000 et 14000 Hz, on ne dispose donc pas de signaux de référence sans pré-écho. Le dispositif d'atténuation selon l'invention est donc mis en oeuvre.
  • Le signal temporel est obtenu par transformation inverse fréquence-temps par le module 504. Le module de reconstruction par addition/recouvrement fourni un signal reconstruit. La réduction des pré-échos selon la présente invention est effectué par le module d'atténuation 807 tel que décrit en référence à la figure 3.
  • A noter que pour cette application, le signal après transformation inverse MDCT ne contient que des fréquences supérieures à 7000 Hz. L'enveloppe temporelle de ce signal peut donc être déterminée avec une très grande précision, ce qui augmente l'efficacité de l'atténuation des pré-échos par le procédé d'atténuation de l'invention.
  • Un exemple de réalisation d'un dispositif d'atténuation selon l'invention est maintenant décrit en référence à la figure 15 .
  • Matériellement, ce dispositif 100 au sens de l'invention comporte typiquement, un processeur µP coopérant avec un bloc mémoire BM incluant une mémoire de stockage et/ou de travail, ainsi qu'une mémoire tampon MEM précitée en tant que moyen pour mémoriser par exemple l'enveloppe temporelle de la trame courante, le facteur d'atténuation calculé pour le dernier échantillon de la trame courante, l'énergie des sous-blocs de la trame courante ou toutes autres données nécessaire à la mise en oeuvre du procédé d'atténuation tel que décrit en référence aux figures 5 à 7. Ce dispositif reçoit en entrée des trames successives du signal numérique Se et délivre le signal Sa reconstruit avec atténuation de pré-échos le cas échéant.
  • Le bloc mémoire BM peut comporter un programme informatique comportant les instructions de code pour la mise en oeuvre des étapes du procédé selon l'invention lorsque ces instructions sont exécutées par un processeur µP du dispositif et notamment une étape de définition d'un signal concaténé, à partir au moins du signal reconstruit de la trame courante, une étape de division dudit signal concaténé en sous-blocs d'échantillons de longueur déterminée, une étape de calcul d'enveloppe temporelle du signal concaténé, une étape de détection de transition de l'enveloppe temporelle vers une zone à forte énergie, une étape de détermination des sous-blocs de basse énergie précédant un sous-bloc dans lequel une transition a été détectée et une étape d'atténuation dans les sous-blocs déterminés.
  • L'atténuation s'effectue selon un facteur d'atténuation calculé pour chacun des sous-blocs déterminés, en fonction de l'enveloppe temporelle du signal concaténé.
  • Les figures 5 à 7 peuvent illustrer l'algorithme d'un tel programme informatique.
  • Ce dispositif d'atténuation selon l'invention peut être indépendant ou intégré dans un décodeur de signal numérique.

Claims (12)

  1. Procédé d'atténuation de pré-échos dans un signal audionumérique engendré à partir d'un codage par transformée, dans lequel, au décodage, pour une trame courante de ce signal audionumérique, le procédé comporte:
    - une étape de définition (CONC) d'un signal concaténé, à partir au moins du signal reconstruit de la trame courante;
    - une étape de division (DIV, 301) dudit signal concaténé en sous-blocs d'échantillons de longueur déterminée;
    - une étape de calcul (ENV, 302) d'enveloppe temporelle du signal concaténé;
    - une étape de détection (DETECT, 304) de transition de l'enveloppe temporelle vers une zone à forte énergie;
    - une étape de détermination (DETECT, 304) des sous-blocs de basse énergie précédant un sous-bloc dans lequel une transition a été détectée; et caractérisé par
    - une étape d'atténuation (ATT) dans les sous-blocs déterminés,
    le procédé étant caractérisé en ce que l'atténuation s'effectue selon un facteur d'atténuation calculé pour chacun des sous-blocs déterminés, en fonction de l'enveloppe temporelle du signal concaténé et de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  2. Procédé selon la revendication 1, caractérisé en ce qu'une valeur minimale est fixée pour une valeur d'atténuation du facteur en fonction de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  3. Procédé selon la revendication 1, caractérisé en ce que le facteur d'atténuation est déterminé en fonction de l'enveloppe temporelle dudit sous-bloc, du maximum de l'enveloppe temporelle du sous-bloc comprenant ladite transition et de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'enveloppe temporelle est déterminée par un calcul d'énergie par sous-blocs.
  5. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape de calcul et de mémorisation de l'enveloppe temporelle de la trame courante après l'étape d'atténuation dans les sous-blocs déterminés.
  6. Procédé selon la revendication 1, caractérisé en ce qu'un facteur d'atténuation de valeur 1 est attribué aux échantillons dudit sous-bloc comportant la transition ainsi qu'aux échantillons des sous-blocs suivants dans la trame courante.
  7. Procédé selon la revendication 4, caractérisé en ce que le facteur d'atténuation est déterminé par sous-bloc déterminé selon les étapes suivantes:
    - calcul du rapport de l'énergie maximale déterminée dans le sous-bloc comportant une transition sur l'énergie du sous-bloc courant;
    - comparaison du rapport à un premier seuil;
    - dans le cas où le rapport est inférieur ou égal au premier seuil, attribution d'une valeur inhibant l'atténuation au facteur d'atténuation;
    - dans le cas où le rapport est supérieur au premier seuil:
    . comparaison du rapport à un deuxième seuil;
    . dans le cas où le rapport est inférieur ou égal au deuxième seuil, attribution d'une valeur d'atténuation faible au facteur d'atténuation;
    . dans le cas où le rapport est supérieur au deuxième seuil, attribution d'une valeur d'atténuation forte au facteur d'atténuation.
  8. Procédé selon la revendication 1 caractérisé en ce qu'une fonction de lissage est déterminée entre les facteurs calculés échantillon par échantillon.
  9. Procédé selon la revendication 1, caractérisé en ce qu'une correction de facteur est effectuée pour le sous-bloc précédant le sous-bloc comportant une transition, en appliquant une valeur d'atténuation inhibant l'atténuation, au facteur d'atténuation appliqué à un nombre prédéterminé d'échantillons du sous-bloc précédant le sous-bloc comportant une transition.
  10. Dispositif d'atténuation de pré-échos dans un signal audionumérique engendré à partir d'un codeur par transformée, dans lequel, le dispositif associé à un décodeur comprend pour traiter une trame courante de ce signal audionumérique:
    - un module (101) de définition d'un signal concaténé, à partir au moins du signal reconstruit de la trame courante;
    - un module (102) de division dudit signal concaténé en sous-blocs d'échantillons de longueur déterminée;
    - un module (103) de calcul d'enveloppe temporelle du signal concaténé;
    - un module (104) de détection de transition de l'enveloppe temporelle vers une zone à forte énergie;
    - un module (104) de détermination des sous-blocs de basse énergie précédant un sous-bloc dans lequel une transition a été détectée; et caractérisé par
    - un module (105) d'atténuation dans les sous-blocs déterminés,
    le dispositif étant caractérisé en ce que le module d'atténuation effectue l'atténuation selon un facteur d'atténuation calculé pour chacun des sous-blocs déterminés, en fonction au moins de l'enveloppe temporelle du signal concaténé et de l'enveloppe temporelle du signal reconstruit de la trame précédente.
  11. Décodeur d'un signal audionumérique comportant un dispositif selon la revendication 10.
  12. Programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé selon l'une des revendications 1 à 9, lorsque ces instructions sont exécutées par un processeur.
EP09747881A 2008-09-17 2009-09-15 Attenuation de pre-echos dans un signal audionumerique Active EP2347411B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0856248 2008-09-17
PCT/FR2009/051724 WO2010031951A1 (fr) 2008-09-17 2009-09-15 Attenuation de pre-echos dans un signal audionumerique

Publications (2)

Publication Number Publication Date
EP2347411A1 EP2347411A1 (fr) 2011-07-27
EP2347411B1 true EP2347411B1 (fr) 2012-12-05

Family

ID=40174728

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09747881A Active EP2347411B1 (fr) 2008-09-17 2009-09-15 Attenuation de pre-echos dans un signal audionumerique

Country Status (8)

Country Link
US (1) US8676365B2 (fr)
EP (1) EP2347411B1 (fr)
JP (1) JP5295372B2 (fr)
KR (1) KR101655913B1 (fr)
CN (1) CN102160114B (fr)
ES (1) ES2400987T3 (fr)
RU (1) RU2481650C2 (fr)
WO (1) WO2010031951A1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112012009032B1 (pt) * 2009-10-20 2021-09-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Codificador de sinal de áudio, decodificador de sinal de áudio, método para prover uma representação codificada de um conteúdo de áudio, método para prover uma representação decodificada de um conteúdo de áudio para uso em aplicações de baixo retardamento
FR2992766A1 (fr) * 2012-06-29 2014-01-03 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
FR3000328A1 (fr) * 2012-12-21 2014-06-27 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
EP2830065A1 (fr) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Appareil et procédé permettant de décoder un signal audio codé à l'aide d'un filtre de transition autour d'une fréquence de transition
FR3025923A1 (fr) * 2014-09-12 2016-03-18 Orange Discrimination et attenuation de pre-echos dans un signal audionumerique
US10354667B2 (en) * 2017-03-22 2019-07-16 Immersion Networks, Inc. System and method for processing audio data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2674710B1 (fr) * 1991-03-27 1994-11-04 France Telecom Procede et systeme de traitement des preechos d'un signal audio-numerique code par transformee frequentielle.
DE19736669C1 (de) * 1997-08-22 1998-10-22 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erfassen eines Anschlags in einem zeitdiskreten Audiosignal sowie Vorrichtung und Verfahren zum Codieren eines Audiosignals
JP4504681B2 (ja) * 2001-11-16 2010-07-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 補助データを情報信号に埋め込む方法及びデバイス
JP4290917B2 (ja) * 2002-02-08 2009-07-08 株式会社エヌ・ティ・ティ・ドコモ 復号装置、符号化装置、復号方法、及び、符号化方法
CN1458646A (zh) * 2003-04-21 2003-11-26 北京阜国数字技术有限公司 一种滤波参数矢量量化和结合量化模型预测的音频编码方法
DE10324438A1 (de) * 2003-05-28 2004-12-16 Knorr-Bremse Systeme für Schienenfahrzeuge GmbH Bremsvorrichtung eines Schienenfahrzeugs
SE527670C2 (sv) * 2003-12-19 2006-05-09 Ericsson Telefon Ab L M Naturtrogenhetsoptimerad kodning med variabel ramlängd
ES2327566T3 (es) * 2005-04-28 2009-10-30 Siemens Aktiengesellschaft Procedimiento y dispositivo para la supresion de ruidos.
RU2351024C2 (ru) * 2005-04-28 2009-03-27 Сименс Акциенгезелльшафт Способ и устройство для подавления шумов
DE102005019863A1 (de) * 2005-04-28 2006-11-02 Siemens Ag Verfahren und Vorrichtung zur Geräuschunterdrückung
CN101228574A (zh) * 2005-09-08 2008-07-23 北京阜国数字技术有限公司 一种控制前回声的编码和解码装置及方法
FR2897733A1 (fr) * 2006-02-20 2007-08-24 France Telecom Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant
KR100880995B1 (ko) * 2007-01-25 2009-02-03 후지쯔 가부시끼가이샤 오디오 부호화 장치 및 오디오 부호화 방법

Also Published As

Publication number Publication date
RU2481650C2 (ru) 2013-05-10
JP5295372B2 (ja) 2013-09-18
CN102160114B (zh) 2012-08-29
CN102160114A (zh) 2011-08-17
RU2011115003A (ru) 2012-10-27
KR101655913B1 (ko) 2016-09-08
KR20110076936A (ko) 2011-07-06
US20110178617A1 (en) 2011-07-21
JP2012503214A (ja) 2012-02-02
ES2400987T3 (es) 2013-04-16
EP2347411A1 (fr) 2011-07-27
US8676365B2 (en) 2014-03-18
WO2010031951A1 (fr) 2010-03-25

Similar Documents

Publication Publication Date Title
EP2002428B1 (fr) Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant
EP2277172B1 (fr) Dissimulation d'erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP2867893B1 (fr) Atténuation efficace de pré-échos dans un signal audionumérique
EP1316087B1 (fr) Dissimulation d'erreurs de transmission dans un signal audio
EP2080195B1 (fr) Synthèse de blocs perdus d'un signal audionumérique
EP2586133B1 (fr) Contrôle d'une boucle de rétroaction de mise en forme de bruit dans un codeur de signal audionumérique
EP2936488B1 (fr) Atténuation efficace de pré-échos dans un signal audionumérique
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
EP2153438B1 (fr) Post-traitement de reduction du bruit de quantification d'un codeur, au decodage
EP2080194B1 (fr) Attenuation du survoisement, notamment pour la generation d'une excitation aupres d'un decodeur, en absence d'information
EP3192073B1 (fr) Discrimination et atténuation de pré-échos dans un signal audionumérique
EP2005424A2 (fr) Procede de post-traitement d'un signal dans un decodeur audio
EP2203915B1 (fr) Dissimulation d'erreur de transmission dans un signal numerique avec repartition de la complexite
WO2007006958A2 (fr) Procédé et dispositif d'atténuation des échos d'un signal audionumérioue issu d'un codeur multicouches
FR2885462A1 (fr) Procede d'attenuation des pre-et post-echos d'un signal numerique audio et dispositif correspondant

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

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: AL BA RS

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

Effective date: 20120127

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIN1 Information on inventor provided before grant (corrected)

Inventor name: KOVESI, BALAZS

Inventor name: RAGOT, STEPHANE

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: FRANCE TELECOM

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

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

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 587641

Country of ref document: AT

Kind code of ref document: T

Effective date: 20121215

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602009011741

Country of ref document: DE

Effective date: 20130131

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 587641

Country of ref document: AT

Kind code of ref document: T

Effective date: 20121205

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2400987

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20130416

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

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

Ref country code: NO

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

Effective date: 20130305

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

Ref country code: HR

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

Effective date: 20121205

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

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20121205

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

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

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

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

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

Ref country code: PL

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

Effective date: 20121205

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

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

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

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

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

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

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

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

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

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

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

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

REG Reference to a national code

Ref country code: CH

Ref legal event code: PUE

Owner name: ORANGE, FR

Free format text: FORMER OWNER: FRANCE TELECOM, FR

RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: ORANGE

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

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

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

Ref country code: 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: 20121205

26N No opposition filed

Effective date: 20130906

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

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

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602009011741

Country of ref document: DE

Effective date: 20130906

BERE Be: lapsed

Owner name: FRANCE TELECOM

Effective date: 20130930

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 FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20121205

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

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

Ref country code: LI

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

Effective date: 20130930

Ref country code: BE

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

Effective date: 20130930

Ref country code: IE

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

Effective date: 20130915

Ref country code: CH

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

Effective date: 20130930

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

Ref country code: SM

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

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

Ref country code: TR

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

Effective date: 20121205

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

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; INVALID AB INITIO

Effective date: 20090915

Ref country code: MK

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

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

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

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

Ref country code: IT

Payment date: 20230822

Year of fee payment: 15

Ref country code: GB

Payment date: 20230823

Year of fee payment: 15

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

Ref country code: FR

Payment date: 20230822

Year of fee payment: 15

Ref country code: DE

Payment date: 20230822

Year of fee payment: 15

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

Ref country code: ES

Payment date: 20231002

Year of fee payment: 15