None.
None.
The present invention relates to the field of the coding of digital signals.
The coding according to the invention is adapted especially for the transmission and/or the storage of digital signals such as audiofrequency signals (speech, music or the like).
The present invention pertains more particularly to waveform coding such as PCM (“Pulse Code Modulation”) coding, or to adaptive waveform coding of ADPCM (“Adaptive Differential Pulse Code Modulation”) coding type. The invention pertains especially to embedded-code coding making it possible to deliver scalable binary train quantization indices.
The general principle of the embedded-code ADPCM coding/decoding specified by ITU-T recommendation G.722 or ITU-T G.727 is such as described with reference to
It comprises:
In the case of the coding of the low band of the ITU-T G.722 standard, the decision levels and the reconstruction levels of the quantizers QB, QB+1, QB+2 for B=4 and K=0.1 or 2 are defined by tables IV and VI of the overview article describing the G.722 standard by X. Maitre “7 kHz audio coding within 64 kbit/s.” IEEE Journal on Selected Areas in Communication, Vol. 6, No. 2, February 1988.
The quantization index IB+K(n) of B+K bits at the output of the quantization module QB+K is transmitted via the transmission channel 140 to the decoder such as described with reference to
The coder also comprises:
It may be noted that in
This part is found identically in the embedded-code ADPCM decoder such as described with reference to
The embedded-code ADPCM decoder of
The output signal r′B(n) for B bits will be equal to the sum of the prediction of the signal and of the output of the inverse quantizer with B bits. This part 255 of the decoder is identical to the low bitrate local decoder 155 of
Employing the mode bitrate indicator and the selector 220, the decoder can improve the restored signal.
Indeed if mode indicates that B+1 bits have been received, the output will be equal to the sum of the prediction xPB(n) and of the output of the inverse quantizer 230 with B+1 bits y′I
If mode indicates that B+2 bits have been received then the output will be equal to the sum of the prediction xPB(n) and of the output of the inverse quantizer 240 with B+2 bits y′I
By using z-transform notation, we may write that in this looped structure:
R
B+k(z)=X(Z)+QB+k(z)
defining the quantization noise with B+k bits QB+k(z) by:
Q
B+k(z)=EQB+k(z)−E(z)
The embedded-code ADPCM coding of the ITU-T standard G.722 (hereinafter named G.722) carries out a coding of the signals in wideband which are defined with a minimum bandwidth of [50-7000 Hz] and sampled at 16 kHz. The G.722 coding is an ADPCM coding of each of the two signal sub-bands [0-4000 Hz] and [4000-8000 Hz] obtained by decomposition of the signal by quadrature minor filters. The low band is coded by an embedded-code ADPCM coding on 6, 5 and 4 bits while the high band is coded by an ADPCM coder of 2 bits per sample. The total bitrate will be 64, 56 or 48 bit/s according to the number of bits used for the decoding of the low band.
This coding was firstly developed for use in the ISDN (Integrated Services Digital Network). It has recently been deployed in the applications of improved quality telephony termed “High Definition (HD) voice” over IP network.
For a quantizer with a large number of levels, the spectrum of the quantization noise will be relatively flat. However, in the frequency zones where the signal has low energy, the noise may have a comparable or indeed greater level than the signal and is therefore no longer necessarily masked. It may then become audible in these regions.
A shaping of the coding noise is therefore necessary. In a coder such as G.722, a coding noise shaping adapted to an embedded-code coding is moreover desirable.
Generally, the aim of shaping the coding noise is to obtain quantization noise whose spectral envelope follows the short-term masking threshold; this principle is often simplified so that the spectrum of the noise approximately follows the spectrum of the signal, ensuring a more homogeneous signal-to-noise ratio so that the noise remains inaudible even in the zones of lower energy of the signal.
A noise shaping technique for a coding of embedded-code PCM (“Pulse Code Modulation”) type is described in ITU-T recommendation G.711.1 “Wideband embedded extension for G.711 pulse code modulation” or “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.
This recommendation thus describes a coding with shaping of the coding noise for a core bitrate coding. A perceptual filter for shaping the coding noise is computed on the basis of the past decoded signals, arising from an inverse core quantizer. A core bitrate local decoder therefore makes it possible to compute the noise shaping filter. Thus, at the decoder, it is possible to compute this noise shaping filter on the basis of the core bitrate decoded signals.
A quantizer delivering improvement bits is used at the coder.
The decoder receiving the core binary stream and the improvement bits, computes the filter for shaping the coding noise in the same manner as at the coder on the basis of the core bitrate decoded signal and applies this filter to the output signal of the improvement bits inverse quantizer, the shaped high bitrate signal being obtained by adding the filtered signal to the decoded core signal.
The shaping of the noise thus improves the perceptual quality of the core bitrate signal. It offers limited improvement in quality for the improvement bits. Indeed, the shaping of the coding noise is not performed for the coding of the improvement bits, the input of the quantizer being the same for the core quantization as for the improved quantization.
The decoder must then delete a resulting spurious component by a suitable filtering, when the improvement bits are decoded in addition to the core bits.
The additional computation of a filter at the decoder increases the complexity of the decoder.
This technique is not used in the already existing standard scalable decoders of G.722 or G.727 decoder type. There therefore exists a need for improving the quality of the signals whatever the bitrate while remaining compatible with the existing standard scalable decoders.
A solution not making it necessary to perform complementary signal processing at the decoder is described in patent application WO 2010/058117. In this application, the signal received at the decoder can be decoded by a standard decoder able to decode the core bitrate and embedded-bitrates signal without requiring any computation for shaping the noise or corrective term.
This document describes that for a hierarchical coder improvement stage, the quantization is performed by minimizing a quadratic error criterion in a perceptually filtered domain.
Accordingly, a coding noise shaping filter is defined and applied to an error signal determined on the basis at least of a reconstructed signal of a preceding coding stage. The scheme also requires the computation of the reconstructed signal of the current improvement stage as forecast of a following coding stage.
Moreover, improvement terms are computed and stored for the current improvement stage. This therefore introduces significant complexity and significant storage of improvement terms or reconstructed signal samples of the previous stages.
This solution is therefore not optimal from a complexity point of view.
There therefore exists a need to improve the prior art schemes for coding and shaping the improvement coding noise, while remaining compatible with existing hierarchical decoders.
The present invention is apt to improve the situation.
It proposes for this purpose, a method for coding a digital audio input signal (x(n)) in a hierarchical coder comprising a core coding stage with B bits 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 embedded coder (IB+k−1). The method is such that it comprises the following steps:
Thus, the quantization of the improvement stage determines the quantization index bit or bits which are directly concatenated with the indices of the previous stages. In contradistinction to the prior art schemes, there is no computation of an improvement signal or improvement terms.
Moreover, the signal at the input of the quantization is either directly the hierarchical coder input signal, or this same input signal having directly undergone a perceptual weighting processing. Here this does not involve a difference signal for the difference between the input signal and a reconstructed signal of the coding stages preceding, as in the prior art techniques.
The complexity in terms of computational load is thereby reduced.
Moreover, in contradistinction to the prior art schemes, the stored quantization values are not differential values. Thus, it is not useful to store the quantization values serving as reconstruction in the previous stages so as to construct a quantization dictionary for the improvement stage.
Moreover, in contradistinction to the prior art schemes, it is not necessary to construct and to store a differential dictionary, since the improvement stage uses directly absolute levels stored by the existing hierarchical encoder and decoder (yiB+K(n)). Thus the invention avoids the duplication of the dictionaries that may be encountered in the prior art schemes where a differential dictionary is used at the coder and an absolute dictionary at the decoder.
The memory required for the storage of the dictionaries and the operations of quantization at the coder and inverse quantization at the decoder is therefore reduced.
Finally, obtaining the quantization values of the improvement stage directly, without performing a difference, introduces additional accuracy between the values obtained at the coder and those obtained at the decoder when working for example in finite accuracy.
The various particular embodiments mentioned hereinafter may be added independently or in combination with one another, to the steps of the method defined hereinabove.
In a particular embodiment, the input signal has undergone a perceptual weighting processing using a predetermined weighting filter to give a modified input signal, before the quantization step and the method furthermore comprises a step of adapting the memories of the weighting filter on the basis of the quantized signal of the current improvement coding stage.
This perceptual weighting processing applied directly to the input signal of the hierarchical coder for the improvement coding of stage k also reduces the complexity in terms of computational load with respect to the prior art techniques which performed this perceptual weighting processing on a difference signal for the difference between the input signal and a reconstructed signal of the preceding coding stages.
Thus, the coding method described also allows the existing decoders to decode the signal without there being any modifications to be made or additional processing to be envisaged while benefiting from the improvement of the signal by effective coding noise shaping.
In a particular embodiment, the possible quantization values for improvement stage k furthermore contain a scale factor and a prediction value originating from the core coding of adaptive type.
This makes it possible to adapt the quantization values with respect to the values defined in the core coding.
In an alternative embodiment, the modified input signal to be quantized at improvement stage k is the perceptually weighted input signal from which is subtracted a prediction value originating from the core coding of adaptive type.
This also makes it possible to adapt the quantization values with respect to the values defined in the core coding but by performing this adaptation at the input of the quantizer rather than on each quantization value. This is advantageous in the case where the improvement is performed on several bits.
In a particular manner, the perceptual weighting processing is performed by prediction filters forming a filter of ARMA type.
The shaping of the improvement coding noise is then of good quality.
The present invention also pertains to a hierarchical coder of a digital audio input signal, comprising a core coding stage with B bits 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 embedded coder. The coder is such that it comprises:
The hierarchical coder furthermore comprises a preprocessing for perceptual weighting module using a predetermined weighting filter to give a modified input signal at the input of the quantization module and a module for adapting the memories of the weighting filter on the basis of the quantized signal of the current improvement coding stage.
The hierarchical coder affords the same advantages as those of the method that it implements.
The invention also pertains to a computer program comprising code instructions for the implementation of the steps of the coding method according to the invention, when these instructions are executed by a processor.
The invention pertains finally to a storage means readable by a processor storing a computer program such as described.
Other characteristics and advantages of the invention will be more clearly apparent on reading the following description, given solely by way of nonlimiting example and with reference to the appended drawings in which:
b illustrates another general alternative embodiment of the coding method and of a coder according to the invention;
With reference to
It is recalled that considered here is the case of an embedded-code coder or hierarchical coder in which a core coding with B bits and at least one improvement stage of rank k is envisaged. The core coding and the improvement stages preceding the coding of improvement stage k such as represented at 306 deliver scalar quantization indices multiplexed in the index IB+k−1(n) of B+k−1 bits per sample.
In the exemplary embodiments described hereinafter, for the sake of simplifying the presentation, the improvement stage (of rank k) is presented as producing an additional bit per sample. In this case, the coding in each improvement stage involves selecting one out of two possible values. As will subsequently be apparent, the “absolute dictionary”—in terms of absolute levels (in the sense of “non-differential”)—corresponding to all the quantization values that the improvement stage of rank k can produce, is of size 2B+k, or sometimes slightly less than 2B+k as for example in the G.722 coder which has only 60 possible levels instead of 64 in the low-band 6-bit quantizer. The hierarchical coding involves a binary tree structure of the “absolute dictionary”, which explains that one improvement bit suffices to perform the coding, given the B+k−1 bits of the previous stages.
As illustrated in this figure, the embedded quantizer with B+1=5 bits is obtained by “splitting” the levels of the quantizer with B=4 bits. The embedded quantizer with B+2=6 bits is obtained by “splitting” the levels of the quantizer with B+1=5 bits. The splitting of the reconstruction levels is in fact a consequence of the hierarchical coding constraint for the low band which is implemented in G.722 in the form of a tree-structured scalar quantization dictionary (with 4, 5 or 6 bits per sample).
In the prior art, the values enh2I
These absolute reconstruction levels yiB+k of stage k are used at the coder in the same manner as at the decoder, in the sense that the reconstructed signal can be obtained in the general case of the ADPCM coding on the basis of these absolute reconstruction levels yiB+k by multiplying by the scale factor v(n) and adding the prediction signal xPB(n) as already presented with reference to the description of
The coding of the improvement stage according to the invention is very easily generalizable for the cases where the improvement stage adds several bits per sample. In this case the size of the dictionary Dk(n) used at the improvement stage, such as defined subsequently, is simply 2U where U>1 is the number of bits per sample of the improvement stage.
The coder such as represented in
The core coding of the preceding embedded coding may optionally be performed using the masking filter determined at 301 to shape the “core” coding noise. An example of this type of core coding is described subsequently with reference to
This module 302 thus delivers the indices IB+k−1(n) of the embedded coder as well as the prediction signal xPB(n) and the scale factor v(n) in the case where one is indeed dealing with an ADPCM predictive coding similar to that described with reference to
In the case of a PCM coding, the module 302 simply delivers the embedded quantization indices IB+k−1(n). Moreover, it may be noted that PCM coding is a particular case of ADPCM coding by taking xPB(n)=0 and v(n)=1.
The knowledge of the embedded quantization indices IB+k−1(n) and of the absolute reconstruction levels yiB+k, as well as if appropriate, the prediction signal xPB(n) and the scale factor v(n) make it possible to determine the quantization values Dk(n)={d1B+k(n), d2B+k(n)} for the current improvement stage k in the module for constructing the dictionary of the quantization values 303. This dictionary Dk(n) is used by the quantizer referred to here as the “improvement quantizer” for the improvement stage of rank k.
Thus, according to the favored embodiment, the quantization values of the dictionary are defined in the following manner, in the case of ADPCM coding:
d
1
B+k(n)=xPB(n)+y2I
where y2I
It is noted that the two elements of the dictionary Dk(n) depend on IB+k−1. In fact, this dictionary is a subset of the “absolute dictionary” defined as:
The “absolute dictionary” is a tree-structured dictionary. The index IB+k−1 conditions the various branches of the tree to be taken into account to determine the possible quantization values of stage k (Dk(n)).
The scale factor v (n) is determined by the core stage of the ADPCM coding as illustrated in
In one embodiment of the invention, the coder of
In a particular embodiment, the coder furthermore comprises a module 301 for computing a masking filter and determining the weighting filter W(z) or a predictive version WPRED(z) described subsequently. The masking or weighting filter is determined here on the basis of the input signal x(n) but could very well be determined on the basis of a decoded signal, for example of the decoded signal of the preceding embedded coder {tilde over (x)}B+k−1(n). The masking filter can be determined or adapted sample by sample or by block of samples.
Indeed, the coder 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 energy of the quantization noise filtered by W(z).
This weighting filter is used at 311 by the filtering module and more globally by the module 310 for perceptual weighting preprocessing of the input signal x(n). This preprocessing is applied directly to the input signal x(n) and not to an error signal as could have been the case in the prior art techniques.
This preprocessing module 310 delivers a modified signal x′(n) at the input of the improvement quantizer 307.
The quantization module 307 of improvement stage k delivers a quantization index IenhB+k(n) which will be concatenated with the indices of the preceding embedded coding (IB+k−1) to form the indices of the current embedded coding (IB+k), by a module that is not represented here.
The quantization module 307 of improvement stage k chooses between the two values d1B+k(n) and d2B+k(n) of the adaptive dictionary Dk(n).
It receives as input the signal x′(n) and gives as output, by passing through the local decoding module 308, the quantized value {tilde over (x)}B+k(n) (where {tilde over (x)}B+k(n) is either equal to d1B+k(n) or to d2B+k(n)), by minimizing the quadratic error between x′(n) and {tilde over (x)}B+k(n). The adaptive dictionary Dk(n) therefore contains directly the quantized output value of stage k.
The module 308 gives the quantized value of the input signal by inverse quantization of the index IenhB+k(n). At the decoder the same value is obtained simply by directly using the inverse quantizer of stage k and the concatenated index: {tilde over (x)}B+k(n)=xPB(n)+yI
This quantized signal is used to update the memories of the weighting filter W(z) of the improvement stage so as to obtain memories which corresponds to an input x(n)−{tilde over (x)}B+k (n) Typically, the current value of the decoded signal {tilde over (x)}B+k(n) is subtracted from the more recent memory (or memories in the case of the ARMA type filter).
Thus, the quantization of the signal x(n) is done in the weighted domain, which means that we minimize the quadratic error between x(n) and {tilde over (x)}B+k(n) after filtering by the filter W(z). The quantization noise of the improvement stage is therefore shaped by a filter 1/W(z) to render this noise less audible. The energy of the weighted quantization noise is thus minimized.
The general embodiment of the block 310 given in
The dashed arrow represents the updating of the memories of the filter.
Thus, the steps implemented in the coder as illustrated in
In the case represented in
The blocks 301, 302, 303, 306, 307 and 308 then remain identical to those described with reference to
In this embodiment, the memory of the filter contains solely the past input samples of the signal x(n)−{tilde over (x)}B+k(n), denoted:
b
B+k(n′), n′=n−1, . . . , n−ND.
ND being the order of the perceptual filter W(z).
At 302, the input signal x(n) is coded by the PCM/ADPCM coding module 302, with or without shaping of the coding noise of the embedded coder B+k−1.
At 303, an adaptive dictionary Dk is constructed as a function of the prediction values xPB(n), of the scale factor v(n) of the core stage in the case of a coding of ADPCM adaptive type and of the coding indices IB+k−1(n) as explained with reference to
In this embodiment are found the steps of computing at 301 the masking filter and determining the weighting filter W(z), as well as its predictive version WPRED (z) based on predictions, that is to say computations using past samples alone.
Let us recall here the definition of a predictive filter:
Let us take as an example the case of filtering a signal x(n) with the non-recursive filter with all-zero transfer function (also termed FIR for Finite Impulse Response) A(z) of order 4,
giving as result a signal y(n). In the domain of the z-transform, the equation
Y(z)=A(z)X(z)
corresponds to the difference equation
y(n)=α0x(n)+α1x(n−1)+α2x(n−2)+α3x(n−3)+α4x(n−4)
This expression for y(n) can be divided into two parts:
This second part corresponds for sampling instant n to the “zero input response” (ZIR) or else “ringing” which is in fact a generalized prediction. The z-transform of this component is:
Y
PRED(z)=(A(z)−1)X(z)=HA,PRED(z)X(z) with HA,PRED(z)=A(z)−1
In a similar manner, for the filtering of a signal x(n) by an all-pole recursive filter
of order 4 with
resulting in a signal y(n), the transfer function gives:
with difference equation:
y(n)=x(n)−b1y(n−1)−b2y(n−2)−b3y(n−3)−b4y(n−4)
The innovation part is x(n), the predictive part is −b1y(n−1)−b2y(n−2)−b3y(n−3)−b4y(n−4),
with z-transform YPRED(z)=−(B(z)−1)Y(z)=(1−B(z))Y(z).
The same holds for the case where the filter contains at one and the same time zeros and poles (ARMA (AutoRegressive Moving Average) filter):
with difference equation (in this example A(z) and B(z) are of order 4):
The innovation part is x(n), the predictive part is
with z-transform YPRED(z)=(A(z)−1)X(z)−(B(z)−1)Y(z), or
Hereinafter, generally HPRED(z) denotes a filter whose coefficient for its current input x(n) is zero.
The all-pole
recursive filters are the so-called IIR (Infinite Impulse Response) filters.
In the present case, in
(x(n)+xPRED(n))−({tilde over (x)}B+k(n)+{tilde over (x)}PREDB+k(n))
The signal to be quantized by the improvement quantizer of stage k is therefore
x′(n)=x(n)+xPRED(n)−{tilde over (x)}PREDB+k(n)
where XPRED(n) and {tilde over (x)}PREDB+k(n) x are obtained by filtering x(n) and {tilde over (x)}B+k(n) with the prediction filter WPRED(z). These two filterings can be combined into one, the input of the common filter WPRED (z) will then be bB+k(n)=x(n)−{tilde over (x)}B+k(n) (for example by updating the memory of the filter). As output of the filtering is then obtained:
b
w,PRED
B+k(n)=xPRED(n)−{tilde over (x)}PREDB+k(n).
The preprocessing module 310 implements the steps of computing a prediction bw,PREDB+k(n) by filtering with WPRED(z) at 404, of the past samples of the signal x(n)−{tilde over (x)}B+k(n)=bB+k(n) n=−1, −2, . . . , −ND obtained at 409.
This prediction bw,PREDB+k(n) is added to the input signal x(n) at 405 to obtain the modified input signal x′(n) of the quantizer of improvement stage k.
The quantization of x′(n) is performed at 306 by the quantization module of improvement stage k, to give the quantization index IenhB+k(n) of improvement stage k and the decoded signal {tilde over (x)}B+k(n) of stage k. The module 307 gives the index of the code word IenhB+k(n) (1 bit in the exemplary illustration) of the adaptive dictionary Dk which minimizes the quadratic error between x′(n) and the quantization values d1B+k(n) and d2B+k(n). This index has to be concatenated with the index of the preceding embedded coder IB+k−1 to obtain at the decoder the index of the code word of stage k IB+k. The module 308 gives the quantized value of the input signal by inverse quantization of the index IenhB+k(n), {tilde over (x)}B+k(n)=dI
At the decoder the same value is obtained simply by directly using the inverse quantization of stage k and the concatenated index to obtain: {tilde over (x)}B+k(n)=xPB(n)+yI
At 409, a step of computing the coding noise bB+k(n) of the coder including stage k is performed by subtracting the input signal x(n) from the synthesized signal of stage k {tilde over (x)}B+k(n) for the present samples (n=0).
The operations of preprocessing the block 310 thus make it possible to shape the improvement coding noise of stage k by performing a perceptual weighting of the input signal x(n). It is the input signal itself which is perceptually weighted and not an error signal as is the case in the prior art schemes.
The operations according to
These steps are equivalent to that which are described with reference to
The preprocessing module 310 comprises a step of computing at 512 a prediction signal bw,predB+k(n) of the filtered quantization noise bwB+k(n), by adding the prediction computed at 510 on the basis of the samples of the filtered reconstructed noise
and by deducting the prediction computed at 511 on the basis of the reconstructed noise
At 505, a step of adding the prediction signal bw,predB+k(n) to the signal x(n) is performed to give the modified signal x′(n).
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
Thus, the quantization of the block 306 gives as output the index IenhB+k(n) and the decoded signal at stage k {tilde over (x)}B+k(n).
At 509, a step of subtracting the reconstructed signal {tilde over (x)}B+k(n) from the signal x(n) is performed, to give the reconstructed noise bB+k(n).
At 513, a step of adding the prediction signal bw,predB+k(n) to the signal bB+k(n) is performed to give the filtered reconstructed noise bwB+k(n).
All the steps performed at 505, 509, 510, 511, 512 and 513 by the modules of the preprocessing block 310, make it possible to shape the coding noise for improvement coding stage k. This shaping of the noise is then performed by two prediction filters thus constituting an ARMA filter which affords a better accuracy of noise shaping.
In
In this embodiment, the predicted signal xPB(n) of the core stage is subtracted from the signal x′(n) (module 702) to obtain the modified signal x″(n)=x′(n) xPB(n).
The module 707 gives the index of the code word IenhB+k(n) (1 bit in the exemplary illustration) of the adaptive dictionary Dk′ which minimizes the quadratic error between x″(n) and the code words d1B+k′(n) and d2B+k′(n). This index has to be concatenated with the index of the preceding embedded coding IB+k−1 to obtain at the decoder the index of the current embedded coding IB+k comprising stage k.
The module 708 gives the quantized value of the signal x″(n) by inverse quantization of the index IenhB+k(n), {tilde over (x)}″(n)=dI
Finally, a step of updating the memories of the filter W (z) is performed at 311, to obtain memories which correspond to an input x(n)−{tilde over (x)}B+k(n). Typically, the current value of the decoded signal {tilde over (x)}B+k(n) is subtracted from the more recent memory (or memories in the case of the ARMA type filter).
The solution in
Another alternative embodiment is illustrated in
The module 802 computes the coding error qw(n)={tilde over (x)}(n)−x(n) of the previous sampling instants, n−1, n−2, . . . . This error is filtered by a predictor filter HPRED(z) to obtain the prediction signal qw,pred(n). The filter H(z) corresponding to HPRED(z) can be equal for example either to
At the instant n, this predicted value will be subtracted from the signal to be coded to obtain the modified signal to be coded x′(n)=x(n)−qw,pred(n).
The difference between the input and the output of the PCM/ADPCM coder-PCM/ADPCM decoder chain, q(n)={tilde over (x)}(n)−x′(n), can be considered in the short term to be white noise when these coders use a quantizer with a large number of levels and assuming the input signal to be stationary.
Let us take the example where
The input signal of the PCM/ADPCM standard coding chain is modified by the subtraction of the contribution (H(z)−1)({tilde over (X)}(z)−X(z)). It follows from this that the coding noise of the complete chain qG(n)={tilde over (x)}(n)−x(n) will be shaped by the filter
here is the proof in terms of equations:
In fact, the filter HPRED(z)=H(z)−1 has a zero coefficient in z0 (for the instant n), it is therefore a predictor acting on qw(n)={tilde over (x)}(n)−x(n) which, for its part, is known only at the end of the PCM/ADPCM processing when the decoded value {tilde over (x)}(n) is known.
The sequence of operations of
The surrounded part 807 can be viewed and implemented as a noise shaping preprocessing which modifies the input of the standard coder/decoder chain.
An exemplary embodiment of a coder according to the invention is now described with reference to
In terms of hardware, a coder 900 such as described according to the various embodiments hereinabove, within the meaning of the invention, typically comprises, a processor μP cooperating with a memory block BM including a storage and/or work memory, as well as an aforementioned buffer memory MEM as means for storing for example a dictionary of quantization reconstruction levels or any other data necessary for the implementation of the coding method such as described with reference to
The memory block BM can comprise a computer program comprising the code instructions for the implementation of the steps of the method according to the invention when these instructions are executed by a processor μP of the coder and especially the steps of obtaining possible quantization values for the current improvement stage k by determining absolute reconstruction levels of just the current stage k on the basis of the indices of the preceding embedded coder, of quantizing the input signal of the hierarchical coder having undergone or not a perceptual weighting processing (x(n) or x′(n)), on the basis of said possible quantization values so as to form a quantization index for stage k and a quantized signal corresponding to one of the possible quantization values.
In a more general manner, a storage means, readable by a computer or a processor, possibly integrated into the coder, optionally removable, stores a computer program implementing a coding method according to the invention.
Number | Date | Country | Kind |
---|---|---|---|
1060631 | Dec 2010 | FR | national |
This application is a Section 371 National Stage application of International Application No. PCT/FR2011/052959, filed Dec. 13, 2011, which is incorporated by reference in its entirety and published as WO 2012/080649 on Jun. 21, 2012, not in English.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR11/52959 | 12/13/2011 | WO | 00 | 6/17/2013 |