IP Library Granted Patent US 8,930,202
Granted Patent B2
US 8,930,202 · App. 13/004,282 · Granted Jan 6, 2015

Audio entropy encoder/decoder for coding contexts with different frequency resolutions and transform lengths

Inventors: Markus Multrus (Nuremberg, DE); Bernhard Grill (Lauf, DE); Guillaume Fuchs (Nuremberg, DE); Stefan Geyersberger (Wuerzburg, DE); Nikolaus Rettelbach (Nuremberg, DE); Virgilio Bacigalupo (Nuremberg, DE)
Assignee: Fraunhofer-Gesellschaft zur Foerderung der Angewandten Forschung E.V.
G10L19/022
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,930,202
App. No.
13/004,282
Granted
Jan 6, 2015
Kind
B2
Abstract

An audio encoder for encoding segments of coefficients, the segments of coefficients representing different time or frequency resolutions of a sampled audio signal, the audio encoder including a processor for deriving a coding context for a currently encoded coefficient of a current segment based on a previously encoded coefficient of a previous segment, the previously encoded coefficient representing a different time or frequency resolution than the currently encoded coefficient. The audio encoder further includes an entropy encoder for entropy encoding the current coefficient based on the coding context to obtain an encoded audio stream.

Claims (54)

1. An audio encoding apparatus for encoding a sequence of segments of coefficients, the segments being subsequent to each other in time, the audio encoder comprising:

a provider configured to provide the sequence of segments of coefficients from an audio stream representing a sampled audio signal by using different transform lengths such that segments of coefficients for which different transform lengths are used, spectrally represent the sampled audio signal at different frequency resolutions;

a processor configured to derive a coding context for a currently encoded coefficient of a current segment based on a previously encoded coefficient of a previous segment, the previous and current segments corresponding to different frequency resolutions and different transform lengths, respectively; and

an entropy encoder configured to entropy encode the current coefficient based on the coding context to acquire an encoded audio stream;

wherein the entropy encoder is adapted for encoding the current coefficient in units of a tuple of spectral coefficients and for predicting a range of the tuple based on the coding context; and

wherein the entropy encoder is adapted for dividing the tuple by a predetermined factor as often as necessitated to fit a result of the division in a predetermined range and for encoding a number of divisions necessitated, a division remainder and the result of the division when the tuple does not lie in the predicted range, and for encoding the tuple without the use of any division when the tuple already lies within the predicted range.

2. The audio encoding apparatus of claim 1 , wherein the entropy encoder is adapted for encoding the result of the division or the tuple using a group index, the group index referring to a group of one or more codewords for which a probability distribution is based on the coding context, and, based on a uniform probability distribution, an element index in case the group comprises more than one codeword, the element index referring to a codeword within the group, and for encoding the number of divisions by a number of escape symbols, an escape symbol being a specific group index only used for indicating a division, and for encoding the remainders of the divisions based on a uniform probability distribution using an arithmetic coding rule.

3. The audio encoding apparatus of claim 2 , wherein the entropy encoder is adapted for encoding a sequence of symbols into the encoded audio stream using a symbol alphabet comprising the escape symbol, and group symbols corresponding to a set of available group indices, a symbol alphabet comprising the corresponding element indices, and a symbol alphabet comprising the different values of the remainders.

4. The audio encoding apparatus of claim 1 , wherein the processor and the entropy encoder are configured to operate based on a down-sampling of spectral coefficients of the previous segment, when the previous segment displays a finer spectral resolution than the current segment and/or wherein the processor and the entropy encoder are configured to operate based on an up-sampling of spectral coefficients of the previous segment, when the previous segment displays a coarser spectral resolution than the current segment.

5. A method for encoding a sequence of segments of coefficients, the segments being subsequent to each other in time, the method comprising:

providing the sequence of segments of coefficients from an audio stream representing a sampled audio signal by using different transform lengths such that segments of coefficients for which different transform lengths are used, spectrally represent the sampled audio signal at different frequency resolutions;

deriving, using a computer, a coding context for a currently encoded coefficient of a current segment based on a previously encoded coefficient of a previous segment, the previous and current segments corresponding to different frequency resolutions and different transform lengths, respectively; and

entropy encoding, using the computer, the current coefficient based on the coding context to acquire an encoded audio stream;

wherein the entropy encoding comprises encoding the current coefficient in units of a tuple of spectral coefficients and for predicting a range of the tuple based on the coding context; and

wherein the entropy encoding comprises dividing the tuple by a predetermined factor as often as necessitated to fit a result of the division in a predetermined range and for encoding a number of divisions necessitated, a division remainder and the result of the division when the tuple does not lie in the predicted range, and encoding the tuple without the use of any division when the tuple already lies within the predicted range.

6. An audio encoding apparatus for encoding segments of coefficients, the segments of coefficients representing different time or frequency resolutions of a sampled audio signal, the audio encoder comprising:

a provider configured to provide the segments of coefficients from an audio stream, the coefficients forming a spectral representation of an audio signal represented by the audio stream at a spectral resolution varying among the segments;

a processor configured to derive a coding context for a currently encoded coefficient of a current segment based on a previously encoded coefficient of a previous segment, the previously encoded coefficient representing a different time or frequency resolution than the currently encoded coefficient; and

an entropy encoder configured to entropy encode the current coefficient based on the coding context to acquire an encoded audio stream,

wherein the entropy encoder is adapted for encoding the current coefficient in units of a tuple of spectral coefficients and for predicting a range of the tuple based on the coding context,

wherein the entropy encoder is adapted for dividing the tuple by a predetermined factor as often as necessitated to fit a result of the division in a predetermined range and for encoding a number of divisions necessitated, a division remainder and the result of the division when the tuple does not lie in the predicted range, and for encoding the tuple without the use of any division when the tuple already lies within the predicted range, and

wherein the entropy encoder is adapted for encoding the result of the division or the tuple using a group index, the group index referring to a group of one or more codewords for which a probability distribution is based on the coding context, and, based on a uniform probability distribution, an element index in case the group comprises more than one codeword, the element index referring to a codeword within the group, and for encoding the number of divisions by a number of escape symbols, an escape symbol being a specific group index only used for indicating a division, and for encoding the remainders of the divisions based on a uniform probability distribution using an arithmetic coding rule.

7. An audio decoding apparatus for decoding an encoded audio stream representing a sampled audio signal to acquire a sequence of segments of coefficients being subsequent to each other in time and representing the sampled audio signal by using different transform lengths such that segments of coefficients for which different transform lengths are used, spectrally represent the sampled audio signal at different frequency resolutions, comprising:

a processor configured to derive a coding context for a currently decoded coefficient of a current segment based on a previously decoded coefficient of a previous segment, the previous and current segments corresponding to different frequency resolutions and different transform lengths, respectively; and

an entropy decoder configured to entropy decode the current coefficient based on the coding context and the encoded audio stream;

wherein the processor is adapted for deriving the coding context per spectral band for the current coefficient, based on neighboring spectral coefficients previously decoded in the previous segment and in the present segment; and

wherein the entropy decoder is adapted for decoding a group index from the encoded audio stream based on a probability distribution derived from the coding context, wherein the group index represents a group of one or more codewords, and for, based on a uniform probability distribution, decoding an element index from the encoded audio stream if the group index indicates a group comprising more than one codeword, and for deriving a tuple of spectral coefficients of the current segment based on the group index and the element index, thereby acquiring the spectral domain representation in tuples of spectral coefficients.

8. The audio decoding apparatus of claim 7 , wherein the entropy decoder is adapted for decoding a sequence of symbols from the encoded audio stream based on the probability distribution derived from the coding context using a symbol alphabet comprising an escape symbol and group symbols corresponding to a set of available group indices, for deriving a preliminary tuple of spectral coefficients based on an available group index to which a group symbol of the sequence of symbols corresponds, and based on the element index, and for multiplying the preliminary tuple with a factor depending on a number of escape symbols in the sequence of symbols to acquire the tuple of spectral coefficients.

9. The audio decoding apparatus of claim 8 , wherein the entropy decoder is adapted for decoding a division remainder from the encoded audio stream based on a uniform probability distribution using an arithmetic coding rule and for adding the remainder to the multiplied preliminary tuple to acquire the tuple of spectral coefficients.

10. The audio decoding apparatus of claim 9 , wherein the processor and the entropy encoder are configured to operate based on a down-sampling of spectral coefficients of the previous segment, when the previous segment displays a finer spectral resolution than the current segment and/or wherein the processor and the entropy encoder are configured to operate based on an up-sampling of spectral coefficients of the previous segment, when the previous segment displays a coarser spectral resolution than the current segment.

11. An audio decoding apparatus for decoding an encoded audio stream to acquire segments of coefficients representing different time or frequency resolutions of a the sampled audio signal, comprising:

a processor configured to derive a coding context for a currently decoded coefficient of a current segment based on a previously decoded coefficient of a previous segment, the previously decoded coefficient representing a different time or frequency resolution than the currently decoded coefficient; and

an entropy decoder configured to entropy decode the current coefficient based on the coding context and the encoded audio stream,

wherein the processor is adapted for deriving the coding context based on the previous coefficient, the coefficients forming a spectral representation of an audio signal represented by the audio stream at a spectral resolution varying among the segments,

wherein the processor is adapted for deriving the coding context for the current coefficient, based on neighboring spectral coefficients previously decoded in the previous segment and in the present segment, and

wherein the entropy decoder is adapted for decoding a group index from the encoded audio stream based on a probability distribution derived from the coding context, wherein the group index represents a group of one or more codewords, and for, based on a uniform probability distribution, decoding an element index from the encoded audio stream if the group index indicates a group comprising more than one codeword, and for deriving a tuple of spectral coefficients of the current segment based on the group index and the element index, thereby acquiring the spectral domain representation in tuples of spectral coefficients.

12. A method for decoding an encoded audio stream representing a sampled audio signal to acquire a sequence of segments of coefficients being subsequent to each other in time and representing the sampled audio signal by using different transform lengths such that segments of coefficients for which different transform lengths are used, spectrally represent the sampled audio signal at different frequency resolutions, comprising:

deriving, using a computer, a coding context for a currently decoded coefficient of a current segment based on a previously decoded coefficient of a previous segment, the previous and current segments corresponding to different frequency resolutions and different transform lengths, respectively; and

entropy decoding, using the computer, the current coefficient based on the coding context and the encoded audio stream;

wherein the deriving comprises deriving the coding context per spectral band for the current coefficient, based on neighboring spectral coefficients previously decoded in the previous segment and in the present segment;

wherein the entropy decoding comprises decoding a group index from the encoded audio stream based on a probability distribution derived from the coding context, wherein the group index represents a group of one or more codewords, and, based on a uniform probability distribution, decoding an element index from the encoded audio stream if the group index indicates a group comprising more than one codeword, and for deriving a tuple of spectral coefficients of the current segment based on the group index and the element index, thereby acquiring the spectral domain representation in tuples of spectral coefficients.

13. A non-transitory computer-readable medium having stored thereon a computer program comprising a program code for performing the method for encoding a sequence of segments of coefficients, the segments being subsequent to each other in time, the method comprising:

providing the sequence of segments of coefficients from an audio stream representing a sampled audio signal by using different transform lengths such that segments of coefficients for which different transform lengths are used, spectrally represent the sampled audio signal at different frequency resolutions;

deriving a coding context for a currently encoded coefficient of a current segment based on a previously encoded coefficient of a previous segment, the previous and current segments corresponding to different frequency resolutions and different transform lengths, respectively; and

entropy encoding the current coefficient based on the coding context to acquire an encoded audio stream;

when the program code runs on a computer or a processor;

wherein the entropy encoding comprises encoding the current coefficient in units of a tuple of spectral coefficients and for predicting a range of the tuple based on the coding context; and

wherein the entropy encoding comprises dividing the tuple by a predetermined factor as often as necessitated to fit a result of the division in a predetermined range and for encoding a number of divisions necessitated, a division remainder and the result of the division when the tuple does not lie in the predicted range, and encoding the tuple without the use of any division when the tuple already lies within the predicted range.

14. A non-transitory computer-readable medium having stored thereon a computer program comprising a program code for performing the method for decoding an encoded audio stream representing a sampled audio signal to acquire a sequence of segments of coefficients being subsequent to each other in time and representing the sampled audio signal by using different transform lengths such that segments of coefficients for which different transform lengths are used, spectrally represent the sampled audio signal at different frequency resolutions, the method comprising:

deriving a coding context for a currently decoded coefficient of a current segment based on a previously decoded coefficient of a previous segment, the previous and current segments corresponding to different frequency resolutions and different transform lengths, respectively; and

entropy decoding the current coefficient based on the coding context and the encoded audio stream;

when the program code runs on a computer or a processor;

wherein the deriving comprises deriving the coding context per spectral band for the current coefficient, based on neighboring spectral coefficients previously decoded in the previous segment and in the present segment; and

wherein the entropy decoding comprises decoding a group index from the encoded audio stream based on a probability distribution derived from the coding context, wherein the group index represents a group of one or more codewords, and, based on a uniform probability distribution, decoding an element index from the encoded audio stream if the group index indicates a group comprising more than one codeword, and deriving a tuple of spectral coefficients of the current segment based on the group index and the element index, thereby acquiring the spectral domain representation in tuples of spectral coefficients.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2011
From: MULTRUS, MARKUS; GRILL, BERNHARD; FUCHS, GUILLAUME; GEYERSBERGER, STEFAN; RETTELBACH, NIKOLAUS; BACIGALUPO, VIRGILIO
To: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 026058/0369 →
Continuity (4)
Continuation PCTEP2009003521 · May 18, 2009
Provisional Application 61079842 · Jul 11, 2008
Provisional Application 61103820 · Oct 8, 2008
Related Publication 20110173007A1 · Jul 14, 2011