EP1989707A2 - Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants - Google Patents
Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondantsInfo
- Publication number
- EP1989707A2 EP1989707A2 EP07731606A EP07731606A EP1989707A2 EP 1989707 A2 EP1989707 A2 EP 1989707A2 EP 07731606 A EP07731606 A EP 07731606A EP 07731606 A EP07731606 A EP 07731606A EP 1989707 A2 EP1989707 A2 EP 1989707A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- coding
- mode
- module
- envelope
- decoding
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000013139 quantization Methods 0.000 title claims description 26
- 238000001514 detection method Methods 0.000 claims description 7
- 230000000717 retained effect Effects 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000003595 spectral effect Effects 0.000 description 38
- 238000001228 spectrum Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 235000008733 Citrus aurantifolia Nutrition 0.000 description 1
- 235000011941 Tilia x europaea Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- FMTDIUIBLCQGJB-SEYHBJAFSA-N demeclocycline Chemical compound C1([C@@H](O)[C@H]2C3)=C(Cl)C=CC(O)=C1C(=O)C2=C(O)[C@@]1(O)[C@@H]3[C@H](N(C)C)C(O)=C(C(N)=O)C1=O FMTDIUIBLCQGJB-SEYHBJAFSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004571 lime Substances 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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
-
- 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
-
- 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
-
- 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
Definitions
- SIGNAL ENVELOPE METHOD FOR DECODING SIGNAL ENVELOPE, AND CODING AND DECODING MODULES
- the invention relates to a method for the binary coding of quantization indices describing an envelope of a signal. It also relates to a binary coding module for implementing said method. The invention further relates to a method and a module for decoding a coded envelope by means of the method and the binary coding module according to the invention.
- the invention finds a particularly advantageous application in the field of transmission and storage of digital signals, such as audio-frequency signals for speech, music, etc.
- the method and the coding module according to the invention are more specially adapted for transform coding of audio-frequency signals.
- waveform coding methods, such as MIC or ADPCM (PCM or ADPCM) coding
- CELP coding Code Excited Linear Prediction
- the invention is essentially concerned with transform coding techniques.
- the ITU-T G.722.1 standard (ITU-T G.722.1 Recommendation, Coding at 24 and 32 kbit / s for hand-free operation in systems with low frame loss, September 1999) discloses a transform encoder for compressing audio, speech or music signals in a bandwidth of 50-7000 Hz, referred to as an extended band, at a sampling rate of 16 kHz and at a rate of 24 or 32 kbit / s.
- Figure 1 gives the associated coding scheme, as provided by the above standard.
- the G.722.1 encoder is based on the MLT transform.
- the MLT transform or Malvar recovery modulated transformation, is a variant of the transformation method known as MDCT (Modified Discrete Cosine Transform).
- the value of the spectral envelope for the j-th subband is defined in the logarithmic domain as:
- the spectral envelope is then quantized in the following manner.
- the values obtained are bounded:
- range of quantization indices that can be represented by the binary coding
- range of quantization indices the differential index range is limited to the range [-
- the range of the G.722.1 encoder is said to be "sufficient" to encode the differences between rmsjndex (j) and rms_index (j-1) if
- the range of the G.722.1 encoder is called "insufficient".
- the quantization index rmsjndex ( ⁇ ) is transmitted in the 5-bit G.722.1 encoder.
- the bits remaining after the coding of the quantization indices of the spectral envelope are then distributed to encode the MDCT coefficients normalized by the quantized envelope. Bit allocation among the subbands is performed by a categorization process which is not related to the present invention and will not be detailed here. The rest of the G.722.1 encoding is also not detailed for the same reason.
- the encoding of the MDCT spectral envelope in the G.722.1 encoder has a number of disadvantages.
- variable length coding can lead to using a very large number of bits for the coding of the spectral envelope in the worst cases.
- the differential coding it has been pointed out above the risk of saturation for certain signals with high spectral disparity, such as isolated sinusoids, the differential coding not working because, in these cases, the range of +/- 36.12 dB can not represent all the dynamics of the differences between the rms values.
- a technical problem to be solved by the object of the present invention is to propose a binary coding method of quantization indices describing an envelope of a signal, comprising a variable length coding step, which would make it possible to minimize the coding length at a limited number of bits, even in the worst cases.
- Another problem to be solved by the invention concerns the management of saturation risks for signals having high effective values, such as sinusoids.
- the solution to this technical problem consists, according to the present invention, in that said method comprising a first variable length coding mode is such that the first coding mode includes envelope saturation detection, and in that said method also includes a second coding mode, performed in parallel with the first coding mode and a selection retaining one of the two coding modes according to a code length criterion and the result of the envelope saturation detection of the first coding mode. coding.
- the method according to the invention is based on the competition of two coding modes including at least one variable length, so as to choose the mode leading to the lowest number of coding bits, especially in the worst case, ie for the least probable rms values.
- the selection is such that the second coding mode is retained if at least one of the following conditions is satisfied: the code length of the second coding mode is shorter than the code length of the first mode coding;
- the invention also relates to a binary coding module of an envelope of a signal, comprising a coding module of a first variable-length mode, which is remarkable in that the coding module of a first mode integrates a signal detector. envelope saturation and in that said coding module also comprises a second coding module of a second mode, arranged in parallel with the coding module of the first mode, and a mode selector able to retain one of the two coding modes , based on a code length criterion and the result from the envelope saturation detector.
- said mode selector is able to generate an indicator of the selected coding mode, in order to indicate to the downstream decoder which decoding mode to apply.
- the invention furthermore relates to a method of decoding an envelope of a signal, said envelope being coded by means of the binary coding method according to the invention, remarkable in that said decoding method comprises a step of detecting said indicator. the coding mode retained and a decoding step according to the coding retained.
- the invention also relates to a module for decoding an envelope of a signal, said envelope being coded by means of the binary coding module according to the invention, said decoding module comprising a decoding module of a first mode with a length variable, remarkable in that said decoding module also comprises a second decoding module of a second mode, arranged in parallel with said decoding module of the first variable-length mode, and a mode detector able to detect said mode of operation indicator. encoding and activate the decoding module corresponding to the detected indicator.
- the invention relates to a program comprising instructions recorded on a computer-readable medium for implementing the steps of the method according to the invention.
- Figure 1 is a diagram of an encoder according to G.722.1.
- Figure 2 shows the schematic of a DMCT type transformation.
- Fig. 3 is a table of the minimum (Min) and maximum (Max) bit length of the codes in each sub-band in a Huffman coding for the encoder of Fig. 1.
- Fig. 4 is a diagram of an encoder hierarchical audio including an MDCT encoder embodying the invention.
- Figure 5 is a detailed diagram of the MDCT encoder of Figure 4.
- FIG. 6 is a diagram of the spectral envelope coding module of the MDCT encoder of FIG. 5.
- FIG. 7 gives a table (a) defining the spectrum cut-out
- MDCT in 18 subbands and a table (b) giving the size of the subbands.
- Fig. 8 is a table giving an example of Huffman codes for representing the differential indices.
- FIG. 9 is a diagram of a hierarchical audio decoder including an MDCT decoder embodying the invention.
- Figure 10 is a detailed diagram of the MDCT decoder of Figure 9.
- Fig. 11 is a schematic diagram of the spectral envelope decoding module of the MDCT decoder of Fig. 10.
- the invention will now be described in the context of a hierarchical audio coder of 8 to 32 kbit / s of a particular type.
- the binary spectral envelope coding methods and modules according to the invention are not limited to this type of encoder and that they can be applied to any binary coding of spectral envelope describing the energy in subbands of a signal.
- the input signal of the wideband hierarchical encoder sampled at 16 kHz, is first broken down into two subbands by Quadrature Mirror Filter (QMF).
- QMF Quadrature Mirror Filter
- the low band from 0 to 4000 Hz is obtained by low-pass filtering 300 and decimation 301, and the high band from 4000 to 8000 Hz by high-pass filtering 302 and decimation 303.
- the filters 300 and 302 are of length 64 and are consistent with those described in the J. Johnston article, ICASSP. flight. 5, pp. 291-294, 1980.
- the low band is pre-processed by a high-pass filter 304 eliminating the components below 50 Hz before CELP 305 coding in 50-4000 Hz narrow band.
- the high-pass filtering takes account of the fact that the enlarged band is defined as the band 50-7000 Hz.
- the CELP 305 narrow-band coding used corresponds to a cascaded CELP coding comprising as a first stage a modified G.729 coding (ITU-T G.729 Recommendation, Coding of Speech at 8 kbps using Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP), March 1996) without pre-processing filter, and, as a second stage, an additional fixed dictionary.
- the error signal of the CELP coding is calculated by the subtractor 306 and perceptually weighted by a filter W NB (Z) 307 to obtain the signal .v / ( , This signal is analyzed by discrete modified cosine transform MDCT 308 to obtain the discrete transformed spectrum Xy.
- the high band is first unfolded spectrally 309 to compensate for the folding due to the QMF filter H 302, and then pretreated by a low pass filter 310 eliminating the components between 7000 and 8000 Hz in the original signal.
- the resulting signal ⁇ h is transformed by MDCT 311 to obtain the discrete transformed spectrum X hi .
- a band extension 312 is made from x hi e ⁇ X hi .
- the MDCT transformation is implemented by means of the algorithm described in the article by P. Duhamel, Y. Mahieux, JP Petit, A fast algorithm for the implementation of filter banks based on the lime domain aliasing cancellation, ICASSP, vol. 3, pp.2209-2212, 1991.
- the MDCT transforms in low band and high band Xy and X M are encoded in the MDCT encoder 313.
- the invention relates more specifically to this encoder.
- the different bitstreams generated by the coding modules 305, 312 and 313 are multiplexed and structured into a hierarchical binary train in the multiplexer 314.
- the coding is done in blocks of samples, or frames, of
- the encoding rate is 8, 12, or between 14 and 32 kbit / s in 2 kbit / s steps.
- the MDCT encoder 313 will be described in detail with reference to FIG.
- the MDCT transforms of the low and high bands are first combined in the merge block 400.
- the coefficients are first combined in the merge block 400.
- the X (O), ..., X (L-I) coefficients of X coming from the MDCT are grouped into K subbands.
- the first subband then comprises the coefficients X (tabis (0)) to X (tabis (I) -I), while the second subband includes the coefficients X (tabis (1)) to X (tabis (2) ) -1), etc.
- K 18, the associated cut is specified in Table (a) of Figure 7.
- the amplitude spectral envelope log_rm.s describing the energy distribution by subbands is calculated 401 then coded by the spectral envelope encoder 402 to obtain the indices rmsjndex.
- the bits are allocated to each sub-band 403 and a spherical vector quantization 404 is applied to the X spectrum.
- the bit allocation corresponds to the method set forth in the article by Y. Mahieux, JP Petit , Transform coding of audio signed at 64 kbit / s, IEEE GLOBECOM, pp. 518-522, vol.1, 1990, and spherical vector quantization is performed as described in International Application PCT / FR04 / 00219.
- the bits resulting from the coding of the spectral envelope and the vector quantization of the MDCT coefficients are processed by the multiplexer 314. We will now more particularly describe the calculation and the spectral envelope coding.
- the spectral envelope log_rm, s in the logarithmic domain is defined for the j-th subband as:
- nb_coeff (j) tabis (j + l) -tabis (j) is the number of coefficients in the j-th subband.
- ⁇ serves to avoid Iog 2 (0).
- the spectral envelope corresponds to the rms in dB of the j-th subband; it is therefore an envelope of amplitude.
- the size of the subbands nb_coeff (j) is given in Table (b) of Figure 7.
- ⁇ 2 "24 , which implies log_rms (j) ⁇ -12.
- the resulting rmsjndex vector contains integer indices between -11 and +20 (32 possible values).
- the low band envelope rms_index_bb is binary form by two coding modules 502 and 503 put into competition, namely a variable length coding module 502 and a fixed length coding module, said "equiprobable", 503.
- the module 502 is a differential Huffman coding module
- the module 503 is a natural binary coding module.
- the differential Huffman coding module 502 comprises two coding steps which are detailed below:
- the indicator satur_bb thus makes it possible to detect spectral envelope saturations by differential Huffman coding of the low band.
- the quantization index rmsjndex ( ⁇ ) has an integer value between -11 and +20. It is directly encoded in 5-bit fixed length binary.
- the Huffman table used is specified in the table in Figure 8.
- bit_cntl_bb the total number of bits, bit_cntl_bb, resulting from this binary conversion of rmsjndex ( ⁇ ) and Huffman coding of the diffjndex quantization indices (j) is variable.
- the mode selection is specified below:
- the differential Huffman mode is chosen.
- the mode selector 504 generates a bit that indicates the selected mode between the differential Huffman and equiprobable modes with the following convention: 0 for differential Huffman mode, 1 for equiprobable mode. This bit is multiplexed to the other bits generated by the envelope encoding.
- the mode selector 504 actuates a flip-flop 505 which makes it possible to multiplex in the multiplexer 314 the bits of the chosen coding mode.
- the high band envelope rms_index_bh undergoes a treatment identical to the processing of rms_index_bb: uniform coding of the first log_rms (0) index on 5 bits by the equiprobable coding module 507 and Huffman coding of the differential indices by the coding module 506.
- the table the Huffman used in the module 506 is identical to that of the module 502.
- the equiprobable encoding 507 is identical to that of the low band 503.
- the mode selector 508 generates a bit which indicates the mode selected between the differential Huffman codings. and equiprobable, and this bit is multiplexed with the bits coming from the flip-flop 509 in the multiplexer 314.
- the hierarchical audio decoder associated with the encoder which has just been described is represented in FIG. 9.
- the bits describing each frame of 20 ms are demultiplexed in the demultiplexer 600.
- the decoding which operates from 8 to 32 kbit / s is presented.
- the bit stream could be truncated at 8, 12, 14 or between 14 and 32 kbit / s in steps of 2 kbit / s.
- the bit stream of the 8 and 12 kbit / s layers is used by the decoder
- CELP 601 to generate a first narrow-band synthesis (0-4000 Hz).
- the portion of the bit stream associated with the 14 kbit / s layer is decoded by the band extension module 602; the signal obtained in the high band (4000-7000 Hz) is transformed by MDCT 603 into a transformed signal X h1 .
- MDCT decoding 604 is explained in Figure 10 and discussed below. It generates from the bit stream associated with the bit rates of 14 to 32 kbit / s a reconstructed spectrum X 10 in low band and a reconstructed spectrum X h ⁇ in high band. These spectra are brought back to time signals x 10 and x h 1 by inverse MDCT in blocks 605 and 606.
- the signal ⁇ ; o is added to the CELP synthesis 608 after inverse perceptual filtering 607, the result is then post-filtered 609.
- the extended band output signal sampled at 16 kHz, is obtained through the synthesis QMF filter bank which includes the 610 and 612 oversampling, low pass and high pass 611 and 613 and addition 614.
- the MDCT decoder 604 is now described with reference to FIG.
- the bits associated with this module are demultiplexed in the demultiplexer 600.
- the spectral envelope is first decoded 701 to obtain the indices rmsjndex as well as the spectral envelope reconstructed in linear scale m ⁇ s_q.
- the decoding module 701 is explained in FIG. 11 and detailed below. In the absence of a binary error and if all the bits describing the spectral envelope are well received, the indices rmsjndex correspond exactly to those which are calculated with the encoder; this property is essential because the allocation of the bits 702 must have the same information to the encoder and the decoder so that the encoder and decoder are compatible. Normalized MDCT coefficients are decoded in block 703.
- the sub-bands that are not received or not coded, because they are too low in energy, are replaced by those of the X h ⁇ spectrum in the substitution module 704.
- the module 705 applies the envelope of amplitude by subbands to the coefficients provided at the module output 704, and the reconstructed spectrum X is separated 706 into a reconstructed spectrum X lo in a low band (0-4000 Hz) and a reconstructed spectrum X 10 in a high band (4000-7000 Hz).
- Figure 11 shows the operation of the decoding of the spectral envelope.
- the bits associated with the spectral envelope are demultiplexed by the demultiplexer 600.
- the decoding begins with the reading in the mode selector 801 of the value of the mode selection bit received from the encoder, differential Huffman mode or equiprobable mode.
- the selector 801 follows the same convention as the coding, ie: 0 for the differential Huffman mode, 1 for the equiprobable mode.
- the value of the bit makes it possible to actuate the flip-flops 802 and 805.
- the mode selection bit is 1
- the decoding indicates to the decoder MDCT that an error has been detected. occurred.
- the bits associated with the low band are decoded in the same way as those of the high band.
- the vector rmsjndex represents the spectral envelope reconstructed on a logarithmic scale in base 2 ; the spectral envelope is converted on a linear scale by the conversion module 812, which performs the following operation:
- the envelope coded by the invention may correspond to the temporal envelope describing the rms value per subframes of a signal instead of a spectral envelope describing the rms value per subframe.
- the fixed-length coding step competing with the differential Huffman coding may be replaced by a variable-length coding step, for example a Hufman coding of the quantization indices instead of that of the differential indices.
- Huffman coding can also be replaced by any other form of lossless coding, such as arithmetic coding, Tunstall coding, and so on.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (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)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Module (402) de codage binaire d'une enveloppe d'un signal, comprenant un module (502) de codage d'un premier mode à longueur variable. Selon l'invention, le module de codage d'un premier mode intègre un détecteur de saturation d'enveloppe et ledit module (402) de codage comprend également un deuxième module (503) de codage d'un second mode, disposé en parallèle au module (502) de codage du premier mode, et un sélecteur (504) de mode apte à retenir un des deux modes de codage, en fonction d'un critère de longueur de code et du résultat issu du détecteur de saturation d'enveloppe. Application au codage par transformée de signaux audio-fréquences.
Description
PROCEDE DE CODAGE BINAIRE D'INDICES DE QUANTIFICATION D'UNE
ENVELOPPE D'UN SIGNAL, PROCEDE DE DECODAGE D'UNE ENVELOPPE D'UN SIGNAL ET MODULES DE CODAGE ET DECODAGE
CORRESPONDANTS
L'invention concerne un procédé de codage binaire d'indices de quantification décrivant une enveloppe d'un signal. Elle concerne également un module de codage binaire pour la mise en œuvre dudit procédé. L'invention concerne en outre un procédé et un module de décodage d'une enveloppe codée au moyen du procédé et du module de codage binaire selon l'invention.
L'invention trouve une application particulièrement avantageuse dans le domaine de la transmission et du stockage de signaux numériques, tels que les signaux audio-fréquences de parole, de musique, etc.. Le procédé et le module de codage selon l'invention sont plus spécialement adaptés au codage par transformée des signaux audio-fréquences.
Différentes techniques existent aujourd'hui pour convertir sous forme numérique et pour compresser un signal audio-fréquences de parole, de musique, etc. Les méthodes les plus courantes sont :
- les méthodes de « codage de forme d'onde », telles que le codage MIC ou MICDA (PCM ou ADPCM en anglais),
- les méthodes de « codage paramétrique par analyse par synthèse » comme le codage CELP (« Code Excited Linear Prédiction »),
- les méthodes de « codage perceptuel en sous-bandes ou par transformée ».
Ces techniques classiques de codage de signaux audio-fréquences sont décrites par exemple dans WB. Kleijn and K.K. Paliwal Editors, Speech Coding and Synthesis, Elsevier, 1995.
Comme cela a été mentionné plus haut, l'invention s'intéresse essentiellement aux techniques de codage par transformée.
La norme UIT-T G.722.1 (ITU-T G.722.1 Recommandation, Coding at 24 and 32 kbit/s for hand-free opération in Systems with low frame loss,
September 1999) décrit un codeur par transformée destiné à compresser les signaux audio, parole ou musique, dans une bande passante de 50-7000 Hz, dite bande élargie, à la fréquence d'échantillonnage de 16 kHz et à un débit de 24 ou 32 kbit/s. La figure 1 donne le schéma de codage associé, tel que fourni par la norme précitée.
Comme le montre cette figure, le codeur G.722.1 est basé sur la transformée MLT. La longueur de trame est de 20 ms et contient Λ/=320 échantillons.
La transformée MLT, ou transformation modulée avec recouvrement de Malvar, est une variante de la méthode de transformation connue sous le nom de MDCT (« Modified Discrète Cosine Transform »).
Sur la figure 2, on a représenté succinctement le principe d'une transformation MDCT.
La MDCT X(m) d'un signal x(n) de longueur L=2N comprenant les échantillons de la trame courante et de la trame future est définie comme :
X(m) = Lc(n)
OU m = 0,..., N-I. Dans la formule ci-dessus, le terme en sinus correspond au fenêtrage illustré à la figure 2. Le calcul de X(m) correspond donc à la projection de x(n) sur une base de cosinus locale avec fenêtrage sinusoïdal. Des algorithmes rapides de calcul de la MDCT existent (voir par exemple l'article de P.
Duhamel, Y. Mahieux, J. P. Petit, A fast algorithm for the implementation of filter banks based on time domain aliasing cancellation, ICASSP, vol. 3, pp.2209-2212, 1991 ).
Pour le calcul de l'enveloppe spectrale de la transformée, les valeurs
X(O),...,X(N-I) issus de la MDCT sont regroupées en 16 sous-bandes de 20 coefficients. Seules les 14 premières sous-bandes (14x20=280 coefficients) sont quantifiées et codées, correspondant à la bande de fréquence 0-7000 Hz, la bande 7000-8000 (40 coefficients) étant ignorée par mise à zéro.
La valeur de l'enveloppe spectrale pour la j-ème sous-bande est définie dans le domaine logarithmique comme :
où ; = 0,..., 13, le terme ε servant à éviter Iog2(0). Cette enveloppe correspond donc à la valeur efficace (« root mean square » ou rms en anglais) par sous- bande.
L'enveloppe spectrale est ensuite quantifiée de la manière suivante. L'ensemble des valeurs
\og_rms = {\og_rms(0) \og_rms(l).. Λog_rms(13)} est d'abord arrondi à : rms_index = {rms_index(0) rms_index(l) ... rms_index(13)} où les indices rmsjndex(j) sont les arrondis à l'entier le plus proche de \og_rms(j)xO,5 pour; = 0,..., 13.
Le pas de quantification est donc de 20 x logio(20'5) = 3,0103... dB. Les valeurs obtenues sont bornées :
3 < rmsjndex(θ) ≤ 33 (dynamique 31 x 3,01 = 93,31 dB) pour; = 0 et -6 < rmsjndex(j) ≤ 33 (dynamique 40 x 3,01 = 120,4 dB) pour; = 1,..., 13 Les rmsjndex des 13 dernières bandes sont ensuite transformés en indices différentiels en calculant la différence des valeurs efficaces rms de l'enveloppe spectrale d'une sous-bande et la précédente : diff_rms_index(j) = rms_index(j) - rms_index(j-l) pour; = 1,..., 13 Ces indices différentiels sont également bornés : -12 ≤ diff_rms_index(j) ≤ 11 ; pour; = 1,..., 13
Dans la suite, on désignera par « gamme d'indices de quantification » l'intervalle des indices pouvant être représentés par le codage binaire. Dans le codeur G.722.1 , la gamme d'indices différentiels est limitée à l'intervalle [-
11 ,12]. Ainsi, la gamme du codeur G.722.1 est dite « suffisante » pour coder les écarts entre rmsjndex(j) et rms_index(j-l) si
-12 ≤ rms_index(j) - rms_index(j-l) ≤ 11 Autrement, la gamme du codeur G.722.1 est dite « insuffisante ». Ainsi, le codage d'enveloppe spectrale est en saturation dès que l'écart de rms entre deux sous-bandes adjacentes dépasse 12 x 3,01 = 36,12 dB.
L'indice de quantification rmsjndex(θ) est transmis dans le codeur G.722.1 sur 5 bits. Les indices de quantification différentiels diff_rms_index(j) (j = 1,..., 13) sont codés par codage de Huffman, chaque variable ayant sa propre table de Huffman. Il s'agit donc d'un codage entropique de longueur variable qui a pour principe d'affecter un code court en terme de bits aux valeurs d'indice différentiel les plus probables, les valeurs d'indice de quantification différentiel les moins probables ayant un code plus long. Ce type de codage est très efficace en terme de débit moyen, on rappelle que le nombre de bits total utilisé pour coder l'enveloppe spectrale dans le codeur G.722.1 est d'environ 50 bits en moyenne. Cependant, comme on le verra ci- après, le pire cas n'est pas contrôlé.
Le tableau de la figure 3 donne pour chaque sous-bande la longueur du plus court code (Min), donc celui de la valeur la plus probable (meilleur cas), et du plus long code (Max), à savoir celui de la valeur la moins probable (pire cas). On remarquera sur ce tableau que la première sous-bande (j = 0) a une longueur fixe de 5 bits, contrairement aux sous-bandes suivantes.
Avec ces valeurs de longueur de code, on voit que dans le meilleur cas l'encodage de l'enveloppe spectrale demande 39 bits (1 ,95 kbit/s), mais que le pire cas théorique est de 190 bits (9,5 kbit/s). Dans le codeur G.722.1 , les bits restant après le codage des indices de quantification de l'enveloppe spectrale sont ensuite distribués pour coder les coefficients MDCT normalisés par l'enveloppe quantifiée. L'allocation des bits parmi les sous-bandes est effectuée par un processus de catégorisation qui n'est pas lié à la présente invention et ne sera pas détaillé ici. Le reste du codage G.722.1 n'est pas non plus détaillé pour la même raison.
Le codage de l'enveloppe spectrale MDCT dans le codeur G.722.1 présente un certain nombre d'inconvénients.
En effet, comme on vient de le voir, le codage à longueur variable peut conduire à utiliser un nombre de bits très grand pour le codage de l'enveloppe spectrale dans les pires cas. D'autre part, il a été signalé plus haut le risque de saturation pour certains signaux à forte disparité spectrale, comme par exemple les sinusoïdes isolées, le codage différentiel ne fonctionnant pas car,
dans ces cas, la plage de +/-36,12 dB ne peut pas représenter toute la dynamique des différences entre les valeurs de rms.
Aussi, un problème technique à résoudre par l'objet de la présente invention est de proposer un procédé de codage binaire d'indices de quantification décrivant une enveloppe d'un signal, comprenant une étape de codage à longueur variable, qui permettrait de minimiser la longueur de codage à un nombre de bits limité, même dans les pires cas.
Par ailleurs, un autre problème à résoudre par l'invention concerne la gestion des risques de saturation pour des signaux présentant de fortes valeurs efficaces, comme les sinusoïdes.
La solution à ce problème technique consiste, selon la présente invention, en ce que ledit procédé comprenant un premier mode de codage à longueur variable est tel que le premier mode de codage intègre une détection de saturation d'enveloppe, et en ce que ledit procédé comprend également un second mode de codage, effectué parallèlement au premier mode de codage et une sélection retenant un des deux modes de codage en fonction d'un critère de longueur de code et du résultat de la détection de saturation d'enveloppe du premier mode de codage.
Ainsi, le procédé conforme à l'invention repose sur la mise en concurrence de deux modes de codage dont au moins un à longueur variable, de manière à pouvoir choisir le mode conduisant au nombre de bits de codage le plus faible, notamment dans les pires cas, c'est à dire pour les valeurs de rms les moins probables.
De plus, lorsque l'un des modes de codage conduit à une saturation de la valeur efficace d'une sous-bande, l'autre mode est « forcé » et devient prioritaire, même s'il conduit à une longueur de codage plus grande.
Dans un mode préféré de réalisation, la sélection est telle que le second mode de codage est retenu si au moins une des conditions suivantes est vérifiée: - la longueur de code du second mode de codage est plus courte que la longueur de code du premier mode de codage;
- la détection de saturation d'enveloppe du premier mode de codage indique une saturation.
L'invention concerne également un module de codage binaire d'une enveloppe d'un signal, comprenant un module de codage d'un premier mode à longueur variable, remarquable en ce que le module de codage d'un premier mode intègre un détecteur de saturation d'enveloppe et en ce que ledit module de codage comprend également un deuxième module de codage d'un second mode, disposé en parallèle au module de codage du premier mode, et un sélecteur de mode apte à retenir un des deux modes de codage, en fonction d'un critère de longueur de code et du résultat issu du détecteur de saturation d'enveloppe. En plus de sélectionner le codage le plus approprié, ledit sélecteur de mode est apte à générer un indicateur du mode de codage retenu, afin d'indiquer au décodeur en aval quel mode de décodage il doit appliquer.
L'invention concerne en outre un procédé de décodage d'une enveloppe d'un signal, ladite enveloppe étant codée au moyen du procédé de codage binaire selon l'invention, remarquable en ce que ledit procédé de décodage comprend une étape de détection dudit indicateur du mode codage retenu et une étape de décodage selon le codage retenu. L'invention concerne encore un module de décodage d'une enveloppe d'un signal, ladite enveloppe étant codée au moyen du module de codage binaire selon l'invention, ledit module de décodage comprenant un module de décodage d'un premier mode à longueur variable, remarquable en ce que ledit module de décodage comprend également un deuxième module de décodage d'un second mode, disposé en parallèle audit module de décodage du premier mode à longueur variable, et un détecteur de mode apte à détecter ledit indicateur du mode de codage et à activer le module de décodage correspondant à l'indicateur détecté.
Enfin, l'invention concerne un programme comprenant des instructions enregistrées sur un support lisible par un ordinateur pour mettre en œuvre les étapes du procédé selon l'invention. La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée.
La figure 1 est un schéma d'un codeur conforme à la norme G.722.1.
La figure 2 représente le schéma d'une transformation de type DMCT.
La figure 3 est un tableau de la longueur minimale (Min) et maximale (Max) en bits des codes dans chaque sous-bande dans un codage de Huffman pour le codeur de la figure 1. La figure 4 est un schéma d'un codeur audio hiérarchique incluant un codeur MDCT mettant en œuvre l'invention.
La figure 5 est un schéma détaillé du codeur MDCT de la figure 4.
La figure 6 est un schéma du module de codage d'enveloppe spectrale du codeur MDCT de la figure 5. La figure 7 donne un tableau (a) définissant la découpe du spectre
MDCT en 18 sous-bandes et un tableau (b) donnant la taille des sous-bandes.
La figure 8 est un tableau donnant un exemple de codes de Huffman pour représenter les indices différentiels.
La figure 9 est un schéma d'un décodeur audio hiérarchique incluant un décodeur MDCT mettant en œuvre l'invention.
La figure 10 est un schéma détaillé du décodeur MDCT de la figure 9.
La figure 11 est un schéma du module de décodage d'enveloppe spectrale du décodeur MDCT de la figure 10.
L'invention va maintenant être décrite dans le cadre d'un codeur audio hiérarchique de 8 à 32 kbit/s d'un type particulier. Cependant, il doit être bien entendu que les procédés et les modules de codage et décodage binaires d'enveloppe spectrale conformes à l'invention ne sont pas limités à ce type de codeur et qu'ils peuvent s'appliquer à tout codage binaire d'enveloppe spectrale décrivant l'énergie en sous-bandes d'un signal. Comme le montre la figure 4, le signal d'entrée du codeur hiérarchique en bande élargie, échantillonné à 16 kHz, est d'abord décomposé en deux sous-bandes par filtrage miroir en quadrature QMF (« Quadrature Mirror Filter »). La bande basse de 0 à 4000 Hz est obtenue par filtrage passe-bas 300 et décimation 301 , et la bande haute de 4000 à 8000 Hz par filtrage passe-haut 302 et décimation 303. Dans un mode de réalisation préféré, les filtres 300 et 302 sont de longueur 64 et sont conformes à ceux décrits dans l'article de J. Johnston, A filter family designed for use in quadrature mirror filter banks, ICASSP. vol. 5, pp. 291 - 294, 1980.
La bande basse est pré-traitée par un filtre passe-haut 304 éliminant les composantes en dessous de 50 Hz avant codage CELP 305 en bande étroite 50-4000 Hz. Le filtrage passe-haut tient compte du fait que la bande élargie est définie comme la bande 50-7000 Hz. Dans le mode de réalisation décrit, le codage CELP 305 en bande étroite utilisé correspond à un codage CELP en cascade comprenant comme premier étage un codage G.729 modifié (ITU-T G.729 Recommandation, Coding of Speech at 8 kbit/s using Conjugate Structure Algebraic Code Excited Linear Prédiction (CS-ACELP), March 1996) sans filtre de pré-traitement, et, comme deuxième étage, un dictionnaire fixe supplémentaire. Le signal d'erreur du codage CELP est calculé par le soustracteur 306 et pondéré perceptuellement par un filtre WNB(Z) 307 pour obtenir le signal .v/(, Ce signal est analysé par transformée discrète en cosinus modifiée MDCT 308 pour obtenir le spectre transformé discret Xy.
La bande haute est d'abord dépliée spectralement 309 pour compenser le repliement dû au filtre QMF H 302, puis pré-traitée par un filtre passe-bas 310 éliminant les composantes entre 7000 et 8000 Hz dans le signal original. Le signal résultant χh; est transformé par MDCT 311 pour obtenir le spectre transformé discret Xhi. Une extension de bande 312 est réalisée à partir de xhi e\ Xhi. Comme cela a déjà été expliqué en regard de la figure 2, les signaux ΛV,, et xu sont découpés en trames de N échantillons et la transformée MDCT de longueur L = 2N analyse les trames courante et future. Dans un mode de réalisation préféré, xto et xM sont des signaux en bande étroite échantillonnés à 8 kHz et N = 160, soit 20 ms. Les transformées MDCT Xy et XM comprennent donc N = 160 coefficients ; chaque coefficient représente alors une bande fréquentielle de 4000/160 = 25 Hz. Dans un mode de réalisation préféré, la transformation MDCT est implantée au moyen de l'algorithme décrit dans l'article de P. Duhamel, Y. Mahieux, J. P. Petit, A fast algorithm for the implementation of filter banks based on lime domain aliasing cancellation', ICASSP, vol. 3, pp.2209-2212, 1991.
Les transformées MDCT en bande basse et bande haute Xy et XM sont codés dans le codeur MDCT 313. L'invention se rapporte plus précisément à ce codeur.
Les différents flux binaires générés par les modules de codage 305, 312 et 313 sont multiplexes et structurés en un train binaire hiérarchique dans le multiplexeur 314. Le codage est réalisé par blocs d'échantillons, ou trames, de
20 ms, soit 320 échantillons. Le débit de codage est de 8, 12, ou entre 14 et 32 kbit/s par pas de 2 kbit/s.
Le codeur MDCT 313 va être décrit en détail en référence à la figure 5.
Les transformées MDCT des bandes basse et haute sont d'abord combinées dans le bloc de fusion 400. Ainsi, les coefficients
Xio = {Xio(0) Xιo(l) ... Xo(N-I)J et Xhi = (Xhi(0) Xhi(l) ... XM(N-I)) sont regroupés en un seul vecteur pour former un spectre transformé discret pleine bande :
X = (X(m) }m=0..χ_i = (Xi0(O) Xi0(I) . .. X10(N-I) Xhl(0) Xhl(l) . .. Xhl(N-l) }
Les coefficients X(O),...,X(L-I) de X issus de la MDCT sont regroupés en K sous-bandes. La découpe en sous-bandes peut-être décrite par un tableau tabis = {tabis(O) tabis(l) ... tabis(K)} de K+1 éléments définissant les frontières des sous-bandes. La première sous-bande comprend alors les coefficients X(tabis(0)) à X(tabis( I)-I), tandis que la seconde sous-bande comprend les coefficients X(tabis(l)) à X(tabis(2)-1), etc.
Dans un mode de réalisation préféré, K=18, la découpe associée est spécifiée dans le tableau (a) de la figure 7.
L'enveloppe spectrale d'amplitude log_rm.s décrivant la répartition énergétique par sous-bandes est calculée 401 puis codée par le codeur d'enveloppe spectrale 402 pour obtenir les indices rmsjndex. Les bits sont alloués à chaque sous-bande 403 et une quantification vectorielle sphérique 404 est appliquée au spectre X. Dans un mode de réalisation préféré, l'allocation des bits correspond à la méthode exposée dans l'article de Y. Mahieux, J. P. Petit, Transform coding of audio signais at 64 kbit/s, IEEE GLOBECOM, pp. 518 - 522, vol.1 , 1990, et la quantification vectorielle sphérique est réalisée comme décrit la demande internationale PCT/FR04/00219.
Les bits issus du codage de l'enveloppe spectrale et de la quantification vectorielle des coefficients MDCT sont traités par le multiplexeur 314.
On va maintenant décrire plus particulièrement le calcul et le codage d'enveloppe spectrale.
L'enveloppe spectrale log_rm,s dans le domaine logarithmique est définie pour la j-ème sous-bande comme :
tabιs n(jj++ln)-→l log_ rms(j) = -log X(m)2 + ε nb_ coeff(j) m=ta 'bιs(j)
où j=0...K-I et nb_coeff(j) = tabis(j+l)-tabis(j) est le nombre de coefficients dans la j-ème sous-bande. Le terme ε sert à éviter Iog2(0). L'enveloppe spectrale correspond à la rms en dB de la j-ème sous-bande; il s'agit donc d'une enveloppe d'amplitude.
Dans un mode de réalisation préféré, la taille des sous-bandes nb_coeff(j) est donnée au tableau (b) de la figure 7. De plus, ε = 2"24, ce qui implique log_rms(j) ≥ -12. Le codage de l'enveloppe spectrale par le codeur 402 est détaillé à la figure 6.
L'enveloppe log_rm.s dans le domaine logarithmique est d'abord arrondie à rms_index = {rms_index(0) rms_index(l) ... rms_index(K-l)} par quantification uniforme 500. Cette quantification est donnée simplement par : rmsJndexQ) = arrondi à l'entier le plus proche de \og_rms(j)xO,5 si rmsjndexφ < -11, rmsjndexφ = -11 si rmsJndexQ) > +20, rmsJndexQ) = +20
L'enveloppe spectrale est ainsi codée avec des pas logarithmiques uniformes de 20 x Iog-ι0(20'5) = 3,0103... dB. Le vecteur rmsjndex résultant contient des indices entiers compris entre -11 et +20 (soit 32 valeurs possibles). Ainsi, l'enveloppe spectrale est représentée avec une gamme dynamique de l'ordre de 32 x 3,01 = 96,31 dB.
L'enveloppe quantifiée rmsjndex est ensuite décomposée en deux sous-vecteurs par le bloc 501 : l'un rms_index_bb = {rmsjndex(θ) rmsjndex(l) ... rms_index(K_BB-l)} pour l'enveloppe en bande basse et l'autre mιs_index_bh =
{rms_index(K_BB) ... rmsJndex(K-l)} pour l'enveloppe en bande haute. Dans un mode de réalisation préféré, K = 18 et K_BB = 10; autrement dit, les 10
premières sous-bandes sont dans la bande basse (0-4000 Hz) tandis que les 8 dernières sont dans la bande haute (4000-7000 Hz).
L'enveloppe bande basse rms_index_bb est mise sous forme binaire par deux modules de codage 502 et 503 mis en compétition, à savoir un module de codage différentiel à longueur variable 502 et un module de codage à longueur fixe, dit "équiprobable", 503. Dans un mode de réalisation préféré, le module 502 est un module de codage de Huffman différentiel, et le module 503 un module de codage binaire naturel.
Le module de codage de Huffman différentiel 502 comprend deux étapes de codage qui sont détaillées ci-dessous :
- calcul des indices différentiels.
Les indices de quantification différentiels diffjndex(l) diff_index(2) ... diffjndex (K_BB-1) sont donnés par : saturjbb = 0 diff_index(j) = rms_index(j) — rms_index(j-l)
Si {diffjndex(j) < -12 ) ou {diffjndex(j) > +12 ), saturjbb = 1
L'indicateur binaire satur_bb permet de détecter les cas où diffjndex(j) n'est pas dans l'intervalle [-12, + 12]. Si satur_bb = 0, tous les éléments diffjndex(j) sont dans cet intervalle et donc la gamme d'indices du codage de Huffman différentiel est suffisante, autrement, l'un de ces éléments est inférieur à -12 ou supérieur à +12 et ladite gamme d'indices est alors insuffisante. L'indicateur satur_bb permet donc de détecter des saturations d'enveloppe spectrale par codage de Huffman différentiel de la bande basse.
Dans le cas où une saturation est détectée, on bascule sur le mode équiprobable de codage à longueur fixe. En effet, la gamme d'indices du mode équiprobable est de par sa conception toujours suffisante.
- conversion binaire du premier indice et codage de Huffman des indices différentiels :
* l'indice de quantification rmsjndex(θ) a une valeur entière comprise entre -11 et +20. Il est codé directement en binaire de longueur fixe sur 5 bits.
Ensuite, les indices de quantification différentiels diffjndex(j) pour j=l...K_BB-1 sont convertis sous forme binaire par codage de Huffman (à longueur
variable). La table de Huffman utilisée est spécifiée dans le tableau de la figure 8.
* le nombre total de bits, bit_cntl_bb, issu de cette conversion binaire de rmsjndex(θ) et codage de Huffman des indices de quantification diffjndex(j) est variable.
* dans un mode de réalisation préféré, la longueur maximale d'un code de Huffman est de 14 bits et le codage de Huffman est appliqué à K_BB-1 = 9 indices différentiels de la bande basse. Donc, la valeur théorique maximale de bit_cntl_bb est 5 + 9x14 = 131 bits. Bien qu'il ne s'agisse que d'une valeur théorique, on observe que dans le pire cas le nombre de bits utilisés par le codage de l'enveloppe spectrale de la bande basse peut être très important; c'est précisément le rôle du codage « équiprobable » que de limiter le cas pire.
Le module de codage équiprobable 503 se résume à convertir directement sous forme binaire naturelle les éléments rmsjndex(θ) rmsjndex(l) ... rms_index(K_BB-l). Ceux-ci sont compris entre -11 et +20 et sont donc codés chacun sur 5 bits. Le nombre de bits nécessaire au codage équiprobable est donc simplement : bit_cnt2_bb = 5 * K_BB bits. Dans un mode de réalisation préféré, K_BB = 10, donc bit_cnt2_bb = 50 bits.
Le sélecteur de mode 504 choisit lequel des deux modules 502 ou 503, Huffman différentiel ou équiprobable, génère le nombre de bits le plus faible. Comme le mode Huffman différentiel sature les indices différentiels à +/-12, le mode équiprobable est aussi choisi dès qu'une saturation est détectée dans le calcul des indices de quantification différentiels. Ce procédé permet d'éviter les saturations d'enveloppe spectrale dès que l'écart des valeurs de rms entre deux bandes adjacentes dépasse 12 x 3,01 = 36,12 dB. La sélection de mode est spécifiée ci-dessous :
- si (saturjbb = 1 ) ou (bit_cnt2_bb < bit_cntl_bb), le mode équiprobable est choisi,
- sinon, le mode Huffman différentiel est choisi. Le sélecteur de mode 504 génère un bit qui indique le mode sélectionné entre les modes Huffman différentiel et équiprobable avec la convention suivante : 0 pour le mode Huffman différentiel, 1 pour le mode équiprobable. Ce bit est multiplexe aux autres bits générés par le codage de l'enveloppe
spectrale dans le multiplexeur 510. De plus, le sélecteur de mode 504 actionne une bascule 505 qui permet de multiplexer dans le multiplexeur 314 les bits du mode de codage choisi.
L'enveloppe bande haute rms_index_bh subit un traitement identique au traitement de rms_index_bb : codage uniforme du premier indice log_rms(0) sur 5 bits par le module de codage équiprobable 507 et codage de Huffman des indices différentiels par le module de codage 506. La table de Huffman utilisée dans le module 506 est identique à celle du module 502. De même, le codage équiprobable 507 est identique à celui de bande basse 503. Le sélecteur de mode 508 génère un bit qui indique le mode sélectionné entre les codages de Huffman différentiel et équiprobable, et ce bit est multiplexe aux bits issus de la bascule 509 dans le multiplexeur 314. Le nombre de bits nécessaire au codage équiprobable de la bande haute est bit_cnt2_bh = (K-K_BB) x 5 ; dans le mode de réalisation préféré, K-K_BB = 8 donc bit_cnt2_bh = 40 bits. II est important de noter que dans le mode de réalisation préféré les bits associés à l'enveloppe de la bande haute sont multiplexes avant les bits associés à l'enveloppe de la bande basse. De cette façon, si une partie seulement de l'enveloppe spectrale codée est reçue au décodeur, l'enveloppe de la bande haute peut être décodée avant celle de la bande basse. Le décodeur audio hiérarchique associé au codeur qui vient d'être décrit est représenté à la figure 9. Les bits décrivant chaque trame de 20 ms sont démultiplexés dans le démultiplexeur 600. On présente ici le décodage qui fonctionne de 8 à 32 kbit/s. En pratique le flux binaire a pu être tronqué à 8, 12, 14 ou entre 14 et 32 kbit/s par pas de 2 kbit/s. Le flux binaire des couches à 8 et 12 kbit/s est utilisé par le décodeur
CELP 601 pour générer une première synthèse en bande étroite (0-4000 Hz). La portion du flux binaire associée à la couche à 14 kbit/s est décodé par le module d'extension de bande 602; le signal obtenu en bande haute (4000- 7000 Hz) est transformé par MDCT 603 en un signal transformé Xhl . Le décodage MDCT 604 est explicité à la figure 10 et discuté ci-après. Il génère à partir du flux binaire associé aux débits de 14 à 32 kbit/s un spectre reconstruit X10 en bande basse et un spectre reconstruit Xhι en bande haute. Ces spectres sont ramenés à des signaux temporels xl0 et xhι par MDCT inverse
dans les blocs 605 et 606. Le signal χ;oest ajouté à la synthèse CELP 608 après filtrage perceptuel inverse 607, le résultat est ensuite postfiltré 609.
Le signal de sortie en bande élargie, échantillonné à 16 kHz, est obtenu par l'intermédiaire du banc de filtres QMF de synthèse qui comprend les opérations de sur-échantillonnage 610 et 612, filtrages passe-bas et passe- haut 611 et 613 et addition 614.
Le décodeur MDCT 604 est maintenant décrit en regard de la figure 10.
Les bits associés à ce module sont démultiplexés dans le démultiplexeur 600. L'enveloppe spectrale est d'abord décodée 701 pour obtenir les indices rmsjndex ainsi que l'enveloppe spectrale reconstruite en échelle linéaire mιs_q. Le module de décodage 701 est explicité à la figure 11 et détaillé ci-après. En l'absence d'erreur binaire et si tous les bits décrivant l'enveloppe spectrale sont bien reçus, les indices rmsjndex correspondent exactement à ceux qui sont calculés au codeur; cette propriété est essentielle car l'allocation des bits 702 doit disposer de la même information au codeur et au décodeur pour que les codeur et décodeur soient compatibles. Les coefficients MDCT normalisés sont décodés dans le bloc 703.
Les sous-bandes non-reçues ou non codées, car d'énergie trop faibles, sont remplacées par celles du spectre Xhι dans le module de substitution 704. Enfin, le module 705 applique l'enveloppe d'amplitude par sous-bandes aux coefficients fournis en sortie de module 704, et le spectre reconstruit X est séparé 706 en spectre reconstruit Xloen bande basse (0-4000 Hz) et spectre reconstruit X10 en bande haute (4000-7000 Hz).
La figure 11 présente le fonctionnement du décodage de l'enveloppe spectrale. Les bits associés à l'enveloppe spectrale sont démultiplexés par le démultiplexeur 600.
Dans le mode de réalisation préféré, les bits associés à l'enveloppe spectrale de la bande haute sont transmis avant ceux de la bande basse. Ainsi, le décodage commence par la lecture dans le sélecteur de mode 801 de la valeur du bit de sélection de mode reçu du codeur, mode Huffman différentiel ou mode équiprobable. Le sélecteur 801 suit la même convention qu'au codage à savoir : 0 pour le mode Huffman différentiel, 1 pour le mode équiprobable. La valeur du bit permet d'actionner les bascules 802 et 805.
Si le bit de sélection de mode est à O, un décodage de Huffman différentiel est réalisé par le module de décodage à longueur variable 803 : la valeur absolue rms_index(K_BB) comprise entre -11 et +20 et représentée sur 5 bits est d'abord décodée, puis les codes de Huffman associés aux indices de quantification différentiels diffjndex(j) pour j= K_BB..K-1 sont ensuite décodées. Les indices entiers rmsjndex(j) sont alors reconstruits par la relation
rms_index(j) = rms_index(j-l) + diff_index(j) pour j= K_BB.. K-I.
Si le bit de sélection de mode est à 1 , les valeurs de rmsjndex(j) comprises entre -11 et +20 et représentées sur 5 bits pour 7= K_BB..K-1 sont décodées successivement par le module de décodage à longueur fixe 804. Dans le cas où aucun code de Huffman n'a été trouvé, en mode 0, ou si le nombre de bits reçu est insuffisant pour réaliser le décodage complet de la bande haute, le décodage indique au décodeur MDCT qu'une erreur a eu lieu.
Les bits associés à la bande basse sont décodés de la même façon que ceux de la bande haute. On retrouve donc pour cette partie le sélecteur de mode 806, les bascules 807 et 810 et les modules de décodage 808 et 809.
L'enveloppe spectrale reconstruite en bande haute comprend les indices entiers rmsjndex(j) pour j= K_BB..K-1. Celle qui est reconstruite en bande basse comprend les indices entiers rmsjndex(j) pour 7= 0...K_BB-l. Ces indices sont regroupés en un seul vecteur rmsjndex = {rmsjndex(θ) rmsjndex(l) ... rmsJndex(K-l)} dans le bloc de fusion 811. Le vecteur rmsjndex représente l'enveloppe spectrale reconstruite sur une échelle logarithmique en base 2; l'enveloppe spectrale est convertie sur une échelle linéaire par le module de conversion 812, qui réalise l'opération suivante :
rms_q(j) = 2msJndex<j)
OU j= 0,...,K-l.
Il est bien entendu que l'invention n'est pas limitée au seul mode de réalisation qui vient d'être décrit. En particulier, on notera que l'enveloppe codée par l'invention peut correspondre à l'enveloppe temporelle décrivant la
valeur efficace rms par sous-trames d'un signal au lieu d'une enveloppe spectrale décrivant la valeur efficace par sous-trame.
De plus, l'étape de codage à longueur fixe mise en compétition avec le codage de Huffman différentiel peut être remplacée par une étape de codage à longueur variable, par exemple un codage de Hufman des indices de quantification au lieu de celui des indices différentiels. Le codage de Huffman peut également être remplacé par toute autre forme de codage sans perte, tel que codage arithmétique, codage de Tunstall, etc.
Claims
1. Procédé de codage binaire d'indices de quantification décrivant une enveloppe d'un signal, comprenant un premier mode de codage à longueur variable caractérisé en ce que le premier mode de codage intègre une détection de saturation d'enveloppe, et en ce que ledit procédé comprend également un second mode de codage, effectué parallèlement au premier mode de codage et une sélection retenant un des deux modes de codage en fonction d'un critère de longueur de code et du résultat de la détection de saturation d'enveloppe du premier mode de codage.
2. Procédé selon la revendication 1 , caractérisé en ce que la sélection est telle que le second mode de codage est retenu si au moins une des conditions suivantes est vérifiée:
- la longueur de code du second mode de codage est plus courte que la longueur de code du premier mode de codage;
- la détection de saturation d'enveloppe du premier mode de codage indique une saturation.
3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que ledit procédé comprend également une étape de génération d'un indicateur du mode de codage retenu.
4. Procédé selon la revendication 3, caractérisé en ce que ledit indicateur est constitué par un bit unique.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit second mode de codage est un codage binaire naturel à longueur fixe.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ledit premier mode de codage à longueur variable est un codage différentiel à longueur variable.
7. Procédé selon l'une quelconque de revendications 1 à 6, caractérisé en ce que ledit premier mode de codage à longueur variable est un codage de Huffman différentiel.
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que lesdits indices de quantification sont obtenus par quantification scalaire d'une enveloppe fréquentielle décrivant l'énergie en sous-bandes dudit signal.
9. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que lesdits indices de quantification sont obtenus par quantification scalaire d'une enveloppe temporelle décrivant l'énergie en sous-trames dudit signal.
10. Procédé selon l'une des revendications 8 ou 9, caractérisé en ce que la première sous-bande ou sous-trame est codée selon un codage à longueur fixe, et en ce que l'énergie différentielle d'une sous-bande ou sous-trame par rapport à la précédente est codée selon le codage à longueur variable.
1 1. Procédé de décodage d'une enveloppe d'un signal, ladite enveloppe étant codée au moyen du procédé de codage binaire selon l'une quelconque des revendications 2 à 10, caractérisé en ce que ledit procédé de décodage comprend une étape de détection dudit indicateur du mode de codage retenu et une étape de décodage selon le mode de codage retenu.
12. Module (402) de codage binaire d'une enveloppe d'un signal, comprenant un module (502) de codage d'un premier mode à longueur variable, caractérisé en ce que le module de codage d'un premier mode intègre un détecteur de saturation d'enveloppe et en ce que ledit module (402) de codage comprend également un deuxième module (503) de codage d'un second mode, disposé en parallèle au module (502) de codage du premier mode, et un sélecteur (504) de mode apte à retenir un des deux modes de codage, en fonction d'un critère de longueur de code et du résultat issu du détecteur de saturation d'enveloppe.
13. Module selon la revendication 12, caractérisé en ce que ledit sélecteur (504) de mode est apte à générer un indicateur du mode de codage retenu.
14. Module (701 ) de décodage d'une enveloppe d'un signal, ladite enveloppe étant codée au moyen du module de codage binaire selon la revendication 13, ledit module de décodage comprenant un module (808) de décodage d'un premier mode à longueur variable, caractérisé en ce que ledit module (701 ) de décodage comprend également un deuxième module (809) de décodage d'un second mode, disposé en parallèle audit module (808) de décodage du premier mode, et un détecteur (806) de mode apte à détecter ledit indicateur du mode de codage et à activer le module (808, 809) de décodage correspondant à l'indicateur détecté.
15. Application du procédé de codage selon l'une quelconque des revendications 1 à 10 et du module de codage selon l'une quelconque des revendications 12 à 13 au codage par transformée de signaux audiofréquences.
16. Application selon la revendication 15, caractérisée en ce que ladite transformée est une transformée MDCT.
17. Programme comprenant des instructions enregistrées sur un support lisible par un ordinateur pour mettre en œuvre les étapes du procédé selon les revendications 1 à 10, lorsque ledit programme est exécuté sur un ordinateur.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0650638 | 2006-02-24 | ||
PCT/FR2007/050781 WO2007096551A2 (fr) | 2006-02-24 | 2007-02-13 | Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1989707A2 true EP1989707A2 (fr) | 2008-11-12 |
Family
ID=37192313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP07731606A Withdrawn EP1989707A2 (fr) | 2006-02-24 | 2007-02-13 | Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants |
Country Status (9)
Country | Link |
---|---|
US (1) | US8315880B2 (fr) |
EP (1) | EP1989707A2 (fr) |
JP (1) | JP5235684B2 (fr) |
KR (1) | KR101364979B1 (fr) |
CN (1) | CN101390158B (fr) |
BR (1) | BRPI0708267A2 (fr) |
MX (1) | MX2008010836A (fr) |
RU (1) | RU2420816C2 (fr) |
WO (1) | WO2007096551A2 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2464649C1 (ru) * | 2011-06-01 | 2012-10-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ обработки звукового сигнала |
US10424304B2 (en) | 2011-10-21 | 2019-09-24 | Samsung Electronics Co., Ltd. | Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100889750B1 (ko) * | 2007-05-17 | 2009-03-24 | 한국전자통신연구원 | 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법 |
CN102037742A (zh) * | 2008-04-08 | 2011-04-27 | Med-El电气医疗器械有限公司 | 利用相干精细结构对听神经的电刺激 |
JP5519230B2 (ja) * | 2009-09-30 | 2014-06-11 | パナソニック株式会社 | オーディオエンコーダ及び音信号処理システム |
CN102256139B (zh) * | 2010-05-19 | 2013-10-02 | 晨星软件研发(深圳)有限公司 | 媒体编码系统、量化系数编码装置及量化系数编码方法 |
EP2701144B1 (fr) | 2011-04-20 | 2016-07-27 | Panasonic Intellectual Property Corporation of America | Dispositif et procédé d'exécution d'un codage de huffman |
CN105976824B (zh) * | 2012-12-06 | 2021-06-08 | 华为技术有限公司 | 信号解码的方法和设备 |
MX2015013120A (es) * | 2013-03-15 | 2016-05-18 | Conformis Inc | Componentes e instrumentos de implante de rodilla estabilizada posteriormente. |
CA3163664A1 (fr) | 2013-05-24 | 2014-11-27 | Dolby International Ab | Codeur et decodeur audio |
JP6224827B2 (ja) * | 2013-06-10 | 2017-11-01 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 分配量子化及び符号化を使用した累積和表現のモデル化によるオーディオ信号包絡符号化、処理及び復号化の装置と方法 |
JP6224233B2 (ja) | 2013-06-10 | 2017-11-01 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 分配量子化及び符号化を使用したオーディオ信号包絡の分割によるオーディオ信号包絡符号化、処理及び復号化の装置と方法 |
CN104282312B (zh) * | 2013-07-01 | 2018-02-23 | 华为技术有限公司 | 信号编码和解码方法以及设备 |
CN105493182B (zh) * | 2013-08-28 | 2020-01-21 | 杜比实验室特许公司 | 混合波形编码和参数编码语音增强 |
KR102270106B1 (ko) * | 2013-09-13 | 2021-06-28 | 삼성전자주식회사 | 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치 |
EP3046105B1 (fr) * | 2013-09-13 | 2020-01-15 | Samsung Electronics Co., Ltd. | Procédé de codage sans perte |
CN110867190B (zh) | 2013-09-16 | 2023-10-13 | 三星电子株式会社 | 信号编码方法和装置以及信号解码方法和装置 |
PL3696812T3 (pl) * | 2014-05-01 | 2021-09-27 | Nippon Telegraph And Telephone Corporation | Koder, dekoder, sposób kodowania, sposób dekodowania, program kodujący, program dekodujący i nośnik rejestrujący |
WO2015199143A1 (fr) * | 2014-06-24 | 2015-12-30 | 国立大学法人愛媛大学 | Articulation artificielle du genou |
CN107077855B (zh) | 2014-07-28 | 2020-09-22 | 三星电子株式会社 | 信号编码方法和装置以及信号解码方法和装置 |
WO2017125559A1 (fr) | 2016-01-22 | 2017-07-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Appareils et procédés de codage ou de décodage de signal audio multicanal au moyen d'un rééchantillonnage de domaine spectral |
CN107342090B (zh) * | 2016-04-29 | 2020-08-25 | 华为技术有限公司 | 一种音频信号编码、解码方法及音频信号编码器、解码器 |
GB2559200A (en) * | 2017-01-31 | 2018-08-01 | Nokia Technologies Oy | Stereo audio signal encoder |
US11087774B2 (en) | 2017-06-07 | 2021-08-10 | Nippon Telegraph And Telephone Corporation | Encoding apparatus, decoding apparatus, smoothing apparatus, inverse smoothing apparatus, methods therefor, and recording media |
JP7262593B2 (ja) * | 2019-01-13 | 2023-04-21 | 華為技術有限公司 | ハイレゾリューションオーディオ符号化 |
GB2587196A (en) | 2019-09-13 | 2021-03-24 | Nokia Technologies Oy | Determination of spatial audio parameter encoding and associated decoding |
WO2021120067A1 (fr) * | 2019-12-18 | 2021-06-24 | 深圳市大疆创新科技有限公司 | Procédé de codage de données, procédé de décodage de données, procédé de traitement de données, codeur, décodeur, système, plateforme mobile, et support lisible par ordinateur |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334038A (ja) * | 1992-06-04 | 1993-12-17 | Toshiba Corp | データの符号化及び復元処理装置 |
JP2000151413A (ja) * | 1998-11-10 | 2000-05-30 | Matsushita Electric Ind Co Ltd | オーディオ符号化における適応ダイナミック可変ビット割り当て方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4815068A (en) * | 1987-08-07 | 1989-03-21 | Dolby Ray Milton | Audio encoder for use with more than one decoder each having different characteristics |
JP2964344B2 (ja) * | 1988-06-08 | 1999-10-18 | 富士通株式会社 | 符号化/復号化装置 |
JPH0783315B2 (ja) | 1988-09-26 | 1995-09-06 | 富士通株式会社 | 可変レート音声信号符号化方式 |
US5924064A (en) * | 1996-10-07 | 1999-07-13 | Picturetel Corporation | Variable length coding using a plurality of region bit allocation patterns |
DK1175670T4 (da) * | 1999-04-16 | 2007-11-19 | Dolby Lab Licensing Corp | Audiokodning ved hjælp af forstærkningsadaptiv kvantificering og symboler med uensartet længde |
JP3323175B2 (ja) * | 1999-04-20 | 2002-09-09 | 松下電器産業株式会社 | 符号化装置 |
JP2001075600A (ja) * | 1999-09-07 | 2001-03-23 | Mitsubishi Electric Corp | 音声符号化装置および音声復号化装置 |
US6625226B1 (en) * | 1999-12-03 | 2003-09-23 | Allen Gersho | Variable bit rate coder, and associated method, for a communication station operable in a communication system |
US7016502B2 (en) * | 2000-12-22 | 2006-03-21 | Sony Corporation | Encoder and decoder |
JP3580251B2 (ja) * | 2000-12-27 | 2004-10-20 | 日本電気株式会社 | データ圧縮装置及び圧縮方法並びにその制御プログラムを記録した記録媒体 |
WO2002103683A1 (fr) | 2001-06-15 | 2002-12-27 | Sony Corporation | Appareil et procede de codage |
BR0206202A (pt) * | 2001-10-26 | 2004-02-03 | Koninklije Philips Electronics | Métodos para codificar um sinal de áudio e para decodificar um fluxo de áudio, codificador de áudio, reprodutor de áudio, sistema de áudio, fluxo de áudio, e, meio de armazenamento |
MXPA03005133A (es) * | 2001-11-14 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Dispositivo de codificacion, dispositivo de decodificacion y sistema de los mismos. |
US6845360B2 (en) * | 2002-11-22 | 2005-01-18 | Arbitron Inc. | Encoding multiple messages in audio data and detecting same |
FI114071B (fi) * | 2003-01-13 | 2004-07-30 | Nokia Corp | Kuvien käsitteleminen rajoitetulla bittimäärällä |
MXPA05008317A (es) * | 2003-02-06 | 2005-11-04 | Dolby Lab Licensing Corp | Audio con respaldo continuo. |
EP1709743A1 (fr) | 2004-01-30 | 2006-10-11 | France Telecom S.A. | Quantification vectorielle en dimension et resolution variables |
US7739120B2 (en) * | 2004-05-17 | 2010-06-15 | Nokia Corporation | Selection of coding models for encoding an audio signal |
US7596486B2 (en) * | 2004-05-19 | 2009-09-29 | Nokia Corporation | Encoding an audio signal using different audio coder modes |
CN101124626B (zh) * | 2004-09-17 | 2011-07-06 | 皇家飞利浦电子股份有限公司 | 用于最小化感知失真的组合音频编码 |
-
2007
- 2007-02-13 EP EP07731606A patent/EP1989707A2/fr not_active Withdrawn
- 2007-02-13 BR BRPI0708267-3A patent/BRPI0708267A2/pt not_active IP Right Cessation
- 2007-02-13 MX MX2008010836A patent/MX2008010836A/es active IP Right Grant
- 2007-02-13 JP JP2008555850A patent/JP5235684B2/ja not_active Expired - Fee Related
- 2007-02-13 WO PCT/FR2007/050781 patent/WO2007096551A2/fr active Application Filing
- 2007-02-13 CN CN2007800066863A patent/CN101390158B/zh not_active Expired - Fee Related
- 2007-02-13 US US12/280,644 patent/US8315880B2/en not_active Expired - Fee Related
- 2007-02-13 RU RU2008137987/09A patent/RU2420816C2/ru not_active IP Right Cessation
- 2007-02-13 KR KR1020087023295A patent/KR101364979B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334038A (ja) * | 1992-06-04 | 1993-12-17 | Toshiba Corp | データの符号化及び復元処理装置 |
JP2000151413A (ja) * | 1998-11-10 | 2000-05-30 | Matsushita Electric Ind Co Ltd | オーディオ符号化における適応ダイナミック可変ビット割り当て方法 |
Non-Patent Citations (1)
Title |
---|
See also references of WO2007096551A2 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2464649C1 (ru) * | 2011-06-01 | 2012-10-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ обработки звукового сигнала |
US10424304B2 (en) | 2011-10-21 | 2019-09-24 | Samsung Electronics Co., Ltd. | Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus |
US10878827B2 (en) | 2011-10-21 | 2020-12-29 | Samsung Electronics Co.. Ltd. | Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus |
US11355129B2 (en) | 2011-10-21 | 2022-06-07 | Samsung Electronics Co., Ltd. | Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
WO2007096551A2 (fr) | 2007-08-30 |
RU2008137987A (ru) | 2010-03-27 |
JP5235684B2 (ja) | 2013-07-10 |
US8315880B2 (en) | 2012-11-20 |
CN101390158A (zh) | 2009-03-18 |
KR101364979B1 (ko) | 2014-02-20 |
JP2009527785A (ja) | 2009-07-30 |
KR20080107428A (ko) | 2008-12-10 |
WO2007096551A3 (fr) | 2007-11-01 |
MX2008010836A (es) | 2008-11-26 |
BRPI0708267A2 (pt) | 2011-05-24 |
CN101390158B (zh) | 2012-03-14 |
US20090030678A1 (en) | 2009-01-29 |
RU2420816C2 (ru) | 2011-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1989707A2 (fr) | Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants | |
EP1989706B1 (fr) | Dispositif de ponderation perceptuelle en codage/decodage audio | |
EP1905010B1 (fr) | Codage/décodage audio hiérarchique | |
EP2452337B1 (fr) | Allocation de bits dans un codage/décodage d'amélioration d'un codage/décodage hiérarchique de signaux audionumériques | |
EP1907812B1 (fr) | Procede de commutation de debit en decodage audio scalable en debit et largeur de bande | |
EP2115741B1 (fr) | Codage/decodage perfectionnes de signaux audionumeriques | |
EP2366177B1 (fr) | Codage de signal audionumerique avec mise en forme du bruit dans un codeur hierarchique | |
EP2452336B1 (fr) | Codage/décodage perfectionne de signaux audionumériques | |
AU2006332046A1 (en) | Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding | |
FR2761801A1 (fr) | Methode de codage audio et dispositif | |
EP1692689A1 (fr) | Procede de codage multiple optimise | |
WO2007107670A2 (fr) | Procede de post-traitement d'un signal dans un decodeur audio | |
WO2012080649A1 (fr) | Codage perfectionne d'un etage d'amelioration dans un codeur hierarchique | |
EP2171713B1 (fr) | Codage de signaux audionumériques | |
FR2766032A1 (fr) | Codeur audio | |
AU2011205144B2 (en) | Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding | |
JP2007515672A (ja) | オーディオ信号符号化 | |
EP2232833A2 (fr) | Traitement d'erreurs binaires dans une trame binaire audionumerique | |
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: 20080911 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ORANGE |
|
17Q | First examination report despatched |
Effective date: 20140109 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20170901 |