EP2115741B1 - Codage/decodage perfectionnes de signaux audionumeriques - Google Patents

Codage/decodage perfectionnes de signaux audionumeriques Download PDF

Info

Publication number
EP2115741B1
EP2115741B1 EP08762010A EP08762010A EP2115741B1 EP 2115741 B1 EP2115741 B1 EP 2115741B1 EP 08762010 A EP08762010 A EP 08762010A EP 08762010 A EP08762010 A EP 08762010A EP 2115741 B1 EP2115741 B1 EP 2115741B1
Authority
EP
European Patent Office
Prior art keywords
subband
signal
band
coding
masking threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP08762010A
Other languages
German (de)
English (en)
Other versions
EP2115741A1 (fr
Inventor
Stéphane RAGOT
Cyril Guillaume
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 EP2115741A1 publication Critical patent/EP2115741A1/fr
Application granted granted Critical
Publication of EP2115741B1 publication Critical patent/EP2115741B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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 LTP long-term prediction parameters including the pitch period, represent the fundamental vibration of the speech signal (when it is voiced), while the LPC short-term prediction parameters represent the spectral envelope. of this signal.
  • all of these LPC and LTP parameters thus resulting from a speech coding, can be transmitted in blocks to a peer decoder, via one or more telecommunication networks, to then restore the initial speech signal.
  • the encoder In conventional speech coding, the encoder generates a fixed rate bit stream. This flow constraint simplifies the implementation and use of the encoder and the decoder. Examples of such systems are the ITU-T G.711 64 kbit / s standard coding, the 8 kbit / s ITU-T G.729 coding or the 12.2 kbit / s GSM-EFR coding.
  • variable rate bit stream In some applications (such as mobile telephony or VoIP for "Internet Protocol"), it is best to generate a variable rate bit stream. Flow values are taken in a predefined set. Such a coding technique, called “multi-rate” is therefore more flexible than a fixed rate coding technique.
  • 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.
  • Hierarchical audio coding (or " scalable ) can be described as follows.
  • the bit stream includes a base layer and one or more enhancement layers.
  • the base layer is generated by a low-bandwidth codec (fixed), called a "codec heart", guaranteeing the minimum coding quality.
  • 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 scalability and bandwidth encoding techniques with a CELP heart-coder, 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-coded core encoder producing a bandwidth ranging from narrowband (50-4000 Hz) to wideband (50-7000 Hz) at a rate of 8 to 32 kbit / s for conversational services. This codec is compatible with existing VoIP devices (most of which are equipped according to G.729). Finally, it should be noted that G.729.1 was approved in May 2006.
  • the G.729.1 coder is schematized on the figure 1 .
  • the broadband input signal s wb 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 high band (4000-8000 Hz) by HP high-pass filtering (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 LB , before CELP coding in narrow band (block 105) at 8 and 12 kbit / s.
  • This high-pass filtering takes into account that the Useful band is defined as covering the range 50-7000 Hz.
  • the narrow-band CELP coding is a cascaded CELP coding comprising as a first stage a modified G.729 coding without pre-processing filter 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 8000 Hz in the original signal) to obtain the signal S HB .
  • a 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 (for example of the TDAC type for "Time Domain Aliasing Cancellation" in the G.729.1) is carried out at block 110.
  • a predictive coding by transform for example of the TDAC type for "Time Domain Aliasing Cancellation" in the G.729.1
  • Additional parameters can be transmitted by the block 111 to a homologous decoder, this block 111 performing a so-called “FEC” treatment for "Frame Erasure Concealment", in order to reconstitute possible erased frames.
  • the different bitstreams 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 G.729.1 homologous decoder is illustrated on the figure 2 .
  • the bits describing each frame of 20 ms are demultiplexed in 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 broadband output signal ⁇ wb sampled at 16 kHz, is obtained via the QMF synthesis filter bank (blocks 209, 210, 211, 212 and 213) incorporating the inverse folding (block 208).
  • the TDAC type transform coding in the G.729.1 encoder is illustrated on the figure 3 .
  • 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_bound ( j + 1).
  • Table 1 TDAC Encoding Boundary Limits and Size J sb_bound ( j ) nb_coef ( j ) 0 0 16 1 16 16 2 32 16 3 48 16 4 64 16 5 80 16 6 96 16 7 112 16 8 128 16 9 144 16 10 160 16 11 176 16 12 192 16 13 208 16 14 224 16 15 240 16 16 256 16 17 272 8 18 280 -
  • the spectral envelope is coded at a variable rate in block 305.
  • This quantized value rms _index ( j ) is transmitted to the bit allocation block 306.
  • the number of bits allocated to each sub-band for its quantization is determined in block 306 from the quantized spectral envelope from block 305.
  • the allocation of the bits performed minimizes the squared error while respecting the constraint of a number of integer bits allocated per subband and a maximum number of bits 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 on the figure 4 .
  • the decoded spectral envelope (block 401) makes it possible to find the allocation of the bits (block 402).
  • each of the subbands is found by inverse spherical vector quantization (block 403).
  • the sub-bands not transmitted, 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. figure 2 ).
  • IMDCT inverse MDCT transform
  • W LB inverse perceptual weighting
  • the subbands bit allocation (block 306 of FIG. figure 3 or block 402 of the figure 4 ).
  • nbit ( j ) arg min r ⁇ R nb_coef j ⁇ nb_coef j ⁇ ip j - ⁇ Opt - r where ⁇ opt is a parameter optimized by dichotomy.
  • the TDAC coding uses the perceptual weighting W LB ( 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 ⁇ ⁇ 1 ⁇ 1 and ⁇ (z) represents a prediction spectrum linear (LPC).
  • LPC prediction spectrum linear
  • the fac factor makes it possible to ensure at the junction of the low and high bands (4 kHz) a gain of the filter at 1 to 4 kHz. It is important to note that in the G.729.1 TDAC coding, the coding is based on an energetic criterion only.
  • the joint coding of these two signals is carried out in the MDCT domain according to the criterion of the quadratic error.
  • the high band is coded according to energy criteria, which is suboptimal (in the "perceptual" sense of the term).
  • multi-band coding may be considered, a perceptual weighting filter being applied to the signal of at least one band in the time domain, and the set of subbands being coded together. by transform coding. If we want to apply the perceptual weighting in the frequency domain, then there is the problem of continuity and homogeneity of the spectra between subbands.
  • the present invention improves the situation.
  • the present invention therefore proposes to calculate a frequency perceptual weighting, using a masking threshold, on only a part of the frequency band (at least on the "second subband” mentioned above) and to ensure spectral continuity with at least another frequency band (at least the aforementioned "first sub-band”) by normalizing the masking threshold on the spectrum covering these two frequency bands.
  • the allocation of the bits for the second sub-band at least is determined furthermore according to a standardized masking curve calculation, applied at least to the second sub-band.
  • the application of the invention makes it possible to transmit the bits to the sub-bands that require the most bits according to a perceptual criterion.
  • perceptual frequency weighting is then applied by masking a part of the audio band, so as to improve the audio quality by optimizing in particular the distribution of bits between subbands according to criteria. perceptual.
  • the transformed signal in the second subband is weighted by a factor proportional to the square root of the normalized masking threshold for the second subband.
  • the normalized masking threshold is not used for the allocation of the bits to the subbands as in the first application mode above, but it can advantageously be used to directly weight the signal of the second sub-band at least in the transformed domain.
  • the present invention is advantageously, but not exclusively, applied to a TDAC-type transform coding in a global encoder according to the G.729.1 standard, the first subband being included in a low frequency band, whereas the second subband is included in a low frequency band, while the second subband is included in a low frequency band.
  • -band is included in a high frequency band that can extend up to 7000 Hz, or even more (typically up to 14 kHz) in band extension.
  • the application of the invention may then consist in providing a perceptual weighting for the high band while ensuring spectral continuity with the low band.
  • the signal from the core coding can be perceptually weighted and the implementation of the invention is advantageous in the sense that the entire spectral band can finally be perceptually weighted.
  • the signal from the core coding may be a signal representative of a difference between an original signal and a synthesis of this original signal (called “difference signal” or "error signal”).
  • difference signal or "error signal”
  • a first decoding application mode homologous to the first application mode of the coding defined above, aims at the allocation of bits to the decoding and a number of bits to be allocated to each subband is determined from a decoding spectral envelope.
  • the bit allocation for the at least second subband is further determined according to a normalized masking curve calculation applied at least to the second subband.
  • a second method of applying decoding within the meaning of the invention consists in weighting the transformed signal in the second subband by the square root of the normalized masking threshold. This embodiment will be described in detail with reference to the figure 10B .
  • the invention provides an improvement to the perceptual weighting performed in the transform coder by exploiting the masking effect known as "simultaneous masking" or "frequency masking".
  • This property corresponds to the modification of the hearing threshold in the presence of a so-called “masking” sound. This phenomenon is observed typically when, for example, one tries to hold a discussion with ambient noise, for example in the street and that the noise of a vehicle comes to "hide” the voice of a speaker.
  • an approximate masking threshold is calculated for each spectrum line. This threshold is the one above which the line concerned is supposed to be audible.
  • the masking threshold is calculated from the convolution of the signal spectrum with a spreading function B ( v ) modeling the masking effect of a sound (sinusoid or filtered white noise) by another sound (sinusoid or noise filtered white).
  • the spreading function may be a function of the level of the line and / or the frequency of the masking line. A detection of "peaks" can also be implemented.
  • An application of the invention described hereinafter makes it possible to improve the TDAC coding of the encoder according to the G.729.1 standard, in particular by applying a perceptual weighting of the high band (4 to 7 kHz) while ensuring the continuity spectral between low and high bands for a satisfactory and joint coding of these two bands.
  • the input signal is sampled at 16 kHz, bandwidth 50 Hz to 7 kHz.
  • the encoder always operates at the maximum rate of 32 kbit / s, while the decoder can receive the core (8 kbit / s), as well as one or more enhancement layers (12 to 32 kbit / s per step). 2 kbit / s), as in G.729.1. Coding and decoding have the same architecture as that presented to figures 1 and 2 .
  • blocks 110 and 203 are modified as described in figures 6 and 7 .
  • the modified TDAC coder is identical to that of the figure 3 , except that the allocation of the bits following the squared error (block 306) is now replaced by a masking curve calculation and a modified bit allocation (blocks 606 and 607), the invention forming part of the calculation of the masking curve (block 606) and its use in the allocation of bits (block 607).
  • the modified TDAC decoder is presented on the figure 7 in this first embodiment.
  • This decoder is identical to that of the figure 4 , except that the allocation of the bits following the squared error (block 402) is replaced by a masking curve calculation and a modified bit allocation (blocks 702 and 703).
  • the invention relates to blocks 702 and 703.
  • An advantageous spreading function is that presented to the figure 5 . It is a triangular function whose first slope is + 27dB / Bark and -10dB / Bark for the second.
  • ⁇ 1 ( j ) and ⁇ 2 ( j ) can be pre-calculated and stored.
  • a first embodiment of the invention is described below for the allocation of bits in a hierarchical coder such as the G.729.1 encoder.
  • bit allocation criterion is based here on the signal-to-mask ratio given by: 1 2 ⁇ log 2 ⁇ ⁇ 2 j M j
  • the masking threshold is normalized by its value on the last subband of the low band.
  • the definition of the term ip ( j ) , j 10, ..., 17, is changed.
  • FIG 8 An illustration of the standardization of the masking threshold is given in figure 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.
  • these relations giving the normalization factor normfac or the masking threshold M ( j ) can be generalized to any number of sub-bands (different, in total, from eighteen) in high band (with a different number of eight), as in low band (with a different number of ten).
  • the normalized masking threshold is not used to weight the energy in the definition of the perceptual importance, as in the first embodiment described above, but it serves to directly weight the high band signal before TDAC coding.
  • This second embodiment is illustrated on the Figures 9A (for encoding) and 10A (for decoding).
  • a variant of this second mode, which is the object of the present invention, in particular for the decoding performed, is illustrated on the Figures 9B (for encoding) and 10B (for decoding).
  • the masking threshold is calculated (block 905 of the Figure 9A and block 906b of the Figure 9B ) from the unquantized spectral envelope.
  • the peer decoder is shown in the figure 10A .
  • the block 1002 is then performed as described in Ragot et al. supra.
  • Block 1004 also performs a function similar to that of block 405 of the figure 4 .
  • This second embodiment may be particularly advantageous, particularly in an implementation according to the 3GPP-AMR-WB + standard, which is the preferred context of the document Ragot et al. supra.
  • the coded information remains the envelope of energy (rather than the masking threshold itself as on the Figures 9A and 10A ).
  • the masking threshold is calculated and normalized (block 906b of the Figure 9B ) from the coded spectral envelope (block 905b).
  • the masking threshold is calculated and standardized (block 1011b of the figure 10B ) from the decoded spectral envelope (block 1001b), the decoding of the envelope making it possible to perform a level adjustment (block 1010b of the figure 10B ) from the quantized values rms_q ( j ).
  • a masking threshold is calculated for each sub-band, at least for the sub-bands of the high frequency band, this masking threshold being normalized to ensure spectral continuity between the subbands concerned.
  • the calculation of the masking threshold is particularly advantageous when the signal to be coded is not tonal, in the first mode, as in the second embodiment, described above.
  • 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 allocation criterion minimizing the masked coding noise ratio then gives a bit of bit allocation.
  • the same is true for the direct weighting of the high band signal according to the second embodiment. It is therefore preferred, for a tonal signal, to use a bit allocation according to energy criteria.
  • the invention is applied only if the signal to be encoded is not tonal.
  • the bit relating to the mode of the coding of the spectral envelope 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 module 904 of the Figure 9A can, by calculating the spectral envelope, determine whether the signal is tonal or not and so Block 905 is bypassed if yes.
  • the module 904 can make it possible to determine whether the signal is tonal or not and so bypass the block 907 in the affirmative.
  • the figure 11 generalize the normalization of the masking curve (described in figure 8 ) in the case of super wide band coding.
  • the signals in this embodiment are sampled at a frequency of 32 kHz (instead of 16 kHz) for a useful band of 50 Hz - 14 kHz.
  • the masking curve log 2 [ M ( j )] is then defined at least for the sub-bands ranging from 7 to 14 kHz.
  • the spectrum covering the band 50 Hz - 14 kHz is coded by subbands and the allocation of bits to each subband is made from the spectral envelope as in the G.729.1 encoder.
  • a partial masking threshold can be calculated as previously described.
  • the standardization of the masking threshold as illustrated on the figure 11 , so also generalizes to the case where the high band has more subbands or covers a wider frequency area than in G.729.1.
  • a first T1 transform is applied to the time weighted difference signal.
  • a second transform T2 is applied to the signal on the first high band between 4 and 7 kHz and a third transform T3 is applied to the signal on the second high band between 7 and 14 kHz.
  • the invention is not limited to signals sampled at 16kHz. Its implementation is particularly advantageous also for signals sampled at higher frequencies, such as for the extension of the G.729.1 encoder to signals sampled not at 16 kHz but at 32 kHz, as described above. If the TDAC coding is generalized to such a frequency band (50 Hz - 14 kHz instead of 50 Hz - 7 kHz currently), the advantage provided by the invention will be really major.
  • the invention also aims to improve the TDAC coding, in particular by applying a perceptual weighting of the high-bandwidth (4-14 kHz) while ensuring the spectral continuity between bands, this criterion being important for a joint coding of the band.
  • first low band and the second high and extended band up to 14 kHz.
  • the perceptual weighting in the low band is not necessary for the application of the invention.
  • the present invention also relates to a first computer program, stored in a memory of an encoder of a telecommunication terminal and / or stored on a memory medium intended to cooperate with a reader of said encoder.
  • This first program then comprises instructions for implementing the coding method defined above, when these instructions are executed by an encoder processor.
  • the present invention also relates to an encoder comprising at least one memory storing this first computer program.
  • FIGS. 6 , 9A and 9B may constitute flowcharts of this first computer program, or further illustrate the structure of such an encoder, according to different embodiments and variants.
  • the present invention also relates to a second computer program, stored in a memory of a decoder of a telecommunication terminal and / or stored on a storage medium intended to cooperate with a reader of said decoder.
  • This second program then comprises instructions for implementing the decoding method defined above, when these instructions are executed by a processor of the decoder.
  • the present invention also relates to a decoder comprising at least one memory storing this second computer program.
  • FIG. 7 , 10A , 10B may constitute flowcharts of this second computer program, or further illustrate the structure of such a decoder, according to different embodiments and variants.

Landscapes

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

Description

  • 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).
  • Différentes techniques existent pour coder sous forme numérique un signal audiofréquences. Les techniques les plus courantes sont :
    • les méthodes de codage de forme d'onde, telles que le codage MIC (pour "Modulation par Impulsions Codées") et MICDA (pour "Modulation par Impulsion et Codage Différentiel Adaptatif"), dits aussi "PCM" et "ADPCM" en anglais,
    • les méthodes de codage paramétrique par analyse par synthèse comme le codage CELP (pour "Code Excited Linear Prediction"), et
    • les méthodes de codage perceptuel en sous-bandes ou par transformée.
  • Ces techniques traitent le signal d'entrée de façon séquentielle échantillon par échantillon (MIC ou MICDA) ou par blocs d'échantillons dits "trames" (CELP et codage par transformée).
  • On rappelle rapidement qu'un signal sonore tel qu'un signal de parole peut être prédit à partir de son passé récent (par exemple de 8 à 12 échantillons à 8 kHz) au moyen de paramètres évalués sur des fenêtres courtes (10 à 20 ms dans cet exemple). Ces paramètres de prédiction à court terme, représentatifs de la fonction de transfert du conduit vocal (par exemple pour prononcer des consonnes), sont obtenus par des méthodes d'analyse LPC (pour "Linear Prediction Coding"). On met en oeuvre aussi une corrélation à plus long terme pour déterminer des périodicités de sons voisés (par exemple les voyelles) dues à la vibration des cordes vocales. Il s'agit donc de déterminer au moins la fréquence fondamentale du signal voisé qui varie typiquement de 60 Hz (voix grave) à 600 Hz (voix aiguë) selon les locuteurs. On détermine alors, par une analyse LTP (pour "Long Term Prediction"), les paramètres LTP d'un prédicteur à long terme, et en particulier l'inverse de la fréquence fondamentale, appelée souvent "période de pitch". On définit alors le nombre d'échantillons dans une période de pitch par le rapport Fe/F0 (ou sa partie entière), où :
    • Fe est la cadence d'échanlillonnage, et
    • F0 est la fréquence fondamentale.
  • On retiendra donc que les paramètres de prédiction à long terme LTP, dont la période de pitch, représentent la vibration fondamentale du signal de parole (lorsqu'il est voisé), tandis que les paramétres de prédiction à court terme LPC représentent l'enveloppe spectrale de ce signal.
  • Dans certains codeurs, l'ensemble de ces paramètres LPC et LTP, résultant donc d'un codage de parole, peuvent être transmis par blocs vers un décodeur homologue, via un ou plusieurs réseaux de télécommunication, pour restituer ensuite le signal de parole initial.
  • En codage de parole conventionnel, le codeur génère un flux binaire à débit fixe. Cette contrainte de débit simplifie la mise en oeuvre et l'utilisation du codeur et du décodeur. Des exemples de tels systèmes sont le codage normalisé UIT-T G.711 à 64 kbit/s, le codage nomalisé UIT-T G.729 à 8 kbit/s ou le codage GSM-EFR à 12,2 kbit/s.
  • Dans certaines applications (comme la téléphonie mobile ou la voix sur IP pour « Internet Protocol »), il est préférable de générer un flux binaire à débit variable. Les valeurs du débit sont prises dans un ensemble prédéfini. Une telle technique de codage, dite « multi-débits » s'avère donc plus flexible qu'une technique de codage à débit fixe.
  • On peut distinguer plusieurs techniques de codage multi-débits :
    • le codage multi-modes contrôlé par la source et/ou le canal, mis en oeuvre notamment dans les codeurs 3GPP AMR-NB, 3GPP AMR-WB, ou 3GPP2 VMR-WB,
    • le codage hiérarchique (ou codage "scalable") qui génère un flux binaire dit « hiérarchique » car il comprend un débit coeur et une ou plusieurs couche(s) d'amélioration (le codage normalisé selon G.722 à 48, 56 et 64 kbit/s étant typiquement scalable en débit, tandis que les codecs UIT-T G.729.1 et MPEG-4 CELP sont scalables à la fois en débit et en largeur de bande),
    • le codage à descriptions multiples, décrit notamment dans :
      • "A multiple description speech coder based on AMR-WB for mobile ad hoc networks", H. Dong, A. Gersho, J.D. Gibson, V. Cuperman, ICASSP, p. 277-280, vol.1 (Mai 2004).
  • 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 codec à bas débit (fixe), qualifié de « codec coeur », 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 coeur 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 à coeur 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 codec est compatible avec les équipements de voix sur IP existants (la plupart étant équipés selon la norme G.729). Il convient d'indiquer enfin que la norme G.729.1 a été approuvée en mai 2006.
  • Le codeur G.729.1 est schématisé sur la figure 1. Le signal d'entrée en bande élargie swb , é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 SLB , 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 fïltré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 (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 (par exemple 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 111 à 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.
  • Les différents flux binaires générés par les blocs de codage 105, 108, 110 et 111 sont enfin multiplexés 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 codec G.729.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 Discrete Cosine Transform » ou « transformation en cosinus discrète modifiée »).
    *Rappels sur le décodeur G.729.1
  • Le décodeur homologue selon la norme 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 wb , é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 WLB (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 LB w
      Figure imgb0001
      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 : Y 0 Y 1 Y 319 = D LB w 0 D LB w 1 D LB w 159 S HB 0 S HB 1 S HB 159
    Figure imgb0002
  • 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_bound(j + 1). Tableau 1 : Limites et taille des sous-bandes en codage TDAC
    J sb_bound(j) nb_coef (j)
    0 0 16
    1 16 16
    2 32 16
    3 48 16
    4 64 16
    5 80 16
    6 96 16
    7 112 16
    8 128 16
    9 144 16
    10 160 16
    11 176 16
    12 192 16
    13 208 16
    14 224 16
    15 240 16
    16 256 16
    17 272 8
    18 280 -
  • L'enveloppe spectrale {log_rms(j)} j=0,...,17 est calculée dans le bloc 304 suivant la formule : log_ rms j = 1 2 log 2 1 nb_coef j k = sb_bound j sb_bound j + 1 - 1 Y k 2 + ε rms , j = 0 , , 17
    Figure imgb0003

    εrms = 2-24.
  • L'enveloppe spectrale est codée à débit variable dans le bloc 305. Ce bloc 305 produit des valeurs quantifiée, entières, notées rms_index(j) (avec j=0,..., 17), obtenues par simple quantification scalaire : r m s _ i n d e x j = r o u n d 2 l o g _ r m s j
    Figure imgb0004

    où la notation « round » désigne l'arrondi à l'entier le plus proche, et avec la contrainte : 11 r m s _ i n d e x j + 20
    Figure imgb0005

    Cette valeur quantifiée rms _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 (rms_index(j), avec j=0,...,9) et pour la bande haute (rms_index(j), avec j=10,...,17). Dans chaque bande, deux types de codage peuvent être choisis selon un critère donné, et, plus précisément, les valeurs rms_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 multiplexés 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 (rms_index(j), pour j=0,...,17), à partir du train binaire généré par le bloc 305 (multiplexé) et en déduit l'enveloppe décodée : r m s _ q j = 2 ½ r m s _ i n d e x j
    Figure imgb0006
  • 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 ^ LB w
      Figure imgb0007
      du signal de différence décodé en bande basse, filtré perceptuellement,
    • et 160 coefficients suivants correspondant au spectre HB 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é WLB (z)-1) est appliquée au signal d ^ LB w
    Figure imgb0008
    (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 rms_index(j),j=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 : n b i t s _ V Q = 351 n b i t s _ r m s ,
    Figure imgb0009
    nbits_rms 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 j=0,...,17), alloués à chacune des sous-bande avec comme contrainte globale : j = 0 17 nbit j nbits_ VQ
    Figure imgb0010
  • Dans la norme G.729.1, les valeurs nbit(j) (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.
    Taille de la sous-bande j nb_coef(j) Ensemble des valeurs autorisées nbit(j) (en nombre de bits)
    8 R8 = {0, 7, 10, 12, 13, 14, 15, 16}
    16 R16 = {0, 9, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}
  • 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) (j=0..17), définie comme suit : ip j = 1 2 log 2 rms_q j 2 × nb_coef j + offset
    Figure imgb0011

    offset = -2.
  • Puisque les valeurs rms_q(j) = 2½ rms_index(j), cette formule se simplifie sous la forme : ip j = { 1 2 rms_index j pour j = 0 , , 16 1 2 rms_index j - 1 pour j = 17
    Figure imgb0012

    A partir de l'importance perceptuelle de chaque sous-bande, l'allocation nbit(j) est calculée comme suit : nbit j = arg min r R nb_coef j nb_coef j × ip j - λ opt - r
    Figure imgb0013

    où λ opt est un paramètre optimisé par dichotomie.
  • 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 WLB (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/γ1)/Â(z/γ2) où 0 ≤ γ2 ≤ γ1 < 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 LB w
    Figure imgb0014
    et SHB sont accolés (bloc 303 de la figure 3), le filtre WLB (z) est défini sous la forme : W LB z = fac A ^ z / γ 1 A ^ z / γ 2
    Figure imgb0015

    avec γ1 = 0,96, γ2 = 0,6 et fac = i = 0 p - γ 2 i a ^ i i = 0 p - γ 1 i a ^ i
    Figure imgb0016
  • 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
  • Dans la norme G.729.1, l'encodeur TDAC traite conjointement :
    • le signal différence, entre la bande basse originale et la synthèse CELP, filtré perceptuellement par un filtre du type Â(z/γ1)/Â(z/γ2) compensé en gain (assurant une continuité spectrale), et
    • la bande haute qui contient le signal bande haute original.
    Le signal bande basse correspond aux fréquences 50 Hz-4 kHz, tandis que le signal bande haute correspond aux fréquences 4-7 kHz.
  • Le codage conjoint de ces deux signaux est réalisé dans le domaine MDCT suivant le critère de l'erreur quadratique. Ainsi, la bande haute est codée suivant des critères énergétiques, ce qui est sous-optimal (au sens « perceptuel » du terme).
  • De façon plus générale encore, on pourra considérer le cas d'un codage dans plusieurs bandes, un filtre de pondération perceptuelle étant appliqué au signal d'au moins une bande dans le domaine temporel, et l'ensemble des sous-bandes étant codées conjointement par codage par transformée. Si l'on veut appliquer la pondération perceptuelle dans le domaine des fréquences, il se pose alors le problème de la continuité et de l'homogénéité des spectres entre sous-bandes.
  • La présente invention vient améliorer la situation.
  • Elle propose à cet effet un procédé de codage d'un signal en plusieurs sous-bandes, dans lequel au moins une première et une deuxième sous-bande, adjacentes, sont codées par transformée.
  • Au sens de l'invention, pour appliquer une pondération perceptuelle, dans le domaine transformée, au moins à la deuxième sous-bande, le procédé comporte :
    • une détermination d'au moins un seuil de masquage fréquentiel à appliquer sur la deuxième sous-bande, et
    • une normalisation dudit seuil de masquage pour assurer une continuité spectrale entre lesdites première et deuxième sous-bandes.
  • La présente invention propose donc de calculer une pondération perceptuelle fréquentielle, utilisant un seuil de masquage, sur une partie seulement de la bande de fréquences (au moins sur la « deuxième sous-bande » précitée) et d'assurer la continuité spectrale avec au moins une autre bande de fréquences (au moins la « première sous-bande » précitée) en normalisant le seuil de masquage sur le spectre couvrant ces deux bandes de fréquences.
  • Dans un premier mode d'application de l'invention, dans lequel un nombre de bits à allouer à chaque sous-bande est déterminé à partir d'une enveloppe spectrale, l'allocation des bits pour la deuxième sous-bande au moins est déterminée en outre en fonction d'un calcul de courbe de masquage normalisé, appliqué au moins à la deuxième sous-bande.
  • Ainsi, au lieu de prévoir, dans ce premier mode de réalisation, une allocation de bits basée sur des critères uniquement énergétiques, l'application de l'invention permet d'aflecter les bits aux sous-bandes qui nécessitent le plus de bits selon un critère perceptuel. On applique alors, au sens de ce premier mode de réalisation, une pondération perceptuelle fréquentielle par masquage d'une partie de la bande audio, de façon à améliorer la qualité audio en optimisant en particulier la répartition des bits entre sous-bandes suivant des critères perceptuels.
  • Dans un deuxième mode d'application de l'invention, le signal transformé, dans la deuxième sous-bande, est pondéré par un facteur proportionnel à la racine carrée du seuil de masquage normalisé pour la deuxième sous-bande.
  • Dans ce second mode, le seuil de masquage normalisé n'est pas utilisé pour l'allocation des bits aux sous-bandes comme dans le premier mode d'application ci-avant, mais il peut servir avantageusement à pondérer directement le signal de la deuxième sous-bande au moins, dans le domaine transformé.
  • La présente invention s'applique avantageusement, mais non limitativement, à un codage par transformée de type TDAC dans un codeur global selon la norme G.729.1, la première sous-bande étant incluse dans une bande de basses fréquences, tandis que la deuxième sous-bande est incluse dans une bande de hautes fréquences qui peut s'étendre jusqu'à 7000 Hz, voire plus (typiquement jusqu'à 14 kHz) en extension de bande. L'application de l'invention peut consister alors à prévoir une pondération perceptuelle pour la bande haute tout en assurant la continuité spectrale avec la bande basse.
  • On rappelle que dans ce type de codeur global à structure hiérarchique, le codage par transformée intervient dans une couche supérieure d'un codeur hiérarchique global. Avantageusement :
    • la première sous-bande comporte alors un signal issu d'un codage de coeur du codeur hiérarchique,
    • et la deuxième sous-bande comporte un signal original.
  • Comme dans le codeur G.729.1, le signal issu du codage de coeur peut être pondéré perceptuellement et la mise en oeuvre de l'invention est avantageuse dans le sens où toute la bande spectrale peut finalement être pondérée perceptuellement.
  • Comme dans le codeur G.729.1, le signal issu du codage de coeur peut être un signal représentatif d'une différence entre un signal original et une synthèse de ce signal original (appelé « signal différence » ou encore « signal d'erreur »). On verra en effet, en référence à la figure 12 décrite plus loin, que le fait de disposer du signal original n'est pas forcément une nécessité pour la mise en oeuvre de l'invention, de façon avantageuse.
  • La présente invention vise aussi un procédé de décodage, homologue du procédé de codage défini ci-avant, dans lequel au moins une première et une deuxième sous-bande, adjacentes, sont décodées par transformée. Pour appliquer une pondération perceptuelle, dans le domaine transformé, au moins à la deuxième sous-bande, le procédé de décodage comporte alors :
    • une détermination d'au moins un seuil de masquage fréquentiel à appliquer sur la deuxième sous-bande, à partir d'une enveloppe spectrale décodée, et
    • une normalisation dudit seuil de masquage pour assurer une continuité spectrale entre lesdites première et deuxième sous-bandes.
  • Un premier mode d'application du décodage, homologue du premier mode d'application du codage défini ci-avant, vise l'allocation de bits au décodage et un nombre de bits à allouer à chaque sous-bande est déterminé à partir d'un décodage d'enveloppe spectrale. Selon une mise en oeuvre de l'invention, l'allocation des bits pour la deuxième sous-bande au moins est déterminée en outre en fonction d'un calcul de courbe de masquage normalisé, appliqué au moins à la deuxième sous-bande.
  • Un deuxième mode d'application du décodage au sens de l'invention consiste à pondérer le signal transformé dans la deuxième sous-bande, par la racine carrée du seuil de masquage normalisé. Ce mode de réalisation sera décrit en détail en référence à la figure 10B.
  • D'ailleurs, d'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée, donnée à titre d'exemple ci-après, et des dessins annexés sur lesquels, outre les figures 1 à 4 présentées précédemment :
    • la figure 5 illustre une fonction d'étalement avantageuse pour le masquage au sens de l'invention,
    • la figure 6 illustre, à titre de comparaison avec la figure 3, la structure d'un encodage TDAC utilisant un calcul de courbe de masquage 606 pour l'allocation de bits selon un premier mode d'application de l'invention,
    • la figure 7 illustre, à titre de comparaison avec la figure 4, la structure d'un décodage TDAC homologue de la figure 6, utilisant un calcul de courbe de masquage 702 selon le premier mode d'application de l'invention,
    • la figure 8 illustre une normalisation de la courbe de masquage, dans une première forme de réalisation où la fréquence d'échantillonnage est de 16 kHz et le masquage de l'invention appliqué pour la bande haute 4-7 kHz,
    • la figure 9A illustre la structure d'un encodage TDAC modifiée, avec pondération directement du signal dans les hautes fréquences 4-7 kHz dans un deuxième mode d'application de l'invention, et codage du seuil de masquage normalisé,
    • la figure 9B illustre la structure d'un encodage TDAC dans une variante du deuxième mode d'application illustré sur la figure 9A, avec ici un codage de l'enveloppe spectrale,
    • la figure 10A illustre la structure d'un décodage TDAC homologue de la figure 9A, selon le deuxième mode d'application de l'invention,
    • la figure 10B illustre la structure d'un décodage TDAC homologue de la figure 9B, selon le deuxième mode d'application de l'invention, avec ici un calcul du seuil de masquage au décodage,
    • la figure 11 illustre la normalisation de la courbe de masquage en bande super-élargie dans une deuxième forme de réalisation de l'invention où la fréquence d'échantillonnage est de 32 kHz et le masquage de l'invention appliqué pour la bande haute élargie de 4 à 14 kHz, et
    • la figure 12 illustre la puissance spectrale, en sortie de codage CELP, du signal de différence DLB (en trait plein) et du signal original SLB (en traits pointillés).
  • On décrit ci-après une application de l'invention qui s'avère avantageuse mais non limitative dans un encodeur/décodeur selon la norme G.729.1 décrit précédemment en référence aux figures 1 à 4, en incorporant, selon l'invention, une information de masquage.
  • Auparavant toutefois, les notions de compensation de gain en filtrage perceptuel et de masquage fréquentiel sont présentées ci-après, pour mieux appréhender le principe de l'invention.
  • L'invention apporte un perfectionnement à la pondération perceptuelle réalisée dans le codeur par transformée en exploitant l'effet de masquage connu sous le nom de « masquage simultané » ou « masquage fréquentiel ».
  • Cette propriété correspond à la modification du seuil d'audition en présence d'un son dit « masquant ». Ce phénomène est observé typiquement lorsque, par exemple, on essaie de tenir une discussion avec du bruit ambiant, par exemple en pleine rue et que le bruit d'un véhicule vient « masquer » la voix d'un locuteur.
  • Un exemple d'utilisation du masquage dans un codec audio peut être trouvé dans le document Mahieux et al. :
    • "High-quality audio transform coding at 64 kbps", Y. Mahieux, J.P. Petit, IEEE Transactions on Communications, Volume 42, no. 11, Pages: 3010 - 3019 (Novembre 1994).
  • Dans ce document, un seuil de masquage approximatif est calculé pour chaque raie du spectre. Ce seuil est celui au-dessus duquel la raie concernée est supposée audible. Le seuil de masquage est calculé à partir de la convolution du spectre du signal avec une fonction d'étalement B(v) modélisant l'effet de masquage d'un son (sinusoïde ou bruit blanc filtré) par un autre son (sinusoïde ou bruit blanc filtré).
  • Un exemple d'une telle fonction d'étalement est présenté sur la figure 5. Cette fonction est définie dans un domaine fréquentiel dont l'unité est le Bark. L'échelle de fréquence est représentative de la sensibilité fréquentielle de l'oreille. Une approximation usuelle de la conversion d'une fréquence f en Hertz, en « fréquences » notées ν (en Barks), est donnée par la relation suivante : υ = 13 arctan 0.00076 f + 3.5 arctan f 7500 2
    Figure imgb0017

    Dans ce document, le calcul du seuil de masquage est effectué par sous-bande plutôt que par raie. Le seuil ainsi obtenu est utilisé pour pondérer perceptuellement chacune des sous-bandes. L'allocation des bits est ainsi effectuée, non pas en minimisant l'erreur quadratique mais en minimisant le rapport « bruit de codage à masque », le but étant de mettre en forme le bruit de codage de tel sorte qu'il soit inaudible (en dessous du seuil de masquage).
  • Bien entendu, d'autres modèles de masquage ont été encore proposés. Typiquement, la fonction d'étalement peut être fonction du niveau de la raie et/ou de la fréquence de la raie masquante. Une détection des « pics » peut aussi être mise en oeuvre.
  • Il convient d'indiquer que pour réduire la sous-optimalité du codage selon la norme G.729.1, on pourrait penser à intégrer une technique de masquage fréquentiel dans l'allocation des bits, de façon similaire à celle présentée dans le document Mahieux et al. Néanmoins, la nature hétérogène des deux signaux bande basse et bande haute ne permet pas d'appliquer directement la technique de masquage pleine bande de ce document. D'une part, le seuil de masquage pleine bande ne peut pas vraiment être calculé dans le domaine MDCT, car le signal bande basse n'est pas homogène à un signal « original ». D'autre part, appliquer un seuil de masquage sur toute la bande de fréquences reviendrait à pondérer une nouvelle fois le signal en bande basse qui est déjà pondérée par le filtre de type Â(z/γ1)/Â(z/γ2), la pondération supplémentaire par un seuil n'ayant alors aucun sens pour ce signal de bande basse.
  • Une application de l'invention décrite ci-après permet d'améliorer le codage TDAC de l'encodeur selon la norme G.729.1, en particulier en appliquant une pondération perceptuelle de la bande haute (4 à 7 kHz) tout en assurant la continuité spectrale entre bandes basse et haute pour un codage satisfaisant et conjoint de ces deux bandes.
  • Dans un encodeur et/ou un décodeur selon la norme G.729.1, perfectionnés par la mise en oeuvre de l'invention, seuls les codeur et décodeur TDAC sont modifiés, dans l'exemple décrit ci-après.
  • Le signal d'entrée est échantillonné à 16 kHz, de bande utile 50 Hz à 7 kHz. En pratique le codeur fonctionne toujours au débit maximal de 32 kbit/s, tandis que le décodeur peut recevoir le coeur (8 kbit/s), ainsi qu'une ou plusieurs couches d'amélioration (12 à 32 kbit/s par pas de 2 kbit/s), comme dans la norme G.729.1. Les codage et décodage ont la même architecture que celle présentée aux figures 1 et 2. Ici, seuls les blocs 110 et 203 sont modifiés tels que décrits aux figures 6 et 7.
  • Dans un premier mode de réalisation décrit ci-après en référence à la figure 6, le codeur TDAC modifié est identique à celui de la figure 3, mis à part que l'allocation des bits suivant l'erreur quadratique (bloc 306) est désormais remplacée par un calcul de courbe de masquage et une allocation des bits modifiée (blocs 606 et 607), l'invention s'inscrivant dans le cadre du calcul de la courbe de masquage (bloc 606) et de son utilisation dans l'allocation des bits (bloc 607).
  • De même, le décodeur TDAC modifié est présenté sur la figure 7 dans ce premier mode de réalisation. Ce décodeur est identique à celui de la figure 4, mis à part que l'allocation des bits suivant l'erreur quadratique (bloc 402) est remplacée par un calcul de courbe de masquage et une allocation des bits modifiée (blocs 702 et 703). De façon symétrique au codeur TDAC modifié, l'invention se rapporte aux blocs 702 et 703.
  • Les blocs 606 et 702 réalisent une opération identique à partir des valeurs rms_index(j), j=0,...,17. De même, les blocs 607 et 703 réalisent une opération identique à partir des valeurs log_mask(j) et rms_index(j), j=0,...,17.
  • Dans ce qui suit, on ne décrit donc que le fonctionnement des blocs 606 et 607.
  • Le bloc 606 calcule une courbe de masquage à partir de l'enveloppe spectrale quantifiée rms_ q(j) où j=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×nb_coef(j), par une fonction d'étalement B(v) . Dans l'exemple de réalisation donné ici du codage TDAC dans l'encodeur G.729.1, ce masquage n'est effectué que sur la bande haute du signal, avec : M j = k = 10 17 σ ^ 2 k × B ν j - ν k
    Figure imgb0018
    • vk est la fréquence centrale de la sous-bande k en Bark,
    • le signe « × » 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 5. Il s'agit d'une fonction triangulaire dont la première pente est de +27dB/Bark et -10dB/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 j = { M - 10 j = 10 M + j + M - j + σ ^ 2 j j = 1 , .. , 16 M + 17 j = 17
    Figure imgb0019

    M + j = σ ^ 2 j - 1 Δ 2 j + M + j - 1 Δ 2 j j = 11 , .. , 17
    Figure imgb0020
    M - j = σ ^ 2 j + 1 Δ 1 j + M - j + 1 Δ 1 j j = 10 , .. , 16
    Figure imgb0021

    et Δ 2 j = 10 - 10 10 υ j - υ j - 1
    Figure imgb0022
    Δ 1 j = 10 27 10 υ j - υ j + 1
    Figure imgb0023
  • Les valeurs de Δ1(j) et Δ2(j) peuvent être pré-calculées et stockées.
  • On décrit ci-après un premier mode d'application de l'invention à l'allocation de bits dans un codeur hiérarchique tel que l'encodeur G.729.1.
  • Le critère d'allocation de bits se fonde ici sur le rapport signal-à-masque donné par : 1 2 log 2 σ ^ 2 j M j
    Figure imgb0024
  • La bande basse étant déjà filtrée perceptuellement, l'application du seuil de masquage est 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 sa valeur sur la dernière sous-bande de la bande basse.
  • L'importance perceptuelle est donc redéfinie comme suit : ip j = { 1 2 log 2 σ ^ 2 j + offset pour j = 0..9 1 2 log 2 σ ^ 2 j M j + normfac + offset pour j = 10..17
    Figure imgb0025

    offset = -2 et normfac est un facteur de normalisation calculé suivant la relation : normfac = log 2 j = 9 17 σ ^ 2 j × B ν 9 - ν j
    Figure imgb0026

    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=10,...,17, est changée.
  • L'importance perceptuelle redéfinie ci-dessus s'écrit maintenant : ip j = { 1 2 rms_index j pour j = 0 , , 9 1 2 rms_index j - log_ mask j pour j = 10 , , 17
    Figure imgb0027

    où log_ mask(j) = log2(M (j)) - normfac.
    On comprendra que la deuxième ligne de l'accolade pour le calcul de l'importance perceptuelle est une expression de la mise en oeuvre de l'invention selon cette première application à l'allocation de bits dans un codage par transformée en tant que couche supérieure d'un codeur hiérarchique.
  • 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).
  • Les blocs 607 et 703 effectuent alors les calculs d'allocation de bits : nbit j = arg min r R nb_coef j nb_coef j × ip j - λ opt - r
    Figure imgb0028

    où λ opt est obtenu par dichotomie comme dans la norme G.729.1.
  • La seule différence par rapport aux blocs 307 et 402 de l'art antérieur est donc la définition de l'importance perceptuelle ip(j) pour les sous-bandes de la bande haute.
  • 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 = log 2 j = 10 17 σ ^ 2 j × B ν 10 - ν j
    Figure imgb0029
  • Dans une autre variante encore, le seuil de masquage peut être calculé sur l'ensemble de la bande de fréquences, avec : M j = k = 0 17 σ ^ 2 k × B ν j - ν k
    Figure imgb0030

    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 = log 2 j = 0 17 σ ^ 2 j × B ν 9 - ν j ,
    Figure imgb0031
    ou encore par sa valeur sur la première sous-bande de la bande haute : normfac = log 2 j = 0 17 σ ^ 2 j × B ν 10 - ν j
    Figure imgb0032
  • 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érents, 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).
  • De manière générale, on relèvera aussi que l'on cherche une continuité en énergie entre la bande haute et la bande basse, alors que l'on utilise pour ce faire le signal différence, pondéré perceptuellement, en bande basse d LB W ,
    Figure imgb0033
    , et non pas le signal original lui-même. En réalité, comme illustré sur la figure 12, le codage CELP sur le signal différence (courbe en trait plein) donne, en fin de bande basse (après 2700 Hz, typiquement), un niveau d'énergie très proche du signal original lui-même (courbe en traits pointillés). Comme dans le codage G.729.1, seul le signal différence pondéré perceptuellement est disponible en bande basse, on utilise cette observation pour déterminer le facteur de formalisation du masque en bande haute.
  • Dans un deuxième mode de réalisation, le seuil de masquage normalisé n'est pas utilisé pour pondérer l'énergie dans la définition de l'importance perceptuelle, comme dans le premier mode de réalisation décrit ci-avant, mais il sert à pondérer directement le signal de bande haute avant codage TDAC.
  • Ce deuxième mode de réalisation est illustré sur les figures 9A (pour l'encodage) et 10A (pour le décodage). Une variante de ce deuxième mode, que vise la présente invention en particulier pour le décodage effectué, est illustré sur les figures 9B (pour l'encodage) et 10B (pour le décodage).
  • Dans les figures 9A et 9B, le spectre Y(k) issu du bloc 903 est divisé en dix-huit sous-bandes et l'enveloppe spectrale est calculée (bloc 904) comme décrit précédemment.
  • En revanche, le seuil de masquage est calculé (bloc 905 de la figure 9A et bloc 906b de la figure 9B) à partir de l'enveloppe spectrale non quantifiée.
  • Dans la réalisation de la figure 9A, on code directement une information représentative de la pondération par le seuil de masquage M(j), plutôt que coder l'enveloppe spectrale. En pratique, dans cette réalisation, on code les facteurs d'échelle sf(j), seulement à partir de j = 10 et jusqu'à j = 17.
  • En effet, les facteurs d'échelle sont donnés par :
    • sf(j) = 1, pour j = 0,...,9 , sur la bande basse,
    • et par la racine carrée du seuil de masquage normalisé M(j), pour la bande haute, soit sf j = M j ,
      Figure imgb0034
      , pour j = 10, ..., 17.
  • Ainsi, il n'est pas besoin de coder les facteurs d'échelle pour j = 0,...,9 et l'on ne code les facteurs d'échelle que pour j =10,...,17.
  • En référence à la figure 9A encore, l'information correspondant aux facteurs d'échelle sf(j), pour j=10,···,17, peut être codée (bloc 906) par une technique de codage d'enveloppe du même type que celle utilisée dans l'encodeur G.729.1 (bloc 305 de la figure 3), par exemple par quantification scalaire suivi d'un codage de Huffman différentiel pour la partie de bande haute.
  • Le spectre Y(k) est ensuite divisé (bloc 907) par les facteurs d'échelle décodés, sf_q(j), j = 0,···,17 avant codage de type dit «gain-forme» (de l'anglais « gain-shape coding »). Ce codage est réalisé par quantification algébrique suivant l'erreur quadratique, tel que décrit dans le document Ragot et al :
    • "Low-complexity multi-rate lattice vector quantization with application to wideband TCX speech coding at 32 kbit/s", S. Ragot, B. Bessette, et R. Lefebvre, Proceedings ICASSP - Montreal (Canada), Pages: 501-504, vol.1 (2004).
    Cette méthode quantification de type gain-forme est mise en oeuvre en particulier dans la norme 3GPP AMR-WB+.
  • Le décodeur homologue est illustré à la figure 10A. Les facteurs d'échelle sf_q(j), j = 0,···,17, sont décodés dans le bloc 1001. Le bloc 1002 est réalisé alors comme décrit dans le document Ragot et al. précité.
  • L'extrapolation des sous-bandes manquantes (bloc 1003 de la figure 10A) suit le même principe que dans le décodeur G.729.1 (bloc 404 de la figure 4). Ainsi, si une sous-bande décodée ne comprend que des zéros, le spectre décodé par l'extension de bande remplace alors cette sous-bande.
  • Le bloc 1004 réalise également une fonction similaire à celle du bloc 405 de la figure 4. Cependant, les facteurs d'échelle sf_ q(j), j=0,···,17 sont utilisés à la place de l'enveloppe spectrale décodée, rms_q(j), j =0,···,17.
  • Ce deuxième mode de réalisation peut s'avérer particulièrement avantageux notamment dans une implémentation selon la norme 3GPP-AMR-WB+ qui se présente comme le contexte de prédilection du document Ragot et al. précité.
  • Dans une variante de ce deuxième mode de réalisation, telle que représentée sur les figures 9B et 10B (les mêmes références sur les figures 9A et 9B, et 10A et 10B, désignant les mêmes éléments), l'information codée reste l'enveloppe d'énergie (plutôt que le seuil de masquage lui-même comme sur les figures 9A et 10A).
  • Au codage, le seuil de masquage est calculé et normalisé (bloc 906b de la figure 9B) à partir de l'enveloppe spectrale codée (bloc 905b). Au décodage, le seuil de masquage est calculé et normalisé (bloc 1011b de la figure 10B) à partir de l'enveloppe spectrale décodée (bloc 1001b), le décodage de l'enveloppe permettant de réaliser un ajustement de niveau (bloc 1010b de la figure 10B) à partir des valeurs quantifiées rms_q(j).
  • Ainsi, en cas de sous-bandes décodées nulles, il est avantageusement possible, dans cette variante, d'effectuer une extrapolation et de maintenir un niveau de signal décodé correct.
  • De manière générale, dans le premier comme dans le deuxième mode de réalisation, on comprendra que l'on calcule un seuil de masquage pour chaque sous-bande, au moins pour les sous-bandes de la bande des hautes fréquences, ce seuil de masquage étant normalisé pour assurer une continuité spectrale entre les sous-bandes concernées.
  • On indique aussi que le calcul d'un masquage fréquentiel au sens de l'invention 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, dans le premier mode, comme dans le deuxième mode de réalisation, décrits ci-avant.
  • 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 d'allocation minimisant le rapport bruit de codage à masque donne alors une allocation des bits assez médiocre. Il en va de même pour la pondération directe du signal de bande haute selon le deuxième mode de réalisation. Il est donc préféré, pour un signal tonal, d'utiliser une allocation des bits suivant des critères énergétiques. Ainsi, de façon préférentielle, l'invention n'est appliquée que si le signal à coder n'est pas tonal.
  • En termes génériques, on obtient donc une information (du bloc 305) 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.
  • On décrit maintenant la mise en oeuvre de cette observation dans un encodeur selon la norme G.729.1. Le bit relatif au mode du codage de l'enveloppe spectrale (bloc 305 de la figure 3 notamment) 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 oeuvre l'invention ou non. Plus particulièrement, l'invention est appliquée dans le cas où l'enveloppe spectrale a été codée en mode "Huffman différentiel" et l'importance perceptuelle est définie alors au sens de l'invention, comme suit : ip j = { 1 2 rms_index j pour j = 0..9 1 2 rms_index j - log_ mask j pour j = 10..17
    Figure imgb0035
  • Par contre, si l'enveloppe a été codée en mode "binaire naturel direct", l'importance perceptuelle reste telle que définie dans la norme G.729.1 : ip j = { 1 2 rms_index j pour j = 0 , , 16 1 2 rms_index j - 1 pour j = 17
    Figure imgb0036
  • On indique que dans le deuxième mode de réalisation, le module 904 de la figure 9A peut, en calculant l'enveloppe spectrale, déterminer si le signal est tonal ou non et ainsi le bloc 905 est contourné dans l'affirmative. De même, pour le mode de réalisation décrit à la figure 9B, le module 904 peut permettre de déterminer si le signal est tonal ou non et ainsi contourner le bloc 907 dans l'affirmative.
  • On décrit maintenant une application possible de l'invention à une extension de l'encodeur G.729.1, en particulier en bande super-élargie.
  • La figure 11 généralise la normalisation de la courbe de masquage (décrite à la figure 8) au cas d'un codage en bande super-élargie. Les signaux sont, dans cette réalisation, échantillonnés à une fréquence de 32 kHz (au lieu de 16 kHz) pour une bande utile de 50 Hz - 14 kHz. La courbe de masquage log2[M(j)] est alors définie au moins pour les sous-bandes allant de 7 à 14 kHz.
  • En effet, le spectre couvrant la bande 50Hz - 14 kHz est codé par sous-bandes et l'allocation des bits à chaque sous-bande est réalisée à partir de l'enveloppe spectrale comme dans l'encodeur G.729.1. Dans ce cas, un seuil de masquage partiel peut être calculé comme décrit précédemment.
  • La normalisation du seuil de masquage, telle qu'illustrée sur la figure 11, se généralise donc aussi au cas où la bande haute comporte plus de sous-bandes ou couvre une zone de fréquences plus large que dans la norme G.729.1.
  • En référence à la figure 11, sur la bande basse entre 50 Hz et 4 kHz, une première transformée T1 est appliquée au signal différence pondéré temporellement. Une deuxième transformée T2 est appliquée au signal sur la première bande haute entre 4 et 7 kHz et une troisième transformée T3 est appliquée au signal sur la deuxième bande haute entre 7 et 14 kHz.
  • On comprendra ainsi que l'invention ne se limite pas à des signaux échantillonnés à 16kHz. Sa mise en oeuvre est particulièrement avantageuse aussi pour des signaux échantillonnés à des fréquences supérieures, comme pour l'extension de l'encodeur selon la norme G.729.1 à des signaux échantillonnés non plus à 16 kHz mais à 32 kHz, comme décrit ci-avant. Si le codage TDAC est généralisé à une telle bande de fréquences (50 Hz - 14 kHz au lieu de 50 Hz - 7kHz actuellement), l'avantage procuré par l'invention sera réellement majeur.
  • En effet, dans la gamme de fréquences 4-14 kHz, les limites du critère d'erreur quadratique deviennent vraiment rédhibitoires et, pour que l'allocation des bits reste quasi-optimale, une pondération perceptuelle exploitant le masquage fréquentiel au sens de l'invention s'avère très avantageuse.
  • Ainsi, l'invention vise également à améliorer le codage TDAC, en particulier en appliquant une pondération perceptuelle de la bande haute étendue (4-14 kHz) tout en assurant la continuité spectrale entre bandes, ce critère étant important pour un codage conjoint de la première bande basse et de la deuxième bande haute et étendue jusqu'à 14 kHz.
  • On a décrit ci-avant une réalisation dans laquelle la bande basse était toujours pondérée perceptuellement. Cette réalisation n'est aucunement nécessaire pour la mise en oeuvre de l'invention. Dans une variante, le codeur hiérarchique est mis en oeuvre avec un codeur coeur dans une première bande de fréquences, et le signal d'erreur associé à ce codeur coeur est directement transformé, sans pondération perceptuelle dans cette première bande de fréquences, pour être codé conjointement avec le signal transformé d'une deuxième bande de fréquences. A titre d'exemple, le signal original peut être échantillonné à 16 kHz et décomposé en deux bandes de fréquences (de 0 à 4000 Hz et de 4000 à 8000 Hz) par un banc de filtres approprié, de type QMF. Le codeur peut être typiquement, dans une telle réalisation, un codeur selon la norme G.711 (avec compression PCM). Le codage par transformée est effectué alors sur :
    • le signal différence entre le signal original et la synthèse G.711 dans la première bande de fréquences (0-4000 Hz), et
    • le signal original, pondéré perceptuellement dans le domaine fréquentiel selon l'invention, dans une deuxième bande de fréquences (4000-8000 Hz).
  • Ainsi, dans cette réalisation, la pondération perceptuelle dans la bande basse n'est pas nécessaire pour l'application de l'invention.
  • Dans une autre variante, le signal original est échantillonné à 32 kHz et décomposé en deux bandes de fréquences (de 0 à 8000 Hz et de 8000 à 16000 Hz) par un banc de filtres approprié, de type QMF. Le codeur peut être ici un codeur selon la norme G.722 (compression ADPCM en deux sous-bandes), et le codage par transformée est effectué sur :
    • le signal différence entre le signal original et le signal de synthèse G.722 dans la première bande de fréquences (0-8000 Hz), et
    • le signal original, lequel est encore pondéré perceptuellement selon l'invention dans un domaine fréquentiel restreint à la deuxième bande de fréquences (8000-16000 Hz).
  • On indique enfin que la présente invention vise aussi un premier programme informatique, stocké dans une mémoire d'un codeur d'un terminal de télécommunication et/ou stocké sur un support mémoire destiné à coopérer avec un lecteur dudit codeur. Ce premier programme comporte alors des instructions pour la mise en oeuvre du procédé de codage défini ci-avant, lorsque ces instructions sont exécutées par un processeur du codeur.
  • La présente invention vise aussi un codeur comportant au moins une mémoire stockant ce premier programme informatique.
  • On comprendra que les figures 6, 9A et 9B peuvent constituer des organigrammes de ce premier programme informatique, ou illustrer encore la structure d'un tel codeur, selon des modes de réalisation et variantes distincts.
  • La présente invention vise aussi un deuxième programme informatique, stocké dans une mémoire d'un décodeur d'un terminal de télécommunication ct/ou stocké sur un support mémoire destiné à coopérer avec un lecteur dudit décodeur. Ce deuxième programme comporte alors des instructions pour la mise en oeuvre du procédé de décodage défini ci-avant, lorsque ces instructions sont exécutées par un processeur du décodeur.
  • La présente invention vise aussi un décodeur comportant au moins une mémoire stockant ce deuxième programme informatique.
  • On comprendra aussi que les figures 7, 10A, 10B peuvent constituer des organigrammes de ce deuxième programme informatique, ou illustrer encore la structure d'un tel décodeur, selon des modes de réalisation et variantes distincts.

Claims (19)

  1. Procédé de codage d'un signal audio en plusieurs sous-bandes, dans lequel au moins une première et une deuxième sous-bande, adjacentes, sont codées par transformée (601, 602 ; 901, 902),
    caractérisé en ce que, pour appliquer une pondération perceptuelle, dans le domaine transformé, au moins à la deuxième sous-bande, le procédé comporte :
    - une détermination d'au moins un seuil de masquage fréquentiel (606 ; 905 ; 906b) à appliquer sur la deuxième sous-bande, et
    - une normalisation dudit seuil de masquage pour assurer une continuité spectrale entre lesdites première et deuxième sous-bandes.
  2. Procédé selon la revendication 1, dans lequel un nombre de bits à allouer à chaque sous-bande est déterminé à partir d'une enveloppe spectrale,
    caractérisé en ce que l'allocation des bits (607) pour la deuxième sous-bande au moins est déterminée en outre en fonction d'un calcul de courbe de masquage normalisé, appliqué au moins à la deuxième sous-bande (606).
  3. Procédé selon la revendication 2, dans lequel le codage est effectué sur plus de deux sous-bandes, la première sous-bande étant incluse dans une première bande spectrale et la deuxième sous-bande étant incluse dans une deuxième bande spectrale, caractérisé en ce que le nombre de bits par sous-bande nbit(j) est donné, pour chaque sous-bande d'indice j, en fonction d'une importance perceptuelle ip(j) calculée à partir d'une relation du type :
    - ip j = 1 2 rms_index j ,
    Figure imgb0037
    , si j est un indice de sous-bande dans la première bande, et
    - ip j = 1 2 rms_index j - log_ mask j ,
    Figure imgb0038
    , si j est un indice de sous-bande dans la deuxième bande, avec log_mask(j)= log2 (M(j)) - normfac , où :
    - rms_index(j) sont des valeurs quantifiées issues du codage de l'enveloppe, pour la sous-bande j,
    - M(j) est le seuil de masquage pour ladite sous-bande d'indice j, et
    - normfac est un facteur de normalisation déterminé pour assurer la continuité spectrale entre lesdites première et deuxième sous-bandes.
  4. Procédé selon la revendication 1, caractérisé en ce que le signal transformé, dans la deuxième sous-bande, est pondéré (905) par un facteur proportionnel à la racine carrée du seuil de masquage normalisé pour la deuxième sous-bande.
  5. Procédé selon la revendication 4, dans lequel le codage est effectué sur plus de deux sous-bandes, la première sous-bande étant incluse dans une première bande spectrale et la deuxième sous-bande étant incluse dans une deuxième bande spectrale, caractérisé en ce que l'on code (906) des valeurs de pondération de M j ,
    Figure imgb0039
    , où M(j) est le seuil de masquage normalisé pour une sous-bande d'indice j, incluse dans la deuxième bande spectrale.
  6. Procédé selon l'une des revendications précédentes, caractérisé en ce que le codage par transformée intervient dans une couche supérieure (110) d'un codeur hiérarchique,
    - la première sous-bande comportant un signal d LB W
    Figure imgb0040
    issu d'un codage de coeur (105) du codeur hiérarchique,
    - et la deuxième sous-bande comportant un signal original (SHB ).
  7. Procédé selon la revendication 6, caractérisé en ce que le signal d LB W
    Figure imgb0041
    issu du codage de coeur est pondéré perceptuellement (600 ; 900).
  8. Procédé selon l'une des revendications 6 et 7, caractérisé en ce que le signal d LB W
    Figure imgb0042
    issu du codage de coeur est un signal représentatif d'une différence entre un signal original et une synthèse de ce signal original.
  9. Procédé selon l'une des revendications 6 à 8, caractérisé en ce que le codage par transformée est de type TDAC dans un codeur global selon la norme G.729.1, et en ce que la première sous-bande est incluse dans une bande de basses fréquences (T1), tandis que la deuxième sous-bande est incluse dans une bande de hautes fréquences.
  10. Procédé selon la revendication 9, caractérisé en ce que la bande de hautes fréquences s'étend jusqu'à 7000 Hz (T2), au moins (T3).
  11. Procédé selon l'une des revendications précédentes, dans lequel une enveloppe spectrale est calculée (604 ; 904), caractérisé en ce que le seuil de masquage, pour une sous-bande, est défini par une convolution entre :
    - une expression de l'enveloppe spectrale, et
    - une fonction d'étalement faisant intervenir une fréquence centrale de ladite sous-bande.
  12. Procédé selon l'une des revendications précédentes, dans lequel on obtient une information (305) selon laquelle le signal à coder est tonal ou non tonal, caractérisé en ce que la pondération perceptuelle de la deuxième sous-bande, avec la détermination du seuil de masquage et la normalisation, ne sont menées que si le signal est non tonal.
  13. Procédé de décodage d'un signal audio en plusieurs sous-bandes, dans lequel au moins une première et une deuxième sous-bande, adjacentes, sont décodées par transformée (709, 711 ; 1007, 1009),
    caractérisé en ce que, pour appliquer une pondération perceptuelle, dans le domaine transformé, au moins à la deuxième sous-bande, le procédé comporte :
    - une détermination d'au moins un seuil de masquage fréquentiel (702 ; 1001 ; 1011b) à appliquer sur la deuxième sous-bande, à partir d'une enveloppe spectrale décodée, et
    - une normalisation dudit seuil de masquage pour assurer une continuité spectrale entre lesdites première et deuxième sous-bandes.
  14. Procédé selon la revendication 13, dans lequel un nombre de bits à allouer à chaque sous-bande (703) est déterminé à partir d'un décodage d'enveloppe spectrale (701),
    caractérisé en ce que l'allocation des bits (703) pour la deuxième sous-bande au moins est déterminés en outre en fonction d'un calcul de courbe de masquage normalisé (702), appliqué au moins à la deuxième sous-bande.
  15. Procédé selon la revendication 13, caractérisé en ce que le signal transformé, dans la deuxième sous-bande, est pondéré (1004) par un facteur proportionnel à la racine carrée du seuil de masquage normalisé pour la deuxième sous-bande.
  16. Programme informatique, stocké dans une mémoire d'un codeur d'un terminal de télécommunication et/ou stocké sur un support mémoire destiné à coopérer avec un lecteur dudit codeur,
    caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre du procédé de codage selon l'une des revendications 1 à 12 lorsque lesdites instructions sont exécutées par un processeur du codeur.
  17. Codeur, caractérisé en ce qu'il comporte au moins une mémoire stockant un programme informatique selon la revendication 16.
  18. Programme informatique, stocké dans une mémoire d'un décodeur d'un terminal de télécommunication et/ou stocké sur un support mémoire destiné à coopérer avec un lecteur dudit décodeur,
    caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre du procédé de décodage selon l'une des revendications 13 à 15 lorsque lesdites instructions sont exécutées par un processeur du décodeur.
  19. Décodeur, caractérisé en ce qu'il comporte au moins une mémoire stockant un programme informatique selon la revendication 18.
EP08762010A 2007-02-02 2008-01-30 Codage/decodage perfectionnes de signaux audionumeriques Active EP2115741B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0700747A FR2912249A1 (fr) 2007-02-02 2007-02-02 Codage/decodage perfectionnes de signaux audionumeriques.
PCT/FR2008/050150 WO2008104663A1 (fr) 2007-02-02 2008-01-30 Codage/decodage perfectionnes de signaux audionumeriques

Publications (2)

Publication Number Publication Date
EP2115741A1 EP2115741A1 (fr) 2009-11-11
EP2115741B1 true EP2115741B1 (fr) 2010-07-07

Family

ID=38477199

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08762010A Active EP2115741B1 (fr) 2007-02-02 2008-01-30 Codage/decodage perfectionnes de signaux audionumeriques

Country Status (10)

Country Link
US (1) US8543389B2 (fr)
EP (1) EP2115741B1 (fr)
JP (1) JP5357055B2 (fr)
KR (1) KR101425944B1 (fr)
CN (1) CN101622661B (fr)
AT (1) ATE473504T1 (fr)
DE (1) DE602008001718D1 (fr)
ES (1) ES2347850T3 (fr)
FR (1) FR2912249A1 (fr)
WO (1) WO2008104663A1 (fr)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008022207A2 (fr) * 2006-08-15 2008-02-21 Broadcom Corporation distorsion temporelle d'un signal audio décodé après une perte de paquets
CN102089814B (zh) * 2008-07-11 2012-11-21 弗劳恩霍夫应用研究促进协会 对编码的音频信号进行解码的设备和方法
AU2009267532B2 (en) * 2008-07-11 2013-04-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. An apparatus and a method for calculating a number of spectral envelopes
WO2010028301A1 (fr) * 2008-09-06 2010-03-11 GH Innovation, Inc. Contrôle de netteté d'harmoniques/bruits de spectre
WO2010028297A1 (fr) * 2008-09-06 2010-03-11 GH Innovation, Inc. Extension sélective de bande passante
WO2010028292A1 (fr) * 2008-09-06 2010-03-11 Huawei Technologies Co., Ltd. Prédiction de fréquence adaptative
US8577673B2 (en) * 2008-09-15 2013-11-05 Huawei Technologies Co., Ltd. CELP post-processing for music signals
WO2010031003A1 (fr) 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Addition d'une seconde couche d'amélioration à une couche centrale basée sur une prédiction linéaire à excitation par code
WO2010093224A2 (fr) * 2009-02-16 2010-08-19 한국전자통신연구원 Procédé de codage/décodage de signaux audio par codage adaptatif en impulsions sinusoïdales et dispositif correspondant
FR2947944A1 (fr) * 2009-07-07 2011-01-14 France Telecom Codage/decodage perfectionne de signaux audionumeriques
ES2441069T3 (es) * 2009-10-08 2014-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, procedimiento y programa de computación que usan un modelado de ruido en base a linealidad-predicción-codificación
CN102598123B (zh) * 2009-10-23 2015-07-22 松下电器(美国)知识产权公司 编码装置、解码装置及其方法
WO2011121782A1 (fr) * 2010-03-31 2011-10-06 富士通株式会社 Dispositif d'extension de largeur de bande et procédé d'extension de largeur de bande
US9443534B2 (en) 2010-04-14 2016-09-13 Huawei Technologies Co., Ltd. Bandwidth extension system and approach
US9508356B2 (en) * 2010-04-19 2016-11-29 Panasonic Intellectual Property Corporation Of America Encoding device, decoding device, encoding method and decoding method
US8600737B2 (en) 2010-06-01 2013-12-03 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for wideband speech coding
CA3160488C (fr) 2010-07-02 2023-09-05 Dolby International Ab Decodage audio avec post-filtrage selectif
US8924222B2 (en) 2010-07-30 2014-12-30 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for coding of harmonic signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
KR101826331B1 (ko) * 2010-09-15 2018-03-22 삼성전자주식회사 고주파수 대역폭 확장을 위한 부호화/복호화 장치 및 방법
MY186055A (en) * 2010-12-29 2021-06-17 Samsung Electronics Co Ltd Coding apparatus and decoding apparatus with bandwidth extension
US9536534B2 (en) * 2011-04-20 2017-01-03 Panasonic Intellectual Property Corporation Of America Speech/audio encoding apparatus, speech/audio decoding apparatus, and methods thereof
US8712076B2 (en) 2012-02-08 2014-04-29 Dolby Laboratories Licensing Corporation Post-processing including median filtering of noise suppression gains
US9173025B2 (en) 2012-02-08 2015-10-27 Dolby Laboratories Licensing Corporation Combined suppression of noise, echo, and out-of-location signals
WO2013168414A1 (fr) * 2012-05-11 2013-11-14 パナソニック株式会社 Codeur de signal audio hybride, décodeur de signal audio hybride, procédé de codage de signal audio et procédé de décodage de signal audio
EP3176784B1 (fr) 2013-01-08 2020-01-01 Dolby International AB Prédiction à base de modèle dans un banc de filtres
CA3029037C (fr) * 2013-04-05 2021-12-28 Dolby International Ab Codeur et decodeur audio
CN104217727B (zh) * 2013-05-31 2017-07-21 华为技术有限公司 信号解码方法及设备
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
US10580417B2 (en) * 2013-10-22 2020-03-03 Industry-Academic Cooperation Foundation, Yonsei University Method and apparatus for binaural rendering audio signal using variable order filtering in frequency domain
KR101498113B1 (ko) * 2013-10-23 2015-03-04 광주과학기술원 사운드 신호의 대역폭 확장 장치 및 방법
CN111105806B (zh) * 2014-03-24 2024-04-26 三星电子株式会社 高频带编码方法和装置,以及高频带解码方法和装置
EP3139383B1 (fr) * 2014-05-01 2019-09-25 Nippon Telegraph and Telephone Corporation Codage et décodage d'un signal sonore
CN111968655B (zh) 2014-07-28 2023-11-10 三星电子株式会社 信号编码方法和装置以及信号解码方法和装置
WO2017033113A1 (fr) 2015-08-21 2017-03-02 Acerta Pharma B.V. Associations thérapeutiques d'un inhibiteur de mek et d'un inhibiteur de btk
US10628165B2 (en) * 2017-08-17 2020-04-21 Agora Lab, Inc. Gain control for multiple description coding
EP3483884A1 (fr) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Filtrage de signal
EP3483886A1 (fr) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sélection de délai tonal
EP3483883A1 (fr) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codage et décodage de signaux audio avec postfiltrage séléctif
EP3483882A1 (fr) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Contrôle de la bande passante dans des codeurs et/ou des décodeurs
EP3483878A1 (fr) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Décodeur audio supportant un ensemble de différents outils de dissimulation de pertes
WO2019091576A1 (fr) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codeurs audio, décodeurs audio, procédés et programmes informatiques adaptant un codage et un décodage de bits les moins significatifs
EP3483880A1 (fr) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Mise en forme de bruit temporel
EP3483879A1 (fr) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Fonction de fenêtrage d'analyse/de synthèse pour une transformation chevauchante modulée
KR102189733B1 (ko) * 2019-06-12 2020-12-11 주식회사 에이치알지 대동물의 섭취량을 측정하는 전자 장치 및 그 동작 방법
WO2024034389A1 (fr) * 2022-08-09 2024-02-15 ソニーグループ株式会社 Dispositif de traitement de signal, procédé de traitement de signal et programme

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695700A (ja) * 1992-09-09 1994-04-08 Toshiba Corp 音声符号化方法及びその装置
US5632003A (en) * 1993-07-16 1997-05-20 Dolby Laboratories Licensing Corporation Computationally efficient adaptive bit allocation for coding method and apparatus
US5623577A (en) * 1993-07-16 1997-04-22 Dolby Laboratories Licensing Corporation Computationally efficient adaptive bit allocation for encoding method and apparatus with allowance for decoder spectral distortions
US5625743A (en) * 1994-10-07 1997-04-29 Motorola, Inc. Determining a masking level for a subband in a subband audio encoder
US5790759A (en) * 1995-09-19 1998-08-04 Lucent Technologies Inc. Perceptual noise masking measure based on synthesis filter frequency response
CA2185745C (fr) * 1995-09-19 2001-02-13 Juin-Hwey Chen Synthese de signaux vocaux en l'absence de parametres codes
CN100361405C (zh) * 1998-05-27 2008-01-09 微软公司 利用可升级的音频编码器和解码器处理输入信号的方法
JP3515903B2 (ja) * 1998-06-16 2004-04-05 松下電器産業株式会社 オーディオ符号化のための動的ビット割り当て方法及び装置
US6363338B1 (en) * 1999-04-12 2002-03-26 Dolby Laboratories Licensing Corporation Quantization in perceptual audio coders with compensation for synthesis filter noise spreading
JP2003280697A (ja) * 2002-03-22 2003-10-02 Sanyo Electric Co Ltd 音声圧縮方法および音声圧縮装置
US7752052B2 (en) * 2002-04-26 2010-07-06 Panasonic Corporation Scalable coder and decoder performing amplitude flattening for error spectrum estimation
FR2850781B1 (fr) * 2003-01-30 2005-05-06 Jean Luc Crebouw Procede pour le traitement numerique differencie de la voix et de la musique, le filtrage du bruit, la creation d'effets speciaux et dispositif pour la mise en oeuvre dudit procede
US7333930B2 (en) * 2003-03-14 2008-02-19 Agere Systems Inc. Tonal analysis for perceptual audio coding using a compressed spectral representation
RU2404506C2 (ru) * 2004-11-05 2010-11-20 Панасоник Корпорэйшн Устройство масштабируемого декодирования и устройство масштабируемого кодирования
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
EP2077550B8 (fr) * 2008-01-04 2012-03-14 Dolby International AB Encodeur audio et décodeur

Also Published As

Publication number Publication date
ES2347850T3 (es) 2010-11-04
DE602008001718D1 (de) 2010-08-19
US20100121646A1 (en) 2010-05-13
KR101425944B1 (ko) 2014-08-06
JP2010518422A (ja) 2010-05-27
JP5357055B2 (ja) 2013-12-04
WO2008104663A1 (fr) 2008-09-04
US8543389B2 (en) 2013-09-24
CN101622661B (zh) 2012-05-23
CN101622661A (zh) 2010-01-06
FR2912249A1 (fr) 2008-08-08
ATE473504T1 (de) 2010-07-15
EP2115741A1 (fr) 2009-11-11
KR20090104846A (ko) 2009-10-06

Similar Documents

Publication Publication Date Title
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
EP2452336B1 (fr) Codage/décodage perfectionne de signaux audionumériques
EP1989706B1 (fr) Dispositif de ponderation perceptuelle en codage/decodage audio
JP5161069B2 (ja) 広帯域音声符号化のためのシステム、方法、及び装置
EP1692689B1 (fr) Procede de codage multiple optimise
KR102105305B1 (ko) 계층형 정현파 코딩을 이용한 오디오 신호의 인코딩 및 디코딩 방법 및 장치
EP3103116B1 (fr) Extension ameliorée de bande de fréquence dans un décodeur de signaux audiofréquences
US9047877B2 (en) Method and device for an silence insertion descriptor frame decision based upon variations in sub-band characteristic information
WO2007107670A2 (fr) Procede de post-traitement d&#39;un signal dans un decodeur audio

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

AK Designated contracting states

Kind code of ref document: A1

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

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

DAX Request for extension of the european patent (deleted)
GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

RIN1 Information on inventor provided before grant (corrected)

Inventor name: GUILLAUME, CYRIL

Inventor name: RAGOT, STEPHANE

AK Designated contracting states

Kind code of ref document: B1

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

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 602008001718

Country of ref document: DE

Date of ref document: 20100819

Kind code of ref document: P

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20100707

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2347850

Country of ref document: ES

Kind code of ref document: T3

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

LTIE Lt: invalidation of european patent or patent extension

Effective date: 20100707

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

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

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

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

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

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

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

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

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

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

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

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

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

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

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

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

Ref country code: IE

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

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

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

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

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

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

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

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

26N No opposition filed

Effective date: 20110408

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602008001718

Country of ref document: DE

Effective date: 20110408

BERE Be: lapsed

Owner name: FRANCE TELECOM

Effective date: 20110131

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 NON-PAYMENT OF DUE FEES

Effective date: 20110131

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

Ref country code: BE

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

Effective date: 20110131

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

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

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

Effective date: 20120131

Ref country code: LI

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

Effective date: 20120131

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

Ref country code: LU

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

Effective date: 20110130

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 NON-PAYMENT OF DUE FEES

Effective date: 20100707

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

Ref country code: TR

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

Effective date: 20100707

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

Effective date: 20100707

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

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 10

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 11

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

Ref country code: GB

Payment date: 20231219

Year of fee payment: 17

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

Ref country code: FR

Payment date: 20231219

Year of fee payment: 17

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

Ref country code: ES

Payment date: 20240202

Year of fee payment: 17

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

Ref country code: DE

Payment date: 20231219

Year of fee payment: 17

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

Ref country code: IT

Payment date: 20240102

Year of fee payment: 17