EP2867893B1 - Effective pre-echo attenuation in a digital audio signal - Google Patents

Effective pre-echo attenuation in a digital audio signal Download PDF

Info

Publication number
EP2867893B1
EP2867893B1 EP13744654.8A EP13744654A EP2867893B1 EP 2867893 B1 EP2867893 B1 EP 2867893B1 EP 13744654 A EP13744654 A EP 13744654A EP 2867893 B1 EP2867893 B1 EP 2867893B1
Authority
EP
European Patent Office
Prior art keywords
echo
attack
signal
filtering
attenuation
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
EP13744654.8A
Other languages
German (de)
French (fr)
Other versions
EP2867893A1 (en
Inventor
Balazs Kovesi
Stéphane RAGOT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange 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 Orange SA filed Critical Orange SA
Publication of EP2867893A1 publication Critical patent/EP2867893A1/en
Application granted granted Critical
Publication of EP2867893B1 publication Critical patent/EP2867893B1/en
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/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/03Spectral prediction for preventing pre-echo; Temporary noise shaping [TNS], e.g. in MPEG2 or MPEG4
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
    • G10L21/0364Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
    • 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
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • 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 pre-echo attenuation processing method and device for 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 represents for illustrative purposes, a block 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, represented on the figure 1 by dotted vertical lines.
  • the input signal is denoted x ( n ), where n is the index of the sample.
  • 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 can therefore 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 relatively uniformly over the entire temporal support of the transformed block, that is to say on any the 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 coding / decoding rate.
  • the level of the coding noise is typically lower than that of the signal for the high energy segments that immediately follow the transition, but the level is higher than that of the signal for the lower energy segments, 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.
  • MPEG AAC Advanced Audio Coding
  • MPEG AAC Advanced Audio Coding
  • Transform encoders used for conversational applications such as ITU-T G.722.1, G.722.1C or G.719 often use a window of 40 ms duration at 16, 32 or 48 kHz (respectively) and a frame length of 20 ms . It should be noted that the ITU-T G.719 encoder incorporates a window switch mechanism with transient detection, however the pre-echo is not completely reduced at low bit rate (typically at 32 kbit / s).
  • the aforementioned filtering process does not allow to find the original signal, but provides a strong reduction of pre-echoes. However, it requires transmitting the additional parameters to the decoder.
  • Other definitions of the factor g ( k ) are possible, for example as a function of the energy En ( k ) in the current sub-block and the energy En ( k -1) in the preceding sub-block.
  • the factor g ( k ) is then set to an attenuation-inhibiting attenuation value, i.e. 1. Otherwise, the attenuation factor is between 0 and 1.
  • the frame that precedes the pre-echo frame has a homogeneous energy that corresponds to the energy of a low energy segment (typically a background noise).
  • a background noise typically a background noise
  • the attenuation factors (or gains) g ( k ) determined by sub-blocks are then smoothed by an applied smoothing function sample by sample to avoid abrupt changes in the attenuation factor at the block boundaries.
  • L ' represents the length of a sub-block.
  • g pre (-1) is the last attenuation factor obtained for the last sample of the previous sub-block
  • the signal is sampled at 32 kHz
  • part a) of the figure 2 a frame of an original signal sampled at 32 kHz is shown.
  • An attack (or transition) in the signal is located in the sub-block beginning at the index 320.
  • This signal has been coded by a low rate (24 kbit / s) MDCT type transform coder.
  • part (b) of the figure 2 the result of the decoding without pre-echo processing is illustrated.
  • the pre-echo can be observed from sample 160, in the preceding sub-blocks the one containing the attack.
  • Part c) shows the evolution of the pre-echo attenuation factor (solid line) obtained by the method described in the aforementioned prior art patent application.
  • the dashed line represents the factor before smoothing. Note here that the position of the attack is estimated around the sample 380 (in the block delimited by the samples 320 and 400).
  • the value of factor 1 has been assigned to the last 16 samples of the sub-block preceding the attack, starting from the index 364.
  • the smoothing function progressively increases the factor to have a value close to 1 at the moment. of the attack.
  • the amplitude of the attack is then preserved, as illustrated in part d) of the figure 3 however, some pre-echo samples are not attenuated.
  • Attenuation pre-echo reduction does not reduce the pre-echo to the attack level because of gain smoothing.
  • FIG 4 Another example with the same setting as that of the figure 3 is illustrated on the figure 4 .
  • This figure represents 2 frames to better show the nature of the signal before the attack.
  • the energy of the original signal before the attack is stronger (part a) than in the case illustrated by the figure 3 , and the signal before the attack is audible (samples 0 - 850).
  • part b) we can observe the pre-echo on the decoded signal without pre-echo processing in the 700-850 area.
  • the signal energy of the pre-echo zone is attenuated to the average energy of the signal preceding the treatment zone.
  • part c) the attenuation factor calculated taking into account the energy limitation is close to 1 and that the pre-echo is always present on part d) after application of the pre-echo treatment ( multiplication of the signal b) with the signal c)), despite the good leveling of the signal in the pre-echo zone.
  • the pre-echo treatment multiplication of the signal b) with the signal c)
  • the present invention improves the state of the art.
  • the spectral shaping applied improves the pre-echo attenuation.
  • the treatment makes it possible to attenuate the pre-echo components that could remain during the implementation of the pre-echo attenuation as described in the state of the art.
  • the filtering being applied to the detected position of the attack, it makes it possible to process the attenuation of the pre-echo up to the nearest attack. This therefore offsets the disadvantage of temporal attenuation echo control which is limited to a zone not going to the attack position (margin of 16 samples for example).
  • This pre-echo attenuation processing technique can be implemented with or without knowledge of a signal derived from a time decoding and for coding a monophonic signal or a stereophonic signal.
  • the adaptation of the filtering makes it possible to adapt to the signal and to remove only the disturbing parasitic components.
  • the method further comprises calculating at least one decision parameter on the filtering to be applied to the pre-echo zone and the adaptation of the filtering coefficients according to said at least one parameter of decision.
  • the treatment is then applied only when necessary to a suitable level of filtering.
  • the at least one decision parameter is a measure of the strength of the detected attack.
  • the force of the attack determines the presence of audible high-frequency components in the pre-echo zone.
  • the attack is abrupt, the risk of having an annoying parasitic component in the pre-echo zone is large and the filtering to be carried out according to the invention is then to be expected.
  • This calculation is of less complexity and makes it possible to define well the strength of the detected attack.
  • the said at least one decision parameter may also be the value of the attenuation factor in the sub-block preceding that containing the position of the attack.
  • said at least one decision parameter is based on a spectral distribution analysis of the signal of the pre-echo zone and / or of the signal preceding the pre-echo zone.
  • the adaptation of the filtering coefficients can be done in a discrete manner as a function of the comparison of at least one decision parameter with a predetermined threshold.
  • the filter coefficients can take predetermined values according to a set of values.
  • the smallest set of values being one where only two values are possible, it is a saying for example the choice between a filtering and no filtering.
  • the adaptation of the filtering coefficients is carried out continuously according to said at least one decision parameter.
  • the attenuation step is performed at the same time as the spectral shaping filtering by integrating the attenuation factors with the coefficients defining the filtering.
  • the invention relates to a decoder of a digital audio signal comprising a device as described above.
  • the invention is directed to a computer program comprising code instructions for implementing the steps of the attenuation processing method as described, when these instructions are executed by a processor.
  • the invention relates to a storage medium, readable by a processor, integrated or not to the processing device, optionally removable, storing a computer program implementing a method of treatment as described above.
  • a pre-echo attenuation processing device 600 is described.
  • this device implements a pre-echo attenuation method in the decoded signal, for example that described in the patent application.
  • FR 08 56248 It furthermore implements spectral shaping filtering of the pre-echo zone.
  • the device 600 comprises a detection module 601 able to implement a step of detecting (Detect.) The position of an attack in a decoded audio signal.
  • An onset is a rapid transition and a sudden change in the dynamics (or amplitude) of the signal.
  • This type of signal may be referred to by the more general term "transient”.
  • transient we will use only the terms of attack or transition to designate also transients.
  • the synthesis window MDCT contains only 415 non-zero samples, unlike the 640 samples in the case of using conventional sinusoidal windows.
  • other analysis / synthesis windows may be used, or switches between long and short windows may be used.
  • the MDCT x MDCT ( n ) memory is used which gives a time-folding version ("folding") of the future signal.
  • the figure 1 shows that the pre-echo influences the frame preceding the one where the attack is located, and it is desirable to detect an attack in the future frame which is partially contained in the MDCT memory.
  • the signal contained in the MDCT memory includes time folding (which is compensated when the next frame is received).
  • the MDCT memory serves essentially to estimate the energy by sub-blocks of the signal in the next (future) frame, and it is considered that this estimate is sufficiently precise for the purposes of the detection and reduction of pre- echo when performed with the available MDCT memory at the current frame instead of the fully decoded signal at the future frame.
  • the current frame and the MDCT memory can be seen as concatenated signals forming a signal of length (K + K ') L' cut into (K + K ') consecutive sub-blocks.
  • the ' - 1 x rec not 2 , k 0 ... , K - 1 when the k-th sub-block is in the current frame and, like:
  • the ' - 1 x MDCT not 2 , k K , ...
  • Other pre-echo detection criteria are possible without changing the nature of the invention.
  • the device 600 also comprises a determination module 602 implementing a determination step (ZPE) of a pre-echo zone preceding the detected attack position.
  • ZPE determination step
  • the energies En ( k ) are concatenated in chronological order, with the time envelope of the decoded signal first, then the envelope of the signal of the next frame estimated from the memory of the MDCT transform. According to this envelope concatenated temporal and mean energies In and In' of the previous frame, the presence of pre-echo is detected if the ratio R ( k ) is sufficiently strong.
  • the pre-echo zone does not necessarily start at the beginning of the frame, and may involve an estimate of the length of the pre-echo. If window switching is used, the pre-echo zone must be defined to take into account the windows used.
  • a module 603 of the device 600 implements a sub-block attenuation factor calculation step of the determined pre-echo area, depending on the frame in which the attack was detected and the previous frame.
  • Other definitions of the factor g ( k ) are possible, for example as a function of En ( k ) and En ( k -1).
  • the factor is then set to an attenuation-inhibiting attenuation value, i.e. 1. Otherwise, the attenuation factor is between 0 and 1.
  • the attenuation factors g ( k ) determined by sub-blocks are then smoothed by an applied smoothing function sample by sample to avoid abrupt changes in the attenuation factor at the boundaries of the blocks.
  • the module 604 of the device 600 of the figure 6 implements the attenuation (Att.) in the sub-blocks of the pre-echo zone, by the attenuation factors obtained.
  • the spectral shaping filter used is a linear filter. Since the gain multiplication operation is also a linear operation, their order can be inverted: you can also do the formatting filtering first. Spectrum of the pre-echo area then the pre-echo attenuation by multiplying each sample of the pre-echo area by the corresponding factor.
  • c (n) 0.05, 0.1, 0.15, 0.2 and 0.25.
  • the motivation for using this filter is its low complexity, its null phase and therefore its zero delay (possible because the processing stops before the end of the current frame) but also its frequency response which corresponds well to the desired low-pass characteristics for this filter.
  • this filter can compensate for the fact that the temporal attenuation of the pre-echo is typically limited to a zone not going to the position of the attack (with a margin of, for example, 16 samples), then that the spectral shaping filtering as defined by the transfer function c ( n ) z -1 + (1 - 2c ( n )) + c ( n ) z can be applied up to the position of the attack , possibly with some interpolation samples of the filter coefficients.
  • the proposed FIR filter makes it easy to smoothly move from the unfiltered domain to the filtered domain and vice versa, by interpolation or slow variation of its coefficients.
  • the filter c ( n ) z -1 + (1-2c ( n )) + c ( n ) z can attenuate the high frequencies before the attack without modifying the attack itself. even.
  • Part d) of the figure 8 An exemplary digital audio signal, for which the processing as described herein is performed, is illustrated in part d) of the figure 8 .
  • Parts a), b) and c) of this figure show the same signals as those described with reference to the figure 4 previously.
  • Part d) differs by the implementation of filtering according to the invention. It can thus be noted that the troublesome high-frequency component is greatly reduced, so that the signal decoded after filtering has a better quality than that described in part d) of FIG. figure 4 .
  • An order 1 filter of the form c ( n ) z -1 + (1- c ( n )) can also be used in an embodiment which does not form part of the invention.
  • the filtering implemented according to the described method is an adaptive filtering. It can thus be adapted to the characteristics of the decoded audio signal.
  • a step of calculating a decision parameter (P) on the filtering to be applied to the pre-echo zone is implemented in the calculation module 605 of FIG. figure 6 .
  • this decision parameter is representative of the presence of high frequency components in the pre-echo zone.
  • the spectral shaping filter is applied, according to the invention, from the beginning of the current frame to the position pos position of the attack.
  • the spectral shaping of the pre-echo zone by filtering according to the invention is adaptive as a function of the parameter P and the attenuation values.
  • the filtering is either applied with coefficients [0.25, 0.5, 0.25], or deactivated with coefficients [0, 1, 0].
  • the filter coefficients are then adapted in a discrete manner limited to a predefined set of values.
  • the adaptation of the filter coefficients (making it possible to adapt the attenuation level of the high frequencies) is thus determined by decision parameters which measure the force of the attack, such as the parameters P and g ( k -1).
  • a progressive transition between these two filters can be carried out using also for example the intermediate filters of coefficient [0.05, 0.9, 0.05], [0.1, 0.8, 0.1], [0.15, 0.7, 0.15] and [0.2, 0.6, 0.2 ].
  • decision parameters can also be used in the decision of the choice and the adaptation of the filter, such as for example the zero crossing rate of the decoded signal of the pre-echo zone. the current frame and / or the previous frame.
  • sgn x rec boy Wut not - 1 - sgn x rec , boy Wut not
  • or sgn x ⁇ 1 i f x ⁇ 0 - 1 i f x ⁇ 0
  • a high rate of zero crossing zc in the previous frame signals the presence of high frequencies in the signal.
  • zc > L / 2 on the previous frame it is better not to apply filtering vs not z - 1 + 1 - 2 vs not + vs not z .
  • a pre-filtering of the decoded signal is also possible before calculating the zero crossing rate, or the number of zero crossings of the estimated derivative x rec , g ( n ) -x rec , g ( n -1) can be used.
  • a spectral analysis of the signal can also be made to assist the decision.
  • the spectral envelope in the MDCT domain resulting from the MDCT coding / decoding can be exploited in the choice of the filter to be used, however this variant assumes that the analysis / synthesis windows MDCT are sufficiently short for the local statistics of the MDCT to be used. signal before the attack remain stable over the length of a window.
  • one may filter the signal in the pre-echo region and the frame passed by an additional high pass filter as - c (n) z -1 + (1-2 c (n)) - c (n) z , with for example c ( n ) 0.25, and then we will choose the value of c ( n ) so that the average energy of the filtered signals in the pre-echo zone and on the past frame are as close as possible ; the choice of c ( n ) can be made on a limited set of possible values shown in figure 7 or from the ratio of energy (or an equivalent quantity such as the square root of the energy) of the signal after high-pass filtering in the pre-echo zone and in the past frame.
  • the value of c ( n ) can be fixed according to the prediction coefficient r (1) / r (0) from a linear prediction analysis (LPC) for the order 1 of the signal in the pre-echo zone and the signal in the past frame.
  • LPC linear prediction analysis
  • the decision parameter on the filtering to be applied to the pre-echo zone is based on a spectral distribution analysis of the signal the pre-echo zone and / or the preceding signal of the pre-echo zone; if the signal preceding the pre-echo zone already contains many high frequencies or if the amount of the high frequencies of the signal in the pre-echo zone and the signal preceding the pre-echo zone is substantially identical, the filtering according to the invention is not necessary and may even cause slight degradation. In these cases, the filtering according to the invention must be deactivated or attenuated by setting c (n) to 0 or to a low value close to 0.
  • the order between the attenuation and filtering step may be reversed.
  • the spectral shaping filtering (F) is done before the attenuation (Att.).
  • the attenuation of the amplitudes can also be combined (or integrated) by defining a set of "conjoint" filter coefficients, for example if for the sample n the filter has coefficients [c ( n ), 1-2 c ( n ), c ( n )] and the attenuation factor is g ( n ), we can directly use the filter [ g pre ( n ) c ( n ), g pre ( n ) 2g pre ( n ) c ( n) ), g pre ( n ) c ( n )].
  • the figure 11 illustrates the benefit of making adaptive filtering. It uses the same signals parts a), b) and c) that the figure 10 and illustrates the fact that the implementation of the nonadaptive filtering shown in part d), unnecessarily modifies the signal in the case where the high-frequency components are already present in the signal to be encoded. It is observed that from sample 640 the high frequencies are unnecessarily attenuated, which could lead to a slight deterioration in quality.
  • the use of an adaptive filtering as described above makes it possible to inhibit or attenuate the filtering under these conditions, to not remove high frequencies already present in the signal to be coded and thus to avoid possible degradation due to the filtering.
  • the attenuation processing device 600 as described is here included in a decoder comprising a reverse quantization module 610 (Q -1 ) receiving a signal S, a reverse transformation module 620 (MDCT -1 ), a module 630 signal reconstruction by addition / recovery (add / rec) as described with reference to the figure 1 and delivering a reconstructed signal to the attenuation processing device according to the invention.
  • a decoder comprising a reverse quantization module 610 (Q -1 ) receiving a signal S, a reverse transformation module 620 (MDCT -1 ), a module 630 signal reconstruction by addition / recovery (add / rec) as described with reference to the figure 1 and delivering a reconstructed signal to the attenuation processing device according to the invention.
  • a processed signal Sa is provided in which a pre-echo attenuation has been performed.
  • the processing performed improved the pre-echo attenuation by attenuating, if necessary, the high frequency components in the pre-echo area.
  • 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 detecting a position of etching in the decoded signal, of determining a pre-echo zone preceding the detected attack position in the decoded signal, of calculating sub-block attenuation factors of the pre-echo zone, as a function of the frame in which the attack was detected and the previous frame, pre-echo attenuation in the sub-blocks of the pre-echo area by the corresponding attenuation factors and further, a a step of applying a spectral shaping filtering of the pre-echo zone on the current frame to the detected position of the attack, the filtering having a finite impulse response to a zero transfer function phase: vs not z - 1 + 1 - 2 vs not + vs not z with c (n) a coefficient between 0 and 0.25.
  • This attenuation device can be independent or integrated into a digital signal decoder.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Description

L'invention concerne un procédé et un dispositif de traitement d'atténuation des pré-échos lors du décodage d'un signal audionumérique.The invention relates to a pre-echo attenuation processing method and device for decoding a digital audio signal.

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.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.

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.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.

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.The figure 1 represents for illustrative purposes, a block diagram of the coding and decoding of a digital audio signal by transform including an addition / overlap synthesis analysis according to the prior art.

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.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.

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 sur la figure 1 par des traits verticaux en pointillés. Le signal d'entrée est noté x(n), où n est l'indice de l'échantillon. La découpe en blocs successifs conduit à définir les blocs XN (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 X N(n) et X N+1(n) sont analysés conjointement pour donner un bloc de coefficients transformés associés à la trame d'indice N.For the coding / decoding process, the input signal is cut into blocks of samples of length L, represented on the figure 1 by dotted vertical lines. The input signal is denoted x ( n ), where n is the index of the sample. The division into successive blocks leads to defining the blocks X N ( n ) = [ x (NL) ... x (N.L + L-1)] = [ x N (0) ... x N (L- 1)], where N is the index of the frame, L is the length of the frame. To the figure 1 we have L = 160 samples. In the case of the modulated modified cosine transform MDCT (for "Modified Discrete Cosine Transform" in English), two blocks X N (n) and X N + 1 (n) are analyzed together to give a block of transformed coefficients associated with the frame of index 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 peuvent donc apparaître 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 codage/décodage.The division in blocks, also called frames, operated by the transform coding is totally independent of the sound signal and the transitions can therefore 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 relatively uniformly over the entire temporal support of the transformed block, that is to say on any the 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 coding / decoding rate.

Pour un bloc comportant une attaque (comme le bloc 320-480 de la figure 1) l'énergie du signal est élevée, le bruit est donc également de niveau élevé.For a block with an attack (such as block 320-480 of the figure 1 ) the signal energy is high, so the noise is also high.

En codage par transformée, le niveau du bruit de codage est typiquement inférieur à celui du signal pour les segments de forte énergie qui suivent immédiatement la transition, mais le niveau est supérieur à celui du signal pour les segments 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.In transform coding, the level of the coding noise is typically lower than that of the signal for the high energy segments that immediately follow the transition, but the level is higher than that of the signal for the lower energy segments, especially on the part preceding the transition (samples 160 - 410 of the figure 1 ). For the aforementioned part, 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.

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.We can observe on the figure 1 that the pre-echo affects the frame preceding the transition as well as the frame where the transition occurs.

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.Psychoacoustic experiments have shown that the human ear performs a rather limited temporal pre-masking of sounds, of the order of a few milliseconds. The noise preceding the attack, or pre-echo, is audible when the duration of the pre-echo is greater than the duration of the pre-masking.

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.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.

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 bien connu que pour les signaux stationnaires plus la longueur de la transformée augmente, plus le gain de codage est important. A fréquence d'échantillonnage fixée et à débit fixé, si on augmente le nombre de points de la fenêtre (donc la longueur de la transformée) on disposera de plus de bits par trame pour coder les raies fréquentielles jugées utiles par le modèle psychoacoustique, 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; le problème des pré-échos y est géré en permettant de commuter de ces fenêtres longues à 8 fenêtres courtes par le biais de fenêtres intermédiaires (de transition), ce qui nécessite un certain retard au codage pour détecter la présence d'une transition et adapter les fenêtres. La longueur de ces fenêtres courtes est donc de 8 ms. A bas débit on peut toujours avoir un pré-écho audible de quelques ms. La commutation des fenêtres permet d'atténuer le pré-écho mais pas de le supprimer. Les codeurs par transformée utilisés pour les applications conversationnelles comme UIT-T G.722.1, G.722.1C ou G.719 utilisent souvent une fenêtre de durée 40 ms à 16, 32 ou 48 kHz (respectivement) et une longueur de trame de 20ms. On peut noter que le codeur UIT-T G.719 intègre un mécanisme de commutation de fenêtres avec détection de transitoire, cependant le pré-écho n'est pas complètement réduit à bas débit (typiquement à 32 kbit/s).The phenomenon of pre-echoes, more critical, is even more troublesome as the length of the blocks in number of samples is important. However, in transform coding, it is well known that for stationary signals plus the length of the transform increases, the higher the coding gain. At a fixed sampling rate and fixed rate, if we increase the number of points of the window (hence the length of the transform) we will have more bits per frame to code the frequency lines found useful by the psychoacoustic model, d where the advantage of using blocks of great length. MPEG AAC (Advanced Audio Coding) coding, for example, uses a long window that contains a fixed number of samples, 2048, over a period of 64 ms at a sample rate of 32 kHz; the problem of pre-echoes is managed by switching from these long windows to 8 short windows through intermediate windows (transition), which requires some delay in coding to detect the presence of a transition and adapt the windows. The length of these short windows is 8 ms. At low speed you can always have an audible pre-echo of a few ms. The switching of the windows makes it possible to attenuate the pre-echo but not to suppress it. Transform encoders used for conversational applications such as ITU-T G.722.1, G.722.1C or G.719 often use a window of 40 ms duration at 16, 32 or 48 kHz (respectively) and a frame length of 20 ms . It should be noted that the ITU-T G.719 encoder incorporates a window switch mechanism with transient detection, however the pre-echo is not completely reduced at low bit rate (typically at 32 kbit / s).

Dans le but de réduire l'effet gênant précité du phénomène des pré-échos, différentes solutions ont été proposées au niveau du codeur et/ou du décodeur.In order to reduce the aforementioned annoying effect of the pre-echo phenomenon, various solutions have been proposed at the encoder and / or the decoder.

La commutation de fenêtres a été citée précédemment. Une autre solution consiste à appliquer un filtrage adaptatif. Dans la zone précédant l'attaque, le signal reconstruit est vu comme la somme du signal original et du bruit de quantification.Window switching has been mentioned previously. Another solution is to apply adaptive filtering. In the area preceding the attack, the reconstructed signal is seen as the sum of the original signal and the quantization noise.

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 .A corresponding filtering technique has been described in the article entitled High Quality Transform Audio Coding at 64 kbits, IEEE Trans. on Communications Vol 42, No. 11, November 1994, published by Y. Mahieux and JP Petit .

La mise en oeuvre d'un tel filtrage nécessite la connaissance de paramètres dont certains, comme les coefficients de prédiction et la variance du signal corrompu par le pré-écho, 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. Ceci nécessite de transmettre des informations supplémentaires, ce qui à débit contraint diminue le budget relatif alloué au codage par transformée. Lorsque le bloc reçu contient une variation brusque de dynamique, le traitement de filtrage lui est appliqué.The implementation of such a filtering requires the knowledge of parameters some of which, like the prediction coefficients and the variance of the signal corrupted by the pre-echo, are estimated at the decoder from the noisy samples. On the other hand, information such as the energy of the original signal can only be known to the encoder and must therefore be transmitted. This requires additional information to be transmitted, which constrains the relative budget allocated to the transform coding. When the received block contains a sudden variation of dynamics, the filtering treatment is applied to it.

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 supplémentaires au décodeur.The aforementioned filtering process does not allow to find the original signal, but provides a strong reduction of pre-echoes. However, it requires transmitting the additional parameters to the decoder.

Différentes techniques de réduction de pré-écho sans transmission spécifique de l'information ont été proposées. Par exemple, une revue de la réduction de pré-échos dans le contexte du codage hiérarchique est présentée dans l'article B. Kövesi, S. Ragot, M. Gartner, H. Taddei, "Pre-echo reduction in the ITU-T G.729.1 embedded coder," EUSIPCO, Lausanne, Suisse, Août 2008 .Different pre-echo reduction techniques without specific transmission of information have been proposed. For example, a review of the reduction of pre-echoes in the context of hierarchical coding is presented in the article B. Kövesi, S. Ragot, M. Gartner, H. Taddei, "Pre-echo reduction in the ITU-T G.729.1 embedded coder," EUSIPCO, Lausanne, Switzerland, August 2008 .

Un exemple typique de procédé d'atténuation de pré-échos est décrit dans la demande de brevet français FR 08 56248 . Dans cet exemple, on détermine des facteurs d'atténuation par sous-bloc, dans les sous-blocs de faible énergie précédant un sous-bloc dans lequel une transition ou attaque a été détectée.A typical example of pre-echo attenuation method is described in the French patent application FR 08 56248 . In this example, factors are determined sub-block attenuation, in the low energy sub-blocks preceding a sub-block in which a transition or attack has been detected.

Le facteur d'atténuation par sous-bloc g(k) est calculé par exemple en fonction du rapport R(k) entre l'énergie du sous-bloc de plus forte énergie et l'énergie du k-ième sous-bloc en question : g k = f R k

Figure imgb0001
où f est une fonction décroissante à valeurs entre 0 et 1 et k est le numéro du sous-bloc. D'autres définitions du facteur g(k) sont possibles, par exemple en fonction de l'énergie En(k) dans le sous-bloc courant et de l'énergie En(k-1) dans le sous-bloc précédent.The attenuation factor per sub-block g ( k ) is calculated for example as a function of the ratio R ( k ) between the energy of the sub-block of higher energy and the energy of the k-th sub-block in question. : boy Wut k = f R k
Figure imgb0001
where f is a decreasing function with values between 0 and 1 and k is the number of the sub-block. Other definitions of the factor g ( k ) are possible, for example as a function of the energy En ( k ) in the current sub-block and the energy En ( k -1) in the preceding sub-block.

Si la variation de l'énergie par rapport à l'énergie maximale est faible, aucune atténuation n'est alors nécessaire. Le facteur g(k) est alors fixé à une valeur d'atténuation inhibant l'atténuation, c'est-à-dire 1. Sinon, le facteur d'atténuation est compris entre 0 et 1.If the variation of the energy with respect to the maximum energy is small, then no attenuation is necessary. The factor g ( k ) is then set to an attenuation-inhibiting attenuation value, i.e. 1. Otherwise, the attenuation factor is between 0 and 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 d'un segment de faible énergie (typiquement un bruit de fond). Selon l'expérience il n'est pas utile ni même souhaitable qu'après le traitement d'atténuation de pré-écho l'énergie du signal devienne inférieure à l'énergie moyenne par sous-bloc du signal précédant la zone de traitement (typiquement celle de la trame précédente En ou celle de la deuxième moitié de la trame précédente En ').In most cases, especially when the pre-echo is troublesome, the frame that precedes the pre-echo frame has a homogeneous energy that corresponds to the energy of a low energy segment (typically a background noise). According to the experience it is not useful or even desirable that after the pre-echo attenuation processing the signal energy becomes lower than the average energy per sub-block of the signal preceding the treatment zone (typically that of the previous frame In or that of the second half of the previous frame In ').

Pour le sous-bloc k à traiter on peut calculer la valeur limite du facteur lim g (k) afin d'obtenir exactement la même énergie que l'énergie moyenne par sous-bloc du segment précédant le sous-bloc à traiter. Cette valeur est bien sûr limitée à un maximum de 1 puisqu'on s'intéresse ici aux valeurs d'atténuation. Plus précisément : lim g k = min max En , En En k ,1

Figure imgb0002
où l'énergie moyenne du segment précédent est approximée par max ( En, En ') .For the sub-block k to be processed, the limit value of the factor lim g ( k ) can be calculated in order to obtain exactly the same energy as the average energy per sub-block of the segment preceding the sub-block to be processed. This value is of course limited to a maximum of 1 since we are interested here in the attenuation values. More precisely : lim boy Wut k = min max In ~ , In ~ ' In k , 1
Figure imgb0002
where the average energy of the previous segment is approximated by max ( In , In ').

La valeur lim g (k) ainsi obtenue sert de limite inférieure dans le calcul final du facteur d'atténuation du sous-bloc : g k = max g k , lim g k

Figure imgb0003
The value lim g ( k ) thus obtained serves as a lower limit in the final calculation of the attenuation factor of the sub-block: boy Wut k = max boy Wut k , lim boy Wut k
Figure imgb0003

Les facteurs d'atténuation (ou gains) g(k) déterminés par sous-blocs sont ensuite lissés par une fonction de lissage appliquée échantillon par échantillon pour éviter des variations brusques du facteur d'atténuation aux frontières des blocs.The attenuation factors (or gains) g ( k ) determined by sub-blocks are then smoothed by an applied smoothing function sample by sample to avoid abrupt changes in the attenuation factor at the block boundaries.

Par exemple, on peut d'abord définir le gain par échantillon comme une fonction constante par morceaux : g pre n = g k , n = kL , , k + 1 L 1

Figure imgb0004
où L' représente la longueur d'un sous-bloc.
La fonction est ensuite lissée suivant l'équation suivante: g pre n : = α g pre n 1 + 1 α g pre n , n = 0, , L 1
Figure imgb0005
avec la convention que gpre (-1) est le dernier facteur d'atténuation obtenu pour le dernier échantillon du sous-bloc précédent, α est le coefficient de lissage, typiquement α=0.85.For example, we can first define the gain per sample as a piecewise constant function: boy Wut pre not = boy Wut k , not = kL ' , , k + 1 The ' - 1
Figure imgb0004
where L 'represents the length of a sub-block.
The function is then smoothed according to the following equation: boy Wut pre not : = α boy Wut pre not - 1 + 1 - α boy Wut pre not , not = 0 , The - 1
Figure imgb0005
with the convention that g pre (-1) is the last attenuation factor obtained for the last sample of the previous sub-block, α is the smoothing coefficient, typically α = 0.85.

D'autres fonctions de lissage sont également possibles. Une fois les facteurs gpre (n) ainsi calculés, l'atténuation de pré-écho est faite sur le signal reconstruit de la trame courante, xrec (n), en multipliant chaque échantillon par le facteur correspondant : x rec , g n = g pre n x rec n , n = 0, , L 1

Figure imgb0006
x rec,g (n) est le signal décodé et post-traité par la réduction de pré-écho.Other smoothing functions are also possible. Once the factors g pre ( n ) thus calculated, the pre-echo attenuation is made on the reconstructed signal of the current frame, x rec ( n ), by multiplying each sample by the corresponding factor: x rec , boy Wut not = boy Wut pre not x rec not , not = 0 , The - 1
Figure imgb0006
where x rec , g ( n ) is the signal decoded and post-processed by the pre-echo reduction.

Les figures 2 et 3 illustrent la mise en oeuvre du procédé d'atténuation tel que décrit dans la demande de brevet de l'état de l'art, précitée, et résumé précédemment.The figures 2 and 3 illustrate the implementation of the attenuation method as described in the patent application of the state of the art, cited above, and summarized above.

Dans ces exemples le signal est échantillonné à 32 kHz, la longueur de la trame est L=640 échantillons et chaque trame est divisée en 8 sous-blocs de K=80 échantillons.In these examples the signal is sampled at 32 kHz, the length of the frame is L = 640 samples and each frame is divided into 8 sub-blocks of K = 80 samples.

Dans la partie a) de la figure 2, une trame d'un signal original échantillonné à 32 kHz, est représentée. Une attaque (ou transition) dans le signal est située dans le sous-bloc commençant à l'indice 320. Ce signal a été codé par un codeur par transformée de type MDCT à bas débit (24 kbit/s).In part a) of the figure 2 a frame of an original signal sampled at 32 kHz is shown. An attack (or transition) in the signal is located in the sub-block beginning at the index 320. This signal has been coded by a low rate (24 kbit / s) MDCT type transform coder.

Dans la partie b) de la figure 2, le résultat du décodage sans traitement de pré-écho est illustré. On peut observer le pré-écho à partir de l'échantillon 160, dans les sous-blocs précédents celui contenant l'attaque.In part (b) of the figure 2 , the result of the decoding without pre-echo processing is illustrated. The pre-echo can be observed from sample 160, in the preceding sub-blocks the one containing the attack.

La partie c) montre l'évolution du facteur d'atténuation de pré-écho (ligne continue) obtenu par le procédé décrit dans la demande de brevet de l'état de l'art précitée. La ligne pointillée représente le facteur avant lissage. On remarque ici que la position de l'attaque est estimée autour de l'échantillon 380 (dans le bloc délimité par les échantillons 320 et 400).Part c) shows the evolution of the pre-echo attenuation factor (solid line) obtained by the method described in the aforementioned prior art patent application. The dashed line represents the factor before smoothing. Note here that the position of the attack is estimated around the sample 380 (in the block delimited by the samples 320 and 400).

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é atténué. La figure 2 montre également 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é. La figure 3 illustre le même exemple que la figure 2, dans lequel, avant lissage, la valeur de facteur d'atténuation est forcée à 1 pour les quelques échantillons du sous-bloc précédant le sous-bloc où se situe l'attaque. La partie c) de la figure 3 donne un exemple d'une telle correction.Part d) illustrates the result of the decoding after application of pre-echo processing (multiplication of signal b) with signal c)). We see that the pre-echo has been attenuated. The figure 2 also shows that the smoothed factor does not go back to 1 at the moment of the attack, which implies a decrease in the amplitude of the attack. The noticeable impact of this decrease is very small but can nevertheless be avoided. The figure 3 illustrates the same example as the figure 2 , in which, before smoothing, the attenuation factor value is forced to 1 for the few samples of the sub-block preceding the sub-block where the attack is located. Part (c) of the figure 3 give an example of such a correction.

Dans cet exemple on a affecté la valeur de facteur 1 aux 16 derniers échantillons du sous-bloc précédant l'attaque, à partir de l'indice 364. Ainsi la fonction de lissage accroît 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, comme illustré dans la partie d) de la figure 3, par contre quelques échantillons de pré-écho ne sont pas atténués.In this example, the value of factor 1 has been assigned to the last 16 samples of the sub-block preceding the attack, starting from the index 364. Thus, the smoothing function progressively increases the factor to have a value close to 1 at the moment. of the attack. The amplitude of the attack is then preserved, as illustrated in part d) of the figure 3 however, some pre-echo samples are not attenuated.

Dans l'exemple de la figure 3 la réduction de pré-écho par atténuation ne permet pas de réduire le pré-écho jusqu'au niveau de l'attaque, à cause du lissage du gain.In the example of the figure 3 attenuation pre-echo reduction does not reduce the pre-echo to the attack level because of gain smoothing.

Un autre exemple avec le même réglage que celui de la figure 3 est illustré sur la figure 4 . Cette figure représente 2 trames pour mieux montrer la nature du signal avant l'attaque. Ici, l'énergie du signal original avant l'attaque est plus forte (partie a)) que dans le cas illustré par la figure 3, et le signal avant l'attaque est audible (échantillons 0 - 850). Sur la partie b) on peut observer le pré-écho sur le signal décodé sans traitement de pré-écho dans la zone 700-850. Selon la procédure de limitation de l'atténuation expliquée précédemment on atténue l'énergie du signal de la zone de pré-écho jusqu'à l'énergie moyenne du signal précédant la zone de traitement. On observe sur la partie c) que le facteur d'atténuation calculé en tenant compte de la limitation d'énergie est proche de 1 et que le pré-écho est toujours présent sur la partie d) après application du traitement de pré-écho (multiplication du signal b) avec le signal c)), malgré la bonne mise à niveau du signal dans la zone pré-écho. On peut en effet bien distinguer ce pré-écho sur la forme d'onde où on remarque qu'une composante haute fréquence est superposée au signal dans cette zone.Another example with the same setting as that of the figure 3 is illustrated on the figure 4 . This figure represents 2 frames to better show the nature of the signal before the attack. Here, the energy of the original signal before the attack is stronger (part a) than in the case illustrated by the figure 3 , and the signal before the attack is audible (samples 0 - 850). On part b) we can observe the pre-echo on the decoded signal without pre-echo processing in the 700-850 area. According to the attenuation limitation procedure previously explained, the signal energy of the pre-echo zone is attenuated to the average energy of the signal preceding the treatment zone. It is observed in part c) that the attenuation factor calculated taking into account the energy limitation is close to 1 and that the pre-echo is always present on part d) after application of the pre-echo treatment ( multiplication of the signal b) with the signal c)), despite the good leveling of the signal in the pre-echo zone. We can indeed distinguish this pre-echo on the waveform where we notice that a high frequency component is superimposed on the signal in this area.

Cette composante haute fréquence est bien audible et gênante, et l'attaque est moins nette (partie d) figure 4).This high frequency component is well audible and annoying, and the attack is less clear (part d) figure 4 ).

L'explication de ce phénomène est la suivante : dans le cas d'une attaque très brusque, impulsive (comme illustrée sur la figure 4) le spectre du signal (dans la trame contenant l'attaque) est plutôt blanc et donc contient également beaucoup de hautes fréquences. Ainsi le bruit de quantification est également blanc et composé de hautes fréquences, ce qui n'est pas le cas du signal précédant la zone de pré-écho. Il y a donc un changement brusque dans le spectre d'une trame à l'autre, qui résulte en un pré-écho audible malgré le fait que l'énergie a été mise au bon niveau.The explanation of this phenomenon is the following: in the case of a very sudden, impulsive attack (as illustrated on the figure 4 ) the signal spectrum (in the frame containing the attack) is rather white and therefore also contains a lot of high frequencies. Thus the quantization noise is also white and composed of high frequencies, which is not the case of the signal preceding the pre-echo zone. There is therefore a sudden change in the spectrum from one frame to another, which results in an audible pre-echo despite the fact that the energy has been put to the right level.

Ce phénomène est à nouveau représenté sur les figures 5a et 5b qui montrent respectivement les spectrogrammes du signal original en 5a, correspondant au signal représenté en partie a) de la figure 4 et le spectrogramme du signal avec atténuation de pré-échos selon l'état de l'art, en 5b, correspondant au signal représenté en partie d) de la figure 4.This phenomenon is again represented on the Figures 5a and 5b which respectively show the spectrograms of the original signal at 5a, corresponding to the signal represented in part a) of the figure 4 and the spectrogram of the signal with attenuation of pre-echoes according to the state of the art, in 5b, corresponding to the signal represented in part d) of the figure 4 .

On remarque bien un pré-écho encore audible dans la partie encadrée à la figure 5b.We notice a pre-echo still audible in the part framed at the figure 5b .

Il existe donc un besoin d'une technique d'atténuation améliorée de pré-échos au décodage, qui permet d'atténuer également les hautes fréquences indésirables ou pré-échos parasites et sans qu'aucune information auxiliaire ne soit transmise par le codeur.There is therefore a need for an improved pre-echo decoding mitigation technique, which also attenuates unwanted high frequencies or spurious pre-echoes and without any auxiliary information being transmitted by the encoder.

La présente invention améliore la situation de l'état de l'art.The present invention improves the state of the art.

A cet effet, la présente invention traite d'un procédé de traitement d'atténuation de pré-écho dans un signal audionumérique engendré à partir d'un codage par transformée, dans lequel, au décodage, le procédé comporte les étapes suivantes:

  • détection d'une position d'attaque dans le signal décodé;
  • détermination d'une zone de pré-écho précédant la position d'attaque détectée dans le signal décodé;
  • calcul de facteurs d'atténuations par sous-bloc de la zone de pré-écho, en fonction au moins de la trame dans laquelle l'attaque a été détectée et de la trame précédente;
  • atténuation de pré-écho dans les sous-blocs de la zone de pré-écho par les facteurs d'atténuation correspondants. Le procédé est tel qu'il comporte en outre:
  • l'application d'un filtrage adaptatif de mise en forme spectrale de la zone de pré-écho sur la trame courante jusqu'à la position détectée de l'attaque le filtrage étant à réponse impulsionnelle finie à phase nulle de fonction de transfert: c n z 1 + 1 2 c n + c n z
    Figure imgb0007
    avec c(n) un coefficient compris entre 0 et 0.25. Ce type de filtrage est de faible complexité et permet de plus un traitement sans retard (le traitement s'arrêtant avant la fin de la trame courante). Grâce à son retard nul, le filtrage peut atténuer les hautes fréquences avant l'attaque sans modifier l'attaque elle-même. Ce type de filtrage permet d'éviter les discontinuités et permet de passer d'un signal non-filtré à un signal filtré de façon progressive.
For this purpose, the present invention relates to a pre-echo attenuation processing method in a digital audio signal generated from a transform coding, wherein, upon decoding, the method comprises the following steps:
  • detecting a driving position in the decoded signal;
  • determining a pre-echo area preceding the detected driving position in the decoded signal;
  • calculating sub-block attenuation factors of the pre-echo area, based at least on the frame in which the attack was detected and the previous frame;
  • pre-echo attenuation in the sub-blocks of the pre-echo area by the corresponding attenuation factors. The method is such that it further comprises:
  • applying adaptive spectral shaping filtering of the pre-echo area on the current frame to the detected position of the filtering attack being a finite impulse response to a zero transfer function phase: vs not z - 1 + 1 - 2 vs not + vs not z
    Figure imgb0007
    with c (n) a coefficient between 0 and 0.25. This type of filtering is of low complexity and allows more processing without delay (the processing stops before the end of the current frame). Thanks to its zero delay, the filtering can attenuate the high frequencies before the attack without modifying the attack itself. This type of filtering makes it possible to avoid discontinuities and makes it possible to pass from an unfiltered signal to a filtered signal in a progressive manner.

Ainsi, la mise en forme spectrale appliquée, permet d'améliorer l'atténuation de pré-écho. Le traitement permet d'atténuer les composantes de pré-écho qui pourraient subsister à la mise en oeuvre de l'atténuation de pré-écho telle que décrite dans l'état de l'art.Thus, the spectral shaping applied, improves the pre-echo attenuation. The treatment makes it possible to attenuate the pre-echo components that could remain during the implementation of the pre-echo attenuation as described in the state of the art.

Le filtrage étant appliqué jusqu'à la position détectée de l'attaque, il permet de traiter l'atténuation du pré-écho jusqu'au plus près de l'attaque. Cela compense donc le désavantage de la réduction d'écho par atténuation temporelle qui est limitée à une zone n'allant pas jusqu'à la position de l'attaque (marge de 16 échantillons par exemple).The filtering being applied to the detected position of the attack, it makes it possible to process the attenuation of the pre-echo up to the nearest attack. This therefore offsets the disadvantage of temporal attenuation echo control which is limited to a zone not going to the attack position (margin of 16 samples for example).

Ce filtrage ne nécessite pas d'informations en provenance du codeur.This filtering does not require information from the encoder.

Cette technique de traitement d'atténuation de pré-écho peut être mise en oeuvre avec ou sans connaissance d'un signal issu d'un décodage temporel et pour le codage d'un signal monophonique ou d'un signal stéréophonique.This pre-echo attenuation processing technique can be implemented with or without knowledge of a signal derived from a time decoding and for coding a monophonic signal or a stereophonic signal.

L'adaptation du filtrage permet de s'adapter au signal et de n'enlever que les composantes parasites gênantes.The adaptation of the filtering makes it possible to adapt to the signal and to remove only the disturbing parasitic components.

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.The various particular embodiments mentioned below may be added independently or in combination with each other, to the steps of the method defined above.

Dans un mode de réalisation particulier, le procédé comporte en outre le calcul d'au moins un paramètre de décision sur le filtrage à appliquer à la zone de pré-écho et l'adaptation des coefficients du filtrage en fonction dudit au moins un paramètre de décision.In a particular embodiment, the method further comprises calculating at least one decision parameter on the filtering to be applied to the pre-echo zone and the adaptation of the filtering coefficients according to said at least one parameter of decision.

Ainsi, le traitement n'est alors appliqué que quand cela est nécessaire à un niveau de filtrage adapté.Thus, the treatment is then applied only when necessary to a suitable level of filtering.

Dans un mode de réalisation, ledit au moins un paramètre de décision est une mesure de la force de l'attaque détectée.In one embodiment, the at least one decision parameter is a measure of the strength of the detected attack.

La force de l'attaque détermine en effet la présence de composantes hautes fréquences audibles dans la zone de pré-écho. Lorsque l'attaque est brusque, le risque d'avoir une composante parasite gênante dans la zone de pré-écho est grand et le filtrage à mettre en oeuvre selon l'invention est alors à prévoir.The force of the attack determines the presence of audible high-frequency components in the pre-echo zone. When the attack is abrupt, the risk of having an annoying parasitic component in the pre-echo zone is large and the filtering to be carried out according to the invention is then to be expected.

Dans un mode de calcul possible de ce paramètre, la mesure de la force de l'attaque détectée est de la forme:
P=max (EN(k), EN (k+1)/min(EN(k-1),EN(k-2)) avec k, le numéro du sous-bloc dans lequel l'attaque a été détectée et EN(k) l'énergie du kième sous-bloc.
In a possible calculation mode of this parameter, the measurement of the force of the detected attack is of the form:
P = max (EN (k), EN (k + 1) / min (EN (k-1), EN (k-2)) with k, the number of the sub-block in which the attack was detected and EN (k) the energy of the k th sub-block.

Ce calcul est de moindre complexité et permet de bien définir la force de l'attaque détectée.This calculation is of less complexity and makes it possible to define well the strength of the detected attack.

Le dit au moins un paramètre de décision peut aussi être la valeur du facteur d'atténuation dans le sous-bloc précédant celui contenant la position de l'attaque.The said at least one decision parameter may also be the value of the attenuation factor in the sub-block preceding that containing the position of the attack.

En effet, une attaque peut être considérée comme brusque si cette atténuation est significative.Indeed, an attack can be considered abrupt if this attenuation is significant.

Dans un autre mode de réalisation, ledit au moins un paramètre de décision est basé sur une analyse de répartition spectrale du signal de la zone de pré-écho et/ou du signal précédant la zone de pré-écho.In another embodiment, said at least one decision parameter is based on a spectral distribution analysis of the signal of the pre-echo zone and / or of the signal preceding the pre-echo zone.

Ceci permet par exemple de déterminer l'importance des composantes hautes fréquences dans le signal de pré-écho et de savoir également si ces composantes hautes fréquences étaient déjà présentes dans le signal avant la zone de pré-écho.This makes it possible, for example, to determine the importance of the high frequency components in the pre-echo signal and also to know if these high frequency components were already present in the signal before the pre-echo zone.

Ainsi, dans le cas où des composantes hautes fréquences étaient déjà présentes avant la zone de pré-écho, il n'est alors pas nécessaire d'effectuer un filtrage pour atténuer ces composantes hautes fréquences, l'adaptation des coefficients de filtrage s'effectue alors par la mise à 0 ou à une valeur proche de 0 des coefficients de filtrage.Thus, in the case where high-frequency components were already present before the pre-echo zone, it is then not necessary to perform a filtering to attenuate these high-frequency components, the adaptation of the filtering coefficients is carried out then by setting 0 or a value close to 0 of the filter coefficients.

Ainsi, l'adaptation des coefficients du filtrage peut s'effectuer de façon discrète en fonction de la comparaison d'au moins un paramètre de décision à un seuil prédéterminé.Thus, the adaptation of the filtering coefficients can be done in a discrete manner as a function of the comparison of at least one decision parameter with a predetermined threshold.

Les coefficients de filtrage peuvent prendre des valeurs prédéterminées selon un jeu de valeurs. Le jeu de valeurs le plus petit étant celui où seulement deux valeurs sont possibles, c'est un dire par exemple le choix entre un filtrage et pas de filtrage.The filter coefficients can take predetermined values according to a set of values. The smallest set of values being one where only two values are possible, it is a saying for example the choice between a filtering and no filtering.

Dans une variante de réalisation, l'adaptation des coefficients du filtrage s'effectue de façon continue en fonction dudit au moins un paramètre de décision.In an alternative embodiment, the adaptation of the filtering coefficients is carried out continuously according to said at least one decision parameter.

L'adaptation est alors plus précise et plus progressive.The adaptation is then more precise and more progressive.

Selon un mode de réalisation, l'étape d'atténuation est effectuée en même temps que le filtrage de mise en forme spectrale en intégrant les facteurs d'atténuation aux coefficients définissant le filtrage.According to one embodiment, the attenuation step is performed at the same time as the spectral shaping filtering by integrating the attenuation factors with the coefficients defining the filtering.

La présente invention vise également un dispositif de traitement 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:

  • un module de détection pour détecter une position d'attaque dans le signal décodé;
  • un module de détermination pour déterminer une zone de pré-écho précédant la position d'attaque détectée dans le signal décodé;
  • un module de calcul de facteurs d'atténuations par sous-bloc de la zone de pré-écho, en fonction au moins de la trame dans laquelle l'attaque a été détectée et de la trame précédente;
  • un module d'atténuation pour atténuer les pré-échos dans les sous-blocs de la zone de pré-écho par les facteurs d'atténuation correspondants. Le dispositif est tel qu'il comprend en outre:
  • un module de filtrage adaptatif pour effectuer une mise en forme spectrale de la zone de pré-écho sur la trame courante jusqu'à la position détectée de l'attaque, le filtrage étant à réponse impulsionnelle finie à phase nulle de fonction de transfert: c n z 1 + 1 2 c n + c n z
    Figure imgb0008
    avec c(n) un coefficient compris entre 0 et 0.25.
The present invention also relates to a pre-echo attenuation processing device in a digital audio signal generated from a transform coder, in which the device associated with a decoder comprises:
  • a detection module for detecting a driving position in the decoded signal;
  • a determination module for determining a pre-echo area preceding the detected driving position in the decoded signal;
  • a module for calculating sub-block attenuation factors of the pre-echo area, as a function of at least the frame in which the attack has been detected and the previous frame;
  • an attenuation module for attenuating the pre-echoes in the sub-blocks of the pre-echo area by the corresponding attenuation factors. The device is such that it further comprises:
  • an adaptive filtering module for effecting spectral shaping of the pre-echo area on the current frame to the detected position of the attack, the filter being a zero-phase finite impulse response transfer function: vs not z - 1 + 1 - 2 vs not + vs not z
    Figure imgb0008
    with c (n) a coefficient between 0 and 0.25.

L'invention vise un décodeur d'un signal audionumérique comportant un dispositif tel que décrit précédemment.The invention relates to a decoder of a digital audio signal comprising a device as described above.

Enfin, l'invention vise un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de traitement d'atténuation tel que décrit, lorsque ces instructions sont exécutées par un processeur.Finally, the invention is directed to a computer program comprising code instructions for implementing the steps of the attenuation processing method as described, when these instructions are executed by a processor.

Enfin l'invention se rapporte à un support de stockage, lisible par un processeur, intégré ou non au dispositif de traitement, éventuellement amovible, mémorisant un programme informatique mettant en oeuvre un procédé de traitement tel que décrit précédemment.Finally, the invention relates to a storage medium, readable by a processor, integrated or not to the processing device, optionally removable, storing a computer program implementing a method of treatment as described above.

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 décrite précédemment illustre un exemple de signal audionumérique pour lequel une méthode d'atténuation selon l'état de l'art est effectuée;
  • la figure 3 décrite précédemment illustre un autre exemple de signal audionumérique pour lequel une méthode d'atténuation selon l'état de l'art est effectuée;
  • la figure 4 décrite précédemment illustre encore un autre un exemple de signal audionumérique pour lequel une méthode d'atténuation selon l'état de l'art est effectuée;
  • les figures 5a et 5b illustrent respectivement le spectrogramme du signal original et le spectrogramme du signal avec atténuation de pré-échos selon l'état de l'art (correspondant respectivement aux parties a) et d) de la figure 4);
  • la figure 6 illustre un dispositif de traitement d'atténuation de pré-échos dans un décodeur de signal audionumérique, ainsi que les étapes mises en oeuvre par le procédé de traitement selon un mode de réalisation de l'invention;
  • la figure 7 illustre la réponse fréquentielle d'un filtre de mise en forme spectrale mis en oeuvre selon un mode de réalisation de l'invention, en fonction du paramètre du filtre;
  • la figure 8 illustre un exemple de signal audionumérique pour lequel le traitement selon l'invention a été mis en oeuvre;
  • la figure 9 illustre le spectrogramme du signal correspondant au signal d) de la figure 4, pour lequel le traitement selon l'invention est mis en oeuvre;
  • la figure 10 illustre un exemple de signal présentant des composantes hautes fréquences à l'origine pour lequel une méthode d'atténuation des pré-échos selon l'état de l'art est mise en oeuvre;
  • La figure 11 illustre le même signal que la figure 11, présentant des composantes hautes fréquences à l'origine pour lequel le traitement selon l'invention a été mis en oeuvre sans la prise en compte d'un critère de décision du niveau de filtrage à appliquer;
  • la figure 12 illustre un exemple matériel de dispositif de traitement d'atténuation selon l'invention.
Other features and advantages of the invention will appear more clearly on reading the following description, given solely by way of nonlimiting example, and with reference to the appended drawings, in which:
  • the figure 1 previously described illustrates a state-of-the-art transform coding-decoding system;
  • the figure 2 described above illustrates an example of a digital audio signal for which a mitigation method according to the state of the art is performed;
  • the figure 3 described above illustrates another example of a digital audio signal for which a mitigation method according to the state of the art is performed;
  • the figure 4 described above illustrates yet another example of a digital audio signal for which a mitigation method according to the state of the art is performed;
  • the Figures 5a and 5b respectively illustrate the spectrogram of the original signal and the spectrogram of the signal with attenuation of pre-echoes according to the state of the art (corresponding to parts a) and d) respectively of the figure 4 );
  • the figure 6 illustrates a pre-echo attenuation processing device in a digital audio signal decoder, as well as the steps implemented by the processing method according to an embodiment of the invention;
  • the figure 7 illustrates the frequency response of a spectral shaping filter implemented according to one embodiment of the invention, as a function of the parameter of the filter;
  • the figure 8 illustrates an exemplary digital audio signal for which the treatment according to the invention has been implemented;
  • the figure 9 illustrates the spectrogram of the signal corresponding to the signal d) of the figure 4 for which the treatment according to the invention is carried out;
  • the figure 10 illustrates an example of a signal having initially high frequency components for which a pre-echo mitigation method according to the state of the art is implemented;
  • The figure 11 illustrates the same signal as the figure 11 , having high frequency components at the origin for which the treatment according to the invention has been implemented without taking into account a decision criterion of the level of filtering to be applied;
  • the figure 12 illustrates a hardware example of attenuation processing device according to the invention.

En référence à la figure 6 , un dispositif 600 de traitement d'atténuation de pré-écho est décrit. Dans un mode de réalisation, ce dispositif met en oeuvre une méthode d'atténuation des pré-échos dans le signal décodé comme par exemple celle décrite dans la demande de brevet FR 08 56248 . Il met en outre en oeuvre un filtrage de mise en forme spectrale de la zone de pré-écho.With reference to the figure 6 , a pre-echo attenuation processing device 600 is described. In one embodiment, this device implements a pre-echo attenuation method in the decoded signal, for example that described in the patent application. FR 08 56248 . It furthermore implements spectral shaping filtering of the pre-echo zone.

Ainsi, le dispositif 600 comporte un module de détection 601 apte à mettre en oeuvre une étape de détection (Detect.) de la position d'une attaque dans un signal audio décodé.Thus, the device 600 comprises a detection module 601 able to implement a step of detecting (Detect.) The position of an attack in a decoded audio signal.

Une attaque (ou onset en anglais) est une transition rapide et une variation brusque de la dynamique (ou amplitude) du signal. On peut désigner ce type de signaux par le terme plus général de "transitoire". Dans la suite et sans perte de généralité, on utilisera uniquement les termes d'attaque ou de transition pour désigner également des transitoires.An onset (or onset ) is a rapid transition and a sudden change in the dynamics (or amplitude) of the signal. This type of signal may be referred to by the more general term "transient". In the following and without loss of generality, we will use only the terms of attack or transition to designate also transients.

Dans un mode de réalisation, chaque trame de L échantillons du signal décodé xrec (n) est divisée en K sous-blocs de longueur L', avec par exemple L = 640 échantillons (20 ms) à 32 kHz, L' = 80 échantillons (2.5 ms) et K = 8.In one embodiment, each frame of L samples of the decoded signal x rec ( n ) is divided into K sub-blocks of length L ', with for example L = 640 samples (20 ms) at 32 kHz, L' = 80 samples (2.5 ms) and K = 8.

Des fenêtres d'analyse-synthèse spéciales à bas retard similaires à celles décrites dans la norme UIT-T G.718 sont utilisées pour la partie analyse et pour la partie synthèse de la transformation MDCT. Ainsi la fenêtre de synthèse MDCT ne contient que 415 échantillons non nuls contrairement aux 640 échantillons dans le cas d'utilisation des fenêtres sinusoïdales classiques. Dans une variante de ce mode de réalisation, d'autres fenêtres d'analyse/synthèse peuvent être utilisées, ou des commutations entre fenêtres longues et courtes peuvent être utilisées.Special low-delay analysis-synthesis windows similar to those described in ITU-T G.718 are used for the analysis part and for the synthesis part of the MDCT transformation. Thus, the synthesis window MDCT contains only 415 non-zero samples, unlike the 640 samples in the case of using conventional sinusoidal windows. In a variation of this embodiment, other analysis / synthesis windows may be used, or switches between long and short windows may be used.

Par ailleurs, on utilise la mémoire MDCT xMDCT (n) qui donne une version avec repliement temporel ("folding" en anglais) du signal futur. Cette mémoire est aussi divisée en sous-blocs de longueur L' et on ne retient - en fonction de la fenêtre MDCT utilisée - que les K' premiers sous-blocs, où K' dépend de la fenêtre utilisée - par exemple K' = 4 pour une fenêtre sinusoïdale. En effet, la figure 1 montre que le pré-écho influence la trame précédant celle où se situe l'attaque, et il est souhaitable de détecter une attaque dans la trame future qui est en partie contenue dans la mémoire MDCT.Furthermore, the MDCT x MDCT ( n ) memory is used which gives a time-folding version ("folding") of the future signal. This memory is also divided into sub-blocks of length L 'and one retains - as a function of the window MDCT used - only the K' first sub-blocks, where K 'depends on the window used - for example K' = 4 for a sinusoidal window. Indeed, the figure 1 shows that the pre-echo influences the frame preceding the one where the attack is located, and it is desirable to detect an attack in the future frame which is partially contained in the MDCT memory.

La réduction de pré-échos dépend ici de plusieurs paramètres:

  • ∘ Le signal décodé dans la trame courante (qui contient potentiellement des pré-échos) de longueur L,
  • ∘ La mémoire de la transformation inverse MDCT qui correspond au signal partiellement décodé dans la trame suivante avant addition-recouvrement.
  • ∘ Le niveau moyen d'énergie dans la trame (ou demi-trame) précédente.
The pre-echo reduction here depends on several parameters:
  • ∘ The decoded signal in the current frame (which potentially contains pre-echoes) of length L,
  • ∘ The memory of the inverse transform MDCT which corresponds to the partially decoded signal in the following frame before addition-overlap.
  • ∘ The average energy level in the previous frame (or half-frame).

On peut noter que le signal contenu dans la mémoire MDCT inclut un repliement temporel (qui est compensé lorsque la trame suivante est reçue). Comme expliqué ci-dessous, la mémoire MDCT sert ici essentiellement à estimer l'énergie par sous-blocs du signal dans la trame suivante (future) et on considère que cette estimation est suffisamment précise pour les besoins de la détection et réduction de pré-écho lorsqu'elle est réalisée avec la mémoire MDCT disponible à la trame courante au lieu du signal complètement décodé à la trame future.It can be noted that the signal contained in the MDCT memory includes time folding (which is compensated when the next frame is received). As explained below, the MDCT memory here serves essentially to estimate the energy by sub-blocks of the signal in the next (future) frame, and it is considered that this estimate is sufficiently precise for the purposes of the detection and reduction of pre- echo when performed with the available MDCT memory at the current frame instead of the fully decoded signal at the future frame.

La trame courante et la mémoire MDCT peuvent être vues comme des signaux concaténés formant un signal de longueur (K + K')L' découpé en (K+K') sous-blocs consécutifs. Dans ces conditions, on définit l'énergie dans le k-ième sous-bloc comme : En k = n = kL k + 1 L 1 x rec n 2 , k = 0, , K 1

Figure imgb0009
quand le k-ième sous-bloc se situe dans la trame courante et, comme: En k = n = k K L k K + 1 L 1 x MDCT n 2 , k = K , , K + K
Figure imgb0010
quand le sous-bloc est dans la mémoire MDCT (qui représente le signal disponible pour la trame future).
L'énergie moyenne des sous-blocs dans la trame courante s'obtient donc comme : En = 1 K k = 0 K 1 En k
Figure imgb0011
On définit également l'énergie moyenne des sous-blocs dans la deuxième partie de la trame courante comme : En = 2 K k = K / 2 K 1 En k
Figure imgb0012
The current frame and the MDCT memory can be seen as concatenated signals forming a signal of length (K + K ') L' cut into (K + K ') consecutive sub-blocks. Under these conditions, the energy in the k-th sub-block is defined as: In k = Σ not = kL ' k + 1 The ' - 1 x rec not 2 , k = 0 ... , K - 1
Figure imgb0009
when the k-th sub-block is in the current frame and, like: In k = Σ not = k - K The ' k - K + 1 The ' - 1 x MDCT not 2 , k = K , ... , K + K '
Figure imgb0010
when the sub-block is in the MDCT memory (which represents the signal available for the future frame).
The average energy of the sub-blocks in the current frame is thus obtained as: In ~ = 1 K Σ k = 0 K - 1 In k
Figure imgb0011
The average energy of the sub-blocks in the second part of the current frame is also defined as: In ~ ' = 2 K Σ k = K / 2 K - 1 In k
Figure imgb0012

Une transition associée à un pré-écho est détectée si le rapport R k = max k = 0, K + K En k En k

Figure imgb0013
dépasse un seuil prédéfini, dans un des sous-blocs considérés. D'autres critères de détection de pré-écho sont possibles sans changer la nature de l'invention.
Par ailleurs, on considère que la position de l'attaque est définie comme pos = min L . a r g max k = 0, K + K En k , L
Figure imgb0014
où la limitation à L assure que la mémoire MDCT n'est jamais modifiée. D'autres méthodes d'estimation plus précise de la position de l'attaque sont également possibles.A transition associated with a pre-echo is detected if the report R k = max k = 0 K + K ' In k In k
Figure imgb0013
exceeds a predefined threshold, in one of the sub-blocks considered. Other pre-echo detection criteria are possible without changing the nature of the invention.
Moreover, we consider that the position of the attack is defined as pos = min The ' . at r boy Wut max k = 0 K + K ' In k , The
Figure imgb0014
where the limitation to L ensures that the MDCT memory is never changed. Other methods for more accurate estimation of the attack position are also possible.

Dans des variantes de réalisation avec commutation des fenêtres, d'autres méthodes donnant la position de l'attaque peuvent être utilisées avec une précision allant de l'échelle d'un sous-bloc jusqu'à une position à l'échantillon près.In alternative embodiments with window switching, other methods giving the position of the attack can be used with a precision ranging from the scale of a sub-block to a position with the sample.

Le dispositif 600 comporte également un module 602 de détermination mettant en oeuvre une l'étape de détermination (ZPE) d'une zone de pré-écho précédant la position d'attaque détectée.The device 600 also comprises a determination module 602 implementing a determination step (ZPE) of a pre-echo zone preceding the detected attack position.

Les énergies En(k) sont concaténées en ordre chronologique, avec d'abord l'enveloppe temporelle du signal décodé, puis l'enveloppe du signal de la trame suivante estimée à partir de la mémoire de la transformée MDCT. En fonction de cette enveloppe temporelle concaténée et des énergies moyennes En et En' de la trame précédente, la présence de pré-écho est détectée si le rapport R(k) est suffisamment fort.The energies En ( k ) are concatenated in chronological order, with the time envelope of the decoded signal first, then the envelope of the signal of the next frame estimated from the memory of the MDCT transform. According to this envelope concatenated temporal and mean energies In and In' of the previous frame, the presence of pre-echo is detected if the ratio R ( k ) is sufficiently strong.

Les sous-blocs dans lequel un pré-écho a été détecté constituent ainsi une zone de pré-écho, qui en général couvre les échantillons n = 0,..., pos-1, soit du début de la trame courante à la position de l'attaque (pos).The sub-blocks in which a pre-echo has been detected thus constitute a pre-echo zone, which in general covers the samples n = 0, ..., pos -1, ie from the beginning of the current frame to the position of the attack ( pos ).

Dans des variantes de réalisation, la zone de pré-écho ne commence pas nécessairement au début de la trame, et peut faire intervenir une estimation de la longueur du pré-écho. Si une commutation de fenêtres est utilisée, la zone de pré-écho devra être définie pour prendre en compte les fenêtres utilisées.In alternative embodiments, the pre-echo zone does not necessarily start at the beginning of the frame, and may involve an estimate of the length of the pre-echo. If window switching is used, the pre-echo zone must be defined to take into account the windows used.

Un module 603 du dispositif 600 met en oeuvre une étape de calcul de facteurs d'atténuation par sous-blocs de la zone de pré-écho déterminée, en fonction de la trame dans laquelle l'attaque a été détectée et de la trame précédente.A module 603 of the device 600 implements a sub-block attenuation factor calculation step of the determined pre-echo area, depending on the frame in which the attack was detected and the previous frame.

Conformément à la description de la demande de brevet FR 08 56248 , les atténuations g(k) sont estimées par sous-bloc.According to the description of the patent application FR 08 56248 attenuations g ( k ) are estimated by sub-block.

Le facteur d'atténuation par sous-bloc g(k) est calculé par exemple, en fonction du rapport R(k) entre l'énergie du sous-bloc de plus forte énergie et l'énergie du k-ième sous-bloc en question : g k = f R k

Figure imgb0015
où f est une fonction décroissante à valeurs entre 0 et 1. D'autres définitions du facteur g(k) sont possibles, par exemple en fonction de En(k) et de En(k-1).The attenuation factor by sub-block g ( k ) is calculated for example, as a function of the ratio R ( k ) between the energy of the sub-block of higher energy and the energy of the k-th sub-block in question boy Wut k = f R k
Figure imgb0015
where f is a decreasing function with values between 0 and 1. Other definitions of the factor g ( k ) are possible, for example as a function of En ( k ) and En ( k -1).

Si la variation de l'énergie par rapport à l'énergie maximale est faible, aucune atténuation n'est alors nécessaire. Le facteur est alors fixé à une valeur d'atténuation inhibant l'atténuation, c'est-à-dire 1. Sinon, le facteur d'atténuation est compris entre 0 et 1.If the variation of the energy with respect to the maximum energy is small, then no attenuation is necessary. The factor is then set to an attenuation-inhibiting attenuation value, i.e. 1. Otherwise, the attenuation factor is between 0 and 1.

Ces atténuations sont limitées en fonction de l'énergie moyenne de la trame précédente.These attenuations are limited according to the average energy of the previous frame.

Pour le sous-bloc à traiter on peut calculer la valeur limite du facteur lim g (k) afin d'obtenir exactement la même énergie que l'énergie moyenne du segment précédant le sous-bloc à traiter. Cette valeur est bien sûr limitée à un maximum de 1 puisqu'on s'intéresse ici aux valeurs d'atténuation. Plus précisément : lim g k = min max En , En En k ,1

Figure imgb0016
For the sub-block to be processed, the limit value of lim g ( k ) can be calculated in order to obtain exactly the same energy as the average energy of the segment preceding the sub-block to be treated. This value is of course limited to a maximum of 1 since we are interested here in the attenuation values. More precisely : lim boy Wut k = min max In ~ , In ~ ' In k , 1
Figure imgb0016

La valeur lim g (k) ainsi obtenue sert de limite inférieure dans le calcul final du facteur d'atténuation du sous-bloc : g k = max g k , lim g k

Figure imgb0017
The value lim g ( k ) thus obtained serves as a lower limit in the final calculation of the attenuation factor of the sub-block: boy Wut k = max boy Wut k , lim boy Wut k
Figure imgb0017

Les facteurs d'atténuation g(k) déterminés par sous-blocs sont ensuite lissés par une fonction de lissage appliquée échantillon par échantillon pour éviter des variations brusques du facteur d'atténuation aux frontières des blocs.The attenuation factors g ( k ) determined by sub-blocks are then smoothed by an applied smoothing function sample by sample to avoid abrupt changes in the attenuation factor at the boundaries of the blocks.

Le gain par échantillon est d'abord défini comme une fonction constante par morceaux : g pre n = g k , n = kL , , k + 1 L 1

Figure imgb0018
La fonction de lissage est par exemple définie par les équations suivantes: g pre n : = α g pre n 1 + 1 α g pre n , n = 0, , L 1
Figure imgb0019
avec la convention que g pre (-1) est le dernier facteur d'atténuation obtenu pour le dernier échantillon du sous-bloc précédent, α est le coefficient de lissage, typiquement α=0.85.The gain per sample is first defined as a piecewise constant function: boy Wut pre not = boy Wut k , not = kL ' , , k + 1 The ' - 1
Figure imgb0018
The smoothing function is for example defined by the following equations: boy Wut pre not : = α boy Wut pre not - 1 + 1 - α boy Wut pre not , not = 0 , The - 1
Figure imgb0019
with the convention that g pre (-1) is the last attenuation factor obtained for the last sample of the previous sub-block, α is the smoothing coefficient, typically α = 0.85.

D'autres fonctions de lissage sont possibles.Other smoothing functions are possible.

Le module 604 du dispositif 600 de la figure 6 met en oeuvre l'atténuation (Att.) dans les sous-blocs de la zone de pré-écho, par les facteurs d'atténuation obtenus.The module 604 of the device 600 of the figure 6 implements the attenuation (Att.) in the sub-blocks of the pre-echo zone, by the attenuation factors obtained.

Ainsi, une fois les facteurs gpre (n) calculés, l'atténuation de pré-écho est faite sur le signal reconstruit de la trame courante, xrec (n), en multipliant chaque échantillon par le facteur correspondant : x rec , g n = g pre n x rec n , n = 0, , L 1

Figure imgb0020
x rec,g (n) est le signal décodé et post-traité pour la réduction de pré-écho.Thus, once the factors g pre ( n ) computed, the pre-echo attenuation is made on the reconstructed signal of the current frame, x rec ( n ), by multiplying each sample by the corresponding factor: x rec , boy Wut not = boy Wut pre not x rec not , not = 0 , The - 1
Figure imgb0020
where x rec , g ( n ) is the decoded and post-processed signal for pre-echo reduction.

Le dispositif 600 comporte un module de filtrage 606 apte à effectuer l'étape (F) d'application d'un filtrage de mise en forme spectrale de la zone de pré-écho sur la trame courante du signal décodé, jusqu'à la position détectée de l'attaque.The device 600 comprises a filtering module 606 capable of performing the step (F) of applying a spectral shaping filtering of the pre-echo zone to the current frame of the decoded signal, to the position detected from the attack.

Typiquement, le filtre de mise en forme spectrale utilisé est un filtre linéaire. Comme l'opération de multiplication par un gain est également une opération linéaire leur ordre peut être inversé : on peut également faire d'abord le filtrage de mise en forme spectrale de la zone de pré-écho puis l'atténuation de pré-écho en multipliant chaque échantillon de la zone de pré-écho par le facteur correspondant.Typically, the spectral shaping filter used is a linear filter. Since the gain multiplication operation is also a linear operation, their order can be inverted: you can also do the formatting filtering first. Spectrum of the pre-echo area then the pre-echo attenuation by multiplying each sample of the pre-echo area by the corresponding factor.

Le filtre utilisé pour atténuer les hautes fréquences dans la zone de pré-écho est un filtre FIR (filtre à réponse impulsionnelle finie) à 3 coefficients et à phase nulle de fonction de transfert c(n)z -1+(1-2c(n))+c(n)z avec c(n) une valeur comprise entre 0 et 0.25, où [c(n),1-2c(n),c(n)] sont les coefficients du filtre de mise en forme spectrale ; ce filtre est mis en oeuvre avec l'équation aux différences : x rec , f n = c n x rec , g n 1 + 1 2 c n x rec , g n + c n x rec , g n + 1

Figure imgb0021
avec par exemple c(n) = 0.25 sur la zone n = 5,.., pos - 5 .The filter used to attenuate the high frequencies in the pre-echo area is a FIR filter (finite impulse response filter) with 3 coefficients and a null transfer function phase c ( n ) z -1 + (1- 2c ( n )) + c ( n ) z with c (n) a value between 0 and 0.25, where [ c ( n ), 1- 2c ( n ), c ( n )] are the coefficients of the shaping filter spectral; this filter is implemented with the difference equation: x rec , f not = vs not x rec , boy Wut not - 1 + 1 - 2 vs not x rec , boy Wut not + vs not x rec , boy Wut not + 1
Figure imgb0021
with for example c ( n ) = 0.25 on the area n = 5, .., pos - 5.

La réponse fréquentielle de ce filtre est illustrée sur la figure 7 , en fonction du coefficient c(n), pour c(n) = 0.05, 0.1, 0.15, 0.2 et 0.25. La motivation pour utiliser ce filtre est sa faible complexité, sa phase nulle et donc son retard nul (possible car le traitement s'arrête avant la fin de trame courante) mais également sa réponse fréquentielle qui correspond bien aux caractéristiques de passe-bas désirées pour ce filtre.The frequency response of this filter is illustrated on the figure 7 , as a function of the coefficient c (n), for c (n) = 0.05, 0.1, 0.15, 0.2 and 0.25. The motivation for using this filter is its low complexity, its null phase and therefore its zero delay (possible because the processing stops before the end of the current frame) but also its frequency response which corresponds well to the desired low-pass characteristics for this filter.

L'application de ce filtre peut compenser le fait que l'atténuation temporelle du pré-écho est typiquement limitée à une zone n'allant pas jusqu'à la position de l'attaque (avec une marge de par exemple 16 échantillons), alors que le filtrage de mise en forme spectrale tel que défini par la fonction de transfert c(n)z -1+(1-2c(n))+c(n)z peut être appliqué jusqu'à la position de l'attaque, avec éventuellement quelques échantillons d'interpolation des coefficients du filtre.The application of this filter can compensate for the fact that the temporal attenuation of the pre-echo is typically limited to a zone not going to the position of the attack (with a margin of, for example, 16 samples), then that the spectral shaping filtering as defined by the transfer function c ( n ) z -1 + (1 - 2c ( n )) + c ( n ) z can be applied up to the position of the attack , possibly with some interpolation samples of the filter coefficients.

Pour passer d'un signal non-filtré à un signal filtré et éviter des discontinuités il est préférable d'introduire le filtrage de façon progressive. Le filtre FIR proposé permet facilement de passer en douceur du domaine non-filtré vers le domaine filtré et vice-versa, par interpolation ou variation lente de ses coefficients. Par exemple, si la position de l'attaque est pos = 16, le filtrage des 16 échantillons dans la zone de pré-écho n = 0,.., pos -1 peut être effectué de la façon suivante : x rec , f 0 = x rec 0

Figure imgb0022
x rec , f 1 = 0.1 x rec 0 + 0.8 x rec 1 + 0.1 x rec 2
Figure imgb0023
x rec , f 2 = 0.1 x rec 1 + 0.8 x rec 2 + 0.1 x rec 3
Figure imgb0024
x rec , f 3 = 0.15 x rec 2 + 0.7 x rec 3 + 0.15 x rec 4
Figure imgb0025
x rec , f 4 = 0.2 x rec 3 + 0.6 x rec 4 + 0.2 x rec 5 =
Figure imgb0026
x rec , f n = 0.25 x rec n 1 + 0.5 x rec n + 0.25 x rec n + 1 , n = 5, ,11
Figure imgb0027
x rec , f 12 = 0.2 x rec 11 + 0.6 x rec 12 + 0.2 x rec 13
Figure imgb0028
x rec , f 13 = 0.15 x rec 12 + 0.7 x rec 13 + 0.15 x rec 14
Figure imgb0029
x rec , f 14 = 0.1 x rec 13 + 0.8 x rec 14 + 0.1 x rec 15
Figure imgb0030
x rec , f 15 = 0.05 x rec 14 + 0.9 x rec 15 + 0.05 x rec 16
Figure imgb0031
To pass from an unfiltered signal to a filtered signal and to avoid discontinuities it is preferable to introduce the filtering in a progressive way. The proposed FIR filter makes it easy to smoothly move from the unfiltered domain to the filtered domain and vice versa, by interpolation or slow variation of its coefficients. For example, if the position of the attack is pos = 16, the filtering of the 16 samples in the pre-echo area n = 0, .., pos -1 can be performed as follows: x rec , f 0 = x rec 0
Figure imgb0022
x rec , f 1 = 0.1 x rec 0 + 0.8 x rec 1 + 0.1 x rec 2
Figure imgb0023
x rec , f 2 = 0.1 x rec 1 + 0.8 x rec 2 + 0.1 x rec 3
Figure imgb0024
x rec , f 3 = 0.15 x rec 2 + 0.7 x rec 3 + 0.15 x rec 4
Figure imgb0025
x rec , f 4 = 0.2 x rec 3 + 0.6 x rec 4 + 0.2 x rec 5 =
Figure imgb0026
x rec , f not = 0.25 x rec not - 1 + 0.5 x rec not + 0.25 x rec not + 1 , not = 5 11
Figure imgb0027
x rec , f 12 = 0.2 x rec 11 + 0.6 x rec 12 + 0.2 x rec 13
Figure imgb0028
x rec , f 13 = 0.15 x rec 12 + 0.7 x rec 13 + 0.15 x rec 14
Figure imgb0029
x rec , f 14 = 0.1 x rec 13 + 0.8 x rec 14 + 0.1 x rec 15
Figure imgb0030
x rec , f 15 = 0.05 x rec 14 + 0.9 x rec 15 + 0.05 x rec 16
Figure imgb0031

On observe, que grâce à son retard nul, le filtre c(n)z -1+(1-2c(n))+c(n)z peut atténuer les hautes fréquences avant l'attaque sans modifier l'attaque elle-même.It can be observed that, thanks to its zero delay, the filter c ( n ) z -1 + (1-2c ( n )) + c ( n ) z can attenuate the high frequencies before the attack without modifying the attack itself. even.

Un exemple de signal audionumérique, pour lequel le traitement tel que décrit ici est effectué, est illustré en partie d) de la figure 8. Les parties a), b) et c) de cette figure reprennent les même signaux que ceux décrits en référence à la figure 4 précédemment. La partie d) diffère par la mise en oeuvre du filtrage selon l'invention. On peut ainsi remarquer que la composante haute fréquence gênante est fortement diminuée, si bien que le signal décodé après filtrage a une meilleure qualité que celui décrit en partie d) de la figure 4.An exemplary digital audio signal, for which the processing as described herein is performed, is illustrated in part d) of the figure 8 . Parts a), b) and c) of this figure show the same signals as those described with reference to the figure 4 previously. Part d) differs by the implementation of filtering according to the invention. It can thus be noted that the troublesome high-frequency component is greatly reduced, so that the signal decoded after filtering has a better quality than that described in part d) of FIG. figure 4 .

Le spectrogramme représentant ce signal filtré est représenté en figure 9. On observe bien par rapport à la figure 5b représentant le même signal sans filtrage de mise en forme, l'atténuation des hautes fréquences gênantes avant l'attaque. L'attaque devient alors plus nette au décodage.The spectrogram representing this filtered signal is represented in figure 9 . We observe well in relation to the figure 5b representing the same signal without shaping filtering, attenuating the disturbing high frequencies before the attack. The attack becomes sharper at decoding.

Bien entendu, d'autres types de filtre de mise en forme spectrale peuvent être envisagés pour remplacer le filtre c(n)z -1+(1-2c(n))+c(n)z. Par exemple, il est possible d'utiliser un filtre FIR d'ordre différent ou avec des coefficients différents. Alternativement le filtre de mise en forme spectrale peut être à réponse impulsionnelle infinie (IIR). De plus, la mise en forme spectrale peut être différente d'un filtrage passe-bas, par exemple un filtre passe-bande pourrait être mis en oeuvre. Ces modes de réalisation ne font pas partie de l'invention qui est définie par les revendications.Of course, other types of spectral shaping filters may be envisaged to replace the filter c ( n ) z -1 + ( 1-2c ( n )) + c ( n ) z . For example, it is possible to use a FIR filter of different order or with different coefficients. Alternatively the spectral shaping filter can be infinite impulse response (IIR). In addition, the spectral shaping may be different from a low-pass filtering, for example a bandpass filter could be implemented. These embodiments are not part of the invention which is defined by the claims.

Un filtre d'ordre 1, de la forme c(n)z -1+(1-c(n)) peut également être utilisé dans un mode de réalisation qui ne fait pas partie de l'invention.An order 1 filter of the form c ( n ) z -1 + (1- c ( n )) can also be used in an embodiment which does not form part of the invention.

Dans un mode de réalisation particulier, le filtrage mis en oeuvre selon le procédé décrit, est un filtrage adaptatif. Il peut ainsi être adapté aux caractéristiques du signal audio décodé.In a particular embodiment, the filtering implemented according to the described method is an adaptive filtering. It can thus be adapted to the characteristics of the decoded audio signal.

Dans ce mode de réalisation, une étape de calcul d'un paramètre (P) de décision sur le filtrage à appliquer à la zone de pré-écho est mise en oeuvre dans le module de calcul 605 de la figure 6.In this embodiment, a step of calculating a decision parameter (P) on the filtering to be applied to the pre-echo zone is implemented in the calculation module 605 of FIG. figure 6 .

En effet, il existe des cas comme celui illustré par exemple à la figure 10 où il est préférable de ne pas appliquer un tel filtrage dans la zone de pré-écho.Indeed, there are cases like the one illustrated for example in the figure 10 where it is better not to apply such filtering in the pre-echo area.

En effet, dans le cas, plus rare, illustré à la figure 10, partie a) les hautes fréquences sont déjà présentes dans le signal à coder. Dans ce cas l'atténuation des hautes fréquences pourrait causer une dégradation audible qu'il faut donc éviter. Dans cet exemple de signal, on observe que l'attaque est moins brusque que dans les exemples précédents.Indeed, in the case, rarer, illustrated in the figure 10 , part a) the high frequencies are already present in the signal to be coded. In this case the attenuation of high frequencies could cause an audible degradation which must be avoided. In this signal example, it is observed that the attack is less abrupt than in the previous examples.

Il est alors intéressant de déterminer au moins un paramètre qui permet de décider s'il faut mettre en forme spectralement la zone du signal contenant un pré-écho, en atténuant (ou non) les hautes fréquences.It is then interesting to determine at least one parameter which makes it possible to decide whether to spectrally shape the zone of the signal containing a pre-echo, by attenuating (or not) the high frequencies.

Dans un exemple de réalisation, ce paramètre de décision est représentatif de la présence de composantes hautes fréquences dans la zone de pré-écho.In an exemplary embodiment, this decision parameter is representative of the presence of high frequency components in the pre-echo zone.

Ce paramètre peut être par exemple une mesure de la force de l'attaque (brusque ou non). Si l'attaque est localisée dans le sous-bloc numéro k, le paramètre peut-être calculé comme : P = max En k , En k + 1 min En k 1 , En k 2

Figure imgb0032
k le numéro du sous-bloc et En(k) l'énergie dans le k-ième sous-bloc.This parameter can be for example a measure of the strength of the attack (abrupt or not). If the attack is located in sub-block number k, the parameter can be calculated as: P = max In k , In k + 1 min In k - 1 , In k - 2
Figure imgb0032
where k is the number of the sub-block and En ( k ) is the energy in the k-th sub-block.

Selon un réglage expérimental, dans cet exemple de réalisation, P >= 32 indique une attaque brusque (très impulsive).According to an experimental setting, in this exemplary embodiment, P > = 32 indicates a sudden attack (very impulsive).

La mesure de force de l'attaque peut être complétée en tenant en compte également de l'atténuation déterminée pour le sous-bloc précédant l'attaque g(k-1). Une attaque peut être considérée comme brusque si cette atténuation est significative, par exemple si g(k-1) ≤ 0.5. Ceci montre que l'énergie dans la zone de pré-écho est considérablement augmentée (plus que doublée) à cause du pré-écho, ce qui signale également une attaque brusque.The force measurement of the attack can be completed by also taking into account the attenuation determined for the sub-block preceding the attack g ( k -1). An attack can be considered abrupt if this attenuation is significant, for example if g ( k -1) ≤ 0.5. This shows that the energy in the pre-echo zone is considerably increased (more than doubled) because of the pre-echo, which also signals a sudden attack.

Si P < 32 et g(k-1) >0.5, où k est l'indice du sous-bloc contenant le début de l'attaque, le filtrage n'est pas nécessaire. En effet, si g(k-1) >0.5, lim g (k)>0.5, ce qui signifie que la zone de pré-écho a une énergie comparable avec celle de la trame précédente et comme l'attaque qui génère le pré-écho n'est pas brusque, le risque d'avoir une composante parasite gênante est faible.If P <32 and g (k -1)> 0.5, where k is the index of the sub-block containing the beginning of the attack, the filtering is not necessary. Indeed, if g ( k -1)> 0.5, lim g ( k )> 0.5, which means that the pre-echo zone has energy comparable to that of the previous frame and as the attack that generates the pre Echo is not abrupt, the risk of having an annoying parasitic component is low.

Ainsi, dans ce mode de réalisation avec les conditions (P < 32 et g(k-1) >0.5), aucun filtrage ne sera fait sur la zone de pré-écho.Thus, in this embodiment with the conditions (P <32 and g ( k -1)> 0.5), no filtering will be done on the pre-echo area.

Dans les autres cas (g(k-1) ≤ 0.5 ou P > 32) le filtre de mise en forme spectrale est appliqué, selon l'invention, du début de la trame courante jusqu'à la position pos de position de l'attaque.In the other cases ( g ( k -1) ≤ 0.5 or P> 32) the spectral shaping filter is applied, according to the invention, from the beginning of the current frame to the position pos position of the attack.

Dans l'exemple de réalisation décrit ci-dessus la mise en forme spectrale de la zone de pré-écho par filtrage selon l'invention est adaptative en fonction du paramètre P et des valeurs d'atténuation. Ainsi, le filtrage est soit appliqué avec des coefficients [0.25, 0.5, 0.25], soit désactivé avec des coefficients [0, 1, 0].In the exemplary embodiment described above, the spectral shaping of the pre-echo zone by filtering according to the invention is adaptive as a function of the parameter P and the attenuation values. Thus, the filtering is either applied with coefficients [0.25, 0.5, 0.25], or deactivated with coefficients [0, 1, 0].

L'adaptation des coefficients de filtrage s'effectue alors de façon discrète limitée à un jeu de valeurs prédéfini.The filter coefficients are then adapted in a discrete manner limited to a predefined set of values.

L'adaptation des coefficients de filtrage (permettant d'adapter le niveau d'atténuation des hautes fréquences) est déterminé donc par des paramètres de décision qui mesurent la force de l'attaque comme les paramètres P et g(k-1)The adaptation of the filter coefficients (making it possible to adapt the attenuation level of the high frequencies) is thus determined by decision parameters which measure the force of the attack, such as the parameters P and g ( k -1).

Il s'agit dans ce cas d'une d'adaptation des coefficients du filtre de façon discrète suivant deux jeux de valeurs possibles ([0.25, 0.5, 0.25] ou [0, 1, 0]). On peut noter que le jeu de coefficients [0, 1, 0] correspond à une désactivation du filtrage.In this case, it is a matter of adapting the coefficients of the filter discretely according to two sets of possible values ([0.25, 0.5, 0.25] or [0, 1, 0]). It can be noted that the set of coefficients [0, 1, 0] corresponds to a deactivation of the filtering.

Une transition progressive entre ces deux filtres peut être effectuée en utilisant également par exemple les filtres intermédiaires de coefficient [0.05, 0.9, 0.05], [0.1, 0.8, 0.1], [0.15, 0.7, 0.15] et [0.2, 0.6, 0.2].A progressive transition between these two filters can be carried out using also for example the intermediate filters of coefficient [0.05, 0.9, 0.05], [0.1, 0.8, 0.1], [0.15, 0.7, 0.15] and [0.2, 0.6, 0.2 ].

Il s'agit dans ce cas d'une adaptation des coefficients du filtre de façon discrète suivant plusieurs jeux de valeurs possibles, si on tient compte de la variation lente (ou interpolation).In this case, it is an adaptation of the coefficients of the filter discretely according to several sets of possible values, if one takes into account the slow variation (or interpolation).

Dans des variantes de réalisations, d'autres méthodes d'interpolation peuvent être utilisées.In alternative embodiments, other interpolation methods may be used.

Par exemple, le filtrage peut être encore plus finement adaptatif avec c(n) = f(P) par exemple en utilisant un filtre intermédiaire avec c(n) = [0.15, 0.7, 0.15] si 16 < P <32. c(n) peut être également calculé de façon continue en fonction de P, par exemple avec le formule c n = arctan P / 10 2 π

Figure imgb0033
For example, the filtering can be even more finely adaptive with c (n) = f (P) for example by using an intermediate filter with c (n) = [0.15, 0.7, 0.15] if 16 <P <32. c (n) can also be calculated continuously according to P, for example with the formula vs not = arctan P / 10 2 π
Figure imgb0033

Il s'agit dans ce cas d'une d'adaptation des coefficients du filtre de façon continue suivant des valeurs possibles où c(n) est dans l'intervalle [0, 0.25].It is in this case an adaptation of the filter coefficients continuously according to possible values where c ( n ) is in the interval [0, 0.25].

D'autres paramètres de décision peuvent être également utilisés dans la décision du choix et de l'adaptation du filtre, comme par exemple le taux de passage à zéro ("zero crossing rate" en anglais) du signal décodé de la zone pré-écho de la trame courante et/ou de la trame précédente. Le taux de passage par zéro peut être calculé de la façon suivante si on considère la zone n = 0,..., L -1 à titre d'exemple : zc = 1 2 n = 0 L 1 | sgn x rec , g n 1 sgn x rec , g n |

Figure imgb0034
sgn x = { 1 i f x 0 1 i f x < 0
Figure imgb0035
Other decision parameters can also be used in the decision of the choice and the adaptation of the filter, such as for example the zero crossing rate of the decoded signal of the pre-echo zone. the current frame and / or the previous frame. The rate of passage through zero can be calculated as follows if we consider the area n = 0, ..., L -1 as an example: zc = 1 2 Σ not = 0 The - 1 | sgn x rec , boy Wut not - 1 - sgn x rec , boy Wut not |
Figure imgb0034
or sgn x = { 1 i f x 0 - 1 i f x < 0
Figure imgb0035

En effet, un taux élevé de passage à zéro zc dans la trame précédente (donc sans pré-écho) signale la présence de hautes fréquences dans le signal. Dans ce cas, par exemple quand zc > L/2 sur la trame précédente, il est préférable de ne pas appliquer le filtrage c n z 1 + 1 2 c n + c n z .

Figure imgb0036
Indeed, a high rate of zero crossing zc in the previous frame (so without pre-echo) signals the presence of high frequencies in the signal. In this case, for example when zc > L / 2 on the previous frame, it is better not to apply filtering vs not z - 1 + 1 - 2 vs not + vs not z .
Figure imgb0036

Afin d'éliminer le biais de la composante continue, un préfiltrage du signal décodé est également possible avant calcul du taux de passage par zéro, ou bien le nombre de passage par zéro de la dérivée estimée x rec,g (n) -x rec,g (n-1) peut être utilisé.In order to eliminate the bias of the DC component, a pre-filtering of the decoded signal is also possible before calculating the zero crossing rate, or the number of zero crossings of the estimated derivative x rec , g ( n ) -x rec , g ( n -1) can be used.

Dans une variante, une analyse spectrale du signal peut être également faite pour aider à la décision. Par exemple, l'enveloppe spectrale dans le domaine MDCT issue du codage/décodage MDCT peut être exploitée dans le choix du filtre à utiliser, cependant cette variante suppose que les fenêtres d'analyse/synthèse MDCT sont suffisamment courtes pour que les statistiques locales du signal avant l'attaque restent stables sur la longueur d'une fenêtre.In a variant, a spectral analysis of the signal can also be made to assist the decision. For example, the spectral envelope in the MDCT domain resulting from the MDCT coding / decoding can be exploited in the choice of the filter to be used, however this variant assumes that the analysis / synthesis windows MDCT are sufficiently short for the local statistics of the MDCT to be used. signal before the attack remain stable over the length of a window.

Alternativement, on pourra filtrer le signal dans la zone de pré-écho et dans la trame passée par un filtre complémentaire passe-haut comme -c(n)z -1+(1-2c(n))-c(n)z, avec par exemple c(n) = 0.25, et ensuite on choisira la valeur de c(n) de sorte que l'énergie moyenne des signaux filtrés dans la zone de pré-écho et sur la trame passée soient les plus proches possibles; le choix de c(n) pourra se faire sur un jeu limité de valeurs possibles montrées à la figure 7 ou à partir du ratio d'énergie (ou d'une quantité équivalente comme la racine carrée de l'énergie) du signal après filtrage passe-haut dans la zone de pré-écho et dans la trame passée.Alternatively, one may filter the signal in the pre-echo region and the frame passed by an additional high pass filter as - c (n) z -1 + (1-2 c (n)) - c (n) z , with for example c ( n ) = 0.25, and then we will choose the value of c ( n ) so that the average energy of the filtered signals in the pre-echo zone and on the past frame are as close as possible ; the choice of c ( n ) can be made on a limited set of possible values shown in figure 7 or from the ratio of energy (or an equivalent quantity such as the square root of the energy) of the signal after high-pass filtering in the pre-echo zone and in the past frame.

A noter que le filtrage passe-haut peut également être mis en oeuvre de façon alternative en calculant la différence entre le signal x rec,g (n) et le signal filtré par le filtre passe-bas c(n)z -1+(1-2c(n))+c(n)z quand c(n) =0.25.Note that the high-pass filtering can also be implemented alternately by calculating the difference between the signal x rec , g ( n ) and the signal filtered by the low-pass filter c ( n ) z -1 + ( 1-2 c ( n )) + c ( n ) z when c ( n ) = 0.25.

Dans une autre variante, quand le filtrage de mise en forme est de type c(n)z -1+(1-c(n)), on pourra fixer le valeur de c(n) en fonction du coefficient de prédiction -r(1)/r(0) issu d'une analyse par prédiction linéaire (LPC pour "Linear Predictive Coding" en anglais) à l'ordre 1 du signal dans la zone de pré-écho et du signal dans la trame passée.In another variant, when the shaping filtering is of type c ( n ) z -1 + (1- c ( n )), the value of c ( n ) can be fixed according to the prediction coefficient r (1) / r (0) from a linear prediction analysis (LPC) for the order 1 of the signal in the pre-echo zone and the signal in the past frame.

Dans toutes ces dernières variantes (taux de passage à zéro, enveloppe spectrale MDCT, filtrage passe haut, analyse LPC), le paramètre de décision sur le filtrage à appliquer à la zone de pré-écho est basé sur une analyse de répartition spectrale du signal de la zone pré-écho et/ou du signal précédant de la zone pré-écho ; si le signal précédant la zone pré-écho contient déjà beaucoup de hautes fréquences ou si la quantité des hautes fréquences du signal dans la zone pré-écho et du signal précédant la zone pré-écho est sensiblement identique, le filtrage selon l'invention n'est pas nécessaire et peut même causer une légère dégradation. Dans ces cas il faut désactiver ou atténuer le filtrage selon l'invention en fixant c(n) à 0 ou à une faible valeur proche de 0.In all these latter variants (zero crossing rate, MDCT spectral envelope, high pass filtering, LPC analysis), the decision parameter on the filtering to be applied to the pre-echo zone is based on a spectral distribution analysis of the signal the pre-echo zone and / or the preceding signal of the pre-echo zone; if the signal preceding the pre-echo zone already contains many high frequencies or if the amount of the high frequencies of the signal in the pre-echo zone and the signal preceding the pre-echo zone is substantially identical, the filtering according to the invention is not necessary and may even cause slight degradation. In these cases, the filtering according to the invention must be deactivated or attenuated by setting c (n) to 0 or to a low value close to 0.

Dans une variante de l'invention l'ordre entre l'étape d'atténuation et de filtrage pourra être inversé.In a variant of the invention the order between the attenuation and filtering step may be reversed.

Il se peut en effet que le filtrage (F) de mise en forme spectrale se fasse avant l'atténuation (Att.). Ainsi, après avoir effectué le filtrage adaptatif des échantillons de la zone de pré-écho du signal reconstruit de la trame courante, ces échantillons sont alors pondérés en multipliant chaque échantillon par le facteur d'atténuation correspondant calculé précédemment : x rec , f , g n = g pre n x rec , f n , n = 0, , L 1 1

Figure imgb0037
It may indeed be that the spectral shaping filtering (F) is done before the attenuation (Att.). Thus, after having performed the adaptive filtering of the samples of the pre-echo zone of the reconstructed signal of the current frame, these samples are then weighted by multiplying each sample by the corresponding attenuation factor calculated previously: x rec , f , boy Wut not = boy Wut pre not x rec , f not , not = 0 , The - 1 1
Figure imgb0037

L'atténuation des amplitudes peut également être combinée (ou intégrée) en définissant un jeu de coefficients de filtre "conjoint", par exemple si pour l'échantillon n le filtre a des coefficients [c(n), 1-2c(n), c(n)] et le facteur d'atténuation est g(n), on peut directement utiliser le filtre [gpre (n)c(n), gpre (n)2gpre (n) c(n), gpre (n) c(n)].The attenuation of the amplitudes can also be combined (or integrated) by defining a set of "conjoint" filter coefficients, for example if for the sample n the filter has coefficients [c ( n ), 1-2 c ( n ), c ( n )] and the attenuation factor is g ( n ), we can directly use the filter [ g pre ( n ) c ( n ), g pre ( n ) 2g pre ( n ) c ( n) ), g pre ( n ) c ( n )].

La figure 11 illustre l'avantage de rendre le filtrage adaptatif. Elle reprend les mêmes signaux parties a), b) et c) que la figure 10 et illustre le fait que la mise en oeuvre du filtrage non-adaptatif représenté en partie d), modifie inutilement le signal dans le cas où les composantes hautes-fréquences sont déjà présentes dans le signal à coder. On observe qu'à partir de l'échantillon 640 les hautes fréquences sont inutilement atténués ce qui pourrait poser une légère dégradation de qualité. L'utilisation d'un filtrage adaptatif comme décrit ci-dessus permet d'inhiber ou d'atténuer le filtrage dans ces conditions, de pas enlever des hautes fréquences déjà présentes dans le signal à coder et d'éviter ainsi une éventuelle dégradation dû au filtrage.The figure 11 illustrates the benefit of making adaptive filtering. It uses the same signals parts a), b) and c) that the figure 10 and illustrates the fact that the implementation of the nonadaptive filtering shown in part d), unnecessarily modifies the signal in the case where the high-frequency components are already present in the signal to be encoded. It is observed that from sample 640 the high frequencies are unnecessarily attenuated, which could lead to a slight deterioration in quality. The use of an adaptive filtering as described above makes it possible to inhibit or attenuate the filtering under these conditions, to not remove high frequencies already present in the signal to be coded and thus to avoid possible degradation due to the filtering.

Pour revenir à la figure 6, le dispositif de traitement d'atténuation 600 tel que décrit est ici compris dans un décodeur comportant un module 610 de quantification inverse (Q-1) recevant un signal S, un module 620 de transformée inverse (MDCT-1), un module 630 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 de traitement d'atténuation selon l'invention.To return to the figure 6 , the attenuation processing device 600 as described is here included in a decoder comprising a reverse quantization module 610 (Q -1 ) receiving a signal S, a reverse transformation module 620 (MDCT -1 ), a module 630 signal reconstruction by addition / recovery (add / rec) as described with reference to the figure 1 and delivering a reconstructed signal to the attenuation processing device according to the invention.

En sortie du dispositif 600, un signal traité Sa est fourni dans lequel une atténuation de pré-écho a été effectué. Le traitement effectué a permis d'améliorer l'atténuation de pré-écho par l'atténuation, le cas échant, des composantes hautes fréquences, dans la zone de pré-écho.At the output of the device 600, a processed signal Sa is provided in which a pre-echo attenuation has been performed. The processing performed improved the pre-echo attenuation by attenuating, if necessary, the high frequency components in the pre-echo area.

Un exemple de réalisation d'un dispositif de traitement d'atténuation selon l'invention est maintenant décrit en référence à la figure 12 . An exemplary embodiment of an attenuation processing device according to the invention is now described with reference to the figure 12 .

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 toutes données nécessaire à la mise en oeuvre du procédé de traitement d'atténuation tel que décrit en référence à la figure 6. 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é-écho et filtrage de mise en forme spectrale, le cas échéant.Materially, 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 all data. required for the implementation of the attenuation treatment method as described with reference to the figure 6 . This device receives as input successive frames of the digital signal Se and delivers the reconstructed signal Sa with pre-echo attenuation and spectral shaping filtering, if necessary.

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étection d'une position d'attaque dans le signal décodé, de détermination d'une zone de pré-écho précédant la position d'attaque détectée dans le signal décodé, de calcul de facteurs d'atténuations par sous-bloc de la zone de pré-écho, en fonction de la trame dans laquelle l'attaque a été détectée et de la trame précédente, d'atténuation de pré-écho dans les sous-blocs de la zone de pré-écho par les facteurs d'atténuation correspondants et en outre, une étape d'application d'un filtrage de mise en forme spectrale de la zone de pré-écho sur la trame courante jusqu'à la position détectée de l'attaque, le filtrage étant à réponse impulsionnelle finie à phase nulle de fonction de transfert: c n z 1 + 1 2 c n + c n z

Figure imgb0038
avec c(n) un coefficient compris entre 0 et 0.25. La figure 6 peut illustrer l'algorithme d'un tel programme informatique.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 detecting a position of etching in the decoded signal, of determining a pre-echo zone preceding the detected attack position in the decoded signal, of calculating sub-block attenuation factors of the pre-echo zone, as a function of the frame in which the attack was detected and the previous frame, pre-echo attenuation in the sub-blocks of the pre-echo area by the corresponding attenuation factors and further, a a step of applying a spectral shaping filtering of the pre-echo zone on the current frame to the detected position of the attack, the filtering having a finite impulse response to a zero transfer function phase: vs not z - 1 + 1 - 2 vs not + vs not z
Figure imgb0038
with c (n) a coefficient between 0 and 0.25. The figure 6 can illustrate the algorithm of such a computer program.

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

Claims (12)

  1. Method of processing attenuation of pre-echo in a digital audio signal engendered on the basis of a transform-based coding, in which, on decoding, the method comprises the following steps:
    - detection (601, Detect.) of an attack position in the decoded signal;
    - determination (602, ZPE) of a pre-echo zone preceding the attack position detected in the decoded signal;
    - calculation (603, F. Att.) of attenuation factors per sub-block of the pre-echo zone, as a function at least of the frame in which the attack has been detected and of the previous frame;
    - attenuation (604, Att.) of pre-echo in the sub-blocks of the pre-echo zone by the corresponding attenuation factors;
    the method being characterized in that it furthermore comprises:
    - the application of an adaptive filtering (606, F) of spectral shaping of the pre-echo zone on the current frame until as far as the detected position of the attack, the filtering being zero-phase finite impulse response filtering with transfer function: c n z 1 + 1 2 c n + c n z
    Figure imgb0044
    with c(n) a coefficient lying between 0 and 0.25.
  2. Method according to Claim 1, characterized in that it furthermore comprises the calculation of at least one decision parameter regarding the filtering to be applied to the pre-echo zone and the adaptation of the coefficients of the filtering as a function of said at least one decision parameter.
  3. Method according to Claim 2, characterized in that said at least one decision parameter is a measurement of the strength of the detected attack.
  4. Method according to Claim 2, characterized in that said at least one decision parameter is the value of the attenuation factor in the sub-block preceding that containing the position of the attack.
  5. Method according to Claim 2, characterized in that said at least one decision parameter is based on a spectral distribution analysis of the signal of the pre-echo zone and/or of the signal preceding the pre-echo zone.
  6. Method according to Claim 3, characterized in that the measurement of the strength of the detected attack is of the form:
    P=max (EN(k), EN (k+1)/min(EN(k-1), EN(k-2)) with k, the number of the sub-block in which the attack has been detected and EN (k) the energy of the kth sub-block.
  7. Method according to Claim 2, characterized in that the adaptation of the coefficients of the filtering is performed in a discrete manner as a function of the comparison of at least one decision parameter with a predetermined threshold.
  8. Method according to Claim 2, characterized in that the adaptation of the coefficients of the filtering is performed in a continuous manner as a function of said at least one decision parameter.
  9. Method according to Claim 1, characterized in that the attenuation step is performed at the same time as the spectral shaping filtering by integrating the attenuation factors into the coefficients defining the filtering.
  10. Device for processing attenuation of pre-echo in a digital audio signal engendered on the basis of a transform-based coder, in which, the device associated with a decoder comprises:
    - a detection module (601) for detecting an attack position in the decoded signal;
    - a determination module (602) for determining a pre-echo zone preceding the attack position detected in the decoded signal;
    - a calculation module (603) for calculating attenuation factors per sub-block of the pre-echo zone, as a function at least of the frame in which the attack has been detected and of the previous frame;
    - an attenuation module (604) for attenuating the pre-echoes in the sub-blocks of the pre-echo zone by the corresponding attenuation factors;
    the device being characterized as furthermore comprising:
    - an adaptive filtering module (606) for performing a spectral shaping of the pre-echo zone on the current frame until as far as the detected position of the attack the filtering being zero-phase finite impulse response filtering with transfer function: c n z 1 + 1 2 c n + c n z
    Figure imgb0045
    with c(n) a coefficient lying between 0 and 0.25.
  11. Decoder of a digital audio signal comprising a device according to Claim 10.
  12. Computational program comprising code instructions for implementing the steps of the method according to one of Claims 1 to 9, when these instructions are executed by a processor.
EP13744654.8A 2012-06-29 2013-06-28 Effective pre-echo attenuation in a digital audio signal Active EP2867893B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1256285A FR2992766A1 (en) 2012-06-29 2012-06-29 EFFECTIVE MITIGATION OF PRE-ECHO IN AUDIONUMERIC SIGNAL
PCT/FR2013/051517 WO2014001730A1 (en) 2012-06-29 2013-06-28 Effective pre-echo attenuation in a digital audio signal

Publications (2)

Publication Number Publication Date
EP2867893A1 EP2867893A1 (en) 2015-05-06
EP2867893B1 true EP2867893B1 (en) 2018-11-28

Family

ID=47191858

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13744654.8A Active EP2867893B1 (en) 2012-06-29 2013-06-28 Effective pre-echo attenuation in a digital audio signal

Country Status (12)

Country Link
US (1) US9489964B2 (en)
EP (1) EP2867893B1 (en)
JP (1) JP6271531B2 (en)
KR (1) KR102082156B1 (en)
CN (1) CN104395958B (en)
BR (1) BR112014032587B1 (en)
CA (1) CA2874965C (en)
ES (1) ES2711132T3 (en)
FR (1) FR2992766A1 (en)
MX (1) MX349600B (en)
RU (1) RU2607418C2 (en)
WO (1) WO2014001730A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2992766A1 (en) * 2012-06-29 2014-01-03 France Telecom EFFECTIVE MITIGATION OF PRE-ECHO IN AUDIONUMERIC SIGNAL
FR3023646A1 (en) * 2014-07-11 2016-01-15 Orange UPDATING STATES FROM POST-PROCESSING TO A VARIABLE SAMPLING FREQUENCY ACCORDING TO THE FRAMEWORK
FR3025923A1 (en) * 2014-09-12 2016-03-18 Orange DISCRIMINATION AND ATTENUATION OF PRE-ECHO IN AUDIONUMERIC SIGNAL
EP3382700A1 (en) 2017-03-31 2018-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for post-processing an audio signal using a transient location detection
EP3382701A1 (en) 2017-03-31 2018-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for post-processing an audio signal using prediction based shaping
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483880A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483878A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2674710B1 (en) * 1991-03-27 1994-11-04 France Telecom METHOD AND SYSTEM FOR PROCESSING PREECHOS OF AN AUDIO-DIGITAL SIGNAL ENCODED BY FREQUENTIAL TRANSFORM.
US5731767A (en) * 1994-02-04 1998-03-24 Sony Corporation Information encoding method and apparatus, information decoding method and apparatus, information recording medium, and information transmission method
JP3186412B2 (en) * 1994-04-01 2001-07-11 ソニー株式会社 Information encoding method, information decoding method, and information transmission method
JPH08223049A (en) * 1995-02-14 1996-08-30 Sony Corp Signal coding method and device, signal decoding method and device, information recording medium and information transmission method
JP3307138B2 (en) * 1995-02-27 2002-07-24 ソニー株式会社 Signal encoding method and apparatus, and signal decoding method and apparatus
JP4581190B2 (en) * 2000-06-19 2010-11-17 ヤマハ株式会社 Music signal time axis companding method and apparatus
WO2002049001A1 (en) * 2000-12-14 2002-06-20 Sony Corporation Information extracting device
WO2003042978A1 (en) * 2001-11-16 2003-05-22 Koninklijke Philips Electronics N.V. Embedding supplementary data in an information signal
US7876966B2 (en) * 2003-03-11 2011-01-25 Spyder Navigations L.L.C. Switching between coding schemes
US7443978B2 (en) * 2003-09-04 2008-10-28 Kabushiki Kaisha Toshiba Method and apparatus for audio coding with noise suppression
EP1542226A1 (en) * 2003-12-11 2005-06-15 Deutsche Thomson-Brandt Gmbh Method and apparatus for transmitting watermark data bits using a spread spectrum, and for regaining watermark data bits embedded in a spread spectrum
FR2897733A1 (en) * 2006-02-20 2007-08-24 France Telecom Echo discriminating and attenuating method for hierarchical coder-decoder, involves attenuating echoes based on initial processing in discriminated low energy zone, and inhibiting attenuation of echoes in false alarm zone
DE102006047197B3 (en) * 2006-07-31 2008-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for processing realistic sub-band signal of multiple realistic sub-band signals, has weigher for weighing sub-band signal with weighing factor that is specified for sub-band signal around subband-signal to hold weight
US8463603B2 (en) * 2008-09-06 2013-06-11 Huawei Technologies Co., Ltd. Spectral envelope coding of energy attack signal
JP5295372B2 (en) * 2008-09-17 2013-09-18 フランス・テレコム Pre-echo attenuation in digital audio signals
FR2936898A1 (en) * 2008-10-08 2010-04-09 France Telecom CRITICAL SAMPLING CODING WITH PREDICTIVE ENCODER
CN101826327B (en) * 2009-03-03 2013-06-05 中兴通讯股份有限公司 Method and system for judging transient state based on time domain masking
JP5287546B2 (en) * 2009-06-29 2013-09-11 富士通株式会社 Information processing apparatus and program
EP2772909B1 (en) * 2011-10-27 2018-02-21 LG Electronics Inc. Method for encoding voice signal
FR2992766A1 (en) * 2012-06-29 2014-01-03 France Telecom EFFECTIVE MITIGATION OF PRE-ECHO IN AUDIONUMERIC SIGNAL
FR3000328A1 (en) * 2012-12-21 2014-06-27 France Telecom EFFECTIVE MITIGATION OF PRE-ECHO IN AUDIONUMERIC SIGNAL

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
WO2014001730A1 (en) 2014-01-03
JP6271531B2 (en) 2018-01-31
ES2711132T3 (en) 2019-04-30
CA2874965A1 (en) 2014-01-03
KR102082156B1 (en) 2020-04-14
CN104395958B (en) 2017-09-05
US20150170668A1 (en) 2015-06-18
BR112014032587A2 (en) 2017-06-27
BR112014032587B1 (en) 2022-08-09
JP2015522847A (en) 2015-08-06
MX349600B (en) 2017-08-03
MX2014015065A (en) 2015-02-17
CN104395958A (en) 2015-03-04
RU2015102814A (en) 2016-08-20
KR20150052812A (en) 2015-05-14
CA2874965C (en) 2021-01-19
FR2992766A1 (en) 2014-01-03
US9489964B2 (en) 2016-11-08
RU2607418C2 (en) 2017-01-10
EP2867893A1 (en) 2015-05-06

Similar Documents

Publication Publication Date Title
EP2867893B1 (en) Effective pre-echo attenuation in a digital audio signal
EP2936488B1 (en) Effective attenuation of pre-echos in a digital audio signal
EP2002428B1 (en) Method for trained discrimination and attenuation of echoes of a digital signal in a decoder and corresponding device
EP2104936B1 (en) Low-delay transform coding using weighting windows
EP2586133B1 (en) Controlling a noise-shaping feedback loop in a digital audio signal encoder
FR2820227A1 (en) NOISE REDUCTION METHOD AND DEVICE
FR2907586A1 (en) Digital audio signal e.g. speech signal, synthesizing method for adaptive differential pulse code modulation type decoder, involves correcting samples of repetition period to limit amplitude of signal, and copying samples in replacing block
EP3084959B1 (en) Resampling of an audio signal interrupted with a variable sampling frequency according to the frame
EP2153438A1 (en) Post-processing for reducing quantification noise of an encoder during decoding
FR2977439A1 (en) WINDOW WINDOWS IN ENCODING / DECODING BY TRANSFORMATION WITH RECOVERY, OPTIMIZED IN DELAY.
FR3007563A1 (en) ENHANCED FREQUENCY BAND EXTENSION IN AUDIO FREQUENCY SIGNAL DECODER
EP2347411B1 (en) Pre-echo attenuation in a digital audio signal
EP3192073B1 (en) Discrimination and attenuation of pre-echoes in a digital audio signal
EP3167447B1 (en) Update of post-processing states with variable sampling frequency according to the frame
EP2652735B1 (en) Improved encoding of an improvement stage in a hierarchical encoder
WO2014009657A1 (en) Processing method for improving the quality of audio frequency signals

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

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL 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 RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20171020

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

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

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20180727

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

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

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL 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 RS SE SI SK SM TR

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

Country of ref document: AT

Kind code of ref document: T

Effective date: 20181215

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602013047454

Country of ref document: DE

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

Ref legal event code: MP

Effective date: 20181128

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1071154

Country of ref document: AT

Kind code of ref document: T

Effective date: 20181128

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

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

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

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

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

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

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

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

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

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2711132

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20190430

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

Ref country code: AL

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

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

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

Ref country code: RS

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

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

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

Ref country code: NL

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

Effective date: 20181128

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

Ref country code: CZ

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

Effective date: 20181128

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

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

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602013047454

Country of ref document: DE

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

Ref country code: SK

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

Effective date: 20181128

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

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

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

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

26N No opposition filed

Effective date: 20190829

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

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20190630

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

Ref country code: TR

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

Effective date: 20181128

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

Ref country code: IE

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

Effective date: 20190628

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

Ref country code: CH

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

Effective date: 20190630

Ref country code: LU

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

Effective date: 20190628

Ref country code: LI

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

Effective date: 20190630

Ref country code: BE

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

Effective date: 20190630

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

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

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

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

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

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

Ref country code: IT

Payment date: 20230523

Year of fee payment: 11

Ref country code: FR

Payment date: 20230523

Year of fee payment: 11

Ref country code: DE

Payment date: 20230523

Year of fee payment: 11

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

Ref country code: GB

Payment date: 20230523

Year of fee payment: 11

Ref country code: ES

Payment date: 20230703

Year of fee payment: 11