EP2652735A1 - Improved encoding of an improvement stage in a hierarchical encoder - Google Patents

Improved encoding of an improvement stage in a hierarchical encoder

Info

Publication number
EP2652735A1
EP2652735A1 EP11811097.2A EP11811097A EP2652735A1 EP 2652735 A1 EP2652735 A1 EP 2652735A1 EP 11811097 A EP11811097 A EP 11811097A EP 2652735 A1 EP2652735 A1 EP 2652735A1
Authority
EP
European Patent Office
Prior art keywords
stage
coding
signal
quantization
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP11811097.2A
Other languages
German (de)
French (fr)
Other versions
EP2652735B1 (en
Inventor
Balazs Kovesi
Stéphane RAGOT
Alain Le Guyader
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP2652735A1 publication Critical patent/EP2652735A1/en
Application granted granted Critical
Publication of EP2652735B1 publication Critical patent/EP2652735B1/en
Not-in-force legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Definitions

  • the present invention relates to the field of coding of digital signals.
  • the coding according to the invention is particularly suitable for the transmission and / or storage of digital signals such as audio-frequency signals (speech, music or other).
  • the present invention relates more particularly to the coding of waveforms such as coding MIC (for "Coded Pulse Modulation") said PCM (for "Pulse Code Modulation”) in English, or adaptive coding of waveform of the ADPCM encoding type (for "Adaptive Differential Pulse Modulation” (ADPCM)), in particular the nested-code coding for issuing quantization indices. Scalable bit stream.
  • waveforms such as coding MIC (for "Coded Pulse Modulation") said PCM (for "Pulse Code Modulation”) in English
  • ADPCM encoding type for "Adaptive Differential Pulse Modulation” (ADPCM)
  • ADPCM Adaptive Differential Pulse Modulation
  • ITU-T Recommendation G.722 or ITU-T G.727 The general principle of nested code ADPCM coding / decoding specified by ITU-T Recommendation G.722 or ITU-T G.727 is as described with reference to Figures 1 and 2.
  • FIG. 1 thus represents an encoder with nested codes of the ADPCM type (ex:
  • G.722 low band G.727
  • B B + K bits per sample
  • a subtraction module 120 which subtracts from the input signal x (n) its prediction Xp (n) to obtain a prediction error signal denoted e (n).
  • a quantization module 130 Q B + K of the error signal which receives as input the error signal e (n) to give quantization indices I B + K (n) consisting of B + K bits.
  • the quantization index I B + K (n) of B + K bits at the output of the quantization module Q B + K is transmitted via the transmission channel 140 to the decoder as described with reference to FIG. 2.
  • the encoder also includes:
  • an adaptation module 170 Q Adapt quantizers and inverse quantizers to provide a level control parameter v (n) also known as scaling factor for the next moment;
  • the dashed portion referenced 155 represents the low-rate local decoder which contains the predictors 165 and 175 and the inverse quantizer 121.
  • This local decoder thus makes it possible to adapt the inverse quantizer to 170 from the low bit rate index I B (n) and adapt the predictors 165 and 175 from the reconstructed low bit rate data.
  • the nested code ADPCM decoder of FIG. 2 receives as input the indices ⁇
  • the output signal r , B (n) for B bits will be equal to the sum of the prediction of the signal and the output of the B-bit inverse quantizer.
  • This part 255 of the decoder is identical to the low speed local decoder 155 of FIG.
  • the decoder can improve the restored signal.
  • the output will be equal to the sum of the prediction x p ⁇ n) and the output of the inverse quantizer 230 to B + 1 bits yi, (n) v '( not) .
  • the output will be equal to the sum of the prediction x p B (n) and the output of the inverse quantizer 240 to B + 2 bits y B B i ⁇ n) v .
  • R B + k (z) X (Z) + Q B + k (z)
  • ITU-T G.722 nested code ADPCM (hereinafter referred to as G.722) coding broadband signals which are defined with a minimum bandwidth of [50-7000 Hz] and sampled at 16 kHz.
  • the G.722 encoding is an ADPCM coding of each of the two sub-bands of the signal [0-4000 Hz] and [4000-8000 Hz] obtained by decomposition of the signal by quadrature mirror filters.
  • the low band is coded by a 6, 5 and 4 bit nested code ADPCM coding while the high band is coded by a 2 bit ADPCM coder per sample.
  • the total bit rate will be 64, 56 or 48 bit / s depending on the number of bits used for decoding the low band.
  • This coding was first developed for use in ISDN (Digital Integrated Services Network). It has recently been deployed in high quality voice over IP telephony applications.
  • the quantization noise spectrum will be relatively flat.
  • the noise may have a comparable level or higher than the signal and is therefore not necessarily masked. It can then become audible in these regions. Coding noise formatting is therefore necessary.
  • coding noise formatting suitable for nested code encoding is furthermore desirable.
  • the purpose of the formatting of the coding noise is to obtain a quantization noise whose spectral envelope follows the short-term masking threshold; this principle is often simplified so that the noise spectrum follows the signal spectrum approximately, providing a more homogeneous signal-to-noise ratio so that the noise remains inaudible even in the lower energy areas of the signal.
  • a noise shaping technique for a MIC type coding for a MIC type coding
  • G.711.1 A wideband extension to ITU-T G.711.
  • This recommendation thus describes coding with coding noise formatting for heart rate coding.
  • a perceptual filter for encoding noise shaping is calculated based on past decoded signals from a reverse core quantizer.
  • a local heart rate decoder thus makes it possible to calculate the noise shaping filter.
  • this noise shaping filter is possible to calculate from decoded heart rate signals.
  • a quantizer delivering improvement bits is used at the encoder.
  • the decoder receiving the core bit stream and the improvement bits, calculates the coding noise shaping filter in the same way as the coder from the decoded heart rate signal and applies this filter to the output signal of the decoder.
  • inverse quantizer of the enhancement bits the shaped high-speed signal being obtained by adding the filtered signal to the decoded heart signal.
  • the shaping of the noise thus improves the perceptual quality of the heart rate signal. It offers a limited improvement in quality for improvement bits. Indeed, the formatting of the coding noise is not carried out for the coding of the improvement bits, the input of the quantizer being the same for the quantization of the core as for the improved quantization.
  • the decoder must then remove a resulting parasitic component by a matched filtering, when the improvement bits are decoded in addition to the core bits.
  • the signal received at the decoder can be decoded by a standard decoder capable of decoding the heart rate signal and nested data rates without requiring calculation of noise shaping or correction term.
  • quantization is performed by minimizing a quadratic error criterion in a perceptually filtered domain.
  • a coding noise shaping filter is defined and applied to a given error signal from at least one reconstructed signal of a preceding coding stage.
  • the method also requires the calculation of the reconstructed signal of the current improvement stage in anticipation of a next coding stage.
  • improvement terms are calculated and stored for the current improvement stage. This therefore brings significant complexity and significant storage enhancement terms or reconstructed signal samples of previous stages.
  • a method for encoding an input digital audio signal (x (n)) in a hierarchical coder comprising a B-bit core coding stage and at least one current improvement coding stage k , the core coding and the coding of the improvement stages preceding the current stage k delivering quantization indices which are concatenated to form the indices of the preceding nested encoder (I B + kl ).
  • the method is such that it comprises the following steps:
  • the quantization of the improvement stage determines the quantization index bit or bits which are directly concatenated with the indices of the preceding stages. Unlike the state-of-the-art methods, there is no computation of an improvement signal or improvement terms.
  • the input signal of the quantization is either directly the input signal of the hierarchical coder, or the same input signal having directly undergone perceptual weighting processing. This is not a signal difference between the input signal and a reconstructed signal of the previous coding stages as in the techniques of the state of the art.
  • stored quantization values are not differential values. Thus, it is not useful to memorize the quantization values used for reconstruction in the previous stages to form a quantization dictionary of the improvement stage.
  • the invention avoids the duplication of the dictionaries that can be encountered in the methods of the state of the art where a differential dictionary is used at the encoder and an absolute dictionary at the decoder.
  • the memory required for the storage of the dictionaries and the quantification operations at the encoder and inverse quantization at the decoder is therefore reduced.
  • the input signal has undergone perceptual weighting processing using a predetermined weighting filter to provide a modified input signal, prior to the quantization step, and the method further includes a step of adapting the weighting filter memories from the quantized signal of the current enhancement coding stage.
  • This perceptual weighting processing applied directly to the input signal of the hierarchical coder for the enhancement coding of the stage k also reduces the complexity in terms of computational load compared to state-of-the-art techniques which performed this perceptual weighting processing on a difference signal between the input signal and a reconstructed signal of the previous coding stages.
  • the encoding method described also allows existing decoders to decode the signal without having to make any additional modifications or processing to be expected while benefiting from the improvement of the signal by formatting the effective coding noise.
  • the possible quantization values for the improvement stage k further contain a scale factor and a prediction value from the adaptive type core coding.
  • the modified input signal to be quantized at the improvement stage k is the perceptually weighted input signal from which a prediction value derived from the adaptive type core coding is subtracted.
  • the perceptual weighting treatment is performed by prediction filters forming an ARMA type filter.
  • the present invention also relates to a hierarchical coder of an input digital audio signal, comprising a B-bit core coding stage and at least one current improvement coding stage k, the core coding and the coding of the stages. of improvement preceding the current stage k delivering quantization indices which are concatenated to form the indices of the preceding nested encoder.
  • the encoder is such that it comprises:
  • the hierarchical coder further comprises a perceptual weighting pre-processing module using a predetermined weighting filter to give a modified input signal of the quantization module and a weighting filter memory adaptation module from the quantized signal. of the current improvement coding stage.
  • the hierarchical coder provides the same advantages as those of the method it implements.
  • It also relates to a computer program comprising code instructions for implementing the steps of the encoding method according to the invention, when these instructions are executed by a processor.
  • the invention finally relates to a storage means readable by a processor storing a computer program as described.
  • FIG. 1 illustrates a coder of the ADPCM type with nested codes according to the state of the art and as previously described;
  • FIG. 2 illustrates a decoder of the ADPCM type with nested codes according to the state of the art and as described above;
  • FIG. 3 illustrates a general embodiment of the coding method according to the invention and an encoder according to the invention
  • FIG. 4 illustrates a first particular embodiment of the coding method and an encoder according to the invention
  • FIG. 5 illustrates a second particular embodiment of the coding method and an encoder according to the invention
  • FIG. 6 illustrates a third particular embodiment of the coding method and an encoder according to the invention
  • FIG. 7 illustrates an alternative general embodiment of the coding method and an encoder according to the invention
  • FIG. 7b illustrates another alternative general embodiment of the coding method and an encoder according to the invention.
  • FIG. 8 illustrates an exemplary embodiment of the core coding of an encoder according to the invention
  • FIG. 9 illustrates an example of quantization reconstruction levels used in the state of the art.
  • FIG. 10 illustrates a hardware embodiment of an encoder according to the invention. With reference to FIG. 3, an encoder as well as a coding method according to one embodiment of the invention is described.
  • the improvement stage (of rank k) is presented as producing one additional bit per sample.
  • the coding in each improvement stage involves selecting one of two possible values.
  • the "absolute dictionary" - in terms of absolute levels (in the sense of "non-differential") - corresponding to all the quantization values that can be produced by the rank improvement stage k is of size 2 B + k , or sometimes slightly less than 2 B + k as for example in the G.722 coder which has only 60 possible levels instead of 64 in the quantizer of 6 bits of low band.
  • Hierarchical coding implies a binary tree structure of the "absolute dictionary", which explains why it suffices to have one bit of improvement to perform the coding given the B + kl bits of the preceding stages.
  • the duplication of the reconstruction levels is in fact a consequence of the low band hierarchical coding constraint which is implemented in G.722 in the form of a scalar quantization dictionary (at 4, 5 or 6 bits per sample ) structured in a tree.
  • the coding of the improvement stage according to the invention is very easily generalizable for cases where the improvement stage adds several bits per sample.
  • the size of the dictionary D k (n) used in the improvement stage, as defined later, is simply 2 U where U> 1 is the number of bits per sample of the improvement stage.
  • the encoder as shown in FIG. 3 shows a nested coder or hierarchical coder in which a B-bit core coding and at least one rank improvement stage k is provided.
  • Figure 3 simply illustrates a PCM / ADPCM coding module 302 representing the embedded coding preceding the enhancement coding at 306.
  • the core encoding of the preceding nested encoding may optionally be performed using the masking filter determined at 301 to format "core" coding noise.
  • An example of this type of core coding is described later with reference to FIG.
  • This module 302 thus delivers the indices I B + kl (n) of the nested encoder as well as the prediction signal x F B (n) and the scaling factor v (n) in the case where it is a question of a predictive ADPCM coding similar to that described with reference to FIG.
  • the module 302 simply delivers the nested quantization indices I B + k1 (n).
  • This dictionary D k (n) is used by the quantizer referred to herein as an "improvement quantizer" for the rank improvement stage k.
  • the quantization values of the dictionary are defined as follows, in the case of the ADPCM coding:
  • the "absolute dictionary” is a dictionary structured in tree.
  • the index J B + k ⁇ l conditions the different branches of the tree to be taken into account in order to determine the possible quantization values of the stage k (D k (n)).
  • the scale factor v ⁇ n) is determined by the core stage of the ADPCM coding as illustrated in FIG. 1, the improvement stage therefore uses this same scale factor to scale the code words of the quantization dictionary.
  • the coder of FIG. 3 does not include modules 301 and 310, that is, no coding noise shaping processing is provided. . Thus, it is the input signal x (n) itself that is quantized by the quantization module 306.
  • the encoder further comprises a module 301 for calculating a masking filter and for determining the weighting filter W (z) or a predictive version W PRED (z) described later.
  • the masking or weighting filter is determined here from the input signal x (n) but could very well be determined from a decoded signal, for example from the decoded signal of the preceding nested encoder x B + k ⁇ l (not) .
  • the masking filter can be determined or adapted sample by sample or by block of samples.
  • the encoder according to the invention performs a shaping of the coding noise of the improvement stage by using a quantization in the domain weighted by the filter W (z), that is to say by minimizing the quantization noise energy filtered by W (z).
  • This weighting filter is used at 311 by the filtering module and more generally by the perceptual weighting module 310 of the input signal x (n). This pretreatment is applied directly to the input signal x (n) and not to an error signal as could be the case in state-of-the-art techniques.
  • This pretreatment module 310 delivers a modified signal x '(n) at the input of the enhancement quantizer 307.
  • the quantization module 307 of the improvement stage k delivers a quantization index I in h B + k (n) which will be concatenated with the indices of the preceding nested encoding (I B + kl ) to form the indices of the current nested encoding ( I B + k ), by a module not shown here.
  • the quantization module 307 of the improvement stage k chooses between the two values d B + k (n) and d B + k (n) of the adaptive dictionary D k (n).
  • the adaptive dictionary D k (n) therefore directly contains the quantized output value of the stage k.
  • This quantized signal is used to update the memories of the weighting filter W (z) of the enhancement stage to obtain memories corresponding to an input x (n) -x B + k (n). Typically one subtracts from the memory (or memories in the case of the filter type ARMA) more recent (s) the current value of the decoded signal x B + k (n).
  • the quantization of the signal x (n) is done in the weighted domain, which means that we minimize the squared error between x (n and x B + k (n) after filtering by the filter W (z) ⁇
  • the quantization noise of the enhancement stage is therefore shaped by a 1 / W (z) filter to make this noise less audible. The energy of the weighted quantization noise is thus minimized.
  • the general embodiment of the block 310 given in FIG. 3 shows the general case where W (z) is an infinite impulse response (IIR) filter or a finite impulse response (FIR) filter.
  • the signal x '(n) is obtained by filtering x (n) by W (z) and then when the quantified value x B + k (n) is known, the memories of the filter W (z) are updated as if the filtering had been done on the signal xn) - x B + k (n).
  • the dotted arrow represents the update of the filter memories.
  • the input signal has undergone a perceptual weighting processing by using a predetermined weighting filter at 301 to give a modified input signal x '(n), before the quantization step. in 306.
  • FIG. 3 also represents the step of adapting the weighting filter memories 311 to the quantized signal (x B + k (n)) of the current improvement coding stage.
  • the filter memory contains only the input samples passed from the signal x (n) -x B + k (n), noted:
  • N D being the order of the perceptual filter W (z) - In 302, the input signal x (n) is encoded by the MIC / ADPCM coding module
  • an adaptive dictionary D k is constructed according to the prediction values x B (n), the scaling factor v (n) of the heart stage in the case of ADPCA adaptive type coding and indices. coding J B + k ⁇ l ( ⁇ ) as explained with reference to Figure 3.
  • y (n) a 0 x (n) + a 1 x (n - 1) + a 2 x (n - 2) + a 3 x (n - 3) + a 4 x (n - 4)
  • y (n) x (n) - y (n - 1) - b 2 y (n - 2) - b 3 y (n - 3) - b 4 y (n - 4)
  • the innovation part is x (n), the predictive part is -h l y (nl) -b 2 y (n-2) -b 3 y (n-3) -b 4 y (n-4), transform in z
  • y (n) x (n) + ⁇ a i x (ni) - ⁇ b i y (ni)
  • the innovation part is x (n), the predictive part is y ; x (n-i) - y (n-1),
  • H PRED (z) denotes a filter whose coefficient for its current input x (n) is zero.
  • the recursive filters all-pole-- - or ARMA-- - are the so-called IIR filters for
  • the signal to be quantified by the enhancement quantizer of the stage k is therefore
  • This prediction b B + PRED (n) is added to the input signal x (n) at 405 to obtain the modified input signal x '(n) of the quantizer of the improvement stage k.
  • the quantization of x '(n) takes place at 306 by the quantization module of the improvement stage k, to give the quantization index I ⁇ (n) of the improvement stage k and the signal decoded x B + k (n) of the stage k.
  • the module 307 gives the index of the codeword I B ⁇ h k (n) (1 bit in the illustrative example) of the adaptive dictionary D k which minimizes the squared error between x '(n) and the values of quantification d B + k (n) and d B + k (n).
  • This index is to be concatenated with the index of the nested encoder preceding J B + k ⁇ 1 to obtain at the decoder the index of the codeword of the stage k I B + k .
  • the module 308 gives the quantized value of the input signal by inverse quantization of the index 3 ⁇ 4 * (w),
  • x ⁇ B + k (n) x p B (n) + y; B k v ⁇ n).
  • the preprocessing operations of the block 310 thus make it possible to format the improvement coding noise of the stage k by performing a perceptual weighting of the input signal x (n). It is the input signal itself that is perceptually weighted and not an error signal as is the case in state-of-the-art methods.
  • FIG. 5 illustrates another embodiment of the preprocessing module using, in this embodiment, an ARMA type filtering (for Auto Regressive to Adjusted Average) of transfer function:
  • a step of adding the prediction signal b w + pred (n) to the signal x (n) is performed to give the modified signal.
  • the step of quantizing the modified signal x (n) is performed by the quantization module 306, in the same manner as that explained with reference to FIGS. 3 and 4.
  • the quantization of the block 306 will output the index I ⁇ h k (n) and the decoded signal on the floor kx B + k (n).
  • a step of subtracting the reconstructed signal x B + k (n) from the signal x (n) is performed to give the reconstructed noise b B + k (n).
  • a step of adding the prediction signal b B + k red (n) to the signal b B + k (n) is performed to give the reconstructed filtered noise b B + k (n).
  • FIG. 6 illustrates yet another embodiment of preprocessing block 310 where here the difference lies in the way in which the reconstructed filtered signal b B + k (n) is calculated.
  • the reconstructed filtered noise b B + k (n) is obtained here by subtracting the reconstructed signal x B + k (n) from the signal x '(n) at 614.
  • FIG. 7 illustrates an alternative embodiment for the quantization step 306 of the signal x '(n) by differently processing the predicted signal x B (n) from the core coding.
  • This embodiment is presented with the example of pretreatment block 310 shown in FIG. 3, but may of course be integrated with pretreatment blocks described in FIGS. 4, 5 and 6.
  • the sequence of operations according to FIG. 7 is as follows:
  • the module 707 gives the index of the code word I ⁇ h k (n) (1 bit in the illustrative example) of the adaptive dictionary D k 'which minimizes the quadratic error between x "(n) and the words of code d B + k [n) and d B + k [n) This index is to be concatenated with the index of the preceding nested encoding J B + k ⁇ 1 in order to obtain at the decoder the index of the current nested encoding I B + k comprising the stage k.
  • a step of updating the memories of the filter W (z) is performed at 311, to obtain memories that correspond to an input xn) - x B + k (n).
  • the solution in FIG. 7 is equivalent in terms of quality and storage to that of FIG. 3, but requires less calculation in the case where the improvement stage uses more than one bit.
  • instead of adding the predicted value x B (n) to all the code words (> 2) we only subtract before quantization and add to find the quantized value x B + k (n). The complexity is reduced.
  • FIG. 7b Another alternative embodiment is illustrated in FIG. 7b.
  • the adaptive dictionary D k " is constructed by subtracting the levels of reconstruction of the stage k weighted where appropriate by the scaling factor v (n), with the modified input signal ( ⁇ not) ).
  • it is the prediction signal x B (n) that is quantized by minimizing the quadratic error.
  • Figure 8 details a possible embodiment of a noise shaping heart coding.
  • the module 802 calculates the coding error ' ⁇ ( ⁇ / ⁇ ) 2 A ⁇ zl ⁇ 2 )
  • q w (n) x (n) - x (n) of the previous sampling instants, n- ⁇ , n- 2, ....
  • This error is filtered by a prediction filter H PRED (z) to obtain the prediction signal q w pred (n).
  • the filter H (z) corresponding to H PRED z) may be equal, for example, to
  • the local decoder can be a standard local decoder of the MIC / ADPCM type of the G.711, G.721, G.726, G.722 or G.727 standards.
  • the circled portion 807 can be seen and implemented as a noise shaping pretreatment that modifies the input of the standard encoder / decoder string.
  • an encoder 900 as described according to the various embodiments above typically comprises a ⁇ processor cooperating with a memory block BM including a storage and / or working memory, as well as 'a memory MEM buffer aforesaid as a means for storing for example a dictionary of quantization reconstruction levels or any other data necessary for the implementation of the coding method as described with reference to Figures 3, 4, 5, 6 and 7.
  • This encoder receives as input successive frames of the digital signal x (n) and delivers concatenated quantization indices I B + K.
  • the memory block BM may comprise a computer program comprising the code instructions for implementing the steps of the method according to the invention when these instructions are executed by a ⁇ processor of the encoder and in particular the steps of obtaining possible quantization values.
  • for the current improvement stage k by determining absolute reconstruction levels of the single current stage k from the indices of the preceding nested encoder, quantization of the input signal of the hierarchical coder which has or has not undergone perceptual weighting processing (x (n) or x '(n)), from said possible quantization values to form a quantization index of the stage k and a quantized signal corresponding to one of the possible quantization values.
  • a means of storage readable by a computer or a processor, integrated or not integrated with the encoder, possibly removable, stores a computer program implementing a coding method according to the invention.
  • Figures 3 to 7 may for example illustrate the algorithm of such a computer program.

Landscapes

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

Abstract

The invention relates to a method for encoding a digital audio input signal (x(n)) in a hierarchical encoder including a core encoding stage, having B bits, and at least one current encoding improvement stage k, outputting quantification indices that are concatenated so as to form the indices of the preceding interlaced encoder (IB+k-1). The method is such that it comprises the steps of obtaining (303) possible quantification values (di B+k (n)) for the current improvement stage k by determining absolute levels for reconstructing the single current stage k on the basis of the indices from the preceding interlaced encoder (IB+k-1), and quantifying (306) the hierarchical encoder input signal that was or was not subjected to perceptual weighting processing (x(n) or x'(n)) from said possible quantification values (di B+k (n)) for forming a scalar quantification index for the stage k (Ienh B+k(n)) and a quantified signal (x B+k (n)) corresponding to one of the possible quantification values. The invention also relates to a hierarchical encoder implementing the above-described encoding method.

Description

Codage perfectionné d'un étage d'amélioration dans un codeur hiérarchique La présente invention concerne le domaine du codage des signaux numériques.  The present invention relates to the field of coding of digital signals.
Le codage selon l'invention est adapté notamment pour la transmission et/ou le stockage de signaux numériques tels que des signaux audiofréquences (parole, musique ou autres).  The coding according to the invention is particularly suitable for the transmission and / or storage of digital signals such as audio-frequency signals (speech, music or other).
La présente invention se rapporte plus particulièrement au codage de formes d'onde tel que le codage MIC (pour "Modulation par Impulsions Codées") dit PCM (pour "Puise Code Modulation") en anglais, ou au codage adaptatif de forme d'onde de type codage MICDA (pour "Modulation par Impulsion et Codage Différentiel Adaptatif) dit "ADPCM" (pour "Adaptive Differential Puise Code Modulation") en anglais. L'invention se rapporte notamment au codage à codes imbriqués permettant de délivrer des indices de quantification à train binaire scalable.  The present invention relates more particularly to the coding of waveforms such as coding MIC (for "Coded Pulse Modulation") said PCM (for "Pulse Code Modulation") in English, or adaptive coding of waveform of the ADPCM encoding type (for "Adaptive Differential Pulse Modulation" (ADPCM)), in particular the nested-code coding for issuing quantization indices. Scalable bit stream.
Le principe général du codage/décodage MICDA à codes imbriqués spécifié par la recommandation UIT-T G.722 ou UIT-T G.727 est tel que décrit en référence aux figures 1 et 2.  The general principle of nested code ADPCM coding / decoding specified by ITU-T Recommendation G.722 or ITU-T G.727 is as described with reference to Figures 1 and 2.
La figure 1 représente ainsi un codeur à codes imbriqués de type MICDA (ex : FIG. 1 thus represents an encoder with nested codes of the ADPCM type (ex:
G.722 bande basse, G.727) fonctionnant entre B et B+K bits par échantillon ; à noter que le cas d'un codage MICDA non scalable (ex : G.726, G.722 bande haute) correspond à K=0, où B est une valeur fixe qui peut être choisie parmi différents débits possibles. G.722 low band, G.727) operating between B and B + K bits per sample; note that the case of a non-scalable ADPCM encoding (eg G.726, G.722 high band) corresponds to K = 0, where B is a fixed value which can be chosen from among different possible rates.
Il comporte:  It comprises:
- un module de prédiction 110 permettant de donner la prédiction du signal xB (n) à partir des échantillons précédents du signal d'erreur quantifié eQ B (ri) = yB B (n')v(ri) ri = n— l, ..., n— Nz , où v(ri) est le facteur d'échelle de quantification, et du signal reconstitué rB (ri) ri = n— l, ..., n— Np où n est l'instant courant. a prediction module 110 making it possible to give the prediction of the signal x B (n) from the preceding samples of the quantized error signal e Q B (ri) = y B B (n ') v (ri) ri = n - l, ..., n-N z , where v (ri) is the quantization scale factor, and the reconstructed signal r B (ri) ri = n- l, ..., n-N p where n is the current moment.
- un module de soustraction 120 qui retranche du signal d'entrée x(n) sa prédiction Xp (n) pour obtenir un signal d'erreur de prédiction noté e(n) .  a subtraction module 120 which subtracts from the input signal x (n) its prediction Xp (n) to obtain a prediction error signal denoted e (n).
- un module de quantification 130 QB+K du signal d'erreur qui reçoit en entrée le signal d'erreur e(n) pour donner des indices de quantification IB+K (n) constitués de B+K bits. Le module de quantification QB+K est à codes imbriqués c'est-à-dire qu'il comporte un quantificateur de « cœur » à B bits et des quantificateurs à B + k k = l, ..., K bits qui sont imbriqués sur le quantificateur de « cœur ». a quantization module 130 Q B + K of the error signal which receives as input the error signal e (n) to give quantization indices I B + K (n) consisting of B + K bits. The quantification module Q B + K is with nested codes, that is to say that it comprises a quantizer of "heart" with B bits and quantizers at B + kk = 1,..., K bits which are nested on the quantizer of "heart".
Dans le cas du codage de la bande basse de la norme UIT-T G.722 , les niveaux de décision et les niveaux de reconstruction des quantificateurs QB , QB+l , QB+2 pour B = 4 et K = 0, 1 ou 2 sont définis par les tableaux IV et VI de l'article de synthèse décrivant la norme G.722 de X. Maître "7 kHz audio coding within 64 kbit/s." IEEE Journal on Selected Areas in Communication, Vol.6, no. 2, February 1988. In the case of ITU-T G.722 low band coding, the decision levels and quantizer reconstruction levels Q B , Q B + 1 , Q B + 2 for B = 4 and K = 0 , 1 or 2 are defined by Tables IV and VI of the summary article describing the G.722 standard of X. Master "7 kHz audio coding within 64 kbit / s." IEEE Journal on Selected Areas in Communication, Vol.6, no. February 1988.
L'indice de quantification IB+K (n) de B + K bits en sortie du module de quantification QB+K est transmis via le canal de transmission 140 au décodeur tel que décrit en référence à la figure 2. The quantization index I B + K (n) of B + K bits at the output of the quantization module Q B + K is transmitted via the transmission channel 140 to the decoder as described with reference to FIG. 2.
Le codeur comporte également:  The encoder also includes:
- un module 150 de suppression des K bits de poids faible de l'indice IB+K (n) pour donner un indice bas débit IB (n) sur B bits; a module 150 for eliminating the K least significant bits of the index I B + K (n) to give a low bit rate index I B (n) on B bits;
- un module de quantification inverse 121 pour donner en sortie un signal d'erreur quantifié eQ B (n) = yB B (n)v(n) sur B bits; an inverse quantization module 121 for outputting a quantized error signal Q B (n) = y B B (n) v (n) on B bits;
- un module d'adaptation 170 QAdapt des quantificateurs et des quantificateurs inverses pour donner un paramètre de contrôle de niveau v(n) encore appelé facteur d'échelle, pour l'instant suivant; - an adaptation module 170 Q Adapt quantizers and inverse quantizers to provide a level control parameter v (n) also known as scaling factor for the next moment;
- un module d'addition 180 de la prédiction xB {n) au signal d'erreur quantifié pour donner le signal reconstruit à bas débit rB {n) ; an addition module 180 of the prediction x B {n) to the quantized error signal to give the low-speed reconstructed signal r B {n);
- un module d'adaptation 190 PAdapt du module de prédiction à partir du signal d'erreur quantifié sur B bits eQ B (ri) et du signal eQ B (ri) filtré par \+ Pz {z)■ an adaptation module 190 P Adapt of the prediction module from the quantized error signal on B bits e Q B (ri) and of the signal e Q B (ri) filtered by \ + P z {z)
On peut remarquer que sur la figure 1 la partie en pointillés référencée 155 représente le décodeur local à bas débit qui contient les prédicteurs 165 et 175 et le quantificateur inverse 121. Ce décodeur local permet ainsi d'adapter le quantificateur inverse en 170 à partir de l'indice bas débit IB (n) et d'adapter les prédicteurs 165 et 175 à partir des données bas débit reconstruites. It may be noted that in FIG. 1 the dashed portion referenced 155 represents the low-rate local decoder which contains the predictors 165 and 175 and the inverse quantizer 121. This local decoder thus makes it possible to adapt the inverse quantizer to 170 from the low bit rate index I B (n) and adapt the predictors 165 and 175 from the reconstructed low bit rate data.
Cette partie se retrouve à l'identique sur le décodeur MICDA à codes imbriqués tel que décrit en référence à la figure 2.  This part is found identically on the decoder ADPCM nested codes as described with reference to Figure 2.
Le décodeur MICDA à codes imbriqués de la figure 2 reçoit en entrée les indices τ  The nested code ADPCM decoder of FIG. 2 receives as input the indices τ
I issu du canal de transmission 140, version de / éventuellement perturbée par des erreurs binaires, et réalise une quantification inverse par le module de quantification inverse 210 {j B ) de débit B bits par échantillon pour obtenir le signal (n) = y B B (n) v '(n) . Le symbole " ' " indique une valeur décodée à partir des bits reçus, éventuellement différente de celle utilisée par le codeur du fait d'erreurs de transmission. I from the transmission channel 140, version of / possibly disturbed by binary errors, and performs inverse quantization by the inverse quantization module 210 {j B ) B bit rate per sample to obtain the signal (n) = y B B (n) v '(n). The symbol "'" indicates a decoded value from the received bits, possibly different from that used by the encoder due to transmission errors.
Le signal de sortie r ,B (n) pour B bits sera égal à la somme de la prédiction du signal et de la sortie du quantificateur inverse à B bits. Cette partie 255 du décodeur est identique au décodeur local bas débit 155 de la figure 1. The output signal r , B (n) for B bits will be equal to the sum of the prediction of the signal and the output of the B-bit inverse quantizer. This part 255 of the decoder is identical to the low speed local decoder 155 of FIG.
Moyennant l'indicateur de débit mode et le sélecteur 220, le décodeur peut améliorer le signal restitué.  With the mode flow indicator and the selector 220, the decoder can improve the restored signal.
En effet si mode indique que B+l bits ont été reçus, la sortie sera égale à la somme de la prédiction xp {n) et de la sortie du quantificateur inverse 230 à B+l bits y i, (n)v '(n) . Indeed, if mode indicates that B + 1 bits have been received, the output will be equal to the sum of the prediction x p {n) and the output of the inverse quantizer 230 to B + 1 bits yi, (n) v '( not) .
Si mode indique que B+2 bits ont été reçus alors la sortie sera égale à la somme de la prédiction xp B (n) et de la sortie du quantificateur inverse 240 à B+2 bits y B B i {n)v . If mode indicates that B + 2 bits have been received then the output will be equal to the sum of the prediction x p B (n) and the output of the inverse quantizer 240 to B + 2 bits y B B i {n) v .
En utilisant les notations de la transformée en z, on peut écrire que dans cette structure bouclée :  By using the notations of the transform in z, one can write that in this looped structure:
RB+k (z) = X (Z) + QB+k (z) R B + k (z) = X (Z) + Q B + k (z)
en définissant le bruit de quantification à B+k bits QB+k (z) par : defining the quantization noise at B + k bits Q B + k (z) by:
QB+k (z) = EB+k (z) - E(z) Q B + k (z) = E B + k (z) - E (z)
Le codage MICDA à codes imbriqués de la norme UIT-T G.722 (ci-après nommé G.722) réalise un codage des signaux en bande élargie qui sont définis avec une largeur de bande minimale de [50-7000 Hz] et échantillonnés à 16 kHz. Le codage G.722 est un codage MICDA de chacune des deux sous-bandes du signal [0-4000 Hz] et [4000-8000 Hz] obtenues par décomposition du signal par des filtres miroirs en quadrature. La bande basse est codée par un codage MICDA à codes imbriqués sur 6, 5 et 4 bits tandis que la bande haute est codée par un codeur MICDA de 2 bits par échantillon. Le débit total sera de 64, 56 ou 48 bit/s suivant le nombre de bits utilisé pour le décodage de la bande basse.  ITU-T G.722 nested code ADPCM (hereinafter referred to as G.722) coding broadband signals which are defined with a minimum bandwidth of [50-7000 Hz] and sampled at 16 kHz. The G.722 encoding is an ADPCM coding of each of the two sub-bands of the signal [0-4000 Hz] and [4000-8000 Hz] obtained by decomposition of the signal by quadrature mirror filters. The low band is coded by a 6, 5 and 4 bit nested code ADPCM coding while the high band is coded by a 2 bit ADPCM coder per sample. The total bit rate will be 64, 56 or 48 bit / s depending on the number of bits used for decoding the low band.
Ce codage a d'abord été développé pour utilisation dans le RNIS (Réseau Numérique à Intégration de Services). Il a été récemment déployé dans les applications de téléphonie de qualité améliorée dite "voix Haute Définition (HD)" sur réseau IP.  This coding was first developed for use in ISDN (Digital Integrated Services Network). It has recently been deployed in high quality voice over IP telephony applications.
Pour un quantificateur à grand nombre de niveaux, le spectre du bruit de quantification sera relativement plat. Cependant, dans les zones fréquentielles où le signal a une faible énergie, le bruit peut avoir un niveau comparable voir supérieur au signal et n'est donc plus forcément masqué. Il peut alors devenir audible dans ces régions. Une mise en forme du bruit de codage est donc nécessaire. Dans un codeur comme G.722, une mise en forme du bruit de codage adaptée à un codage à codes imbriqués est de plus souhaitable. For a quantizer with a large number of levels, the quantization noise spectrum will be relatively flat. However, in the frequency zones where the signal has a low energy, the noise may have a comparable level or higher than the signal and is therefore not necessarily masked. It can then become audible in these regions. Coding noise formatting is therefore necessary. In an encoder such as G.722, coding noise formatting suitable for nested code encoding is furthermore desirable.
De façon générale, le but de la mise en forme du bruit de codage est d'obtenir un bruit de quantification dont l'enveloppe spectrale suit le seuil de masquage court-terme; ce principe est souvent simplifié de sorte que le spectre du bruit suive approximativement le spectre du signal, assurant un rapport signal à bruit plus homogène pour que le bruit reste inaudible même dans les zones de plus faible énergie du signal. Une technique de mise en forme du bruit pour un codage de type MIC (pour In general, the purpose of the formatting of the coding noise is to obtain a quantization noise whose spectral envelope follows the short-term masking threshold; this principle is often simplified so that the noise spectrum follows the signal spectrum approximately, providing a more homogeneous signal-to-noise ratio so that the noise remains inaudible even in the lower energy areas of the signal. A noise shaping technique for a MIC type coding (for
"Modulation par Impulsions Codées") à codes imbriqués est décrite dans la recommandation"Coded Pulse Coding") is described in the Recommendation
UIT-T G.711.1 « Wideband embedded extension for G.711 puise code modulation » ouITU-T G.711.1 "Wideband embedded extension for G.711 uses modulation code" or
« G.711.1 : A wideband extension to ITU-T G.711 ». Y. Hiwasaki, S. Sasaki, H. Ohmuro, T."G.711.1: A wideband extension to ITU-T G.711". Y. Hiwasaki, S. Sasaki, H. Ohmuro, T.
Mori, J. Seong, M. S. Lee, B. Kôvesi, S. Ragot, J.-L. Garcia, C. Marro ,L. M., J. Xu, V. Malenovsky, J. Lapierre, R. Lefebvre. EUSIPCO, Lausanne, 2008. Mori, J. Seong, M. S. Lee, B. Kovesi, S. Ragot, J.-L. Garcia, C. Marro, L. M., J. Xu, V. Malenovsky, J. Lapierre, R. Lefebvre. EUSIPCO, Lausanne, 2008.
Cette recommandation décrit ainsi un codage avec mise en forme du bruit de codage pour un codage de débit cœur. Un filtre perceptuel de mise en forme du bruit de codage est calculé sur la base des signaux décodés passés, issus d'un quantificateur cœur inverse. Un décodeur local de débit cœur permet donc de calculer le filtre de mise en forme du bruit. Ainsi, au décodeur, il est possible de calculer ce filtre de mise en forme du bruit à partir des signaux décodés de débit cœur.  This recommendation thus describes coding with coding noise formatting for heart rate coding. A perceptual filter for encoding noise shaping is calculated based on past decoded signals from a reverse core quantizer. A local heart rate decoder thus makes it possible to calculate the noise shaping filter. Thus, at the decoder, it is possible to calculate this noise shaping filter from decoded heart rate signals.
Un quantificateur délivrant des bits d'amélioration est utilisé au codeur.  A quantizer delivering improvement bits is used at the encoder.
Le décodeur recevant le flux binaire cœur et les bits d'amélioration, calcule le filtre de mise en forme du bruit de codage de la même façon qu'au codeur à partir du signal décodé de débit cœur et applique ce filtre au signal de sortie du quantificateur inverse des bits d'amélioration, le signal haut débit mis en forme étant obtenu en ajoutant le signal filtré au signal décodé de cœur.  The decoder receiving the core bit stream and the improvement bits, calculates the coding noise shaping filter in the same way as the coder from the decoded heart rate signal and applies this filter to the output signal of the decoder. inverse quantizer of the enhancement bits, the shaped high-speed signal being obtained by adding the filtered signal to the decoded heart signal.
La mise en forme du bruit améliore ainsi la qualité perceptuelle du signal de débit cœur. Elle offre une amélioration limitée de la qualité pour les bits d'amélioration. En effet, la mise en forme du bruit de codage n'est pas effectuée pour le codage des bits d'amélioration, l'entrée du quantificateur étant la même pour la quantification de cœur que pour la quantification améliorée.  The shaping of the noise thus improves the perceptual quality of the heart rate signal. It offers a limited improvement in quality for improvement bits. Indeed, the formatting of the coding noise is not carried out for the coding of the improvement bits, the input of the quantizer being the same for the quantization of the core as for the improved quantization.
Le décodeur doit alors supprimer une composante parasite résultante par un filtrage adapté, lorsque les bits d'amélioration sont décodés en plus des bits cœur.  The decoder must then remove a resulting parasitic component by a matched filtering, when the improvement bits are decoded in addition to the core bits.
Le calcul supplémentaire d'un filtre au décodeur augmente la complexité du décodeur. Cette technique n'est pas utilisée dans les décodeurs scalables standards déjà existants de type décodeur G.722 ou G.727. Il existe donc un besoin d'amélioration de la qualité des signaux quelque soit le débit tout en restant compatible avec les décodeurs scalables standards existants. The additional calculation of a decoder filter increases the complexity of the decoder. This technique is not used in existing standard scalable decoders of the G.722 or G.727 decoder type. There is therefore a need to improve the quality of the signals regardless of the bit rate while remaining compatible with standard scalable existing decoders.
Une solution ne nécessitant pas d'effectuer au décodeur, de traitement de signal complémentaire est décrite dans la demande de brevet WO 2010/058117. Dans cette demande, le signal reçu au décodeur peut être décodé par un décodeur standard apte à décoder le signal de débit cœur et de débits imbriqués sans nécessiter de calcul de mise en forme du bruit ni de terme correctif.  A solution that does not require the decoder to perform complementary signal processing is described in the patent application WO 2010/058117. In this application, the signal received at the decoder can be decoded by a standard decoder capable of decoding the heart rate signal and nested data rates without requiring calculation of noise shaping or correction term.
Ce document décrit que pour un étage d'amélioration d'un codeur hiérarchique, la quantification s'effectue en minimisant un critère d'erreur quadratique dans un domaine perceptuellement filtré.  This document describes that for an improvement stage of a hierarchical coder, quantization is performed by minimizing a quadratic error criterion in a perceptually filtered domain.
Pour cela, un filtre de mise en forme du bruit de codage est défini et appliqué à un signal d'erreur déterminé à partir au moins d'un signal reconstruit d'un étage de codage précédent. La méthode nécessite également le calcul du signal reconstruit de l'étage d'amélioration courant en prévision d'un étage de codage suivant.  For this, a coding noise shaping filter is defined and applied to a given error signal from at least one reconstructed signal of a preceding coding stage. The method also requires the calculation of the reconstructed signal of the current improvement stage in anticipation of a next coding stage.
De plus, des termes d'amélioration sont calculés et stockés pour l'étage courant d'amélioration. Ceci apporte donc une complexité importante et un stockage important de termes d'amélioration ou d'échantillons de signal reconstruits des étages précédents.  In addition, improvement terms are calculated and stored for the current improvement stage. This therefore brings significant complexity and significant storage enhancement terms or reconstructed signal samples of previous stages.
Cette solution n'est donc pas optimale d'un point de vue complexité.  This solution is therefore not optimal from a complexity point of view.
Il existe donc un besoin d'améliorer les méthodes de l'état de l'art pour le codage et la mise en forme du bruit de codage d'amélioration, tout en restant compatible avec les décodeurs hiérarchiques existants. La présente invention vient améliorer la situation.  There is therefore a need to improve the state of the art methods for encoding and formatting enhancement coding noise, while remaining compatible with existing hierarchical decoders. The present invention improves the situation.
Elle propose à cet effet, un procédé de codage d'un signal audio numérique d'entrée (x(n)) dans un codeur hiérarchique comprenant un étage de codage cœur à B bits et au moins un étage de codage d'amélioration courant k, le codage cœur et le codage des étages d'amélioration précédant l'étage courant k délivrant des indices de quantification qui sont concaténés pour former les indices du codeur imbriqué précédent (IB+k l). Le procédé est tel qu'il comporte les étapes suivantes: To this end, it proposes a method for encoding an input digital audio signal (x (n)) in a hierarchical coder comprising a B-bit core coding stage and at least one current improvement coding stage k , the core coding and the coding of the improvement stages preceding the current stage k delivering quantization indices which are concatenated to form the indices of the preceding nested encoder (I B + kl ). The method is such that it comprises the following steps:
- obtention de valeurs possibles de quantification pour l'étage d'amélioration courant k à partir des niveaux de reconstruction absolus du seul étage courant k et des indices du codeur imbriqué précédent;  obtaining possible quantization values for the current improvement stage k from the absolute reconstruction levels of the single current stage k and the indices of the preceding nested encoder;
- quantification du signal d'entrée du codeur hiérarchique ayant subi ou non un traitement de pondération perceptuelle, à partir des dites valeurs possibles de quantification pour former un indice de quantification de l'étage k et un signal quantifié correspondant à une des valeurs possibles de quantification. quantization of the input signal of the hierarchical coder which has or has not undergone a perceptual weighting treatment, from the said possible values of quantification to form a quantization index of the stage k and a quantized signal corresponding to one of the possible quantization values.
Ainsi, la quantification de l'étage d'amélioration détermine le ou les bits d'indice de quantification qui sont directement concaténés aux indices des étages précédents. Il n'y a pas, contrairement aux méthodes de l'état de l'art, de calcul d'un signal d'amélioration ou de termes d'amélioration.  Thus, the quantization of the improvement stage determines the quantization index bit or bits which are directly concatenated with the indices of the preceding stages. Unlike the state-of-the-art methods, there is no computation of an improvement signal or improvement terms.
De plus, le signal en entrée de la quantification est soit directement le signal d'entrée du codeur hiérarchique, soit ce même signal d'entrée ayant directement subi un traitement de pondération perceptuelle. Il ne s'agit pas ici d'un signal différence entre le signal d'entrée et un signal reconstruit des étages de codage précédent comme dans les techniques de l'état de l'art.  In addition, the input signal of the quantization is either directly the input signal of the hierarchical coder, or the same input signal having directly undergone perceptual weighting processing. This is not a signal difference between the input signal and a reconstructed signal of the previous coding stages as in the techniques of the state of the art.
La complexité en termes de charge de calcul en est donc réduite.  The complexity in terms of computing load is therefore reduced.
De plus, contrairement aux méthodes de l'état de l'art, les valeurs de quantification stockées ne sont pas des valeurs différentielles. Ainsi, il n'est pas utile de mémoriser les valeurs de quantification servant de reconstruction dans les étages précédents pour constituer un dictionnaire de quantification de l'étage d'amélioration.  In addition, unlike state-of-the-art methods, stored quantization values are not differential values. Thus, it is not useful to memorize the quantization values used for reconstruction in the previous stages to form a quantization dictionary of the improvement stage.
D'autre part, contrairement aux méthodes de l'état de l'art, il n'est pas nécessaire de construire et de mémoriser un dictionnaire différentiel, car l'étage amélioration utilise directement des niveaux absolus stockés par l'encodeur et décodeur hiérarchique existant On the other hand, unlike state-of-the-art methods, it is not necessary to construct and store a differential dictionary, since the enhancement stage directly uses absolute levels stored by the encoder and hierarchical decoder. existing
( y +k(n) ). Ainsi l'invention évite la duplication des dictionnaires que l'on peut rencontrer dans les méthodes de l'état de l'art où un dictionnaire différentiel est utilisé au codeur et un dictionnaire absolu au décodeur. (y + k (n)). Thus, the invention avoids the duplication of the dictionaries that can be encountered in the methods of the state of the art where a differential dictionary is used at the encoder and an absolute dictionary at the decoder.
La mémoire requise pour le stockage des dictionnaires et les opérations de quantification au codeur et quantification inverse au décodeur est donc réduite.  The memory required for the storage of the dictionaries and the quantification operations at the encoder and inverse quantization at the decoder is therefore reduced.
Enfin, le fait d'obtenir directement les valeurs de quantification de l'étage d'amélioration sans effectuer de différence, apporte une précision supplémentaire entre les valeurs obtenues au codeur et celles obtenues au décodeur lorsque l'on travaille par exemple en précision finie.  Finally, the fact of directly obtaining the quantization values of the improvement stage without making any difference brings an additional precision between the values obtained at the encoder and those obtained at the decoder when working, for example, in finite precision.
Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé défini ci-dessus.  The various particular embodiments mentioned below may be added independently or in combination with each other, to the steps of the method defined above.
Dans un mode de réalisation particulier, le signal d'entrée a subi un traitement de pondération perceptuelle utilisant un filtre de pondération prédéterminé pour donner un signal d'entrée modifié, avant l'étape de quantification et le procédé comporte en outre une étape d'adaptation des mémoires du filtre de pondération à partir du signal quantifié de l'étage de codage d'amélioration courant. Ce traitement de pondération perceptuelle appliquée directement sur le signal d'entrée du codeur hiérarchique pour le codage d'amélioration de l'étage k réduit également la complexité en terme de charge de calculs par rapport aux techniques de l'état de l'art qui effectuaient ce traitement de pondération perceptuelle sur un signal différence entre le signal d'entrée et un signal reconstruit des étages de codage précédent. In a particular embodiment, the input signal has undergone perceptual weighting processing using a predetermined weighting filter to provide a modified input signal, prior to the quantization step, and the method further includes a step of adapting the weighting filter memories from the quantized signal of the current enhancement coding stage. This perceptual weighting processing applied directly to the input signal of the hierarchical coder for the enhancement coding of the stage k also reduces the complexity in terms of computational load compared to state-of-the-art techniques which performed this perceptual weighting processing on a difference signal between the input signal and a reconstructed signal of the previous coding stages.
Ainsi, le procédé de codage décrit permet aussi aux décodeurs existants de décoder le signal sans avoir de modifications à apporter ou de traitement supplémentaires à prévoir tout en bénéficiant de l'amélioration du signal par une mise en forme du bruit de codage efficace.  Thus, the encoding method described also allows existing decoders to decode the signal without having to make any additional modifications or processing to be expected while benefiting from the improvement of the signal by formatting the effective coding noise.
Dans un mode particulier de réalisation, les valeurs possibles de quantification pour l'étage d'amélioration k contiennent en outre un facteur d'échelle et une valeur de prédiction provenant du codage cœur de type adaptatif.  In a particular embodiment, the possible quantization values for the improvement stage k further contain a scale factor and a prediction value from the adaptive type core coding.
Ceci permet d'adapter les valeurs de quantification par rapport aux valeurs définies au codage cœur.  This makes it possible to adapt the quantization values with respect to the values defined in the core coding.
Dans une alternative de réalisation, le signal d'entrée modifié à quantifier à l'étage d'amélioration k est le signal d'entrée pondéré perceptuellement auquel est soustrait une valeur de prédiction provenant du codage cœur de type adaptatif.  In an alternative embodiment, the modified input signal to be quantized at the improvement stage k is the perceptually weighted input signal from which a prediction value derived from the adaptive type core coding is subtracted.
Ceci permet également d'adapter les valeurs de quantification par rapport aux valeurs définies au codage cœur mais en effectuant cette adaptation en entrée du quantificateur plutôt que sur chaque valeur de quantification. Ceci est avantageux dans le cas où l'amélioration s'effectue sur plusieurs bits.  This also makes it possible to adapt the quantization values with respect to the values defined in the core coding but by making this input adaptation of the quantizer rather than on each quantization value. This is advantageous in the case where the improvement is carried out on several bits.
De façon particulière, le traitement de pondération perceptuelle, s'effectue par des filtres de prédictions formant un filtre de type ARMA.  In particular, the perceptual weighting treatment is performed by prediction filters forming an ARMA type filter.
La mise en forme du bruit de codage d'amélioration est alors de bonne qualité. La présente invention se rapporte également à un codeur hiérarchique d'un signal audio numérique d'entrée, comprenant un étage de codage cœur à B bits et au moins un étage de codage d'amélioration courant k, le codage cœur et le codage des étages d'amélioration précédant l'étage courant k délivrant des indices de quantification qui sont concaténés pour former les indices du codeur imbriqué précédent. Le codeur est tel qu'il comporte:  The formatting of the improvement coding noise is then of good quality. The present invention also relates to a hierarchical coder of an input digital audio signal, comprising a B-bit core coding stage and at least one current improvement coding stage k, the core coding and the coding of the stages. of improvement preceding the current stage k delivering quantization indices which are concatenated to form the indices of the preceding nested encoder. The encoder is such that it comprises:
- un module d'obtention de valeurs possibles de quantification pour l'étage d'amélioration courant k par la détermination de niveaux de reconstruction absolus du seul étage courant k à partir des indices du codeur imbriqué précédent;  a module for obtaining possible quantization values for the current improvement stage k by determining absolute reconstruction levels of the single current stage k from the indices of the preceding nested encoder;
- un module de quantification du signal d'entrée du codeur hiérarchique ayant subi ou non un traitement de pondération perceptuelle, à partir des dites valeurs possibles de quantification pour former un indice de quantification de l'étage k et un signal quantifié correspondant à une des valeurs possibles de quantification. Le codeur hiérarchique comporte en outre un module de prétraitement de pondération perceptuelle utilisant un filtre de pondération prédéterminé pour donner un signal d'entrée modifié en entrée du module de quantification et un module d'adaptation des mémoires du filtre de pondération à partir du signal quantifié de l'étage de codage d'amélioration courant. a quantization module of the input signal of the hierarchical coder which has or has not undergone perceptual weighting processing, starting from the said possible quantification values to form a quantization index of the stage k and a quantized signal corresponding to one of the possible quantification values. The hierarchical coder further comprises a perceptual weighting pre-processing module using a predetermined weighting filter to give a modified input signal of the quantization module and a weighting filter memory adaptation module from the quantized signal. of the current improvement coding stage.
Le codeur hiérarchique apporte les mêmes avantages que ceux du procédé qu'il met en œuvre.  The hierarchical coder provides the same advantages as those of the method it implements.
Elle se rapporte aussi à un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage selon l'invention, lorsque ces instructions sont exécutées par un processeur.  It also relates to a computer program comprising code instructions for implementing the steps of the encoding method according to the invention, when these instructions are executed by a processor.
L'invention se rapporte enfin à un moyen de stockage lisible par un processeur mémorisant un programme informatique tel que décrit.  The invention finally relates to a storage means readable by a processor storing a computer program as described.
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:  Other features and advantages of the invention will appear more clearly on reading the following description, given solely by way of nonlimiting example, and with reference to the appended drawings, in which:
- la figure 1 illustre un codeur de type MICDA à codes imbriqués selon l'état de l'art et tel que décrit précédemment;  FIG. 1 illustrates a coder of the ADPCM type with nested codes according to the state of the art and as previously described;
- la figure 2 illustre un décodeur de type MICDA à codes imbriqués selon l'état de l'art et tel que décrit précédemment;  FIG. 2 illustrates a decoder of the ADPCM type with nested codes according to the state of the art and as described above;
- la figure 3 illustre un mode de réalisation général du procédé de codage selon l'invention et d'un codeur selon l'invention;  FIG. 3 illustrates a general embodiment of the coding method according to the invention and an encoder according to the invention;
- la figure 4 illustre un premier mode de réalisation particulier du procédé de codage et d'un codeur selon l'invention;  FIG. 4 illustrates a first particular embodiment of the coding method and an encoder according to the invention;
- la figure 5 illustre un deuxième mode de réalisation particulier du procédé de codage et d'un codeur selon l'invention;  FIG. 5 illustrates a second particular embodiment of the coding method and an encoder according to the invention;
- la figure 6 illustre un troisième mode de réalisation particulier du procédé de codage et d'un codeur selon l'invention;  FIG. 6 illustrates a third particular embodiment of the coding method and an encoder according to the invention;
- la figure 7 illustre une alternative de réalisation générale du procédé de codage et d'un codeur selon l'invention;  FIG. 7 illustrates an alternative general embodiment of the coding method and an encoder according to the invention;
- la figure 7b illustre une autre alternative de réalisation générale du procédé de codage et d'un codeur selon l'invention;  FIG. 7b illustrates another alternative general embodiment of the coding method and an encoder according to the invention;
- la figure 8 illustre un exemple de réalisation du codage cœur d'un codeur selon l'invention;  FIG. 8 illustrates an exemplary embodiment of the core coding of an encoder according to the invention;
- la figure 9 illustre un exemple de niveaux de reconstruction de quantification utilisés dans l'état de l'art; et  FIG. 9 illustrates an example of quantization reconstruction levels used in the state of the art; and
- la figure 10 illustre un mode de réalisation matérielle d'un codeur selon l'invention. En référence à la figure 3, un codeur ainsi qu'un procédé de codage selon un mode de réalisation de l'invention est décrit. FIG. 10 illustrates a hardware embodiment of an encoder according to the invention. With reference to FIG. 3, an encoder as well as a coding method according to one embodiment of the invention is described.
On rappelle qu'on considère ici le cas d'un codeur à codes imbriqués ou codeur hiérarchique dans lequel un codage cœur à B bits et au moins un étage d'amélioration de rang k est prévu. Le codage cœur et les étages d'amélioration précédant le codage de l'étage d'amélioration k tel que représenté en 306, délivrent des indices de quantification scalaires multiplexés dans l'indice IB+k l(n) de B+k-l bits par échantillon. It will be recalled here that the case of an encoder with nested codes or hierarchical encoder is considered in which a B-bit core coding and at least one rank improvement stage k is provided. The core coding and the improvement stages preceding the coding of the improvement stage k as represented at 306, deliver multiplexed scalar quantization indices in the index I B + kl (n) of B + kl bits by sample.
Dans les exemples de réalisation décrits ci-après, par soucis de simplification de présentation, l'étage d'amélioration (de rang k) est présenté comme produisant un bit supplémentaire par échantillon. Dans ce cas, le codage dans chaque étage d'amélioration implique de sélectionner une valeur parmi deux possibles. Comme il apparaîtra par la suite, le "dictionnaire absolu" - en termes de niveaux absolus (au sens de « non-différentiels »)- correspondant à toutes les valeurs de quantification que peut produire l'étage d'amélioration de rang k, est de taille 2B+k, ou parfois légèrement inférieure à 2B+k comme par exemple dans le codeur G.722 qui n'a que 60 niveaux possibles au lieu de 64 dans le quantificateur de 6 bits de bande basse. Le codage hiérarchique implique une structure en arbre binaire du "dictionnaire absolu", ce qui explique qu'il suffit d'un bit d'amélioration pour effectuer le codage étant donnés les B+k-l bits des étages précédents. In the exemplary embodiments described below, for the sake of simplification of presentation, the improvement stage (of rank k) is presented as producing one additional bit per sample. In this case, the coding in each improvement stage involves selecting one of two possible values. As it will appear later, the "absolute dictionary" - in terms of absolute levels (in the sense of "non-differential") - corresponding to all the quantization values that can be produced by the rank improvement stage k, is of size 2 B + k , or sometimes slightly less than 2 B + k as for example in the G.722 coder which has only 60 possible levels instead of 64 in the quantizer of 6 bits of low band. Hierarchical coding implies a binary tree structure of the "absolute dictionary", which explains why it suffices to have one bit of improvement to perform the coding given the B + kl bits of the preceding stages.
La figure 9 est un extrait du tableau VI de l'article précité X. Maître et représente les 4 premiers niveaux du quantificateur de cœur à B bits pour B=4 bits et les niveaux des quantificateurs à B+l et B+2 bits du codage de la bande basse d'un codeur G.722 ainsi que les valeurs de sortie du quantificateur d'amélioration de l'état de l'art pour B+2 bits.  FIG. 9 is an extract from Table VI of the aforementioned article X. Master and represents the first 4 levels of the B-bit core quantizer for B = 4 bits and the quantizer levels at B + 1 and B + 2 bits of the encoding the low band of a G.722 encoder as well as the output values of the state-of-the-art enhancement quantizer for B + 2 bits.
Comme illustré sur cette figure, le quantificateur imbriqué à B+l=5 bits est obtenu en "dédoublant" les niveaux du quantificateur à B=4 bits. Le quantificateur imbriqué à B+2=6 bits est obtenu en "dédoublant" les niveaux du quantificateur à B+l=5 bits. Le dédoublement des niveaux de reconstruction est en fait une conséquence de la contrainte de codage hiérarchique de la bande basse qui est mis en œuvre dans G.722 sous la forme d'un dictionnaire de quantification scalaire (à 4, 5 ou 6 bits par échantillon) structuré en arbre.  As illustrated in this figure, the quantizer nested at B + 1 = 5 bits is obtained by "splitting" the quantizer levels at B = 4 bits. The quantizer nested at B + 2 = 6 bits is obtained by "splitting" the quantizer levels at B + 1 = 5 bits. The duplication of the reconstruction levels is in fact a consequence of the low band hierarchical coding constraint which is implemented in G.722 in the form of a scalar quantization dictionary (at 4, 5 or 6 bits per sample ) structured in a tree.
Dans l'état d'art, les valeurs enh^B k +k_l+ . désignant des niveaux de reconstructions de quantification pour un étage d'amélioration k sont définis par la différence entre In the state of art, the values enh ^ B k + k _ l + . designating levels of quantization reconstructions for an improvement stage k are defined by the difference between
oies valeurs désignant les niveaux de reconstruction de la quantification d'un quantificateur imbriqué à B+k bits (B désignant le nombre de bits du codage cœur) et  These values denote the quantization reconstruction levels of a nested quantizer at B + k bits (where B denotes the number of bits of the core coding) and
oies valeurs désignant les niveaux de reconstruction de quantification d'un quantificateur imbriqué à B+k-l bits, les niveaux de reconstruction du quantificateur imbriqué à B+k bits étant définis par dédoublement des niveaux de reconstruction du quantificateur imbriqué à B+k-1 bits. oes values designating the quantization reconstruction levels of a nested quantizer at B + kl bits, the reconstruction levels of the Nested quantizer at B + k bits being defined by splitting the reconstruction levels of the nested quantizer at B + k-1 bits.
Avec l'invention les niveaux de reconstruction différentiels enh^k +k_l+ . listés à droite et encadrés en pointillés n'ont pas à être calculés ni stockés. Selon l'invention seuls les niveaux de reconstruction absolus y +k de l'étage k sont calculés et stockés. With the invention the differential reconstruction levels enh ^ _ k + k + l. listed on the right and dotted boxes do not have to be calculated or stored. According to the invention only the absolute reconstruction levels y + k of the stage k are calculated and stored.
Ces niveaux de reconstruction absolus y +k de l'étage k sont utilisés au codeur de la même façon qu' au décodeur, dans le sens où le signal reconstruit peut être obtenu dans le cas général du codage MICDA à partir de ces niveaux de reconstruction absolus y +k par multiplication par le facteur d'échelle v(n) et ajout du signal de prédiction Xp {n) , comme déjà présenté en référence à la description de la Figure 2 qui représente le décodeur MICDA standard à codes imbriqués. Ces niveaux étant déjà définis et stockés dans le décodeur, le codeur ne rajoute donc aucune table de quantification supplémentaire dans le codée (codeur + décodeur). These absolute reconstruction levels y + k of stage k are used at the encoder in the same way as at the decoder, in the sense that the reconstructed signal can be obtained in the general case of ADPCM coding from these reconstruction levels. absolute y + k by multiplying by the scale factor v (n) and adding the prediction signal Xp {n), as already presented with reference to the description of Figure 2 which represents the standard nested code ADPCM decoder. Since these levels are already defined and stored in the decoder, the encoder does not add any additional quantization tables in the codec (encoder + decoder).
Le codage de l'étage d'amélioration selon l'invention est très facilement généralisable pour les cas où l'étage d'amélioration ajoute plusieurs bits par échantillon. Dans ce cas la taille du dictionnaire Dk(n) utilisé à l'étage d'amélioration, tel que défini ultérieurement, est simplement 2U où U>1 est le nombre de bits par échantillon de l'étage d'amélioration. The coding of the improvement stage according to the invention is very easily generalizable for cases where the improvement stage adds several bits per sample. In this case, the size of the dictionary D k (n) used in the improvement stage, as defined later, is simply 2 U where U> 1 is the number of bits per sample of the improvement stage.
Le codeur tel que représenté en figure 3 montre un codeur à codes imbriqués ou codeur hiérarchique dans lequel un codage cœur à B bits et au moins un étage d'amélioration de rang k est prévu. Le codage cœur et les étages d'amélioration précédant le codage de l'étage d'amélioration k tel que représenté en 306, délivrent des indices de quantification scalaires qui sont concaténés pour former les indices du codeur imbriqué précédent IB+k l(n). The encoder as shown in FIG. 3 shows a nested coder or hierarchical coder in which a B-bit core coding and at least one rank improvement stage k is provided. The core coding and the improvement stages preceding the coding of the improvement stage k as represented at 306, deliver scalar quantization indices which are concatenated to form the indices of the preceding nested encoder I B + kl (n) .
La figure 3 illustre simplement un module de codage MIC/MICDA 302 représentant le codage imbriqué précédant le codage d'amélioration en 306.  Figure 3 simply illustrates a PCM / ADPCM coding module 302 representing the embedded coding preceding the enhancement coding at 306.
Le codage cœur du codage imbriqué précédent peut éventuellement s'effectuer en utilisant le filtre de masquage déterminé en 301 pour mettre en forme du bruit de codage « cœur ». Un exemple de ce type de codage cœur est décrit ultérieurement en référence à la figure 8.  The core encoding of the preceding nested encoding may optionally be performed using the masking filter determined at 301 to format "core" coding noise. An example of this type of core coding is described later with reference to FIG.
Ce module 302 délivre ainsi les indices IB+k l(n) du codeur imbriqué ainsi que le signal de prédiction xF B (n) et le facteur d'échelle v(n) dans le cas où il s'agit bien d'un codage prédictif MICDA similaire à celui décrit en référence à la figure 1. Dans le cas d'un codage MIC, le module 302 délivre simplement les indices de quantification imbriqués IB+k l(n). Par ailleurs on peut remarquer que le codage MIC est un cas particulier du codage MICDA en prenant xB (n) = 0 et v(n) = 1 . This module 302 thus delivers the indices I B + kl (n) of the nested encoder as well as the prediction signal x F B (n) and the scaling factor v (n) in the case where it is a question of a predictive ADPCM coding similar to that described with reference to FIG. In the case of a PCM coding, the module 302 simply delivers the nested quantization indices I B + k1 (n). Moreover, it may be noted that the PCM coding is a special case of the ADPCM coding by taking x B (n) = 0 and v (n) = 1.
La connaissance des indices de quantification imbriqués IB+k l(n) et des niveaux de reconstruction absolus y +k , ainsi que le cas échéant, le signal de prédiction xB (n) et le facteur d'échelle v(n) permettent de déterminer les valeurs de quantification Dk(n) =The knowledge of the nested quantization indices I B + kl (n) and the absolute reconstruction levels y + k , as well as, if appropriate, the prediction signal x B (n) and the scaling factor v (n) allow to determine the quantization values D k (n) =
{ dB+k (n) , dB+k (n) } pour l'étage d'amélioration courant k dans le module de construction du dictionnaire des valeurs de quantification 303. Ce dictionnaire Dk(n) est utilisé par le quantificateur qualifié ici de "quantificateur d'amélioration" pour l'étage d'amélioration de rang k. {d B + k (n), d B + k (n)} for the current improvement stage k in the construction module of the quantization value dictionary 303. This dictionary D k (n) is used by the quantizer referred to herein as an "improvement quantizer" for the rank improvement stage k.
Ainsi, selon le mode de réalisation privilégié, les valeurs de quantification du dictionnaire sont définies de la façon suivante, dans le cas du codage MICDA:  Thus, according to the preferred embodiment, the quantization values of the dictionary are defined as follows, in the case of the ADPCM coding:
dB+k {n) = xB {n) + y^B An) et +k {n) = xB {n) + yB L,+1v {n) , d B + k (n) = x B (n) + y ^ B A n ) and + k (n) = x B (n) + y B L, +1 v {n),
avec j= 0 ou 1, représentent deux valeurs possibles de quantification d'un with j = 0 or 1, represent two possible quantization values of a
quantificateur imbriqués de B+k bits, prédéfinies et stockées au codeur et au décodeur. On peut voir les valeurs yB+k comme issues d'un « dédoublement » du dictionnaire y +k~l de l'étage précédent k-1. nested quantizer of B + k bits, predefined and stored at the encoder and the decoder. We can see the values y B + k as arising from a "splitting" of the dictionary y + k ~ l of the previous stage k-1.
On remarque que les deux éléments du dictionnaire Dk(n) dépendent de JB+k~l . En fait, ce dictionnaire est un sous-ensemble du "dictionnaire absolu" défini comme: Note that the two elements of the dictionary D k (n) depend on J B + k ~ l . In fact, this dictionary is a subset of the "absolute dictionary" defined as:
U D (n) = U UD (n) = U
Le "dictionnaire absolu" est un dictionnaire structuré en arbre. L'indice JB+k~l conditionne les différentes branches de l'arbre à prendre en compte pour déterminer les valeurs de quantification possibles de l'étage k (Dk(n)). Le facteur d'échelle v {n) est déterminé par l'étage cœur du codage MICDA comme illustré en figure 1 , l'étage d'amélioration utilise donc ce même facteur d'échelle pour mettre à l'échelle les mots de code du dictionnaire de quantification. The "absolute dictionary" is a dictionary structured in tree. The index J B + k ~ l conditions the different branches of the tree to be taken into account in order to determine the possible quantization values of the stage k (D k (n)). The scale factor v {n) is determined by the core stage of the ADPCM coding as illustrated in FIG. 1, the improvement stage therefore uses this same scale factor to scale the code words of the quantization dictionary.
Dans un mode de réalisation de l'invention, le codeur de la figure 3 ne comporte pas les modules 301 et 310, c'est-à-dire qu'il n'est pas prévu de traitement de mise en forme de bruit de codage. Ainsi, c'est le signal d'entrée x(n) lui-même qui est quantifié par le module de quantification 306.  In one embodiment of the invention, the coder of FIG. 3 does not include modules 301 and 310, that is, no coding noise shaping processing is provided. . Thus, it is the input signal x (n) itself that is quantized by the quantization module 306.
Dans un mode particulier de réalisation, le codeur comporte en outre un module 301 de calcul d'un filtre de masquage et de détermination du filtre de pondération W(z) ou d'une version prédictive WPRED (z) décrite ultérieurement. Le filtre de masquage ou de pondération est déterminé ici à partir du signal d'entrée x(n) mais pourrait très bien être déterminé à partir d'un signal décodé, par exemple du signal décodé du codeur imbriqué précédent xB+k~l (n) . Le filtre de masquage peut être déterminé ou adapté échantillon par échantillon ou par bloc d'échantillons. In a particular embodiment, the encoder further comprises a module 301 for calculating a masking filter and for determining the weighting filter W (z) or a predictive version W PRED (z) described later. The masking or weighting filter is determined here from the input signal x (n) but could very well be determined from a decoded signal, for example from the decoded signal of the preceding nested encoder x B + k ~ l (not) . The masking filter can be determined or adapted sample by sample or by block of samples.
En effet, le codeur selon l'invention effectue une mise en forme du bruit de codage de l'étage d'amélioration en utilisant une quantification dans le domaine pondéré par le filtre W(z), c'est-à-dire en minimisant l'énergie du bruit de quantification filtré par W(z).  Indeed, the encoder according to the invention performs a shaping of the coding noise of the improvement stage by using a quantization in the domain weighted by the filter W (z), that is to say by minimizing the quantization noise energy filtered by W (z).
Ce filtre de pondération est utilisé en 311 par le module de filtrage et plus globalement par le module 310 de prétraitement de pondération perceptuelle du signal d'entrée x(n). Ce prétraitement est appliqué directement sur le signal d'entrée x(n) et non pas sur un signal d'erreur comme ceci pouvait être le cas dans les techniques de l'état de l'art.  This weighting filter is used at 311 by the filtering module and more generally by the perceptual weighting module 310 of the input signal x (n). This pretreatment is applied directly to the input signal x (n) and not to an error signal as could be the case in state-of-the-art techniques.
Ce module 310 de prétraitement délivre un signal modifié x'(n) en entrée du quantificateur d'amélioration 307.  This pretreatment module 310 delivers a modified signal x '(n) at the input of the enhancement quantizer 307.
Le module de quantification 307 de l'étage d'amélioration k délivre un indice de quantification Ienh B+k(n) qui sera concaténé aux indices du codage imbriqué précédent (IB+k l) pour former les indices du codage imbriqué courant (IB+k), par un module non représenté ici. The quantization module 307 of the improvement stage k delivers a quantization index I in h B + k (n) which will be concatenated with the indices of the preceding nested encoding (I B + kl ) to form the indices of the current nested encoding ( I B + k ), by a module not shown here.
Le module de quantification 307 de l'étage d'amélioration k choisit entre les deux valeurs dB+k (n) et dB+k (n) du dictionnaire adaptatif Dk(n). The quantization module 307 of the improvement stage k chooses between the two values d B + k (n) and d B + k (n) of the adaptive dictionary D k (n).
II reçoit en entrée le signal x'(n) et donne comme sortie, en passant par le module de décodage local 308, la valeur quantifiée xB+k (n) (où xB+k (n) est soit égale à dB+k (n) soit à dB+k (n) ), en minimisant l'erreur quadratique entre x'(n) et xB+k (n) . Le dictionnaire adaptatif Dk(n) contient donc directement la valeur quantifiée de sortie de l'étage k. It receives as input the signal x '(n) and gives as output, through the local decoding module 308, the quantized value x B + k (n) (where x B + k (n) is equal to d B + k (n) or d B + k (n)), minimizing the squared error between x '(n) and x B + k (n). The adaptive dictionary D k (n) therefore directly contains the quantized output value of the stage k.
Le module 308 donne la valeur quantifiée du signal d'entrée par quantification inverse de l'indice IB^h k (n) . Au décodeur la même valeur est obtenue simplement en utilisant directement le quantificateur inverse de l'étage k et l'indice concaténé : xB+k (n) = xB {n) + yB B + +k kv {n) . The module 308 gives the quantized value of the input signal by inverse quantization of the index I B ^ h k (n). At the decoder the same value is obtained simply by directly using the inverse quantizer of the stage k and the concatenated index: x B + k (n) = x B {n) + y B B + + k k v {n) .
Ce signal quantifié est utilisé pour mettre à jour les mémoires du filtre de pondération W(z) de l'étage d'amélioration pour obtenir des mémoires qui correspond à une entrée x (n)— xB+k (n) . Typiquement on soustrait de la mémoire (ou des mémoires dans le cas du filtre type ARMA) plus récente(s) la valeur actuelle du signal décodé xB+k (n) . This quantized signal is used to update the memories of the weighting filter W (z) of the enhancement stage to obtain memories corresponding to an input x (n) -x B + k (n). Typically one subtracts from the memory (or memories in the case of the filter type ARMA) more recent (s) the current value of the decoded signal x B + k (n).
Ainsi, la quantification du signal x( n) se fait dans le domaine pondéré, ce qui veut dire qu'on minimise l'erreur quadratique entre x (n et xB+k (n) après filtrage par le filtre W(z)■ Le bruit de quantification de l'étage d'amélioration est donc mis en forme par un filtre 1/W(z) pour rendre ce bruit moins audible. L'énergie du bruit de quantification pondéré est ainsi minimisé. Thus, the quantization of the signal x (n) is done in the weighted domain, which means that we minimize the squared error between x (n and x B + k (n) after filtering by the filter W (z) ■ The quantization noise of the enhancement stage is therefore shaped by a 1 / W (z) filter to make this noise less audible. The energy of the weighted quantization noise is thus minimized.
Le mode de réalisation général du bloc 310 donné sur la figure 3 montre le cas général où W(z) est un filtre de réponse impulsionnelle infinie (IIR, infinité impulse response) ou un filtre de réponse impulsionnelle finie (FIR, finite impulse response). On obtient le signal x' (n) en filtrant x (n) par W(z) puis quand la valeur quantifiée xB+k (n) est connue, les mémoires du filtre W(z) sont mises à jour comme si le filtrage avait été effectué sur le signal x n)— xB+k (n) . The general embodiment of the block 310 given in FIG. 3 shows the general case where W (z) is an infinite impulse response (IIR) filter or a finite impulse response (FIR) filter. . The signal x '(n) is obtained by filtering x (n) by W (z) and then when the quantified value x B + k (n) is known, the memories of the filter W (z) are updated as if the filtering had been done on the signal xn) - x B + k (n).
La flèche en pointillés représente la mise à jour des mémoires du filtre.  The dotted arrow represents the update of the filter memories.
Ainsi, les étapes mises en œuvre dans le codeur tel que illustré en figure 3 sont également représentées. On y retrouve en effet, les étapes suivantes:  Thus, the steps implemented in the encoder as illustrated in FIG. 3 are also represented. We find in fact the following steps:
- obtention en 303 de valeurs possibles de quantification ( dB+k (n) ) pour l'étage d'amélioration courant k par la détermination de niveaux de reconstruction absolus du seul étage courant k à partir des indices du codeur imbriqué précédent ( ); obtaining at 303 possible quantization values (d B + k (n)) for the current improvement stage k by determining absolute reconstruction levels of the single current stage k from the indices of the preceding nested encoder () ;
- quantification en 306 du signal d'entrée du codeur hiérarchique ayant subi ou non un traitement de pondération perceptuelle (x(n) ou x'(n)), à partir des dites valeurs possibles de quantification ( dB+k (n) ) pour former un indice de quantification de l'étage k (Ienh B+k(n)) et un signal quantifié ( x B+k (n) ) correspondant à une des valeurs possibles de quantification; quantization at 306 of the input signal of the hierarchical coder which has or has not undergone a perceptual weighting treatment (x (n) or x '(n)), from the said possible quantification values (d B + k (n)) ) to form a quantization index of the stage k (I enh B + k (n)) and a quantized signal (x B + k (n)) corresponding to one of the possible quantization values;
Dans le cas représenté en figure 3, le signal d'entrée a subi un traitement de pondération perceptuelle en 310 utilisant un filtre de pondération prédéterminé en 301 pour donner un signal d'entrée modifié x'(n), avant l'étape de quantification en 306.  In the case shown in FIG. 3, the input signal has undergone a perceptual weighting processing by using a predetermined weighting filter at 301 to give a modified input signal x '(n), before the quantization step. in 306.
La figure 3 représente également l'étape d'adaptation en 311 des mémoires du filtre de pondération à partir du signal quantifié ( x B+k (n) ) de l'étage de codage d'amélioration courant. FIG. 3 also represents the step of adapting the weighting filter memories 311 to the quantized signal (x B + k (n)) of the current improvement coding stage.
Les figures 4, 5 et 6 décrivent à présent des modes de réalisation particuliers du bloc 310 de prétraitement.  Figures 4, 5 and 6 now describe particular embodiments of the pretreatment block 310.
Les blocs 301, 302, 303, 306, 307 et 308 restent alors identiques à ceux décrits en référence à la figure 3.  The blocks 301, 302, 303, 306, 307 and 308 then remain identical to those described with reference to FIG.
La figure 4 représente un premier mode de réalisation du bloc 310 de prétraitement avec un filtre W(z) = A'( z ) à réponse impulsionnelle finie (FIR pour Finite impulse response en anglais). Dans ce mode de réalisation, la mémoire du filtre contient uniquement les échantillons d'entrée passés du signal x(n)— xB+k (n) , notés: FIG. 4 represents a first embodiment of the pretreatment block 310 with a finite impulse response (FIR) filter W (z) = A '(z). In this embodiment, the filter memory contains only the input samples passed from the signal x (n) -x B + k (n), noted:
bB+k (n '), n ' = n - l, ..., n - ND . b B + k (n '), n' = n - l, ..., n - N D.
ND étant l'ordre du filtre perceptuel W(z)- En 302, le signal d'entrée x(n) est codé par le module de codage MIC/MICDAN D being the order of the perceptual filter W (z) - In 302, the input signal x (n) is encoded by the MIC / ADPCM coding module
302, avec ou sans mise en forme du bruit de codage du codeur imbriqué B+k-1, 302, with or without shaping the coding noise of the nested encoder B + k-1,
En 303, un dictionnaire adaptatif Dk est construit en fonction des valeurs de prédiction xB (n) , du facteur d'échelle v (n) de l'étage cœur dans le cas d'un codage de type adaptatif MICDA et des indices de codage JB+k~l (^) comme expliqué en référence à la figure 3. Le dictionnaire adaptatif Dk comporte dans le mode de réalisation particulier ou un seul bit d'amélioration est prévu dans l'étage d'amélioration k, les deux termes suivants: d +k {n) = xp B {η) + et +k {n) = xB {n) + yB Li+lv {n) . In 303, an adaptive dictionary D k is constructed according to the prediction values x B (n), the scaling factor v (n) of the heart stage in the case of ADPCA adaptive type coding and indices. coding J B + k ~ l (^) as explained with reference to Figure 3. The adaptive dictionary D k comprises in the particular embodiment or a single improvement bit is provided in the improvement stage k, the two following terms: d + k (n) = x p B { η ) + and + k (n) = x B (n) + y B L i + 1 v {n).
Dans ce mode de réalisation, on retrouve les étapes de calcul en 301 du filtre de masquage et de détermination du filtre de pondération W(z), ainsi que sa version prédictive WPRED (z) basée sur des prédictions, c'est-à-dire des calculs utilisant uniquement des échantillons passés. In this embodiment, there are the calculation steps in 301 of the filtering filter and the weighting filter W (z), and its predictive version W PRED (z) based on predictions, that is to say -describe calculations using only past samples.
Rappelons ici la définition d'un filtre prédictif:  Recall here the definition of a predictive filter:
Prenons comme exemple le cas d'un filtrage d'un signal x(n) par le filtre non récursif de fonction de transfert tout-zéro (aussi dit FIR pour Finite Impulse Response en  Let us take as an example the case of a filtering of a signal x (n) by the non-recursive filter of all-zero transfer function (also called FIR for Finite Impulse Response in
4 anglais (Filtre à réponse impulsionnelle finie)) A (z) d'ordre 4, A ( z) = 1 + ^ <¾Z~! , i=l donnant pour résultat un signal y(n). Dans le domaine de la transformée en z, l'équation 4 (finite impulse response filter) A (z) of order 4, A (z) = 1 + ^ <¾Z ~! , i = 1 resulting in a signal y (n). In the domain of the z transform, the equation
Y ( z) = A ( z) X ( z )  Y (z) = A (z) X (z)
correspond à l'équation aux différences corresponds to the difference equation
y (n) = a0x(n) + a1x(n - l) + a2x(n - 2) + a3x(n - 3) + a4x(n - 4) y (n) = a 0 x (n) + a 1 x (n - 1) + a 2 x (n - 2) + a 3 x (n - 3) + a 4 x (n - 4)
Cette expression de y(n) peut être divisée en deux parties : This expression of y (n) can be divided into two parts:
- la première ne dépend que de l'entrée présente x(n) : a0x (n) . Le plus souvent et dans les cas qui nous intéressent dans ce document, ao = 1 - the first depends only on the present entry x (n): a 0 x (n). Most often and in the cases that interest us in this document, ao = 1
- la seconde qui ne dépend que l'entrée passée x(n-i), i > 0 : axx [n - l) + a2x [n— 2) + a3x [n - 3) + a4x [n— 4) qui sera donc considérée comme la partie prédictive du filtrage par analogie à la prédiction linéaire où elle représente la prédiction de x(n) à partir des échantillons précédents. Cette seconde partie correspond pour l'instant d'échantillonnage « à la « réponse à l'entrée nulle », ou en anglais « zéro input réponse » (ZIR) ou encore « ringing » qui est en fait une prédiction généralisée. La transformée en z de cette composante est :- the second which depends only on the past input x (ni), i> 0: a x x [n-1) + a 2 x [n-2) + a 3 x [n-3) + a 4 x [n- 4] which will therefore be considered as the predictive part of filtering by analogy to linear prediction where it represents the prediction of x (n) from the previous samples. This second part corresponds for the moment of sampling "to the" response to the null entry ", or in English" zero input response "(ZIR) or" ringing "which is in fact a generalized prediction. The z-transform of this component is:
YPREO{Z) = {A{Z)-\)X{Z) = HA >RED{Z)X{Z) avec HAtPKED(z) = A(z)-l Y PREO {Z) = {A {Z) - \) X {Z) = H A> RED {Z) X {Z) with H AtPKED (z) = A (z) -l
De façon similaire, pour le filtrage d'un signal x(n ) par un filtre récursif tout-pôle , résultant en un signal y(n), la fonction de Similarly, for the filtering of a signal x (n) by an all-pole recursive filter, resulting in a signal y (n), the function of
transfert donne : transfer gives:
B(z) B (z)
avec comme équation aux différences : with as difference equation:
y (n) = x(n) - ^y (n - l) - b2y (n - 2) - b3y (n -3) - b4y (n - 4) y (n) = x (n) - y (n - 1) - b 2 y (n - 2) - b 3 y (n - 3) - b 4 y (n - 4)
La partie innovation est x(n), la partie prédictive est -hly(n-l)-b2y(n-2)-b3y(n-3)-b4y(n-4) , de transformée en z The innovation part is x (n), the predictive part is -h l y (nl) -b 2 y (n-2) -b 3 y (n-3) -b 4 y (n-4), transform in z
YPRED(z) = -(B(z)-l)Y(z) = (l-B(z))Y(z). Y PRED (z) = - (B (z) -1) Y (z) = (1B (z)) Y (z).
Il en est de même pour le cas où le filtre contient à la fois des zéros et des pôles (filtre ARMA pour AutoRegressive Moving Average) :  It is the same for the case where the filter contains both zeros and poles (ARMA filter for AutoRegressive Moving Average):
B(z) B (z)
avec comme équation aux différences (dans cet exemple A(z) et B(z) sont d'ordre 4) : with as difference equation (in this example A (z) and B (z) are of order 4):
4 4  4 4
y(n) = x(n) +∑aix(n-i)-∑biy(n-i)y (n) = x (n) + Σa i x (ni) -Σb i y (ni)
=l =l  = l = l
4 4  4 4
La partie innovation est x(n ), la partie prédictive est y a;x (n— i)— y (n— ï) , The innovation part is x (n), the predictive part is y ; x (n-i) - y (n-1),
i=l =1 de transformée en z YPRED{z) = (A{Z)-\)X{Z)-(B{Z)-\)Y {z) , ou ■ i = l = 1 of transform in z Y PRED {z) = (A {Z) - \) X {Z) - (B {Z) - \) Y {z), or ■
Dans la suite, de façon générale HPRED (z) dénote un filtre dont le coefficient pour son entrée actuel x(n) est zéro. In the following, generally H PRED (z) denotes a filter whose coefficient for its current input x (n) is zero.
1 A(z)  1 A (z)
Les filtres récursifs tout-pôle—— - ou ARMA—— - sont les filtres dit IIR pour  The recursive filters all-pole-- - or ARMA-- - are the so-called IIR filters for
B(z) B(z)  B (z) B (z)
Infinité Impulse Response en anglais (Filtre à réponse impulsionnelle infinie). Dans le cas présent, en figure 4, en utilisant le découpage d'un filtrage en parties innovation et prédictive, le terme dont l'énergie est à minimiser est alors: Infinite Impulse Response in English (Infinite Impulse Response Filter). In the present case, in FIG. 4, using the breakdown of a filtering into innovation and predictive parts, the term whose energy is to be minimized is then:
(x(n) + xPRED (n)) - (xB+k (n) + xB R +k D (n)) (x (n) + x PRED (n)) - (x B + k (n) + x B R + k D (n))
Le signal à quantifier par le quantificateur d'amélioration de l'étage k est donc  The signal to be quantified by the enhancement quantizer of the stage k is therefore
= x(n) + xPRED (n) - xp B R + E k D (n) ou xPRED (n) et xPRED (n) sont obtenus en filtrant jc(ra) et xB+k (n) par le filtre de prédiction WPRED (z)■ Ces deux filtrages peuvent être combinés en un seul, l'entrée du filtre commun WPRED (z) sera alors bB+k (n) = x{n)— xB+k (n) (par exemple par la mise à jour des mémoire du filtre). En sortie du filtrage, on obtient alors: = x (n) + x PRED (n) - x p B R + E k D (n) or x PRED (n) and x PRED (n) are obtained by filtering jc (ra) and x B + k (n) ) by the prediction filter W PRED (z) ■ These two filterings can be combined into one, the input of the common filter W PRED (z) will then be b B + k (n) = x (n) - x B + k (n) (for example by updating the filter memory). At the end of the filtering, we obtain:
bw,PRED (W) — XPRED (W) _ XPRED (W) · b w , PRED ( W ) - X PRED ( W ) _ X PRED ( W ) ·
Le module de prétraitement 310 met en œuvre les étapes de calcul d'une prédiction bB+ PRED (n) en filtrant par WPRED (z) en 404, des échantillons passés du signal x(n) - xB+k (n) = bB+k (n) n=-l, -2, ...-No obtenus en 409. The pretreatment module 310 implements the steps of calculating a prediction b B + PRED (n) by filtering, by W PRED (z) at 404, past samples of the signal x (n) -x B + k (n) = b B + k (n) n = -1, -2, ... - No obtained in 409.
Cette prédiction bB+ PRED (n) est ajoutée au signal d'entrée x(n) en 405 pour obtenir le signal d'entrée modifié x'(n) du quantificateur de l'étage d'amélioration k. This prediction b B + PRED (n) is added to the input signal x (n) at 405 to obtain the modified input signal x '(n) of the quantizer of the improvement stage k.
La quantification de x'(n) s'effectue en 306 par le module de quantification de l'étage d'amélioration k, pour donner l'indice de quantification I^ (n) de l'étage d'amélioration k et le signal décodé xB+k (n) de l'étage k. Le module 307 donne l'indice du mot de code IB^h k (n) (1 bit dans l'exemple d'illustration) du dictionnaire adaptatif Dk qui minimise l'erreur quadratique entre x'(n) et les valeurs de quantification dB+k (n) et dB+k (n) . Cet indice est à concaténer à l'indice du codeur imbriqué précédent JB+k~l pour obtenir au décodeur l'indice du mot code de l'étage k IB+k . Le module 308 donne la valeur quantifiée du signal d'entrée par quantification inverse de l'indice ^¾* (w) ,The quantization of x '(n) takes place at 306 by the quantization module of the improvement stage k, to give the quantization index I ^ (n) of the improvement stage k and the signal decoded x B + k (n) of the stage k. The module 307 gives the index of the codeword I B ^ h k (n) (1 bit in the illustrative example) of the adaptive dictionary D k which minimizes the squared error between x '(n) and the values of quantification d B + k (n) and d B + k (n). This index is to be concatenated with the index of the nested encoder preceding J B + k ~ 1 to obtain at the decoder the index of the codeword of the stage k I B + k . The module 308 gives the quantized value of the input signal by inverse quantization of the index ¾ * (w),
~B+k ι Β+ί ( \ ~ B + k ι Β + ί (\
x (n) = d B+k [n ) . x (n) = d B + k [n).
Au décodeur la même valeur est obtenue simplement en utilisant directement la quantification inverse de l'étage k et l'indice concaténée pour obtenir :x ~B+k {n) = xp B (n) + y;B kv {n) . En 409, une étape de calcul du bruit de codage bB+k [n) du codeur incluant l'étage k est effectuée par soustraction du signal d'entrée x(n) au signal synthétisé de l'étage k xB+k (n) pour les échantillons présents (n=0). At the decoder the same value is obtained simply by directly using the inverse quantization of the stage k and the concatenated index to obtain: x ~ B + k (n) = x p B (n) + y; B k v {n). At 409, a step of calculating the encoding noise b B + k [n) of the encoder including the stage k is performed by subtracting the input signal x (n) from the synthesized signal of the stage kx B + k ( n) for the samples present (n = 0).
Les opérations de prétraitement du bloc 310 permettent ainsi de mettre en forme le bruit de codage d'amélioration de l'étage k en effectuant une pondération perceptuelle du signal d'entrée x(n). C'est le signal d'entrée lui-même qui est pondéré perceptuellement et non pas un signal d'erreur comme c'est le cas dans les méthodes de l'état de l'art.  The preprocessing operations of the block 310 thus make it possible to format the improvement coding noise of the stage k by performing a perceptual weighting of the input signal x (n). It is the input signal itself that is perceptually weighted and not an error signal as is the case in state-of-the-art methods.
La figure 5 illustre un autre exemple de réalisation du module de prétraitement en utilisant dans ce mode de réalisation un filtrage de type ARMA (pour Auto Régressif à Moyenne Ajustée) de fonction de transfert :  FIG. 5 illustrates another embodiment of the preprocessing module using, in this embodiment, an ARMA type filtering (for Auto Regressive to Adjusted Average) of transfer function:
l - PD (z) l - P D (z)
W(z) =  W (z) =
L'enchaînement des opérations selon la figure 5 est le suivant : The sequence of operations according to FIG. 5 is as follows:
Calcul en 301 du filtre de masquage et détermination du filtre de pondération l - PD (z) 301 calculation of the masking filter and determination of the weighting filter l - P D (z)
W(z) =  W (z) =
l - PN (z) l - P N (z)
- Codage en 302 du signal d'entrée x(n) par un codeur imbriqué de type - Encoding 302 of the input signal x (n) by a nested type encoder
MIC/MICDA de B+k-1 bits, éventuellement avec mise en forme du bruit de codage en utilisant le filtre de masquage déterminé en 301 pour mettre en forme le bruit de codage; MIC / ADPCM of B + k-1 bits, possibly with coding noise shaping using the masking filter determined at 301 to format the coding noise;
Détermination en 303 du dictionnaire adaptatif Dk en fonction des valeurs de prédiction xB (n) et de facteur d'échelle v (/î) (dans le cas d'un codage MICDA) de l'étage cœur, et des indices de quantification IB+k~l (n) ( dB+k [n) = xF B (n) + y (n) et dB+k {n) = xB {n) + yB^k_l+iv {n) ); Determination at 303 of the adaptive dictionary D k as a function of the prediction values x B (n) and of the scaling factor v (/ 1) (in the case of a ADPCM coding) of the heart stage, and indexes of Quantization I B + k ~ l (n) (d B + k [n) = x F B (n) + y (n) and d B + k (n) = x B {n) + y B ^ k _ l + i v {n));
Ces étapes sont équivalentes à celle décrites en référence à la figure 3.  These steps are equivalent to those described with reference to FIG.
Le module de prétraitement 310 comporte une étape de calcul en 512 d'un signal de prédiction bB+k d (n) du bruit de quantification filtré bB+k (n) , en ajoutant la prédiction calculée en 510 à partir des échantillons du bruit reconstitué filtré pN (m)t>w + (n— m) et m=l The pretreatment module 310 comprises a step of calculating, at 512, a prediction signal b B + k d (n) of the filtered quantization noise b B + k (n), by adding the prediction calculated at 510 from the samples filtered reconstituted noise ^ ι p N ( m ) t> w + (n-m) and m = l
en retranchant la prédiction calculée en 511 à partir du bruit reconstitué ∑pD (m)bB+k (n - m) . by subtracting the prediction calculated in 511 from the reconstituted noise Σp D (m) b B + k (n - m).
m=l En 505, une étape d'addition du signal de prédiction bw + pred (n) au signal x(n) est effectuée pour donner le signal modifié . m = l At 505, a step of adding the prediction signal b w + pred (n) to the signal x (n) is performed to give the modified signal.
L'étape de quantification du signal modifié x (n) est effectuée par le module de quantification 306, de la même manière que celle expliqué en référence aux figures 3 et 4.  The step of quantizing the modified signal x (n) is performed by the quantization module 306, in the same manner as that explained with reference to FIGS. 3 and 4.
Ainsi, la quantification du bloc 306 donne en sortie l'indice I^h k (n) et le signal décodé à l'étage k xB+k (n) . Thus, the quantization of the block 306 will output the index I ^ h k (n) and the decoded signal on the floor kx B + k (n).
En 509, une étape de soustraction du signal reconstruit xB+k (n) au signal x(n) est effectué, pour donner le bruit reconstruit bB+k (n) . In 509, a step of subtracting the reconstructed signal x B + k (n) from the signal x (n) is performed to give the reconstructed noise b B + k (n).
En 513, une étape d'addition du signal de prédiction bB+k red (n) au signal bB+k (n) est effectué pour donner le bruit reconstruit filtré bB+k (n) . In 513, a step of adding the prediction signal b B + k red (n) to the signal b B + k (n) is performed to give the reconstructed filtered noise b B + k (n).
Toutes les étapes effectuées en 505, 509, 510, 511, 512 et 513 par les modules du bloc de prétraitement 310, permettent de mettre en forme le bruit de codage pour l'étage de codage d'amélioration k. Cette mise en forme du bruit est alors effectué par deux filtres de prédiction constituant ainsi un filtre ARMA qui apporte une meilleure précision de mise en forme du bruit.  All the steps carried out at 505, 509, 510, 511, 512 and 513 by the modules of the preprocessing block 310 make it possible to format the coding noise for the improvement coding stage k. This shaping of the noise is then carried out by two prediction filters thus constituting an ARMA filter which brings a better precision of noise shaping.
La figure 6 illustre encore un autre mode de réalisation du bloc de prétraitement 310 où ici la différence réside dans la façon dont le signal reconstruit filtré bB+k (n) est calculé. Le bruit reconstruit filtré bB+k (n) est obtenu ici en soustrayant le signal reconstruit xB+k (n) du signal x'(n) en 614. FIG. 6 illustrates yet another embodiment of preprocessing block 310 where here the difference lies in the way in which the reconstructed filtered signal b B + k (n) is calculated. The reconstructed filtered noise b B + k (n) is obtained here by subtracting the reconstructed signal x B + k (n) from the signal x '(n) at 614.
Dans les figures 5 et 6 décrites ci-dessus, on peut parler également de mise à jour des mémoires des filtres de pondération à partir du signal de bruit reconstruit filtré bB+k (n) pour les échantillons passés. In FIGS. 5 and 6 described above, it is also possible to update the memories of the weighting filters from the filtered reconstructed noise signal b B + k (n) for the passed samples.
La figure 7 illustre une alternative de réalisation pour l'étape de quantification 306 du signal x'(n) en traitant différemment le signal prédit xB (n) provenant du codage cœur. Ce mode de réalisation est présenté avec l'exemple de bloc de prétraitement 310 présenté à la figure 3, mais peut bien évidement s'intégrer avec des blocs de prétraitement décrits aux figures 4, 5 et 6. L'enchaînement des opérations selon la figure 7 est le suivant : FIG. 7 illustrates an alternative embodiment for the quantization step 306 of the signal x '(n) by differently processing the predicted signal x B (n) from the core coding. This embodiment is presented with the example of pretreatment block 310 shown in FIG. 3, but may of course be integrated with pretreatment blocks described in FIGS. 4, 5 and 6. The sequence of operations according to FIG. 7 is as follows:
Calcul en 301 du filtre de masquage et détermination du filtre de pondération 301 calculation of the masking filter and determination of the weighting filter
W (z) ou de sa version prédictive WPRED (z)■ Codage en 302 du signal d'entrée x{n) , par un codeur imbriqué de typeW (z) or its predictive version W PRED (z) ■ Encoding 302 of the input signal x {n) by a nested type encoder
MIC/MICDA de B+k-1 bits, éventuellement avec mise en forme du bruit de codage en utilisant le filtre de masquage déterminé en 301 pour mettre en forme du bruit de codage; MIC / ADPCM of B + k-1 bits, possibly with encoding noise shaping using the masking filter determined at 301 to format encoding noise;
Détermination en 701 du dictionnaire adaptatif Dk ' en fonction du facteur d'échelle v (n) de l'étage cœur (dans le cas d'un codage MICDA) et des indices de quantification IB+k~1 (n) du codage imbriqué précédent l'étage k ( dB+k [n) = et Determination at 701 of the adaptive dictionary D k 'as a function of the scale factor v (n) of the core stage (in the case of ADPCM coding) and of the quantification indices I B + k ~ 1 (n) of the nested encoding preceding the stage k (d B + k [n) = and
Filtrage du signal x(n) par W (z) en 311 pour obtenir le signal d'entrée modifié x (n) du quantificateur d'amélioration avec pour mémoires du filtre des valeurs correspondant à un signal d'entrée x(n)— xB+k (n) ; Filtering the signal x (n) by W (z) at 311 to obtain the modified input signal x (n) of the enhancement quantizer with, for filter memories, values corresponding to an input signal x (n) - x B + k (n);
Quantification de x'(n en 706 pour donner l'indice I^k (n) et le signal décodé à l'étage k xB+k (n) . Quantification of x '(n at 706 to give the index I ^ k (n) and the decoded signal at the kx B + k (n) stage.
Dans ce mode de réalisation, le signal prédit xF B (n) de l'étage cœur est soustrait du signal x'(n) (module 702) pour obtenir le signal modifié x"(n) = x'(n)— xF B {n) . In this embodiment, the predicted signal x F B (n) of the heart stage is subtracted from the signal x '(n) (module 702) to obtain the modified signal x "(n) = x' (n) - x F B {n).
Le module 707 donne l'indice du mot de code I^h k (n) (1 bit dans l'exemple d'illustration) du dictionnaire adaptatif Dk ' qui minimise l'erreur quadratique entre x" (n) et les mots de code dB+k [n) et dB+k [n) . Cet indice est à concaténer à l'indice du codage imbriqué précédent JB+k~l pour obtenir au décodeur l'indice du codage imbriqué courant IB+k comprenant l'étage k. The module 707 gives the index of the code word I ^ h k (n) (1 bit in the illustrative example) of the adaptive dictionary D k 'which minimizes the quadratic error between x "(n) and the words of code d B + k [n) and d B + k [n) This index is to be concatenated with the index of the preceding nested encoding J B + k ~ 1 in order to obtain at the decoder the index of the current nested encoding I B + k comprising the stage k.
Le module 708 donne la valeur quantifiée du signal x" (n) par quantification inverse de l'indice IB*h k (n) , x"(n = dB^+ k '(n) . Le module 703 calcule le signal quantifié de l'étage k en additionnant le signal prédit au signal de sortie du quantificateur xB+k (n) = xB (n) + x"(n) . The module 708 gives the quantized value of the signal x "(n) by inverse quantization of the index I B * h k (n), x" (n = d B ^ + k '(n). The module 703 calculates the quantized signal of stage k by adding the predicted signal to the quantizer output signal x B + k (n) = x B (n) + x "(n).
Enfin, une étape de mise à jour des mémoires du filtre W (z) est effectuée en 311, pour obtenir des mémoires qui correspondent à une entrée x n)— xB+k (n) . Typiquement on soustrait de la mémoire (ou des mémoires dans le cas du filtre type ARMA) plus récente(s) la valeur actuelle du signal décodé xB+k (n) . La solution sur la figure 7 est équivalente en termes de qualité et de stockage à celle de la figure 3, mais nécessite moins de calculs dans le cas où l'étage d'amélioration utilise plus qu'un bit. En effet, à la place d'additionner la valeur prédite xB (n) à tous les mots de code (>2) on ne fait qu'une soustraction avant la quantification et qu'une addition pour retrouver la valeur quantifiée xB+k (n) . La complexité est donc réduite. Finally, a step of updating the memories of the filter W (z) is performed at 311, to obtain memories that correspond to an input xn) - x B + k (n). Typically one subtracts from the memory (or memories in the case of the filter type ARMA) more recent (s) the current value of the decoded signal x B + k (n). The solution in FIG. 7 is equivalent in terms of quality and storage to that of FIG. 3, but requires less calculation in the case where the improvement stage uses more than one bit. In fact, instead of adding the predicted value x B (n) to all the code words (> 2), we only subtract before quantization and add to find the quantized value x B + k (n). The complexity is reduced.
Une autre alternative de réalisation est illustrée en figure 7b. Ici, le dictionnaire adaptatif Dk " est construit en soustrayant les niveaux de reconstruction de l'étage k pondérés le cas échéant ar le facteur d'échelle v(n), au signal d'entrée modifié ( {n) ). Dans ce cas de figure, c'est le signal de prédiction xB (n) qui est quantifié en minimisant l'erreur quadratique. Puis le signal décodé xB+k (n) pour la mise à jour des mémoires est obtenu de la façon suivante: xB+k (n) = x ' ( n ) + xB ( n ) - dB^+ k " ( n ) . Another alternative embodiment is illustrated in FIG. 7b. Here, the adaptive dictionary D k "is constructed by subtracting the levels of reconstruction of the stage k weighted where appropriate by the scaling factor v (n), with the modified input signal ( {not) ). In this case, it is the prediction signal x B (n) that is quantized by minimizing the quadratic error. Then the decoded signal x B + k (n) for the update of the memories is obtained in the following way: x B + k (n) = x '(n) + x B (n) - d B ^ + k " ( not ) .
La figure 8 détaille une réalisation possible d'une mise en forme du bruit au codage cœur. Le module 801 calcule les coefficients du filtre de mise en forme de bruit P, \ z ) =— ; ou F, \ z ) =— ; · Le module 802 calcule l'erreur de codage ' Α (ζ / γ) 2 A{z l Ï2 ) Figure 8 details a possible embodiment of a noise shaping heart coding. The module 801 calculates the coefficients of the noise shaping filter P, \ z) = -; or F, \ z) = -; · The module 802 calculates the coding error 'Α (ζ / γ) 2 A {zl Ï 2 )
qw(n) = x(n)— x(n) des instants d'échantillonnage précédents, n— \, n— 2, .... Cette erreur est filtrée par un filtre prédicteur H PRED (z) pour obtenir le signal de prédiction qw pred (n) . Le filtre H (z) correspondant à HPRED z) peut être égal par exemple soit à q w (n) = x (n) - x (n) of the previous sampling instants, n- \, n- 2, .... This error is filtered by a prediction filter H PRED (z) to obtain the prediction signal q w pred (n). The filter H (z) corresponding to H PRED z) may be equal, for example, to
A l'instant n, cette valeur prédite sera soustraite du signal à coder pour obtenir le signal à coder modifié x'(n) = x(n) - qw pred (n) . At time n, this predicted value will be subtracted from the signal to be encoded in order to obtain the signal to be coded modified x '(n) = x (n) - q w pred (n).
La différence entre l'entrée et la sortie de la chaîne codeur MIC/MICDA - décodeur MIC/MICDA, q {n) = x{n)— x '(n) , peut être considérée à court terme comme un bruit blanc quand ces codeurs utilisent un quantificateur à grand nombre de niveaux et en supposant le signal d'entrée stationnaire.  The difference between the input and the output of the MIC / ADPCM encoder-MIC / ADPCM decoder chain, q {n) = x {n) -x '(n), can be considered in the short term as a white noise when these Encoders use a quantizer with a large number of levels and assuming the stationary input signal.
Prenons l'exemple où H ( z) =——— = A( z / Y)■ Le signal d'entrée de la chaîne de codage standard MIC/MICDA est modifié par la soustraction de la contribution (H (z) - l)(x (z) - X (z)) . Il en résulte que le bruit de codage de la chaîne complète qG (n) = x(n) - x(n) sera mis en forme par le , voici la démonstration en équationsTake the example where H (z) = --- = A (z / Y) ■ The input signal of the standard MIC / ADPCM coding string is modified by the subtraction of the contribution (H (z) - l ) (x (z) - X (z)). As a result, the coding noise of the complete string q G (n) = x (n) - x (n) will be formatted by the, here is the proof in equations
X{z) = Xiz) + Q{z) = X{z)-(H{z)-l)(x{z)-X{z)) + Q{z) =  X (z) = Xiz) + Q (z) = X (z) - (H (z) -l) (x (z) -X (z)) + Q (z) =
= X(z)-H(z)x(z) + H(z)x(z) + Q(z)  = X (z) -H (z) x (z) + H (z) x (z) + Q (z)
d'où H{z)x{z) = H{z)x{z) + Q{z) etdonc X (z) = X (z) + -^  hence H {z) x {z) = H (z) x {z) + Q {z) and therefore X (z) = X (z) + - ^
H(z)  H (z)
En fait, le filtre PRED (z) = H(z)— 1 a un coefficient nul en z° (pour l'instant n), il s'agit donc d'un prédicteur agissant sur qw (n) = x(n)— x(n) qui, lui, n'est connu qu'en fin de traitement MIC/MICDA quand la valeur décodée x(n) est connue. In fact, the filter PRED (z) = H (z) - 1 has a zero coefficient in z ° (for the moment n), it is therefore a predictor acting on q w (n) = x ( n) - x (n) which is known only at the end of the PCM / ADPCM processing when the decoded value x (n) is known.
La séquence d'opérations de la figure 8 est la suivante :  The sequence of operations in Figure 8 is as follows:
- Calcul en 801 du filtre de masquage et détermination du filtre H (z) . A noter que le filtre H (z) peut également être déterminé à partir du signal décodé x(n) ;  - Computation in 801 of the filter of masking and determination of the filter H (z). Note that the filter H (z) can also be determined from the decoded signal x (n);
Calcul en 803 de la prédiction qWipred (n) , ( [H (z) - 1] Qw (z) ), à partir des valeurs qw (n) = x(n)— x(n) des instants d'échantillonnage précédents, n— \,n— 2,... ; Computation in 803 of the prediction q Wipred (n), ([H (z) - 1] Q w (z)), starting from the values q w (n) = x (n) - x (n) instants d previous sampling, n- \, n- 2, ...;
Soustraction en 804 de la prédiction qw pred (n) à x(n) pour obtenir le signal x'(n) modifié; Subtraction at 804 of the prediction q w pred (n) to x (n) to obtain the modified signal x '(n);
Codage/Décodage en 805-806 du signal modifié x'(n) par un codeur/décodeur MIC/MICDA standard. Le décodeur local peut être un décodeur local standard du type MIC/MICDA des normes G.711, G.721, G.726, G.722 ou encore G.727.  805-806 encoding / decoding of the modified signal x '(n) by a standard MIC / ADPCM encoder / decoder. The local decoder can be a standard local decoder of the MIC / ADPCM type of the G.711, G.721, G.726, G.722 or G.727 standards.
Calcul en 802 du bruit de codage filtré qw(n) par soustraction du signal d'entrée x(n) du signal de sortie x(n) 802 calculation of the filtered coding noise q w (n) by subtracting the input signal x (n) from the output signal x (n)
La partie entourée 807 peut être vue et implémentée comme un prétraitement de mise en forme de bruit qui modifie l'entrée de la chaîne codeur/décodeur standard.  The circled portion 807 can be seen and implemented as a noise shaping pretreatment that modifies the input of the standard encoder / decoder string.
Un exemple de réalisation d'un codeur selon l'invention est maintenant décrit en référence à la figure 10.  An exemplary embodiment of an encoder according to the invention is now described with reference to FIG.
Matériellement, un codeur 900 tel que décrit selon les différents modes de réalisation ci-dessus, au sens de l'invention, comporte typiquement, un processeur μΡ coopérant avec un bloc mémoire BM incluant une mémoire de stockage et/ou de travail, ainsi qu'une mémoire tampon MEM précitée en tant que moyen pour mémoriser par exemple un dictionnaire de niveaux de reconstructions de quantification ou toutes autres données nécessaire à la mise en œuvre du procédé de codage tel que décrit en référence aux figures 3, 4, 5, 6 et 7. Ce codeur reçoit en entrée des trames successives du signal numérique x(n) et délivre des indices de quantification concaténés IB+K. Materially, an encoder 900 as described according to the various embodiments above, in the sense of the invention, typically comprises a μΡ processor cooperating with a memory block BM including a storage and / or working memory, as well as 'a memory MEM buffer aforesaid as a means for storing for example a dictionary of quantization reconstruction levels or any other data necessary for the implementation of the coding method as described with reference to Figures 3, 4, 5, 6 and 7. This encoder receives as input successive frames of the digital signal x (n) and delivers concatenated quantization indices I B + K.
Le bloc mémoire BM peut comporter un programme informatique comportant les instructions de code pour la mise en œuvre des étapes du procédé selon l'invention lorsque ces instructions sont exécutées par un processeur μΡ du codeur et notamment les étapes d'obtention de valeurs possibles de quantification pour l'étage d'amélioration courant k par la détermination de niveaux de reconstruction absolus du seul étage courant k à partir des indices du codeur imbriqué précédent, de quantification du signal d'entrée du codeur hiérarchique ayant subi ou non un traitement de pondération perceptuelle (x(n) ou x'(n)), à partir des dites valeurs possibles de quantification pour former un indice de quantification de l'étage k et un signal quantifié correspondant à une des valeurs possibles de quantification.  The memory block BM may comprise a computer program comprising the code instructions for implementing the steps of the method according to the invention when these instructions are executed by a μΡ processor of the encoder and in particular the steps of obtaining possible quantization values. for the current improvement stage k by determining absolute reconstruction levels of the single current stage k from the indices of the preceding nested encoder, quantization of the input signal of the hierarchical coder which has or has not undergone perceptual weighting processing (x (n) or x '(n)), from said possible quantization values to form a quantization index of the stage k and a quantized signal corresponding to one of the possible quantization values.
De manière plus générale, un moyen de stockage, lisible par un ordinateur ou un processeur, intégré ou non au codeur, éventuellement amovible, mémorise un programme informatique mettant en œuvre un procédé de codage selon l'invention.  In a more general manner, a means of storage, readable by a computer or a processor, integrated or not integrated with the encoder, possibly removable, stores a computer program implementing a coding method according to the invention.
Les figures 3 à 7 peuvent par exemple illustrer l'algorithme d'un tel programme informatique.  Figures 3 to 7 may for example illustrate the algorithm of such a computer program.

Claims

REVENDICATIONS
1. Procédé de codage d'un signal audio numérique d'entrée (x(n)) dans un codeur hiérarchique comprenant un étage de codage cœur à B bits et au moins un étage de codage d'amélioration courant k, le codage cœur et le codage des étages d'amélioration précédant l'étage courant k délivrant des indices de quantification qui sont concaténés pour former les indices du codeur imbriqué précédent (IB+k l), le procédé étant caractérisé en ce qu'il comporte les étapes suivantes: A method of encoding an input digital audio signal (x (n)) in a hierarchical encoder comprising a B-bit heart coding stage and at least one current enhancement coding stage k, the heart coding and the coding of the improvement stages preceding the current stage k delivering quantization indices which are concatenated to form the indices of the preceding nested encoder (I B + kl ), the method being characterized in that it comprises the following steps:
- obtention (303) de valeurs possibles de quantification { df+k {n) ) pour l'étage d'amélioration courant k à partir des niveaux de reconstruction absolus ( y +k ) du seul étage courant k et des indices du codeur imbriqué précédent ( iB+k~l ) ; obtaining (303) possible quantization values (df + k (n)) for the current improvement stage k from the absolute reconstruction levels (y + k ) of the single current stage k and nested encoder indices previous (i B + k ~ l );
- quantification (306) du signal d'entrée du codeur hiérarchique ayant subi ou non un traitement de pondération perceptuelle (x(n) ou x'(n)), à partir des dites valeurs possibles de quantification { df+k (n) ) pour former un indice de quantification de l'étage k (Ienh B+k(n)) et un signal quantifié ( x B+k (n) ) correspondant à une des valeurs possibles de quantification. quantization (306) of the input signal of the hierarchical coder which has or has not undergone a perceptual weighting treatment (x (n) or x '(n)), from the said possible quantization values {df + k (n) ) to form a quantization index of the stage k (I enh B + k (n)) and a quantized signal (x B + k (n)) corresponding to one of the possible quantization values.
2. Procédé selon la revendication 1 , caractérisé en ce que le signal d'entrée a subi un traitement de pondération perceptuelle utilisant un filtre de pondération prédéterminé pour donner un signal d'entrée modifié x'(n), avant l'étape de quantification (306) et en ce qu'il comporte en outre une étape d'adaptation (311) des mémoires du filtre de pondération à partir du signal quantifié ( x B+k (n) ) de l'étage de codage d'amélioration courant. The method according to claim 1, characterized in that the input signal has undergone perceptual weighting processing using a predetermined weighting filter to give a modified input signal x '(n), before the quantization step. (306) and further comprising a step of adapting (311) the weighting filter memories from the quantized signal (x B + k (n)) of the current enhancement coding stage. .
3. Procédé selon la revendication 1 , caractérisé en ce que les valeurs possibles de quantification pour l'étage d'amélioration k contiennent en outre un facteur d'échelle et une valeur de prédiction provenant du codage cœur de type adaptatif. 3. Method according to claim 1, characterized in that the possible quantization values for the improvement stage k further contain a scale factor and a prediction value from the adaptive type core coding.
4. Procédé selon la revendication 2, caractérisé en ce que le signal d'entrée modifié (x"(n)) à quantifier à l'étage d'amélioration k est le signal d'entrée pondéré perceptuellement auquel est soustrait une valeur de prédiction provenant du codage cœur de type adaptatif. 4. Method according to claim 2, characterized in that the modified input signal (x "(n)) to be quantized at the improvement stage k is the perceptually weighted input signal from which a prediction value is subtracted. from the adaptive type core coding.
5. Procédé selon la revendication 1 à 4, caractérisé en ce que le traitement de pondération perceptuelle, s'effectue par des filtres de prédictions formant un filtre de type ARMA. 5. Method according to claim 1 to 4, characterized in that the perceptual weighting treatment is carried out by prediction filters forming an ARMA type filter.
6. Codeur hiérarchique d'un signal audio numérique d'entrée (x(n)), comprenant un étage de codage cœur à B bits et au moins un étage de codage d'amélioration courant k, le codage cœur et le codage des étages d'amélioration précédant l'étage courant k délivrant des indices de quantification qui sont concaténés pour former les indices du codeur imbriqué précédent (IB+k l), le codeur étant caractérisé en ce qu'il comporte: Hierarchical coder of an input digital audio signal (x (n)), comprising a B-bit core coding stage and at least one current improvement coding stage k, the core coding and the stage coding improvement device preceding the current stage k delivering quantization indices which are concatenated to form the indices of the preceding nested encoder (I B + kl ), the encoder being characterized in that it comprises:
- un module d'obtention (303) de valeurs possibles de quantification { df+k [n) ) pour l'étage d'amélioration courant k par la détermination de niveaux de reconstruction absolus du seul étage courant k à partir des indices du codeur imbriqué précédent ( /B+" ); a module for obtaining (303) possible quantization values {df + k [n)) for the current improvement stage k by determining absolute reconstruction levels of the single current stage k from the encoder indices Nested precedent (/ B + ");
- un module de quantification (306) du signal d'entrée du codeur hiérarchique ayant subi ou non un traitement de pondération perceptuelle (x(n) ou x'(n)), à partir des dites valeurs possibles de quantification { df+k (n) ) pour former un indice de quantification de l'étage ka quantization module (306) of the input signal of the hierarchical coder which has or has not undergone a perceptual weighting treatment (x (n) or x '(n)), from said possible quantization values {df + k (n)) to form a quantization index of the k stage
(Ienh B+k(n)) et un signal quantifié ( x B+k (n) ) correspondant à une des valeurs possibles de quantification; 7.Codeur hiérarchique selon la revendication 6, caractérisé en ce qu'il comporte en outre un module de prétraitement (310) de pondération perceptuelle utilisant un filtre de pondération prédéterminé pour donner un signal d'entrée modifié (x'(n)) en entrée du module de quantification (306) et un module d'adaptation (311) des mémoires du filtre de pondération à partir du signal quantifié ( x B+k (n) ) de l'étage de codage d'amélioration courant. (I enh B + k (n)) and a quantized signal (x B + k (n)) corresponding to one of the possible quantization values; A hierarchical encoder according to claim 6, characterized in that it further comprises a perceptual weighting pre-processing module (310) using a predetermined weighting filter to provide a modified input signal (x '(n)) in input of the quantization module (306) and an adaptation module (311) of the weighting filter memories from the quantized signal (x B + k (n)) of the current enhancement coding stage.
8. Programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage selon l'une des revendications 1 à 5, lorsque ces instructions sont exécutées par un processeur. 8. Computer program comprising code instructions for implementing the steps of the coding method according to one of claims 1 to 5, when these instructions are executed by a processor.
EP11811097.2A 2010-12-16 2011-12-13 Improved encoding of an improvement stage in a hierarchical encoder Not-in-force EP2652735B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1060631A FR2969360A1 (en) 2010-12-16 2010-12-16 IMPROVED ENCODING OF AN ENHANCEMENT STAGE IN A HIERARCHICAL ENCODER
PCT/FR2011/052959 WO2012080649A1 (en) 2010-12-16 2011-12-13 Improved encoding of an improvement stage in a hierarchical encoder

Publications (2)

Publication Number Publication Date
EP2652735A1 true EP2652735A1 (en) 2013-10-23
EP2652735B1 EP2652735B1 (en) 2015-08-19

Family

ID=44356295

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11811097.2A Not-in-force EP2652735B1 (en) 2010-12-16 2011-12-13 Improved encoding of an improvement stage in a hierarchical encoder

Country Status (7)

Country Link
US (1) US20130268268A1 (en)
EP (1) EP2652735B1 (en)
JP (1) JP5923517B2 (en)
KR (1) KR20140005201A (en)
CN (1) CN103370740B (en)
FR (1) FR2969360A1 (en)
WO (1) WO2012080649A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2938688A1 (en) * 2008-11-18 2010-05-21 France Telecom ENCODING WITH NOISE FORMING IN A HIERARCHICAL ENCODER
EP2980793A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder, system and methods for encoding and decoding
CN105679312B (en) * 2016-03-04 2019-09-10 重庆邮电大学 The phonetic feature processing method of Application on Voiceprint Recognition under a kind of noise circumstance
WO2020086067A1 (en) * 2018-10-23 2020-04-30 Nine Energy Service Multi-service mobile platform for well servicing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100261253B1 (en) * 1997-04-02 2000-07-01 윤종용 Scalable audio encoder/decoder and audio encoding/decoding method
KR100711989B1 (en) * 2002-03-12 2007-05-02 노키아 코포레이션 Efficient improvements in scalable audio coding
WO2007093726A2 (en) * 2006-02-14 2007-08-23 France Telecom Device for perceptual weighting in audio encoding/decoding
US20110022924A1 (en) * 2007-06-14 2011-01-27 Vladimir Malenovsky Device and Method for Frame Erasure Concealment in a PCM Codec Interoperable with the ITU-T Recommendation G. 711
ATE502377T1 (en) * 2007-06-15 2011-04-15 France Telecom ENCODING DIGITAL AUDIO SIGNALS
ES2416056T3 (en) * 2007-07-06 2013-07-30 France Telecom Hierarchical coding of digital audio signals
WO2010031003A1 (en) * 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
FR2938688A1 (en) * 2008-11-18 2010-05-21 France Telecom ENCODING WITH NOISE FORMING IN A HIERARCHICAL ENCODER
CN102714776B (en) * 2009-10-15 2015-02-11 唯听助听器公司 Hearing aid with audio codec and method
FR2960335A1 (en) * 2010-05-18 2011-11-25 France Telecom ENCODING WITH NOISE FORMING IN A HIERARCHICAL ENCODER
FR2981781A1 (en) * 2011-10-19 2013-04-26 France Telecom IMPROVED HIERARCHICAL CODING

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP2652735B1 (en) 2015-08-19
WO2012080649A1 (en) 2012-06-21
CN103370740B (en) 2015-09-30
JP2014501395A (en) 2014-01-20
JP5923517B2 (en) 2016-05-24
US20130268268A1 (en) 2013-10-10
KR20140005201A (en) 2014-01-14
FR2969360A1 (en) 2012-06-22
CN103370740A (en) 2013-10-23

Similar Documents

Publication Publication Date Title
EP2366177B1 (en) Encoding of an audio-digital signal with noise transformation in a scalable encoder
EP2586133B1 (en) Controlling a noise-shaping feedback loop in a digital audio signal encoder
CA2874965C (en) Effective pre-echo attenuation in a digital audio signal
EP2277172A1 (en) Concealment of transmission error in a digital signal in a hierarchical decoding structure
EP3161659A1 (en) Resampling of an audio signal by interpolation for low-delay encoding/decoding
EP1989706A2 (en) Device for perceptual weighting in audio encoding/decoding
FR2888699A1 (en) HIERACHIC ENCODING / DECODING DEVICE
EP2936488B1 (en) Effective attenuation of pre-echos in a digital audio signal
WO2013001226A1 (en) Delay-optimized overlap transform, coding/decoding weighting windows
EP3084959B1 (en) Resampling of an audio signal interrupted with a variable sampling frequency according to the frame
EP2652735B1 (en) Improved encoding of an improvement stage in a hierarchical encoder
EP2769378A2 (en) Improved hierarchical coding
EP2005424A2 (en) Method for post-processing a signal in an audio decoder
EP2171713B1 (en) Coding of digital audio signals
WO2011144863A1 (en) Encoding with noise shaping in a hierarchical encoder
EP2232833A2 (en) Processing of binary errors in a digital audio binary frame
FR2980620A1 (en) Method for processing decoded audio frequency signal, e.g. coded voice signal including music, involves performing spectral attenuation of residue, and combining residue and attenuated signal from spectrum of tonal components
FR3018942A1 (en) ESTIMATING CODING NOISE INTRODUCED BY COMPRESSION CODING OF ADPCM TYPE
FR3007184A1 (en) MONITORING THE QUENTIFICATION NOISE ATTENUATION TREATMENT INTRODUCED BY COMPRESSIVE CODING
FR2987931A1 (en) MODIFICATION OF THE SPECTRAL CHARACTERISTICS OF A LINEAR PREDICTION FILTER OF A AUDIONUMERIC SIGNAL REPRESENTED BY ITS COEFFICIENTS LSF OR ISF.

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20130715

AK Designated contracting states

Kind code of ref document: A1

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

DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 19/24 20130101ALI20150417BHEP

Ipc: G10L 19/02 20130101AFI20150417BHEP

INTG Intention to grant announced

Effective date: 20150507

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

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

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 744294

Country of ref document: AT

Kind code of ref document: T

Effective date: 20150915

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602011019010

Country of ref document: DE

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 5

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 744294

Country of ref document: AT

Kind code of ref document: T

Effective date: 20150819

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20150819

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

Ref country code: NO

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

Effective date: 20151119

Ref country code: LV

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

Effective date: 20150819

Ref country code: LT

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

Effective date: 20150819

Ref country code: FI

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

Effective date: 20150819

Ref country code: GR

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

Effective date: 20151120

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

Ref country code: IS

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

Effective date: 20151219

Ref country code: RS

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

Effective date: 20150819

Ref country code: PL

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

Effective date: 20150819

Ref country code: AT

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

Effective date: 20150819

Ref country code: PT

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

Effective date: 20151221

Ref country code: ES

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

Effective date: 20150819

Ref country code: SE

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

Effective date: 20150819

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

Ref country code: NL

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

Effective date: 20150819

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

Ref country code: SK

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

Effective date: 20150819

Ref country code: CZ

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

Effective date: 20150819

Ref country code: EE

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

Effective date: 20150819

Ref country code: DK

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

Effective date: 20150819

Ref country code: IT

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

Effective date: 20150819

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602011019010

Country of ref document: DE

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

Ref country code: BE

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

Effective date: 20151231

Ref country code: RO

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

Effective date: 20150819

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

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

26N No opposition filed

Effective date: 20160520

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

Ref country code: MC

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

Effective date: 20150819

Ref country code: LU

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

Effective date: 20151213

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

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

Ref country code: SI

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

Effective date: 20150819

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

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

Ref country code: LI

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

Effective date: 20151231

Ref country code: CH

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

Effective date: 20151231

Ref country code: IE

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

Effective date: 20151213

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 6

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

Ref country code: GB

Payment date: 20161128

Year of fee payment: 6

Ref country code: DE

Payment date: 20161121

Year of fee payment: 6

Ref country code: FR

Payment date: 20161121

Year of fee payment: 6

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

Ref country code: BG

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

Effective date: 20150819

Ref country code: HU

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

Effective date: 20111213

Ref country code: SM

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

Effective date: 20150819

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

Ref country code: CY

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

Effective date: 20150819

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

Ref country code: HR

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

Effective date: 20150819

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

Ref country code: MT

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

Effective date: 20150819

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

Ref country code: TR

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

Effective date: 20150819

Ref country code: MK

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

Effective date: 20150819

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 602011019010

Country of ref document: DE

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20171213

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20180831

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

Ref country code: AL

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

Effective date: 20150819

Ref country code: DE

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

Effective date: 20180703

Ref country code: FR

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

Effective date: 20180102

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

Ref country code: GB

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

Effective date: 20171213