EP2452336A1 - Codage/décodage perfectionne de signaux audionumériques - Google Patents

Codage/décodage perfectionne de signaux audionumériques

Info

Publication number
EP2452336A1
EP2452336A1 EP10745327A EP10745327A EP2452336A1 EP 2452336 A1 EP2452336 A1 EP 2452336A1 EP 10745327 A EP10745327 A EP 10745327A EP 10745327 A EP10745327 A EP 10745327A EP 2452336 A1 EP2452336 A1 EP 2452336A1
Authority
EP
European Patent Office
Prior art keywords
coding
frequency
decoding
signal
band
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
EP10745327A
Other languages
German (de)
English (en)
Other versions
EP2452336B1 (fr
Inventor
David Virette
Stéphane RAGOT
Balazs Kovesi
Pierre Berthet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP2452336A1 publication Critical patent/EP2452336A1/fr
Application granted granted Critical
Publication of EP2452336B1 publication Critical patent/EP2452336B1/fr
Active 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
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • 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 a sound data processing.
  • This processing is adapted in particular to the transmission and / or storage of digital signals such as audio-frequency signals (speech, music, or other).
  • the invention applies more particularly to hierarchical coding (or "scalable” coding) which generates a so-called “hierarchical” bitstream because it comprises a core rate and one or more improvement layer (s).
  • the G.722 standard at 48, 56 and 64 kbit / s is an example of a scalable bit rate codec
  • the ITU-T G .129.1 and MPEG-4 CELP codecs are examples of scalable codecs in both bitrate and bitrate. in bandwidth.
  • Hierarchical coding having the capacity to provide varied bit rates, is described below by distributing the information relating to an audio signal to be coded in hierarchical subsets, so that this information can be used in order of importance. in terms of audio rendering quality.
  • the criterion taken into account for determining the order is a criterion for optimizing (or rather reducing) the quality of the coded audio signal.
  • Hierarchical coding is particularly suited to transmission over heterogeneous networks or having variable available rates over time, or to transmission to terminals with varying capacities.
  • the bit stream includes a base layer and one or more enhancement layers.
  • the base layer is generated by a fixed rate codec, referred to as
  • Heart coded guaranteeing the minimum quality of the coding. This layer must be received by the decoder to maintain an acceptable level of quality. Improvement layers are used to improve quality. However, they may not all be received by the decoder.
  • the main advantage of hierarchical coding is that it allows an adaptation of the bit rate simply by "truncation of the bit stream".
  • the number of layers i.e., the number of possible truncations of the bitstream
  • the number of layers defines the granularity of the coding.
  • scalable bandwidth and scalability encoding techniques are described below, with a CELP core-type coder, in a telephone band, and one or more broadband enhancement layer (s).
  • An example of such systems is given in the ITU-T G.729.1 8-32 kbit / s fine grain standard.
  • the G.729.1 coding / decoding algorithm is summarized below.
  • the G.729.1 encoder is an extension of the ITU-T G.729 coder. It is a modified G.729 heart-shaped hierarchical encoder producing a bandwidth ranging from narrow band (50-4000 Hz) to wide band (50-7000 Hz) at a rate of 8 to 32 kbit / s for conversational services. This codec is compatible with existing VoIP devices that use the G.729 codec.
  • the G.729.1 coder is shown diagrammatically in FIG. 1.
  • the broadband input signal s sampled at 16 kHz, is first decomposed into two subbands by QMF (for "Quadrature Mirror Filter") filtering.
  • the low band (0-4000 Hz) is obtained by LP low-pass filtering (block 100) and decimation (block 101), and the band high (4000-8000 Hz) by high-pass filtering HP (block 102) and decimation (block 103).
  • the LP and HP filters are of length 64.
  • the low band is pretreated with a high-pass filter eliminating the components below 50 Hz (block 104), to obtain the signal S 18 , before CELP coding in narrow band (block 105) at 8 and 12 kbit / s.
  • This high-pass filtering takes into account the fact that the wanted band is defined as covering the interval 50-7000 Hz.
  • the narrow-band CELP coding is a cascaded CELP coding comprising as a first stage a modified G.729 coding without a filter. preprocessing and as a second stage an additional fixed CELP dictionary.
  • the high band is first pretreated (block 106) to compensate for the folding due to the high-pass filter (block 102) combined with the decimation (block 103).
  • the high band is then filtered by a low pass filter (block 107) eliminating the components between 3000 and 4000 Hz from the high band (that is, the components between 7000 and
  • a parametric band extension (block 108) is then performed.
  • the error signal d LB of the low band is calculated (block 109) from the output of the CELP coder (block 105) and a predictive coding by transform (of type
  • TDAC for "Time Domain Aliasing Cancellation" in the G.729.1 standard) is carried out at block 110.
  • TDAC is applied to both the error signal on the low band and the signal filtered on the high band.
  • Additional parameters may be transmitted by the block 1 11 to a homologous decoder, this block 111 performing a so-called “FEC” treatment for "Frame Erasure Concealment", in order to reconstruct any erased frames.
  • FEC Fre Erasure Concealment
  • the different bit streams generated by the coding blocks 105, 108, 110 and 111 are finally multiplexed and structured into a hierarchical bit stream in the multiplexing block 112.
  • the coding is performed by 20 ms sample blocks (or frames). 320 samples per frame.
  • the coded G .129.1 therefore has a three-step coding architecture comprising: CELP coding in cascade,
  • TDAC transform predictive coding applied after an MDCT (Modified Discrete Cosine Transform) transformation.
  • MDCT Modified Discrete Cosine Transform
  • the G.729.1 decoder is illustrated in Figure 2. The bits describing each frame of 20 ms are demultiplexed in the block 200.
  • the bit stream of the 8 and 12 kbit / s layers is used by the CELP decoder (block 201) to generate the narrow-band synthesis (0-4000 Hz).
  • the portion of the bit stream associated with the 14 kbit / s layer is decoded by the tape extension module (block 202).
  • the portion of the bit stream associated with data rates greater than 14 kbit / s is decoded by the TDAC module (block 203).
  • Pre-echo and post-echo processing is performed by blocks 204 and 207 as well as enrichment (block 205) and aftertreatment of the low band (block 206).
  • the extended band output signal s wb sampled at 16 kHz, is obtained via the QMF synthesis filter bank (blocks 209, 210, 211, 212 and 213) integrating the inverse folding (block 208).
  • the TDAC type transform coding in the G.729.1 encoder is illustrated in FIG.
  • the filter W 18 (Z) (block 300) is a perceptual weighting filter, with gain compensation, applied to the low band error signal d LB. MDCT transforms are then calculated (blocks 301 and 302) to obtain:
  • These MDCT transforms (blocks 301 and 302) apply to 20 ms of sampled signal at 8 kHz (160 coefficients).
  • the spectrum Y (k) from the block 303 of fusion thus comprises 2 x 160, or 320 coefficients. It is defined as follows:
  • This spectrum is divided into eighteen sub-bands, a sub-band j being assigned a number of coefficients noted nb _coef (j).
  • the subband splitting is specified in Table 1 below.
  • a subband j comprises the coefficients Y (k) with sb _ bound (j) ⁇ k ⁇ sb _ b ⁇ und (j + 1). It should be noted that the coefficients 280-319 corresponding to the frequency band 7000 Hz - 8000 Hz are not coded; they are set to zero at the decoder because the bandwidth of the codec is 50-7000 Hz.
  • Table 1 Limits and size of subbands in TDAC coding
  • the spectral envelope is coded at variable rate in block 305.
  • This quantized value set _index (j) is transmitted to the bit allocation block 306.
  • two types of coding can be chosen according to a given criterion, and, more precisely, the values put _index (j):
  • a bit (0 or 1) is transmitted to the decoder to indicate the encoding mode that has been chosen.
  • the number of bits allocated to each subband for its quantization is determined at block 306 from the quantized spectral envelope from block 305.
  • the bit allocation performed minimizes the squared error while respecting the constraint of a whole number of bits allocated per subband and a number of bits. maximum not to be exceeded.
  • the spectral content of the subbands is then encoded by spherical vector quantization (block 307).
  • the different bit streams generated by the blocks 305 and 307 are then multiplexed and structured into a hierarchical bit stream at the multiplexing block 308.
  • the TDAC-type transform decoding step in the G.729.1 decoder is illustrated in FIG. 4.
  • block 401 allows to find the allocation of bits (block 402).
  • Envelope decoding (block 401) reconstructs the quantized values of the spectral envelope
  • each of the subbands is found by inverse spherical vector quantization (block 403).
  • the non-transmitted sub-bands, due to a lack of "budget" of bits, are extrapolated (block 404) from the MDCT transform of the signal at the output of the band extension block (block 202 of FIG. 2).
  • the MDCT spectrum is separated into two (block 407):
  • IMDCT inverse MDCT transform
  • W 18 (Z) '1 the inverse perceptual weighting
  • the sub-bit allocation (block 306 of FIG. 3 or block 402 of FIG. 4) is described more particularly below.
  • the purpose of the binary allocation is to distribute between each of the sub-bands a certain bit budget (variable) noted nbits _ VQ, with:
  • nbits _VQ 351 - nbits _ put, where nbits _ mis is the number of bits used by the coding of the spectral envelope.
  • Table 2 Possible values of number of bits allocated in TDAC subbands.
  • nbit (j) arg min nb _coef (j) x (ip (j) - ⁇ ) - r where ⁇ is a dichotomy optimized parameter to satisfy the global constraint 17
  • the TDAC coding uses the perceptual weighting W / B (z) filter in the low band (block 300), as indicated above.
  • perceptual weighting filtering allows you to format the coding noise.
  • the principle of this filtering is to exploit the fact that it is possible to inject more noise in the frequency zones where the original signal has a high energy.
  • the most common perceptual weighting filters used in narrow-band CELP coding are of the form ⁇ (z / ⁇ 1) / ⁇ (z / ⁇ 2) where 0 ⁇ 2 ⁇ l ⁇ 1 and ⁇ (z) represents a prediction spectrum linear (LPC).
  • the synthesis analysis in CELP coding thus amounts to minimizing the quadratic error in a signal domain perceptually weighted by this type of filter.
  • the filter W LB (z) is defined in the form:
  • the energy criterion of TDAC coding of G.729.1, used in the high band (4000-7000 Hz), is not optimal from a perceptual point of view, in particular to code musical signals.
  • the perceptual weighting filter is particularly suited to speech signals. It is widely used in speech coding standards based on the CELP coding format. However, for the musical signals, it appears that this perceptual weighting based on a shaping of the quantization noise according to the formants of the input signal is insufficient. Most audio coders rely on transform coding using frequency masking or simultaneous masking models; they are more generic (in the sense that they do not use a speech production model like the CELP) and are therefore more suitable for encoding musical signals.
  • the present invention improves the situation.
  • a method of hierarchical coding of a digital audio input signal in several frequency subbands comprising heart encoding of the input signal at a first rate and at least one higher rate enhancement coding of a residual signal, the core coding using a binary allocation according to an energy criterion.
  • the method is such that it comprises the following steps for improvement coding:
  • the coding according to the invention takes advantage of an enhancement coding layer to improve the coding quality from a perceptual point of view.
  • the enhancement layer will thus benefit from frequency masking which does not exist in the core coding stage, in order to best allocate the bits in the frequency bands of the improvement coding.
  • the step of determining a perceptual importance comprises: a first step of defining a first perceptual importance for at least one frequency sub-band of the improvement coding, as a function of the frequency masking threshold in the sub-band, of quantized values of the coding of the spectral envelope for the frequency subband and a determined normalization factor;
  • the first perceptual importance that will be used for the improvement layer does not take into account the core coding but only the signal to mask ratio to define a perceptual importance. This perceptual importance is determined on the input signal of the transform coder.
  • a first transform coding layer based on an energy allocation has allocated a certain number of bits per subband.
  • the perceptual importance is furthermore determined as a function of bits allocated for coding of improvement of the preceding core coding, having a binary allocation according to an energy criterion.
  • the non-transmitted subbands due to a lack of sufficient bit budget, are extrapolated (block 404) from the MDCT transform of the output signal of the band extension block (block 202 of FIG. ). Even at the higher bit rate of G.729.1 (32 kbit / s) some frequency bands remain extrapolated.
  • a first coding enhancement coding heart uses the original signal and operates according to energy criteria for bit allocation. According to one embodiment of the invention, this first enhancement coding modifies the number of bits nbi 1 (j) allocated to the subbands and the decoded subband Y q (k) (defined later in FIG. 5).
  • the improvement coding according to the invention therefore also takes into account the bits allocated during this first improvement coding, in addition to the bits allocated in the core coding.
  • the masking threshold is determined for a sub-band, by a convoi ution between:
  • the method comprises a step of obtaining an information according to which the signal to be encoded is tonal or non-tonal and the steps of calculating the masking threshold and of determining a perceptual importance according to this masking threshold, are conducted only if the signal is non-tonal.
  • the coding is adapted to the signal whether it is tonal or not and allows optimal allocation of the bits.
  • the improvement coding is a TDAC type enhancement coding in an extended coder whose core coding is of the G.729.1 standard encoder type.
  • the quality of the G.729.1 codec in the enlarged band (50-7000 Hz) is improved.
  • Such an improvement is important to extend the G.729.1 encoder band of the enlarged band (50-7000Hz) to the super-wide band (50-14000Hz).
  • the present invention also relates to a method of hierarchical decoding of a digital audio frequency signal into a plurality of frequency subbands comprising a core decoding of a signal received at a first rate and at least a higher rate of improvement decoding, d a residual signal, the core decoding using a binary allocation according to an energy criterion.
  • the method is such that it comprises the following steps for the improvement decoding:
  • the step of determining a perceptual importance comprises:
  • the invention relates to a hierarchical coder of a digital audio frequency input signal in several frequency subbands comprising a core encoder of the input signal according to a first bit rate and at least one higher bit rate improvement coder, d a residual signal, the core coder using a binary allocation according to an energy criterion.
  • the enhancement coder includes:
  • a module for coding the residual signal according to the bit allocation a module for coding the residual signal according to the bit allocation.
  • the enhancement decoder comprises:
  • the invention relates to a computer program comprising code instructions for implementing the steps of a coding method according to the invention, when they are executed by a processor and to a computer program comprising instructions. code for implementing the steps of a decoding method according to the invention, when executed by a processor.
  • FIG. 1 illustrates the structure of a G.729.1 type encoder described above
  • FIG. 2 illustrates the structure of a G.729.1 type decoder described above
  • FIG. 3 illustrates the structure of a TDAC encoder included in the G.729.1 type encoder and described previously:
  • FIG. 4 illustrates the structure of a TDAC decoder included in a G.729.1 decoder and as described above;
  • FIG. 5 illustrates the structure of a TDAC coder comprising enhancement coding according to one embodiment of the invention
  • FIG. 6 illustrates the structure of a TDAC decoder comprising improvement decoding according to one embodiment of the invention
  • FIG. 7 illustrates an advantageous spreading function for masking within the meaning of the invention
  • FIG. 8 illustrates a normalization of the masking curve, in one embodiment of the invention.
  • FIG. 9 illustrates the structure of a frequency band extended G.729.1 encoder in which a TDAC encoder according to one embodiment of the invention is included;
  • FIG. 10 illustrates the structure of a G.729.1 extended frequency band decoder in which a TDAC decoder according to one embodiment of the invention is included;
  • FIG. 11a illustrates an exemplary hardware embodiment of a terminal including an encoder according to an embodiment of the invention.
  • FIG. 11b illustrates an example of a hardware embodiment of a terminal including a decoder according to one embodiment of the invention.
  • One of the objects of the invention is the improvement of the quality of G.729.1 in wideband (50-7000 Hz), in particular for musical signals. It will be recalled here that the G.729.1 coding has a useful band of 50 to 7000 Hz. Moreover, the quality of G.729.1 for some signals such as music signals is not transparent at its highest bit rate (32 kbit / s) - this limitation is due to the hierarchical structure CELP + TDBWE + TDAC and the bit rate limited to 32 kbit / s .
  • This invention is motivated by the ongoing standardization in ITU-T of a scalable extension of G.729.1, in particular to extend the coded band by
  • the G.729.1 quality improvement can be achieved with one or more additional rate enhancement layers (in addition to 32 kbit / s).
  • these additional flow enhancement layers can serve both the band extension (7000-14000 Hz) and the quality improvement in the enlarged band (50-7000 Hz).
  • part of the additional bit rate of the enhancement layers can be devoted to improving the broadband signal decoded by a G.729.1 decoder.
  • G.729.1 has a narrow-band CELP core coder, while the super-expanded band extension (50-14000Hz) of G.729.1 has for heart G.729.1.
  • core and core rate coding mean a G.729.1 type coding and the associated bit rate of 32 kbit / s.
  • it is more particularly a TDAC encoder and decoder as described above, in which an enhancement layer is integrated.
  • Figure 5 describes such an improved TDAC coder.
  • a scalable extension of G.729.1 is considered in several enhancement layers.
  • the core coding is a G.729.1 coding, which uses TDAC coding in the band [50-7000 Hz] from the bit rate of 14 kbit / s to 32 kbit / s. It is assumed that between 32 and 48 kbit / s two enhancement layers of 8 kbit / s are produced in order to extend the band from 7000 to 14000 Hz and to replace the non-transmitted subbands of the TDAC coding of G.729.1 . These enhancement layers of 8 kbit / s ranging from 32 to 48 kbit / s are not described here.
  • the present invention provides two additional 8 kbit / s enhancement layers of the TDAC coding in the 50 to 7000 Hz band that increase the bit rate from 48 kbit / s to 56 and 64 kbit / s.
  • the encoder applying the present invention has enhancement layers that add G.729.1 core bit rate (32 kbit). These enhancement layers serve both to improve the quality in the enlarged band (50-7000 Hz) and to extend the upper band from 7000 to 14000 Hz. In the following we ignore the extension of 7000 to 14000 Hz, because this feature does not influence the implementation of the present invention. For reasons of simplicity, the modules corresponding to the 7000 to 14000 Hz band extension are not illustrated in FIGS. 5 and 6.
  • the TDAC encoder according to one embodiment of the invention here comprises an enhancement layer (blocks 509 to 513) which improves the core layer (blocks 504 to 507).
  • the block 507 here corresponds to the spherical vector quantization (SVQ) of G.729.1, which may comprise a modification as mentioned above.
  • SVQ spherical vector quantization
  • This modification uses the original signal Y (k) and operates according to energy criteria for bit allocation. The number of bits nbit (j) allocated to the subbands and the decoded subband Yq (k) are then modified.
  • Block 506 performs a binary allocation based on energy criteria as described with reference to FIG.
  • the core layer is therefore coded and sent to the multiplexing module 508.
  • the core signal is also decoded locally in the coder by the block.
  • this heart signal is subtracted from the original signal at 509, in the transformed domain, to obtain a residual signal err (k).
  • This residual signal is then coded from a bit rate of 48 kbit / s in block 513.
  • this masking is performed only on the high band of the signal, with:
  • the masking threshold M (J) for a sub-band j is therefore defined by a convolution between:
  • FIG. 7 An advantageous spreading function is that shown in FIG. 7. It is a triangular function whose first slope is + 27dB / Bark and -10dB / Bark for the second. This representation of the spreading function allows the iterative calculation of the following masking curve:
  • a 1 (J) IO ⁇ 10 ("> - V > * ⁇ )
  • the values of A 1 (J) and ⁇ 9 (j) can be pre-calculated and stored. Since the low band is already filtered perceptually by the module 500, the application of the masking threshold is in this embodiment, limited to the high band. In order to ensure the spectral continuity between the low and high band spectrum weighted by the masking threshold and to avoid biasing the bit allocation, the masking threshold is normalized for example by its value on the last sub-band. band of the low band.
  • a first perceptual importance calculation step is then performed taking into account the signal-to-mask ratio given by:
  • normfac log 2 JT ⁇ 2 (j) x B (V 9 - V j )
  • log_ mask (j) log 2 (M (J)) - normfac.
  • FIG. 8 An illustration of the standardization of the masking threshold is given in FIG. 8, showing the connection of the high band on which the masking (4-7 kHz) is applied to the low band (0-4 kHz).
  • the standardization of the masking threshold can be rather carried out from the value of the band.
  • the masking threshold can be calculated over the entire frequency band, with:
  • normfac log 2 ⁇ 2 (j) x B (V 10 - v ; )
  • these relations giving the normalization factor normfac or the masking threshold M (J) can be generalized to any number of subbands (different, in total, from eighteen) in high band (with a different number of eight), as in low band (with a different number of ten).
  • a first perceptual importance ip (j) is sent to the binary allocation block 512 for improvement coding.
  • This block 512 also receives bit allocation information nbit (j) from the core layer of the TDAC coding, G.729.1.
  • Block 512 thus defines a new perceptual importance that takes into account these two pieces of information.
  • nbit (j) represents the number of bits allocated by the base layer to the frequency band j
  • nb_coeff (j) represents the number of coefficients of the band j according to Table 1 described above.
  • the new perceptual importance is calculated by subtracting from the first perceptual importance, a ratio between the number of bits allocated for core coding and the number of possible coefficients in the subband.
  • the block 512 performs a bit allocation on the residual signal to code the enhancement layer.
  • nbit_err (j) arg reR t At ⁇ l ) - r where optimization must satisfy the constraint
  • j 0 nbits _VQ_err corresponding to the additional number of bits in the enhancement layer (320 bits for the 2 8 kbit / s layers).
  • the residual signal err (k) is then coded by the module 513 by spherical vector quantization, using the number of allocated bits nbit_err (j) as previously calculated.
  • This coded residual signal is then multiplexed with the signal resulting from the core coding and the coded envelope by the multiplexing module 508.
  • This enhancement coding not only extends the allocated bit rate but improves from a perceptual point of view, the coding of the signal.
  • the TDAC coding enhancement layer as described can be applied after modifying the TDAC coding of G.729.1.
  • a first enhancement (not described here) of the TDAC coding of G.729.1 is performed.
  • This enhancement allocates bits to subbands between 4 and 7 kHz where no bit rate was allocated by the G.729.1 TDAC core encoding even at its higher 32 kbit / s bit rate.
  • This first improvement of the TDAC coding of G.729.1 therefore uses the original signal between 4 and 7 kHz and does not implement the steps of calculating a masking threshold nor determining the perceptual importance of the coding method of the 'invention.
  • Block 507 is considered to correspond to this modified TDAC coding integrating this improvement.
  • FIG. 5 not only illustrates the TDAC coder with its improvement coding stage but also serves to illustrate the steps of the coding method according to one embodiment of the invention as described above and in particular the steps of:
  • FIG. 6 illustrates the TDAC decoder with an enhancement decoding stage as well as the steps of a decoding method according to one embodiment of the invention.
  • the decoder comprises the modules (601, 602, 603, 606, 607, 608, 609 and 610) identical to those described for the TDAC decoding of the G.729.1 coder with reference to FIG. 4 (401, 402, 403, 406, 407, 408, 409 and 410).
  • the block 606 for processing in the MDCT domain (aimed at shaping the coding noise) is here optional because the invention improves the quality of the decoded MDCT spectrum from block 603.
  • the module 605 of the decoder corresponds to the encoder module 511 and operates in the same way from the quantized values of the spectral envelope.
  • the allocation module 604 determines a second perceptual importance in taking into account the allocation of bits received from the core coding, in the same way as in the coding module 512.
  • This bit allocation for the enhancement coding allows the module 611 to decode the signal received from the demultiplexing module 600 by spherical vector dequantization.
  • the decoded signal from the module 611 is an error signal err (k) which is then combined at 612 with the decoded heart signal at 603.
  • This signal is then processed as for the G.729.1 coding described with reference to FIG. 4, to give a difference signal d L g in low band and a signal S HB in high band.
  • the calculation of a frequency masking performed by the module 511 or 605 and as described above may or may not be carried out according to the signal to be encoded (in particular if it is tonal or not).
  • the application of the spreading function B (v) results in a masking threshold very close to a tone a little more spread out in frequencies.
  • the criterion of minimization of the masked coding noise ratio then gives a bit allocation that is not necessarily optimal.
  • the calculation of the masking threshold and the determination of the perceptual importance as a function of this masking threshold according to the invention is applied only if the signal to be encoded is not tonal.
  • the bit relating to the mode of the spectral envelope coding indicates a "differential Huffman" mode or a "natural direct binary” mode.
  • This mode bit can be interpreted as a tone detection, since, in general, a tonal signal leads to envelope coding by the "natural direct binary” mode, while most non-tonal signals, having a spectral dynamic more limited, lead to envelope coding by the "Differential Huffman" mode.
  • the super-wideband extension of the G.729.1 encoder as shown consists of an extension of the frequencies coded by the module 915, the frequency band used from
  • the encoder as represented in FIG. 9 comprises the same modules as the core G.729.1 coding shown in FIG. 1 and an additional band extension module 915 which provides an extension signal to the multiplexing module 912.
  • This frequency band extension is calculated on the original full-band signal S SWB while the input signal of the core encoder is obtained by decimation (block 913) and low-pass filtering (block 914). At the output of these blocks, the broadband input signal S WB is obtained.
  • the TDAC coding module 910 is different from that illustrated in FIG. 1. This module is for example that described with reference to FIG. 5 and provides the multiplexing module with both the coded core signal and the coded improvement signal. the invention.
  • a G.729.1 decoder extended in super-wideband is described with reference to FIG. 10. It comprises the same modules as the decoder
  • band extension module 1014 which receives from the demultiplexing module 1000, the band extension signal. It also comprises the synthesis filter bank (blocks 1015, 1016) making it possible to obtain the super-wideband output signal S swh .
  • the TDAC decoding module 1003 is also different from the TDAC decoding module illustrated with reference to FIG. 2. This module is for example that described and illustrated with reference to FIG. 6. It therefore receives from the demultiplexing module, both the heart signal and the signal of improvement.
  • the invention is used to improve the quality of TDAC coding in the G.729.1 codec.
  • the invention applies to other types of transform coding with a binary allocation and to the scalable extension of other core codes than G.729.1.
  • FIGS. 11a and 11b An exemplary hardware embodiment of the encoder and the decoder as described with reference to FIGS. 5 and 6 is now described with reference to FIGS. 11a and 11b.
  • FIG. 11a illustrates an encoder or terminal comprising an encoder as described in FIG. 5. It comprises a processor PROC cooperating with a memory block BM comprising a storage and / or working memory MEM.
  • This terminal comprises an input module able to receive a low band signal d LB and a high band signal S HB or any type of digital signal to be coded. These signals may come from another coding stage or a communication network, a digital content storage memory.
  • the memory block BM may advantageously comprise a computer program comprising code instructions for implementing the steps of the coding method in the sense of the invention, when these instructions are executed by the processor PROC, and in particular the steps of:
  • FIG. 5 repeats the steps of an algorithm of such a computer program.
  • the computer program can also be stored on a memory medium readable by a reader of the terminal or encoder or downloadable in the memory space thereof.
  • the terminal comprises an output module capable of transmitting a multiplexed stream derived from the coding of the input signals.
  • FIG. 11b illustrates an example of a decoder or terminal including a decoder as described with reference to FIG.
  • This terminal comprises a PROC processor cooperating with a memory block
  • BM having a memory storage and / or working MEM.
  • the terminal comprises an input module adapted to receive a multiplexed stream coming for example from a communication network, a storage module.
  • the memory block may advantageously comprise a computer program comprising code instructions for implementing the steps of the decoding method in the sense of the invention, when these instructions are executed by the processor PROC, and in particular the steps of:
  • FIG. 6 shows the steps of an algorithm of such a computer program.
  • the computer program can also be stored on a memory medium readable by a reader of the terminal or downloadable in the memory space thereof.
  • the terminal comprises an output module able to transmit decoded signals ⁇ dtB, S HB ) for another coding stage or for a content reproduction.
  • such a terminal may comprise both the encoder and the decoder according to the invention.

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)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention se rapporte à un procédé de codage hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codage coeur du signal d'entrée selon un premier débit et au moins un codage d'amélioration de débit supérieur, d'un signal résiduel, le codage coeur utilisant une allocation binaire (506) selon un critère énergétique. Le procédé est tel qu'il comporte les étapes suivantes pour le codage d'amélioration:- calcul d'un seuil de masquage fréquentiel (511) pour au moins une partie des bandes de fréquences traitées par le codage d'amélioration;- détermination (512) d'une importance perceptuelle par sous bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage coeur;- allocation binaire (512) de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et -codage du signal résiduel (513) selon l'allocation de bits. L'invention se rapporte également à un procédé de décodage, un codeur et décodeur adaptés.

Description

Codage/Décodage perfectionné de signaux audionumériques
La présente invention concerne un traitement de données sonores.
Ce traitement est adapté notamment à la transmission et/ou au stockage de signaux numériques tels que des signaux audiofréquences (parole, musique, ou autres).
L'invention s'applique plus particulièrement au codage hiérarchique (ou codage "scalable") qui génère un flux binaire dit « hiérarchique » car il comprend un débit cœur et une ou plusieurs couche(s) d'amélioration. La norme G.722 à 48, 56 et 64 kbit/s est un exemple de codée scalable en débit, tandis que les codées UIT-T G .129.1 et MPEG-4 CELP sont des exemples de codées scalables à la fois en débit et en largeur de bande.
On détaille ci-après le codage hiérarchique, ayant la capacité de fournir des débits variés, en répartissant les informations relatives à un signal audio à coder dans des sous-ensembles hiérarchisés, de telle sorte que ces informations puissent être utilisées par ordre d'importance sur le plan de la qualité de rendu audio. Le critère pris en compte pour déterminer l'ordre est un critère d'optimisation (ou plutôt de moindre dégradation) de la qualité du signal audio codé. Le codage hiérarchique est particulièrement adapté à la transmission sur des réseaux hétérogènes ou présentant des débits disponibles variables au cours du temps, ou encore à la transmission à destination de terminaux présentant des capacités variables.
Le concept de base du codage audio hiérarchique (ou "scalable") peut être décrit comme suit.
Le flux binaire comprend une couche de base et une ou plusieurs couches d'amélioration. La couche de base est générée par un codée à débit fixe, qualifié de
« codée cœur », garantissant la qualité minimale du codage. Cette couche doit être reçue par le décodeur pour maintenir un niveau de qualité acceptable. Les couches d'amélioration servent à améliorer la qualité. Il peut arriver toutefois qu'elles ne soient pas toutes reçues par le décodeur.
L'intérêt principal du codage hiérarchique est qu'il permet alors une adaptation du débit par simple « troncature du flux binaire ». Le nombre de couches (c'est-à-dire le nombre de troncatures possibles du flux binaire) définit la granularité du codage. On parle de codage à « granularité forte » si le flux binaire comprend peu de couches (de l'ordre de 2 à 4) et de codage à « granularité fine » permet par exemple un pas de l'ordre de 1 à 2 kbit/s.
On décrit plus particulièrement ci-après les techniques de codage scalable en débit et en largeur de bande, avec un codeur cœur de type CELP, en bande téléphonique et une ou plusieurs couche(s) d'amélioration en bande élargie. Un exemple de tels systèmes est donné dans la norme UIT-T G.729.1 de 8 à 32 kbit/s à granularité fine. L'algorithme de codage/décodage G.729.1 est résumé ci-après.
* Rappels sur le codeur G.729.1
Le codeur G.729.1 est une extension du codeur UIT-T G.729. Il s'agit d'un codeur hiérarchique à cœur G.729, modifié, produisant un signal dont la bande va de la bande étroite (50-4000 Hz) à la bande élargie (50-7000 Hz) à un débit de 8 à 32 kbit/s pour les services conversationnels. Ce codée est compatible avec les équipements de voix sur IP existants qui utilisent le codée G.729.
Le codeur G.729.1 est schématisé sur la figure 1. Le signal d'entrée en bande élargie s^ , échantillonné à 16 kHz, est d'abord décomposé en deux sous-bandes par filtrage QMF (pour "Quadrature Mirror Filter"). La bande basse (0-4000 Hz) est obtenue par le filtrage passe-bas LP (bloc 100) et décimation (bloc 101), et la bande haute (4000-8000 Hz) par filtrage passe-haut HP (bloc 102) et décimation (bloc 103). Les filtres LP et HP sont de longueur 64.
La bande basse est prétraitée par un filtre passe-haut éliminant les composantes en dessous de 50 Hz (bloc 104), pour obtenir le signal S18 , avant codage CELP en bande étroite (bloc 105) à 8 et 12 kbit/s. Ce filtrage passe-haut tient compte du fait que la bande utile est définie comme couvrant l'intervalle 50-7000 Hz. Le codage CELP en bande étroite est un codage CELP en cascade comprenant comme premier étage un codage G.729 modifié sans filtre de prétraitement et comme deuxième étage un dictionnaire CELP fixe supplémentaire.
La bande haute est d'abord prétraitée (bloc 106) pour compenser le repliement dû au filtre passe-haut (bloc 102) combiné avec la décimation (bloc 103). La bande haute est ensuite filtrée par un filtre passe-bas (bloc 107) éliminant les composantes entre 3000 et 4000 Hz de la bande haute (c'est-à-dire les composantes entre 7000 et
8000 Hz dans le signal original) pour obtenir le signal sHB . Une extension de bande paramétrique (bloc 108) est ensuite réalisée.
Une particularité importante de l'encodeur G.729.1 selon la figure 1 est la suivante. Le signal d'erreur dLB de la bande basse est calculé (bloc 109) à partir de la sortie du codeur CELP (bloc 105) et un codage prédictif par transformée (de type
TDAC pour « Time Domain Aliasing Cancellation » dans la norme G.729.1) est réalisé au bloc 110. En référence à la figure 1, on voit en particulier que l'encodage
TDAC est appliqué à la fois au signal d'erreur sur la bande basse et au signal filtré sur la bande haute.
Des paramètres supplémentaires peuvent être transmis par le bloc 1 11 à un décodeur homologue, ce bloc 111 réalisant un traitement dit « FEC » pour « Frame Erasure Concealment », en vue de reconstituer d'éventuelles trames effacées. - A -
Les différents flux binaires générés par les blocs de codage 105, 108, 110 et 111 sont enfin multiplexes et structurés en un train binaire hiérarchique dans le bloc de multiplexage 112. Le codage est réalisé par blocs d'échantillons (ou trames) de 20 ms, soit 320 échantillons par trame.
Le codée G .129.1 a donc une architecture en trois étapes de codage comprenant : le codage CELP en cascade,
l'extension de bande paramétrique par le module 108, de type TDBWE (pour « Time Domain Bandwidth Extension »), et
un codage prédictif par transformée TDAC, appliqué après une transformation de type MDCT (pour « Modified Discrète Cosine Transform » ou « transformation en cosinus discrète modifiée »).
* Rappels sur le décodeur G.729.1 Le décodeur G.729.1 est illustré sur la figure 2. Les bits décrivant chaque trame de 20 ms sont démultiplexés dans le bloc 200.
Le flux binaire des couches à 8 et 12 kbit/s est utilisé par le décodeur CELP (bloc 201) pour générer la synthèse en bande étroite (0-4000 Hz). La portion du flux binaire associée à la couche à 14 kbit/s est décodée par le module d'extension de bande (bloc 202). La portion du flux binaire associée aux débits supérieurs à 14 kbit/s est décodée par le module TDAC (bloc 203). Un traitement des pré-échos et post-échos est réalisé par les blocs 204 et 207 ainsi qu'un enrichissement (bloc 205) et un post-traitement de la bande basse (bloc 206). Le signal de sortie en bande élargie swb , échantillonné à 16 kHz, est obtenu par l'intermédiaire du banc de filtres QMF de synthèse (blocs 209, 210, 211, 212 et 213) intégrant le repliement inverse (bloc 208).
La description de la couche de codage par transformée est détaillée ci-après.
* Rappels sur le codeur par transformée TDAC dans le codeur G.729.1
Le codage par transformée de type TDAC dans le codeur G.729.1 est illustré sur la figure 3.
Le filtre W18 (Z) (bloc 300) est un filtre de pondération perceptuelle, avec compensation de gain, appliqué au signal d'erreur en bande basse dLB . Des transformées MDCT sont ensuite calculées (bloc 301 et 302) pour obtenir :
le spectre MDCT D^ du signal de différence, filtré perceptuellement, et le spectre MDCT SHB du signal original de la bande haute. Ces transformées MDCT (blocs 301 et 302) s'appliquent à 20 ms de signal échantillonné à 8 kHz (160 coefficients). Le spectre Y(k) issu du bloc 303 de fusion comprend ainsi 2 x 160, soit 320 coefficients. Il est défini comme suit :
[F(O) F(I)- - 7(319)] = [DL w B (0) D^(I) -D^ (159) SHB(0) SHB(l) -5Wfl(159)J
Ce spectre est divisé en dix-huit sous-bandes, une sous-bande j étant affectée d'un nombre de coefficients noté nb _coef(j) . Le découpage en sous-bandes est spécifié dans le tableau 1 ci-après.
Ainsi, une sous-bande j comprend les coefficients Y(k) avec sb _ bound(j)≤ k < sb _ bυund(j + 1) . A noter que les coefficients 280-319 correspondants à la bande de fréquence 7000 Hz - 8000 Hz ne sont pas codés; ils sont mis à zéro au décodeur, car la bande passante du codée est de 50-7000 Hz.
Tableau 1 : Limites et taille des sous-bandes en codage TDAC L'enveloppe spectrale {\og_ rms(j)} χη est calculée dans le bloc 304 suivant la formule : Y(k)2 + εrm j = o,...,n
où £ ,, = 2 -24
L'enveloppe spectrale est codée à débit variable dans le bloc 305. Ce bloc 305 produit des valeurs quantifiées, entières, notées mis _index( j) (avec 7=0,...,17), obtenues par simple quantification scalaire :
mis _ index(j) = round ( 2• log_ rms(j)) où la notation « round » désigne l'arrondi à l'entier le plus proche, et avec la contrainte :
- I I < mis _ index(j)≤ +20
Cette valeur quantifiée mis _index(j) est transmise au bloc d'allocation de bits 306.
Le codage de l'enveloppe spectrale, lui-même, est effectué encore par le bloc 305, séparément pour la bande basse ( mis _index(j) , avec 7=0,..., 9) et pour la bande haute ( mis _index(j) , avec 7=10,... ,17). Dans chaque bande, deux types de codage peuvent être choisis selon un critère donné, et, plus précisément, les valeurs mis _index(j) :
peuvent être codées par codage dit « de Huffman différentiel »,
ou peuvent être codées par codage binaire naturel.
Un bit (0 ou 1) est transmis au décodeur pour indiquer le mode de codage qui a été choisi.
Le nombre de bits alloués à chaque sous-bande pour sa quantification est déterminé au bloc 306 à partir de l'enveloppe spectrale quantifiée issue du bloc 305.
L'allocation des bits effectuée minimise l'erreur quadratique tout en respectant la contrainte d'un nombre de bits entier alloué par sous-bande et d'un nombre de bits maximum à ne pas dépasser. Le contenu spectral des sous-bandes est ensuite codé par quantification vectorielle sphérique (bloc 307).
Les différents flux binaires générés par les blocs 305 et 307 sont ensuite multiplexes et structurés en un train binaire hiérarchique au bloc de multiplexage 308.
* Rappel sur le décodeur par transformée dans le décodeur G.729.1
L'étape de décodage par transformée de type TDAC dans le décodeur G.729.1 est illustrée sur la figure 4.
De façon symétrique à l'encodeur (figure 3), l'enveloppe spectrale décodée
(bloc 401) permet de retrouver l'allocation des bits (bloc 402). Le décodage d'enveloppe (bloc 401) reconstruit les valeurs quantifiées de l'enveloppe spectrale
( mis _index(j) , pour j=0,...,17), à partir du train binaire généré par le bloc 305 (multiplexe) et en déduit l'enveloppe décodée :
rms _ q(j) = 2'A ms-'ndeUj)
Le contenu spectral de chacune des sous-bandes est retrouvé par quantification vectorielle sphérique inverse (bloc 403). Les sous-bandes non transmises, faute de « budget » de bits suffisant, sont extrapolées (bloc 404) à partir de la transformée MDCT du signal en sortie du bloc d'extension de bande (bloc 202 de la figure 2).
Après mise à niveau de ce spectre (bloc 405) en fonction de l'enveloppe spectrale et post-traitement (bloc 406), le spectre MDCT est séparé en deux (bloc 407) :
avec 160 premiers coefficients correspondant au spectre D^ du signal de différence décodé en bande basse, filtré perceptuellement, et 160 coefficients suivants correspondant au spectre SHB du signal original décodé en bande haute.
Ces deux spectres sont transformés en des signaux temporels par transformée MDCT inverse, notée IMDCT (blocs 408 et 410), et la pondération perceptuelle inverse (filtre noté W18 (Z)'1 ) est appliquée au signal dL w B (bloc 409) résultant de la transformée inverse.
On décrit plus particulièrement ci-après l'allocation de bits aux sous-bandes (bloc 306 de la figure 3 ou bloc 402 de la figure 4).
Les blocs 306 et 402 réalisent une opération identique à partir des valeurs mis _index(j) ,7=0,..., 17. On se contente donc par la suite de décrire uniquement le fonctionnement du bloc 306.
Le but de l'allocation binaire est de répartir entre chacune des sous-bandes un certain budget de bits (variable) noté nbits _ VQ , avec :
nbits _VQ = 351 - nbits _ mis , où nbits _ mis est le nombre de bits utilisés par le codage de l'enveloppe spectrale.
Le résultat de l'allocation est le nombre entier de bits, noté nbit(j) (avec=0,... ,17), alloués à chacune des sous-bande avec comme contrainte globale :
17
∑nbiti j)≤ nbits _VQ
y=o
Dans la norme G.729.1, les valeurs nbit(j) (/=0,...,17), sont de plus contraintes par le fait que nbit(j) doit être choisi parmi un jeu de valeurs réduit spécifié au tableau 2 ci-après.
Tableau 2 : Valeurs possibles de nombre de bits alloués dans les sous-bandes TDAC.
L'allocation dans la norme G.729.1 repose sur une "importance perceptuelle" par sous-bande liée à l'énergie de la sous-bande, notée ip(j) (/=0..17), définie comme suit :
ψ(j) - -Iog2(rms _q(jf xnb _coef(j))+ offset
où offset = -2.
Puisque les valeurs rms _q(j) = 2'A r'm-mJex(J) ^ ce^e formule se simplifie sous la forme : rms _ index( j) pour j = 0, ... , 16
ip(j) =
(rms _ index( j)— l) pour j = 17
A partir de l'importance perceptuelle de chaque sous-bande, l'allocation nbit(j) est calculée comme suit :
nbit(j) = arg min nb _coef(j) x(ip(j) - λ )- r où λ est un paramètre optimisé par dichotomie pour satisfaire la contrainte globale 17
∑nbit(j)≤nbits _VQ
J=O
en s'approchant au mieux du seuil nbits_VQ.
On décrit plus en détail maintenant l'incidence de la pondération perceptuelle (filtrage du bloc 300) sur l'allocation de bits (bloc 306) du codeur par transformée TDAC.
Dans la norme G.729.1, le codage TDAC utilise le filtre W/B (z) de pondération perceptuelle dans la bande basse (bloc 300), comme indiqué ci-avant. En substance, le filtrage de pondération perceptuelle permet de mettre en forme le bruit de codage. Le principe de ce filtrage est d'exploiter le fait qu'il est possible d'injecter plus de bruit dans les zones de fréquences où le signal original a une forte énergie.
Les filtres de pondération perceptuelle les plus couramment utilisés en codage CELP en bande étroite sont de la forme Â(z/γl)/Â(z/γ2) où 0 < γ2 < γl < 1 et Â(z) représente un spectre de prédiction linéaire (LPC). L'analyse par synthèse en codage CELP revient ainsi à minimiser l'erreur quadratique dans un domaine de signal pondéré perceptuellement par ce type de filtre.
Cependant, pour assurer la continuité spectrale lorsque les spectres D"B et Sιm sont accolés (bloc 303 de la figure 3), le filtre WLB (z) est défini sous la forme : )
avec γ, Le facteur fac permet d'assurer à la jonction des bandes basse et haute (4 kHz) un gain du filtre à 1 à 4 kHz. Il est important de noter que, dans le codage TDAC selon la norme G.729.1, le codage ne repose que sur un critère énergétique. * Inconvénients de l'art antérieur
Le critère énergétique du codage TDAC de G.729.1, utilisé dans la bande haute (4000-7000 Hz), n'est pas optimal d'un point de vue perceptuel, notamment pour coder des signaux musicaux.
Le filtre de pondération perceptuel est particulièrement adapté aux signaux de parole. Il est largement utilisé dans les normes de codage de la parole basé sur le format de codage de type CELP. Cependant, pour les signaux musicaux, il apparaît que cette pondération perceptuelle basée sur une mise en forme du bruit de quantification suivant les formants du signal d'entrée est insuffisante. La plupart des codeurs audio s'appuient sur un codage par transformée utilisant des modèles de masquage fréquentiel, ou masquage simultané; ils sont plus génériques (dans le sens où ils n'utilisent pas un modèle de production de la parole à l'instar du CELP) et sont donc plus adaptés pour coder les signaux musicaux.
On pourra se référer au document intitulé "Introduction to digital audio coding and standards", de M. Bosi et R. Goldberg, publié par Kluver Académie Publishers, en 2003, pour avoir plus de détails sur les modèles de masquage et leur application dans les codeurs par transformée.
Il existe donc un besoin d'améliorer la qualité de codage des signaux pour un meilleur rendu perceptuel, tout en gardant l'interopérabilité avec le codage G.729.1.
La présente invention vient améliorer la situation.
Elle propose à cet effet, un procédé de codage hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codage cœur du signal d'entrée selon un premier débit et au moins un codage d'amélioration de débit supérieur d'un signal résiduel, le codage cœur utilisant une allocation binaire selon un critère énergétique. Le procédé est tel qu'il comporte les étapes suivantes pour le codage d'amélioration:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codage d'amélioration;
- détermination d'une importance perceptuelle par sous bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage cœur;
- allocation binaire de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-codage du signal résiduel selon l'allocation de bits.
Ainsi, le codage selon l'invention profite d'une couche de codage d'amélioration pour améliorer la qualité de codage d'un point de vue perceptuel. La couche d'amélioration va ainsi bénéficier d'un masquage fréquentiel qui n'existe pas dans l'étage de codage cœur, pour allouer au mieux les bits dans les bandes fréquentielles du codage d'amélioration.
Cette opération ne modifie pas le codage cœur qui reste ainsi compatible avec le codage normalisé existant, garantissant ainsi l'interopérabilité avec les équipements déjà sur le marché qui utilisent le codage normalisé existant.
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é de codage défini ci-dessus.
Dans un mode de réalisation particulier, l'étape de détermination d'une importance perceptuelle comporte: - une première étape de définition d'une première importance perceptuelle pour au moins une sous bande de fréquence du codage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du codage de l'enveloppe spectrale pour la sous bande de fréquence et d'un facteur de normalisation déterminé;
-une deuxième étape de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le codage cœur et le nombre de coefficients dans ladite sous-bande.
Ainsi, la première importance perceptuelle qui sera utilisé pour la couche d'amélioration, ne prend pas en compte le codage cœur mais uniquement le rapport signal à masque pour définir une importance perceptuelle. Cette importance perceptuelle est déterminée sur le signal d'entrée du codeur par transformée.
La prise en compte du codage cœur se fait simplement par soustraction du nombre de bits moyen par échantillon déjà alloués. L'utilisation de l'importance perceptuelle basée sur le rapport signal à masque permettrait d'obtenir une allocation optimale au sens perceptuel. Cependant cette allocation serait utile si l'on codait directement le signal d'entrée de la couche de codage par transformée. Hors, dans le cadre de l'invention, une première couche de codage par transformée, basée sur une allocation énergétique a alloué un certain nombre de bits par sous-bande.
Si l'on veut améliorer la qualité en codant le signal résiduel de cette couche du codeur cœur sans gaspiller de débit, il est nécessaire d'adapter l'importance perceptuelle basée sur le rapport signal à masque du signal d'entrée au signal résiduel. Pour cela, on soustrait de la première importance perceptuelle une valeur représentative du nombre de bits alloués dans le codeur cœur. Il faut noter que l'on ne peut pas calculer l'importance perceptuelle basée sur le rapport signal à masque d'un signal résiduel. En effet, dans ce cas la courbe de masquage qui serait calculée n'aurait pas réellement de sens perceptif, puisqu'elle ne se baserait pas sur le signal réellement perçu.
Dans une variante de réalisation, l'importance perceptuelle est déterminée en outre en fonction de bits alloués pour un codage d'amélioration du codage cœur, précédent, ayant une allocation binaire selon un critère énergétique.
Dans le décodeur G.729.1 les sous-bandes non transmises, faute de budget de bits suffisant, sont extrapolées (bloc 404) à partir de la transformée MDCT du signal en sortie du bloc d'extension de bande (bloc 202 de la figure 2). Même au plus haut débit du codage G.729.1 (32 kbit/s) certaines bandes de fréquence restent ainsi extrapolées. Avant d'appliquer le codage d'amélioration selon la présente invention on peut d'abord faire appel à un premier codage d'amélioration du codage cœur pour combler le manque de débit du codage cœur pour ces sous-bandes non transmises. Ce premier codage d'amélioration utilise le signal original et fonctionne selon des critères énergétiques pour l'allocation de bits. Selon un mode de réalisation de l'invention ce premier codage d'amélioration vient modifier le nombre de bits nbiî(j) alloués aux sous-bandes et la sous-bande décodée Yq(k) (définie plus tard à la figure 5).
Le codage d'amélioration selon l'invention prend donc également en compte les bits alloués lors de ce premier codage d'amélioration, en plus des bits alloués dans le codage cœur.
Avantageusement, le seuil de masquage est déterminé pour une sous-bande, par une convoi ution entre:
- une expression d'une enveloppe spectrale calculée, et
- une fonction d'étalement faisant intervenir une fréquence centrale de ladite sous-bande. Dans une variante de réalisation, le procédé comporte une étape d'obtention d'une information selon laquelle le signal à coder est tonal ou non tonal et les étapes de calcul du seuil de masquage et de détermination d'une importance perceptuelle en fonction de ce seuil de masquage, ne sont menées que si le signal est non tonal.
Ainsi, le codage est adapté au signal qu'il soit tonal ou pas et permet une allocation optimale des bits.
Dans une application particulièrement adaptée de l'invention, le codage d'amélioration est un codage d'amélioration de type TDAC dans un codeur étendu dont le codage cœur est de type codeur normalisé G.729.1.
Ainsi, la qualité du codée G.729.1 dans la bande élargie (50-7000 Hz), est améliorée. Une telle amélioration est importante pour étendre la bande du codeur G.729.1 de la bande élargie (50-7000Hz) à la bande super-élargie (50-14000Hz).
La présente invention se rapporte à également un procédé de décodage hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodage cœur d'un signal reçu selon un premier débit et au moins un décodage d'amélioration de débit supérieur, d'un signal résiduel, le décodage cœur utilisant une allocation binaire selon un critère énergétique. Le procédé est tel qu'il comporte les étapes suivantes pour le décodage d'amélioration:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous-bandes de fréquences traitées par le décodage d'amélioration;
- détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodage cœur;
- allocation de bits dans les sous-bandes fréquentielles traitées par le décodage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-décodage du signal résiduel selon l'allocation de bits. De la même façon et avec les mêmes avantages que pour le codage l'étape de détermination d'une importance perceptuelle comporte:
- une première étape de définition d'une première importance perceptuelle pour au moins une sous- bande de fréquence du décodage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du décodage de l'enveloppe spectrale pour la sous-bande de fréquence et d'un facteur de normalisation déterminé;
-une deuxième étape de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le décodage cœur et le nombre de coefficients dans ladite sous-bande.
L'invention se rapporte à un codeur hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codeur cœur du signal d'entrée selon un premier débit et au moins un codeur d'amélioration de débit supérieur, d'un signal résiduel, le codeur cœur utilisant une allocation binaire selon un critère énergétique. Le codeur d'amélioration comporte:
- un module de calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codeur d'amélioration;
- un module de détermination d'une importance perceptuelle par sous bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codeur cœur;
- un module d'allocation binaire de bits dans les sous-bandes fréquentielles traitées par le codeur d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-un module de codage du signal résiduel selon l'allocation de bits.
Elle se rapporte également à un décodeur hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodeur cœur d'un signal reçu selon un premier débit et au moins un décodeur d'amélioration de débit supérieur, d'un signal résiduel, le décodeur cœur utilisant une allocation binaire selon un critère énergétique. Le décodeur d'amélioration comporte:
- un module de calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous-bandes de fréquences traitées par le décodeur d'amélioration;
- un module de détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodeur cœur;
- un module d'allocation de bits dans les sous-bandes fréquentielles traitées par le décodeur d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-un module de décodage du signal résiduel selon l'allocation de bits.
Enfin, l'invention se rapporte à un programme informatique comportant des instructions de code pour la mise en œuvre des étapes d'un procédé de codage selon l'invention, lorsqu'elles sont exécutées par un processeur et à un programme informatique comportant des instructions de code pour la mise en œuvre des étapes d'un procédé de décodage selon l'invention, lorsqu'elles sont exécutées par un processeur.
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels:
- la figure 1 illustre la structure d'un codeur de type G.729.1 décrit précédemment;
- la figure 2 illustre la structure d'un décodeur de type G.729.1 décrit précédemment; - la figure 3 illustre la structure d'un codeur TDAC inclus dans le codeur de type G.729.1 et décrit précédemment:
- la figure 4 illustre la structure d'un décodeur TDAC inclus dans un décodeur de type G.729.1 et tel que décrit précédemment;
- la figure 5 illustre la structure d'un codeur TDAC comportant un codage d'amélioration selon un mode de réalisation de l'invention;
- la figure 6 illustre la structure d'un décodeur TDAC comportant un décodage d'amélioration selon un mode de réalisation de l'invention;
- la figure 7 illustre une fonction d'étalement avantageuse pour le masquage au sens de l'invention;
- la figure 8 illustre une normalisation de la courbe de masquage, dans une forme de réalisation de l'invention;
- la figure 9 illustre la structure d'un codeur G.729.1 étendu en bande de fréquence dans lequel un codeur TDAC selon un mode de réalisation de l'invention, est inclus;
- la figure 10 illustre la structure d'un décodeur G.729.1 étendu en bande de fréquence dans lequel un décodeur TDAC selon un mode de réalisation de l'invention, est inclus;
- la figure l ia illustre un exemple de réalisation matérielle d'un terminal incluant un codeur selon un mode de réalisation de l'invention; et
- la figure 11b illustre un exemple de réalisation matérielle d'un terminal incluant un décodeur selon un mode de réalisation de l'invention.
Un des objets de l'invention est l'amélioration de la qualité de G.729.1 en bande élargie (50-7000 Hz), notamment pour les signaux musicaux. On rappelle ici que le codage G.729.1 a une bande utile de 50 à 7000 Hz. De plus la qualité de G.729.1 pour certains signaux tels que les signaux musicaux n'est pas transparente à son plus haut débit (32 kbit/s) - cette limitation est due à la structure hiérarchique CELP+TDBWE+TDAC et au débit limité à 32 kbit/s.
Cette invention est motivée par la normalisation en cours à l' UIT-T d'une extension scalable de G.729.1 visant en particulier à étendre la bande codée par
G.729.1 à la bande super-élargie (50-14000 Hz). L'expérience montre que l'extension de bande (ex: 7000-14000 Hz) d'un signal à bande limitée (ex: 50-7000 Hz) requiert d'avoir un signal à bande limitée qui soit déjà de bonne qualité; en effet l'extension de bande fait ressortir les défauts existants dans ce signal. Ainsi, il existe un besoin d'amélioration de la qualité de G.729.1 en bande élargie (50-7000 Hz).
L'amélioration de la qualité de G.729.1 peut être réalisée avec une ou plusieurs couches d'amélioration de débit supplémentaire (en plus de 32 kbit/s). En pratique ces couches d'amélioration de débit supplémentaire peuvent servir à la fois à l'extension de bande (7000-14000 Hz) et à l'amélioration de qualité dans la bande élargie (50-7000 Hz). Ainsi une partie du débit supplémentaire des couches d'amélioration peut être consacrée à l'amélioration du signal en bande élargie décodé par un décodeur G.729.1.
A noter qu'on peut distinguer deux cœurs dans le codage hiérarchique considéré dans le présent document: G.729.1 a un codeur cœur CELP en bande étroite, tandis que l'extension en bande super-élargie (50-14000Hz) de G.729.1 a pour cœur G.729.1.
Dans la suite par les termes codage cœur et débit cœur on entend un codage de type G.729.1 et le débit associé de 32 kbit/s.
Dans un mode de réalisation de l'invention, on s'intéresse plus particulièrement à un codeur et un décodeur TDAC tel que décrit précédemment, dans lequel une couche d'amélioration est intégrée. La figure 5 décrit un tel codeur TDAC amélioré.
On considère une extension scalable de G.729.1 en plusieurs couches d'amélioration. Ici le codage cœur est un codage G.729.1, qui utilise un codage TDAC dans la bande [50-7000 Hz] à partir du débit de 14 kbit/s et jusqu'à 32 kbit/s. On suppose qu'entre 32 et 48 kbit/s deux couches d'amélioration de 8 kbit/s sont produites afin d'étendre la bande de 7000 à 14000 Hz et de remplacer les sous-bandes non transmises du codage TDAC de G.729.1. Ces couches d'amélioration de 8 kbit/s permettant d'aller de 32 à 48 kbit/s ne sont pas décrites ici.
L'invention porte sur deux couches d'amélioration de 8 kbit/s supplémentaires du codage TDAC dans la bande 50 à 7000 Hz et qui font passer le débit de 48 kbit/s à 56 et 64 kbit/s.
Le codeur appliquant la présente invention comporte des couches d'amélioration qui rajoute du débit au débit cœur de G.729.1 (32 kbits). Ces couches d'amélioration servent à la fois à améliorer la qualité dans la bande élargie (50-7000 Hz) et à étendre la bande supérieure de 7000 à 14000 Hz. Dans la suite on ignore l'extension de 7000 à 14000 Hz, car cette fonctionnalité n'influence pas la mise en œuvre de la présente invention. Pour des raisons de simplicité les modules correspondants à l'extension de bande de 7000 à 14000 Hz ne sont pas illustrés sur les figures 5 et 6.
On retrouve ici les mêmes blocs (blocs 500 à 507) que ceux utilisés dans la couche de base du G.729.1 (blocs 300 à 307) tel que décrit en référence à la figure 3.
Le codeur TDAC selon un mode de réalisation de l'invention comporte ici une couche d'amélioration (blocs 509 à 513) qui améliore la couche coeur (blocs 504 à 507).
A noter que le bloc 507 correspond ici à la quantification vectorielle sphérique (spherical vector quantizaύon ou SVQ) de G.729.1, qui peut comporter une modification telle que mentionnée précédemment. Ainsi, dans ce bloc 507, on fait appel à un premier codage d'amélioration du codage cœur G.729.1 pour combler le manque de débit pour les sous-bandes non transmises (où nbit(j) = 0). Cette modification utilise le signal original Y(k) et fonctionne selon des critères énergétiques pour l'allocation de bits. Le nombre de bits nbit(j) alloués aux sous- bandes et la sous-bande décodée Yq(k) sont alors modifiés.
Le bloc 506 effectue une allocation binaire basée sur des critères énergétiques telle que décrit en référence à la figure 3.
La couche cœur est donc codée et envoyée au module de multiplexage 508. Le signal cœur est également décodé localement dans le codeur par le bloc
510 qui effectue une déquantification sphérique et mise à l'échelle ; ce signal cœur est soustrait du signal original en 509, dans le domaine transformé, pour obtenir un signal résiduel err(k). Ce signal résiduel est ensuite codé à partir d'un débit de 48 kbit/s, dans le bloc 513.
Le bloc 511 calcule une courbe de masquage à partir de l'enveloppe spectrale codée rms _ q(j) obtenue par le bloc 505, où y=0,...,17 est le numéro de la sous- bande.
Le seuil de masquage M(j) de la sous-bande j est défini par la convolution de l'enveloppe d'énergie â2(j) = rms _ q(j)2 xnb _coef(j) , par une fonction d' étalement B(v) .
Dans un premier mode de réalisation, ce masquage n'est effectué que sur la bande haute du signal, avec :
M(J) = ]T σ2(/:) x 5(v7 -v, )
/(=10 où vk est la fréquence centrale de la sous-bande k en Bark,
le signe « x » désignant « multiplié par », avec la fonction d'étalement décrite ci-après.
En termes plus génériques, le seuil de masquage M(J), pour une sous-bande j, est donc défini par une convolution entre :
- une expression de l'enveloppe spectrale, et
- une fonction d'étalement faisant intervenir une fréquence centrale de la sous-bande j-
Une fonction d'étalement avantageuse est celle présentée à la figure 7. Il s'agit d'une fonction triangulaire dont la première pente est de +27dB/Bark et - lOdB/Bark pour la deuxième. Cette représentation de la fonction d'étalement permet le calcul itératif de la courbe de masquage suivant :
M- (IO) 7 = 10
M {j) = M+ (j) + M~ (j) + σ2 (j) j = l..,l6
M+ (Il) J = IV
MHj) = O-2 (J-I) - A2 (J) + M+ (J-I) - A2 (J) y = 11,..,17 M'U) = à2 (j + l) - Aι (j) + M~ (J + I) - A1 (J) 7 = 10,..,16 et
-10/
Δ2 (./) = 10"
A1 (J) = IO Έ 10(">-V>*<)
Les valeurs de A1(J) et Δ9 (j) peuvent être pré-calculées et stockées. La bande basse étant déjà filtrée perceptuellement par le module 500, l'application du seuil de masquage est dans ce mode de réalisation, limitée à la bande haute. De manière à assurer la continuité spectrale entre le spectre en bande basse et celui en bande haute pondéré par le seuil de masquage et pour éviter de biaiser l'allocation binaire, le seuil de masquage est normalisé par exemple par sa valeur sur la dernière sous-bande de la bande basse.
Une première étape de calcul d'importance perceptuelle est alors effectuée en prenant en compte le rapport signal-à-masque donné par :
L'importance perceptuelle est donc définie comme suit dans le bloc 511 : 0..9 10..17
où offset = -2 et normfac est un facteur de normalisation calculé suivant la relation : normfac = log2 JT σ2 (j) x B(V9 - Vj )
y =9
On note que l'importance perceptuelle ip(j) , j=0,...,9, est identique à celle définie dans la norme G.729.1. Par contre, la définition du terme ip(j) , j=lθ,...,l7, est changée.
L'importance perceptuelle définie ci-dessus s'écrit maintenant :
— mis _ index(j) pour 7 = 0, ...,9
ip(j) =
- [rms _ index(j) - log_ mask( j)] pour j = 10, ..., 17 où log_ mask(j) = log2 (M(J)) - normfac .
Une illustration de la normalisation du seuil de masquage est donnée en figure 8, montrant le raccord de la bande haute sur laquelle est appliquée le masquage (4-7 kHz) à la bande basse (0-4 kHz).
Dans une variante de ce mode de réalisation où la normalisation du seuil de masquage s'effectue par rapport à sa valeur sur la dernière sous-bande de la bande basse, la normalisation du seuil de masquage peut être plutôt réalisée à partir de la valeur du seuil de masquage dans la première sous-bande de la bande haute, comme suit : normfac = log2 ∑σ2α)x5(vl0 -vy)
y=10
Dans une autre variante encore, le seuil de masquage peut être calculé sur l'ensemble de la bande de fréquences, avec :
Le seuil de masquage est ensuite appliqué uniquement à la bande haute après normalisation du seuil de masquage par sa valeur sur la dernière sous-bande de la bande basse: normfac = log2 ∑σ2(j)x B(V9 -V1 )
J=O
ou encore par sa valeur sur la première sous-bande de la bande haute : normfac = log2 ∑σ2(j)x B(V10 - v;)
j=0
Bien entendu, ces relations donnant le facteur de normalisation normfac ou le seuil de masquage M(J) sont généralisables à un nombre de sous-bandes quelconque (différent, au total, de dix-huit) en bande haute (avec un nombre différent de huit), comme en bande basse (avec un nombre différent de dix).
A partir de ce calcul de masquage fréquentiel, une première importance perceptuelle ip(j), est envoyée au bloc 512 d'allocation binaire pour le codage d'amélioration.
Ce bloc 512 reçoit également les informations d'allocations de bits nbit(j) de la couche cœur du codage TDAC, G.729.1.
Le bloc 512 définit ainsi une nouvelle importance perceptuelle qui prend en compte ces deux informations.
Ainsi, une seconde importance perceptuelle est définie comme suit: ip' (Jl = (PU)- "blt(j2, ., Pourj=l, ..., 18
nb_coeff(j)
où nbit(j) représente le nombre de bits alloués par la couche de base à la bande de fréquence j, et nb_coeff(j) représente le nombre de coefficients de la bande j selon le tableau 1 décrit précédemment.
En d'autres termes, la nouvelle importance perceptuelle est calculée par soustraction à la première importance perceptuelle, d'un rapport entre le nombre de bits alloués pour le codage cœur et le nombre de coefficients possibles dans la sous- bande.
Avec cette nouvelle importance perceptuelle, le bloc 512 effectue une allocation de bits sur le signal résiduel pour coder la couche d'amélioration.
Cette allocation de bits est calculée comme suit:
nbit_err(j) = argreR t Àιψl) - r où l'optimisation doit satisfaire la contrainte
17
^ nbit _ err( j)≤ nbits _ VQ _ err
j=0 nbits _VQ_err correspondant au nombre de bits supplémentaire dans la couche d'amélioration (320 bits pour les 2 couches de 8 kbit/s).
Elle prend donc en compte la nouvelle importance perceptuelle calculée.
Le signal résiduel err(k) est ensuite codé par le module 513 par quantification vectorielle sphérique, en utilisant le nombre de bits alloués nbit_err(j) tel que calculé précédemment.
Ce signal résiduel codé est ensuite multiplexe avec le signal issu du codage cœur et l'enveloppe codée, par le module de multiplexage 508.
Ce codage d'amélioration, étend non seulement le débit alloué mais améliore d'un point de vue perceptuel, le codage du signal.
On rappelle que la couche d'amélioration du codage TDAC tel que décrit peut s'appliquer après avoir modifié le codage TDAC de G.729.1. Dans les couches d'amélioration de 32 à 48 kbit/s, une première amélioration (non décrite ici) du codage TDAC de G.729.1 est réalisée. Cette amélioration alloue des bits aux sous- bandes comprises entre 4 et 7 kHz auxquelles aucun débit n'a été alloué par le codage cœur TDAC de G.729.1 même à son plus haut débit de 32 kbit/s. Cette première amélioration du codage TDAC de G.729.1 utilise donc le signal original entre 4 et 7 kHz et ne met pas en œuvre les étapes de calcul d'un seuil de masquage ni de détermination de l'importance perceptuelle du procédé de codage de l'invention. On considère que le bloc 507 correspond à ce codage TDAC modifié intégrant cette amélioration.
Ainsi, dans la couche d'amélioration du procédé de codage de l'invention, aux débits allant de 48 kbit/s à 64 kbit/s, la détermination de l'importance perceptuelle
(blocs 511, 512) prend non seulement en compte les bits alloués pour le codage cœur ou de base mais également les bits alloués pour le codage d'amélioration précédent, en l'occurrence, le codage d'amélioration de débit 40 kbit/s. La figure 5 illustre non seulement le codeur TDAC avec son étage de codage d'amélioration mais sert également à une illustration des étapes du procédé de codage selon un mode de réalisation de l'invention tel que décrit précédemment et notamment des étapes de:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codage d'amélioration;
- détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage cœur;
- allocation binaire de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
- codage du signal résiduel selon l'allocation de bits.
La figure 6 illustre le décodeur TDAC avec un étage de décodage d'amélioration ainsi que les étapes d'un procédé de décodage selon un mode de réalisation de l'invention.
Le décodeur comporte les modules (601, 602, 603, 606, 607, 608, 609 et 610) identiques à ceux décrits pour le décodage TDAC du codeur G.729.1 en référence à la figure 4 (401, 402, 403, 406, 407, 408, 409 et 410). A noter que le bloc 606 de postraitement dans le domaine MDCT (visant à mettre en forme le bruit de codage) est ici optionnel car l'invention vient améliorer la qualité du spectre MDCT décodé issu du bloc 603.
Le module 605 du décodeur correspond au module 511 du codeur et fonctionne de la même façon à partir des valeurs quantifiées de l'enveloppe spectrale.
A partir de la première importance perceptuelle ip(j) calculée par ce module 605, le module d'allocation 604, détermine une seconde importance perceptuelle en prenant en compte l'allocation de bits reçus du codage cœur, de la même façon que dans le module 512 du codage.
Cette allocation de bits pour le codage d'amélioration permet au module 611 de décoder le signal reçu du module de démultiplexage 600, par déquantification vectorielle sphérique.
Le signal décodé issu du module 611 est un signal d'erreur err(k) qui est ensuite combiné en 612, au signal cœur décodé en 603.
Ce signal est ensuite traité comme pour le codage G.729.1 décrit en référence à la figure 4, pour donné un signal en différence dLg en bande basse et un signal SHB en bande haute.
On indique aussi que le calcul d'un masquage fréquentiel effectué par le module 511 ou 605 et tel que décrit précédemment, peut être effectué ou non selon le signal à coder (en particulier s'il est tonal ou non).
Il a pu être observé en effet que le calcul du seuil de masquage est particulièrement avantageux lorsque le signal à coder n'est pas tonal.
Si le signal est tonal, l'application de la fonction d'étalement B(v) résulte en un seuil de masquage très proche d'un ton un peu plus étalé en fréquences. Le critère de minimisation du rapport bruit de codage à masque donne alors une allocation des bits qui n'est pas obligatoirement optimale.
On peut donc pour améliorer cette allocation, utiliser une allocation des bits suivant des critères énergétiques pour un signal tonal.
Ainsi, dans une variante de réalisation, le calcul du seuil de masquage et la détermination de l'importance perceptuelle en fonction de ce seuil de masquage selon l'invention n'est appliqué que si le signal à coder n'est pas tonal.
En termes génériques, on obtient donc une information (du bloc 505) selon laquelle le signal à coder est tonal ou non tonal, et la pondération perceptuelle de la bande haute, avec la détermination du seuil de masquage et la normalisation, ne sont menées que si le signal est non tonal.
Avec un codage cœur de type G.729.1, le bit relatif au mode du codage de l'enveloppe spectrale (bloc 505 ou 601) indique un mode "Huffman différentiel" ou un mode "binaire naturel direct". Ce bit de mode peut être interprété comme une détection de tonalité, car, en général, un signal tonal conduit à un codage d'enveloppe par le mode "binaire naturel direct", tandis que la plupart des signaux non tonaux, ayant une dynamique spectrale plus limitée, conduisent à un codage d'enveloppe par le mode "Huffman différentiel".
Ainsi, il peut être tiré un avantage de la « détection de tonalité du signal » pour mettre en œuvre le masquage fréquentiel ou non. Plus particulièrement, ce calcul de seuil de masquage est appliquée dans le cas où l'enveloppe spectrale a été codée en mode "Huffman différentiel" et la première importance perceptuelle est définie alors au sens de l'invention, comme suit :
Par contre, si l'enveloppe a été codée en mode "binaire naturel direct", la première importance perceptuelle reste telle que définie dans la norme G.729.1 :
0,...,l6
17
On décrit maintenant une application possible de l'invention à une extension de l'encodeur G.729.1, en particulier en bande super-élargie.
En référence à la figure 9, un tel codeur est illustré. L'extension en bande super-élargie du codeur G.729.1 tel que représenté consiste en une extension des fréquences codées par le module 915, la bande de fréquence utilisée passant de
[50Hz-7KHz] à [50Hz-14kHz] et en une amélioration de la couche de base du
G.729.1 par le module de codage TDAC (bloc 910) et tel que décrit en référence à la figure 5.
Ainsi, le codeur tel que représenté en figure 9, comporte les mêmes modules que le codage cœur G.729.1 représenté en figure 1 et un module supplémentaire d'extension de bande 915 qui fournit un signal d'extension au module de multiplexage 912.
Cette extension de bande de fréquence est calculée sur le signal original pleine bande SSWB alors que le signal d'entrée du codeur cœur est obtenu par décimation (bloc 913) et filtrage passe-bas (bloc 914). A la sortie de ces blocs, le signal d'entrée en bande élargie SWB est obtenu.
Le module 910 de codage TDAC est différent de celui illustré en figure 1. Ce module est par exemple celui décrit en référence à la figure 5 et fournit au module de multiplexage, à la fois le signal cœur codé et le signal d'amélioration codé selon l'invention.
De la même façon, un décodeur G.729.1 étendu en bande super-élargie est décrit en référence à la figure 10. Il comporte les mêmes modules que le décodeur
G.729.1 décrit en référence à la figure 2.
II comporte cependant un module supplémentaire d'extension de bande 1014 qui reçoit du module de démultiplexage 1000, le signal d'extension de bande. Il comporte également le banc de filtres de synthèse (blocs 1015, 1016) permettant d'obtenir le signal de sortie en bande super-élargie Sswh .
Le module 1003 de décodage TDAC est également différent du module de décodage TDAC illustré en référence à la figure 2. Ce module est par exemple celui décrit et illustré en référence à la figure 6. Il reçoit donc du module de démultiplexage, à la fois le signal cœur et le signal d'amélioration.
Dans le mode de réalisation privilégié présenté précédemment, l'invention est utilisée pour améliorer la qualité du codage TDAC dans le codée G.729.1. Naturellement l'invention s'applique à d'autres types de codage par transformée avec une allocation binaire et à l'extension scalable d'autres codées cœur que G.729.1.
Un exemple de réalisation matérielle du codeur et du décodeur tel que décrit en référence aux figures 5 et 6 est maintenant décrit en référence aux figures 11 a et 11b.
Ainsi, la figure lia illustre un codeur ou terminal comprenant un codeur tel que décrit en figure 5. Il comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM.
Ce terminal comporte un module d'entrée apte à recevoir un signal en bande basse dLB et un signal SHB en bande haute ou tout type de signaux numériques à coder. Ces signaux peuvent provenir d'un autre étage de codage ou d'un réseau de communication, d'une mémoire de stockage de contenu numérique.
Le bloc mémoire BM peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes de:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous- bandes de fréquences traitées par le codage d'amélioration; - détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage cœur;
- allocation de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
- codage du signal résiduel selon l'allocation de bits.
Typiquement, la description de la figure 5 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du terminal ou codeur ou téléchargeable dans l'espace mémoire de celui-ci.
Le terminal comporte un module de sortie apte à transmettre un flux multiplexe issu du codage des signaux d'entrée.
De la même façon, la figure 11b illustre un exemple de décodeur ou de terminal comportant un décodeur tel que décrit en référence à la figure 6.
Ce terminal comporte un processeur PROC coopérant avec un bloc mémoire
BM comportant une mémoire de stockage et/ou de travail MEM.
Le terminal comporte un module d'entrée apte à recevoir un flux multiplexe provenant par exemple d'un réseau de communication, d'un module de stockage.
Le bloc mémoire peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de décodage au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes de:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous-bandes de fréquences traitées par le décodage d'amélioration; - détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodage cœur;
- allocation de bits dans les sous-bandes fréquentielles traitées par le décodage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-décodage du signal résiduel selon l'allocation de bits.
Typiquement, la description de la figure 6 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du terminal ou téléchargeable dans l'espace mémoire de celui-ci.
Le terminal comporte un module de sortie apte à transmettre des signaux décodés {dtB, SHB) pour un autre étage de codage ou pour une restitution de contenu.
Bien évidemment, un tel terminal peut comporter à la fois le codeur et le décodeur selon l'invention.

Claims

REVENDICATIONS
1. Procédé de codage hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codage cœur du signal d'entrée selon un premier débit et au moins un codage d'amélioration de débit supérieur d'un signal résiduel, le codage cœur utilisant une allocation binaire (506) selon un critère énergétique, caractérisé en ce qu'il comporte les étapes suivantes pour le codage d'amélioration:
- calcul d'un seuil de masquage fréquentiel (511) pour au moins une partie des bandes de fréquences traitées par le codage d'amélioration;
- détermination (511,512) d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage cœur;
- allocation binaire (512) de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-codage du signal résiduel (513) selon l'allocation de bits.
2. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination d'une importance perceptuelle comporte:
- une première étape (511) de définition d'une première importance perceptuelle pour au moins une sous bande de fréquence du codage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du codage de l'enveloppe spectrale pour la sous bande de fréquence et d'un facteur de normalisation déterminé; -une deuxième étape (512) de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le codage cœur et le nombre de coefficients dans ladite sous-bande.
3. Procédé selon la revendication 1, caractérisé en ce que l'importance perceptuelle est déterminée en outre en fonction de bits alloués pour un codage d'amélioration du codage cœur, précédent, ayant une allocation binaire selon un critère énergétique.
4. Procédé selon la revendication 1, caractérisé en ce que le seuil de masquage est déterminé pour une sous-bande, par une convolution entre:
- une expression d'une enveloppe spectrale calculée, et
- une fonction d'étalement faisant intervenir une fréquence centrale de ladite sous-bande.
5. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape d'obtention d'une information selon laquelle le signal à coder est tonal ou non tonal et que les étapes de calcul du seuil de masquage et de détermination d'une importance perceptuelle en fonction de ce seuil de masquage, ne sont menées que si le signal est non tonal.
6. Procédé selon la revendication 1, caractérisé en ce que le codage d'amélioration est un codage d'amélioration de type TDAC dans un codeur étendu dont le codage cœur est de type codeur normalisé G.729.1.
7. Procédé de décodage hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodage cœur d'un signal reçu selon un premier débit et au moins un décodage d'amélioration de débit supérieur, d'un signal résiduel, le décodage cœur utilisant une allocation binaire selon un critère énergétique, caractérisé en ce qu'il comporte les étapes suivantes pour le décodage d'amélioration:
- calcul d'un seuil de masquage fréquentiel (605) pour au moins une partie des sous-bandes de fréquences traitées par le décodage d'amélioration;
- détermination (604) d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodage cœur;
- allocation de bits (604, 605) dans les sous-bandes fréquentielles traitées par le décodage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-décodage (611) du signal résiduel selon l'allocation de bits.
8. Procédé de décodage selon la revendication 7, caractérisé en ce que l'étape de détermination d'une importance perceptuelle comporte:
- une première étape (605) de définition d'une première importance perceptuelle pour au moins une sous- bande de fréquence du décodage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du décodage de l'enveloppe spectrale pour la sous-bande de fréquence et d'un facteur de normalisation déterminé;
-une deuxième étape (604) de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le décodage cœur et le nombre de coefficients possibles dans ladite sous-bande.
9. Codeur hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codeur cœur du signal d'entrée selon un premier débit et au moins un codeur d'amélioration de débit supérieur d'un signal résiduel, le codeur cœur utilisant une allocation binaire (506) selon un critère énergétique, caractérisé en ce que le codeur d'amélioration comporte:
- un module (511) de calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codeur d'amélioration;
- un module de détermination (512) d'une importance perceptuelle par sous bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codeur cœur;
- un module d'allocation binaire (512) de bits dans les sous-bandes fréquentielles traitées par le codeur d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-un module de codage du signal résiduel (513) selon l'allocation de bits.
10. Décodeur hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodeur cœur d'un signal reçu selon un premier débit et au moins un décodeur d'amélioration de débit supérieur, d'un signal résiduel, le décodeur cœur utilisant une allocation binaire selon un critère énergétique, caractérisé en ce qu'il comporte le décodeur d'amélioration comporte:
- un module de calcul d'un seuil de masquage fréquentiel (605) pour au moins une partie des sous-bandes de fréquences traitées par le décodeur d'amélioration; - un module de détermination (604) d'une importance perceptuelle par sous- bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodeur cœur;
- un module d'allocation de bits (604) dans les sous-bandes fréquentielles traitées par le décodeur d'amélioration, en fonction de l'importance perceptuelle déterminée; et
-un module de décodage (611) du signal résiduel selon l'allocation de bits.
11. Programme informatique comportant des instructions de code pour la mise en œuvre des étapes d'un procédé de codage selon l'une des revendications 1 à
6, lorsqu'elles sont exécutées par un processeur.
12. Programme informatique comportant des instructions de code pour la mise en œuvre des étapes d'un procédé de décodage selon l'une des revendications 7 à 8, lorsqu'elles sont exécutées par un processeur.
EP10745327.6A 2009-07-07 2010-06-25 Codage/décodage perfectionne de signaux audionumériques Active EP2452336B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0954682A FR2947944A1 (fr) 2009-07-07 2009-07-07 Codage/decodage perfectionne de signaux audionumeriques
PCT/FR2010/051307 WO2011004097A1 (fr) 2009-07-07 2010-06-25 Codage/décodage perfectionne de signaux audionumériques

Publications (2)

Publication Number Publication Date
EP2452336A1 true EP2452336A1 (fr) 2012-05-16
EP2452336B1 EP2452336B1 (fr) 2013-11-27

Family

ID=41531514

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10745327.6A Active EP2452336B1 (fr) 2009-07-07 2010-06-25 Codage/décodage perfectionne de signaux audionumériques

Country Status (7)

Country Link
US (1) US8812327B2 (fr)
EP (1) EP2452336B1 (fr)
KR (1) KR101698371B1 (fr)
CN (1) CN102576536B (fr)
CA (1) CA2766864C (fr)
FR (1) FR2947944A1 (fr)
WO (1) WO2011004097A1 (fr)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130030796A1 (en) * 2010-01-14 2013-01-31 Panasonic Corporation Audio encoding apparatus and audio encoding method
FR3003682A1 (fr) * 2013-03-25 2014-09-26 France Telecom Mixage partiel optimise de flux audio codes selon un codage par sous-bandes
FR3003683A1 (fr) * 2013-03-25 2014-09-26 France Telecom Mixage optimise de flux audio codes selon un codage par sous-bandes
CN104282312B (zh) * 2013-07-01 2018-02-23 华为技术有限公司 信号编码和解码方法以及设备
CN107004417B (zh) * 2014-12-09 2021-05-07 杜比国际公司 Mdct域错误掩盖
JP6611042B2 (ja) * 2015-12-02 2019-11-27 パナソニックIpマネジメント株式会社 音声信号復号装置及び音声信号復号方法
KR102736785B1 (ko) * 2017-09-20 2024-12-03 보이세지 코포레이션 씨이엘피 코덱에 있어서 서브-프레임들간에 비트-예산을 할당하는 방법 및 디바이스
CN114708874A (zh) * 2018-05-31 2022-07-05 华为技术有限公司 立体声信号的编码方法和装置
EP3751567B1 (fr) * 2019-06-10 2022-01-26 Axis AB Procédé, programme informatique, codeur et dispositif de surveillance
CN111246469B (zh) * 2020-03-05 2020-10-16 北京花兰德科技咨询服务有限公司 人工智能保密通信系统及通信方法
CN111294367B (zh) * 2020-05-14 2020-09-01 腾讯科技(深圳)有限公司 音频信号后处理方法和装置、存储介质及电子设备
CN120748424B (zh) * 2025-08-21 2025-11-11 清华大学苏州汽车研究院(相城) 一种车内通话方法、装置、存储介质和电子终端

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495552A (en) * 1992-04-20 1996-02-27 Mitsubishi Denki Kabushiki Kaisha Methods of efficiently recording an audio signal in semiconductor memory
JPH07160297A (ja) * 1993-12-10 1995-06-23 Nec Corp 音声パラメータ符号化方式
DE19743662A1 (de) * 1997-10-02 1999-04-08 Bosch Gmbh Robert Verfahren und Vorrichtung zur Erzeugung eines bitratenskalierbaren Audio-Datenstroms
FI109393B (fi) * 2000-07-14 2002-07-15 Nokia Corp Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite
WO2003077235A1 (fr) * 2002-03-12 2003-09-18 Nokia Corporation Ameliorations de rendement dans le codage audio evolutif
DE10236694A1 (de) * 2002-08-09 2004-02-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren
FR2849727B1 (fr) * 2003-01-08 2005-03-18 France Telecom Procede de codage et de decodage audio a debit variable
DE602004004950T2 (de) * 2003-07-09 2007-10-31 Samsung Electronics Co., Ltd., Suwon Vorrichtung und Verfahren zum bitraten-skalierbaren Sprachkodieren und -dekodieren
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
US7392195B2 (en) * 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec
FR2888699A1 (fr) * 2005-07-13 2007-01-19 France Telecom Dispositif de codage/decodage hierachique
CN101263554B (zh) * 2005-07-22 2011-12-28 法国电信公司 在比特率分级和带宽分级的音频解码中的比特率切换方法
KR100827458B1 (ko) * 2006-07-21 2008-05-06 엘지전자 주식회사 오디오 부호화 방법
FR2912249A1 (fr) * 2007-02-02 2008-08-08 France Telecom Codage/decodage perfectionnes de signaux audionumeriques.
US8032359B2 (en) * 2007-02-14 2011-10-04 Mindspeed Technologies, Inc. Embedded silence and background noise compression
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
JP4708446B2 (ja) * 2007-03-02 2011-06-22 パナソニック株式会社 符号化装置、復号装置およびそれらの方法
WO2008114075A1 (fr) * 2007-03-16 2008-09-25 Nokia Corporation Codeur
US8209190B2 (en) * 2007-10-25 2012-06-26 Motorola Mobility, Inc. Method and apparatus for generating an enhancement layer within an audio coding system
US8452587B2 (en) * 2008-05-30 2013-05-28 Panasonic Corporation Encoder, decoder, and the methods therefor
US8200496B2 (en) * 2008-12-29 2012-06-12 Motorola Mobility, Inc. Audio signal decoder and method for producing a scaled reconstructed audio signal
US8219408B2 (en) * 2008-12-29 2012-07-10 Motorola Mobility, Inc. Audio signal decoder and method for producing a scaled reconstructed audio signal

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US8812327B2 (en) 2014-08-19
WO2011004097A1 (fr) 2011-01-13
US20120185255A1 (en) 2012-07-19
EP2452336B1 (fr) 2013-11-27
KR101698371B1 (ko) 2017-01-26
KR20120032025A (ko) 2012-04-04
CA2766864A1 (fr) 2011-01-13
CA2766864C (fr) 2015-10-27
FR2947944A1 (fr) 2011-01-14
CN102576536B (zh) 2013-09-04
CN102576536A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
EP2452336B1 (fr) Codage/décodage perfectionne de signaux audionumériques
EP2115741B1 (fr) Codage/decodage perfectionnes de signaux audionumeriques
EP2452337B1 (fr) Allocation de bits dans un codage/décodage d&#39;amélioration d&#39;un codage/décodage hiérarchique de signaux audionumériques
EP1989706B1 (fr) Dispositif de ponderation perceptuelle en codage/decodage audio
EP1905010B1 (fr) Codage/décodage audio hiérarchique
EP1907812B1 (fr) Procede de commutation de debit en decodage audio scalable en debit et largeur de bande
EP2366177B1 (fr) Codage de signal audionumerique avec mise en forme du bruit dans un codeur hierarchique
EP2239731B1 (fr) Dispositif de codage, dispositif de décodage et procédé pour ceux-ci
EP3288034B1 (fr) Dispositif de décodage et son procédé
EP1692689B1 (fr) Procede de codage multiple optimise
EP1581930B1 (fr) Procede de codage et de decodage audio a debit variable
EP2005424A2 (fr) Procede de post-traitement d&#39;un signal dans un decodeur audio
FR2737360A1 (fr) Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes

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

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 SE SI SK SM TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: KOVESI, BALAZS

Inventor name: RAGOT, STEPHANE

Inventor name: VIRETTE, DAVID

Inventor name: BERTHET, PIERRE

RIN1 Information on inventor provided before grant (corrected)

Inventor name: BERTHET, PIERRE

Inventor name: RAGOT, STEPHANE

Inventor name: KOVESI, BALAZS

Inventor name: VIRETTE, DAVID

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

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602010012084

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G10L0019020000

Ipc: G10L0019240000

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 19/24 20130101AFI20130515BHEP

Ipc: G10L 19/002 20130101ALI20130515BHEP

Ipc: G10L 19/02 20130101ALN20130515BHEP

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20130624

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

Owner name: ORANGE

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 SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 642997

Country of ref document: AT

Kind code of ref document: T

Effective date: 20131215

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602010012084

Country of ref document: DE

Effective date: 20140123

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20131127

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 642997

Country of ref document: AT

Kind code of ref document: T

Effective date: 20131127

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

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

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

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

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

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

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

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

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

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

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

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

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

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

Ref country code: PT

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

Effective date: 20140327

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

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

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602010012084

Country of ref document: DE

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

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

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

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

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

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

Ref country code: DK

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

Effective date: 20131127

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

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602010012084

Country of ref document: DE

Effective date: 20140828

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

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

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

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

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

Effective date: 20140625

Ref country code: LI

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

Effective date: 20140630

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

Ref country code: CH

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

Effective date: 20140630

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

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

Ref country code: SM

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

Effective date: 20131127

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 7

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

Ref country code: GR

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

Effective date: 20140228

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

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

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

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

Ref country code: BE

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

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 9

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

Ref country code: MK

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

Effective date: 20131127

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

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

Ref country code: DE

Payment date: 20250520

Year of fee payment: 16

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

Ref country code: GB

Payment date: 20250520

Year of fee payment: 16

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

Ref country code: FR

Payment date: 20250520

Year of fee payment: 16