EP2452336B1 - Codage/décodage perfectionne de signaux audionumériques - Google Patents
Codage/décodage perfectionne de signaux audionumériques Download PDFInfo
- Publication number
- EP2452336B1 EP2452336B1 EP10745327.6A EP10745327A EP2452336B1 EP 2452336 B1 EP2452336 B1 EP 2452336B1 EP 10745327 A EP10745327 A EP 10745327A EP 2452336 B1 EP2452336 B1 EP 2452336B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- coding
- band
- improvement
- decoding
- core
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0212—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
Definitions
- the present invention relates to a sound data processing.
- This processing is adapted in particular to the transmission and / or storage of digital signals such as audio-frequency signals (speech, music, or other).
- the invention applies more particularly to hierarchical coding (or " scalable " coding) which generates a so-called “hierarchical” bitstream because it comprises a core rate and one or more improvement layer (s).
- the G.722 standard at 48, 56 and 64 kbit / s is an example of scalable scalable codec
- the ITU-T G.729.1 and MPEG-4 CELP codecs are examples of scalable codecs in both bitrate and bitrate. in bandwidth.
- Hierarchical coding having the capacity to provide varied bit rates, is described below by distributing the information relating to an audio signal to be coded in hierarchical subsets, so that this information can be used in order of importance. in terms of audio rendering quality.
- the criterion taken into account for determining the order is a criterion for optimizing (or rather reducing) the quality of the coded audio signal.
- Hierarchical coding is particularly suited to transmission over heterogeneous networks or having variable available rates over time, or to transmission to terminals with varying capacities.
- Hierarchical audio coding (or " scalable ) can be described as follows.
- the bit stream includes a base layer and one or more enhancement layers.
- the base layer is generated by a fixed rate codec, termed a " core codec ", guaranteeing the minimum quality of the coding.
- This layer must be received by the decoder to maintain an acceptable level of quality. Improvement layers are used to improve quality. However, they may not all be received by the decoder.
- the main advantage of hierarchical coding is that it allows an adaptation of the bit rate simply by " truncation of the bit stream ".
- the number of layers i.e., the number of possible truncations of the bitstream
- the number of layers defines the granularity of the coding.
- scalable scalability and bandwidth encoding techniques with a CELP heart-coder, a telephone band, and one or more broadband enhancement layer (s).
- An example of such systems is given in the ITU-T G.729.1 8-32 kbit / s fine grain standard.
- the G.729.1 coding / decoding algorithm is summarized below.
- the G.729.1 encoder is an extension of the ITU-T G.729 coder. It is a modified G.729 heart-coded core encoder producing a bandwidth ranging from narrowband (50-4000 Hz) to wideband (50-7000 Hz) at a rate of 8 to 32 kbit / s for conversational services. This codec is compatible with existing VoIP devices that use the G.729 codec.
- the G.729.1 coder is schematized on the figure 1 .
- the broadband input signal s wb sampled at 16 kHz, is first decomposed into two subbands by QMF (for "Quadrature Mirror Filter") filtering.
- the low band (0-4000 Hz) is obtained by LP low-pass filtering (block 100) and decimation (block 101), and the band high (4000-8000 Hz) by high-pass filtering HP (block 102) and decimation (block 103).
- the LP and HP filters are of length 64.
- the low band is pretreated with a high-pass filter eliminating the components below 50 Hz (block 104), to obtain the signal s LB , before CELP coding in narrow band (block 105) at 8 and 12 kbit / s.
- This high-pass filtering takes into account the fact that the wanted band is defined as covering the interval 50-7000 Hz.
- the narrow-band CELP coding is a cascaded CELP coding comprising as a first stage a modified G.729 coding without a filter. preprocessing and as a second stage an additional fixed CELP dictionary.
- the high band is first pretreated (block 106) to compensate for the folding due to the high-pass filter (block 102) combined with the decimation (block 103).
- the high band is then filtered by a low pass filter (block 107) eliminating the components between 3000 and 4000 Hz from the high band (i.e. the components between 7000 and 8000 Hz in the original signal) to obtain the signal s HB .
- a parametric band extension (block 108) is then performed.
- the LB of error signal of the low band is calculated (block 109) from the output of the CELP coder (block 105) and a predictive transform coding (of TDAC type for "Time Domain Aliasing Cancellation" in the standard G .729.1) is carried out at block 110.
- a predictive transform coding of 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 bitstreams generated by the coding blocks 105, 108, 110 and 111 are finally multiplexed and structured into a hierarchical bit stream in the multiplexing block 112.
- the coding is performed by 20 ms sample blocks (or frames). 320 samples per frame.
- the G.729.1 decoder is illustrated on the figure 2 .
- the bits describing each frame of 20 ms are demultiplexed in block 200.
- the bit stream of the 8 and 12 kbit / s layers is used by the CELP decoder (block 201) to generate the narrow-band synthesis (0-4000 Hz).
- the portion of the bit stream associated with the 14 kbit / s layer is decoded by the tape extension module (block 202).
- the portion of the bit stream associated with data rates greater than 14 kbit / s is decoded by the TDAC module (block 203).
- Pre-echo and post-echo processing is performed by blocks 204 and 207 as well as enrichment (block 205) and aftertreatment of the low band (block 206).
- the broadband output signal ⁇ wb sampled at 16 kHz, is obtained via the QMF synthesis filter bank (blocks 209, 210, 211, 212 and 213) incorporating the inverse folding (block 208).
- the TDAC type transform coding in the G.729.1 encoder is illustrated on the figure 3 .
- MDCT transforms (blocks 301 and 302) apply to 20 ms of sampled signal at 8 kHz (160 coefficients).
- This spectrum is divided into eighteen sub-bands, a sub-band j being assigned a number of coefficients noted nb_ coef ( j ).
- the subband splitting is specified in Table 1 below.
- a subband j comprises the coefficients Y ( k ) with sb_bound ( j ) ⁇ k ⁇ sb_bound ( j + 1).
- 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 ⁇ / b> TDAC Code Subband Bounds and Size J sb_bound ( j ) nb_coef ( j ) 0 0 16 1 16 16 2 32 16 3 48 16 4 64 16 5 80 16 6 96 16 7 112 16 8 128 16 9 144 16 10 160 16 11 176 16 12 192 16 13 208 16 14 224 16 15 240 16 16 256 16 17 272 8 18 280 -
- the spectral envelope is coded at variable rate in block 305.
- This quantized value rms _ index ( j ) is transmitted to the bit allocation block 306.
- a bit (0 or 1) is transmitted to the decoder to indicate the encoding mode that has been chosen.
- the number of bits allocated to each subband for its quantization is determined at block 306 from the quantized spectral envelope from block 305.
- the bit allocation performed minimizes the squared error while respecting the constraint of a whole number of bits allocated per subband and a number of bits. maximum not to be exceeded.
- the spectral content of the subbands is then encoded by spherical vector quantization (block 307).
- the different bit streams generated by the blocks 305 and 307 are then multiplexed and structured into a hierarchical bit stream at the multiplexing block 308.
- the TDAC type transform decoding step in the G.729.1 decoder is illustrated on the figure 4 .
- the decoded spectral envelope (block 401) makes it possible to find the allocation of the bits (block 402).
- each of the subbands is found by inverse spherical vector quantization (block 403).
- the sub-bands not transmitted, due to a lack of "budget" of bits, are extrapolated (block 404) from the MDCT transform of the signal at the output of the band extension block (block 202 of FIG. figure 2 ).
- IMDCT inverse MDCT transform
- W LB inverse perceptual weighting
- the subbands bit allocation (block 306 of FIG. figure 3 or block 402 of the figure 4 ).
- nbits_ VQ 351 - nbits_rms
- nbits_rms the number of bits used by the coding of the spectral envelope.
- nbit ( j ) arg min r ⁇ R nb_coef j ⁇ nb_coef j ⁇ ip j - ⁇ Opt - r
- the TDAC coding uses the perceptual weighting W LB ( z ) filter in the low band (block 300), as indicated above.
- perceptual weighting filtering allows you to format the coding noise.
- the principle of this filtering is to exploit the fact that it is possible to inject more noise in the frequency zones where the original signal has a high energy.
- the most common perceptual weighting filters used in narrow-band CELP coding are of the form ⁇ (z / ⁇ 1) / ⁇ (z / ⁇ 2) where 0 ⁇ ⁇ 2 ⁇ ⁇ 1 ⁇ 1 and ⁇ (z) represents a prediction spectrum linear (LPC).
- the synthesis analysis in CELP coding thus amounts to minimizing the quadratic error in a signal domain perceptually weighted by this type of filter.
- the fac factor makes it possible to ensure at the junction of the low and high bands (4 kHz) a gain of the filter at 1 to 4 kHz. It is important to note that in the G.729.1 TDAC coding, the coding is based on an energetic criterion only.
- the energy criterion of TDAC coding of G.729.1, used in the high band (4000-7000 Hz), is not optimal from a perceptual point of view, in particular to code musical signals.
- the perceptual weighting filter is particularly suited to speech signals. It is widely used in speech coding standards based on the CELP coding format. However, for the musical signals, it appears that this perceptual weighting based on a shaping of the quantization noise according to the formants of the input signal is insufficient. Most audio coders rely on transform coding using frequency masking or simultaneous masking models; they are more generic (in the sense that they do not use a speech production model like the CELP) and are therefore more suitable for encoding musical signals.
- the present invention improves the situation.
- the coding according to the invention takes advantage of an enhancement coding layer to improve the coding quality from a perceptual point of view.
- the enhancement layer will thus benefit from frequency masking which does not exist in the core coding stage, in order to best allocate the bits in the frequency bands of the enhancement coding.
- This operation does not modify the core coding, which thus remains compatible with the existing standard coding, thus ensuring interoperability with equipment already on the market using existing standard coding.
- the first perceptual importance that will be used for the enhancement layer does not take into account the core coding but only the signal to mask ratio to define a perceptual importance. This perceptual importance is determined on the input signal of the transform coder.
- the encoding of the core is done simply by subtracting the average number of bits per sample already allocated.
- the use of the perceptual importance based on the signal-to-mask ratio would make it possible to obtain an optimal allocation in the perceptual sense. However, this allocation would be useful if the input signal of the transform coding layer was coded directly.
- a first transform coding layer based on an energy allocation has allocated a certain number of bits per subband.
- the perceptual importance is furthermore determined as a function of bits allocated for a previous core coding enhancement coding having a binary allocation according to an energy criterion.
- the sub-bands not transmitted, due to a lack of sufficient bit budget, are extrapolated (block 404) from the MDCT transform of the signal at the output of the band extension block (block 202 of FIG. figure 2 ). Even at the higher bit rate of G.729.1 (32 kbit / s) some frequency bands remain extrapolated.
- a first encoding for improving the core coding to compensate for the lack of bit rate of the core coding for these non-transmitted subbands.
- This first enhancement coding uses the original signal and operates according to energy criteria for bit allocation. According to one embodiment of the invention, this first improvement coding modifies the number of bits nbit ( j ) allocated to the subbands and the decoded subband Yq ( k ) (defined later on in FIG. figure 5 ).
- the improvement coding according to the invention therefore also takes into account the bits allocated during this first improvement coding, in addition to the bits allocated in the core coding.
- the method comprises a step of obtaining an information according to which the signal to be encoded is tonal or non-tonal and the steps of calculating the masking threshold and of determining a perceptual importance according to this masking threshold, are conducted only if the signal is non-tonal.
- the coding is adapted to the signal whether it is tonal or not and allows optimal allocation of the bits.
- the enhancement coding is coding for improving the coding of the MDCT type coefficients in an extended coder whose core coding is of G.729.1 standard encoder type.
- the quality of the G.729.1 codec in the enlarged band (50-7000 Hz) is improved.
- Such an improvement is important to extend the G.729.1 encoder band of the enlarged band (50-7000Hz) to the super-wide band (50-14000Hz).
- the invention relates to a computer program comprising code instructions for implementing the steps of an encoding method according to the invention, when they are executed by a processor and to a computer program comprising instructions. code for implementing the steps of a decoding method according to the invention, when executed by a processor.
- One of the objects of the invention is the improvement of the quality of G.729.1 in wideband (50-7000 Hz), in particular for musical signals. It will be recalled here that the G.729.1 coding has a useful band of 50 to 7000 Hz. Moreover, the quality of G.729.1 for some signals such as music signals is not transparent at its highest bit rate (32 kbit / s) - this limitation is due to the hierarchical structure CELP + TDBWE + TDAC and the bit rate limited to 32 kbit / s .
- This invention is motivated by the ongoing ITU-T standardization of a scalable extension of G.729.1, in particular to extend the G.729.1 coded band to the super-wide band (50-14000 Hz).
- the band extension eg 7000-14000 Hz
- a limited band signal eg 50-7000 Hz
- the band extension highlights the existing defects in this signal.
- the G.729.1 quality improvement can be achieved with one or more additional rate enhancement layers (in addition to 32 kbit / s).
- these additional flow enhancement layers can serve both the band extension (7000-14000 Hz) and the quality improvement in the enlarged band (50-7000 Hz).
- part of the additional bit rate of the enhancement layers can be devoted to improving the broadband signal decoded by a G.729.1 decoder.
- G.729.1 has a narrow-band CELP core coder, while the super-expanded band extension (50-14000Hz) of G.729.1 has for heart G.729.1.
- core coding and heart rate we mean a G.729.1 type coding and the associated bit rate of 32 kbit / s.
- it is more particularly a TDAC encoder and decoder as described above, in which an enhancement layer is integrated.
- the figure 5 describes such an improved TDAC coder.
- a scalable extension of G.729.1 is considered in several enhancement layers.
- the core coding is a G.729.1 coding, which uses TDAC coding in the band [50-7000 Hz] from the bitrate of 14 kbit / s and up to 32 kbit / s. It is assumed that between 32 and 48 kbit / s two enhancement layers of 8 kbit / s are produced in order to extend the band from 7000 to 14000 Hz and to replace the non-transmitted subbands of the TDAC coding of G.729.1 . These enhancement layers of 8 kbit / s ranging from 32 to 48 kbit / s are not described here.
- the present invention provides two additional 8 kbit / s enhancement layers of the TDAC coding in the 50 to 7000 Hz band that increase the bit rate from 48 kbit / s to 56 and 64 kbit / s.
- the encoder applying the present invention has enhancement layers that add G.729.1 core bit rate (32 kbit). These enhancement layers serve both to improve the quality in the enlarged band (50-7000 Hz) and to extend the upper band from 7000 to 14000 Hz. In the following we ignore the extension of 7000 to 14000 Hz, because this feature does not influence the implementation of the present invention. For reasons of simplicity, the modules corresponding to the 7000 to 14000 Hz band extension are not illustrated on the figures 5 and 6 .
- the TDAC encoder according to one embodiment of the invention here comprises an enhancement layer (blocks 509 to 513) which improves the core layer (blocks 504 to 507).
- the block 507 here corresponds to the spherical vector quantization (SVQ) quantification of G.729.1, which may comprise a modification as mentioned above.
- SVQ spherical vector quantization
- This modification uses the original signal Y ( k ) and operates according to energy criteria for bit allocation. The number of bits nbit (j) allocated to the subbands and the decoded subband Yq ( k ) are then modified.
- Block 506 performs a binary allocation based on energy criteria as described with reference to FIG. figure 3 .
- the core layer is thus coded and sent to the multiplexing module 508.
- the heart signal is also decoded locally in the encoder by the block 510 which performs spherical dequantization and scaling; this heart signal is subtracted from the original signal at 509, in the transformed domain, to obtain a residual signal err (k). This residual signal is then coded from a bit rate of 48 kbit / s in block 513.
- An advantageous spreading function is that presented to the figure 7 .
- This is a triangular function whose first slope is + 27dB / Bark and - 10dB / Bark for the second one.
- ⁇ 1 ( j ) and ⁇ 2 ( j ) can be pre-calculated and stored.
- the application of the masking threshold is in this embodiment, limited to the high band.
- the masking threshold is normalized for example by its value on the last sub-band. band of the low band.
- a first perceptual importance calculation step is then performed taking into account the signal-to-mask ratio given by: 1 2 ⁇ log 2 ⁇ ⁇ 2 j M j
- FIG 8 An illustration of the standardization of the masking threshold is given in figure 8 , showing the connection of the high band on which the masking (4-7 kHz) is applied to the low band (0-4 kHz).
- the standardization of the masking threshold can be rather carried out from the value of the band.
- a first perceptual importance ip ( j ) is sent to the binary allocation block 512 for improvement coding.
- This block 512 also receives bit allocation information nbit ( j ) from the core layer of the TDAC coding, G.729.1.
- Block 512 thus defines a new perceptual importance that takes into account these two pieces of information.
- the new perceptual importance is calculated by subtracting at the first perceptual importance, a ratio between the number of bits allocated for the core coding and the number of possible coefficients in the subband.
- the block 512 performs a bit allocation on the residual signal to code the enhancement layer.
- nbits _ VQ _ err corresponding to the additional number of bits in the enhancement layer (320 bits for the 2 8 kbit / s layers).
- the residual signal err ( k ) is then coded by the module 513 by spherical vector quantization, using the number of allocated bits nbit- err ( j ) as previously calculated.
- This coded residual signal is then multiplexed with the signal resulting from the core coding and the coded envelope by the multiplexing module 508.
- This enhancement coding not only extends the allocated bit rate but improves from a perceptual point of view, the coding of the signal.
- the TDAC coding enhancement layer as described can be applied after modifying the TDAC coding of G.729.1.
- a first enhancement (not described here) of the TDAC coding of G.729.1 is performed.
- This enhancement allocates bits to subbands between 4 and 7 kHz at which no bit rate was allocated by the G.729.1 TDAC core encoding even at its higher 32 kbit / s bit rate.
- This first improvement of the TDAC coding of G.729.1 therefore uses the original signal between 4 and 7 kHz and does not implement the steps of calculating a masking threshold or determining the perceptual importance of the coding method of the 'invention.
- Block 507 is considered to correspond to this modified TDAC coding integrating this improvement.
- the determination of the perceptual importance takes into account not only the bits allocated for the core or base coding but also the bits allocated for the previous enhancement coding, in this case the 40 kbit / s rate enhancement coding.
- the figure 6 illustrates the TDAC decoder with an enhancement decoding stage as well as the steps of a decoding method according to an embodiment of the invention.
- the decoder comprises the modules (601, 602, 603, 606, 607, 608, 609 and 610) identical to those described for the TDAC decoding of the G.729.1 coder with reference to FIG. figure 4 (401, 402, 403, 406, 407, 408, 409 and 410).
- the block 606 for processing in the MDCT domain (aimed at shaping the coding noise) is here optional because the invention improves the quality of the decoded MDCT spectrum from block 603.
- the module 605 of the decoder corresponds to the encoder module 511 and operates in the same way from the quantized values of the spectral envelope.
- the allocation module 604 determines a second perceptual importance in taking into account the allocation of bits received from the core coding, in the same way as in the coding module 512.
- This bit allocation for the enhancement coding allows the module 611 to decode the signal received from the demultiplexing module 600 by spherical vector dequantization.
- the decoded signal from the module 611 is an error signal err (k) which is then combined at 612 with the decoded heart signal at 603.
- This signal is then processed as for the G.729.1 encoding described with reference to the figure 4 to give a difference signal d LB in low band and a signal S HB in high band.
- the calculation of a frequency masking performed by the module 511 or 605 and as described above may or may not be carried out according to the signal to be encoded (in particular if it is tonal or not).
- the application of the spreading function B (v) results in a masking threshold very close to a tone a little more spread out in frequencies.
- the criterion of minimization of the masked coding noise ratio then gives a bit allocation that is not necessarily optimal.
- the calculation of the masking threshold and the determination of the perceptual importance as a function of this masking threshold according to the invention is applied only if the signal to be encoded is not tonal.
- the bit relating to the mode of the coding of the spectral envelope indicates a "differential Huffman" mode or a "natural direct binary” mode.
- This mode bit can be interpreted as a tone detection, since, in general, a tonal signal leads to envelope coding by the "natural direct binary” mode, while most non-tonal signals, having a spectral dynamic more limited, lead to envelope coding by the "Differential Huffman" mode.
- the super-expanded band extension of the G.729.1 encoder as shown consists of an extension of the frequencies coded by the module 915, the frequency band used from [50Hz-7KHz] to [50Hz-14kHz] and an improvement of the G.729.1 base layer by the TDAC coding module (block 910) and as described with reference to FIG. figure 5 .
- the encoder as represented in figure 9 has the same modules as the G.729.1 core coding represented in figure 1 and an additional band extension module 915 which provides an extension signal to the multiplexing module 912.
- This frequency band extension is calculated on the original full-band signal S SWB while the input signal of the core encoder is obtained by decimation (block 913) and low-pass filtering (block 914). At the output of these blocks, the broadband input signal S WB is obtained.
- the TDAC coding module 910 is different from that illustrated in FIG. figure 1 .
- This module is for example that described with reference to the figure 5 and provides the multiplexing module with both the coded core signal and the coded enhancement signal according to the invention.
- a G.729.1 extended-band decoder is described with reference to the figure 10 . It has the same modules as the G.729.1 decoder described with reference to the figure 2 .
- the band extension module 1014 which receives from the demultiplexing module 1000, the band extension signal.
- the TDAC decoding module 1003 is also different from the TDAC decoding module illustrated with reference to FIG. figure 2 .
- This module is for example that described and illustrated with reference to the figure 6 . It thus receives from the demultiplexing module, both the heart signal and the improvement signal.
- the invention is used to improve the quality of TDAC coding in the G.729.1 codec.
- the invention applies to other types of transform coding with a binary allocation and scalable extension of other core codecs than G.729.1.
- the figure 11a illustrates an encoder or terminal comprising an encoder as described in figure 5 . It comprises a PROC processor cooperating with a memory block BM having a memory storage and / or working MEM.
- This terminal comprises an input module able to receive a low band signal d LB and a high band signal S HB or any type of digital signal to be coded. These signals may come from another coding stage or a communication network, a digital content storage memory.
- the description of the figure 5 takes the steps of an algorithm of such a computer program.
- the computer program can also be stored on a memory medium readable by a reader of the terminal or encoder or downloadable in the memory space thereof.
- the terminal comprises an output module capable of transmitting a multiplexed stream derived from the coding of the input signals.
- figure 11b illustrates an example of a decoder or terminal including a decoder as described with reference to the figure 6 .
- This terminal comprises a PROC processor cooperating with a memory block BM having a memory storage and / or working MEM.
- the terminal comprises an input module adapted to receive a multiplexed stream coming for example from a communication network, a storage module.
- the description of the figure 6 takes the steps of an algorithm of such a computer program.
- the computer program can also be stored on a memory medium readable by a reader of the terminal or downloadable in the memory space thereof.
- the terminal comprises an output module capable of transmitting decoded signals ( d LB , S HB ) for another coding stage or for content reproduction.
- such a terminal may comprise both the encoder and the decoder according to the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- La présente invention concerne un traitement de données sonores.
- Ce traitement est adapté notamment à la transmission et/ou au stockage de signaux numériques tels que des signaux audiofréquences (parole, musique, ou autres).
- 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 coeur et une ou plusieurs couche(s) d'amélioration. La norme G.722 à 48, 56 et 64 kbit/s est un exemple de codec scalable en débit, tandis que les codecs UIT-T G.729.1 et MPEG-4 CELP sont des exemples de codecs 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 codec à débit fixe, qualifié de « codec coeur », garantissant la qualité minimale du codage. Cette couche doit être reçue par le décodeur pour maintenir un niveau de qualité acceptable. Les couches d'amélioration servent à améliorer la qualité. Il peut arriver toutefois qu'elles ne soient pas toutes reçues par le décodeur.
- L'intérêt principal du codage hiérarchique est qu'il permet alors une adaptation du débit par simple « troncature du flux binaire ». Le nombre de couches (c'est-à-dire le nombre de troncatures possibles du flux binaire) définit la granularité du codage. On parle de codage à « granularité forte » si le flux binaire comprend peu de couches (de l'ordre de 2 à 4) et de codage à « granularité fine » si il permet par exemple un pas de l'ordre de 1 à 2 kbit/s.
- Un procédé de codage et décodage hiérarchique par transformée type MDCT est divulgué dans le document A. Jin et al. "Scalable audio coder based on quantizer units of MDCT coefficients", Proceedings of the IEEE ICASSP 1999, 15.03.1999, pages 897-900. Ce procédé permet de déterminer un signal résiduel d'un codage ou décodage coeur dans le domaine MDCT à encoder ou décoder par un étage d'amélioration.
- Le document S.K. Jung et al. "An embedded variable bit-rate coder based on GSM EFR: EFR-EV", Proceedings of the IEEE ICASSP 2008, 31.03.2008, pages 4765-4768, décrit une mise en oeuvre d'un codeur audionumérique selon le standard ITU-T G.729.1 et décrit l'amélioration du codage TDAC et l'allocation binaire basée sur un critère d'importance perceptuelle des sous-bandes.
- On décrit plus particulièrement ci-après les techniques de codage scalable en débit et en largeur de bande, avec un codeur coeur de type CELP, en bande téléphonique et une ou plusieurs couche(s) d'amélioration en bande élargie. Un exemple de tels systèmes est donné dans la norme UIT-T G.729.1 de 8 à 32 kbit/s à granularité fine. L'algorithme de codage/décodage G.729.1 est résumé ci-après.
- Le codeur G.729.1 est une extension du codeur UIT-T G.729. Il s'agit d'un codeur hiérarchique à coeur G.729, modifié, produisant un signal dont la bande va de la bande étroite (50-4000 Hz) à la bande élargie (50-7000 Hz) à un débit de 8 à 32 kbit/s pour les services conversationnels. Ce codec est compatible avec les équipements de voix sur IP existants qui utilisent le codec 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 à lafigure 1 , on voit en particulier que l'encodage TDAC est appliqué à la fois au signal d'erreur sur la bande basse et au signal filtré sur la bande haute. - Des paramètres supplémentaires peuvent être transmis par le bloc 111 à un décodeur homologue, ce bloc 111 réalisant un traitement dit « FEC » pour « Frame Erasure Concealment », en vue de reconstituer d'éventuelles trames effacées.
- Les différents flux binaires générés par les blocs de codage 105, 108, 110 et 111 sont enfin multiplexés et structurés en un train binaire hiérarchique dans le bloc de multiplexage 112. Le codage est réalisé par blocs d'échantillons (ou trames) de 20 ms, soit 320 échantillons par trame.
- Le codec G.729.1 a donc une architecture en trois étapes de codage comprenant :
- le codage CELP en cascade,
- l'extension de bande paramétrique par le module 108, de type TDBWE (pour « Time Domain Bandwidth Extension »), et
- un codage prédictif par transformée TDAC, appliqué après une transformation de type MDCT (pour « Modified Discrete Cosine Transform » ou « transformation en cosinus discrète modifiée »).
- Le décodeur G.729.1 est illustré sur la
figure 2 . Les bits décrivant chaque trame de 20 ms sont démultiplexés dans le bloc 200. - Le flux binaire des couches à 8 et 12 kbit/s est utilisé par le décodeur CELP (bloc 201) pour générer la synthèse en bande étroite (0-4000 Hz). La portion du flux binaire associée à la couche à 14 kbit/s est décodée par le module d'extension de bande (bloc 202). La portion du flux binaire associée aux débits supérieurs à 14 kbit/s est décodée par le module TDAC (bloc 203). Un traitement des pré-échos et post-échos est réalisé par les blocs 204 et 207 ainsi qu'un enrichissement (bloc 205) et un post-traitement de la bande basse (bloc 206).
- Le signal de sortie en bande élargie ŝwb , échantillonné à 16 kHz, est obtenu par l'intermédiaire du banc de filtres QMF de synthèse (blocs 209, 210, 211, 212 et 213) intégrant le repliement inverse (bloc 208).
- La description de la couche de codage par transformée est détaillée ci-après.
- 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
du signal de différence, filtré perceptuellement, et - le spectre MDCT SHB du signal original de la bande haute.
-
- Ce spectre est divisé en dix-huit sous-bandes, une sous-bande j étant affectée d'un nombre de coefficients noté nb_ coef (j). Le découpage en sous-bandes est spécifié dans le tableau 1 ci-après.
- Ainsi, une sous-bande j comprend les coefficients Y(k) avec sb_bound(j)≤k<sb_bound(j+1).
- 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 codec est de 50-7000 Hz.
Tableau 1 : Limites et taille des sous-bandes en codage TDAC J sb_bound (j) nb_coef (j) 0 0 16 1 16 16 2 32 16 3 48 16 4 64 16 5 80 16 6 96 16 7 112 16 8 128 16 9 144 16 10 160 16 11 176 16 12 192 16 13 208 16 14 224 16 15 240 16 16 256 16 17 272 8 18 280 - - L'enveloppe spectrale {log_rms(j)} j=0,..,17 est calculée dans le bloc 304 suivant la formule :
où ε rms . = 2-24. L'enveloppe spectrale est codée à débit variable dans le bloc 305. Ce bloc 305 produit des valeurs quantifiées, entières, notées rms_index(j) (avec j=0,...,17), obtenues par simple quantification scalaire :
où la notation « round » désigne l'arrondi à l'entier le plus proche, et avec la contrainte : - Cette valeur quantifiée rms_index(j) est transmise au bloc d'allocation de bits 306.
- Le codage de l'enveloppe spectrale, lui-même, est effectué encore par le bloc 305, séparément pour la bande basse (rms_index(j), avec j=0,...,9) et pour la bande haute (rms_index(j), avec j=10,...,17). Dans chaque bande, deux types de codage peuvent être choisis selon un critère donné, et, plus précisément, les valeurs rms_index(j) :
- peuvent être codées par codage dit « de Huffman différentiel »,
- ou peuvent être codées par codage binaire naturel.
- Un bit (0 ou 1) est transmis au décodeur pour indiquer le mode de codage qui a été choisi.
- Le nombre de bits alloués à chaque sous-bande pour sa quantification est déterminé au bloc 306 à partir de l'enveloppe spectrale quantifiée issue du bloc 305.
- L'allocation des bits effectuée minimise l'erreur quadratique tout en respectant la contrainte d'un nombre de bits entier alloué par sous-bande et d'un nombre de bits maximum à ne pas dépasser. Le contenu spectral des sous-bandes est ensuite codé par quantification vectorielle sphérique (bloc 307).
- Les différents flux binaires générés par les blocs 305 et 307 sont ensuite multiplexés et structurés en un train binaire hiérarchique au bloc de multiplexage 308.
- L'étape de décodage par transformée de type TDAC dans le décodeur G.729.1 est illustrée sur la
figure 4 . - De façon symétrique à l'encodeur (
figure 3 ), l'enveloppe spectrale décodée (bloc 401) permet de retrouver l'allocation des bits (bloc 402). Le décodage d'enveloppe (bloc 401) reconstruit les valeurs quantifiées de l'enveloppe spectrale (rms_index(j), pour j=0,..., 17), à partir du train binaire généré par le bloc 305 (multiplexé) et en déduit l'enveloppe décodée : - 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
du signal de différence décodé en bande basse, filtré perceptuellement, - et 160 coefficients suivants correspondant au spectre ŜHB du signal original décodé en bande haute.
-
- 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 lafigure 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.
-
-
- Dans la norme G.729.1, les valeurs nbit(j) (j=0,...,17), sont de plus contraintes par le fait que nbit(j) doit être choisi parmi un jeu de valeurs réduit spécifié au tableau 2 ci-après.
Tableau 2 : Valeurs possibles de nombre de bits alloués dans les sous-bandes TDAC. Taille de la sous-bande j nb_coef (j) Ensemble des valeurs autorisées nbit(j) (en nombre de bits) 8 R 8 = {0, 7, 10, 12, 13, 14, 15, 16} 16 R 16 ={0, 9, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32} -
-
-
- On décrit plus en détail maintenant l'incidence de la pondération perceptuelle (filtrage du bloc 300) sur l'allocation de bits (bloc 306) du codeur par transformée TDAC.
- Dans la norme G.729.1, le codage TDAC utilise le filtre WLB (z) de pondération perceptuelle dans la bande basse (bloc 300), comme indiqué ci-avant. En substance, le filtrage de pondération perceptuelle permet de mettre en forme le bruit de codage. Le principe de ce filtrage est d'exploiter le fait qu'il est possible d'injecter plus de bruit dans les zones de fréquences où le signal original a une forte énergie.
- Les filtres de pondération perceptuelle les plus couramment utilisés en codage CELP en bande étroite sont de la forme Â(z/γ1)/Â(z/γ2) où 0 ≤ γ2 ≤ γ1 < 1 et Â(z) représente un spectre de prédiction linéaire (LPC). L'analyse par synthèse en codage CELP revient ainsi à minimiser l'erreur quadratique dans un domaine de signal pondéré perceptuellement par ce type de filtre.
-
- Le facteur fac permet d'assurer à la jonction des bandes basse et haute (4 kHz) un gain du filtre à 1 à 4 kHz. Il est important de noter que, dans le codage TDAC selon la norme G.729.1, le codage ne repose que sur un critère énergétique.
- Le critère énergétique du codage TDAC de G.729.1, utilisé dans la bande haute (4000-7000 Hz), n'est pas optimal d'un point de vue perceptuel, notamment pour coder des signaux musicaux.
- Le filtre de pondération perceptuel est particulièrement adapté aux signaux de parole. Il est largement utilisé dans les normes de codage de la parole basé sur le format de codage de type CELP. Cependant, pour les signaux musicaux, il apparaît que cette pondération perceptuelle basée sur une mise en forme du bruit de quantification suivant les formants du signal d'entrée est insuffisante. La plupart des codeurs audio s'appuient sur un codage par transformée utilisant des modèles de masquage fréquentiel, ou masquage simultané; ils sont plus génériques (dans le sens où ils n'utilisent pas un modèle de production de la parole à l'instar du CELP) et sont donc plus adaptés pour coder les signaux musicaux.
- On pourra se référer au document intitulé "Introduction to digital audio coding and standards", de M. Bosi et R. Goldberg, publié par Kluver Academic Publishers, en 2003, pour avoir plus de détails sur les modèles de masquage et leur application dans les codeurs par transformée.
- Il existe donc un besoin d'améliorer la qualité de codage des signaux pour un meilleur rendu perceptuel, tout en gardant l'interopérabilité avec le codage G.729.1. La présente invention vient améliorer la situation.
- Elle propose à cet effet, un procédé de codage hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codage coeur du signal d'entrée destiné à encoder des coefficients de transformée de type MDCT selon un premier débit et au moins un codage d'amélioration du codage des coefficients de type MDCT de débit supérieur d'un signal résiduel, le codage coeur utilisant une allocation binaire selon un critère énergétique. Le procédé est tel qu'il comporte les étapes suivantes pour le codage d'amélioration:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codage d'amélioration;
- détermination d'une importance perceptuelle par sous bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage coeur;
- allocation binaire de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
- codage du signal résiduel selon l'allocation de bits.
- Ainsi, le codage selon l'invention profite d'une couche de codage d'amélioration pour améliorer la qualité de codage d'un point de vue perceptuel. La couche d'amélioration va ainsi bénéficier d'un masquage fréquentiel qui n'existe pas dans l'étage de codage coeur, pour allouer au mieux les bits dans les bandes fréquentielles du codage d'amélioration.
- Cette opération ne modifie pas le codage coeur qui reste ainsi compatible avec le codage normalisé existant, garantissant ainsi l'interopérabilité avec les équipements déjà sur le marché qui utilisent le codage normalisé existant.
- Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé de codage défini ci-dessus.
- Dans un mode de réalisation particulier, l'étape de détermination d'une importance perceptuelle comporte:
- une première étape de définition d'une première importance perceptuelle pour au moins une sous bande de fréquence du codage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du codage de l'enveloppe spectrale pour la sous bande de fréquence et d'un facteur de normalisation déterminé;
- une deuxième étape de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le codage coeur et le nombre de coefficients dans ladite sous-bande.
- Ainsi, la première importance perceptuelle qui sera utilisé pour la couche d'amélioration, ne prend pas en compte le codage coeur mais uniquement le rapport signal à masque pour définir une importance perceptuelle. Cette importance perceptuelle est déterminée sur le signal d'entrée du codeur par transformée.
- La prise en compte du codage coeur se fait simplement par soustraction du nombre de bits moyen par échantillon déjà alloués. L'utilisation de l'importance perceptuelle basée sur le rapport signal à masque permettrait d'obtenir une allocation optimale au sens perceptuel. Cependant cette allocation serait utile si l'on codait directement le signal d'entrée de la couche de codage par transformée. Or, dans le cadre de l'invention, une première couche de codage par transformée, basée sur une allocation énergétique a alloué un certain nombre de bits par sous-bande.
- Si l'on veut améliorer la qualité en codant le signal résiduel de cette couche du codeur coeur sans gaspiller de débit, il est nécessaire d'adapter l'importance perceptuelle basée sur le rapport signal à masque du signal d'entrée au signal résiduel. Pour cela, on soustrait de la première importance perceptuelle une valeur représentative du nombre de bits alloués dans le codeur coeur. Il faut noter que l'on ne peut pas calculer l'importance perceptuelle basée sur le rapport signal à masque d'un signal résiduel. En effet, dans ce cas la courbe de masquage qui serait calculée n'aurait pas réellement de sens perceptif, puisqu'elle ne se baserait pas sur le signal réellement perçu.
- Dans une variante de réalisation, l'importance perceptuelle est déterminée en outre en fonction de bits alloués pour un codage d'amélioration du codage coeur, précédent, ayant une allocation binaire selon un critère énergétique.
- Dans le décodeur G.729.1 les sous-bandes non transmises, faute de budget de bits suffisant, sont extrapolées (bloc 404) à partir de la transformée MDCT du signal en sortie du bloc d'extension de bande (bloc 202 de la
figure 2 ). Même au plus haut débit du codage G.729.1 (32 kbit/s) certaines bandes de fréquence restent ainsi extrapolées. Avant d'appliquer le codage d'amélioration selon la présente invention on peut d'abord faire appel à un premier codage d'amélioration du codage coeur pour combler le manque de débit du codage coeur pour ces sous-bandes non transmises. Ce premier codage d'amélioration utilise le signal original et fonctionne selon des critères énergétiques pour l'allocation de bits. Selon un mode de réalisation de l'invention ce premier codage d'amélioration vient modifier le nombre de bits nbit(j) alloués aux sous-bandes et la sous-bande décodée Yq(k) (définie plus tard à lafigure 5 ). - Le codage d'amélioration selon l'invention prend donc également en compte les bits alloués lors de ce premier codage d'amélioration, en plus des bits alloués dans le codage coeur.
- Avantageusement, le seuil de masquage est déterminé pour une sous-bande, par une convolution entre:
- une expression d'une enveloppe spectrale calculée, et
- une fonction d'étalement faisant intervenir une fréquence centrale de ladite sous-bande.
- Dans une variante de réalisation, le procédé comporte une étape d'obtention d'une information selon laquelle le signal à coder est tonal ou non tonal et les étapes de calcul du seuil de masquage et de détermination d'une importance perceptuelle en fonction de ce seuil de masquage, ne sont menées que si le signal est non tonal.
- Ainsi, le codage est adapté au signal qu'il soit tonal ou pas et permet une allocation optimale des bits.
- Dans une application particulièrement adaptée de l'invention, le codage d'amélioration est un codage d'amélioration du codage des coefficients de type MDCT dans un codeur étendu dont le codage coeur est de type codeur normalisé G.729.1.
- Ainsi, la qualité du codec G.729.1 dans la bande élargie (50-7000 Hz), est améliorée. Une telle amélioration est importante pour étendre la bande du codeur G.729.1 de la bande élargie (50-7000Hz) à la bande super-élargie (50-14000Hz).
- La présente invention se rapporte à également un procédé de décodage hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodage coeur d'un signal reçu destiné à décoder des coefficients de transformée de type MDCT selon un premier débit et au moins un décodage d'amélioration du décodage des coefficients de type MDCT de débit supérieur, d'un signal résiduel, le décodage coeur utilisant une allocation binaire selon un critère énergétique. Le procédé est tel qu'il comporte les étapes suivantes pour le décodage d'amélioration:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous-bandes de fréquences traitées par le décodage d'amélioration;
- détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodage coeur;
- allocation de bits dans les sous-bandes fréquentielles traitées par le décodage d'amélioration, en fonction de l'importance perceptuelle déterminé; et
- décodage du signal résiduel selon l'allocation de bits.
- une première étape de définition d'une première importance perceptuelle pour au moins une sous- bande de fréquence du décodage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du décodage de l'enveloppe spectrale pour la sous-bande de fréquence et d'un facteur de normalisation déterminé;
- une deuxième étape de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le décodage coeur et le nombre de coefficients dans ladite sous-bande.
- L'invention se rapporte à un codeur hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codeur coeur du signal d'entrée destiné à encoder des coefficients de transformée de type MDCT selon un premier débit et au moins un codeur d'amélioration du codage des coefficients de type MDCT de débit supérieur, d'un signal résiduel, le codeur coeur utilisant une allocation binaire selon un critère énergétique. Le codeur d'amélioration comporte:
- un module de calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codeur d'amélioration;
- un module de détermination d'une importance perceptuelle par sous bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codeur coeur;
- un module d'allocation binaire de bits dans les sous-bandes fréquentielles traitées par le codeur d'amélioration, en fonction de l'importance perceptuelle déterminée; et
- un module de codage du signal résiduel selon l'allocation de bits.
- Elle se rapporte également à un décodeur hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodeur coeur d'un signal reçu destiné à décoder des coefficients de transformée de type MDCT selon un premier débit et au moins un décodeur d'amélioration décodage des coefficients de type MDCT de débit supérieur, d'un signal résiduel, le décodeur coeur utilisant une allocation binaire selon un critère énergétique. Le décodeur d'amélioration comporte:
- un module de calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous-bandes de fréquences traitées par le décodeur d'amélioration;
- un module de détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodeur coeur;
- un module d'allocation de bits dans les sous-bandes fréquentielles traitées par le décodeur d'amélioration, en fonction de l'importance perceptuelle déterminée;
et - un module de décodage du signal résiduel selon l'allocation de bits.
- Enfin, l'invention se rapporte à un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes d'un procédé de codage selon l'invention, lorsqu'elles sont exécutées par un processeur et à un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes d'un procédé de décodage selon l'invention, lorsqu'elles sont exécutées par un processeur.
- D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels:
- la
figure 1 illustre la structure d'un codeur de type G.729.1 décrit précédemment; - la
figure 2 illustre la structure d'un décodeur de type G.729.1 décrit précédemment; - la
figure 3 illustre la structure d'un codeur TDAC inclus dans le codeur de type G.729.1 et décrit précédemment: - la
figure 4 illustre la structure d'un décodeur TDAC inclus dans un décodeur de type G.729.1 et tel que décrit précédemment; - la
figure 5 illustre la structure d'un codeur TDAC comportant un codage d'amélioration selon un mode de réalisation de l'invention; - la
figure 6 illustre la structure d'un décodeur TDAC comportant un décodage d'amélioration selon un mode de réalisation de l'invention; - la
figure 7 illustre une fonction d'étalement avantageuse pour le masquage au sens de l'invention; - la
figure 8 illustre une normalisation de la courbe de masquage, dans une forme de réalisation de l'invention; - la
figure 9 illustre la structure d'un codeur G.729.1 étendu en bande de fréquence dans lequel un codeur TDAC selon un mode de réalisation de l'invention, est inclus; - la
figure 10 illustre la structure d'un décodeur G.729.1 étendu en bande de fréquence dans lequel un décodeur TDAC selon un mode de réalisation de l'invention, est inclus; - la
figure 11a illustre un exemple de réalisation matérielle d'un terminal incluant un codeur selon un mode de réalisation de l'invention; et - la
figure 11b illustre un exemple de réalisation matérielle d'un terminal incluant un décodeur selon un mode de réalisation de l'invention. - Un des objets de l'invention est l'amélioration de la qualité de G.729.1 en bande élargie (50-7000 Hz), notamment pour les signaux musicaux. On rappelle ici que le codage G.729.1 a une bande utile de 50 à 7000 Hz. De plus la qualité de G.729.1 pour certains signaux tels que les signaux musicaux n'est pas transparente à son plus haut débit (32 kbit/s) - cette limitation est due à la structure hiérarchique CELP+TDBWE+TDAC et au débit limité à 32 kbit/s.
- Cette invention est motivée par la normalisation en cours à l'UIT-T d'une extension scalable de G.729.1 visant en particulier à étendre la bande codée par G.729.1 à la bande super-élargie (50-14000 Hz). L'expérience montre que l'extension de bande (ex: 7000-14000 Hz) d'un signal à bande limitée (ex: 50-7000 Hz) requiert d'avoir un signal à bande limitée qui soit déjà de bonne qualité; en effet l'extension de bande fait ressortir les défauts existants dans ce signal. Ainsi, il existe un besoin d'amélioration de la qualité de G.729.1 en bande élargie (50-7000 Hz).
- L'amélioration de la qualité de G.729.1 peut être réalisée avec une ou plusieurs couches d'amélioration de débit supplémentaire (en plus de 32 kbit/s). En pratique ces couches d'amélioration de débit supplémentaire peuvent servir à la fois à l'extension de bande (7000-14000 Hz) et à l'amélioration de qualité dans la bande élargie (50-7000 Hz). Ainsi une partie du débit supplémentaire des couches d'amélioration peut être consacrée à l'amélioration du signal en bande élargie décodé par un décodeur G.729.1.
- A noter qu'on peut distinguer deux coeurs dans le codage hiérarchique considéré dans le présent document: G.729.1 a un codeur coeur CELP en bande étroite, tandis que l'extension en bande super-élargie (50-14000Hz) de G.729.1 a pour coeur G.729.1.
- Dans la suite par les termes codage coeur et débit coeur on entend un codage de type G.729.1 et le débit associé de 32 kbit/s.
- Dans un mode de réalisation de l'invention, on s'intéresse plus particulièrement à un codeur et un décodeur TDAC tel que décrit précédemment, dans lequel une couche d'amélioration est intégrée.
- La
figure 5 décrit un tel codeur TDAC amélioré. - On considère une extension scalable de G.729.1 en plusieurs couches d'amélioration. Ici le codage coeur est un codage G.729.1, qui utilise un codage TDAC dans la bande [50-7000 Hz] à partir du débit de 14 kbit/s et jusqu'à 32 kbit/s. On suppose qu'entre 32 et 48 kbit/s deux couches d'amélioration de 8 kbit/s sont produites afin d'étendre la bande de 7000 à 14000 Hz et de remplacer les sous-bandes non transmises du codage TDAC de G.729.1. Ces couches d'amélioration de 8 kbit/s permettant d'aller de 32 à 48 kbit/s ne sont pas décrites ici.
- L'invention porte sur deux couches d'amélioration de 8 kbit/s supplémentaires du codage TDAC dans la bande 50 à 7000 Hz et qui font passer le débit de 48 kbit/s à 56 et 64 kbit/s.
- Le codeur appliquant la présente invention comporte des couches d'amélioration qui rajoute du débit au débit coeur de G.729.1 (32 kbits). Ces couches d'amélioration servent à la fois à améliorer la qualité dans la bande élargie (50-7000 Hz) et à étendre la bande supérieure de 7000 à 14000 Hz. Dans la suite on ignore l'extension de 7000 à 14000 Hz, car cette fonctionnalité n'influence pas la mise en oeuvre de la présente invention. Pour des raisons de simplicité les modules correspondants à l'extension de bande de 7000 à 14000 Hz ne sont pas illustrés sur les
figures 5 et6 . - On retrouve ici les mêmes blocs (blocs 500 à 507) que ceux utilisés dans la couche de base du G.729.1 (blocs 300 à 307) tel que décrit en référence à la
figure 3 . - Le codeur TDAC selon un mode de réalisation de l'invention comporte ici une couche d'amélioration (blocs 509 à 513) qui améliore la couche coeur (blocs 504 à 507).
- A noter que le bloc 507 correspond ici à la quantification vectorielle sphérique (spherical vector quantization ou SVQ) de G.729.1, qui peut comporter une modification telle que mentionnée précédemment. Ainsi, dans ce bloc 507, on fait appel à un premier codage d'amélioration du codage coeur G.729.1 pour combler le manque de débit pour les sous-bandes non transmises (où nbit(j) = 0). Cette modification utilise le signal original Y(k) et fonctionne selon des critères énergétiques pour l'allocation de bits. Le nombre de bits nbit(j) alloués aux sous-bandes et la sous-bande décodée Yq(k) sont alors modifiés.
- Le bloc 506 effectue une allocation binaire basée sur des critères énergétiques telle que décrit en référence à la
figure 3 . - La couche coeur est donc codée et envoyée au module de multiplexage 508.
- Le signal coeur est également décodé localement dans le codeur par le bloc 510 qui effectue une déquantification sphérique et mise à l'échelle ; ce signal coeur est soustrait du signal original en 509, dans le domaine transformé, pour obtenir un signal résiduel err(k). Ce signal résiduel est ensuite codé à partir d'un débit de 48 kbit/s, dans le bloc 513.
- Le bloc 511 calcule une courbe de masquage à partir de l'enveloppe spectrale codée rms_q(j) obtenue par le bloc 505, où j=0,....17 est le numéro de la sous-bande.
-
-
- le signe « × » désignant « multiplié par », avec la fonction d'étalement décrite ci-après.
- En termes plus génériques, le seuil de masquage M(j), pour une sous-bande j, est donc défini par une convolution entre :
- une expression de l'enveloppe spectrale, et
- une fonction d'étalement faisant intervenir une fréquence centrale de la sous-bande j.
-
- Les valeurs de Δ1(j) et Δ2(j) peuvent être pré-calculées et stockées.
- La bande basse étant déjà filtrée perceptuellement par le module 500, l'application du seuil de masquage est dans ce mode de réalisation, limitée à la bande haute. De manière à assurer la continuité spectrale entre le spectre en bande basse et celui en bande haute pondéré par le seuil de masquage et pour éviter de biaiser l'allocation binaire, le seuil de masquage est normalisé par exemple par sa valeur sur la dernière sous-bande de la bande basse.
-
-
- On note que l'importance perceptuelle ip(j), j=0,...,9, est identique à celle définie dans la norme G.729.1. Par contre, la définition du terme ip(j), j=10,...,17, est changée.
-
- Une illustration de la normalisation du seuil de masquage est donnée en
figure 8 , montrant le raccord de la bande haute sur laquelle est appliquée le masquage (4-7 kHz) à la bande basse (0-4 kHz). - Dans une variante de ce mode de réalisation où la normalisation du seuil de masquage s'effectue par rapport à sa valeur sur la dernière sous-bande de la bande basse, la normalisation du seuil de masquage peut être plutôt réalisée à partir de la valeur du seuil de masquage dans la première sous-bande de la bande haute, comme suit :
-
-
- Bien entendu, ces relations donnant le facteur de normalisation normfac ou le seuil de masquage M(j) sont généralisables à un nombre de sous-bandes quelconque
- (différent, au total, de dix-huit) en bande haute (avec un nombre différent de huit), comme en bande basse (avec un nombre différent de dix).
- A partir de ce calcul de masquage fréquentiel, une première importance perceptuelle ip(j), est envoyée au bloc 512 d'allocation binaire pour le codage d'amélioration.
- Ce bloc 512 reçoit également les informations d'allocations de bits nbit(j) de la couche coeur du codage TDAC, G.729.1.
- Le bloc 512 définit ainsi une nouvelle importance perceptuelle qui prend en compte ces deux informations.
-
- En d'autres termes, la nouvelle importance perceptuelle est calculée par soustraction à la première importance perceptuelle, d'un rapport entre le nombre de bits alloués pour le codage coeur et le nombre de coefficients possibles dans la sous-bande.
- Avec cette nouvelle importance perceptuelle, le bloc 512 effectue une allocation de bits sur le signal résiduel pour coder la couche d'amélioration.
-
- nbits_VQ_err correspondant au nombre de bits supplémentaire dans la couche d'amélioration (320 bits pour les 2 couches de 8 kbit/s).
- Elle prend donc en compte la nouvelle importance perceptuelle calculée.
- Le signal résiduel err(k) est ensuite codé par le module 513 par quantification vectorielle sphérique, en utilisant le nombre de bits alloués nbit_err(j) tel que calculé précédemment.
- Ce signal résiduel codé est ensuite multiplexé avec le signal issu du codage coeur et l'enveloppe codée, par le module de multiplexage 508.
- Ce codage d'amélioration, étend non seulement le débit alloué mais améliore d'un point de vue perceptuel, le codage du signal.
- On rappelle que la couche d'amélioration du codage TDAC tel que décrit peut s'appliquer après avoir modifié le codage TDAC de G.729.1. Dans les couches d'amélioration de 32 à 48 kbit/s, une première amélioration (non décrite ici) du codage TDAC de G.729.1 est réalisée. Cette amélioration alloue des bits aux sous-bandes comprises entre 4 et 7 kHz auxquelles aucun débit n'a été alloué par le codage coeur TDAC de G.729.1 même à son plus haut débit de 32 kbit/s. Cette première amélioration du codage TDAC de G.729.1 utilise donc le signal original entre 4 et 7 kHz et ne met pas en oeuvre les étapes de calcul d'un seuil de masquage ni de détermination de l'importance perceptuelle du procédé de codage de l'invention. On considère que le bloc 507 correspond à ce codage TDAC modifié intégrant cette amélioration.
- Ainsi, dans la couche d'amélioration du procédé de codage de l'invention, aux débits allant de 48 kbit/s à 64 kbit/s, la détermination de l'importance perceptuelle (blocs 511, 512) prend non seulement en compte les bits alloués pour le codage coeur ou de base mais également les bits alloués pour le codage d'amélioration précédent, en l'occurrence, le codage d'amélioration de débit 40 kbit/s.
- La
figure 5 illustre non seulement le codeur TDAC avec son étage de codage d'amélioration mais sert également à une illustration des étapes du procédé de codage selon un mode de réalisation de l'invention tel que décrit précédemment et notamment des étapes de: - calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codage d'amélioration;
- détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage coeur;
- allocation binaire de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
- codage du signal résiduel selon l'allocation de bits.
- La
figure 6 illustre le décodeur TDAC avec un étage de décodage d'amélioration ainsi que les étapes d'un procédé de décodage selon un mode de réalisation de l'invention. - Le décodeur comporte les modules (601, 602, 603, 606, 607, 608, 609 et 610) identiques à ceux décrits pour le décodage TDAC du codeur G.729.1 en référence à la
figure 4 (401, 402, 403, 406, 407, 408, 409 et 410). A noter que le bloc 606 de postraitement dans le domaine MDCT (visant à mettre en forme le bruit de codage) est ici optionnel car l'invention vient améliorer la qualité du spectre MDCT décodé issu du bloc 603. - Le module 605 du décodeur correspond au module 511 du codeur et fonctionne de la même façon à partir des valeurs quantifiées de l'enveloppe spectrale.
- A partir de la première importance perceptuelle ip(j) calculée par ce module 605, le module d'allocation 604, détermine une seconde importance perceptuelle en prenant en compte l'allocation de bits reçus du codage coeur, de la même façon que dans le module 512 du codage.
- Cette allocation de bits pour le codage d'amélioration permet au module 611 de décoder le signal reçu du module de démultiplexage 600, par déquantification vectorielle sphérique.
- Le signal décodé issu du module 611 est un signal d'erreur err(k) qui est ensuite combiné en 612, au signal coeur décodé en 603.
- Ce signal est ensuite traité comme pour le codage G.729.1 décrit en référence à la
figure 4 , pour donné un signal en différence dLB en bande basse et un signal SHB en bande haute. - On indique aussi que le calcul d'un masquage fréquentiel effectué par le module 511 ou 605 et tel que décrit précédemment, peut être effectué ou non selon le signal à coder (en particulier s'il est tonal ou non).
- Il a pu être observé en effet que le calcul du seuil de masquage est particulièrement avantageux lorsque le signal à coder n'est pas tonal.
- Si le signal est tonal, l'application de la fonction d'étalement B(v) résulte en un seuil de masquage très proche d'un ton un peu plus étalé en fréquences. Le critère de minimisation du rapport bruit de codage à masque donne alors une allocation des bits qui n'est pas obligatoirement optimale.
- On peut donc pour améliorer cette allocation, utiliser une allocation des bits suivant des critères énergétiques pour un signal tonal.
- Ainsi, dans une variante de réalisation, le calcul du seuil de masquage et la détermination de l'importance perceptuelle en fonction de ce seuil de masquage selon l'invention n'est appliqué que si le signal à coder n'est pas tonal.
- En termes génériques, on obtient donc une information (du bloc 505) selon laquelle le signal à coder est tonal ou non tonal, et la pondération perceptuelle de la bande haute, avec la détermination du seuil de masquage et la normalisation, ne sont menées que si le signal est non tonal.
- Avec un codage coeur de type G.729.1, le bit relatif au mode du codage de l'enveloppe spectrale (bloc 505 ou 601) indique un mode "Huffman différentiel" ou un mode "binaire naturel direct". Ce bit de mode peut être interprété comme une détection de tonalité, car, en général, un signal tonal conduit à un codage d'enveloppe par le mode "binaire naturel direct", tandis que la plupart des signaux non tonaux, ayant une dynamique spectrale plus limitée, conduisent à un codage d'enveloppe par le mode "Huffman différentiel".
- Ainsi, il peut être tiré un avantage de la « détection de tonalité du signal » pour mettre en oeuvre le masquage fréquentiel ou non. Plus particulièrement, ce calcul de seuil de masquage est appliquée dans le cas où l'enveloppe spectrale a été codée en mode "Huffman différentiel" et la première importance perceptuelle est définie alors au sens de l'invention, comme suit :
-
- On décrit maintenant une application possible de l'invention à une extension de l'encodeur G.729.1, en particulier en bande super-élargie.
- En référence à la
figure 9 , un tel codeur est illustré. L'extension en bande super-élargie du codeur G.729.1 tel que représenté consiste en une extension des fréquences codées par le module 915, la bande de fréquence utilisée passant de [50Hz-7KHz] à [50Hz-14kHz] et en une amélioration de la couche de base du G.729.1 par le module de codage TDAC (bloc 910) et tel que décrit en référence à lafigure 5 . - Ainsi, le codeur tel que représenté en
figure 9 , comporte les mêmes modules que le codage coeur G.729.1 représenté enfigure 1 et un module supplémentaire d'extension de bande 915 qui fournit un signal d'extension au module de multiplexage 912. - Cette extension de bande de fréquence est calculée sur le signal original pleine bande SSWB alors que le signal d'entrée du codeur coeur est obtenu par décimation (bloc 913) et filtrage passe-bas (bloc 914). A la sortie de ces blocs, le signal d'entrée en bande élargie SWB est obtenu.
- Le module 910 de codage TDAC est différent de celui illustré en
figure 1 . Ce module est par exemple celui décrit en référence à lafigure 5 et fournit au module de multiplexage, à la fois le signal coeur codé et le signal d'amélioration codé selon l'invention. - De la même façon, un décodeur G.729.1 étendu en bande super-élargie est décrit en référence à la
figure 10 . Il comporte les mêmes modules que le décodeur G.729.1 décrit en référence à lafigure 2 . - Il comporte cependant un module supplémentaire d'extension de bande 1014 qui reçoit du module de démultiplexage 1000, le signal d'extension de bande.
- Il comporte également le banc de filtres de synthèse (blocs 1015, 1016) permettant d'obtenir le signal de sortie en bande super-élargie ŜSWb .
- Le module 1003 de décodage TDAC est également différent du module de décodage TDAC illustré en référence à la
figure 2 . Ce module est par exemple celui décrit et illustré en référence à lafigure 6 . Il reçoit donc du module de démultiplexage, à la fois le signal coeur et le signal d'amélioration. - Dans le mode de réalisation privilégié présenté précédemment, l'invention est utilisée pour améliorer la qualité du codage TDAC dans le codec G.729.1. Naturellement l'invention s'applique à d'autres types de codage par transformée avec une allocation binaire et à l'extension scalable d'autres codecs coeur que G.729.1.
- Un exemple de réalisation matérielle du codeur et du décodeur tel que décrit en référence aux
figures 5 et6 est maintenant décrit en référence auxfigures 11a et 11b . - Ainsi, la
figure 11a illustre un codeur ou terminal comprenant un codeur tel que décrit enfigure 5 . Il comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM. - Ce terminal comporte un module d'entrée apte à recevoir un signal en bande basse dLB et un signal SHB en bande haute ou tout type de signaux numériques à coder. Ces signaux peuvent provenir d'un autre étage de codage ou d'un réseau de communication, d'une mémoire de stockage de contenu numérique.
- Le bloc mémoire BM peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de codage au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes de:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous-bandes de fréquences traitées par le codage d'amélioration;
- détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage coeur;
- allocation de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
- codage du signal résiduel selon l'allocation de bits.
- Typiquement, la description de la
figure 5 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du terminal ou codeur ou téléchargeable dans l'espace mémoire de celui-ci. - Le terminal comporte un module de sortie apte à transmettre un flux multiplexé issu du codage des signaux d'entrée.
- De la même façon, la
figure 11b illustre un exemple de décodeur ou de terminal comportant un décodeur tel que décrit en référence à lafigure 6 . - Ce terminal comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM.
- Le terminal comporte un module d'entrée apte à recevoir un flux multiplexé provenant par exemple d'un réseau de communication, d'un module de stockage.
- Le bloc mémoire peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé de décodage au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes de:
- calcul d'un seuil de masquage fréquentiel pour au moins une partie des sous-bandes de fréquences traitées par le décodage d'amélioration;
- détermination d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodage coeur;
- allocation de bits dans les sous-bandes fréquentielles traitées par le décodage d'amélioration, en fonction de l'importance perceptuelle déterminée; et
- décodage du signal résiduel selon l'allocation de bits.
- Typiquement, la description de la
figure 6 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du terminal ou téléchargeable dans l'espace mémoire de celui-ci. - Le terminal comporte un module de sortie apte à transmettre des signaux décodés (dLB , SHB ) pour un autre étage de codage ou pour une restitution de contenu.
- Bien évidemment, un tel terminal peut comporter à la fois le codeur et le décodeur selon l'invention.
Claims (12)
- Procédé de codage hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codage coeur du signal d'entrée destiné à encoder des coefficients de transformée de type MDCT selon un premier débit et au moins un codage d'amélioration du codage des coefficients de type MDCT de débit supérieur d'un signal résiduel, le codage coeur utilisant une allocation binaire (506) selon un critère énergétique, caractérisé en ce qu'il comporte les étapes suivantes pour le codage d'amélioration:- calcul d'un seuil de masquage fréquentiel (511) pour au moins une partie des bandes de fréquences traitées par le codage d'amélioration;- détermination (511,512) d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codage coeur;- allocation binaire (512) de bits dans les sous-bandes fréquentielles traitées par le codage d'amélioration, en fonction de l'importance perceptuelle déterminée; et- codage du signal résiduel (513) selon l'allocation de bits.
- Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination d'une importance perceptuelle comporte:- une première étape (511) de définition d'une première importance perceptuelle pour au moins une sous bande de fréquence du codage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du codage de l'enveloppe spectrale pour la sous bande de fréquence et d'un facteur de normalisation déterminé;- une deuxième étape (512) de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le codage coeur et le nombre de coefficients dans ladite sous-bande.
- Procédé selon la revendication 1, caractérisé en ce que l'importance perceptuelle est déterminée en outre en fonction de bits alloués pour un codage d'amélioration du codage coeur, précédent, ayant une allocation binaire selon un critère énergétique.
- Procédé selon la revendication 1, caractérisé en ce que le seuil de masquage est déterminé pour une sous-bande, par une convolution entre:- une expression d'une enveloppe spectrale calculée, et- une fonction d'étalement faisant intervenir une fréquence centrale de ladite sous-bande.
- Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape d'obtention d'une information selon laquelle le signal à coder est tonal ou non tonal et que les étapes de calcul du seuil de masquage et de détermination d'une importance perceptuelle en fonction de ce seuil de masquage, ne sont menées que si le signal est non tonal.
- Procédé selon la revendication 1, caractérisé en ce que le codage d'amélioration est un codage d'amélioration du codage des coefficients de type MDCT dans un codeur étendu dont le codage coeur est de type codeur normalisé G.729.1.
- Procédé de décodage hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodage coeur d'un signal reçu destiné à décoder des coefficients de transformée de type MDCT selon un premier débit et au moins un décodage d'amélioration du décodage des coefficients de type MDCT de débit supérieur, d'un signal résiduel, le décodage coeur utilisant une allocution binaire selon un critère énergétique, caractérisé en ce qu'il comporte les étapes suivantes pour le décodage d'amélioration:- calcul d'un seuil de masquage fréquentiel (605) pour au moins une partie des sous-bandes de fréquences traitées par le décodage d'amélioration;- détermination (604) d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodage coeur;- allocation de bits (604, 605) dans les sous-bandes fréquentielles traitées par le décodage d'amélioration, en fonction de l'importance perceptuelle déterminée; et- décodage (611) du signal résiduel selon l'allocation de bits.
- Procédé de décodage selon la revendication 7, caractérisé en ce que l'étape de détermination d'une importance perceptuelle comporte:- une première étape (605) de définition d'une première importance perceptuelle pour au moins une sous- bande de fréquence du décodage d'amélioration, en fonction du seuil de masquage fréquentiel dans la sous-bande, de valeurs quantifiés du décodage de l'enveloppe spectrale pour la sous-bande de fréquence et d'un facteur de normalisation déterminé;- une deuxième étape (604) de soustraction à la première importance perceptuelle d'un rapport entre le nombre de bits alloués pour le décodage coeur et le nombre de coefficients possibles dans ladite sous-bande.
- Codeur hiérarchique d'un signal audiofréquence numérique d'entrée en plusieurs sous-bandes fréquentielles comportant un codeur coeur du signal d'entrée destiné à encoder des coefficients de transformée de type MDCT selon un premier débit et au moins un codeur d'amélioration du codage des coefficients de type MDCT de débit supérieur d'un signal résiduel, le codeur coeur utilisant une allocation binaire (506) selon un critère énergétique, caractérisé en ce que le codeur d'amélioration comporte:- un module (511) de calcul d'un seuil de masquage fréquentiel pour au moins une partie des bandes de fréquences traitées par le codeur d'amélioration;- un module de détermination (512) d'une importance perceptuelle par sous bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le codeur coeur;- un module d'allocation binaire (512) de bits dans les sous-bandes fréquentielles traitées par le codeur d'amélioration, en fonction de l'importance perceptuelle déterminée; et- un module de codage du signal résiduel (513) selon l'allocation de bits.
- Décodeur hiérarchique d'un signal audiofréquence numérique en plusieurs sous-bandes fréquentielles comportant un décodeur coeur d'un signal reçu destiné à décoder des coefficients de transformée de type MDCT selon un premier débit et au moins un décodeur d'amélioration du décodage des coefficients de type MDCT de débit supérieur, d'un signal résiduel, le décodeur coeur utilisant une allocation binaire selon un critère énergétique, caractérisé en ce qu'il comporte le décodeur d'amélioration comporte:- un module de calcul d'un seuil de masquage fréquentiel (605) pour au moins une partie des sous-bandes de fréquences traitées par le décodeur d'amélioration;- un module de détermination (604) d'une importance perceptuelle par sous-bande de fréquence en fonction du seuil de masquage calculé et en fonction du nombre de bits alloués pour le décodeur coeur;- un module d'allocation de bits (604) dans les sous-bandes fréquentielles traitées par le décodeur d'amélioration, en fonction de l'importance perceptuelle déterminée; et- un module de décodage (611) du signal résiduel selon l'allocation de bits.
- Programme informatique comportant des instructions de code pour la mise en oeuvre des étapes d'un procédé de codage selon l'une des revendications 1 à 6, lorsqu'elles sont exécutées par un processeur.
- Programme informatique comportant des instructions de code pour la mise en oeuvre des étapes d'un procédé de décodage selon l'une des revendications 7 à 8, lorsqu'elles sont exécutées par un processeur.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0954682A FR2947944A1 (fr) | 2009-07-07 | 2009-07-07 | Codage/decodage perfectionne de signaux audionumeriques |
| PCT/FR2010/051307 WO2011004097A1 (fr) | 2009-07-07 | 2010-06-25 | Codage/décodage perfectionne de signaux audionumériques |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP2452336A1 EP2452336A1 (fr) | 2012-05-16 |
| EP2452336B1 true EP2452336B1 (fr) | 2013-11-27 |
Family
ID=41531514
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP10745327.6A Active EP2452336B1 (fr) | 2009-07-07 | 2010-06-25 | Codage/décodage perfectionne de signaux audionumériques |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8812327B2 (fr) |
| EP (1) | EP2452336B1 (fr) |
| KR (1) | KR101698371B1 (fr) |
| CN (1) | CN102576536B (fr) |
| CA (1) | CA2766864C (fr) |
| FR (1) | FR2947944A1 (fr) |
| WO (1) | WO2011004097A1 (fr) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2525355B1 (fr) * | 2010-01-14 | 2017-11-01 | Panasonic Intellectual Property Corporation of America | Appareil de codage audio et procédé de codage audio |
| FR3003682A1 (fr) * | 2013-03-25 | 2014-09-26 | France Telecom | Mixage partiel optimise de flux audio codes selon un codage par sous-bandes |
| FR3003683A1 (fr) * | 2013-03-25 | 2014-09-26 | France Telecom | Mixage optimise de flux audio codes selon un codage par sous-bandes |
| CN108198564B (zh) * | 2013-07-01 | 2021-02-26 | 华为技术有限公司 | 信号编码和解码方法以及设备 |
| EP3230980B1 (fr) * | 2014-12-09 | 2018-11-28 | Dolby International AB | Dissimulation d'erreurs dans le domaine mdct |
| JP6611042B2 (ja) * | 2015-12-02 | 2019-11-27 | パナソニックIpマネジメント株式会社 | 音声信号復号装置及び音声信号復号方法 |
| MX2020002972A (es) * | 2017-09-20 | 2020-07-22 | Voiceage Corp | Metodo y dispositivo para asignar un presupuesto de bits entre subtramas en un codec celp. |
| CN110556117B (zh) * | 2018-05-31 | 2022-04-22 | 华为技术有限公司 | 立体声信号的编码方法和装置 |
| EP3751567B1 (fr) * | 2019-06-10 | 2022-01-26 | Axis AB | Procédé, programme informatique, codeur et dispositif de surveillance |
| CN111246469B (zh) * | 2020-03-05 | 2020-10-16 | 北京花兰德科技咨询服务有限公司 | 人工智能保密通信系统及通信方法 |
| CN111294367B (zh) | 2020-05-14 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 音频信号后处理方法和装置、存储介质及电子设备 |
| CN120748424B (zh) * | 2025-08-21 | 2025-11-11 | 清华大学苏州汽车研究院(相城) | 一种车内通话方法、装置、存储介质和电子终端 |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5495552A (en) * | 1992-04-20 | 1996-02-27 | Mitsubishi Denki Kabushiki Kaisha | Methods of efficiently recording an audio signal in semiconductor memory |
| JPH07160297A (ja) * | 1993-12-10 | 1995-06-23 | Nec Corp | 音声パラメータ符号化方式 |
| DE19743662A1 (de) * | 1997-10-02 | 1999-04-08 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Erzeugung eines bitratenskalierbaren Audio-Datenstroms |
| FI109393B (fi) * | 2000-07-14 | 2002-07-15 | Nokia Corp | Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite |
| EP1483759B1 (fr) * | 2002-03-12 | 2006-09-06 | Nokia Corporation | Codage audio à echelle variable |
| DE10236694A1 (de) * | 2002-08-09 | 2004-02-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren |
| FR2849727B1 (fr) * | 2003-01-08 | 2005-03-18 | France Telecom | Procede de codage et de decodage audio a debit variable |
| DE602004004950T2 (de) * | 2003-07-09 | 2007-10-31 | Samsung Electronics Co., Ltd., Suwon | Vorrichtung und Verfahren zum bitraten-skalierbaren Sprachkodieren und -dekodieren |
| KR100561869B1 (ko) * | 2004-03-10 | 2006-03-17 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
| US7392195B2 (en) * | 2004-03-25 | 2008-06-24 | Dts, Inc. | Lossless multi-channel audio codec |
| FR2888699A1 (fr) * | 2005-07-13 | 2007-01-19 | France Telecom | Dispositif de codage/decodage hierachique |
| CN101263554B (zh) * | 2005-07-22 | 2011-12-28 | 法国电信公司 | 在比特率分级和带宽分级的音频解码中的比特率切换方法 |
| KR100827458B1 (ko) * | 2006-07-21 | 2008-05-06 | 엘지전자 주식회사 | 오디오 부호화 방법 |
| FR2912249A1 (fr) * | 2007-02-02 | 2008-08-08 | France Telecom | Codage/decodage perfectionnes de signaux audionumeriques. |
| US8032359B2 (en) * | 2007-02-14 | 2011-10-04 | Mindspeed Technologies, Inc. | Embedded silence and background noise compression |
| JP4708446B2 (ja) * | 2007-03-02 | 2011-06-22 | パナソニック株式会社 | 符号化装置、復号装置およびそれらの方法 |
| JP4871894B2 (ja) * | 2007-03-02 | 2012-02-08 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法および復号方法 |
| WO2008114075A1 (fr) * | 2007-03-16 | 2008-09-25 | Nokia Corporation | Codeur |
| US8209190B2 (en) * | 2007-10-25 | 2012-06-26 | Motorola Mobility, Inc. | Method and apparatus for generating an enhancement layer within an audio coding system |
| US8452587B2 (en) * | 2008-05-30 | 2013-05-28 | Panasonic Corporation | Encoder, decoder, and the methods therefor |
| US8200496B2 (en) * | 2008-12-29 | 2012-06-12 | Motorola Mobility, Inc. | Audio signal decoder and method for producing a scaled reconstructed audio signal |
| US8219408B2 (en) * | 2008-12-29 | 2012-07-10 | Motorola Mobility, Inc. | Audio signal decoder and method for producing a scaled reconstructed audio signal |
-
2009
- 2009-07-07 FR FR0954682A patent/FR2947944A1/fr not_active Withdrawn
-
2010
- 2010-06-25 US US13/382,786 patent/US8812327B2/en active Active
- 2010-06-25 CA CA2766864A patent/CA2766864C/fr active Active
- 2010-06-25 WO PCT/FR2010/051307 patent/WO2011004097A1/fr not_active Ceased
- 2010-06-25 EP EP10745327.6A patent/EP2452336B1/fr active Active
- 2010-06-25 KR KR1020127003321A patent/KR101698371B1/ko active Active
- 2010-06-25 CN CN2010800396757A patent/CN102576536B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR101698371B1 (ko) | 2017-01-26 |
| US20120185255A1 (en) | 2012-07-19 |
| CA2766864C (fr) | 2015-10-27 |
| CN102576536B (zh) | 2013-09-04 |
| CA2766864A1 (fr) | 2011-01-13 |
| EP2452336A1 (fr) | 2012-05-16 |
| FR2947944A1 (fr) | 2011-01-14 |
| WO2011004097A1 (fr) | 2011-01-13 |
| KR20120032025A (ko) | 2012-04-04 |
| US8812327B2 (en) | 2014-08-19 |
| CN102576536A (zh) | 2012-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2115741B1 (fr) | Codage/decodage perfectionnes de signaux audionumeriques | |
| EP2452337B1 (fr) | Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques | |
| CA2766864C (fr) | Codage/decodage perfectionne de signaux audionumeriques | |
| EP1989706B1 (fr) | Dispositif de ponderation perceptuelle en codage/decodage audio | |
| EP1905010B1 (fr) | Codage/décodage audio hiérarchique | |
| EP2366177B1 (fr) | Codage de signal audionumerique avec mise en forme du bruit dans un codeur hierarchique | |
| EP3288034B1 (fr) | Dispositif de décodage et son procédé | |
| CA2512179C (fr) | Procede de codage et de decodage audio a debit variable | |
| EP1926083A1 (fr) | Dispositif et procédé de codage audio | |
| CN101405792B (zh) | 用于在音频解码器中对信号进行后处理的方法 | |
| Marie | Docteur en Sciences | |
| FR2737360A1 (fr) | Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20120203 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR |
|
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: KOVESI, BALAZS Inventor name: RAGOT, STEPHANE Inventor name: VIRETTE, DAVID Inventor name: BERTHET, PIERRE |
|
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: BERTHET, PIERRE Inventor name: RAGOT, STEPHANE Inventor name: KOVESI, BALAZS Inventor name: VIRETTE, DAVID |
|
| DAX | Request for extension of the european patent (deleted) | ||
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602010012084 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G10L0019020000 Ipc: G10L0019240000 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G10L 19/24 20130101AFI20130515BHEP Ipc: G10L 19/002 20130101ALI20130515BHEP Ipc: G10L 19/02 20130101ALN20130515BHEP |
|
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| INTG | Intention to grant announced |
Effective date: 20130624 |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ORANGE |
|
| GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
| AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
| REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 642997 Country of ref document: AT Kind code of ref document: T Effective date: 20131215 |
|
| REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: FRENCH |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602010012084 Country of ref document: DE Effective date: 20140123 |
|
| REG | Reference to a national code |
Ref country code: NL Ref legal event code: VDEP Effective date: 20131127 |
|
| REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 642997 Country of ref document: AT Kind code of ref document: T Effective date: 20131127 |
|
| REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140227 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140327 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140327 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602010012084 Country of ref document: DE |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
| 26N | No opposition filed |
Effective date: 20140828 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602010012084 Country of ref document: DE Effective date: 20140828 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: LU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140625 |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140625 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140630 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140630 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 7 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140228 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20100625 Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 Ref country code: BE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140630 |
|
| REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 8 |
|
| REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 9 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20131127 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20250520 Year of fee payment: 16 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20250520 Year of fee payment: 16 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20250520 Year of fee payment: 16 |















