IP Library Granted Patent US 10,685,659
Granted Patent B2
US 10,685,659 · App. 16/283,591 · Granted Jun 16, 2020

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/02G10L19/022H03M7/30
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 10,685,659
App. No.
16/283,591
Granted
Jun 16, 2020
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 (87)

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

a provider for 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 and comprise different numbers of coefficients;

a processor for deriving an entropy coding context for a currently encoded coefficient of a current segment based on a previously encoded coefficient of a previous segment; and

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

wherein the processor is configured to compute the entropy coding context for the current coefficient by

selecting a set of coefficients of the previous segment in a manner so that in case the number of coefficients of the previous segment and the number of coefficients of the current segment are different, a number of coefficients in the set of coefficients is a first number, and in case the number of coefficients of the previous segment and the number of coefficients of the current segment are not different, the number of coefficients in the set of coefficients is a second number which is equal to the first number, and

selecting at least some of the coefficients of the previous segment so that a spectral spacing between the selected coefficients of the previous segment is larger in case of the number of coefficients of the previous segment is larger as compared to a case that the number of coefficients of the previous segment the number of coefficients of the previous segment is smaller than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the set of coefficients.

2. The audio encoding apparatus of claim 1 , 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 entropy coding context.

3. The audio encoding apparatus of claim 2 , 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 a division remainder and the result of the division otherwise.

4. The audio encoding apparatus of claim 3 , 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 entropy 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.

5. The audio encoding apparatus of claim 4 , 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.

6. 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.

7. The audio encoding apparatus of claim 1 , wherein the number of coefficients in the set of coefficients is four.

8. The audio encoding apparatus according to claim 1 wherein the entropy encoder uses the entropy coding context to arithmetically encode the current coefficient.

9. The audio encoding apparatus according to claim 8 ,

wherein the previous segment and current segment are spectrally subdivided into tuples of spectrally neighbouring coefficients, respectively, with a number of coefficients per tuple being equal for tuples of the previous segments and tuples for the current segment,

wherein the processor is configured to compute the entropy coding context for the current coefficient by

selecting a set of tuples of the previous segment in a manner so that

a number of coefficients in the set of tuples in case of the number of coefficients of the previous segment and the number of coefficients of the current segment being different, is equal to the number of coefficients in the set of coefficients in in case of the number of coefficients of the previous segment and the number of coefficients of the current segment not being different, and

at least some of the set of tuples are selected out of the tuples of the previous segment and selected in a manner so that a spectral spacing between coefficients of the set of coefficients selected out of the coefficients of the previous segment is larger in case of the number of coefficients of the previous segment and being larger than the number of coefficients of the current segment than in case of the number of coefficients of the previous segment being lower than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the number of coefficients of each of the set of tuples, and

the entropy encoder is configured to entropy encode the current coefficient by entropy encoding a tuple which comprises the current coefficient using the entropy coding context.

10. The audio encoding apparatus of claim 9 , wherein the number of coefficients in the set of coefficients is four.

11. 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 and comprise different numbers of coefficients;

deriving an entropy coding context for a currently encoded coefficient of a current segment based on a previously encoded coefficient of a previous segment; and

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

wherein the deriving the entropy coding context comprises computing the entropy coding context for the current coefficient by

selecting a set of coefficients of the previous segment in a manner so that

in case the number of coefficients of the previous segment and the number of coefficients of the current segment are different, a number of coefficients in the set of coefficients is a first number, and in case the number of coefficients of the previous segment and the number of coefficients of the current segment are not different, the number of coefficients in the set of coefficients is a second number which is equal to the first number, and

selecting at least some of the coefficients of the previous segment so that a spectral spacing between the selected coefficients of the previous segment is larger in case of the number of coefficients of the previous segment is larger as compared to a case that the number of coefficients of the previous segment the number of coefficients of the previous segment is smaller than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the set of coefficients.

12. The method according to claim 11 wherein the entropy encoding comprises arithmetically encoding the current coefficient.

13. The method for encoding a sequence of segments of coefficients of claim 11 , wherein the number of coefficients in the set of coefficients is four.

14. A non-transitory computer-readable storage medium storing a computer program comprising a program code for performing the method according to claim 11 when the program code runs on a computer or a processor.

15. The method according to claim 11 ,

wherein the previous segment and current segment are spectrally subdivided into tuples of spectrally neighbouring coefficients, respectively, with a number of coefficients per tuple being equal for tuples of the previous segments and tuples for the current segment,

wherein the deriving the entropy coding context comprises computing the entropy coding context for the current coefficient by

selecting a set of tuples of the previous segment in a manner so that

a number of coefficients in the set of tuples in case of the number of coefficients of the previous segment and the number of coefficients of the current segment being different, is equal to the number of coefficients in the set of coefficients in case of the number of coefficients of the previous segment and the number of coefficients of the current segment not being different, and

at least some of the set of tuples are selected out of the tuples of the previous segment and selected in a manner so that a spectral spacing between coefficients of the set of coefficients selected out of the coefficients of the previous segment is larger in case of the number of coefficients of the previous segment and being larger than the number of coefficients of the current segment than in case of the number of coefficients of the previous segment being lower than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the number of coefficients of each of the set of tuples, and

the entropy encoding comprises entropy encoding the current coefficient by entropy encoding a tuple which comprises the current coefficient using the entropy coding context.

16. The method for encoding a sequence of segments of coefficients of claim 15 , wherein the number of coefficients in the set of coefficients is four.

17. 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 and comprise different numbers of coefficients, comprising

a processor for deriving an entropy coding context for a currently decoded coefficient of a current segment based on a previously decoded coefficient of a previous segment; and

an entropy decoder for entropy decoding the current coefficient based on the entropy coding context and the encoded audio stream,

wherein the processor is configured to compute the entropy coding context for the current coefficient by

selecting a set of coefficients of the previous segment in a manner so that in case the number of coefficients of the previous segment and the number of coefficients of the current segment are different, a number of coefficients in the set of coefficients is a first number, and in case the number of coefficients of the previous segment and the number of coefficients of the current segment are not different, the number of coefficients in the set of coefficients is a second number which is equal to the first number, and

selecting at least some of the coefficients of the previous segment so that a spectral spacing between the selected coefficients of the previous segment is larger in case of the number of coefficients of the previous segment is larger as compared to a case that the number of coefficients of the previous segment the number of coefficients of the previous segment is smaller than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the set of coefficients.

18. The audio decoding apparatus of claim 17 , wherein the processor is adapted for deriving the entropy coding context per spectral band for the current coefficient, based on neighbouring spectral coefficients previously decoded in one or more of the previous segment and the present segment.

19. The audio decoding apparatus of claim 18 , wherein the entropy decoder is adapted for decoding a group index from the encoded audio stream based on a probability distribution derived from the entropy 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.

20. The audio decoding apparatus of claim 19 , 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 entropy 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.

21. The audio decoding apparatus of claim 20 , 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.

22. The audio decoding apparatus of claim 21 , 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.

23. The audio decoding apparatus according to claim 17 wherein the entropy decoder uses the entropy coding context to arithmetically decode the current coefficient.

24. The audio decoding apparatus of claim 17 , wherein the number of coefficients in the set of coefficients is four.

25. The audio decoding apparatus according to claim 17 ,

wherein the previous segment and current segment are spectrally subdivided into tuples of spectrally neighbouring coefficients, respectively, with a number of coefficients per tuple being equal for tuples of the previous segments and tuples for the current segment,

wherein the processor is configured to compute the entropy coding context for the current coefficient by

selecting a set of tuples of the previous segment in a manner so that

a number of coefficients in the set of tuples in case of the number of coefficients of the previous segment and the number of coefficients of the current segment being different, is equal to the number of coefficients in the set of coefficients in case of the number of coefficients of the previous segment and the number of coefficients of the current segment not being different, and

at least some of the set of tuples are selected out of the tuples of the previous segment and selected in a manner so that a spectral spacing between coefficients of the set of coefficients selected out of the coefficients of the previous segment is larger in case of the number of coefficients of the previous segment and being larger than the number of coefficients of the current segment than in case of the number of coefficients of the previous segment being lower than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the number of coefficients of each of the set of tuples, and

the entropy decoder is configured to entropy decode the current coefficient by entropy decoding a tuple which comprises the current coefficient using the entropy coding context.

26. The audio decoding apparatus of claim 25 , wherein the number of coefficients in the set of coefficients is four.

27. 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 and comprise different numbers of coefficients, comprising

deriving an entropy coding context for a currently decoded coefficient of a current segment based on a previously decoded coefficient of a previous segment; and

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

wherein the deriving the entropy coding context comprises computing the entropy coding context for the current coefficient by

selecting a set of coefficients of the previous segment in a manner so that in case the number of coefficients of the previous segment and the number of coefficients of the current segment are different, a number of coefficients in the set of coefficients is a first number, and in case the number of coefficients of the previous segment and the number of coefficients of the current segment are not different, the number of coefficients in the set of coefficients is a second number which is equal to the first number, and

selecting at least some of the coefficients of the previous segment so that a spectral spacing between the selected coefficients of the previous segment is larger in case of the number of coefficients of the previous segment is larger as compared to a case that the number of coefficients of the previous segment the number of coefficients of the previous segment is smaller than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the set of coefficients.

28. The method according to claim 27 wherein the entropy decoding comprises arithmetically decoding the current coefficient.

29. A non-transitory computer-readable storage medium storing a computer program comprising a program code for performing the method according to claim 27 when the program code runs on a computer or a processor.

30. The method for decoding an encoded audio stream of claim 27 , wherein the number of coefficients in the set of coefficients is four.

31. The method according to claim 27 ,

wherein the previous segment and current segment are spectrally subdivided into tuples of spectrally neighbouring coefficients, respectively, with a number of coefficients per tuple being equal for tuples of the previous segments and tuples for the current segment,

wherein the deriving the entropy coding context comprises computing the entropy coding context for the current coefficient by

selecting a set of tuples of the previous segment in a manner so that

a number of coefficients in the set of tuples in case of the number of coefficients of the previous segment and the number of coefficients of the current segment being different, is equal to the number of coefficients in the set of coefficients in case of the number of coefficients of the previous segment and the number of coefficients of the current segment not being different, and

at least some of the set of tuples are selected out of the tuples of the previous segment and selected in a manner so that a spectral spacing between coefficients of the set of coefficients selected out of the coefficients of the previous segment is larger in case of the number of coefficients of the previous segment being larger than the number of coefficients of the current segment than in case of the number of coefficients of the previous segment being lower than the number of coefficients of the current segment, and

computing the entropy coding context for the current coefficient on the basis of the number of coefficients of each of the set of tuples, and

the entropy decoding comprises entropy decoding the current coefficient by entropy decoding a tuple which comprises the current coefficient using the entropy coding context.

32. The method for decoding an encoded audio stream of claim 31 , wherein the number of coefficients in the set of coefficients is four.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2019
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 049269/0354 →
Continuity (6)
Continuation 14589881 · Jan 5, 2015
Continuation 13004282 · Jan 11, 2011
Continuation PCTEP2009003521 · May 18, 2009
Provisional Application 61103820 · Oct 8, 2008
Provisional Application 61079842 · Jul 11, 2008
Related Publication 20190189136A1 · Jun 20, 2019
Cited By (4)
US 12,198,707 US 12,198,708 US 12,205,603 US 12,230,285