EP2452337A1 - Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques - Google Patents

Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques

Info

Publication number
EP2452337A1
EP2452337A1 EP10745328A EP10745328A EP2452337A1 EP 2452337 A1 EP2452337 A1 EP 2452337A1 EP 10745328 A EP10745328 A EP 10745328A EP 10745328 A EP10745328 A EP 10745328A EP 2452337 A1 EP2452337 A1 EP 2452337A1
Authority
EP
European Patent Office
Prior art keywords
coding
decoding
bits
allocated
band
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP10745328A
Other languages
German (de)
English (en)
Other versions
EP2452337B1 (fr
Inventor
David Virette
Pierre Berthet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP2452337A1 publication Critical patent/EP2452337A1/fr
Application granted granted Critical
Publication of EP2452337B1 publication Critical patent/EP2452337B1/fr
Not-in-force legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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
    • 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

Definitions

  • the present invention relates to a binary allocation method for sound data processing.
  • This processing is adapted in particular to the transmission and / or storage of digital signals such as audio-frequency signals (speech, music, or other).
  • the invention applies more particularly to hierarchical coding (or "scalable” coding) that generates a so-called “hierarchical” bit stream because it comprises a core rate and one or more improvement layer (s) (the standardized coding according to G .722 at 48, 56 and 64 kbit / s being typically bitrate scalable, while the ITU-T G.729.1 and MPEG-4 CELP codecs are scalable in both rate and bandwidth).
  • s improvement layer
  • Hierarchical coding having the capacity to provide varied bit rates, is described below by distributing the information relating to an audio signal to be coded in hierarchical subsets, so that this information can be used in order of importance. in terms of audio rendering quality.
  • the criterion taken into account for determining the order is a criterion for optimizing (or rather reducing) the quality of the coded audio signal.
  • Hierarchical coding is particularly suited to transmission over heterogeneous networks or having variable available rates over time, or to transmission to terminals with varying capacities.
  • the basic concept of hierarchical audio coding 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 fixed rate codec, called “core coded”, which guarantees the minimum quality of the coding.
  • This layer must be received by the decoder to maintain an acceptable level of quality. Improvement layers are used to improve quality. However, they may not all be received by the decoder.
  • the main advantage of hierarchical coding is that it allows an adaptation of the bit rate simply by "truncation of the bit stream".
  • the number of layers i.e., the number of possible truncations of the bitstream
  • the number of layers defines the granularity of the coding.
  • scalable bandwidth and scalability encoding techniques are described below, with a CELP core-type coder, in a telephone band, and one or more broadband enhancement layer (s).
  • An example of such systems is given in the ITU-T G.729.1 8-32 kbit / s fine grain standard.
  • the G.729.1 coding / decoding algorithm is summarized below.
  • the G.729.1 encoder is an extension of the ITU-T G.729 coder. It is a modified G.729 heart-shaped hierarchical encoder producing a bandwidth ranging from narrow band (50-4000 Hz) to wide band (50-7000 Hz) at a rate of 8 to 32 kbit / s for conversational services. This codec is compatible with existing VoIP devices that use the G.729 codec.
  • the G.729.1 coder is shown diagrammatically in FIG. 1.
  • the broadband input signal s WB sampled at 16 kHz, is first broken down 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 preprocessed by a high-pass filter eliminating the components below 50 Hz (block 104), to obtain the signal s LB , before coding
  • the narrow-band CELP coding is a cascaded CELP coding comprising as a first stage a modified G.729 coding without a filter. preprocessing and as a second stage an additional fixed CELP dictionary.
  • the high band is first pretreated (block 106) to compensate for the folding due to the high-pass filter (block 102) combined with the decimation (block 103).
  • the high band is then filtered by a low pass filter (block 107) eliminating the components between 3000 and 4000 Hz from the high band (that is, the components between 7000 and
  • a parametric band extension (block 108) is then performed.
  • the error signal d LB of the low band is calculated (block 109) from the output of the CELP coder (block 105) and a transform predictive coding (TDAC type for "Time Domain Aliasing Cancellation" in the standard G .729.1) is carried out at block 110.
  • TDAC type for "Time Domain Aliasing Cancellation" in the standard 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 bit streams generated by the coding blocks 105, 108, 110 and 111 are finally multiplexed and structured into a hierarchical bit stream in the multiplexing block 112.
  • the coding is performed by 20 ms sample blocks (or frames). 320 samples per frame.
  • the G.729.1 codec therefore has a three-step coding architecture comprising: cascading CELP coding,
  • TDAC transform predictive coding applied after an MDCT (Modified Discrete Cosine Transform) transformation.
  • MDCT Modified Discrete Cosine Transform
  • the G.729.1 decoder is illustrated in Figure 2.
  • the bits describing each 20 ms frame are demultiplexed in the block 200.
  • the bit stream of the 8 and 12 kbit / s layers is used by the CELP decoder
  • block 201 to generate the narrow-band synthesis (0-4000 Hz).
  • the portion of the bit stream associated with the 14 kbit / s layer is decoded by the tape extension module (block 202).
  • the portion of the bit stream associated with data rates greater than 14 kbit / s is decoded by the TDAC module (block 203).
  • LJn treatment of pre-echoes and post-echoes is performed by the blocks 204 and 207 as well as an enrichment (block 205) and a post-processing of the low band (block 206).
  • the broadband output signal s wh sampled at 16 kHz, is obtained via the QMF synthesis filterbank (blocks 209, 210, 211, 212 and 213) incorporating reverse folding (block 208).
  • the TDAC type transform coding in the G.729.1 encoder is illustrated in FIG.
  • the filter W LB (z) (block 300) is a perceptual weighting filter, with gain compensation, applied to the low band error signal d LB. MDCT transforms are then calculated (blocks 301 and 302) to obtain:
  • MDCT transforms (blocks 301 and 302) apply to 20 ms of sampled signal at 8 kHz (160 coefficients).
  • the spectrum Y (Jc) from the block 303 of fusion thus comprises 2 x 160, or 320 coefficients. It is defined as follows:
  • a subband j comprises the coefficients F (A :) with sb bound bound (j) ⁇ k ⁇ sb _ bound (j + 1).
  • the coefficients 280-319 corresponding to the frequency band 7000 Hz - 8000 Hz are not coded; they are set to zero at the decoder because the bandwidth of the codec is 50-7000 Hz.
  • Table 1 TDAC Encoding Boundary Limits and Size
  • the spectral envelope ⁇ og__rms (j) ⁇ ⁇ is calculated in block 304 according to the formula:
  • This quantized value rms_index (j) is transmitted to the bit allocation block 306.
  • two types of coding can be chosen according to a given criterion, and, more precisely, the rms values _index (j):
  • LJn bit (0 or 1) is transmitted to the decoder to indicate the encoding mode that has been chosen.
  • the number of bits allocated to each subband for its quantization is determined at block 306 from the quantized spectral envelope from block 305.
  • the allocation of the bits performed minimizes the squared error while respecting the constraint of an integer number of 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 in FIG. 4.
  • block 401 allows to find the allocation of bits (block 402).
  • Envelope decoding (block 401) reconstructs the quantized values of the spectral envelope
  • each of the subbands is found by inverse spherical vector quantization (block 403).
  • the non-transmitted sub-bands, due to a lack of "budget" of bits, are extrapolated (block 404) from the MDCT transform of the signal at the output of the band extension block (block 202 of FIG. 2).
  • the MDCT spectrum is separated into two (block 407): with first 160 coefficients corresponding to the spectrum D ⁇ 0 of the decoded difference signal in low band, filtered perceptually,
  • IMDCT inverse MDCT transform
  • W LB inverse perceptual weighting
  • the purpose of the binary allocation is to distribute between each of the sub-bands a certain bit budget (variable) noted nbits _ VQ, with:
  • nbits _VQ 351 - nbits _ rms, where nbits _ rms is the number of bits used by the coding of the spectral envelope.
  • Table 2 Possible values of number of bits allocated in TDAC subbands.
  • nbit (j) arg min nb _ coef (j) x (ip (j) - ⁇ ) - r
  • is a parameter optimized by dichotomy to satisfy the global constraint ⁇ nbit (j) ⁇ nbits_VQ
  • SWB Super Wide Band
  • This document describes a super-wideband encoding / decoding system having a G.729.1 or G.718 core encoding stage and a band extension stage.
  • the core coding performs the coding of the frequency band from 0 to 7 kHz while the extension band performs coding in the frequency band from 7 to 14 kHz.
  • a first extension coding layer is based on a parametric model based on two coding modes: a generic mode and a sinusoidal mode.
  • the generic mode uses a transposition method in the MDCT domain for the artificial generation of high frequency MDCT coefficients (7-14 kHz) from low frequencies (0-7 kHz).
  • the low frequency band for encoding a high frequency band is selected on a criterion of maximizing the normalized correlation.
  • Sinusoidal mode is normally used for particularly harmonic or tonal signals. In this mode, the most energetic components are selected. We then transmit their positions, their amplitudes and their signs.
  • This first layer is transmitted with a bit rate of 4 kbit / s.
  • a second 7-14 kHz band enhancement layer is proposed which is based on the additional sinusoidal coding approaching the MDCT spectrum of the input signal.
  • the bit allocation for this second extension layer is fixed once and for all.
  • extension coding presented in this document improves the signal only in the extension frequency band from 7 to 14 kHz.
  • the 0 to 7 kHz frequency band of the core coding is not changed.
  • the decoder then directly uses the synthesized signal from the first TDBWE band extension coding layer for the 4-7kHz band, to bridge the non-band allocated.
  • a band extension can accentuate the coding defects of the core layer.
  • the present invention improves the situation.
  • a first number of bits (nbit_enhanced (j)) is allocated to a coding / decoding correction coding / decoding in the first frequency band and according to a first coding / decoding mode and a second number of bits (nb_sin) are allocated to an encoding / decoding enhancement of the extension coding / decoding in the second frequency band and in a second coding / decoding mode.
  • the allocation method makes it possible while performing an improvement of the frequency band extension coding of a core coding, of allocating additional bits to also correct the core coding in the first frequency band.
  • the overall quality of the coded signal is thus improved.
  • the method comprises the following steps:
  • the allocation according to one embodiment of the invention makes it possible to allocate additional bits for these sub-bands. frequency in order to improve the core coding in these sub-bands and this while also guaranteeing an improvement for the extension coding.
  • a minimum number of bits is set per frequency sub-band for the allocation of the first number of bits.
  • each frequency sub-band has a guaranteed associated bit rate and therefore a guaranteed coding.
  • the predetermined threshold is set to 0.
  • the predetermined threshold is greater than 0 and if the first allocated number of bits is greater than the predetermined number of bits, the value of the threshold is reduced.
  • the allocation is more adapted to the signal, a maximum correction of the core coding then being performed to optimize the maximum rate allocated. This optimization is done as and when adjusting the threshold.
  • the method comprises a step of receiving tone information of a residual signal resulting from a difference between a signal from a first band extension layer and the original signal and in case of residual tone signal, the second number of bits allocated for coding / decoding enhancement of the band extension is larger than the first number.
  • this tone information is calculated directly on the original signal, for example by detecting peak energy in the spectrum.
  • the enhancement layer of the band extension is adapted to the type of signal that it has to code.
  • the coding according to the extension coding mode being particularly adapted to the tonal type signal, the priority is thus given to this coding mode.
  • the core coding / decoding is of G.729.1 standardized coding / decoding type, the first coding / decoding mode being a transform coding / decoding and the second coding / decoding mode being a parametric encoding / decoding.
  • the present invention also relates to a bit allocation module in a coder / decoder for improving a hierarchical encoder / decoder of digital audio signals comprising a core coding / decoding module in a first frequency band and a coding / coding module. band extension decoding in a second frequency band.
  • This allocation module comprises:
  • bit_enhanced (j) means for allocating a first number of bits (nbit_enhanced (j)) to a correction coding / decoding module of the heart encoder / decoder in the first frequency band and according to a first coding / decoding mode, for a predetermined number of bits to be allocated for the enhancement coder / decoder, and
  • nb_sin a second number of bits
  • the invention relates to a hierarchical coder comprising an allocation module according to the invention.
  • the invention also relates to a hierarchical decoder comprising an allocation module according to the invention.
  • the invention relates to a computer program comprising code instructions for implementing the steps of an allocation method according to the invention, when they are executed by a processor.
  • FIG. 1 illustrates the structure of a G.729.1 type encoder described above
  • FIG. 2 illustrates the structure of a G.729.1 type decoder described above
  • FIG. 3 illustrates the structure of a TDAC encoder included in the G.729.1 type encoder and described previously:
  • FIG. 4 illustrates the structure of a TDAC decoder included in a G.729.1 decoder and as described above;
  • FIG. 5 illustrates the structure of a frequency-band extended G.729.1 encoder in which the invention can be implemented;
  • FIG. 6 illustrates the structure of a G.729.1 extended frequency band decoder in which the invention can be implemented
  • FIG. 7 illustrates an enhancement coder comprising a bit allocation module according to the invention implementing an allocation method according to one embodiment of the invention
  • FIG. 8 illustrates an exemplary hardware embodiment of an allocation module according to the invention
  • Such an encoder as represented consists of an extension of the frequencies coded by the module 515, the frequency band used passing from [50Hz-7KHz] to
  • the encoder as shown in FIG. 5 comprises the same modules as the G.729.1 core coding shown in FIG. 1 and an additional band extension module 515 which provides an extension signal to the multiplexing module 512.
  • This extension coding module 515 operates in the frequency band from 7 to 14 kHz, said second frequency band with respect to the first frequency band ranging from 0 to 7 kHz of the core coding.
  • This frequency band extension is calculated on the original full-band signal S SWB while the input signal of the core encoder is obtained by decimation (block 516) and low-pass filtering (block 517). At the output of these blocks, the broadband input signal S WB is obtained.
  • the module 515 includes a first extension coding layer based on a parametric model based on two coding modes, a generic mode and a sinusoidal mode, depending on whether the original signal S WB is tonal or non-tonal as described in FIG. paper by Tammi, L. Laaksonen, A. Ramo, H. Toukomaa, entitled “Scalable Superwideband Extension for Wideband Coding", ICASSP, 2009.
  • It also comprises a coding layer for improving this first coding layer by a sinusoidal mode coding and whose bit allocation is performed according to a bit allocation method as described with reference to FIG. 7.
  • the extension module 515 receives information from the encoder
  • TDAC 510 in particular, the number of bits allocated in the frequency sub-bands of the core coding.
  • the allocation module as described later with reference to FIG. 7, is integrated in the extension module 515.
  • this module is integrated with the TDAC module
  • this module is independent of the two modules 510 and 515 and communicates the bit allocation results to the respective two modules.
  • a bit allocation module allocates a first number of bits to a core coding correction coding in the first frequency band and according to a first coding mode, in this case a coding by transformed. This allocation is performed according to a predetermined number of bits to be allocated for the improvement coding.
  • the module allocates a second number of bits to a coding for improving the extension coding in the second frequency band and according to a second coding mode, here the sinusoidal parametric mode.
  • the bit rate allocation between these two models may be difficult. Indeed, there will usually be a waveform coding model for the core, for example a transform coder that attempts to best encode the original signal.
  • a waveform coding model for the core, for example a transform coder that attempts to best encode the original signal.
  • band extension more generally parametric models are used which are designed to represent high frequencies perceptually without focusing on accurately coding the waveform.
  • the flow allocation between the two models can in this case be difficult.
  • the criteria for improving the core coder and the band extension are different and can hardly be compared to each other.
  • the TDAC coding module 510 receives an additional bit allocation for performing core coding correction in a number of subbands. It provides the multiplexing module in addition to the core coded signal, additional cores encoding correction coding bits.
  • G.729.1 decoder in super-expanded mode is described with reference to FIG. 6. It comprises the same modules as the G.729.1 decoder described with reference to FIG. 6.
  • band extension module 614 which receives from the demultiplexing module 600 the band extension signal as well as the improvement signal of the extension coding according to the allocation defined by the module. allocation device described with reference to Figure 7.
  • the decoder also comprises the synthesis filter bank (blocks 616, 615) for obtaining the super-wideband output signal S SWh .
  • the TDAC decoding module 603 receives from the multiplexing module, in addition to the coded core signal, additional cores correction bits according to the bit allocation defined by the allocation module described with reference to FIG. 7.
  • the decoder thus described thus benefits from the improvement coding implemented by the enhancement coder as now described with reference to FIG. 7.
  • bit allocation can not be recalculated to the decoder, this information is then transmitted in the corresponding enhancement layer.
  • the decoder may perform the same binary allocation calculation as the encoder by distributing the rate between the core encoder correction and the band extension.
  • the allocation module is based on the binary allocation of the core encoder and possibly on information coming from the first band extension layer, namely the tone indication.
  • An allocation module as described with reference to FIG. 7 implements the allocation method according to the invention.
  • This module can in the same way as for the encoder, integrate into the TDAC 603 decoder module, in the extension module 614 or be independent.
  • FIG. 7 represents a bit allocation module 701 according to the invention and shows the main steps of a bit allocation method according to the invention.
  • the block 306 shown in FIG. 7 corresponds to the bit allocation block for the core coding and as described in the TDAC coder of FIG. 3, for the G.729.1 core coding.
  • This heart allocation block delivers bit allocation information nbit (j) of the core coding, by frequency subband of the core frequency band.
  • This information is received by the joint bit allocation module 701. Based on a rate available for enhancement coding, the module 701 allocates a first number of nbit_enhanced (j) bits to perform a correction of the transformed type core encoding in a first frequency band and a second number of nb_sin bits. for parametric sinusoidal type coding, improvement of the extension coding in a second frequency band.
  • the module 701 receives a number of bits allocated for core coding for each of the subbands of the first frequency band.
  • This number of bits per subband is compared to a predetermined threshold.
  • the module 701 allocates a minimum number of bits of a predefined value, for example 9 bits.
  • the remaining available bits in relation to the bit rate allowed for improvement coding for example an allowable bit rate of 4 kbit / s, are allocated for the enhancement coding of the extension coding, i.e. the second extension coding layer as described with reference to FIG. 5.
  • the threshold can be set to 0.
  • the threshold can be set to 0.
  • the predetermined threshold is greater than 0.
  • a first test is performed with a minimum number of bits to be allocated for the sub-bands that have an allocation less than this threshold. In the case where many subbands have a bit allocation below the threshold, the available rate may be exceeded. In this case, the threshold is decreased to perform a second trial. This reduction can be done for example by dichotomy, until finding a threshold that allows to allocate the minimum number of bits per subbands.
  • the remaining number of bits is then allocated for sinusoidal band extension coding. It corresponds to the number of sine waves that can be encoded for the enhancement coding enhancement coding.
  • the allocation module 701 therefore provides a first bit allocation per sub-band, nbit-enhanced (j) to a core coding correction coding block 703 which performs a spherical vector quantization of a residual signal resulting from the quantization.
  • the correction coding block 703 thus provides the multiplexer block 704 with a correction signal of the core coding according to the number of bits allocated for this coding.
  • the allocation module 701 delivers a second allocation of bits nb_sin to a block 702 coding for improving the band extension coding.
  • This coding block receives the signal from the first band extension layer
  • the module 701 also receives tone information from the residual signal. This calculation of tone is given for example in the document ICASSP 2009 referenced above.
  • the coded improvement signal from the block 702 is transmitted to the multiplexing block 704 according to the bit allocation determined by the allocation method.
  • the improvement coding illustrated in this FIG. 7 is, for example, integrated in a G.729.1 super-wideband encoder as described with reference to FIG. 5.
  • the allocation module is for example located in the Tape Expansion Module 515. It receives from the TDAC 510, the allocation information of the core coding. It transmits the first number of bits allocated to the TDAC encoder which performs the spherical vector quantization of the block 703. It transmits to the second coding layer of the extension module 515, the second number of bits allocated for the sinusoidal mode coding of the block 702.
  • this bit allocation module is integrated with the TDAC module 510 of FIG. 5. It delivers the first number of bits allocated to the quantization block of the TDAC coder and the second number of bits allocated to the module. extension 515 for the enhancement coding of block 702.
  • the allocation module is independent of the modules 510 and 515 and sends respectively to the two modules, the first allocated number of bits and the second allocated number of bits.
  • This figure 7 represents the improvement coding stage.
  • An allocation module 701 then gives the number of bits nbit_enhanced (j) for the improvement decoding
  • SVQ decod heart decoding realized for example in the decoding module TDAC 603 of FIG. 6 and the number of bits nb_sin for the enhancement layer decoding enhancement (sinus decod), realized for example by the extension decoding module 614 of FIG. 6.
  • FIG. 8 illustrates an allocation module comprising a PROC processor cooperating with a memory block BM comprising a storage and / or working memory MEM.
  • This module comprises an input module adapted to receive a number of bits per sub-band nbit (j) of the first frequency band of a core encoder.
  • the memory block BM may advantageously comprise a computer program comprising code instructions for implementing the steps of the allocation method in the sense of the invention, when these instructions are executed by the processor PROC, and in particular the steps for a predetermined number of bits to be allocated for improvement coding / decoding:
  • the description of FIG. 7 repeats the steps of an algorithm of such a computer program.
  • the computer program can also be stored on a memory medium readable by a reader of the module or an encoder integrating the allocation module or downloadable in the memory space thereof.
  • the allocation module comprises an output module capable of transmitting the first number of bits nbit_enhanced (j) allocated for the correction coding of the core coding and a second number of nb_sin bits for the coding of improvement of the extension coding.
  • This allocation module can be integrated in a G.729.1 hierarchical coder / decoder in super wide band or more generally in any hierarchical coder / decoder with extension in frequency band.

Landscapes

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

Abstract

L'invention se rapporte à un procédé d'allocation binaire dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques comprenant un codage/décodage cœur dans une première bande de fréquence et un codage/décodage d'extension de bande dans une deuxième bande de fréquence. Le procédé selon l'invention est tel que, pour un nombre prédéterminé de bits à allouer pour le codage/décodage d'amélioration, un premier nombre de bits (nbit_enhanced(j)) est alloué à un codage/décodage de correction du codage/décodage cœur dans la première bande de fréquence et selon un premier mode de codage/décodage et un deuxième nombre de bits (nb_sin) est alloué à un codage/décodage d'amélioration du codage/décodage d'extension dans la deuxième bande de fréquence et selon un deuxième mode de codage/décodage. L'invention se rapporte également à un module d'allocation mettant en œuvre le procédé, à un codeur, décodeur comprenant ce module.

Description

Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques
La présente invention concerne un procédé d'allocation binaire pour un traitement de données sonores.
Ce traitement est adapté notamment à la transmission et/ou au stockage de signaux numériques tels que des signaux audiofréquences (parole, musique, ou autres).
L'invention s'applique plus particulièrement au codage hiérarchique (ou codage "scalable") qui génère un flux binaire dit « hiérarchique » car il comprend un débit cœur et une ou plusieurs couche(s) d'amélioration (le codage normalisé selon G.722 à 48, 56 et 64 kbit/s étant typiquement scalable en débit, tandis que les codées UIT-T G.729.1 et MPEG-4 CELP sont scalables à la fois en débit et en largeur de bande).
On détaille ci-après le codage hiérarchique, ayant la capacité de fournir des débits variés, en répartissant les informations relatives à un signal audio à coder dans des sous-ensembles hiérarchisés, de telle sorte que ces informations puissent être utilisées par ordre d'importance sur le plan de la qualité de rendu audio. Le critère pris en compte pour déterminer l'ordre est un critère d'optimisation (ou plutôt de moindre dégradation) de la qualité du signal audio codé. Le codage hiérarchique est particulièrement adapté à la transmission sur des réseaux hétérogènes ou présentant des débits disponibles variables au cours du temps, ou encore à la transmission à destination de terminaux présentant des capacités variables.
Le concept de base du codage audio hiérarchique (ou "scalable") peut être décrit comme suit. Le flux binaire comprend une couche de base et une ou plusieurs couches d'amélioration. La couche de base est générée par un codée à débit fixe, qualifié de « codée cœur », garantissant la qualité minimale du codage. Cette couche doit être reçue par le décodeur pour maintenir un niveau de qualité acceptable. Les couches d'amélioration servent à améliorer la qualité. Il peut arriver toutefois qu'elles ne soient pas toutes reçues par le décodeur.
L'intérêt principal du codage hiérarchique est qu'il permet alors une adaptation du débit par simple « troncature du flux binaire ». Le nombre de couches (c'est-à-dire le nombre de troncatures possibles du flux binaire) définit la granularité du codage. On parle de codage à « granularité forte » si le flux binaire comprend peu de couches (de l'ordre de 2 à 4) et de codage à « granularité fine » permet par exemple un pas de l'ordre de 1 à 2 kbit/s.
On décrit plus particulièrement ci-après les techniques de codage scalable en débit et en largeur de bande, avec un codeur cœur de type CELP, en bande téléphonique et une ou plusieurs couche(s) d'amélioration en bande élargie. Un exemple de tels systèmes est donné dans la norme UIT-T G.729.1 de 8 à 32 kbit/s à granularité fine. L'algorithme de codage/décodage G.729.1 est résumé ci-après.
* Rappels sur Ie codeur G.729.1
Le codeur G.729.1 est une extension du codeur UIT-T G.729. Il s'agit d'un codeur hiérarchique à cœur G.729, modifié, produisant un signal dont la bande va de la bande étroite (50-4000 Hz) à la bande élargie (50-7000 Hz) à un débit de 8 à 32 kbit/s pour les services conversationnels. Ce codée est compatible avec les équipements de voix sur IP existants qui utilisent le codée G.729. Le codeur G.729.1 est schématisé sur la figure 1. Le signal d'entrée en bande élargie 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 filtrée par un filtre passe-bas (bloc 107) éliminant les composantes entre 3000 et 4000 Hz de la bande haute (c'est-à-dire les composantes entre 7000 et
8000 Hz dans le signal original) pour obtenir le signal sHB . Une extension de bande paramétrique (bloc 108) est ensuite réalisée.
Une particularité importante de l'encodeur G.729.1 selon la figure 1 est la suivante. Le signal d'erreur dLB de la bande basse est calculé (bloc 109) à partir de la sortie du codeur CELP (bloc 105) et un codage prédictif par transformée (de type TDAC pour « Time Domain Aliasing Cancellation » dans la norme G.729.1) est réalisé au bloc 110. En référence à la figure 1, on voit en particulier que l'encodage TDAC est appliqué à la fois au signal d'erreur sur la bande basse et au signal filtré sur la bande haute.
Des paramètres supplémentaires peuvent être transmis par le bloc 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 multiplexes et structurés en un train binaire hiérarchique dans le bloc de multiplexage 112. Le codage est réalisé par blocs d'échantillons (ou trames) de 20 ms, soit 320 échantillons par trame.
Le codée G.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 Discrète Cosine Transform » ou « transformation en cosinus discrète modifiée »).
* Rappels sur Ie décodeur G.729.1 Le décodeur G.729.1 est illustré sur la figure 2. Les bits décrivant chaque trame de 20 ms sont démultiplexés dans le bloc 200.
Le flux binaire des couches à 8 et 12 kbit/s est utilisé par le décodeur CELP
(bloc 201) pour générer la synthèse en bande étroite (0-4000 Hz). La portion du flux binaire associée à la couche à 14 kbit/s est décodée par le module d'extension de bande (bloc 202). La portion du flux binaire associée aux débits supérieurs à 14 kbit/s est décodée par le module TDAC (bloc 203). LJn 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 swh , é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 Ie codeur par transformée TDAC dans Ie 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 DL W B 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(Jc) issu du bloc 303 de fusion comprend ainsi 2 x 160, soit 320 coefficients. Il est défini comme suit :
[F(O) F(l)- - -F(319)] SHB(0) SHB(l) -SHB (159)]
Ce spectre est divisé en dix-huit sous-bandes, une sous-bande j étant affectée d'un nombre de coefficients noté nb _cυef(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 F(A:) avec sb __ bound(j)≤ k < sb _ bound(j + 1) .
A noter que les coefficients 280-319 correspondants à la bande de fréquence 7000 Hz - 8000 Hz ne sont pas codés; ils sont mis à zéro au décodeur, car la bande passante du codée est de 50-7000 Hz.
Tableau 1 : Limites et taille des sous-bandes en codage TDAC L'enveloppe spectrale {\og__ rms(j)} π est calculée dans le bloc 304 suivant la formule :
-24
où £„„. = 2 L'enveloppe spectrale est codée à débit variable dans le bloc 305. Ce bloc
305 produit des valeurs quantifiées, entières, notées mis _index( j) (avec j=0,..., 17), obtenues par simple quantification scalaire :
mis _ index(j) = round (2 - log_ rms(j))
où la notation « round » désigne l'arrondi à l'entier le plus proche, et avec la contrainte :
- 11 < mis _ index(j)≤ +20
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 ( mis _index(j) , avec j=0,...,9) et pour la bande haute ( mis _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.
LJn bit (0 ou 1) est transmis au décodeur pour indiquer le mode de codage qui a été choisi.
Le nombre de bits alloués à chaque sous-bande pour sa quantification est déterminé au bloc 306 à partir de l'enveloppe spectrale quantifiée issue du bloc 305. L'allocation des bits effectuée minimise l'erreur quadratique tout en respectant la contrainte d'un nombre de bits entier alloué par sous-bande et d'un nombre de bits maximum à ne pas dépasser. Le contenu spectral des sous-bandes est ensuite codé par quantification vectorielle sphérique (bloc 307).
Les différents flux binaires générés par les blocs 305 et 307 sont ensuite multiplexes et structurés en un train binaire hiérarchique au bloc de multiplexage 308.
* Rappel sur Ie décodeur par transformée dans Ie 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
(multiplexe) et en déduit l'enveloppe décodée : rms_ q(j) = 2" m>i-"ukx(J)
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^0 du signal de différence décodé en bande basse, filtré perceptuellement,
- et 160 coefficients suivants correspondant au spectre SHB du signal original décodé en bande haute.
Ces deux spectres sont transformés en des signaux temporels par transformée MDCT inverse, notée IMDCT (blocs 408 et 410), et la pondération perceptuelle inverse (filtre noté WLB(z) ) est appliquée au signal d™B (bloc 409) résultant de la transformée inverse.
On décrit plus particulièrement ci-après l'allocation de bits aux sous-bandes (bloc
306 de la figure 3 ou bloc 402 de la figure 4).
Les blocs 306 et 402 réalisent une opération identique à partir des valeurs 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 :
nbits _VQ = 351 - nbits _ rms , où 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=O,- ..,17), alloués à chacune des sous-bande avec comme contrainte globale :
17
∑nbit(j)≤ nbits _VQ
/=0
Dans la norme G.729.1, les valeurs nbit(j) (J=O,...,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. Taille de la Ensemble des valeurs autorisées nbit(j) (en nombre de bits)
sous-bande y
nb_coef(j)
8 R , = {0, 7, 10, 12, 13, 14, 15, 16}
16 R 6 = {0, 9, 14, 16 17 18 I Q 20, 21, 22, 23, 24, 25, 26 , 27, 28, 29, 30, 31, 32}
Tableau 2 : Valeurs possibles de nombre de bits alloués dans les sous-bandes TDAC.
L'allocation dans la norme G.729.1 repose sur une "importance perceptuelle" par sous-bande liée à l'énergie de la sous-bande, notée ip(j) (/=0..17), définie comme suit : ψ(j) = -\og2(rms _q(j)2 x nb _coef(j))+ offset
où offset = -2.
Puisque les valeurs rms _q(j) = 2'/2 rms-mde^J\ cette formule se simplifie sous la forme :
— rms _index(j) pour j = 0,...,16
ipU) =
— ( rms _ index( /) - 1 ) pour j = 17
A partir de l'importance perceptuelle de chaque sous-bande, l'allocation nbit(j) est calculée comme suit :
nbit(j) = arg min nb _ coef (j)x (ip( j) - λ ) - r où λ est un paramètre optimisé par dichotomie pour satisfaire la contrainte globale ∑nbit(j)≤nbits_VQ
J=O
en se rapprochant au mieux du seuil nbits_VQ.
De nouvelles perspectives d'extension en bande super élargie, (SWB pour "Super Wide Band" en anglais), d'un codeur cœur de type G.729.1 tel que décrit ci- dessus ou de type G.718 sont actuellement en cours de discussion.
Une solution possible d'extension est décrite par exemple dans le document des auteurs M. Tammi, L. Laaksonen, A. Râmδ, H. Toukomaa, intitulé "Scalable Superwideband Extension for Wideband Coding", ICASSP, 2009.
Ce document décrit un système de codage/décodage en bande super-élargie comportant un étage de codage cœur de type G.729.1 ou G.718 et un étage d'extension de bande.
Le codage cœur effectue le codage de la bande de fréquence allant de 0 à 7 kHz alors que la bande d'extension effectue un codage dans la bande de fréquence allant de 7 à 14 kHz.
Une première couche de codage d'extension est basée sur un modèle paramétrique s'appuyant sur deux modes de codage: un mode générique et un mode sinusoïdal.
Le mode générique utilise une méthode de transposition dans le domaine MDCT pour la génération artificielle des coefficients MDCT hautes fréquences (7-14 kHz) à partir des fréquences basses (0-7 kHz). La bande de fréquence basse permettant de coder une bande de fréquence haute est sélectionnée sur un critère de maximisation de la corrélation normalisée. Le mode sinusoïdal est normalement utilisé pour les signaux particulièrement harmoniques ou tonaux. Dans ce mode, les composantes les plus énergétiques sont sélectionnées. On transmet alors leurs positions, leurs amplitudes et leurs signes.
Cette première couche est transmise avec un débit de 4 kbit/s. Dans cet article, une seconde couche d'amélioration de la bande 7-14 kHz est proposée, elle est basée sur le codage de sinusoïdes additionnelles permettant de s'approcher au plus du spectre MDCT du signal d'entrée. L'allocation de bits pour cette deuxième couche d'extension est fixée une fois pour toute.
Ainsi, le codage d'extension présentée dans ce document, n'améliore le signal que dans la bande de fréquence d'extension allant de 7 à 14 kHz. La bande de fréquence de 0 à 7 kHz du codage cœur n'est pas modifiée.
Il peut arriver cependant que certaines sous-bandes de fréquence de la bande de fréquence cœur ne reçoivent pas suffisamment de débit.
Dans le cas où 0 bit est alloué à une sous-bande de codage cœur, le décodeur utilise alors directement le signal synthétisé issu de la première couche de codage d'extension de bande TDBWE pour la bande 4-7kHz, pour combler les bandes non allouées.
Il s'avère cependant que ces bandes peuvent parfois pénaliser la qualité perçue lorsque le codeur est combiné à un module d'extension de bande 7-14kHz.
En effet, l'ajout des hautes fréquences augmente parfois la perception de défauts issus des basses fréquences.
Ainsi, une extension de bande peut accentuer les défauts de codage de la couche cœur.
Il existe donc un besoin d'amélioration globale de la qualité du signal codé sur toute la bande de fréquence et pas seulement sur la bande de fréquence d'extension. La présente invention vient améliorer la situation.
Elle propose à cet effet, un procédé d'allocation binaire dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques comprenant un codage/décodage cœur dans une première bande de fréquence et un codage/décodage d'extension de bande dans une deuxième bande de fréquence. Le procédé est tel que,
pour un nombre prédéterminé de bits à allouer pour le codage/décodage d'amélioration, un premier nombre de bits (nbit_enhanced(j)) est alloué à un codage/décodage de correction du codage/décodage cœur dans la première bande de fréquence et selon un premier mode de codage/décodage et un deuxième nombre de bits (nb_sin) est alloué à un codage/décodage d'amélioration du codage/décodage d'extension dans la deuxième bande de fréquence et selon un deuxième mode de codage/décodage.
Ainsi, le procédé d'allocation selon un mode de réalisation de l'invention permet tout en effectuant une amélioration du codage d'extension en bande de fréquence d'un codage cœur, d'allouer des bits supplémentaires pour corriger également le codage cœur dans la première bande de fréquence.
Ceci permet d'obtenir un bon compromis entre le codage d'amélioration du codage cœur et celui de la bande d'extension. Ce compromis est obtenu de manière adaptative de façon à s'adapter au mieux au signal à coder et au format de codage mis en œuvre.
La qualité globale du signal codé est ainsi améliorée.
Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé d'allocation défini ci-dessus. Dans un mode de réalisation particulier, le procédé comporte les étapes suivantes:
- obtention du nombre de bits alloué (nbit(j)) pour le codage/décodage cœur, par sous-bande de fréquence de la première bande de fréquence;
- dans les sous-bandes de fréquence où le nombre de bits alloué pour le codage/décodage cœur ne dépasse pas un seuil prédéterminé, allocation d'un nombre de bits par sous-bande, constituant le premier nombre de bits pour le codage/décodage de correction du codage/décodage cœur;
- allocation du second nombre de bits alloué pour le codage/décodage d'amélioration du codage/décodage d'extension, en fonction du premier nombre de bits alloué et du nombre prédéterminé de bits à allouer.
Ainsi, pour les sous-bandes de fréquence du codage cœur qui n'ont reçus que très peu d'allocation de bits, l'allocation selon un mode de réalisation de l'invention permet d'allouer des bits supplémentaires pour ces sous-bandes de fréquence de façon à améliorer le codage cœur dans ces sous-bandes et ceci tout en garantissant aussi une amélioration pour le codage d'extension.
Dans un mode particulier de réalisation, un nombre minimal de bits est fixé par sous-bande de fréquence pour l'allocation du premier nombre de bits.
Ainsi, chaque sous-bande de fréquence a un débit associé garanti et donc un codage garanti.
De façon simple, le seuil prédéterminé est fixé à 0.
Dans une variante de réalisation, le seuil prédéterminé est supérieur à 0 et si le premier nombre de bits alloué est supérieur au nombre de bits prédéterminé, la valeur du seuil est réduite. L'allocation est plus adaptée au signal, une correction maximale du codage cœur étant alors effectuée pour optimiser au mieux le débit alloué. Cette optimisation est faite au fur et à mesure en adaptant le seuil.
Dans un mode particulier de réalisation, le procédé comporte une étape de réception d'information de tonalité d'un signal résiduel résultant d'une différence entre un signal issu d'une première couche d'extension de bande et le signal original et en cas de signal résiduel tonal, le second nombre de bits alloué pour le codage/décodage d'amélioration de l'extension de bande est plus important que le premier nombre. Dans une variante, cette information de tonalité est calculée directement sur le signal original, par exemple par une détection de pic d'énergie dans le spectre.
Ainsi la couche d'amélioration de l'extension de bande est adaptée au type de signal qu'elle a à coder. Le codage selon le mode de codage d'extension étant particulièrement adapté au signal de type tonal, la priorité est ainsi donnée à ce mode de codage.
Dans une application particulièrement adaptée de l'invention, le codage/décodage cœur est de type codage/décodage normalisé G.729.1, le premier mode de codage/décodage étant un codage/décodage par transformée et le second mode de codage/décodage étant un codage/décodage paramétrique.
La présente invention se rapporte également un module d'allocation binaire dans un codeur/décodeur d'amélioration d'un codeur/décodeur hiérarchique de signaux audionumériques comprenant un module de codage/décodage cœur dans une première bande de fréquence et un module de codage/décodage d'extension de bande dans une deuxième bande de fréquence. Ce module d'allocation comporte:
- des moyens d'allocation d'un premier nombre de bits (nbit_enhanced(j )) à un module de codage/décodage de correction du codeur/décodeur cœur dans la première bande de fréquence et selon un premier mode de codage/décodage, pour un nombre prédéterminé de bits à allouer pour le codeur/décodeur d'amélioration, et
- des moyens d'allocation d'un deuxième nombre de bits (nb_sin) à un module de codage/décodage d'amélioration du codeur/décodeur d'extension dans la deuxième bande de fréquence et selon un deuxième mode de codage/décodage.
L'invention se rapporte à un codeur hiérarchique comprenant un module d'allocation selon l'invention.
L'invention se rapporte également à un décodeur hiérarchique comprenant un module d'allocation selon l'invention.
Enfin, l'invention se rapporte à un programme informatique comportant des instructions de code pour la mise en œuvre des étapes d'un procédé d'allocation selon l'invention, lorsqu'elles sont exécutées par un processeur. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels:
- la figure 1 illustre la structure d'un codeur de type G.729.1 décrit précédemment;
- la figure 2 illustre la structure d'un décodeur de type G.729.1 décrit précédemment;
- la figure 3 illustre la structure d'un codeur TDAC inclus dans le codeur de type G.729.1 et décrit précédemment:
- la figure 4 illustre la structure d'un décodeur TDAC inclus dans un décodeur de type G.729.1 et tel que décrit précédemment; - la figure 5 illustre la structure d'un codeur G.729.1 étendu en bande de fréquence dans lequel l'invention peut être mis en œuvre;
- la figure 6 illustre la structure d'un décodeur G.729.1 étendu en bande de fréquence dans lequel l'invention peut être mis en œuvre;
- la figure 7 illustre un codeur d'amélioration comportant un module d'allocation de bits selon l'invention mettant en œuvre un procédé d'allocation selon un mode de réalisation de l'invention;
- la figure 8 illustre un exemple de réalisation matérielle d'un module d'allocation selon l'invention;
On décrit maintenant une application possible de l'invention à une extension de l'encodeur G.729.1, en particulier en bande super-élargie.
En référence à la figure 5, une extension en bande super-élargie d'un codeur cœur de type G.729.1 incluant l'invention selon un mode de réalisation, est maintenant décrit.
Un tel codeur tel que représenté consiste en une extension des fréquences codées par le module 515, la bande de fréquence utilisée passant de [50Hz-7KHz] à
[50Hz-14kHz] et en une amélioration de la couche de base du G.729.1 par le module de codage TDAC (bloc 510) et tel que décrit ultérieurement en référence à la figure 7.
Le codeur tel que représenté en figure 5, comporte les mêmes modules que le codage cœur G.729.1 représenté en figure 1 et un module supplémentaire d'extension de bande 515 qui fournit un signal d'extension au module de multiplexage 512.
Ce module de codage d'extension 515 fonctionne dans la bande de fréquence allant de 7 à 14 kHz, dite deuxième bande de fréquence par rapport à la première bande de fréquence allant de 0 à 7 kHz du codage cœur. Cette extension de bande de fréquence est calculée sur le signal original pleine bande SSWB alors que le signal d'entrée du codeur cœur est obtenu par décimation (bloc 516) et filtrage passe-bas (bloc 517). A la sortie de ces blocs, le signal d'entrée en bande élargie SWB est obtenu.
Le module 515 comporte une première couche de codage d'extension basée sur un modèle paramétrique s'appuyant sur deux modes de codage, un mode générique et un mode sinusoïdal, selon que le signal original SWB est tonal ou non tonal comme décrit dans le document de M. Tammi, L. Laaksonen, A. Ramo, H. Toukomaa, intitulé "Scalable Superwideband Extension for Wideband Coding", ICASSP, 2009.
Il comporte également une couche de codage d'amélioration de cette première couche de codage par un codage en mode sinusoïdal et dont l'allocation de bits s'effectue selon un procédé d'allocation de bits tel que décrit en référence à la figure 7.
Pour cela, le module d'extension 515 reçoit des informations du codeur
TDAC 510, notamment, le nombre de bits alloués dans les sous-bandes de fréquence du codage cœur.
Dans un mode de réalisation possible, le module d'allocation tel que décrit ultérieurement en référence à la figure 7, est intégré au module d'extension 515.
Dans un autre mode de réalisation, ce module est intégré au module TDAC
510. Dans encore un autre mode de réalisation, ce module est indépendant des deux modules 510 et 515 et communique les résultats d'allocation de bits aux deux modules respectifs.
Ainsi selon l'invention, un module d'allocation de bits alloue un premier nombre de bits à un codage de correction du codage cœur dans la première bande de fréquence et selon un premier mode de codage, dans le cas présent, un codage par transformée. Cette allocation s'effectue selon un nombre prédéterminé de bits à allouer pour le codage d'amélioration.
Le module alloue un deuxième nombre de bits à un codage d'amélioration du codage d'extension dans la deuxième bande de fréquence et selon un deuxième mode de codage, ici le mode paramétrique sinusoïdal.
Lorsque les modèles du codage cœur et de l'extension de bande sont différents, l'allocation de débit entre ces deux modèles peut s'avérer difficile. En effet, on aura généralement un modèle de codage de forme d'onde pour le cœur, par exemple un codeur par transformée qui tente de coder au mieux le signal original. Pour l'extension de bande, on utilise plus généralement des modèles paramétriques qui ont pour but de représenter perceptuellement les fréquences hautes sans pour autant s'attacher à coder fidèlement la forme d'onde.
L'allocation de débit entre les deux modèles peut dans ce cas être difficile. Les critères d'amélioration du codeur cœur et de l'extension de bande sont différents et peuvent difficilement être comparés l'un à l'autre.
Cette allocation sera détaillée ultérieurement en référence à la figure 7.
Ainsi, le module 510 de codage TDAC reçoit une allocation supplémentaire de bits pour effectuer une correction de codage cœur dans un certain nombre de sous- bandes. Il fournit au module de multiplexage en plus du signal codé cœur, des bits supplémentaires de codage de correction du codage cœur.
De la même façon, un décodeur G.729.1 en mode super-élargi est décrit en référence à la figure 6. Il comporte les mêmes modules que le décodeur G.729.1 décrit en référence à la figure 2.
Il comporte cependant un module supplémentaire d'extension de bande 614 qui reçoit du module de démultiplexage 600, le signal d'extension de bande ainsi que le signal d'amélioration du codage d'extension selon l'allocation définie par le module d'allocation décrit en référence à la figure 7. Le décodeur comporte également le banc de filtres de synthèse (blocs 616, 615) permettant d'obtenir le signal de sortie en bande super-élargie SSWh .
Le module 603 de décodage TDAC reçoit du module de multiplexage, en plus du signal cœur codé, des bits supplémentaires de correction du codage cœur selon l'allocation de bits définie par le module d'allocation décrit en référence à la figure 7.
Le décodeur ainsi décrit bénéficie donc du codage d'amélioration mis en œuvre par le codeur d'amélioration tel que maintenant décrit en référence à la figure 7.
Dans un mode de réalisation, l'allocation binaire ne peut pas être recalculée au décodeur, cette information est alors transmise dans la couche d'amélioration correspondante.
Dans un autre mode de réalisation, le décodeur peut effectuer le même calcul d'allocation binaire qu'au codeur en répartissant le débit entre la correction du codeur cœur et l'extension de bande. Le module d'allocation s'appuie sur l'allocation binaire du codeur cœur et éventuellement sur une information venant de la première couche d'extension de bande, à savoir l'indication de tonalité.
Un module d'allocation comme décrit en référence à la figure 7, met en œuvre le procédé d'allocation selon l'invention.
Ce module peut de la même façon que pour le codeur, s'intégrer dans le module décodeur TDAC 603, dans le module d'extension 614 ou être indépendant.
La figure 7 représente un module d'allocation de bits 701 selon l'invention et reprend les principales étapes d'un procédé d'allocation de bits selon l'invention.
Le bloc 306 représenté sur la figure 7 correspond au bloc d'allocation de bits pour le codage cœur et tel que décrit dans le codeur TDAC de la figure 3, pour le codage cœur G.729.1. Ce bloc d'allocation cœur délivre une information d'allocation de bits nbit(j) du codage cœur, par sous-bande de fréquence de la bande de fréquence cœur.
Cette information est reçue par le module 701 d'allocation de bits conjointe. En fonction d'un débit disponible pour le codage d'amélioration, le module 701 alloue un premier nombre de bits nbit_enhanced(j) pour effectuer une correction du codage cœur de type transformée dans une première bande de fréquence et un deuxième nombre de bits nb_sin pour le codage de type paramétrique sinusoïdal, d'amélioration du codage d'extension dans une deuxième bande de fréquence.
Plus particulièrement, le module 701 reçoit un nombre de bits alloués pour le codage cœur pour chacune des sous-bandes de la première bande de fréquence.
Ce nombre de bits par sous-bande est comparé à un seuil prédéterminé.
Dans les sous-bandes de fréquence où le nombre de bits alloué est inférieur au seuil, le module 701 alloue un nombre de bits minimum d'une valeur prédéfinie, par exemple 9 bits.
Les bits disponibles restants par rapport au débit autorisé pour le codage d'amélioration, par exemple un débit autorisé de 4 kbit/s, sont alloués pour le codage d'amélioration du codage d'extension, c'est-à-dire la deuxième couche de codage d'extension tel que décrit en référence à la figure 5.
De façon simple, le seuil peut être fixé à 0. Ainsi, seules les sous-bandes de fréquence qui n'ont reçus aucun débit, ont une allocation supplémentaire de bits pour corriger le codage cœur dans ces sous-bandes.
Dans une variante de réalisation, le seuil prédéterminé est supérieur à 0. Un premier essai est effectué avec un nombre minimum de bits à allouer pour les sous- bandes qui ont une allocation inférieure à ce seuil. Dans le cas où de nombreuses sous-bandes ont une allocation de bits inférieure au seuil, il se peut que le débit disponible soit dépassé. Dans ce cas, le seuil est diminué pour effectuer un deuxième essai. Cette diminution peut se faire par exemple par dichotomie, jusqu'à trouver un seuil qui permette d'allouer le nombre minimum de bits par sous-bandes.
Le nombre de bits restants est alors alloué pour le codage sinusoïdal d'extension de bande. Il correspond au nombre de sinusoïdes qui peuvent être codés pour le codage d'amélioration du codage d'extension.
Le module d'allocation 701 fournit donc une première allocation de bits par sous-bande, nbit-enhanced(j) à un bloc de codage de correction du codage cœur 703 qui effectue une quantification vectorielle sphérique d'un signal résiduel issu de la quantification vectorielle sphérique du codeur TDAC du codage cœur G.729.1, sHB et du signal original SHB-
Le bloc de codage de correction 703 délivre ainsi au bloc multiplexeur 704, un signal de correction du codage cœur selon le nombre de bits alloué pour ce codage.
Le module d'allocation 701 délivre une deuxième allocation de bits nb_sin à un bloc 702 de codage d'amélioration du codage d'extension de bande.
Ce bloc de codage reçoit le signal de la première couche d'extension de bande
S SWB ainsi que le signal original SSWB et code le signal résiduel issu du calcul de différence de ces deux signaux.
Dans une variante de réalisation, le module 701 reçoit également une information de tonalité du signal résiduel. Ce calcul de tonalité est donné par exemple dans le document ICASSP 2009 référencé ci-dessus.
Le signal d'amélioration codé issu du bloc 702 est transmis au bloc de multiplexage 704 selon l'allocation de bits déterminé par le procédé d'allocation. Le codage d'amélioration illustré sur cette figure 7 est par exemple intégré dans un codeur G.729.1 en bande super-élargie tel que décrit en référence à la figure 5.
Le module d'allocation est par exemple situé dans le module d'extension de bande 515. Il reçoit du TDAC 510, les informations d'allocation du codage cœur. Il transmet le premier nombre de bits alloué au codeur TDAC qui effectue la quantification vectorielle sphérique du bloc 703. Il transmet à la seconde couche de codage du module d'extension 515, le deuxième nombre de bits alloué pour le codage en mode sinusoïdal du bloc 702.
Dans une variante de réalisation, ce module d'allocation de bits est intégré au module TDAC 510 de la figure 5. Il délivre le premier nombre de bits alloué au bloc de quantification du codeur TDAC et le deuxième nombre de bits alloué au module d'extension 515 pour le codage d'amélioration du bloc 702.
Dans encore une autre variante, le module d'allocation est indépendant des modules 510 et 515 et envoie respectivement aux deux modules, le premier nombre de bits alloué et le deuxième nombre de bits alloué.
L'invention a été décrite ici pour une réalisation dans un codeur G.729.1 en bande super-élargie.
Elle peut bien évidemment s'intégrer dans un codeur en bande élargie de type G.718 ou dans tout autre codeur hiérarchique ayant un codage cœur dans une première bande de fréquence et un codage d'amélioration dans une deuxième bande de fréquence.
Cette figure 7 représente l'étage de codage d'amélioration. Pour le décodage d'amélioration, les mêmes opérations peuvent être effectuées. Un module d'allocation 701 donne alors le nombre de bits nbit_enhanced(j) pour le décodage d'amélioration
(SVQ decod) du décodage cœur réalisé par exemple dans le module de décodage TDAC 603 de la figure 6 et le nombre de bits nb_sin pour le décodage d'amélioration de la couche d'extension (sinus decod), réalisé par exemple par le module de décodage d'extension 614 de la figure 6.
Un exemple de réalisation matérielle d'un module d'allocation tel que représenté et décrit en référence à la figure 7 est maintenant décrit en référence à la figure 8.
Ainsi, la figure 8 illustre un module d'allocation comportant un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM.
Ce module comporte un module d'entrée apte à recevoir un nombre de bits par sous-bande nbit(j) de la première bande de fréquence d'un codeur cœur.
Le bloc mémoire BM peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé d'allocation au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes, pour un nombre prédéterminé de bits à allouer pour un codage/décodage d'amélioration:
- d'allocation, d'un premier nombre de bits à un codage/décodage de correction du codage/décodage cœur dans la première bande de fréquence et selon un premier mode de codage/décodage;
- d'allocation d'un deuxième nombre de bits à un codage/décodage d'amélioration du codage/décodage d'extension dans la deuxième bande de fréquence et selon un deuxième mode de codage/décodage.
Typiquement, la description de la figure 7 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du module ou d'un codeur intégrant le module d'allocation ou téléchargeable dans l'espace mémoire de celui-ci. Le module d'allocation comporte un module de sortie apte à transmettre le premier nombre de bits nbit_enhanced(j) alloué pour le codage de correction du codage cœur et un deuxième nombre de bits nb_sin pour le codage d'amélioration du codage d'extension.
Ce module d'allocation peut être intégré dans un codeur/décodeur hiérarchique de type G.729.1 en bande super-élargie ou plus généralement dans tout codeur/décodeur hiérarchique avec extension en bande de fréquence.

Claims

REVENDICATIONS
1. Procédé d'allocation binaire dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques comprenant un codage/décodage cœur dans une première bande de fréquence et un codage/décodage d'extension de bande dans une deuxième bande de fréquence, caractérisé en ce que, pour un nombre prédéterminé de bits à allouer pour le codage/décodage d'amélioration, un premier nombre de bits (nbit_enhanced(j)) est alloué à un codage/décodage de correction du codage/décodage cœur dans la première bande de fréquence et selon un premier mode de codage/décodage et un deuxième nombre de bits (nb_sin) est alloué à un codage/décodage d'amélioration du codage/décodage d'extension dans la deuxième bande de fréquence et selon un deuxième mode de codage/décodage.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte les étapes suivantes:
- obtention du nombre de bits alloué (nbit(j)) pour le codage/décodage cœur, par sous-bande de fréquence de la première bande de fréquence;
- dans les sous-bandes de fréquence où le nombre de bits alloué pour le codage/décodage cœur ne dépasse pas un seuil prédéterminé, allocation d'un nombre de bits par sous-bande, constituant le premier nombre de bits pour le codage/décodage de correction du codage/décodage cœur;
- allocation du second nombre de bits alloué pour le codage/décodage d'amélioration du codage/décodage d'extension, en fonction du premier nombre de bits alloué et du nombre prédéterminé de bits à allouer.
3. Procédé selon la revendication 2, caractérisé en ce que un nombre minimal de bits est fixé par sous-bande de fréquence pour l'allocation du premier nombre de bits.
4. Procédé selon la revendication 2, caractérisé en ce que le seuil prédéterminé est fixé à 0.
5. Procédé selon la revendication 3, caractérisé en ce que le seuil prédéterminé est supérieur à 0 et en ce que si le premier nombre de bits alloué est supérieur au nombre de bits prédéterminé, la valeur du seuil est réduite.
6. Procédé selon la revendication 2, caractérisé en ce qu'il comporte une étape de réception d'information de tonalité d'un signal résiduel résultant d'une différence entre un signal issu d'une première couche d'extension de bande et le signal original et en cas de signal résiduel tonal, le second nombre de bits alloué pour le codage/décodage d'amélioration de l'extension de bande est plus important que le premier nombre.
7. Procédé selon la revendication 1, caractérisé en ce que le codage/décodage cœur est de type codage/décodage normalisé G.729.1, le premier mode de codage/décodage étant un codage/décodage par transformée et le second mode de codage/décodage étant un codage/décodage paramétrique.
8. Module d'allocation binaire dans un codeur/décodeur d'amélioration d'un codeur/décodeur hiérarchique de signaux audionumériques comprenant un module de codage/décodage cœur dans une première bande de fréquence et un module de codage/décodage d'extension de bande dans une deuxième bande de fréquence,
caractérisé en ce qu'il comporte:
- des moyens d'allocation d'un premier nombre de bits (nbit_enhanced(j ')) à un module de codage/décodage de correction du codeur/décodeur cœur dans la première bande de fréquence et selon un premier mode de codage/décodage, pour un nombre prédéterminé de bits à allouer pour le codeur/décodeur d'amélioration, et
- des moyens d'allocation d'un deuxième nombre de bits (nb_sin) à un module de codage/décodage d'amélioration du codeur/décodeur d'extension dans la deuxième bande de fréquence et selon un deuxième mode de codage/décodage.
9. Codeur hiérarchique caractérisé en ce qu'il comprend un module d'allocation selon la revendication 8.
10. Décodeur hiérarchique, caractérisé en ce qu'il comprend un module d'allocation selon la revendication 8.
11. Programme informatique comportant des instructions de code pour la mise en œuvre des étapes d'un procédé d'allocation selon l'une des revendications 1 à 7, lorsqu'elles sont exécutées par un processeur.
EP10745328.4A 2009-07-07 2010-06-25 Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques Not-in-force EP2452337B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0954688A FR2947945A1 (fr) 2009-07-07 2009-07-07 Allocation de bits dans un codage/decodage d'amelioration d'un codage/decodage hierarchique de signaux audionumeriques
PCT/FR2010/051308 WO2011004098A1 (fr) 2009-07-07 2010-06-25 Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques

Publications (2)

Publication Number Publication Date
EP2452337A1 true EP2452337A1 (fr) 2012-05-16
EP2452337B1 EP2452337B1 (fr) 2013-05-29

Family

ID=41531495

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10745328.4A Not-in-force EP2452337B1 (fr) 2009-07-07 2010-06-25 Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques

Country Status (8)

Country Link
US (1) US8965775B2 (fr)
EP (1) EP2452337B1 (fr)
KR (1) KR101703810B1 (fr)
CN (1) CN102511062B (fr)
CA (1) CA2766777C (fr)
FR (1) FR2947945A1 (fr)
WO (1) WO2011004098A1 (fr)
ZA (1) ZA201200906B (fr)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120029926A1 (en) * 2010-07-30 2012-02-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
US9767822B2 (en) * 2011-02-07 2017-09-19 Qualcomm Incorporated Devices for encoding and decoding a watermarked signal
CN102737636B (zh) * 2011-04-13 2014-06-04 华为技术有限公司 一种音频编码方法及装置
NO2669468T3 (fr) * 2011-05-11 2018-06-02
CN102509547B (zh) * 2011-12-29 2013-06-19 辽宁工业大学 基于矢量量化的声纹识别方法及系统
CN105976824B (zh) 2012-12-06 2021-06-08 华为技术有限公司 信号解码的方法和设备
ES2934646T3 (es) 2013-04-05 2023-02-23 Dolby Int Ab Sistema de procesamiento de audio
CN104217727B (zh) 2013-05-31 2017-07-21 华为技术有限公司 信号解码方法及设备
FR3007563A1 (fr) * 2013-06-25 2014-12-26 France Telecom Extension amelioree de bande de frequence dans un decodeur de signaux audiofrequences
ES2901806T3 (es) 2013-12-02 2022-03-23 Huawei Tech Co Ltd Método y aparato de codificación
JP6383000B2 (ja) 2014-03-03 2018-08-29 サムスン エレクトロニクス カンパニー リミテッド 帯域幅拡張のための高周波復号方法及びその装置
CN106463133B (zh) 2014-03-24 2020-03-24 三星电子株式会社 高频带编码方法和装置,以及高频带解码方法和装置
JPWO2015151451A1 (ja) * 2014-03-31 2017-04-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法、復号方法、およびプログラム
US9847087B2 (en) 2014-05-16 2017-12-19 Qualcomm Incorporated Higher order ambisonics signal compression
BR112020004909A2 (pt) 2017-09-20 2020-09-15 Voiceage Corporation método e dispositivo para distribuir, de forma eficiente, um bit-budget em um codec celp

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849727B1 (fr) * 2003-01-08 2005-03-18 France Telecom Procede de codage et de decodage audio a debit variable
KR100923300B1 (ko) * 2003-03-22 2009-10-23 삼성전자주식회사 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
FR2888699A1 (fr) * 2005-07-13 2007-01-19 France Telecom Dispositif de codage/decodage hierachique
US8032359B2 (en) * 2007-02-14 2011-10-04 Mindspeed Technologies, Inc. Embedded silence and background noise compression
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
JP4708446B2 (ja) * 2007-03-02 2011-06-22 パナソニック株式会社 符号化装置、復号装置およびそれらの方法
KR100921867B1 (ko) * 2007-10-17 2009-10-13 광주과학기술원 광대역 오디오 신호 부호화 복호화 장치 및 그 방법

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CA2766777A1 (fr) 2011-01-13
CN102511062B (zh) 2013-07-31
KR20120061826A (ko) 2012-06-13
ZA201200906B (en) 2012-10-31
US20120185256A1 (en) 2012-07-19
EP2452337B1 (fr) 2013-05-29
US8965775B2 (en) 2015-02-24
CN102511062A (zh) 2012-06-20
FR2947945A1 (fr) 2011-01-14
CA2766777C (fr) 2015-12-15
KR101703810B1 (ko) 2017-02-16
WO2011004098A1 (fr) 2011-01-13

Similar Documents

Publication Publication Date Title
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
EP2115741B1 (fr) Codage/decodage perfectionnes de signaux audionumeriques
EP2452336B1 (fr) Codage/décodage perfectionne de signaux audionumériques
EP1905010B1 (fr) Codage/décodage audio hiérarchique
EP2366177B1 (fr) Codage de signal audionumerique avec mise en forme du bruit dans un codeur hierarchique
JP5161069B2 (ja) 広帯域音声符号化のためのシステム、方法、及び装置
JP5117407B2 (ja) オーディオ符号化/復号化で知覚的に重み付けするための装置
EP1692689B1 (fr) Procede de codage multiple optimise
CA2512179C (fr) Procede de codage et de decodage audio a debit variable
WO2009093466A1 (fr) Dispositif de codage, dispositif de décodage et procédé pour ceux-ci
WO2007096551A2 (fr) Procede de codage binaire d&#39;indices de quantification d&#39;une enveloppe d&#39;un signal, procede de decodage d&#39;une enveloppe d&#39;un signal et modules de codage et decodage correspondants
EP2005424A2 (fr) Procede de post-traitement d&#39;un signal dans un decodeur audio
EP2347411A1 (fr) Attenuation de pre-echos dans un signal audionumerique
EP2203915A1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique avec repartition de la complexite
WO2011073600A1 (fr) Codage/decodage parametrique stereo avec optimisation du traitement de reduction des canaux
FR2737360A1 (fr) Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes
FR2987931A1 (fr) Modification des caracteristiques spectrales d&#39;un filtre de prediction lineaire d&#39;un signal audionumerique represente par ses coefficients lsf ou isf.

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120203

AK Designated contracting states

Kind code of ref document: A1

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

RIN1 Information on inventor provided before grant (corrected)

Inventor name: VIRETTE, DAVID

Inventor name: BERTHET, PIERRE

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

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 19/16 20130101ALI20130412BHEP

Ipc: G10L 19/02 20130101AFI20130412BHEP

AK Designated contracting states

Kind code of ref document: B1

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

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 614841

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130615

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602010007406

Country of ref document: DE

Effective date: 20130801

REG Reference to a national code

Ref country code: CH

Ref legal event code: PUE

Owner name: ORANGE, FR

Free format text: FORMER OWNER: FRANCE TELECOM, FR

RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: ORANGE

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 614841

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130529

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

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

Ref country code: NO

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

Effective date: 20130829

Ref country code: ES

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

Effective date: 20130909

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

Ref country code: PT

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

Effective date: 20130930

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

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

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

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

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

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

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20130529

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

Ref country code: HR

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

Effective date: 20130529

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

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

BERE Be: lapsed

Owner name: FRANCE TELECOM

Effective date: 20130630

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

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

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

Ref country code: SK

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

Effective date: 20130529

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

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

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

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

Ref country code: NL

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

Effective date: 20130529

Ref country code: IT

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

Effective date: 20130529

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

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

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

Ref country code: BE

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

Effective date: 20130630

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

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

Effective date: 20130625

26N No opposition filed

Effective date: 20140303

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602010007406

Country of ref document: DE

Effective date: 20140303

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

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

Ref country code: LI

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

Effective date: 20140630

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

Ref country code: SM

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

Effective date: 20130529

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

Ref country code: CY

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

Effective date: 20130529

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

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

Ref country code: HU

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

Effective date: 20100625

Ref country code: MK

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

Effective date: 20130529

Ref country code: MC

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

Effective date: 20130529

Ref country code: LU

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

Effective date: 20130625

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 7

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

Ref country code: DE

Payment date: 20160524

Year of fee payment: 7

Ref country code: GB

Payment date: 20160527

Year of fee payment: 7

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

Ref country code: FR

Payment date: 20160526

Year of fee payment: 7

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 602010007406

Country of ref document: DE

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

Effective date: 20170625

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20180228

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

Ref country code: DE

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

Effective date: 20180103

Ref country code: GB

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

Effective date: 20170625

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

Ref country code: FR

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

Effective date: 20170630

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

Ref country code: AL

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

Effective date: 20130529