EP2176861A1 - Hierarchical coding of digital audio signals - Google Patents

Hierarchical coding of digital audio signals

Info

Publication number
EP2176861A1
EP2176861A1 EP08806166A EP08806166A EP2176861A1 EP 2176861 A1 EP2176861 A1 EP 2176861A1 EP 08806166 A EP08806166 A EP 08806166A EP 08806166 A EP08806166 A EP 08806166A EP 2176861 A1 EP2176861 A1 EP 2176861A1
Authority
EP
European Patent Office
Prior art keywords
bits
quantization
bit
law
extension
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP08806166A
Other languages
German (de)
French (fr)
Other versions
EP2176861B1 (en
Inventor
Balazs Kovesi
Stéphane RAGOT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP2176861A1 publication Critical patent/EP2176861A1/en
Application granted granted Critical
Publication of EP2176861B1 publication Critical patent/EP2176861B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Definitions

  • the present invention relates to a method for hierarchical coding of sound data more particularly for scalar quantization coding.
  • This coding is adapted in particular for the transmission and / or storage of digital signals such as audio-frequency signals (speech, music or other).
  • the present invention relates more particularly to the coding of waveforms such as the coding MIC (for "Coded Pulse Modulation") said PCM (for "Pulse Code Modulation”) in English where each input sample is individually coded, without prediction.
  • waveforms such as the coding MIC (for "Coded Pulse Modulation") said PCM (for "Pulse Code Modulation”) in English where each input sample is individually coded, without prediction.
  • PCM coding / decoding specified by ITU-T Recommendation G.711 is as described with reference to Figure 1.
  • the input signal is assumed to be defined with a minimum bandwidth of [300-3400 Hz] and sampled at 8 kHz, with a resolution of 16 bits per sample (in so-called "linear PCM" format).
  • the encoder MIC 13 comprises a quantization module Q M ic 10 which receives as input the input signal S.
  • the quantization index I MIC at the output of the quantization module 10 is transmitted via the transmission channel 11 to the decoder 14.
  • the decoder MIC 14 receives at the input the indices I ' MIC coming from the transmission channel, version possibly disturbed by binary errors of I MIC , and carries out an inverse quantization by the inverse quantization module Q ' Vic 12 to obtain the coded signal S ' MIC -
  • the ITU-T G.711 standardized MIC coding (hereinafter G.711) compresses the signal amplitude by a logarithmic curve before uniform scalar quantization, thereby obtaining a signal-to-noise ratio near constant for a wide dynamic signals.
  • the quantization step in the domain of the original signal is therefore proportional to the amplitude of the signals.
  • the successive samples of the compressed signal are quantized on 8 bits, ie 256 levels.
  • PSTN public switched telephone network
  • PSTN Telephone Network
  • these 8 bits are transmitted at a frequency of 8 kHz to give a bit rate of 64 kbit / s.
  • a quantized signal frame according to the G.711 standard consists of 8-bit coded quantization indices.
  • the inverse quantization is implemented per table, it simply consists of a pointing by the index of one of the 256 possible decoded values.
  • the PCM compression has been approximated by a linear curve by segments.
  • coding laws make it possible to perform on the signal a compression of the amplitude (or else "companding" in English).
  • the amplitude of the signal is thus “compressed” by a non-linear function at the encoder, sent on a transmission channel and “decompressed” by the inverse function at the decoder.
  • the advantage of amplitude compression is that it makes it possible to transform the probability distribution of the amplitude of the input audio signal into a quasi-uniform probability law, on which a uniform scalar quantization can be applied.
  • the amplitude compression laws are generally laws of the logarithmic type which therefore make it possible to encode a sampled signal with a resolution of 16 bits (in “linear PCM” format) on 8 bits (in “PCM” type A-law format or mu).
  • the 8 bits per sample in G.711 are distributed as follows as shown at 15 in FIG.
  • an original sample of the signal S to be encoded has an amplitude equal to -75. Therefore, this amplitude is in the range [-80, -65] of line 123 (or "level" 123) of the table.
  • the coding of this information consists of delivering a final coded index, referenced I ' MIC in Figure 1 and Table 1, which is equal to 0x51.
  • VQ 32256 to all the samples whose initial amplitude was in the interval [31744, 32767], or in all 1024 possible values, which corresponds to a quantization step of 1024.
  • SNR signal-to-noise ratio
  • the quantization step in the domain of the original signal is proportional to the amplitude of the signals. This signal-to-noise ratio is not enough to make the quantization noise inaudible over the entire frequency band 0-4000 Hz. In addition, for low level signals (which are encoded with the first segment) the SNR is very bad.
  • the G.711 standard is generally considered to be of good quality for narrowband telephony applications with terminals limiting the band at [300-3400 Hz]. However, the quality is unsatisfactory when using G.711 for other applications such as for example terminals for good fidelity in the band [50.4000 Hz] or for the expanded bandwidth extension of the G-code. .711.
  • Hierarchical coding methods consisting in providing a refinement layer determined from the coding noise of the G.711 coder. This coding noise is then coded by a technique different from G.711, which constitutes the so-called base layer (or core layer).
  • G.711 which constitutes the so-called base layer (or core layer).
  • Such a hierarchical coding method is for example described in Y. Hiwasaki, H. Ohmuro, T. Mori, S. Kurihara and A. Kataoka. "A G.711 Embedded Wideband Speech Coding for VoIP Conferences", IEICE Trans. Inf. & Syst, Vol. E89-D, No. 9, September 2006.
  • This type of method has the disadvantage of significantly increasing the complexity of the encoder while the type of coding MIC is deemed to be of low complexity.
  • the PCM coding noise is a white, and therefore uncorrelated noise, the coding of this type of noise is difficult to implement since the compression techniques are essentially based on properties of extraction
  • the present invention provides a solution that improves the situation.
  • the invention proposes a scalar quantization encoding method of the samples of a digital audio signal, the samples being encoded on a predetermined number of bits to obtain a binary field of quantization indices, the coding being performed according to a law of amplitude compression, a predetermined number of low-order bits not being taken into account in the bit frame of quantization indices.
  • the method is such that it comprises the following steps: storing at least a portion of the least significant bits that are not taken into account in the quantization index bit frame;
  • an improvement stream is transmitted at the same time as the bit frame of quantization indices.
  • This extension stream is determined by taking advantage of low-order bits that are not used during encoding. This method therefore has the advantage of not adding complexity to the encoder and to provide the desired quality improvement by providing the decoder the possibility of obtaining a better decoding accuracy.
  • the stored bits are the most significant bits among the bits that are not taken into account in the bit frame of quantization indices.
  • the number of bits taken into account to determine the improvement stream is a function of the available bit rate during a transmission to a decoder.
  • extension stream is scalable during transmission as a function of the available throughput.
  • the invention is particularly suitable in the case where the scalar quantization step is a PCM type quantization according to a logarithmic type A compression compression law or mu type compliant with the ITU-T G.711 standard.
  • the invention also applies to a method for decoding a bit frame of quantization indices comprising a predetermined number of bits by an inverse quantization step and according to an amplitude compression law.
  • the method is such that it comprises the following steps: receiving an improvement stream comprising one or more extension bits;
  • the decoder which receives extension bits, thus improves the accuracy of its expansion or "decompression” by concatenating the received extension bits with those present in the quantization index frame received from the base stream.
  • the method further comprises a step of adapting a rounding value according to the number of received extension bits to obtain the decoded audio signal.
  • the detection of the coded audio signal is thus adapted as a function of the number of bits of the extension stream.
  • the invention also relates to an audio encoder comprising a scalar quantization module of the samples of a digital audio signal, the samples being coded on a predetermined number of bits to obtain a binary field of quantization indices, the coding taking place according to an amplitude compression law, a predetermined number of low-order bits are not taken into account in the bit frame of quantization indices.
  • the encoder according to the invention comprises:
  • a memory space able to store at least a portion of the low-order bits that are not taken into account in the quantization index bit frame
  • the invention relates to an audio decoder adapted to decode a binary field of quantization indices comprising a predetermined number of bits by an inverse quantization module and according to an amplitude compression law.
  • the decoder according to the invention comprises:
  • the invention finally relates to a computer program intended to be stored in a memory of an encoder and / or a memory medium capable of cooperating with an encoder reader, comprising code instructions for the implementation of the steps of the method of encoding according to the invention when executed by a processor of said encoder.
  • the invention aims at a computer program intended to be stored in a memory of a decoder and / or a memory medium capable of cooperating with a decoder reader, comprising code instructions for the implementation of the steps of the decoder. decoding method according to the invention when they are executed by a processor of said decoder.
  • FIG. 1 illustrates a conventional G.711 PCM coding / decoding system of the state of the art
  • FIG. 2 illustrates a coding / decoding system according to the invention as well as the methods according to the invention, implemented by the elements of this system;
  • FIGS. 3 a and 3b show the quantized values with respect to the input values after application of the respective encoding laws A and mu according to the G.711 standard;
  • FIGS. 4 and 5 represent a comparison with and without implementation of the invention of the quantized values with respect to the input values after application of the A and mu coding laws, respectively.
  • FIG. 2 illustrates a coding / decoding system according to the invention.
  • An encoder 23 comprises a quantizer Q MIC 20 capable of quantizing the input signal S to obtain a quantization index frame I M ic which is transmitted on the transmission channel 21 to a decoder 24.
  • this encoder is of the PCM encoder type and implements a type A or mu encoding law as described in the G.711 standard.
  • the quantization index frame obtained is therefore represented at 15 and conforms to the G.711 law A or mu frame.
  • the pseudo code represented in Appendix A-10 gives an example of implementation of Law A as described in the G.711 standard (with a piecewise linear approximation of amplitude compression law).
  • a concrete implementation of this pseudo code is also given as an example in Appendix A-10.
  • This implementation complies with the ITU-T Recommendation G.191 Sofware Tool Library (STL-2005), Chapter 13 "ITU-T Basic Operators". This recommendation is available on the ITU website: http://www.itu.int/rec/T-REC-G.191-200508-I/en
  • the 8-bit quantization index comprises the sign bit, the segment index (exp) and the position on the segment (mant).
  • the sign bit is determined which is set to the 0 position as indicated at 15 in FIG. 1.
  • the position of the most significant bit "pos" is sought and calculates the segment number which is coded on 3 bits which is put at position 1, 2 and 3 as represented in 15 in FIG.
  • the 4 bits constituting the position on the segment are set at positions 4, 5, 6 and 7 as represented at 15.
  • MSB most significant bits
  • the decoding can be implemented by simple operations as illustrated by the ITU-T STL-2005 pseudo-code and implementation shown in Annex A-I.
  • Figures 3a and 3b compare the resolution of these two laws for the first 512 values.
  • MSB most significant bits
  • the minimum value of the variable "pos" for the coding according to the mu law is 7 since as previously mentioned in the case of the mu law the first segment is treated in the same way as the other segments. There is therefore for all segments at least 3 bits of lower weight that are lost.
  • the decoding can be carried out simply by a simple algorithm, an example is given in appendix A-13.
  • the encoder 23 takes advantage of the coding method according to the laws A or mu by storing in a memory space represented at 27, a part of the low-order bits which have not been taken into account for the coding of the binary field of quantization indices I MIC -
  • the number of bits lost by the A or mu law coding methods increases with the segment number, up to 10 bits for the last segment.
  • the method according to the invention makes it possible to recover at least the most significant bits among these lost bits.
  • the method according to the invention will store in memory 27, the two most significant bits bits that are not taken into account. in the compression operation to determine the quantization index frame.
  • the decoder 24 comprising an inverse quantizer, here an inverse PCM quantizer Q ' Vic 22, receives in parallel the base stream I' MIC and the improvement stream I'EXT-
  • I ' MIC and I' E ⁇ are versions possibly disturbed by binary errors of I MIC and I EXT respectively.
  • the decoder In case of reception of this improvement stream by the reception means 29 of the decoder 24, the decoder will then have a greater precision on the location of the decoded sample in the segment. For this, it concatenates the extension bits to the bits received in the base stream I ' PCM by means of concatenation bits, and then perform an inverse quantization at 22.
  • the improvement stream I EXT consists of two extension bits per sample, ie a bit rate of 16 kbit / s. These extension bits can be obtained by bit shifting in two operations as shown by the pseudo code shown in Appendix A-14.
  • the two stored bits are sent in the extension stream.
  • the two extension bits are the 8 th and 9 th bit of the compressed signal.
  • the pseudo code allowing to do all the operations to the coder for the law A is given in appendix A-15.
  • FIG. 4 shows a comparison of the quantized values with respect to the input values between the classical A-law (in dashed line) and the A-law with two bits per sample extension (solid line), for the first 128 values.
  • FIG. 5 shows a comparison of the quantized values with respect to the input values between the classical mu law (in dashed line) and the mu law with two bits per sample extension (solid line), for the first 128 values.
  • the decoder Upon receipt of the enhancement stream I ' EXT , the decoder concatenates the extension bits thus received behind position bits of the base flow I' MIC to effect the amplitude or expansion decompression which is inverse operation of the amplitude compression process.
  • the segment is divided into two. The accuracy on the location in the segment of the decoded value is then greater.
  • the Roundval rounding value that finds the value of the middle of the segment is also adapted according to the number of extension bits received.
  • the information of the number of extension bits received is for example given via an external signaling as represented by the arrow 26 in FIG. This information could also be deduced directly by the analysis of the extension flow.
  • the encoder as represented in FIG. 2 comprises a DSP processor (for "Digital Signal Processor"), not shown here, a memory space 27 for storing at least the bits that will be used to determine the extension stream.
  • DSP processor for "Digital Signal Processor”
  • memory space 27 for storing at least the bits that will be used to determine the extension stream.
  • This memory space 27 may be part of a memory block which furthermore comprises a storage memory and / or a working memory.
  • the storage means may comprise a computer program comprising code instructions for implementing the steps of the coding method according to the invention when they are executed by the encoder processor.
  • the computer program can also be stored on a memory medium readable by an encoder reader or downloadable in the encoder memory space.
  • This encoder thus implements the method according to the invention of coding by scalar quantization of the samples of a digital audio signal.
  • the samples are coded on a predetermined number of bits to obtain a bit frame of quantization indices and the coding is performed according to an amplitude compression law. A predetermined number of low-order bits are not taken into account in the bit frame of quantization indices.
  • the coding is such that it comprises the following steps:
  • the decoder comprises a DSP type processor not shown here and is able to implement the method of decoding a binary quantization index frame comprising a predetermined number of bits by a quantization step inverse and according to a law of amplitude compression. This process is such that it comprises the following steps:
  • This decoder further comprises a storage means (not shown) capable of storing a computer program comprising code instructions for implementing the steps of the decoding method according to the invention when they are executed by the decoder processor. .
  • the computer program can also be stored on a memory medium readable by a decoder reader or downloadable in the decoder memory space.
  • the LSB "ext_bits" of the "ext” variable are sent to the enhancement stream.
  • the invention also applies in the case where the transmission rate the flow must be reduced.
  • the extension stream comprises two bits, the least significant bit of this extension stream is no longer transmitted.
  • the decoder then receives only one extension bit per sample.
  • the decoder as described in the exemplary pseudo-code will work correctly with this one bit-per-sample extension layer provided that the received extension bit is set in the variable "ext" to position 1, the position bit 0 of the variable "ext” is then set to 0 and the value of "roundval" is adapted accordingly.
  • variable "roundval” as used in the examples given is therefore a function of the number of bits received by the encoder and the law used (A or mu). Table 4 below gives the value of the variable "roundval" in the different situations.
  • the increase of the RSB is 12 dB, if a bit is received, the increase of the RSB is 6 dB.
  • the encoder can send 4 bits per sample in the extension layer and the decoder can receive 4, 3, 2, 1 or 0 of these bits, the quality of the decoded signal will be proportional with the number of extension bits received.
  • the invention will be implemented not according to the algorithms previously specified by pseudo-code but by precalculating and storing in tables at the coder and / or the decoder the levels making it possible to obtain the bits of extension.
  • this solution has the disadvantage of requiring greater memory capacity in both the encoder and the decoder for a gain in low complexity.

Landscapes

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

Abstract

The invention relates to a method for the scalar quantisation-based coding of samples of a digital audio signal (S), said samples being coded over a pre-determined number of bits in order to obtain a binary frame of quantisation indices (IMIC). The samples are coded using an amplitude compression law and a pre-determined number of the least-significant bits is not taken into account in the binary frame of quantisation indices. The coding method includes a step comprising the saving (27) of at least part of the least-significant bits which are not taken into account in the binary frame of quantisation indices and the determination (28) of an enhancement stream (IEXT) containing at least one saved bit. The invention also relates to an associated decoding method including steps comprising the reception (29) of an enhancement stream (I'EXT) containing one or more extension bits and the concatenation (30) of the extension bits behind the bits originating from the binary frame in order to obtain a decoded audio signal. The invention further relates to the coder and decoder used to carry out said methods.

Description

Codage hiérarchique de signaux audionumériques Hierarchical coding of digital audio signals
La présente invention concerne un procédé de codage hiérarchique de données sonores plus particulièrement pour un codage par quantification scalaire.The present invention relates to a method for hierarchical coding of sound data more particularly for scalar quantization coding.
Ce codage est adapté notamment pour la transmission et/ou au stockage de signaux numériques tels que des signaux audiofréquences (parole, musique ou autres).This coding is adapted in particular for the transmission and / or storage of digital signals such as audio-frequency signals (speech, music or other).
La présente invention se rapporte plus particulièrement au codage de formes d'onde tel que le codage MIC (pour "Modulation par Impulsions Codées") dit PCM (pour "Puise Code Modulation") en anglais où chaque échantillon d'entrée est codé individuellement, sans prédiction.The present invention relates more particularly to the coding of waveforms such as the coding MIC (for "Coded Pulse Modulation") said PCM (for "Pulse Code Modulation") in English where each input sample is individually coded, without prediction.
Le principe général du codage/décodage MIC spécifié par la recommandation UIT-T G.711 est tel que décrit en référence à la figure 1. Le signal d'entrée est supposé défini avec une largeur de bande minimale de [300-3400 Hz] et échantillonné à 8 kHz, avec une résolution de 16 bits par échantillon (en format dit "MIC linéaire").The general principle of PCM coding / decoding specified by ITU-T Recommendation G.711 is as described with reference to Figure 1. The input signal is assumed to be defined with a minimum bandwidth of [300-3400 Hz] and sampled at 8 kHz, with a resolution of 16 bits per sample (in so-called "linear PCM" format).
Le codeur MIC 13 comporte un module de quantification QMic 10 qui reçoit en entrée le signal d'entrée S. L'indice de quantification IMIC en sortie du module de quantification 10 est transmis via le canal de transmission 11 au décodeur 14.The encoder MIC 13 comprises a quantization module Q M ic 10 which receives as input the input signal S. The quantization index I MIC at the output of the quantization module 10 is transmitted via the transmission channel 11 to the decoder 14.
Le décodeur MIC 14 reçoit en entrée les indices I'MIC issu du canal de transmission, version éventuellement perturbée par des erreurs binaires de IMIC, et réalise une quantification inverse par le module de quantification inverse Q'Vic 12 pour obtenir le signal codé S'MIC-The decoder MIC 14 receives at the input the indices I ' MIC coming from the transmission channel, version possibly disturbed by binary errors of I MIC , and carries out an inverse quantization by the inverse quantization module Q ' Vic 12 to obtain the coded signal S ' MIC -
Le codage MIC normalisé UIT-T G.711 (ci-après nommé G.711) réalise une compression de l'amplitude des signaux par une courbe logarithmique avant quantification scalaire uniforme, ce qui permet d'obtenir un rapport signal à bruit à peu près constant pour une large dynamique de signaux. Le pas de quantification dans le domaine du signal original est donc proportionnel à l'amplitude des signaux.The ITU-T G.711 standardized MIC coding (hereinafter G.711) compresses the signal amplitude by a logarithmic curve before uniform scalar quantization, thereby obtaining a signal-to-noise ratio near constant for a wide dynamic signals. The quantization step in the domain of the original signal is therefore proportional to the amplitude of the signals.
Les échantillons successifs du signal compressé sont quantifiés sur 8 bits, soit 256 niveaux. Dans le réseau téléphonique commuté (RTC) dit Public Switched Telephone Network (PSTN) en anglais, ces 8 bits sont transmis à une fréquence de 8 kHz pour donner un débit de 64 kbits/s.The successive samples of the compressed signal are quantized on 8 bits, ie 256 levels. In the public switched telephone network (PSTN) Telephone Network (PSTN) in English, these 8 bits are transmitted at a frequency of 8 kHz to give a bit rate of 64 kbit / s.
Une trame de signal quantifié selon la norme G.711 est constituée d'indices de quantification codés sur 8 bits. Ainsi, si la quantification inverse est implantée par table, elle consiste simplement à un pointage par l'indice de l'une des 256 valeurs décodées possibles.A quantized signal frame according to the G.711 standard consists of 8-bit coded quantization indices. Thus, if the inverse quantization is implemented per table, it simply consists of a pointing by the index of one of the 256 possible decoded values.
Pour des raisons de complexité de mise en œuvre, la compression MIC a été approximée par une courbe linéaire par segments.For reasons of complexity of implementation, the PCM compression has been approximated by a linear curve by segments.
Deux lois de codages sont définies dans la norme G.711, la loi A utilisée principalement en Europe et la loi mu (μ) utilisée en Amérique du Nord et au Japon.Two coding laws are defined in the G.711 standard, the A law used mainly in Europe and the mu (μ) law used in North America and Japan.
Ces lois de codage permettent d'effectuer sur le signal une compression de l'amplitude (ou encore "companding" en anglais). L'amplitude du signal est ainsi "compressée" par une fonction non-linéaire au niveau du codeur, envoyée sur un canal de transmission et "décompressée" par la fonction inverse au niveau du décodeur. L'intérêt de la compression d'amplitude est qu'elle permet de transformer la distribution de probabilité de l'amplitude du signal audio d'entrée en une loi de probabilité quasi-uniforme, sur laquelle on peut appliquer une quantification scalaire uniforme.These coding laws make it possible to perform on the signal a compression of the amplitude (or else "companding" in English). The amplitude of the signal is thus "compressed" by a non-linear function at the encoder, sent on a transmission channel and "decompressed" by the inverse function at the decoder. The advantage of amplitude compression is that it makes it possible to transform the probability distribution of the amplitude of the input audio signal into a quasi-uniform probability law, on which a uniform scalar quantization can be applied.
Les lois de compression d'amplitude sont en général des lois de type logarithmique qui permettent donc de coder un signal échantillonné avec une résolution de 16 bits (en format "PCM linéaire") sur 8 bits (en format "PCM" de type loi A ou mu).The amplitude compression laws are generally laws of the logarithmic type which therefore make it possible to encode a sampled signal with a resolution of 16 bits (in "linear PCM" format) on 8 bits (in "PCM" type A-law format or mu).
Les 8 bits par échantillon dans G.711 sont répartis de la façon suivante telle que représenté en 15 à la figure 1:The 8 bits per sample in G.711 are distributed as follows as shown at 15 in FIG.
- 1 bit de signe S (0 pour une valeur négative, 1 sinon) , portant la référence sgn sur la figure 1 ,1 bit of sign S (0 for a negative value, 1 otherwise), bearing the reference sgn in FIG. 1,
- 3 bits pour indiquer le segment (référence ID-SEG sur la figure 1), l'extrémité de chaque segment étant donnée par 256*2n pour la loi A et 256*2n-132 pour la loi mu où n = 0,1,..., 7. Le pas de quantification est donc multiplié par 2 quand on passe sur le segment supérieur (à partir du 2ème segment pour la loi A). - 4 bits pour indiquer l'emplacement sur le segment, portant la référence ID-POS sur la figure 1.3 bits to indicate the segment (reference ID-SEG in FIG. 1), the end of each segment being given by 256 * 2n for the law A and 256 * 2n-132 for the mu law where n = 0.1 , ..., 7. The quantization step is multiplied by 2 when we go on the upper segment (from the 2nd segment for the law A). - 4 bits to indicate the location on the segment, bearing the ID-POS reference in Figure 1.
Les derniers 7 bits constituent donc la valeur absolue codée. Dans la suite nous étudierons d'abord le cas de loi A, puis nous généralisons les résultats pour la loi mu. Selon la norme G.711 loi A, l'indice final est obtenu en inversant chaque deuxième bit à partir de bit de poids le plus faible (Least Significant Bit LSB en anglais). Cette loi de codage permet d'avoir une précision de quantification scalaire de 12 bits (donc un pas de quantification de 16) quand on est sur les deux premiers segments, puis la précision diminue de 1 bit quand le numéro de segment augmente de l.The last 7 bits thus constitute the absolute value coded. In the following we will first study the case of law A, then we generalize the results for the law mu. According to G.711 law A, the final index is obtained by inverting each second bit from the Least Significant Bit LSB. This coding law makes it possible to have a scalar quantization precision of 12 bits (and thus a quantization step of 16) when one is on the first two segments, then the accuracy decreases by 1 bit when the segment number increases by 1.
On peut noter qu'il est possible de réaliser la quantification MIC G.711 à partir d'un signal numérique représenté sur 16 bits en effectuant de simples comparaisons entre l'amplitude de l'échantillon à coder et les seuils de décision du quantificateur. L'utilisation d'une dichotomie accélère de façon significative ces comparaisons. Cette solution nécessite le stockage d'un tableau de 256 entrées, le Tableau 1 ci-après donne un extrait d'un tel tableau pour la loi A G.711.It can be noted that it is possible to carry out MIC G.711 quantization from a 16-bit digital signal by making simple comparisons between the amplitude of the sample to be coded and the decision thresholds of the quantizer. The use of a dichotomy significantly accelerates these comparisons. This solution requires the storage of a table of 256 entries, Table 1 below gives an extract of such a table for the law A G.711.
Tableau 1 Seuils pour la recherche par dichotomieTable 1 Thresholds for dichotomy research
Par exemple, un échantillon d'origine du signal S à coder a une amplitude égale à -75. Par conséquent, cette amplitude est comprise dans l'intervalle [-80, -65] de la ligne 123 (ou « niveau » 123) du tableau. Le codage de cette information consiste à délivrer un indice final codé, référencé I'MIC sur la figure 1 et sur le tableau 1, qui est égal à 0x51. Au décodage, l'opération de quantification inverse consiste donc à récupérer l'indice I'MIC = 0x51 et à lui faire correspondre une valeur quantifiée VQ, telle que VQ = -72. Par conséquent, le décodage affecte à l'amplitude de l'échantillon correspondant, du signal décodé S'MIC, cette valeur -72. On relèvera que l'on affecterait cette même valeur VQ = -72 à tous les échantillons à décoder et dont l'amplitude initiale avait une valeur dans l'intervalle [-80, -65], soit en tout 16 valeurs possibles dans l'intervalle, ce qui correspond au pas de quantification ici de 16. En revanche, on relèvera que l'on affecterait la même valeur VQ = 32256 à tous les échantillons dont l'amplitude initiale était dans l'intervalle [31744, 32767], soit en tout 1024 valeurs possibles, ce qui correspond à un pas de quantification de 1024. Le rapport signal à bruit (RSB) obtenu par le codage MIC est à peu près constant (-38 dB) pour une large dynamique de signaux. Le pas de quantification dans le domaine du signal original est proportionnel à l'amplitude des signaux. Ce rapport signal à bruit n'est pas suffisant pour rendre le bruit de quantification inaudible sur toute la bande de fréquences 0-4000 Hz. De plus, pour les signaux de faibles niveaux (qui sont codés avec le premier segment) le RSB est très mauvais.For example, an original sample of the signal S to be encoded has an amplitude equal to -75. Therefore, this amplitude is in the range [-80, -65] of line 123 (or "level" 123) of the table. The coding of this information consists of delivering a final coded index, referenced I ' MIC in Figure 1 and Table 1, which is equal to 0x51. At decoding, the inverse quantization operation therefore consists in recovering the index I ' MIC = 0x51 and in mapping a quantized value VQ to it, such that VQ = -72. Therefore, the decoding affects the amplitude of the corresponding sample of decoded signal S ' MIC , this value -72. It will be noted that this same value VQ = -72 would be assigned to all the samples to be decoded and whose initial amplitude had a value in the range [-80, -65], ie a total of 16 possible values in the interval, which corresponds to the quantization step here of 16. On the other hand, it will be noted that we would assign the same value VQ = 32256 to all the samples whose initial amplitude was in the interval [31744, 32767], or in all 1024 possible values, which corresponds to a quantization step of 1024. The signal-to-noise ratio (SNR) obtained by the PCM coding is approximately constant (-38 dB) for a wide dynamic range of signals. The quantization step in the domain of the original signal is proportional to the amplitude of the signals. This signal-to-noise ratio is not enough to make the quantization noise inaudible over the entire frequency band 0-4000 Hz. In addition, for low level signals (which are encoded with the first segment) the SNR is very bad.
La norme G.711 est généralement considérée comme étant de bonne qualité pour les applications de téléphonie en bande étroite avec des terminaux limitant la bande à [300-3400 Hz]. Cependant, la qualité n'est pas satisfaisante quand on utilise G.711 pour d'autres applications comme par exemple pour des terminaux de bonne fidélité dans la bande [50,4000 Hz] ou pour l'extension hiérarchique en bande élargie du codage G.711.The G.711 standard is generally considered to be of good quality for narrowband telephony applications with terminals limiting the band at [300-3400 Hz]. However, the quality is unsatisfactory when using G.711 for other applications such as for example terminals for good fidelity in the band [50.4000 Hz] or for the expanded bandwidth extension of the G-code. .711.
Il existe en effet des méthodes de codage hiérarchique consistant à apporter une couche d'amélioration déterminée à partir du bruit de codage du codeur G.711. Ce bruit de codage est alors codé par une technique différente de G.711, lequel constitue la couche dite de base (ou couche cœur). Une telle méthode de codage hiérarchique est par exemple décrite dans le document Y. Hiwasaki, H. Ohmuro, T. Mori, S. Kurihara and A Kataoka. "A G.711 embedded wideband speech coding for VoIP conférences", IEICE Trans. Inf. & Syst, Vol. E89-D,n°9, September 2006. Ce type de méthode a l'inconvénient d'augmenter de façon très significative de la complexité au codeur alors que le codage de type MIC est réputée être de faible complexité. De plus, le bruit de codage MIC étant un bruit blanc, donc non corrélé, le codage de ce type de bruit est difficile à mettre en œuvre puisque les techniques de compression reposent essentiellement sur des propriétés d'extraction de la corrélation du signal à coder.There are indeed hierarchical coding methods consisting in providing a refinement layer determined from the coding noise of the G.711 coder. This coding noise is then coded by a technique different from G.711, which constitutes the so-called base layer (or core layer). Such a hierarchical coding method is for example described in Y. Hiwasaki, H. Ohmuro, T. Mori, S. Kurihara and A. Kataoka. "A G.711 Embedded Wideband Speech Coding for VoIP Conferences", IEICE Trans. Inf. & Syst, Vol. E89-D, No. 9, September 2006. This type of method has the disadvantage of significantly increasing the complexity of the encoder while the type of coding MIC is deemed to be of low complexity. In addition, since the PCM coding noise is a white, and therefore uncorrelated noise, the coding of this type of noise is difficult to implement since the compression techniques are essentially based on properties of extraction of the correlation of the signal to be encoded. .
La présente invention offre une solution qui améliore la situation.The present invention provides a solution that improves the situation.
A cet effet, l'invention propose un procédé de codage par quantification scalaire des échantillons d'un signal audionumérique, les échantillons étant codés sur un nombre prédéterminés de bits pour obtenir une trame binaire d'indices de quantification, le codage s'effectuant selon une loi de compression d'amplitude, un nombre prédéterminé de bits de poids faible n'étant pas pris en compte dans la trame binaire d'indices de quantification. Le procédé est tel qu'il comporte les étapes suivantes: - mémorisation d'au moins une partie des bits de poids faible qui ne sont pas pris en compte dans la trame binaire d'indice de quantification;For this purpose, the invention proposes a scalar quantization encoding method of the samples of a digital audio signal, the samples being encoded on a predetermined number of bits to obtain a binary field of quantization indices, the coding being performed according to a law of amplitude compression, a predetermined number of low-order bits not being taken into account in the bit frame of quantization indices. The method is such that it comprises the following steps: storing at least a portion of the least significant bits that are not taken into account in the quantization index bit frame;
- détermination d'un flux d'amélioration comportant au moins un bit ainsi mémorisé.determination of an improvement stream comprising at least one bit thus memorized.
Ainsi, un flux d'amélioration est transmis en même temps que le la trame binaire d'indices de quantification.Thus, an improvement stream is transmitted at the same time as the bit frame of quantization indices.
Ce flux d'extension est déterminé en tirant profit des bits de poids faible qui ne sont pas utilisé lors du codage. Cette méthode a donc l'avantage de ne pas ajouter de complexité au codeur et d'apporter l'amélioration de qualité souhaitée en apportant au décodeur la possibilité d'obtenir une meilleure précision de décodage.This extension stream is determined by taking advantage of low-order bits that are not used during encoding. This method therefore has the advantage of not adding complexity to the encoder and to provide the desired quality improvement by providing the decoder the possibility of obtaining a better decoding accuracy.
Dans un mode de réalisation, les bits mémorisés sont les bits de poids le plus fort parmi les bits qui ne sont pas pris en compte dans la trame binaire d'indices de quantification.In one embodiment, the stored bits are the most significant bits among the bits that are not taken into account in the bit frame of quantization indices.
Tous les bits laissés de coté lors de l'application de la loi de codage logarithmique ne sont pas forcément repris dans le flux d'extension. Il est ainsi possible de déterminer un flux d'extension en fonction des besoins en qualité et disponibilité en termes de débit.All the bits left aside during the application of the logarithmic coding law are not necessarily included in the extension stream. It is thus possible to determine an extension flow according to the needs in terms of quality and availability in terms of throughput.
Dans une variante de réalisation, le nombre de bits pris en compte pour déterminer le flux d'amélioration est fonction du débit disponible au cours d'une transmission vers un décodeur.In an alternative embodiment, the number of bits taken into account to determine the improvement stream is a function of the available bit rate during a transmission to a decoder.
Ainsi, le flux d'extension est modulable au cours de la transmission en fonction du débit disponible.Thus, the extension stream is scalable during transmission as a function of the available throughput.
L'invention est particulièrement adaptée au cas où l'étape de quantification scalaire est une quantification de type MIC selon une loi de codage logarithmique de compression d'amplitude de type A ou de type mu conforme à la norme ITU-T G.711.The invention is particularly suitable in the case where the scalar quantization step is a PCM type quantization according to a logarithmic type A compression compression law or mu type compliant with the ITU-T G.711 standard.
L'invention s'applique également à un procédé de décodage d'une trame binaire d'indices de quantification comportant un nombre prédéterminé de bits par une étape de quantification inverse et selon une loi de compression d'amplitude. Le procédé est tel qu'il comporte les étapes suivantes: - réception d'un flux d'amélioration comportant un ou plusieurs bits d'extension;The invention also applies to a method for decoding a bit frame of quantization indices comprising a predetermined number of bits by an inverse quantization step and according to an amplitude compression law. The method is such that it comprises the following steps: receiving an improvement stream comprising one or more extension bits;
- concaténation des bits d'extension derrière les bits issus de la trame binaire pour obtenir un signal audio décodé.concatenation of the extension bits behind the bits coming from the bit frame to obtain a decoded audio signal.
Le décodeur qui reçoit des bits d'extension, améliore ainsi la précision de son expansion ou "décompression" en concaténant les bits d'extension reçus à ceux présents dans la trame d'indices de quantification reçu du flux de base.The decoder, which receives extension bits, thus improves the accuracy of its expansion or "decompression" by concatenating the received extension bits with those present in the quantization index frame received from the base stream.
Dans un mode préféré de réalisation, le procédé comporte en outre une étape d'adaptation d'une valeur d'arrondi en fonction du nombre de bits d'extension reçu pour obtenir le signal audio décodé.In a preferred embodiment, the method further comprises a step of adapting a rounding value according to the number of received extension bits to obtain the decoded audio signal.
La détection du signal audio codé est ainsi adaptée en fonction du nombre de bits du flux d'extension.The detection of the coded audio signal is thus adapted as a function of the number of bits of the extension stream.
L'invention se rapporte également à un codeur audio comportant un module de quantification scalaire des échantillons d'un signal audionumérique, les échantillons étant codés sur un nombre prédéterminés de bits pour obtenir une trame binaire d'indices de quantification, le codage s'effectuant selon une loi de compression d'amplitude, un nombre prédéterminé de bits de poids faible n'étant pas pris en compte dans la trame binaire d'indices de quantification. Le codeur selon l'invention comporte:The invention also relates to an audio encoder comprising a scalar quantization module of the samples of a digital audio signal, the samples being coded on a predetermined number of bits to obtain a binary field of quantization indices, the coding taking place according to an amplitude compression law, a predetermined number of low-order bits are not taken into account in the bit frame of quantization indices. The encoder according to the invention comprises:
- un espace mémoire apte mémoriser au moins une partie des bits de poids faible qui ne sont pas pris en compte dans la trame binaire d'indice de quantification;a memory space able to store at least a portion of the low-order bits that are not taken into account in the quantization index bit frame;
- des moyens de détermination d'un flux d'amélioration comportant au moins un bit ainsi mémorisé.means for determining an improvement stream comprising at least one bit thus memorized.
L'invention se rapporte à un décodeur audio apte à décoder une trame binaire d'indices de quantification comportant un nombre prédéterminé de bits par un module de quantification inverse et selon une loi de compression d'amplitude. Le décodeur selon l'invention comporte:The invention relates to an audio decoder adapted to decode a binary field of quantization indices comprising a predetermined number of bits by an inverse quantization module and according to an amplitude compression law. The decoder according to the invention comprises:
- des moyens de réception d'un flux d'amélioration comportant un ou plusieurs bits d'extension; - des moyens de concaténation des bits d'extension derrière les bits issus de la trame binaire pour obtenir un signal audio décodé.means for receiving an improvement stream comprising one or more extension bits; means for concatenating the extension bits behind the bits coming from the bit frame to obtain a decoded audio signal.
L'invention vise enfin à un programme informatique destiné à être stocké dans une mémoire d'un codeur et /ou un support mémoire apte à coopérer avec un lecteur du codeur, comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage selon l'invention lorsqu'elles sont exécutées par un processeur dudit codeur.The invention finally relates to a computer program intended to be stored in a memory of an encoder and / or a memory medium capable of cooperating with an encoder reader, comprising code instructions for the implementation of the steps of the method of encoding according to the invention when executed by a processor of said encoder.
De même, l'invention vise à un programme informatique destiné à être stocké dans une mémoire d'un décodeur et /ou un support mémoire apte à coopérer avec un lecteur du décodeur, comportant des instructions de code pour la mise en œuvre des étapes du procédé de décodage selon l'invention lorsqu'elles sont exécutées par un processeur dudit décodeur.Similarly, the invention aims at a computer program intended to be stored in a memory of a decoder and / or a memory medium capable of cooperating with a decoder reader, comprising code instructions for the implementation of the steps of the decoder. decoding method according to the invention when they are executed by a processor of said decoder.
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:Other features and advantages of the invention will appear more clearly on reading the following description, given solely by way of nonlimiting example, and with reference to the appended drawings, in which:
- la figure 1 illustre un système de codage/décodage MIC G.711 classique de l'état de l'art;FIG. 1 illustrates a conventional G.711 PCM coding / decoding system of the state of the art;
- la figure 2 illustre un système de codage/décodage selon l'invention ainsi que les procédés selon l'invention, mis en œuvre par les éléments de ce système;FIG. 2 illustrates a coding / decoding system according to the invention as well as the methods according to the invention, implemented by the elements of this system;
- les figures 3 a et 3b représentent les valeurs quantifiées par rapport aux valeurs d'entrée après application des lois de codage respectives A et mu selon la norme G.711;FIGS. 3 a and 3b show the quantized values with respect to the input values after application of the respective encoding laws A and mu according to the G.711 standard;
- les figures 4 et 5 représentent une comparaison avec et sans mise en œuvre de l'invention des valeurs quantifiées par rapport aux valeurs d'entrée après application des lois de codage A et mu respectivement.FIGS. 4 and 5 represent a comparison with and without implementation of the invention of the quantized values with respect to the input values after application of the A and mu coding laws, respectively.
La figure 2 illustre un système de codage /décodage selon l'invention.FIG. 2 illustrates a coding / decoding system according to the invention.
Un codeur 23 comprend un quantificateur QMIC 20 apte à quantifier le signal d'entrée S pour obtenir une trame d'indices de quantification IMic qui est transmis sur le canal de transmission 21 vers un décodeur 24. Dans un mode particulier de réalisation, ce codeur est du type codeur MIC et met en œuvre une loi de codage de type A ou mu tel que décrit dans la norme G.711. La trame d'indices de quantification obtenue est donc représentée en 15 et est conforme à la trame de type G.711 loi A ou mu.An encoder 23 comprises a quantizer Q MIC 20 capable of quantizing the input signal S to obtain a quantization index frame I M ic which is transmitted on the transmission channel 21 to a decoder 24. In a particular embodiment, this encoder is of the PCM encoder type and implements a type A or mu encoding law as described in the G.711 standard. The quantization index frame obtained is therefore represented at 15 and conforms to the G.711 law A or mu frame.
Des méthodes d'implémentation des lois de codage A et mu sont proposées dans la norme G.711. Elles consistent à déterminer l'indice final de quantification par des opérations simples de basse complexité qui évitent le stockage d'importants tableaux de valeurs.Methods of implementing the A and mu coding laws are proposed in the G.711 standard. They consist of determining the final quantization index by simple operations of low complexity that avoid the storage of large tables of values.
Ainsi, le pseudo code représenté dans l'annexe A-IO donne un exemple de mise en œuvre de la loi A tel que décrit dans la norme G.711 (avec une approximation linéaire par morceaux de loi de compression d'amplitude). Une implémentation concrète de ce pseudo code est également donnée à titre d'exemple dans l'annexe A-IO. Cette implémentation est conforme à la recommandation ITU-T G.191 Sofware Tool Library (STL-2005), chapitre 13 « ITU-T Basic Operators ». Cette recommandation est accessible sur le site Internet de l'ITU : http://www.itu.int/rec/T-REC-G.191 -200508-I/enThus, the pseudo code represented in Appendix A-10 gives an example of implementation of Law A as described in the G.711 standard (with a piecewise linear approximation of amplitude compression law). A concrete implementation of this pseudo code is also given as an example in Appendix A-10. This implementation complies with the ITU-T Recommendation G.191 Sofware Tool Library (STL-2005), Chapter 13 "ITU-T Basic Operators". This recommendation is available on the ITU website: http://www.itu.int/rec/T-REC-G.191-200508-I/en
On voit dans ce pseudo-code que l'indice de quantification sur 8 bits comprend le bit signe (signe), l'indice du segment (exp) et la position sur le segment (mant).It is seen in this pseudo-code that the 8-bit quantization index comprises the sign bit, the segment index (exp) and the position on the segment (mant).
Dans une première partie de ce codage, on détermine le bit de signe que l'on met à la position 0 comme indiqué en 15 sur la figure 1. Ensuite, on cherche la position du bit de poids le plus fort "pos" et on calcule le numéro de segment que l'on code sur 3 bits que l'on met à la position 1, 2 et 3 comme représenté en 15 à la figure 1.In a first part of this coding, the sign bit is determined which is set to the 0 position as indicated at 15 in FIG. 1. Next, the position of the most significant bit "pos" is sought and calculates the segment number which is coded on 3 bits which is put at position 1, 2 and 3 as represented in 15 in FIG.
Les 4 bits constituant la position sur le segment sont mis aux positions 4, 5, 6 et 7 comme représenté en 15.The 4 bits constituting the position on the segment are set at positions 4, 5, 6 and 7 as represented at 15.
Il y a toujours un décalage de bits à droite d'au moins 4 bits (x = shift_right (x, pos - 4 ) ) et donc 4 bits perdus;There is always a shift of bits to the right of at least 4 bits (x = shift_right (x, pos - 4)) and thus 4 bits lost;
On n'utilise donc que les bits de poids le plus fort (Most Significant Bit MSB en anglais) pour constituer la trame d'indices de quantification. La variable minimum de la variable "pos" pour le codage selon la loi A est de 8. Il y a donc pour tous les segments au moins 4 bits de poids plus faible qui sont perdus. La compression du processus de compression d'amplitude est ainsi effectuée.Therefore, only the most significant bits (MSB) are used to form the quantization index frame. The minimum variable the variable "pos" for the coding according to the law A is 8. There is thus for all the segments at least 4 bits of weaker weight which are lost. The compression of the amplitude compression process is thus performed.
Pour un signal d'entrée d'une résolution de 16 bits par échantillon (en format "PCM linéaire"), le plus petit pas de quantification est 16, les 4 bits de poids plus faible étant perdus. Le tableau 2 ci-après donne les seuils et pas de quantification en fonction de chaque segment pour la G.711 loi A.For an input signal with a resolution of 16 bits per sample (in "linear PCM" format), the smallest quantization step is 16, the 4 bits of lower weight being lost. Table 2 below gives the thresholds and no quantization according to each segment for the G.711 law A.
Tableau 2 Pas de quantification G.711 loi ATable 2 No quantification G.711 law A
De la même façon, le décodage peut être mis en œuvre par des opérations simples comme l'illustre le pseudo-code et l'implémentation ITU-T STL-2005 représentés dans l'annexe A-I l.In the same way, the decoding can be implemented by simple operations as illustrated by the ITU-T STL-2005 pseudo-code and implementation shown in Annex A-I.
On peut voir dans ce pseudo code que le signe (signe), le segment (exp) et la valeur dans le segment (val) sont retrouvés à partir de l'indice de 8 bits (indice). Une valeur d'arrondi égale à 8 et correspondant à la moitié du pas de quantification utilisé pour un segment est appliqué pour obtenir la valeur du milieu de l'intervalle de quantification. Ainsi, l'inversion du processus de compression d'amplitude est effectuée. Les bits les moins significatifs qui ont été rejetés au codage sont retrouvés ici après approximation. La version loi mu de G.711 est similaire à la loi A. La différence principale est qu'on additionne 128 aux valeurs pour assurer que dans le premier segment le bit 7 est toujours égal à 1 ce qui rend inutile la transmission de ce bit et donc augmente la précision du premier segment (pas de quantification 8 dans le premier segment contre 16 dans la loi A). Cela permet également un traitement identique de tous les segments. De plus on additionne 4 (donc 128+4 = 132 au total) pour l'arrondi pour avoir le niveau 0 parmi les valeurs quantifiées (la loi A n'a pas de niveau 0, les plus petites valeurs sont 8 ou -8). Le prix de cette meilleure résolution dans le premier segment est le décalage de tous les segments par 132. Le Tableau 3 ci-après donne les seuils et le pas de quantification en fonction de chaque segment pour la G.711 loi mu.We can see in this pseudo code that the sign (sign), the segment (exp) and the value in the segment (val) are found from the index of 8 bits (index). A rounding value of 8 corresponding to half of the quantization step used for a segment is applied to obtain the middle value of the quantization interval. Thus, the inversion of the amplitude compression process is performed. The least significant bits that were rejected to the coding are found here after approximation. The mu-law version of G.711 is similar to the A-law. The main difference is that we add 128 to the values to ensure that in the first segment bit 7 is always equal to 1, which makes it unnecessary to transmit this bit and therefore increases the precision of the first segment (no quantization 8 in the first segment against 16 in the law A). This also allows identical processing of all segments. Moreover we add 4 (so 128 + 4 = 132 in total) for the rounding to have the level 0 among the quantified values (the law A does not have level 0, the smallest values are 8 or -8) . The price of this best resolution in the first segment is the shift of all segments by 132. Table 3 below gives the thresholds and the quantization step according to each segment for the G.711 mu law.
Tableau 3 Pas de quantification G.711 loi muTable 3 No quantification G.711 mu law
Les figures 3a et 3b permettent de comparer la résolution de ces deux lois pour les 512 premières valeurs.Figures 3a and 3b compare the resolution of these two laws for the first 512 values.
De la même façon que pour la loi A, une méthode de mise en œuvre sans stockage de tableaux de valeurs est donnée par un exemple de pseudo-code d'encodage selon la norme G.711 loi mu représenté dans l'annexe A-12. De la même façon que pour la loi A, on voit dans ce pseudo-code qu'il y a toujours un décalage de bits à droite d'au moins 3 bits (x = shif t_right (x, pos - 4 ) ) , la valeur minimale de « pos » étant 7 pour la loi mu.In the same way as for the law A, a method of implementation without storage of tables of values is given by an example of coding pseudo-code according to the standard G.711 mu law represented in appendix A-12 . In the same way as for the law A, we see in this pseudo-code that there is always a shift of bits to the right of at least 3 bits (x = shif t_right (x, pos - 4)), the minimum value of "pos" being 7 for the mu law.
On n'utilise donc que les bits de poids le plus fort (MSB) pour constituer la trame d'indices de quantification et ainsi effectuer l'étape de compression d'amplitude.Therefore, only the most significant bits (MSB) are used to form the quantization index frame and thus perform the amplitude compression step.
La valeur minimale de la variable "pos" pour le codage selon la loi mu est de 7 puisque comme mentionné précédemment dans le cas de la loi mu le premier segment est traité de même façon que les autres segments. Il y a donc pour tous les segments au moins 3 bits de poids plus faible qui sont perdus.The minimum value of the variable "pos" for the coding according to the mu law is 7 since as previously mentioned in the case of the mu law the first segment is treated in the same way as the other segments. There is therefore for all segments at least 3 bits of lower weight that are lost.
Comme pour la loi A, le décodage peut s'effectuer simplement par un algorithme simple, un exemple est donné en annexe A-13.As for the law A, the decoding can be carried out simply by a simple algorithm, an example is given in appendix A-13.
Le codeur 23 selon l'invention tire partie de la méthode de codage selon les lois A ou mu en mémorisant dans un espace mémoire représenté en 27, une partie des bits de poids faible qui n'ont pas été pris en compte pour le codage de la trame binaire d'indices de quantification IMIC-The encoder 23 according to the invention takes advantage of the coding method according to the laws A or mu by storing in a memory space represented at 27, a part of the low-order bits which have not been taken into account for the coding of the binary field of quantization indices I MIC -
Ainsi, comme mentionné précédemment pour le codage logarithmique selon les lois A ou mu, au moins 3 bits pour tous les segments peuvent être mémorisées.Thus, as mentioned above for the logarithmic coding according to the laws A or mu, at least 3 bits for all the segments can be memorized.
Le nombre de bits perdus par les méthodes de codage selon la loi A ou mu, augmente avec le numéro du segment, jusqu'à 10 bits pour le dernier segment.The number of bits lost by the A or mu law coding methods increases with the segment number, up to 10 bits for the last segment.
Le procédé selon l'invention permet de récupérer au moins les bits de poids le plus fort parmi ces bits perdus.The method according to the invention makes it possible to recover at least the most significant bits among these lost bits.
Pour déterminer un flux d'amélioration d'un débit de 16 kbit/s, donc de 2 bits par échantillon, le procédé selon l'invention mémorisera en mémoire 27, les deux bits de poids forts des bits qui ne sont pas pris en compte dans l'opération de compression pour déterminer la trame d'indices de quantification.In order to determine an improvement stream of a bit rate of 16 kbit / s, thus of 2 bits per sample, the method according to the invention will store in memory 27, the two most significant bits bits that are not taken into account. in the compression operation to determine the quantization index frame.
Ces bits sont récupérés pour déterminer en 28 par des moyens de détermination du flux d'extension, le flux d'amélioration IEXT. Ce flux d'amélioration est ensuite transmis via un autre canal de transmission 25 vers un décodeur 24. Ainsi, le décodeur 24 comportant un quantificateur inverse, ici un quantificateur MIC inverse Q'Vic 22, reçoit en parallèle le flux de base I'MIC et le flux d'amélioration I'EXT-These bits are recovered to determine at 28 by means of determining the extension flow, the enhancement flow I EXT . This improvement stream is then transmitted via another transmission channel 25 to a decoder 24. Thus, the decoder 24 comprising an inverse quantizer, here an inverse PCM quantizer Q ' Vic 22, receives in parallel the base stream I' MIC and the improvement stream I'EXT-
Ces flux I'MIC et I'Eχτ sont des versions éventuellement perturbées par des erreurs binaires de IMIC et de IEXT respectivement.These flows I ' MIC and I' E χτ are versions possibly disturbed by binary errors of I MIC and I EXT respectively.
En cas de réception de ce flux d'amélioration par les moyens de réception 29 du décodeur 24, le décodeur aura alors une plus grande précision sur l'emplacement de l'échantillon décodé dans le segment. Pour cela, il concatène les bits d'extension aux bits reçus dans le flux de base I'MIC par des moyens 30 de concaténation de bits, pour ensuite effectuer une quantification inverse en 22.In case of reception of this improvement stream by the reception means 29 of the decoder 24, the decoder will then have a greater precision on the location of the decoded sample in the segment. For this, it concatenates the extension bits to the bits received in the base stream I ' PCM by means of concatenation bits, and then perform an inverse quantization at 22.
En effet, l'apport d'un bit supplémentaire permet de multiplier par deux le nombre de niveaux des segments. Le fait de doubler le nombre de niveaux, augmente aussi le rapport signal à bruit de 6 dB. Ainsi, pour chaque bit ajouté dans le flux d'amélioration et reçu au décodeur, le rapport signal à bruit sera augmenté de 6 dB, ce qui augmente ainsi la qualité du signal décodé sans pour autant augmenter considérablement la complexité au codeur.Indeed, the contribution of an additional bit makes it possible to multiply by two the number of levels of the segments. Doubling the number of levels also increases the signal-to-noise ratio by 6 dB. Thus, for each bit added in the enhancement stream and received at the decoder, the signal-to-noise ratio will be increased by 6 dB, thereby increasing the quality of the decoded signal without greatly increasing the complexity of the encoder.
Dans l'exemple illustré à la figure 2, le flux d'amélioration IEXT est constitué de deux bits d'extension par échantillon, soit un débit de 16kbit/s. Ces bits d'extension peuvent être obtenus en faisant un décalage de bits en deux opérations comme le montre le pseudo code représenté en annexe A- 14.In the example illustrated in FIG. 2, the improvement stream I EXT consists of two extension bits per sample, ie a bit rate of 16 kbit / s. These extension bits can be obtained by bit shifting in two operations as shown by the pseudo code shown in Appendix A-14.
On peut voir qu'au lieu de décaler en un seul coup les bits par "pos-4" position pour ne garder que les 5 bits de poids le plus fort, comme c'est le cas dans le codage selon la loi A, on décale dans un premier temps 2 positions de moins (donc "pos-6" positions) pour garder les 7 bits de poids le plus fort et on mémorise en 27 les deux derniers bits. Puis dans une autre étape, on décale encore de deux bits pour obtenir les 5 bits de poids fort dont le premier bit toujours à 1 est non transmis. Les 4 autres sont utilisés pour le flux de base.It can be seen that instead of staggering the bits by "pos-4" position in one go to keep only the 5 most significant bits, as is the case in the A-law coding, shifts first 2 positions less (so "pos-6" positions) to keep the 7 bits of weight the strongest and stored in 27 the last two bits. Then in another step, we still shifts two bits to obtain the 5 most significant bits whose first bit always 1 is not transmitted. The other 4 are used for the basic flow.
Les deux bits mémorisés sont envoyés dans le flux d'extension.The two stored bits are sent in the extension stream.
Comme représenté sur la figure 2, on peut considérer que ces deux bits d'extension sont le 8ieme et le 9ieme bit du signal compressé. Le pseudo code permettant de faire l'ensemble des opérations au codeur pour la loi A est donné en annexe A-15.As shown in Figure 2, it can be considered that the two extension bits are the 8 th and 9 th bit of the compressed signal. The pseudo code allowing to do all the operations to the coder for the law A is given in appendix A-15.
On voit que les différences par rapport au codage G.711 classique (passages soulignés et en gras dans l'annexe) sont les étapes de décalage en deux temps comme explicité précédemment et la prise en compte de ces deux bits mémorisés pour déterminer le flux d'amélioration "ext" et le transmettre.It can be seen that the differences compared to the conventional G.711 coding (underlined and bolded passages in the appendix) are the two-step shifting steps as previously explained and the taking into account of these two bits stored in order to determine the flow of data. 'improvement' ext "and pass it on.
De même pour l'implémentation de la loi mu, le pseudo code correspondant pour le codage est représenté dans l'annexe A- 16.Similarly for the implementation of the mu law, the corresponding pseudo code for coding is shown in Appendix A-16.
On remarque les mêmes différences avec le codage classique que pour le codage selon la loi A.The same differences are observed with the conventional coding as for the coding according to the law A.
La figure 4 montre une comparaison des valeurs quantifiées par rapport aux valeurs d'entrée entre la loi A classique (en pointillé) et la loi A avec extension de deux bits par échantillon (trait continu), pour les 128 premières valeurs.FIG. 4 shows a comparison of the quantized values with respect to the input values between the classical A-law (in dashed line) and the A-law with two bits per sample extension (solid line), for the first 128 values.
De même, la figure 5 montre une comparaison des valeurs quantifiées par rapport aux valeurs d'entrée entre la loi mu classique (en pointillé) et la loi mu avec extension de deux bits par échantillon (trait continu), pour les 128 premières valeurs. A la réception du flux d'amélioration I'EXT, le décodeur concatène en 30 les bits d'extension ainsi reçus derrière des bits de position du flux de base I'MIC pour effectuer la décompression d'amplitude - ou expansion - qui est l'opération inverse du processus de compression d'amplitude.Similarly, FIG. 5 shows a comparison of the quantized values with respect to the input values between the classical mu law (in dashed line) and the mu law with two bits per sample extension (solid line), for the first 128 values. Upon receipt of the enhancement stream I ' EXT , the decoder concatenates the extension bits thus received behind position bits of the base flow I' MIC to effect the amplitude or expansion decompression which is inverse operation of the amplitude compression process.
La prise en compte de ces bits supplémentaires permet ainsi d'obtenir une plus grande précision de l'emplacement de l'échantillon décodé dans le segment.Taking these additional bits into account thus makes it possible to obtain a greater precision of the location of the sample decoded in the segment.
En effet, pour un bit supplémentaire, le segment est divisé en deux. La précision sur l'emplacement dans le segment de la valeur décodée est alors plus importante.Indeed, for an additional bit, the segment is divided into two. The accuracy on the location in the segment of the decoded value is then greater.
La valeur d'arrondi « roundval » qui permet de trouver la valeur du milieu du segment est aussi adaptée en fonction de nombre bits d'extension reçus.The Roundval rounding value that finds the value of the middle of the segment is also adapted according to the number of extension bits received.
L'information du nombre de bits d'extension reçus est par exemple donnée par l'intermédiaire d'une signalisation externe comme représenté par la flèche 26 sur la figure 2. Cette information pourrait également être déduite directement par l'analyse du flux d'extension.The information of the number of extension bits received is for example given via an external signaling as represented by the arrow 26 in FIG. This information could also be deduced directly by the analysis of the extension flow.
Un exemple de décodage prenant en compte ces bits d'extension est donné en annexe A- 17 par les pseudos codes pour la loi A et la loi mu respectivement:An example of decoding taking into account these extension bits is given in Appendix A-17 by the pseudo codes for the law A and the mu law respectively:
Les différences entre le décodage classique et celui de l'invention (passages soulignés et en gras dans l'annexe) représentent la prise en compte des bits du flux d'extension et l'application d'une valeur d'arrondi "roundval".The differences between the conventional decoding and that of the invention (underlined and bolded passages in the appendix) represent the taking into account of the bits of the extension stream and the application of a "roundval" rounding value.
Le codeur tel que représenté en figure 2 comporte un processeur de type DSP (pour "Digital Signal Processor"), non représenté ici, un espace mémoire 27 pour mémoriser au moins les bits qui serviront à déterminer le flux d'extension.The encoder as represented in FIG. 2 comprises a DSP processor (for "Digital Signal Processor"), not shown here, a memory space 27 for storing at least the bits that will be used to determine the extension stream.
Cet espace mémoire 27 peut faire partie d'un bloc mémoire qui comporte en outre une mémoire de stockage et/ou une mémoire de travail.This memory space 27 may be part of a memory block which furthermore comprises a storage memory and / or a working memory.
Le moyen de stockage peut comporter un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage selon l'invention lorsqu'elles sont exécutées par le processeur du codeur.The storage means may comprise a computer program comprising code instructions for implementing the steps of the coding method according to the invention when they are executed by the encoder processor.
Le programme informatique peut être également stocké sur un support mémoire lisible par un lecteur du codeur ou téléchargeable dans l'espace mémoire du codeur.The computer program can also be stored on a memory medium readable by an encoder reader or downloadable in the encoder memory space.
Ce codeur met ainsi en œuvre le procédé selon l'invention de codage par quantification scalaire des échantillons d'un signal audionumérique. Les échantillons sont codés sur un nombre prédéterminés de bits pour obtenir une trame binaire d'indices de quantification et le codage s'effectue selon une loi de compression d'amplitude. Un nombre prédéterminé de bits de poids faible ne sont pas pris en compte dans la trame binaire d'indices de quantification. Le codage est tel qu'il comporte les étapes suivantes:This encoder thus implements the method according to the invention of coding by scalar quantization of the samples of a digital audio signal. The samples are coded on a predetermined number of bits to obtain a bit frame of quantization indices and the coding is performed according to an amplitude compression law. A predetermined number of low-order bits are not taken into account in the bit frame of quantization indices. The coding is such that it comprises the following steps:
- mémorisation d'au moins une partie des bits de poids faible qui ne sont pas pris en compte dans la trame binaire d'indice de quantification;storing at least a portion of the least significant bits that are not taken into account in the quantization index bit frame;
- détermination d'un flux d'amélioration comportant au moins un bit ainsi mémorisé. De même, le décodeur selon l'invention comporte un processeur de type DSP non représenté ici et est apte à mettre en œuvre le procédé de décodage d'une trame binaire d'indices de quantification comportant un nombre prédéterminé de bits par une étape de quantification inverse et selon une loi de compression d'amplitude. Ce procédé est tel qu'il comporte les étapes suivantes:determination of an improvement stream comprising at least one bit thus memorized. Similarly, the decoder according to the invention comprises a DSP type processor not shown here and is able to implement the method of decoding a binary quantization index frame comprising a predetermined number of bits by a quantization step inverse and according to a law of amplitude compression. This process is such that it comprises the following steps:
- réception d'un flux d'amélioration comportant un ou plusieurs bits d'extension;receiving an improvement stream comprising one or more extension bits;
- concaténation des bits d'extension derrière les bits issus de la trame binaire pour obtenir un signal audio décodé.concatenation of the extension bits behind the bits coming from the bit frame to obtain a decoded audio signal.
Ce décodeur comporte en outre un moyen de stockage (non représenté), apte à stocker un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de décodage selon l'invention lorsqu'elles sont exécutées par le processeur du décodeur.This decoder further comprises a storage means (not shown) capable of storing a computer program comprising code instructions for implementing the steps of the decoding method according to the invention when they are executed by the decoder processor. .
Le programme informatique peut être également stocké sur un support mémoire lisible par un lecteur du décodeur ou téléchargeable dans l'espace mémoire du décodeur.The computer program can also be stored on a memory medium readable by a decoder reader or downloadable in the decoder memory space.
L'exemple représenté et expliqué en référence à la figure 2 est donné pour une couche d'extension de 2 bits par échantillon. Ce procédé est bien évidemment généralisable pour un autre nombre de bits, par exemple 1, 2, 3 bits ou plus. Le pseudo code correspondant serait alors comme représenté en annexe A-18.The example shown and explained with reference to FIG. 2 is given for an extension layer of 2 bits per sample. This method is obviously generalizable for another number of bits, for example 1, 2, 3 bits or more. The corresponding pseudo code would then be as shown in Appendix A-18.
Les « ext_bits » LSB de la variable « ext » sont envoyés dans le flux d'amélioration.The LSB "ext_bits" of the "ext" variable are sent to the enhancement stream.
A noter que le terme "pos-4-ext"_bits peut être négatif pour ext bits > 3 dans les premiers segments et selon la loi utilisé (A ou mu). Même dans ces conditions le pseudo code donné fonctionnerait correctement car shift_right(x, -v) = shift_left(x, v). En d'autres termes, dans le cas où le nombre de bits de poids faible qui ne sont pas pris en compte dans la trame d'indices de quantification est inférieur au nombre de bits du flux d'extension, en particulier dans les premiers segments, il suffit de compléter dans le flux d'extension les bits manquants par des zéros. Ainsi, les bits de poids le plus fort du flux d'extension seront les bits mémorisés et récupérés selon l'invention, les bits de poids le plus faible seront mis à 0.Note that the term "pos-4-ext" _bits can be negative for ext bits> 3 in the first segments and according to the law used (A or mu). Even under these conditions the given pseudo code would work correctly because shift_right (x, -v) = shift_left (x, v). In other words, in the case where the number of least significant bits which are not taken into account in the quantization index frame is smaller than the number of bits of the extension stream, in particular in the first segments. it is sufficient to complete the missing bits in the extension stream with zeros. Thus, the bits of The highest weight of the extension stream will be the bits stored and recovered according to the invention, the least significant bits will be set to 0.
Pour les segments suivants, le nombre de bits mémorisés augmentant, il ne sera plus nécessaire de compléter par des zéros.For the following segments, the number of stored bits increasing, it will no longer be necessary to complete with zeros.
De même, l'invention s'applique également dans le cas où au cours de transmission le débit doit être réduit. Dans le cas où le flux d'extension comporte deux bits, le bit de poids faible de ce flux d'extension n'est alors plus transmis.Similarly, the invention also applies in the case where the transmission rate the flow must be reduced. In the case where the extension stream comprises two bits, the least significant bit of this extension stream is no longer transmitted.
Le décodeur ne reçoit alors qu'un bit d'extension par échantillon. Le décodeur tel qu' il est décrit dans le pseudo-code à titre d'exemple fonctionnera correctement avec cette couche d'extension réduite à un bit par échantillon à condition que le bit d'extension reçu soit mis dans la variable « ext » à la position 1, le bit de position 0 de la variable « ext » est alors mis à 0 et la valeur de "roundval" est adaptée en conséquence.The decoder then receives only one extension bit per sample. The decoder as described in the exemplary pseudo-code will work correctly with this one bit-per-sample extension layer provided that the received extension bit is set in the variable "ext" to position 1, the position bit 0 of the variable "ext" is then set to 0 and the value of "roundval" is adapted accordingly.
La valeur de la variable "roundval" telle qu'utilisé dans les exemples donnés est donc en fonction du nombre de bits reçus par l'encodeur et de la loi utilisée (A ou mu). Le tableau 4 ci-après donne la valeur de la variable "roundval" dans les différentes situations.The value of the variable "roundval" as used in the examples given is therefore a function of the number of bits received by the encoder and the law used (A or mu). Table 4 below gives the value of the variable "roundval" in the different situations.
Tableau 4 La valeur de la variable " roundval" dans différentes configurationsTable 4 The value of the variable "roundval" in different configurations
Cet exemple montre donc un autre avantage de la solution présentée qui est que le train binaire de la couche d'extension est hiérarchique. Il est donc possible de diminuer son débit au cours de la transmission.This example therefore shows another advantage of the presented solution which is that the bit stream of the extension layer is hierarchical. It is therefore possible to reduce its flow during transmission.
Ainsi, si les deux bits sont reçus par le décodeur, l'augmentation du RSB est de 12 dB, si un bit est reçu, l'augmentation du RSB est de 6 dB. Bien sur cet exemple est également généralisable, par exemple l'encodeur peut envoyer 4 bits par échantillon dans la couche d'extension et le décodeur peut recevoir 4, 3, 2, 1 ou 0 de ces bits, la qualité du signal décodé sera proportionnelle avec le nombre de bits d'extension reçus.Thus, if both bits are received by the decoder, the increase of the RSB is 12 dB, if a bit is received, the increase of the RSB is 6 dB. Although this example is also generalizable, for example the encoder can send 4 bits per sample in the extension layer and the decoder can receive 4, 3, 2, 1 or 0 of these bits, the quality of the decoded signal will be proportional with the number of extension bits received.
On peut observer dans les pseudo-codes donnés que la complexité additionnelle du décodage de la couche d'extension est seulement de deux opérations par échantillons à l'encodeur et 4 opérations par échantillons au décodeur soit -0.05 million d'opérations pondérées par seconde, ou "Weighted Million Opérations per Second" (WMOPS) en anglais, ce qui est négligeable. Cette faible complexité peut être exploitée dans le cas d'un codage hiérarchique étendant G.711 tout en permettant par exemple dans des applications de conférence audio de réaliser un mixage "conventionnel" de faible complexité de flux G.711 ou G.711 étendu selon l'invention, alors que dans l'article de Hiwasaki un mixage dit "partiel", impliquant une dégradation de qualité par rapport au mixage conventionnel, est mis en œuvre pour limiter la complexité du mixage avec codage G.711 scalable.It can be observed in the given pseudo-codes that the additional complexity of the decoding of the extension layer is only two operations per sample at the encoder and 4 operations per sample at the decoder, ie -0.05 million weighted operations per second, or "Weighted Million Operations per Second" (WMOPS) in English, which is negligible. This low complexity can be exploited in the case of a hierarchical coding extending G.711 while allowing for example in audio conferencing applications to achieve a "conventional" mixing of low complexity of G.711 or G.711 extended flow according to the invention, while in Hiwasaki's article a so-called "partial" mixing, involving quality degradation compared to conventional mixing, is implemented to limit the complexity of mixing with scalable G.711 coding.
Dans un mode de réalisation alternatif, l'invention sera mise en œuvre non pas suivant les algorithmes spécifiés précédemment par pseudo-code mais en précalculant et stockant dans des tables au codeur et/ou au décodeur les niveaux permettant d'obtenir les bits d'extension. Cette solution a cependant l'inconvénient de nécessiter de plus grande capacité en mémoire à la fois au codeur et au décodeur pour un gain en complexité faible. In an alternative embodiment, the invention will be implemented not according to the algorithms previously specified by pseudo-code but by precalculating and storing in tables at the coder and / or the decoder the levels making it possible to obtain the bits of extension. However, this solution has the disadvantage of requiring greater memory capacity in both the encoder and the decoder for a gain in low complexity.
ANNEXES: A-IO: function lin_to_Alaw ( input_16bit ) x = input_16bit signe = 0x80 /*supposing + */ if x < 0 x = ~x /*abs(x) - 1*/ signe = 0 end if x > 255 /* lst bit 1 + 4 saved bits */ pos = cherche_position_bit_l_poids_fort (x) /* 14 >= pos/ exp = shift_left (pos - 7, 4) x = shift_right (x, pos - 4) raant = x - 16 /* remove leading 1 */ else exp = 0 raant = shift_right (x, 4) end ind_tmp = signe + exp + raant indice = xor(ind_tmp, 0x0055) /* toggle odd bits */ return indice /* only 8LSB bits are used */ANNEXES: A-IO: function lin_to_Alaw (input_16bit) x = input_16bit sign = 0x80 / * supposing + * / if x <0 x = ~ x / * abs (x) - 1 * / sign = 0 end if x> 255 / * lst bit 1 + 4 saved bits * / pos = search_position_bit_l_weight_fort (x) / * 14> = pos / exp = shift_left (pos - 7, 4) x = shift_right (x, pos - 4) raant = x - 16 / * remove leading 1 * / else exp = 0 raant = shift_right (x, 4) end ind_tmp = sign + exp + raant index = xor (ind_tmp, 0x0055) / * toggle odd bits * / return index / * only 8LSB bits are used * /
Version ITU-T STL-2005 :ITU-T STL-2005 Version:
short lin_to_Alaw ( short input_16bit) { short x, signe , pos , exp, niant , ind_tmp, indice ; x = input_16bit ; signe = 0x80; /*supposing + */short lin_to_Alaw (short input_16bit) {short x, sign, pos, exp, denying, ind_tmp, subscript; x = input_16bit; sign = 0x80; / * supposing + * /
IF(x < 0)IF (x <0)
{ x = s_xor(x, (short) OxFFFF) ; /*abs(x) - 1*/ signe = 0; }{x = s_xor (x, (short) OxFFFF); / * abs (x) - 1 * / sign = 0; }
IF (sub(x, 255) > 0) /* lst bit 1 + 4 saved bits */ { pos = sub(14, norm_s(x)); /* 14 >= pos >= 8 */ exp = shl ( sub (pos , I ) 1 4 ) ; x = shr ( x, sub (pos , 4 ) ) ; raant = sub(x, 16) ; /* remove leading 1 */ }IF (sub (x, 255)> 0) / * lst bit 1 + 4 saved bits * / {pos = sub (14, norm_s (x)); / * 14> = pos> = 8 * / exp = shl (sub (pos, I) 1 4); x = shr (x, sub (pos, 4)); raant = sub (x, 16); / * remove leading 1 * /}
ELSE { exp = 0 ; raant = shr(x, 4); } ind_tmp = add(signe, add(exp, raant) ); indice = s_xor ( ind_tmp, 0x0055); /* toogle odd bits */ return (indice) ; /* only 8LSB bits are used */ }ELSE {exp = 0; raant = shr (x, 4); } ind_tmp = add (sign, add (exp, raant)); index = s_xor (ind_tmp, 0x0055); / * toogle odd bits * / return (subscript); / * only 8LSB bits are used * /}
A-Il: function Alaw_to_lin ( indice) signe = and(indice, 0x80); y = and(xor (indice, 0x0055), 0x7F) /* without sign */ exp = shift_right (y, 4) val = shift_left (and(y, OxF), 4) + 8 /* with rounding */ if exp > 0 val = shift_left (val + 256, exp - 1) /* add leading 1 */ end if signe == 0 /* sign bit ==0 -> négative value */ val = -val end return valA-Il: function Alaw_to_lin (subscript) sign = and (subscript, 0x80); y = and (xor (index, 0x0055), 0x7F) / * without sign * / exp = shift_right (y, 4) val = shift_left (and (y, OxF), 4) + 8 / * with rounding * / if exp > 0 val = shift_left (value + 256, exp - 1) / * add leading 1 * / end if sign == 0 / * sign bit == 0 -> negative value * / val = -val end return val
Version ITU-T STL-2005 :ITU-T STL-2005 Version:
short Alaw_to_lin (short indice) { short y, signe, exp, val; signe = s_and (indice, 0x80); y = s_and (s_xor (indice, 0x0055), 0x7F); /* without sign */ exp = shr (y, 4) ; val = add(shl (s_and(y, OxF), 4), 8); /* rounding */ if (exp > 0) { val = shl(add(val, 256), sub(exp, I)); /*add leading 1 */ } if (signe == 0) /* sign bit ==0 ' négative value */ { val = negate(val); } return (val) ; }short Alaw_to_lin (short index) {short y, sign, exp, val; sign = s_and (subscript, 0x80); y = s_and (s_xor (subscript, 0x0055), 0x7F); / * without sign * / exp = shr (y, 4); val = add (shl (s_and (y, OxF), 4), 8); / * rounding * / if (exp> 0) {val = sh1 (add (val, 256), sub (exp, I)); / * add leading 1 * /} if (sign == 0) / * sign bit == 0 'negative value * / {val = negate (val); } return (val); }
A-12: function lin_to_mulaw ( input_16bit ) x = input_16bit signe = 0x80 /* supposing + */ if x > 32635 /* to avoid overflow after adding 132*/ x = 32635 end if x < -32635 x = -32635 end if x < 0 x = ~x /*abs(x) - 1*/ signe = OxOO end x = x + 132A-12: function lin_to_mulaw (input_16bit) x = input_16bit sign = 0x80 / * supposing + * / if x> 32635 / * to avoid overflow after adding 132 * / x = 32635 end if x <-32635 x = -32635 end if x <0 x = ~ x / * abs (x) - 1 * / sign = OxOO end x = x + 132
/* always lst bit 1 + 4 saved bits */ pos = cherche_position_bit_l_poids_fort (x) /* 14 >= pos >=/ * always lst bit 1 + 4 saved bits * / pos = search_position_bit_l_weight_fort (x) / * 14> = pos> =
exp = shift_left (pos - 7, 4) x = shift_right (x, pos - 4) raant = x - 16 /* remove leading 1 */ ind_tmp = signe + exp + raant indice = xor(ind_tmp, 0x007F) /* toggle ail bits */ return indice /* only 8LSB bits are used */exp = shift_left (pos - 7, 4) x = shift_right (x, pos - 4) raant = x - 16 / * remove leading 1 * / ind_tmp = sign + exp + raant index = xor (ind_tmp, 0x007F) / * toggle garlic bits * / return index / * only 8LSB bits are used * /
A-13: function mulaw_to_lin ( indice) signe = and(indice, 0x80); y = and(xor (indice, OxOOFF), 0x7F) /* without sign */ exp = shift_right (y, 4) val = shift_left (and(y, OxF), 3) + 132 /* leading 1 & rounding */ val = shift_left (val, exp) - 132 /* suppress encoder offset */ if signe == 0 /* sign bit ==0 -^ négative value */ val = -val end return valA-13: function mulaw_to_lin (subscript) sign = and (subscript, 0x80); y = and (xor (index, 0xOOFF), 0x7F) / * without sign * / exp = shift_right (y, 4) val = shift_left (and (y, OxF), 3) + 132 / * leading 1 & rounding * / val = shift_left (val, exp) - 132 / * suppress encoder offset * / if sign == 0 / * sign bit == 0 - ^ negative value * / val = -val end return val
A-14: x = shift_right (x, pos - 6) /* first part of shift*/ ext = and(x, 0x3) /*save last two bits*/ x = shift_right (x, 2) /* finish shift*/A-14: x = shift_right (x, pos - 6) / * first part of shift * / ext = and (x, 0x3) / * save last two bits * / x = shift_right (x, 2) / * finish shift * /
A-15: function lin_to_Alaw_enh ( input_16bit ) x = input_16bit signe = 0x80 /*supposing + */ if x < 0 x = ~x /*abs(x) - 1*/ signe = 0 end if x > 255 /* lst bit 1 + 4 saved bits */ pos = cherche_position_bit_l_poids_fort (x) /* 14 >= pos >= 8 */ exp = shift_left (pos - 7, 4) x = shift_right (x, pos - 6) /* first part of shift */ ext = and(x, 0x3) /* save last to bits */ x = shift_right (x, 2) /* finish shift */ raant = x - 16 /* remove leading 1 */ else exp = 0 x = shift_right (x, 2) ext = and(x, 0x3) /* save last two bits */ x = shift_right (x, 2) /* finish shift */ end ind_tmp = signe + exp + raant indice = xor(ind_tmp, 0x0055) /* toggle odd bits */ return indice, BXt /* only 8LSB bits are used in indice andSB bits in ext*/A-15: function lin_to_Alaw_enh (input_16bit) x = input_16bit sign = 0x80 / * supposing + * / if x <0 x = ~ x / * abs (x) - 1 * / sign = 0 end if x> 255 / * lst bit 1 + 4 saved bits * / pos = search_position_bit_l_weight_fort (x) / * 14> = pos> = 8 * / exp = shift_left (pos - 7, 4) x = shift_right (x, pos - 6) / * first part of shift * / ext = and (x, 0x3) / * save last to bits * / x = shift_right (x, 2) / * finish shift * / raant = x - 16 / * remove leading 1 * / else exp = 0 x = shift_right (x, 2) ext = and (x, 0x3) / * save last two bits * / x = shift_right (x, 2) / * finish shift * / end ind_tmp = sign + exp + raant index = xor (ind_tmp, 0x0055) / * toggle odd bits * / return index, BXt / * only 8LSB bits are used in subscript andSB bits in ext * /
A-16: function lin_to_mulaw_enh ( input_16bit ) x = input_16bit signe = 0x80 /* supposing + */ if x > 32635 /* to avoid overflow after adding 132*/ x = 32635 end if x < -32635 x = -32635 end if x < 0 x = ~x /*abs(x) - 1*/ signe = OxOO end x = x + 132A-16: function lin_to_mulaw_enh (input_16bit) x = input_16bit sign = 0x80 / * supposing + * / if x> 32635 / * to avoid overflow after adding 132 * / x = 32635 end if x <-32635 x = -32635 end if x <0 x = ~ x / * abs (x) - 1 * / sign = OxOO end x = x + 132
/* always lst bit 1 + 4 saved bits */ pos = cherche_position_bit_l_poids_fort (x) /* 14 >= pos >= */ exp = shift_left (pos - 7, 4)/ * always lst bit 1 + 4 saved bits * / pos = search_position_bit_l_weight_fort (x) / * 14> = pos> = * / exp = shift_left (pos - 7, 4)
X = shift_right (x, pos - 6) /* first part Ot shift */ ext = and(x, 0x3) /* save last two bits */ x = shift_right (x, 2) /* finish shift */ raant = x - 16 /* remove leading 1 */ ind_tmp = signe + exp + raant indice = xor(ind_tmp, 0x007F) /* toggle ail bits */ return indice, ext /* only 8LSB bits are used in indice andSB bits in ext*/X = shift_right (x, pos - 6) / * first part Ot shift * / ext = and (x, 0x3) / * save last two bits * / x = shift_right (x, 2) / * finish shift * / raant = x - 16 / * remove leading 1 * / ind_tmp = sign + exp + raant index = xor (ind_tmp, 0x007F) / * toggle garlic bits * / return index, ext / * only 8LSB bits are used in index andSB bits in ext * /
A-17: Loi A: function Alaw_to_lin_enh ( indice, ext, roundval) signe = and(indice, 0x80); y = and(xor (indice, 0x0055), 0x7F) /* without sign */ exp = shift_right (y, 4) ext = shift_left (and (ext, 0x03), 2) /* put extension bits in position 2 & 3 */ val = shift_left (and(y, OxF), 4) + ext + roundval /* with rounding */ if exp > 0 val = shift_left (val + 256, exp - 1) /* adding leading 1 */ end if signe == 0 /* sign bit ==0 -> négative value */ val = -val end return valA-17: Law A: function Alaw_to_lin_enh (index, ext, roundval) sign = and (index, 0x80); y = and (xor (index, 0x0055), 0x7F) / * without sign * / exp = shift_right (y, 4) ext = shift_left (and (ext, 0x03), 2) / * put extension bits in position 2 & 3 * / val = shift_left (and (y, OxF), 4) + ext + roundval / * with rounding * / if exp > 0 val = shift_left (val + 256, exp - 1) / * adding leading 1 * / end if sign == 0 / * sign bit == 0 -> negative value * / val = -val end return val
Loi mu: function mulaw_to_lin_enh ( indice, ext, roundval) signe = and(indice, 0x80); y = and(xor (indice, 0x007F), 0x7F) /* without sign */ exp = shift_right (y, 4) ext = shift_left (and (ext, 0x03), 1) /* put extension bits in position 1 & 2 */ val = shift_left (and(y, OxF), 3) + 128 + ext + roundval /* leading 1 & rounding */ val = shift_left (val, exp) - 132 /* suppress encoder offset */ if signe == 0 /* sign bit ==0 -^ négative value */ val = -val end return valMu law: function mulaw_to_lin_enh (index, ext, roundval) sign = and (index, 0x80); y = and (xor (index, 0x007F), 0x7F) / * without sign * / exp = shift_right (y, 4) ext = shift_left (and (ext, 0x03), 1) / * put extension bits in position 1 & 2 * / val = shift_left (and (y, OxF), 3) + 128 + ext + roundval / * leading 1 & rounding * / val = shift_left (val, exp) - 132 / * suppress encoder offset * / if sign == 0 / * sign bit == 0 - ^ negative value * / val = -val end return val
A-18: x = shift_right (x, pos - 4 - ext_bits) /* first part of shift*/ ext = and(x, shift_left ( 1, ext_bits) -1) /* last ext_bits bits*/ x = shift_right (x, ext_bits) /* finish shift*/ A-18: x = shift_right (x, pos - 4 - ext_bits) / * first part of shift * / ext = and (x, shift_left (1, ext_bits) -1) / * last ext_bits bits * / x = shift_right ( x, ext_bits) / * finish shift * /

Claims

REVENDICATIONS
1. Procédé de codage par quantification scalaire des échantillons d'un signal audionumérique (S), les échantillons étant codés sur un nombre prédéterminés de bits pour obtenir une trame binaire d'indices de quantification (IMIC), le codage s'effectuant selon une loi de compression d'amplitude, un nombre prédéterminé de bits de poids faible n'étant pas pris en compte dans la trame binaire d'indices de quantification, caractérisé en ce qu'il comporte les étapes suivantes:A scalar quantization encoding method of the samples of a digital audio signal (S), the samples being encoded on a predetermined number of bits to obtain a quantization index bit frame (I MIC ), the coding being performed according to an amplitude compression law, a predetermined number of low-order bits not being taken into account in the bit frame of quantization indices, characterized in that it comprises the following steps:
- mémorisation (27) d'au moins une partie des bits de poids faible qui ne sont pas pris en compte dans la trame binaire d'indice de quantification;storing (27) at least a portion of the least significant bits that are not taken into account in the quantization index bit frame;
- détermination (28) d'un flux d'amélioration (IEXT) comportant au moins un bit ainsi mémorisé.determination (28) of an improvement stream (I EXT ) comprising at least one bit thus memorized.
2. Procédé selon la revendication 1, caractérisé en ce que les bits mémorisés sont les bits de poids le plus fort parmi les bits qui ne sont pas pris en compte dans la trame binaire d'indices de quantification.2. Method according to claim 1, characterized in that the stored bits are the most significant bits among the bits that are not taken into account in the bit frame of quantization indices.
3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que le nombre de bits pris en compte pour déterminer le flux d'amélioration est fonction du débit disponible au cours d'une transmission vers un décodeur.3. Method according to one of claims 1 to 2, characterized in that the number of bits taken into account to determine the improvement stream is a function of the available bit rate during a transmission to a decoder.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'étape de quantification scalaire est une quantification de type MIC selon une loi de codage logarithmique de compression d'amplitude de type A ou de type mu conforme à la norme ITU-T G.711.4. Method according to one of claims 1 to 3, characterized in that the scalar quantization step is a PCM type quantization according to a logarithmic type A compression compression law or mu type compliant with the ITU-T G.711 standard.
5. Procédé de décodage d'une trame binaire d'indices de quantification (I'MIC) comportant un nombre prédéterminé de bits par une étape de quantification inverse (22) et selon une loi de compression d'amplitude caractérisé en ce qu'il comporte les étapes suivantes:5. A method for decoding a quantization index bit frame (I ' MIC ) comprising a predetermined number of bits by an inverse quantization step (22) and according to an amplitude compression law, characterized in that it includes the following steps:
- réception (29) d'un flux d'amélioration (I'EXT) comportant un ou plusieurs bits d'extension; - concaténation (30) des bits d'extension derrière les bits issus de la trame binaire pour obtenir un signal audio décodé.receiving (29) an enhancement stream (I ' EXT ) comprising one or more extension bits; concatenation (30) of the extension bits behind bits from the bit frame to obtain a decoded audio signal.
6. Procédé de décodage selon la revendication 5, caractérisé en ce qu'il comporte en outre une étape d'adaptation d'une valeur d'arrondi en fonction du nombre de bits d'extension reçu pour obtenir le signal audio décodé.6. Decoding method according to claim 5, characterized in that it further comprises a step of adapting a rounding value as a function of the number of received extension bits to obtain the decoded audio signal.
7. Codeur audio comportant un module de quantification scalaire (20) des échantillons d'un signal audionumérique (S), les échantillons étant codés sur un nombre prédéterminés de bits pour obtenir une trame binaire d'indices de quantification (IMIC), le codage s'effectuant selon une loi de compression d'amplitude, un nombre prédéterminé de bits de poids faible n'étant pas pris en compte dans la trame binaire d'indices de quantification, caractérisé en ce qu'il comporte:An audio encoder comprising a scalar quantization module (20) of the samples of a digital audio signal (S), the samples being encoded on a predetermined number of bits to obtain a quantization index bit frame (I MIC ), the encoding being performed according to an amplitude compression law, a predetermined number of low-order bits not being taken into account in the bit frame of quantization indices, characterized in that it comprises:
- un espace mémoire (27) apte mémoriser au moins une partie des bits de poids faible qui ne sont pas pris en compte dans la trame binaire d'indice de quantification;a memory space (27) capable of storing at least a portion of the low-order bits which are not taken into account in the quantization index bit frame;
- des moyens de détermination (28) d'un flux d'amélioration comportant au moins un bit ainsi mémorisé.means for determining (28) an improvement stream comprising at least one bit thus memorized.
8. Décodeur audio apte à décoder une trame binaire d'indices de quantification (I'MIC) comportant un nombre prédéterminé de bits par un module de quantification inverse (22) et selon une loi de compression d'amplitude caractérisé en ce qu'il comporte:An audio decoder adapted to decode a quantization index bit frame (I ' MIC ) comprising a predetermined number of bits by an inverse quantization module (22) and according to an amplitude compression law, characterized in that it includes:
- des moyens de réception (29) d'un flux d'amélioration comportant un ou plusieurs bits d'extension;means for receiving (29) an improvement stream comprising one or more extension bits;
- des moyens de concaténation (30) des bits d'extension derrière les bits issus de la trame binaire pour obtenir un signal audio décodé.means for concatenating (30) the extension bits behind the bits coming from the bit frame to obtain a decoded audio signal.
9. Programme informatique destiné à être stocké dans une mémoire d'un codeur et /ou un support mémoire apte à coopérer avec un lecteur du codeur, comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage selon l'une quelconques des revendications 1 à 4 lorsqu'il est exécuté par un processeur du codeur. 9. Computer program intended to be stored in a memory of an encoder and / or a memory medium capable of cooperating with an encoder reader, comprising code instructions for implementing the steps of the coding method according to one of any of claims 1 to 4 when executed by an encoder processor.
10. Programme informatique destiné à être stocké dans une mémoire d'un décodeur et /ou un support mémoire apte à coopérer avec un lecteur du décodeur, comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage selon l'une quelconque des revendications 5 à 6 lorsqu'il est exécuté par un processeur du décodeur. 10. Computer program intended to be stored in a memory of a decoder and / or a memory medium able to cooperate with a reader of the decoder, comprising code instructions for the implementation of the steps of the coding method according to one of the any of claims 5 to 6 when executed by a decoder processor.
EP08806166A 2007-07-06 2008-07-04 Hierarchical coding of digital audio signals Active EP2176861B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0756326 2007-07-06
PCT/FR2008/051248 WO2009010674A1 (en) 2007-07-06 2008-07-04 Hierarchical coding of digital audio signals

Publications (2)

Publication Number Publication Date
EP2176861A1 true EP2176861A1 (en) 2010-04-21
EP2176861B1 EP2176861B1 (en) 2013-03-27

Family

ID=39133713

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08806166A Active EP2176861B1 (en) 2007-07-06 2008-07-04 Hierarchical coding of digital audio signals

Country Status (7)

Country Link
US (1) US8577687B2 (en)
EP (1) EP2176861B1 (en)
JP (1) JP5264901B2 (en)
KR (1) KR101476699B1 (en)
CN (1) CN101796579B (en)
ES (1) ES2416056T3 (en)
WO (1) WO2009010674A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912826B1 (en) * 2007-08-16 2009-08-18 한국전자통신연구원 A enhancement layer encoder/decoder for improving a voice quality in G.711 codec and method therefor
FR2938688A1 (en) * 2008-11-18 2010-05-21 France Telecom ENCODING WITH NOISE FORMING IN A HIERARCHICAL ENCODER
FR2969360A1 (en) * 2010-12-16 2012-06-22 France Telecom IMPROVED ENCODING OF AN ENHANCEMENT STAGE IN A HIERARCHICAL ENCODER
SG188199A1 (en) 2011-02-22 2013-04-30 Panasonic Corp Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
MX2013000093A (en) 2011-02-22 2013-02-27 Panasonic Corp Filter method, dynamic image encoding device, dynamic image decoding device, and dynamic image encoding/decoding device.
FR2981781A1 (en) 2011-10-19 2013-04-26 France Telecom IMPROVED HIERARCHICAL CODING
US10230394B2 (en) * 2014-09-19 2019-03-12 Telefonaktiebolaget Lm Ericsson (Publ) Methods for compressing and decompressing IQ data, and associated devices
EP3051701A1 (en) * 2015-01-30 2016-08-03 Nxp B.V. Non-uniform quantization of log-likelihood ratios
CN104966517B (en) * 2015-06-02 2019-02-01 华为技术有限公司 A kind of audio signal Enhancement Method and device
CN107680607B (en) * 2017-09-29 2021-05-18 联想(北京)有限公司 Signal compression method, signal decompression method and device thereof
US11935550B1 (en) * 2023-03-31 2024-03-19 The Adt Security Corporation Audio compression for low overhead decompression

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3688097A (en) * 1970-05-20 1972-08-29 Bell Telephone Labor Inc Digital attenuator for non-linear pulse code modulation signals
US4386237A (en) * 1980-12-22 1983-05-31 Intelsat NIC Processor using variable precision block quantization
DE3411962A1 (en) * 1983-03-31 1984-10-31 Sansui Electric Co., Ltd., Tokio/Tokyo DATA TRANSFER DEVICE
CA1220282A (en) * 1985-04-03 1987-04-07 Northern Telecom Limited Transmission of wideband speech signals
JP3237178B2 (en) * 1992-03-18 2001-12-10 ソニー株式会社 Encoding method and decoding method
KR100335611B1 (en) * 1997-11-20 2002-10-09 삼성전자 주식회사 Scalable stereo audio encoding/decoding method and apparatus
KR100335609B1 (en) * 1997-11-20 2002-10-04 삼성전자 주식회사 Scalable audio encoding/decoding method and apparatus
GB9820655D0 (en) * 1998-09-22 1998-11-18 British Telecomm Packet transmission
US6931058B1 (en) * 2000-05-19 2005-08-16 Scientific-Atlanta, Inc. Method and apparatus for the compression and/or transport and/or decompression of a digital signal
TW501099B (en) * 1999-08-13 2002-09-01 Koninkl Philips Electronics Nv Transmission of a digital information signal having M bit PCM samples
SE0001727L (en) * 2000-05-10 2001-11-11 Global Ip Sound Ab Transmission over packet-switched networks
US7158572B2 (en) * 2002-02-14 2007-01-02 Tellabs Operations, Inc. Audio enhancement communication techniques
US7330812B2 (en) * 2002-10-04 2008-02-12 National Research Council Of Canada Method and apparatus for transmitting an audio stream having additional payload in a hidden sub-channel
US7408918B1 (en) * 2002-10-07 2008-08-05 Cisco Technology, Inc. Methods and apparatus for lossless compression of delay sensitive signals
KR100528327B1 (en) * 2003-01-02 2005-11-15 삼성전자주식회사 Method and apparatus for encoding/decoding audio data with scalability
US20040208169A1 (en) * 2003-04-18 2004-10-21 Reznik Yuriy A. Digital audio signal compression method and apparatus
US7392195B2 (en) * 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
WO2009010674A1 (en) 2009-01-22
KR101476699B1 (en) 2014-12-26
US20100191538A1 (en) 2010-07-29
US8577687B2 (en) 2013-11-05
JP2010532876A (en) 2010-10-14
CN101796579B (en) 2014-12-10
JP5264901B2 (en) 2013-08-14
CN101796579A (en) 2010-08-04
EP2176861B1 (en) 2013-03-27
KR20100049579A (en) 2010-05-12
ES2416056T3 (en) 2013-07-30

Similar Documents

Publication Publication Date Title
EP2176861B1 (en) Hierarchical coding of digital audio signals
EP2769378B1 (en) Improved hierarchical coding
FR2891098A1 (en) Digital audio stream mixing method for use in e.g. multimedia filed, involves mixing sound samples into mixed sound sample, and compressing mixed sound sample by utilizing compression parameters calculated using stored parameters
FR2961980A1 (en) CONTROLLING A NOISE SHAPING FEEDBACK IN AUDIONUMERIC SIGNAL ENCODER
EP2979266B1 (en) Optimized partial mixing of audio streams encoded by sub-band encoding
EP1037196A1 (en) Method for coding, decoding and transcoding an audio signal
EP2795618A1 (en) Method of detecting a predetermined frequency band in an audio data signal, detection device and computer program corresponding thereto
EP2652735B1 (en) Improved encoding of an improvement stage in a hierarchical encoder
EP2979437B1 (en) Optimised mixing of audio streams encoded by sub-band encoding
EP2203915B1 (en) Transmission error dissimulation in a digital signal with complexity distribution
WO2010001020A2 (en) Improved coding/decoding by bit planes
EP2126904B1 (en) Audio encoding method and device
WO2009004227A1 (en) Coding of digital audio signals
WO2009080982A2 (en) Processing of binary errors in a digital audio binary frame
EP2162883A2 (en) Limitation of distortion introduced by a post-processing step during digital signal decoding
FR2863792A1 (en) Multimedia messaging service type audio signal compression/decompression method for electronic messaging system, involves determining signal parameters from dictionary adapted to reconstituted message and from signal indices
FR2842670A1 (en) Device and method for an improved compression of digital data, comprises input of two data flows and coding of symbols by use of table and by selecting redundant words
Tank Data Hiding Approach Embedded in ETSi GSM 6.10 RPE lTP Coder: A Tutorial Review
FR2791166A1 (en) METHODS OF ENCODING, DECODING AND TRANSCODING
FR2997250A1 (en) DETECTING A PREDETERMINED FREQUENCY BAND IN AUDIO CODE CONTENT BY SUB-BANDS ACCORDING TO PULSE MODULATION TYPE CODING

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

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: AL BA MK RS

17Q First examination report despatched

Effective date: 20100503

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

RIN1 Information on inventor provided before grant (corrected)

Inventor name: KOVESI, BALAZS

Inventor name: RAGOT, STEPHANE

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

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G10L0019140000

Ipc: G10L0019240000

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

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

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 19/24 20130101AFI20130215BHEP

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

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130415

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

Country of ref document: DE

Effective date: 20130529

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2416056

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20130730

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

Ref country code: SE

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

Effective date: 20130327

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

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

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

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

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

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

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

REG Reference to a national code

Ref country code: CH

Ref legal event code: PUE

Owner name: ORANGE, FR

Free format text: FORMER OWNER: FRANCE TELECOM, FR

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20130327

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

Owner name: ORANGE

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

Ref country code: HR

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

Effective date: 20130327

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

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

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

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

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

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

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

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

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

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

BERE Be: lapsed

Owner name: FRANCE TELECOM

Effective date: 20130731

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

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

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

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

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

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

26N No opposition filed

Effective date: 20140103

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602008023308

Country of ref document: DE

Effective date: 20140103

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

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

Ref country code: BE

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

Effective date: 20130731

Ref country code: CH

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

Effective date: 20130731

Ref country code: LI

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

Effective date: 20130731

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

REG Reference to a national code

Ref country code: AT

Ref legal event code: MM01

Ref document number: 603859

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130704

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

Ref country code: AT

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

Effective date: 20130704

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

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

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

Ref country code: LU

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

Effective date: 20130704

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

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 9

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 10

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 11

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

Ref country code: IT

Payment date: 20230620

Year of fee payment: 16

Ref country code: FR

Payment date: 20230621

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

Year of fee payment: 16

Ref country code: ES

Payment date: 20230801

Year of fee payment: 16

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

Ref country code: DE

Payment date: 20230620

Year of fee payment: 16