WO2015145050A1 - Estimation d'un bruit de codage introduit par un codage en compression de type micda - Google Patents

Estimation d'un bruit de codage introduit par un codage en compression de type micda Download PDF

Info

Publication number
WO2015145050A1
WO2015145050A1 PCT/FR2015/050716 FR2015050716W WO2015145050A1 WO 2015145050 A1 WO2015145050 A1 WO 2015145050A1 FR 2015050716 W FR2015050716 W FR 2015050716W WO 2015145050 A1 WO2015145050 A1 WO 2015145050A1
Authority
WO
WIPO (PCT)
Prior art keywords
variance
coding noise
noise
coding
estimation
Prior art date
Application number
PCT/FR2015/050716
Other languages
English (en)
Inventor
Balazs Kovesi
Nirina Freddy RANAIVOSON
Original Assignee
Orange
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 filed Critical Orange
Publication of WO2015145050A1 publication Critical patent/WO2015145050A1/fr

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0224Processing in the time domain
    • 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
    • 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
    • G10L21/0208Noise filtering
    • G10L21/0264Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3044Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
    • H03M7/3046Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM] adaptive, e.g. adaptive differential pulse code modulation [ADPCM]

Definitions

  • the present invention relates to a method for estimating a coding noise, in particular for an ADPCM type coding (for "Impulse Modulation and Adaptive Differential Coding) .
  • the estimation of this coding noise is useful for performing post-processing signal and in particular noise reduction processing, in particular for digital audio signals in the telecommunications field, which signals may be speech, music or other signals.
  • the rate needed to pass an audio signal with sufficient quality is an important parameter in telecommunications.
  • audio coders have been developed in particular to reduce the amount of information necessary to transmit a signal.
  • Some encoders achieve particularly high information compression rates. Such coders generally use advanced information modeling and quantification techniques. Thus, such encoders transmit only models or partial data of the signal.
  • the decoded signal although not identical to the original signal (since some of the information has not been transmitted due to the quantization operation), nevertheless remains very close to the original signal.
  • quantization noise or "coding noise”.
  • coding noise We can also speak of "distortion” introduced by the coding / decoding.
  • Signal compression processes are often designed to minimize coding noise and, in particular, to make this coding noise as quiet as possible.
  • Coding noise reduction systems already exist which comprise a first quantization noise estimation module according to different techniques and a second noise reduction processing module on the decoded signal (which constitutes the input signal of the module). ), based on this estimate.
  • the problem of these systems is to find a compromise between a too strong reduction which can degrade the useful signal and a reduction too low which retains the useful signal but leaves the audible noise signal. This problem is even more true when the useful signal is complex, for example when it is composed of a mixture of speech and ambient noise.
  • the most accurate coding noise estimate is needed.
  • a post-filtering solution is for example described in the document J-LGarcia, C.Marro and B. Kovesi, entitled "a PCM coding noise reduction for ITU-T G.711.1", in Interspeech 2008, for an encoder ITU-T G.711 standardized type.
  • This document describes a method of estimating coding noise suitable for PCM type coding.
  • the estimation is thus done by the calculation per frame of the variance (or energy) of the decoded signal.
  • the estimate thus obtained makes it possible to carry out noise reduction processing on the decoded signal.
  • the MIC coding performs a logarithmic compression of the signal before performing a uniform quantization, which is equivalent to using a logarithmic quantizer.
  • the peculiarity of logarithmic quantization is that it keeps a signal-to-noise ratio (SNR) approximately constant.
  • SNR signal-to-noise ratio
  • the ADPCM coding directly uses an adaptive logarithmic quantizer to quantify the prediction error (which will be detailed later). It also provides a nearly constant SNR when this quantizer is used in its optimal dynamics and the quantization noise can still be considered white noise. On the other hand, if there is a sudden change in the energy of the prediction error to be quantified (especially for startup, offset), the adaptation may not have the time to properly scale the quantizer and converge. towards its optimum operating point so the SNR decreases. The information alone of the variance of the signal to be quantified is not sufficient in this case to properly estimate the noise level.
  • this estimated coding noise can then be used to carry out a reduction treatment of noise.
  • the present invention improves the situation.
  • this method of estimating the coding noise is adapted to the coded signal according to an ADPCM type coding.
  • the method is simple and of less complexity contrary to coding noise formatting methods that may exist on this type of coding.
  • this estimation method is feasible from a bit stream obtained comprising the information on the prediction error signal coded by the ADPCM type coding and does not require other information or encoder processing. .
  • the estimation of the variance of the coded prediction error signal is performed according to the following steps:
  • bit stream is fully decoded to obtain the prediction error signal.
  • the calculation of the variance on this decoded signal is then efficient and precise.
  • the estimation of the variance of the coded prediction error signal is carried out according to the following steps:
  • the estimation of the variance of the coding noise is a function of at least the average thus calculated.
  • the quantization scale factor is used which is obtained directly from the bit stream without fully decoding it.
  • the quantization scale factor is indeed representative of the coded prediction error signal. This method therefore makes it possible to obtain it with less complexity.
  • the method further comprises an association step for the current frame k, of a class ⁇ 3 ⁇ 4 ⁇ as a function of the value interval in which the average of the scaling factor factors is located. the current frame ⁇ and in that the estimation of the variance of the coding noise is furthermore a function of the classes determined for the current frame and for a predetermined number of previous frames.
  • the estimation of the coding noise is then made more accurately by taking into account the classes of the scale factor means. This results in a significant reduction in the mean square deviation between the field variance of the coding noise and its estimate.
  • the association of a class to a frame is carried out by searching for a minimum distance between the value of the average of the scale factors of the said frame and the centers of the disjoint intervals that form a partition of the set of possible values of the averages of the scale factors.
  • the association of a class to a frame is furthermore a function of the value of the average of the scale factors of a predetermined number of previous frames.
  • the class itself also carries the information of the evolution of the energy of the consecutive frames.
  • the variance of the coding noise is determined from n c +1 coefficients of a predefined +1 matrix by learning a database of reference audio signals and stored in memory, n c is the number of classes defined and p the number of previous frames taken into account for estimating the variance of the coding noise.
  • the coefficients of the matrix thus defined are calculated for a large number of possible situations. This makes it possible to provide more precision for different types of signals on the estimation of the coding noise.
  • the method comprises the following steps, implemented for the reference signals of the database, coded, decoded and synchronized:
  • This matrix can then be used to calculate the estimate of the variance of the coding noise effectively.
  • the calculation of the variance estimation of the coding noise is carried out according to the following equation for a tram
  • D k the average of the scale factors of the current frame k and MR [Ck-i, cJ, the coefficient of the predefined coordinate matrix (k-1, k) corresponding to the classes k-1 and k associated with the previous frame and the current frame k.
  • the invention also relates to a method for processing a coding noise reduction of a coded and decoded audio signal in compression according to an ADPCM encoding and decoding.
  • the method is such that it comprises the following steps:
  • It relates to a device for estimating a coding noise from a bit stream of a compression encoded digital audio signal according to an ADPCM type coding comprising:
  • a module for estimating a coding noise by a white noise whose variance is the estimated variance of the coding noise a module for estimating a coding noise by a white noise whose variance is the estimated variance of the coding noise.
  • a filtering module able to determine a filtering function to be applied to the decoded signal, as a function of the estimation of the coding noise, and to apply an estimated coding noise reduction processing. It also relates to a digital audio signal decoder comprising a device for estimating a coding noise as described and / or a processing device for reducing a coding noise as described.
  • the invention also relates to a computer program comprising code instructions for implementing the steps of the estimation 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 into the estimation device, possibly removable, storing a computer program implementing a method as described above.
  • FIG. 1 schematically illustrates the general structure of a codec comprising a coding noise reduction post-processing module comprising a coding noise estimation device according to one embodiment of the invention
  • FIG. 2 illustrates an ADPCM type coding for which the method and the device according to the invention can be implemented
  • FIG. 3 illustrates in flowchart form the main steps of a method of estimating a coding noise according to one embodiment of the invention
  • FIG. 4 illustrates an ITU-T G.722 standard type encoder delivering a bit stream from which the estimation method in a particular embodiment of the invention can be implemented;
  • FIG. 5 illustrates an example of the limits of the classification intervals used in a particular embodiment of the invention
  • FIG. 6 illustrates the windows implemented for the calculation of the various parameters of the estimation method according to one embodiment of the invention
  • FIG. 7 illustrates the number of samples taken into account when learning from a reference base, to determine an estimation matrix according to one embodiment of the invention
  • FIG. 8 illustrates the values of an estimation matrix of the coding noise for the low frequency band of a G.722 type coder, used in one embodiment of the estimation method of the invention.
  • FIG. 9 illustrates an example of a hardware embodiment of a coding noise estimation device according to one embodiment of the invention.
  • a signal s (n) is encoded in compression by an ADPCM type COD encoder including a quantization operation Q of the prediction error signal.
  • This coded signal is transmitted via a transmission channel CA and then decoded by a decoder DEC homologous to the coder COD.
  • the signal thus decoded, denoted x (n) then has a quantization or coding noise b (n) which is defined mathematically as a difference ⁇ s (n) -x (nj) or (x (n) -s ( n)), the sign does not matter here.
  • a quantization noise reduction processing unit TBQ is provided downstream of the decoder DEC to suppress or at least limit the coding noise (to make it less audible) in the signal x (n).
  • the processing unit comprises a device BQ for estimating the coding noise.
  • This coding noise estimation device comprises a module 100 for estimating the variance of the coded prediction error signal.
  • This module 100 itself comprises a module 101 for obtaining the decoded prediction error signal (e (n)) or a quantization scale factor per sample (v (n)), starting from a bit stream of an audio signal encoded according to an ADPCM type coding and received at the DEC decoder.
  • the decoder can also provide the TBQ module with the decoded prediction error signal (e (n)) or the quantization scale factors per sample (v (n )).
  • the module 100 further comprises a calculation module 102, either of the energy of the decoded prediction error signal (E k ), or of an average D k of the scaling factors for a current frame k of the decoded audio signal. . This calculation defines in both cases the variance of the coded prediction error signal. From this variance from the module 100, a module 103 estimates the variance of the coding noise E vk . The device BQ also comprises a module 104 for estimating the coding noise from the variance determined by the module 103.
  • the estimation of the coding noise B k thus obtained by the device BQ is then sent to the input of a filtering module 105 which applies to the decoded signal x (n), performs the estimated noise reduction processing.
  • the post-processed signal x '(n) is output from the processing device TBQ.
  • ADPCM or ADPCM (Adaptive Differential Pulse Code Modulation) technology is a technique for compressing multimedia signals.
  • the Examples of the most well-known and widely used ADPCM encoders are two ITU-T (International Telecommunication Union) -type speech coders: the ITU-T G.726 coder for voice-band signals (or narrow band) sampled at 8 kHz (DECT coder for "Digital Enhanced Cordless Telecommunications") and the ITU-T G.722 coder for broadband signals sampled at 16 kHz (HD voice coder for VoIP).
  • the ADPCM coding is a predictive coding where the current sample is predicted by an ARMA type adaptive predictor (for "Auto Regressive Moving Average") from the decoded past values.
  • an ARMA type adaptive predictor for "Auto Regressive Moving Average” from the decoded past values.
  • Qa 1 a local inverse quantizer
  • the decoder can make the same prediction as the encoder.
  • the adaptation of the predictor is also made from the decoded values (of the decoded signal and the decoded prediction error), sample by sample, without additional transmission of information.
  • the ADPCM encoder (COD) shown in Figure 2 quantifies the difference e (n) (the prediction error) between the prediction x p (n), derived from the adaptive predictor (Pred.A), of the current sample and the true value s (n) of the current sample using an adaptive scalar quantizer (Qa).
  • the coded amplitude of the prediction error is composed of 2 parts: a constant part y (I (n)) stored in ROM memory indexed by the scalar quantization values and a multiplicative adaptive factor v (n) (in the domain linear) called scale factor, whose adaptation is made without additional transmission of information, sample by sample, according to the transmitted quantization index. The adaptation of the scale factor is described later.
  • this scale factor is approximately proportional to the variance of the prediction error signal, so this scale factor is very representative of the prediction error signal.
  • the scalar quantization indices obtained are transmitted by quantifying the sample prediction error per sample. These scalar quantization indices are decomposed into a sign bit sign (n) and an amplitude quantization index I (n).
  • the decoder To decode the bitstream, the decoder (DECOD) performs sample-to-sample inverse quantization of the prediction error using the inverse adaptive quantizer (Qa 1 ). The decoder also makes the same prediction of the current sample as that made to the encoder, using the same ARMA adaptive predictor (Pred.A) (in the absence of transmission errors) adapted sample by sample. In case of transmission errors, the decoder predictor and quantizer diverge from those at the encoder.
  • Pred.A ARMA adaptive predictor
  • the decoded value of the current sample is obtained by adding the prediction and the dequantized value of the prediction error.
  • the predictions do not provide any additional error because they are done in parallel from the decoded signal.
  • MIC coding and ADPCM coding are low complexity coders. It is therefore important that the noise reduction algorithm is also of low complexity to be able to implement it on the same processors as those of the coding.
  • it is possible to estimate the variance of the prediction error signal by completely decoding this signal (the prediction error) from the ADPCA bit stream and calculating its energy or variance.
  • Another efficient and much less complex method is to decode only the scale factors v (n) and to estimate the variance from these values.
  • the decoder can also provide the estimation module with either the decoded prediction error or the decoded scale factor.
  • FIG. 3 illustrates in flowchart form the main steps of a method of estimating a coding noise, according to one embodiment.
  • step E300 the variance of the coded prediction error signal is estimated.
  • step E301 from the bit stream T, in a first embodiment, the decoded prediction error signal e (n) is obtained by completely decoding the bit stream or according to a second mode of producing, for a current frame of decoded size / signal, the quantization scale factors of the prediction error v (n) obtained per sample.
  • step E302 an energy calculation of the decoded prediction error signal is performed to obtain the variance of the error signal.
  • step E302 calculating an arithmetic mean D k of the scaling factors v (n) for the frame ⁇ is performed.
  • step E300 is followed by step E305 of estimating the variance of the quantization noise as a function of the variance of the prediction error signal.
  • the variance of the quantization noise is estimated from the energy of the decoded prediction error signal and according to the second embodiment, the variance of the quantization noise is estimated from the average of scale factors D k .
  • the estimation of the variance of the quantization noise is obtained by dividing D k by a constant.
  • another embodiment providing more precision also takes into account a class c k depending on the value of the average of the scale factors. D k or energy E k to estimate the variance of the quantization noise.
  • This classification is equivalent to a scalar quantization of the values D k on n c values, where n c is the total number of classes.
  • step E304 the value c k for the current frame is stored for later use when calculating the variance estimate of step E305 for this embodiment.
  • step E305 From D k , c k , and c k _ ⁇ ; ie (l; p) the classes of p previous frames, with p a predetermined value, the estimate of the variance of the coding noise is calculated. in step E305:
  • an estimate of the coding noise is obtained from the estimate of the variance calculated in step E305.
  • This estimate of the coding noise is obtained by a white noise whose variance is that estimated at step E305.
  • White noise is a random signal whose spectral power density is the same over the entire bandwidth shown, this frequency width is half of the sampling frequency.
  • the variance of a white noise depends on its power spectral density value and the sampling frequency. Thus, by knowing the sampling frequency and the variance, the level of the power spectral density can be determined by a simple multiplication of the variance by a constant depending on the sampling frequency.
  • the filtering module 105 of FIG. 1 performs noise reduction processing from the noise estimated in step E306.
  • This module uses the principles of the filter used in Annex C of the ITU-T G.711.1 standard encoder. For a frame k, from the decoded signal x (n) and the estimate of the noise for the same frame, one calculates in the frequency domain a filter (/) by the technique of TSNR ("Two Step Noise Reduction") described for example in the document entitled “Two-step noise reduction technique” authors C.PIapous, C.Marro, LMauuary & P.Scalart, in ICASSP 2004.
  • the signal-to-noise ratio a priori for the frame is calculated in two steps. Firstly, a first RSB estimate priol is calculated by a decision directed between the RSB a priori final of the previous frame and the RSB a posteriori:
  • This filter makes it possible to refine the estimation of the RSB a priori by considering this time the PSD of the signal filtered by W l .
  • a second estimate of the RSB a priori 7 is then given by: x ik) (f). (W ⁇ k) (f))
  • the filter is then calculated from this second version of the RSB by the Wiener form.
  • a temporal and causal FIR filter h (n) is calculated:
  • the filtering module 105 therefore implements a step of determining a filtering function to be applied to the decoded signal, as a function of the estimation of the coding noise, obtained according to the steps E301 to E306, to apply a reduction treatment. of coding noise.
  • the embodiment described below is given for an estimation of the low-band coding noise of a ITU-T G.722 standard-type encoder.
  • the signal of the low sub-band is indeed encoded by an independent ADPCM encoder.
  • Such an encoder is for example described in "ITU-T G.722, 7 kHz audio coding within 64 kbit / s, Sep. 2012" and illustrated in Figure 4 described now.
  • the G.722 encoder encodes the input signal (x (n)) sampled at 16 kHz into two sub-bands sampled at 8 kHz.
  • the division into sub-bands is done by a quadrature mirror filter (QMF) by the module 401. From two input samples the QMF filter outputs a sample x L (n ) of low band (0-4000 Hz) and a sample x H (n) of high band (4000-8000 Hz).
  • the signals of the 2 subbands are independently coded by ADPCM encoders 402 and 403.
  • the indices of the two quantized prediction errors I H (n) and I L (n) are thus transmitted in the bit stream I (n) after multiplexing at 404.
  • the G.722 coder has three bit rates: 64, 56 and 48 kbit / s. Each sample in the lower sub-band is coded on 6 bits at the highest bit rate (48 kbit / s), 5 bits at the intermediate bit rate (40 kbit / s), and 4 bits at the lowest bit rate (32 kbit / s) ).
  • the low subband coded stream consists of the 4-bit core layer per sample and two 1-bit enhancement layers per sample each.
  • the high subband is always coded on 2 bits (16 kbit / s) per sample regardless of the bit rate.
  • the adaptation of the low band quantizer of the G.722 encoder is described.
  • the lowest rate prediction error 48 kbit / s including 32 kbit / s low band
  • 1 sign bit (n) 1 sign bit (n)
  • 3 bits I (n) to choose among the 8 possible amplitudes of the scalar quantizer.
  • the bit stream of G.722 does not directly contain the 3 bits of the index I (n), but it can be easily deduced from the 4 bits extracted from the bit stream according to Table 2 below:
  • the decoded amplitude of the prediction error is decomposed into 2 parts: a logarithmic constant part y (I (n)) stored in I (n) indexed ROM, and a multiplicative adaptive factor called scale factor v (n).
  • y logarithmic constant part
  • v multiplicative adaptive factor
  • the 4-bit fixed quantizer (including 1 sign bit) in the lower G.722 band contains the following 8 amplitude values, given in Table 3:
  • the scale factor v (n) makes it possible to adapt the extent of the quantizer to the amplitude of the signal to be quantified sample by sample to ensure a good signal-to-noise ratio regardless of the level of the prediction error.
  • the adaptation is done in the following way: when to quantify the prediction error one uses one of the largest levels of the scalar quantizer one increases the value of the scale factor by multiplying it by a factor of adaptation M (I ( n)) greater than 1 to extend the quantizer a little more and thus avoid saturation of the quantizer.
  • the value of the scale factor is decreased by multiplying it by an adaptation factor M (I (n)) less than 1 to further narrow the quantizer and so better use its dynamics and get a good signal-to-noise ratio.
  • the value of the adaptation factor M (I (n)) therefore depends on the transmitted quantification index I (n), it is less than 1 if the index corresponds to a low quantified value (0, 0.037 and 0.079 in the example of the low band of the G.722 encoder) and greater than 1 for other values.
  • this adaptation is made in the logarithmic domain, by adding the log matching factor Mi (I (n)) corresponding to the amplitude index transmitted I (n) to the logarithmic scale factor vi (n).
  • Table 4 gives the values of the adaptation factor in the logarithmic domain Mi (I (n)) and the multiplicative adaptation factor in the linear domain M (I (n)) for the 8 possible levels:
  • v ' L (n) min (max (v l (n - ⁇ ) + M L (l (n - ⁇ )), ⁇ ) ), 18432)
  • step E302 the average D k of v (n) is obtained as described with reference to FIG. 3.
  • step E303 determining the interval in which D k is associated with the frame k a class c k , where n c is the total number of classes, set at 40 in this embodiment.
  • this class c k and the class c k _ x of the preceding frame make it possible to determine in a matrix MR [i; j], of size n c .n c the parameter which makes it possible to estimate the variance of the noise E v as follows:
  • MR will be a vector of size ri a ,.
  • the MR dimension may be lengthened. Here fixed at 2, it is possible to enlarge it to 3.4 or even beyond, the parameters being taken into account in input being the classes ⁇ 3 ⁇ 4 ,, ⁇ current and previous frames.
  • a learning is performed from a database comprising a concatenation of different signal conditions: clean speech, speech with background noise, music, and mixing of speech and music .
  • the signals of this database are encoded, decoded so as to extract:
  • This windowing also has the advantage of not introducing a delay.
  • This type of windowing is illustrated with reference to Figure 6 where the signal (x (n)), the asymmetric Hanning windows (fen.) And the frame boundaries (lim) can be seen.
  • the arrow shown in the figure represents the overlap.
  • This window ensures continuity and has the advantage of not introducing additional delay because it does not require knowledge of the samples belonging to the next frame.
  • windows can also be used, such as a 72-sample balanced Hamming window centered on the frame, also covering 16 samples of the next frame ("Lookahead" in English). The use of such a window will however increase the algorithmic delay by the duration of 16 samples (2 ms with the sampling frequency of 8000 Hz).
  • the class number / 7c is set to 40.
  • An array CI represents the centers of the class intervals. These intervals are determined by their limits LI, obtained by partition "equiprobable" of D. On each segment, one finds the same number of value of £> in the base of learning.
  • the array CI therefore has a vector of size 40 whose values are defined as follows:
  • V (c, d) e (1; 40) 2 ' card (D k e [LI (c); LI (c + ⁇ )) card (D k e [LI (d); LI (d + ⁇ ) )
  • intervals and centers Variations on the choice of intervals and centers are possible. On the choice of intervals, one can obviously choose a partition in segments of equal size or a partition in segments of different sizes, according to an exponential sequence, where the size of the interval is double the precedent for example.
  • the centers can also take into account the distribution of the elements of the database in each interval, either by average of these elements, or by choice of the median.
  • Mean: Cl (c) mean ⁇ D k ID k e (zJ (c): ZJ (c + 1)))
  • pairs (i) are not represented in the learning base.
  • We know that we will always find a class j such that the problem is to find the subset of k such that the precedent is c k -i i, this subset being empty.
  • We will then take the mean of the r k with c k j
  • Figure 7 illustrates the number of frames allocated to each element of the matrix MR, with the learning base used. Despite a large size of the learning base, a certain number of pairs (c k , c k- i) may be absent. It can be observed that where Ck-i is large (which means an average factor D k _i high) and where c k is small (meaning an average of D low k factor) are never represented in the basis of learning (black boxes in the upper left corner in the figure). This has a physical explanation. Indeed, we do not go from a frame of very high energy to a frame of very low energy.
  • Figure 8 shows the values of the MR matrix thus obtained. We can observe the great dynamics of these values (between 20 and 160). We also see that, as expected, these values are the highest in the diagonal of this matrix corresponding to the cases where the signal energy does not change significantly from frame to frame and where the adaptation of the scale factor is optimal. . And conversely, these values are low far from the diagonal corresponding to the case where the energy of the signal to be quantized increases sharply and where the automatic adaptation has difficulty finding the optimum operating point because of a stronger quantization noise. .
  • step E302 is followed by step E305
  • the matrix MR ' is filled with a constant (the average value of all the values D k ).
  • the estimate of the variance of the coding noise is then calculated by the value of the average D k per frame divided by the constant value. This estimate does not take into account the transition zones that may occur.
  • FIG. 9 represents an example of a hardware embodiment of an estimation device 900 according to the invention. This may be an integral part of a quantization noise reduction (QT) processing device or an audio frequency decoder or equipment receiving decoded audio signals.
  • QT quantization noise reduction
  • This type of device comprises a PROC processor cooperating with a memory block BM having a memory storage and / or work MEM.
  • Such a device comprises an input module E adapted to receive a bit stream T of a coded digital audio signal and an output module S capable of transmitting the estimation of the quantization noise determined by the device to an integrated filtering module or not to the device.
  • the memory block may advantageously comprise a computer program comprising code instructions for implementing the steps of the estimation method in the sense of the invention, when these instructions are executed by the processor PROC, and in particular the estimation steps.
  • the variance of the coding noise as a function of an estimation of the variance of the coded prediction error signal and the estimation of a coding noise by a white noise whose variance is the estimated variance of the coding noise.
  • FIG. 3 shows the steps of an algorithm of such a computer program.
  • the computer program can also be stored on a memory medium readable by a reader of the device or downloadable in the memory space thereof.
  • the memory MEM records according to one embodiment, the classes determined from the scale factor means of the processed frames and in general, all the data necessary for the implementation of the method.
  • the device thus described may also include the decoding functions, the processing functions in addition to the coding noise estimation functions according to the invention.

Landscapes

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

Abstract

La présente invention se rapporte à un procédé d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA codant un signal d'erreur de prédiction. Il comporte les étapes suivantes: - estimation de la variance du bruit de codage (E305) en fonction d'une estimation de la variance du signal d'erreur de prédiction codé (E300); - estimation d'un bruit de codage (E306) par un bruit blanc dont la variance est la variance estimée du bruit de codage. L'invention se rapporte également à un dispositif mettant en œuvre ce procédé d'estimation. L'invention se rapporte également à un procédé de traitement de réduction d'un bruit de codage utilisant le procédé d'estimation, à un dispositif mettant en œuvre ce dernier procédé et à un décodeur intégrant ces dispositifs.

Description

Estimation d'un bruit de codage introduit par un codage en compression de type
MICDA
La présente invention concerne un procédé d'estimation d'un bruit de codage, en particulier pour un codage de type MICDA (pour "Modulation par Impulsion et Codage Différentiel Adaptatif). L'estimation de ce bruit de codage est utile pour effectuer des posttraitements du signal et notamment des traitements de réduction du bruit, en particulier pour des signaux audio numériques dans le domaine des télécommunications. Ces signaux peuvent être des signaux de parole, de musique ou autres.
Généralement, le débit nécessaire pour faire transiter un signal audio avec une qualité suffisante est un paramètre important en télécommunications. Afin de réduire ce paramètre et d'augmenter alors le nombre de communications possibles via un même réseau, des codeurs audio ont été développées notamment pour diminuer la quantité d'informations nécessaire pour transmettre un signal.
Certains codeurs permettent d'atteindre des taux de compression de l'information particulièrement élevés. De tels codeurs utilisent en général des techniques avancées de modélisation et de quantification de l'information. Ainsi, de tels codeurs ne transmettent que des modèles ou des données partielles du signal.
Le signal décodé, bien qu'il ne soit pas identique au signal original (puisqu'une partie de l'information n'a pas été transmise du fait de l'opération de quantification), reste néanmoins très proche du signal original. La différence, du point de vue mathématique, entre le signal décodé et le signal original est alors appelée "bruit de quantification" ou "bruit de codage". On peut parler aussi de "distorsion" introduite par le codage/décodage.
Les traitements en compression de signaux sont souvent conçus de manière à minimiser le bruit de codage et, en particulier, à rendre ce bruit de codage le moins audible possible.
Il existe déjà des systèmes de réduction de bruit de codage qui comportent un premier module d'estimation du bruit de quantification selon différentes techniques et un deuxième module de traitement de réduction de bruit sur le signal décodé (qui constitue le signal d'entrée du module), à partir de cette estimation. La problématique de ces systèmes est de trouver un compromis entre une réduction trop forte qui peut dégrader le signal utile et une réduction trop faible qui conserve bien le signal utile mais laisse le signal de bruit audible. Cette problématique est d'autant plus vraie lorsque le signal utile est complexe, par exemple lorsqu'il est composé d'un mélange de parole et de bruit ambiant. Pour pouvoir trouver le point de fonctionnement optimal de réduction de bruit entre réduction et distorsion on a besoin d'une estimation de bruit de codage la plus précise possible. Une solution de post-filtrage est par exemple décrite dans le document des auteurs J- LGarcia, C.Marro et B.Kovesi, intitulé "a PCM coding noise réduction for ITU-T G.711.1", dans Interspeech 2008, pour un codeur de type normalisé ITU-T G.711.
Ce document décrit une méthode d'estimation du bruit de codage adaptée au codage de type MIC. L'estimation s'effectue ainsi par le calcul par trame de la variance (ou de l'énergie) du signal décodé.
L'estimation ainsi obtenue permet d'effectuer un traitement de réduction de bruit sur le signal décodé.
Cependant, cette solution adaptée au codage MIC n'est pas toujours précise ni efficace pour d'autres types de codage en compression, notamment pour un codage de type MICDA.
Le codage MIC effectue une compression logarithmique du signal avant d'effectuer une quantification uniforme, ce qui est équivalent à l'utilisation d'un quantificateur logarithmique. La particularité de la quantification logarithmique est qu'elle garde un rapport signal à bruit (RSB) à peu près constant. Ainsi à partir de la variance du signal, il est possible pour ce type de codage d'estimer la variance du bruit par simple multiplication par une constante.
Le codage MICDA utilise directement un quantificateur logarithmique adaptatif pour quantifier l'erreur de prédiction (qui sera détaillée ultérieurement). Il assure également un RSB à peu près constant quand ce quantificateur est utilisé dans sa dynamique optimale et le bruit de quantification peut toujours être considéré comme un bruit blanc. Par contre en cas changement brusque de l'énergie de l'erreur de prédiction à quantifier (surtout pour le démarrage, « offset » en anglais) l'adaptation peut ne pas avoir le temps de bien mettre à l'échelle le quantificateur et converger vers son point de fonctionnement optimal ainsi le RSB diminue. L'information seule de la variance du signal à quantifier n'est pas suffisante dans ce cas pour bien estimer le niveau du bruit.
Il existe donc un besoin d'estimer avec une bonne précision, le bruit de codage engendré par un codage différent du codage MIC, notamment pour un codage de type MICDA, ce bruit de codage estimé pouvant alors être utilisé pour effectuer un traitement de réduction de bruit.
La présente invention vient améliorer la situation.
Elle propose à cet effet, un procédé d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA codant un signal d'erreur de prédiction. Le procédé est tel qu'il comporte les étapes suivantes:
- estimation de la variance du bruit de codage en fonction d'une estimation de la variance du signal d'erreur de prédiction codé; - estimation d'un bruit de codage par un bruit blanc dont la variance est la variance estimée du bruit de codage.
Ainsi, cette méthode d'estimation du bruit de codage est adaptée au signal codé selon un codage de type MICDA. La méthode est simple et de moindre complexité contrairement à des méthodes de mise en forme du bruit de codage qui peuvent exister sur ce type de codage. De plus, cette méthode d'estimation est réalisable à partir d'un flux binaire obtenu comportant l'information sur le signal d'erreur de prédiction codé par le codage de type MICDA et ne nécessite pas d'autres informations ou de traitements du codeur.
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'estimation défini ci-dessus.
Dans un premier mode de réalisation, l'estimation de la variance du signal d'erreur de prédiction codé est effectuée selon les étapes suivantes:
- obtention du signal d'erreur de prédiction décodé;
- calcul de l'énergie du signal d'erreur de prédiction décodé obtenu pour déterminer sa variance.
On utilise ici de façon équivalente les termes variance ou énergie. En effet pour les signaux bien centrés, ce qui est le cas pour les signaux concernés ici les deux mesures sont quasiment identique (et parfaitement identique pour les signaux parfaitement centrés).
Dans ce mode de réalisation, le flux binaire est entièrement décodé pour obtenir le signal d'erreur de prédiction. Le calcul de la variance sur ce signal décodé est alors efficace et précis.
Dans un deuxième mode de réalisation, l'estimation de la variance du signal d'erreur de prédiction codé est effectuée selon les étapes suivantes:
- obtention de facteurs d'échelle de quantification par échantillon pour une trame courante du signal audio décodé;
- calcul d'une moyenne des facteurs d'échelle obtenus pour les échantillons de la trame courante;
l'estimation de la variance du bruit de codage est fonction au moins de la moyenne ainsi calculée.
Dans ce mode de réalisation, on utilise le facteur d'échelle de quantification qui est obtenu directement à partir du flux binaire sans le décoder entièrement. Le facteur d'échelle de quantification est en effet représentatif du signal d'erreur de prédiction codé. Cette méthode permet donc de l'obtenir avec une moindre complexité. Dans un mode de réalisation particulier, le procédé comporte en outre une étape d'association pour la trame courante k, d'une classe <¾· en fonction de l'intervalle de valeur dans lequel se situe la moyenne des facteurs d'échelle de la trame courante ^ et en ce que l'estimation de la variance du bruit de codage est en outre fonction des classes déterminées pour la trame courante et pour un nombre prédéterminé de trames précédentes.
L'estimation du bruit de codage s'effectue alors de façon plus précise avec la prise en compte des classes des moyennes de facteur d'échelle. On obtient en effet une réduction significative de l'écart quadratique moyen entre la variance par trame du bruit de codage et de son estimation.
De façon simple, l'association d'une classe à une trame s'effectue par la recherche d'une distance minimum entre la valeur de la moyenne des facteurs d'échelle de la dite trame et les centres des intervalles disjoints que forment une partition de l'ensemble des valeurs possibles des moyennes des facteurs d'échelle.
Dans une variante de réalisation, l'association d'une classe à une trame est en outre fonction de la valeur de la moyenne des facteurs d'échelle d'un nombre prédéterminé de trames précédentes. Ainsi la classe elle-même porte également l'information de l'évolution de l'énergie des trames consécutives. En analogie avec la différence entre la quantification scalaire et la quantification vectorielle, cette solution est plus performante mais également plus complexe (en stockage et en calcul).
Dans un mode de réalisation particulier, la variance du bruit de codage est déterminée à partir de nc +1 coefficients d'une matrice de dimension +1 prédéfinie par apprentissage d'une base de données de signaux audio de référence et stockée en mémoire, nc étant le nombre de classes déterminées et p le nombre de trames précédentes prises en compte pour l'estimation de la variance du bruit de codage.
Dans un mode de réalisation préféré p = 1.
Les signaux de référence pouvant être de type différents, les coefficients de la matrice ainsi définie sont calculés pour un grand nombre de situations possibles. Ceci permet d'apporter plus de précision pour différents types de signaux sur l'estimation du bruit de codage.
Dans un mode de réalisation particulier, le procédé comporte les étapes suivantes, mises en œuvre pour les signaux de référence de la base de données, codés, décodés et synchronisés:
- extraction par trame de facteurs d'échelle;
- calcul d'un bruit de codage par soustraction au signal décodé du signal d'origine;
- calcul des moyennes des facteurs d'échelle par trame, des écarts type du bruit de codage pour chaque trame fenêtré par une fenêtre incluant un nombre prédéterminé d'échantillons de la trame précédente; Ces calculs sur différents types de signaux permettent de calculer les coefficients de la matrice prédéfinie de la façon suivante:
- calcul pour chaque trame d'un rapport entre la moyenne et l'écart type calculés pour les signaux de référence de la base de données;
-obtention et enregistrements des coefficients de la matrice par calcul d'une moyenne des rapports calculés pour chaque coordonnée (i,j) de la matrice, correspondant aux classes i et j respectives.
Cette matrice pourra alors être utilisée pour calculer l'estimation de la variance du bruit de codage, de façon efficace.
Ainsi, de façon optimale et dans un mode de réalisation particulier le calcul d'estimation de la variance du bruit de codage s'effectue selon l'équation suivante pour une tram
Figure imgf000007_0001
Avec Dk la moyenne des facteurs d'échelle de la trame courante k et MR[Ck-i,cJ, le coefficient de la matrice prédéfinie de coordonnée (k-1, k) correspondant aux classes k-1 et k associées à la trame précédente et à la trame courante k.
L'invention vise également un procédé de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA. Le procédé est tel qu'il comporte les étapes suivantes:
- estimation d'un bruit de codage selon un procédé d'estimation décrit ci-dessus;
-détermination d'une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, pour appliquer un traitement de réduction de bruit de codage estimé.
Elle vise un dispositif d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA comportant:
- un module d'estimation de la variance du bruit de codage en fonction du résultat d'un module d'estimation de la variance du signal d'erreur de prédiction codé;
- un module d'estimation d'un bruit de codage par un bruit blanc dont la variance est la variance estimée du bruit de codage.
Elle vise également un dispositif de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA, comportant:
- un dispositif d'estimation d'un bruit de codage tel que décrit;
-un module de filtrage apte à déterminer une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, et à appliquer un traitement de réduction de bruit de codage estimé. Elle vise aussi un décodeur de signal audionumérique comprenant un dispositif d'estimation d'un bruit de codage tel que décrit et/ou un dispositif de traitement de réduction d'un bruit de codage tel que décrit.
Ces dispositifs et ce décodeur présentent les mêmes avantages que les procédés décrits précédemment, qu'ils mettent en œuvre.
L'invention vise également un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé d'estimation tel que décrit, lorsque ces instructions sont exécutées par un processeur.
Enfin l'invention se rapporte à un support de stockage, lisible par un processeur, intégré ou non au dispositif d'estimation, éventuellement amovible, mémorisant un programme informatique mettant en œuvre un procédé de tel que décrit précédemment.
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 illustre de façon schématique la structure générale d'un codée comportant un module de post-traitement de réduction de bruit de codage comportant un dispositif d'estimation de bruit de codage selon un mode de réalisation de l'invention;
la figure 2 illustre un codée de type MICDA pour lequel le procédé et le dispositif selon l'invention peuvent être mis en œuvre;
la figure 3 illustre sous forme d'organigramme, les étapes principales d'un procédé d'estimation d'un bruit de codage selon un mode de réalisation de l'invention;
la figure 4 illustre un codeur de type normalisé ITU-T G.722 délivrant un flux binaire à partir duquel le procédé d'estimation dans un mode particulier de réalisation de l'invention, peut être mis en œuvre;
la figure 5 illustre un exemple de limites des intervalles de classification utilisés dans un mode de réalisation particulier de l'invention;
la figure 6 illustre les fenêtres mises en œuvre pour le calcul des différents paramètres du procédé d'estimation selon un mode de réalisation de l'invention; La figure 7 illustre le nombre d'échantillons pris en compte lors de l'apprentissage à partir d'une base de référence, pour déterminer une matrice d'estimation selon un mode de réalisation de l'invention;
La figure 8 illustre les valeurs d'une matrice d'estimation du bruit de codage pour la bande basse fréquence d'un codeur de type G.722, utilisé dans un mode de réalisation du procédé d'estimation de l'invention; et
La figure 9 illustre un exemple de réalisation matérielle d'un dispositif d'estimation de bruit de codage selon un mode de réalisation de l'invention. En référence à la figure 1, une chaîne de traitement d'un signal audio est présentée. Un signal s(n) est codé en compression par un codeur COD de type MICDA comportant une opération de quantification Q du signal d'erreur de prédiction. Ce signal codé est transmis via un canal de transmission CA puis décodé par un décodeur DEC homologue du codeur COD. Le signal ainsi décodé, noté x(n), présente alors un bruit de quantification ou de codage b(n) qui se définit mathématiquement comme un écart {s(n) -x(nj) ou (x(n) -s(n)), le signe n'ayant pas d'importance ici. Une unité de traitement de réduction du bruit de quantification TBQ est prévu en aval du décodeur DEC, pour supprimer ou au moins limiter le bruit de codage (pour le rendre moins audible) dans le signal x(n).
Pour effectuer ce traitement de réduction de bruit, que l'on appellera également posttraitement, l'unité de traitement comporte un dispositif BQ d'estimation du bruit de codage.
Ce dispositif d'estimation du bruit de codage comporte un module 100 d'estimation de la variance du signal d'erreur de prédiction codé. Ce module 100 comporte lui-même un module 101 d'obtention du signal d'erreur de prédiction décodé (e(n)) ou bien d'un facteur d'échelle de quantification par échantillon (v(n)), à partir d'un flux binaire d'un signal audio codé selon un codage de type MICDA et reçu au décodeur DEC.
Dans le cas où les signaux internes du décodeur DEC sont accessibles, le décodeur peut également fournir au module TBQ le signal d'erreur de prédiction décodé (e(n)) ou bien les facteurs d'échelle de quantification par échantillon (v(n)).
Néanmoins, le décodeur DEC déterminant lui-même ces signaux e(n) et v(n) à partir du flux binaire reçu, on peut donc généraliser en disant ces signaux sont obtenus à partir d'un flux binaire d'un signal audionumérique codé.
Le module 100 comporte en outre un module de calcul 102 soit de l'énergie du signal d'erreur de prédiction décodé (Ek), soit d'une moyenne Dk des facteurs d'échelles pour une trame courante k du signal audio décodé. Ce calcul définit dans les deux cas, la variance du signal d'erreur de prédiction codé. A partir de cette variance issue du module 100, un module 103 estime la variance du bruit de codage Evk. Le dispositif BQ comporte également un module 104 d'estimation du bruit de codage à partir de la variance déterminée par le module 103.
L'estimation du bruit de codage Bk ainsi obtenue par le dispositif BQ est ensuite envoyée en entrée d'un module de filtrage 105 qui appliqué au signal décodé x(n), effectue le traitement de réduction de bruit estimé.
Le signal post-traité x'(n) est fourni en sortie du dispositif de traitement TBQ.
On rappelle ci-dessous, en référence à la figure 2, les caractéristiques de la technologie MICDA.
La technologie MICDA ou ADPCM (pour « Adaptative Differential Puise Code Modulation » en anglais) est une technique de compression des signaux multimédias. Les exemples de codeurs utilisant la technologie MICDA les plus connus et les plus utilisés sont deux codeurs de parole, normalisés à l'UIT-T (Union Internationale des Télécommunications): le codeur UIT-T G.726 pour des signaux en bande téléphonique (ou bande étroite) échantillonnés à 8 kHz (codeur DECT pour « Digital Enhanced Cordless Télécommunications» en anglais) et le codeur UIT-T G.722 pour des signaux en bande élargie échantillonnés à 16 kHz (codeur voix HD pour la VoIP).
Le codage MICDA est un codage prédictif où l'échantillon courant est prédit par un prédicteur adaptatif de type ARMA (pour « Auto Régressive Moving Average » en anglais) à partir des valeurs décodées passées. En utilisant les valeurs décodées aussi à l'encodeur donné par un quantificateur inverse local (Qa 1), le décodeur peut faire la même prédiction que l'encodeur. L'adaptation du prédicteur est également faite à partir des valeurs décodées (du signal décodé et de l'erreur de prédiction décodée), échantillon par échantillon, sans transmission d'information supplémentaire.
L'encodeur MICDA (COD) représenté en figure 2, quantifie la différence e(n) (l'erreur de prédiction) entre la prédiction xp (n) , issu du prédicteur adaptatif (Pred.A), de l'échantillon courant et la vraie valeur s(n) de l'échantillon courant en utilisant un quantificateur scalaire adaptatif (Qa). L'amplitude codée de l'erreur de prédiction est composée de 2 parties : une partie constante y(I(n)) stockée en mémoire ROM indexée par les valeurs de quantification scalaire et un facteur adaptatif multiplicatif v(n) (dans le domaine linéaire) appelé facteur d'échelle, dont l'adaptation est faite sans transmission d'information supplémentaire, échantillon par échantillon, en fonction de l'indice de quantification transmis. L'adaptation du facteur d'échelle est décrite plus loin. On note également que ce facteur d'échelle est à peu près proportionnel avec la variance du signal d'erreur de prédiction, ce facteur d'échelle est donc très représentatif du signal d'erreur de prédiction. Dans le flux binaire ("bitstream" en anglais) MICDA, on transmet donc uniquement les indices de quantification scalaire obtenus en quantifiant l'erreur de prédiction échantillon par échantillon. Ces indices de quantification scalaire se décomposent en un bit de signe sign(n) et un indice de quantification d'amplitude I(n).
Pour décoder le flux binaire, le décodeur (DECOD) effectue une quantification inverse échantillon par échantillon de l'erreur de prédiction utilisant le quantificateur adaptatif inverse (Qa 1). Le décodeur fait également la même prédiction de l'échantillon courant que celle effectuée à l'encodeur, en utilisant le même prédicteur adaptatif ARMA (Pred.A) (en l'absence d'erreurs de transmission) adapté échantillon par échantillon. En cas d'erreurs de transmission, le prédicteur et le quantificateur au décodeur divergent de ceux à l'encodeur.
Grâce à l'utilisation de facteurs d'oubli ils re-convergent généralement en quelques millisecondes. La valeur décodée de l'échantillon courant est obtenue en additionnant la prédiction et la valeur déquantifiée de l'erreur de prédiction. Le bruit de quantification d'une telle architecture de codeur MICDA revient finalement ) = s (n) - x(n) = e{n) - eQ (n) lorsqu'on ne prend pas en compte des erreurs de transmission. Les prédictions n'apportent pas d'erreur supplémentaire car elles se font en parallèle à partir du signal décodé.
Le codage MIC et le codage MICDA sont des codeurs de faible complexité. Il est donc important que l'algorithme de réduction de bruit soit également de faible complexité pour pouvoir l'implémenter sur les mêmes processeurs que ceux du codage. Ainsi, selon l'invention, il est possible d'estimer la variance du signal d'erreur de prédiction en décodant complètement ce signal (l'erreur de prédiction) à partir du train binaire MICDA et en calculant son énergie ou sa variance. Une autre méthode efficace et beaucoup moins complexe est de ne décoder que les facteurs d'échelle v(n) et de faire l'estimation de la variance à partir de ces valeurs. De façon alternative, si les signaux internes du décodeur sont accessibles, le décodeur peut fournir également au module d'estimation soit l'erreur de prédiction décodée soit le facteur d'échelle décodé.
La figure 3 illustre sous forme d'organigramme, les étapes principales d'un procédé d'estimation d'un bruit de codage, selon un mode de réalisation.
Ainsi, à l'étape E300, on estime la variance du signal d'erreur de prédiction codé. Pour cela, à l'étape E301, à partir du train binaire T, on obtient, selon un premier mode de réalisation, le signal d'erreur de prédiction décodé e(n) en décodant complètement le train binaire ou selon un deuxième mode de réalisation, pour une trame courante de taille / de signal décodé, les facteurs d'échelle de quantification de l'erreur de prédiction v(n) obtenus par échantillon.
Dans un mode de réalisation particulier en référence à la figure 4, on verra un exemple d'extraction de ces facteurs d'échelle.
A l'étape E302, selon le premier mode de réalisation, un calcul d'énergie du signal d'erreur de prédiction décodé est effectué pour obtenir la variance du signal d'erreur. Selon le deuxième mode de réalisation, à l'étape E302, le calcul d'une moyenne arithmétique Dk des facteurs d'échelle v(n) pour la trame ^est effectué.
Figure imgf000011_0001
Des variantes concernant le calcul de Dk par d'autres types de moyenne, comme la moyenne géométrique ou quadratique sont possibles.
Figure imgf000011_0002
Moyenne quadratique : D
Figure imgf000012_0001
Dans un mode de réalisation simplifié, l'étape E300 est suivi de l'étape E305 d'estimation de la variance du bruit de quantification en fonction de la variance du signal d'erreur de prédiction. Ainsi, dans le premier mode de réalisation, la variance du bruit de quantification est estimée à partir de l'énergie du signal d'erreur de prédiction décodé et selon le deuxième mode de réalisation, la variance du bruit de quantification est estimée à partir de la moyenne des facteurs d'échelle Dk . Dans le mode de réalisation simplifié, l'estimation de la variance du bruit de quantification est obtenue par division de Dk par une constante.
De façon à éviter des dégradations de la qualité audibles à l'issue du traitement de réduction de bruit, un autre mode de réalisation apportant plus de précision prend en compte également une classe ck fonction de la valeur de la moyenne des facteurs d'échelle Dk ou de l'énergie Ek pour estimer la variance du bruit de quantification.
On décrit ici le mode de réalisation utilisant les classes ck pour le deuxième mode de réalisation avec facteurs d'échelle. Il peut tout aussi bien s'appliquer au cas du premier mode de réalisation utilisant le signal d'erreur de prédiction décodé. Dans ce dernier cas, la moyenne des facteurs d'échelle Dk est remplacée par l'énergie Ek calculée par trame pour le signal d'erreur décodé.
En déterminant l'intervalle dans lequel se situe Dk , on associe à la trame k une classe ck à l'étape E303. Ce calcul s'effectue par la recherche du minimum de distance aux centres CI des différents intervalles disjoints [LI(k);LI(k+l)] qui forment une partition de l'ensemble des valeurs que peuvent prendre Dk : q = arg min ((C/ [ï] - ¾ ))
Cette classification est équivalente à une quantification scalaire des valeurs Dk sur nc valeurs, nc étant le nombre total de classes.
A l'étape E304, la valeur ck pour la trame courante est mémorisée pour une utilisation ultérieure lors du calcul de l'estimation de la variance de l'étape E305, pour ce mode de réalisation.
Ainsi, à partir de Dk , de ck , et de ck_{;i e (l; p) les classes de p trames précédentes, avec p une valeur prédéterminée, on calcule l'estimation de la variance du bruit de codage à l'étape E305:
EVk = f (Dk,ck_ - i G {0; p)) Un exemple d'une telle fonction f est donné ultérieurement.
Par ce mode de réalisation, on obtient une réduction significative de l'écart quadratique moyen entre la variance par trame du bruit de codage et de son estimation comme le montre le tableau 1 ci-dessous pour différents exemples d'échantillons sonores:
Figure imgf000013_0001
Tableau 1
A l'étape E306, une estimation du bruit de codage est obtenue à partir de l'estimation de la variance calculée à l'étape E305. Cette estimation du bruit de codage est obtenue par un bruit blanc dont la variance est celle estimée à l'étape E305. Le bruit blanc est un signal aléatoire dont la densité spectrale de puissance est la même sur toute la largeur de bande représentée, cette largeur en fréquence est la moitié de la fréquence d'échantillonnage. La variance d'un bruit blanc dépend de sa valeur de densité spectrale de puissance et de la fréquence d'échantillonnage. Ainsi, en connaissant la fréquence d'échantillonnage et la variance, le niveau de la densité spectrale de puissance peut être déterminé par une simple multiplication de la variance par une constante dépendant de la fréquence d'échantillonnage.
Une variante d'extension de la classification incluant les trames précédentes est possible. La classe ck est alors aussi définie en fonction des valeurs des moyennes du facteur d'échelle de d trames précédentes, selon l'équation (6) suivante:
ck = f {Dk_ - i e (0;d ))
Le module de filtrage 105 de la figure 1 effectue un traitement de réduction de bruit à partir du bruit estimé à l'étape E306. Ce module reprend les principes du filtre utilisé dans l'annexe C du codeur normalisé ITU-T G.711.1. Pour une trame k, à partir du signal décodé x(n) et l'estimation du bruit pour la même trame, on calcule dans le domaine fréquentiel un filtre (/) par la technique de la TSNR ("Two Step Noise Réduction") décrit par exemple dans le document intitulé "a Two-step noise réduction technique" des auteurs C.PIapous, C.Marro, LMauuary & P.Scalart, dans ICASSP 2004.
A partir de la distribution spectrale en puissance (PSD) pour la trame k du signal décodé (f ) et de l'estimation de bruit ' ( ) , on a un rapport signal à bruit (RSB) a posteriori RSB k st :
Figure imgf000014_0001
Le rapport signal à bruit a priori pour la trame est calculé en deux étapes. Tout d'abord on calcule une première estimation RSBpriol par une décision dirigée entre le RSB a priori final de la trame précédente et le RSB a posteriori :
RSB , = fiRSBp {k:o 1l + (l - fi) max(RSBp {i -Ι,θ)
RSBpriol permet de calculer un premier filtre de réduction de bruit W1 (f ) , d'après la forme de Wiener :
RSBp kiÀf )
l + RSB (f )
Ce filtre permet d'affiner l'estimation du RSB a priori en considérant cette fois ci, la PSD du signal filtré par Wl . Une deuxième estimation du RSB a priori 7 est alors donné par : xik) (f ).(w{k) (f ))
-M
* ' (f )
Le filtre est alors calculé à artir de cette deuxième version du RSB par la forme de Wiener
Figure imgf000014_0002
Par transformée de Fourier inverse et réorganisation des coefficients, un filtre FIR temporel et causal h(n) es calculée :
Figure imgf000014_0003
La réorganisation des coefficients est la suivante :
Figure imgf000014_0004
Cette réponse impulsionnelle est fenêtrée par une fenêtre symétrique de Hanning à 33 coefficients de façon à réduire de moitié la taille nécessaire de FIR. Le module de filtrage 105 met donc en œuvre une étape de détermination d'une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, obtenu selon les étapes E301 à E306, pour appliquer un traitement de réduction de bruit de codage.
Le mode de réalisation décrit ci-après est donné pour une estimation du bruit de codage de la bande basse d'un codeur de type normalisé UIT-T G.722. Dans ce codeur, le signal de la sous-bande basse est en effet codé par un codeur indépendant MICDA. Un tel codeur est par exemple décrit dans le document " Rec. ITU-T G.722, 7 kHz audio-coding within 64 kbit/s, Sep. 2012" et illustré à la figure 4 décrite à présent.
Le codeur G.722 code le signal d'entrée (x(n)) échantillonné à 16 kHz en deux sous- bandes échantillonnées à 8 kHz. La division en sous-bandes est faite par un filtre miroir en quadrature (QMF pour "Quadrature Mirror Filter " en anglais) par le module 401. A partir de deux échantillons d'entrée le filtre QMF donne en sortie un échantillon xL(n) de bande basse (0-4000 Hz) et un échantillon xH(n) de bande haute (4000-8000 Hz). Les signaux des 2 sous- bandes sont codés indépendamment par des codeurs MICDA 402 et 403.
Les indices des deux erreurs de prédiction quantifiées IH(n) et IL(n) sont ainsi transmis dans le flux binaire I(n) après multiplexage en 404. Le codeur G.722 a trois débits: 64, 56 et 48 kbit/s. Chaque échantillon de la sous-bande basse est codé sur 6 bits au plus haut débit (48 kbit/s), sur 5 bits au débit intermédiaire (40 kbit/s), et sur 4 bits au plus bas débit (32 kbit/s). Au plus haut débit, le flux codé de la sous-bande basse est constitué de la couche cœur à 4 bits par échantillon et de deux couches d'amélioration à 1 bit par échantillon chacune. La sous-bande haute est toujours codée sur 2 bits (16 kbit/s) par échantillon indépendamment du débit.
On décrit ici l'adaptation du quantificateur de la bande basse du codeur G.722. Typiquement, dans cette bande, l'erreur de prédiction au plus bas débit (48 kbit/s dont bande basse à 32 kbit/s) est codée sur 4 bits : 1 bit de signe sign(n) et 3 bits I(n) pour choisir parmi les 8 amplitudes possibles du quantificateur scalaire. En réalité le train binaire du G.722 ne contient pas directement les 3 bits de l'indice I(n) mais on peut le déduire facilement à partir des 4 bits extraits du train binaire selon le tableau 2 ci dessous:
Figure imgf000015_0001
Figure imgf000016_0001
Tableau 2
L'amplitude décodée de l'erreur de prédiction est décomposée en 2 parties : une partie constante de type logarithmique y(I(n)) stockée en mémoire ROM indexée par I(n), et un facteur adaptatif multiplicatif appelé facteur d'échelle v(n). Par exemple le quantificateur fixe de 4 bits (incluant 1 bit de signe) dans la bande inférieure de G.722 contient les 8 valeurs d'amplitude suivantes, données dans le tableau 3:
Figure imgf000016_0002
Tableau 3
Le facteur d'échelle v(n) permet d'adapter l'étendue du quantificateur à l'amplitude du signal à quantifier échantillon par échantillon pour assurer un bon rapport signal à bruit indépendamment du niveau de l'erreur de prédiction. L'adaptation est faite de la façon suivante : quand pour quantifier l'erreur de prédiction on utilise un des plus grands niveaux du quantificateur scalaire on augmente la valeur du facteur d'échelle en le multipliant par un facteur d'adaptation M(I(n)) supérieur à 1 pour étendre un peu plus le quantificateur et ainsi éviter la saturation du quantificateur. Inversement, quand un des plus faibles niveaux du quantificateur scalaire est choisi on diminue la valeur du facteur d'échelle en le multipliant par un facteur d'adaptation M(I(n)) inférieur à 1 pour rétrécir un peu plus le quantificateur et ainsi mieux utiliser sa dynamique et obtenir un bon rapport signal à bruit.
La valeur du facteur d'adaptation M(I(n)) dépend donc de l'indice de quantification transmis I(n), elle est inférieure à 1 si l'indice correspond à une valeur quantifiée faible (0, 0.037 et 0.079 dans l'exemple de la bande basse du codeur G.722) et supérieure à 1 pour des autres valeurs. Dans le codeur G.722 cette adaptation est faite dans le domaine logarithmique, par addition du facteur d'adaptation logarithmique Mi(I(n)) correspondant à l'indice d'amplitude transmis I(n) au facteur d'échelle logarithmique vi(n). Le tableau 4 donne les valeurs du facteur d'adaptation dans le domaine logarithmique Mi(I(n)) et le facteur d'adaptation multiplicatif dans le domaine linéaire M(I(n)) pour les 8 niveaux possibles :
Figure imgf000017_0001
Tableau 4
De plus, la valeur obtenue est bornée dans l'intervalle [0, 18432] : v' L (n) = min (max(vl (n -\) + M L (l (n - \)) ,{)), 18432)
En cas d'erreur de transmission cette adaptation n'est pas faite avec la même valeur à l'encodeur et au décodeur, l'encodeur et le décodeur se désynchronisent. En utilisant l'équation précédente cette désynchronisation persisterait indéfiniment. Pour assurer leur resynchronisation après une erreur de transmission un facteur d'oubli est appliqué. Dans le cas du codeur G.722 il s'agit d'une multiplication par 0.9922 ((32512 en virgule fixe Q15, 32512/32768)) du facteur d'échelle logarithmique précédent : vL (n) = min (max(0.9922YL (n -l) + ML (l (n - l)) ,0) , 18432)
Finalement, la conversion log-lin est faite par une simple lecture de table de 289 entrées, l'indice pour cette table est obtenu en divisant v|_(n) par 64 (décalage binaire à droite par 6 , "shift" en anglais).
Cette adaptation dans le G.722, en utilisant ces tables de conversion log-lin, correspond dans le domaine linéaire à : v(n) = min (max v(n _i)09922 M (i (n -l)) , ό) ,4095) (1) Dans ce mode de réalisation, pour la bande basse du codeur G.722, on utilise des trames de 1=40 échantillons soit 5ms. Le procédé d'estimation du bruit de quantification, à l'étape E301 de la figure 3, extrait, dans le deuxième mode de réalisation, les facteurs d'échelle par échantillon pour une trame k courante selon l'équation 1 et les tableaux 2 et 4 ci-dessus à partir du train binaire T reçu au décodeur.
A l'étape E302, la moyenne Dk de v(n) est obtenue comme décrit en référence à la figure 3. A l'étape E303, en déterminant l'intervalle dans lequel se situe Dk , on associe à la trame k une classe ck , nc étant le nombre total de classes, fixé à 40 dans cet exemple de réalisation. Dans le mode de réalisation décrit ici, cette classe ck et la classe ck_x de la trame précédente permettent de déterminer dans une matrice MR[i;j], de taille nc.nc le paramètre qui permet d'estimer la variance du bruit Ev de la manière suivante :
Figure imgf000018_0001
Des variantes de cette estimation sont possibles. Le choix est fait de faire une classification par trame mais il est possible de faire une classification en considérant en sus des trames précédentes. En considérant l'espace (D^ * Dk ) , on peut choisir de faire une quantification vectorielle de cet espace, par exemple par une méthode de k-moyenne. On peut aussi étendre la dimension de cette espace de classification.
Dans le mode de réalisation décrit ici le nombre des trames précédentes p prises en compte est égal à 1. Ces résultats sont facilement généralisable pour les cas où p est supérieur à 1. Dans ce cas la dimension de la matrice M? est égale à p+1.
Cette considération des trames précédentes peut se faire aussi par l'intermédiaire de la matrice MR. Dans le cas d'une classification par quantification vectorielle sur n niveau, MR sera un vecteur de taille ria,. Dans le cas d'une classification par trame, la dimension de MR peut être allongée. Ici fixée à 2, il est possible de l'agrandir à 3,4 voire au-delà, les paramètres étant pris en compte en entrée étant les classes <¾,,· des trames actuelles et précédentes.
Le choix d'une classification scalaire et d'une matrice MR de dimension 2 sont justifiés par un compromis entre complexité et qualité.
Dans un exemple de réalisation du procédé d'estimation, un apprentissage est effectué à partir d'une base de données comportant une concaténation de différentes conditions de signaux : parole propre, parole avec bruit d'ambiance, musique, et mélange de parole et musique. Les signaux de cette base de données sont codés, décodés de manière à extraire :
1. Le signal de facteur d'échelle v(n)
2. Le bruit de quantification exact de la bande basse b(n), obtenu comme différence des signaux d'origine de la bande basse xL(n) et décodé Xi_q(n) synchronisés en annulant le retard.
A partir de ces deux informations, on extrait pour la base de données par trame de /=40 échantillons la moyenne Dk de v(n) et l'écart-type ok de b(n) pour chaque trame fenêtré par une fenêtre asymétrique de Hanning, incluant 24 échantillons de la trame précédente selon l'équation (3) ci dessous. On fait ainsi un recouvrement des trames sur les 24 premiers échantillons.
Figure imgf000019_0001
Ce fenêtrage a entre autre pour intérêt de ne pas introduire de retard. Ce type de fenêtrage est illustré en référence à la figure 6 où on peut voir le signal (x(n)), les fenêtres de Hanning asymétriques (fen.) et les limites de trame (lim.). La flèche indiquée sur la figure représente le recouvrement.
Cette fenêtre permet d'assurer une continuité et a l'avantage de ne pas introduire de retard supplémentaire car elle ne nécessite pas la connaissance des échantillons appartenant à la trame suivante. Bien sûr d'autres types de fenêtres peuvent être également utilisées, comme par exemple une fenêtre symétrique Hamming de 72 échantillons centrée sur la trame, en couvrant également 16 échantillons de la trame suivante ("Lookahead" en anglais). L'utilisation d'une telle fenêtre augmentera cependant le retard algorithmique par la durée de 16 échantillons (2 ms avec la fréquence d'échantillonnage de 8000 Hz).
A partir des valeurs Dk et ak obtenues pour les signaux de la base de données, un vecteur de rapport rk avec rk =— - est calcule. Les valeurs de la matrice MR seront calculées a partir de ces valeurs rk.
Dans cet exemple de réalisation, le nombre de classe /7cest fixé à 40.
Un tableau CI représente les centres des intervalles des classes. Ces intervalles sont déterminés par leurs bornes LI, obtenues par partition « équiprobable » de D. Sur chaque segment, on trouve le même nombre de valeur de £> dans la base d'apprentissage. Le tableau CI a donc un vecteur de taille 40 dont les valeurs sont définies comme suit:
V(c,d) e (1;40)2' card (Dk e [LI (c); LI (c + \) ) = card (Dk e [LI (d);LI (d + \) )
Les ClfcJ sont alors les milieux des segments [LI(c);LI(c+l)],c=l ,...,40
. . . Ll (c) + Ll (c + l)
Vce (1; 40), C/ (c) =— 2 ' La figure 5 représente les limites des intervalles de classification pour les 40 classes.
Des variantes sur le choix des intervalles et des centres sont possibles. Sur le choix des intervalles, on peut choisir évidemment une partition en segments de taille égale ou encore une partition en segments de tailles différentes, suivant une suite exponentielle, où la taille de l'intervalle est le double du précédent par exemple.
Les centres peuvent aussi prendre en compte la répartition des éléments de la base de données dans chaque intervalle, soit par moyenne de ces éléments, soit par choix de la médiane. Moyenne : Cl (c) = moyenne^Dk I Dk e (zJ (c):ZJ (c + l)))
On peut alors déterminer le flux de classes c de la base de donnée. Les coefficients de la matrice MRf/ Jsont obtenus par moyenne arithmétique des rde même coordonnées. MR est alors un tableau de taille 40*40.
Dans l'établissement de la matrice MR, il est possible que des couples (i ) ne soient pas représentés dans la base d'apprentissage. On sait qu'on trouvera toujours une classe j tel que , le problème est de trouver le sous-ensemble des k tel que le précédent est ck-i=i, ce sous-ensemble pouvant être vide. On prendra alors par défaut la moyenne des rk avec ck = j
La figure 7 illustre le nombre de trames attribué à chaque élément de la matrice MR, avec la base d'apprentissage utilisée. Malgré une taille importante de la base d'apprentissage, il se peut qu'un certain nombre de couple {ck,ck-î) soit absent. On peut y observer que les cas où Ck-i est grand (qui signifie une moyenne de facteur Dk_i élevée) et où ck est petit (signifiant une moyenne de facteur Dk faible) ne sont jamais représentés dans la base d'apprentissage (cases noires dans le coin supérieur gauche sur la figure). Ceci a une explication physique. En effet, on ne passe pas d'une trame de très forte énergie à une trame de très faible énergie. Ceci est dû à l'algorithme d'adaptation qui permet de rapides augmentations du facteur d'échelle v (maximum du facteur multiplicatif 2.81 par échantillon) et une diminution faible (minimum du facteur multiplicatif 0.98 par échantillon). Ainsi pour une durée de 2 trames soit 80 échantillons dans notre exemple, la diminution de facteur d'échelle maximale est de 0.9880=0.2 et la moyenne de ces facteurs d'échelles par trame peut au maximum diminuer de Dk_! / Dk = 0.45.
La figure 8 montre les valeurs de la matrice MR ainsi obtenue. On peut y observer la grande dynamique de ces valeurs (entre 20 et 160). On y voit également que, comme attendu, ces valeurs sont les plus fortes dans la diagonale de cette matrice correspondant aux cas où l'énergie du signal ne change pas significativement de trame à trame et où l'adaptation du facteur d'échelle est optimale. Et inversement, ces valeurs sont faibles loin de la diagonale correspondant au cas où l'énergie du signal à quantifier augmente brusquement et où l'adaptation automatique a du mal à trouver le point de fonctionnement optimal du fait d'un bruit de quantification plus fort.
Dans le mode de réalisation simplifié (quand l'étape E302 est suivi de l'étape E305) la matrice MR' est remplie par une constante (la valeur moyenne de toutes les valeurs Dk). L'estimation de la variance du bruit de codage est alors calculée par la valeur de la moyenne Dk par trame divisée par la valeur constante. Cette estimation ne prend pas en compte les zones de transition qui peuvent avoir lieu.
L'intérêt du mode de réalisation incluant les étapes E303 et E304 est montré ici par le fait que les valeurs de la matrice ne sont pas constantes et permettent d'obtenir une estimation de la variance du bruit de codage de façon plus précise surtout dans les zones de transition.
Des variantes sur le calcul de la matrice MR sont possibles, outre ces formes détaillées plus tôt. Le choix d'une autre valeur autre que la moyenne arithmétique, comme par exemple les moyennes géométriques ou quadratiques ou encore la médiane est également possible.
La figure 9 représente un exemple de réalisation matérielle d'un dispositif d'estimation 900 selon l'invention. Celui-ci peut faire partie intégrante d'un dispositif de traitement de réduction de bruit de quantification (TBQ) ou encore d'un décodeur audiofréquence ou d'un équipement recevant des signaux audio décodés.
Ce type de dispositif comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM.
Un tel dispositif comporte un module d'entrée E apte à recevoir un flux binaire T d'un signal audio numérique codé et un module de sortie S apte à transmettre l'estimation du bruit de quantification déterminé par le dispositif à un module de filtrage intégré ou non au dispositif.
Le bloc mémoire peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé d'estimation au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes d'estimation de la variance du bruit de codage en fonction d'une estimation de la variance du signal d'erreur de prédiction codé et d'estimation d'un bruit de codage par un bruit blanc dont la variance est la variance estimée du bruit de codage.
Typiquement, la description de la figure 3 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du dispositif ou téléchargeable dans l'espace mémoire de celui-ci.
La mémoire MEM enregistre selon un mode de réalisation, les classes déterminées à partir des moyennes de facteur d'échelle des trames traitées et de manière générale, toutes les données nécessaires à la mise en œuvre du procédé.
Dans un mode possible de réalisation, le dispositif ainsi décrit peut également comporter les fonctions de décodage, les fonctions de traitement en plus des fonctions d'estimation du bruit de codage selon l'invention.

Claims

REVENDICATIONS
1. Procédé d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA codant un signal d'erreur de prédiction, caractérisé en ce qu'il comporte les étapes suivantes:
- estimation de la variance du bruit de codage (E305) en fonction d'une estimation de la variance du signal d'erreur de prédiction codé (E300);
- estimation d'un bruit de codage (E306) par un bruit blanc dont la variance est la variance estimée du bruit de codage.
2. Procédé selon la revendication 1, caractérisé en ce que l'estimation de la variance du signal d'erreur de prédiction codé est effectué selon les étapes suivantes:
- obtention (E301) du signal d'erreur de prédiction décodé;
- calcul (E302) de l'énergie du signal d'erreur de prédiction décodé obtenu pour déterminer sa variance.
3. Procédé selon la revendication 1, caractérisé en ce que l'estimation de la variance du signal d'erreur de prédiction codé est effectué selon les étapes suivantes:
- obtention (E301) de facteurs d'échelle de quantification par échantillon pour une trame courante du signal audio décodé;
- calcul (E302) d'une moyenne des facteurs d'échelle obtenus pour les échantillons de la trame courante;
et en ce que l'estimation de la variance du bruit de codage est fonction au moins de la moyenne ainsi calculée.
4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte en outre une étape d'association pour la trame courante k, d'une classe Q- en fonction de l'intervalle de valeur dans lequel se situe la moyenne des facteurs d'échelle de la trame courante ^ et en ce que l'estimation de la variance du bruit de codage est en outre fonction des classes déterminées pour la trame courante et pour un nombre prédéterminé de trames précédentes.
5. Procédé selon la revendication 4, caractérisé en ce que l'association d'une classe à une trame s'effectue par la recherche d'une distance minimum entre la valeur de la moyenne des facteurs d'échelle de la dite trame et les centres des intervalles disjoints que forment une partition de l'ensemble des valeurs possibles des moyennes des facteurs d'échelle.
6. Procédé selon la revendication 4, caractérisé en ce que l'association d'une classe à une trame est en outre fonction de la valeur de la moyenne des facteurs d'échelle d'un nombre prédéterminé de trames précédentes.
7. Procédé selon la revendication 4, caractérisé en ce que la variance du bruit de codage est déterminée à partir de nc +1 coefficients d'une matrice de dimension p+l prédéfinie par apprentissage d'une base de données de signaux audio de référence et stockée en mémoire, nc étant le nombre de classes déterminées, p étant le nombre de trames précédentes prises en compte pour l'estimation de la variance du bruit de codage
8. Procédé selon la revendication 7, caractérisé en ce qu'il comporte les étapes suivantes, mises en œuvre pour les signaux de référence de la base de données, codés, décodés et synchronisés:
- extraction par trame de facteurs d'échelle;
- calcul d'un bruit de codage par soustraction au signal décodé du signal d'origine;
- calcul des moyennes des facteurs d'échelle par trame, des écarts type du bruit de codage pour chaque trame fenêtré par une fenêtre incluant un nombre prédéterminé d'échantillons de la trame précédente;
9. Procédé selon la revendication 8, caractérisé en ce que les coefficients de la matrice prédéfinie sont obtenus par les étapes suivantes:
- calcul pour chaque trame d'un rapport entre la moyenne et l'écart type calculés pour les signaux de référence de la base de données;
-obtention et enregistrements des coefficients de la matrice par calcul d'une moyenne des rapports calculés pour chaque coordonnée (i,j) de la matrice, correspondant aux classes i et j respectives.
10. Procédé selon la revendication 9, caractérisé en ce que le calcul d'estimation de la variance du bruit de codage s'effectue selon l'équation suivante pour une trame courante k de signal:
Figure imgf000023_0001
avec Dk la moyenne des facteurs d'échelle de la trame courante k et MR[ck-i,ck], le coefficient de la matrice prédéfinie de coordonnée (k-1, k) correspondant aux classes k-1 et k associées à la trame précédente et à la trame courante k.
11. Procédé de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA, caractérisé en ce qu'il comporte les étapes suivantes:
- estimation d'un bruit de codage selon un procédé conforme à l'une des revendications 1 à 10;
-détermination d'une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, pour appliquer un traitement de réduction de bruit de codage estimé.
12. Dispositif d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA, caractérisé en ce qu'il comporte:
- un module d'estimation de la variance du bruit de codage (103) en fonction du résultat d'un module d'estimation de la variance du signal d'erreur de prédiction codé (100);
- un module d'estimation d'un bruit de codage (104) par un bruit blanc dont la variance est la variance estimée du bruit de codage.
13. Dispositif de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA, caractérisé en ce qu'il comporte:
- un dispositif d'estimation d'un bruit de codage conforme à la revendication 12;
-un module de filtrage apte à déterminer une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, et à appliquer un traitement de réduction de bruit de codage estimé.
14. Décodeur de signal audionumérique comprenant un dispositif d'estimation d'un bruit de codage conforme à la revendication 12 et/ou un dispositif de traitement de réduction d'un bruit de codage conforme à la revendication 13.
15. Programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé d'estimation selon l'une des revendications 1 à 10, lorsque ces instructions sont exécutées par un processeur.
PCT/FR2015/050716 2014-03-24 2015-03-20 Estimation d'un bruit de codage introduit par un codage en compression de type micda WO2015145050A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1452460 2014-03-24
FR1452460A FR3018942A1 (fr) 2014-03-24 2014-03-24 Estimation d'un bruit de codage introduit par un codage en compression de type micda

Publications (1)

Publication Number Publication Date
WO2015145050A1 true WO2015145050A1 (fr) 2015-10-01

Family

ID=51063596

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2015/050716 WO2015145050A1 (fr) 2014-03-24 2015-03-20 Estimation d'un bruit de codage introduit par un codage en compression de type micda

Country Status (2)

Country Link
FR (1) FR3018942A1 (fr)
WO (1) WO2015145050A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995028770A1 (fr) * 1994-04-13 1995-10-26 Commonwealth Scientific And Industrial Research Organisation Procede et systeme de codage/decodage d'un signal micda

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995028770A1 (fr) * 1994-04-13 1995-10-26 Commonwealth Scientific And Industrial Research Organisation Procede et systeme de codage/decodage d'un signal micda

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
C.PLAPOUS; C.MARRO; L.MAUUARY; P.SCALART: "a Two-step noise reduction technique", ICASSP, 2004
CHARBONNIER A ET AL: "SUB-BAND ADPCM CODING FOR HIGH QUALITY AUDIO SIGNALS", AUDIO AND ELECTROACOUSTICS, UNDERWATER SIGNAL PROCESSING. NEW YORK, APR. 11 - 14, 1988; [INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING. ICASSP], NEW YORK, IEEE, US, vol. VOL. 5, no. 1988, 11 April 1988 (1988-04-11), pages 2540 - 2543, XP000012857 *
J.L. GARCIA, C. MARRO, B. KÖVESI: "A PCM coding noise reduction for ITU-T G.711.1", INTERSPEECH 2008, 22 September 2008 (2008-09-22) - 26 September 2008 (2008-09-26), Brisbane, pages 57 - 60, XP009179236 *
J-L.GARCIA; C.MARRO; B.KÔVESI: "a PCM coding noise reduction forITU TG.711.1", INTERSPEECH, 2008
LAWRENCE H GOLDSTEIN ET AL: "Quantization Noise in ADPCM Systems", IEEE TRANS. COMMUN. (SPECIAL ISSUE ON SPREAD SPECTRUM COMMUNICATIONS, 1 February 1977 (1977-02-01), pages 227 - 238, XP055130560, Retrieved from the Internet <URL:http://ieeexplore.ieee.org/ielx5/26/23887/01093799.pdf?tp=&arnumber=1093799&isnumber=23887> [retrieved on 20140721] *

Also Published As

Publication number Publication date
FR3018942A1 (fr) 2015-09-25

Similar Documents

Publication Publication Date Title
EP2586133B1 (fr) Contrôle d&#39;une boucle de rétroaction de mise en forme de bruit dans un codeur de signal audionumérique
FR2966634A1 (fr) Codage/decodage parametrique stereo ameliore pour les canaux en opposition de phase
CA2874965C (fr) Attenuation efficace de pre-echos dans un signal audionumerique
WO2010058117A1 (fr) Codage de signal audionumerique avec mise en forme du bruit dans un codeur hierarchique
EP2727107B1 (fr) Fenêtres de pondération en codage/décodage par transformée avec recouvrement, optimisées en retard
EP3161659A1 (fr) Ré-échantillonnage par interpolation d&#39;un signal audio pour un codage /décodage à bas retard
EP3330964B1 (fr) Ré-échantillonnage d&#39;un signal audio pour un codage /décodage à bas retard
EP2732448B1 (fr) Adaptations de fenêtres de pondération d&#39;analyse ou de synthèse pour un codage ou décodage par transformée
FR2911228A1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard.
EP2319037A1 (fr) Reconstruction de données audio multicanal
EP3084959B1 (fr) Ré-échantillonnage d&#39;un signal audio cadencé à une fréquence d&#39;échantillonnage variable selon la trame
EP2232489B1 (fr) Codage/decodage par transformee, a fenetres adaptatives
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
EP2652735B1 (fr) Codage perfectionne d&#39;un etage d&#39;amelioration dans un codeur hierarchique
WO2015145050A1 (fr) Estimation d&#39;un bruit de codage introduit par un codage en compression de type micda
WO2014154989A1 (fr) Mixage optimisé de flux audio codés selon un codage par sous-bandes
WO2011073600A1 (fr) Codage/decodage parametrique stereo avec optimisation du traitement de reduction des canaux
WO2009004227A1 (fr) Codage de signaux audionumériques
EP2589045B1 (fr) Codage/décodage prédictif linéaire adaptatif
FR2911227A1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
WO2011144863A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
FR2759510A1 (fr) Methode de codage audio et dispositif
WO2014199055A1 (fr) Controle du traitement d&#39;attenuation d&#39;un bruit de quantification introduit par un codage en compresssion
FR2980619A1 (fr) Codage/decodage parametrique d&#39;un signal audio multi-canal, en presence de sons transitoires
FR2997250A1 (fr) Detection d&#39;une bande de frequence predeterminee dans un contenu audio code par sous-bandes selon un codage de type modulation par impulsions

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15717558

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15717558

Country of ref document: EP

Kind code of ref document: A1