IP Library › Granted Patent US 9,754,600
Granted Patent B2
US 9,754,600 · App. 15/290,181 · Granted Sep 5, 2017

Reuse of index of huffman codebook for coding vectors

Inventors: Nils Günther Peters (San Diego, CA); Dipanjan Sen (San Diego, CA)
Assignee: QUALCOMM Incorporated
G10L19/038G10L19/002G10L19/008G10L19/08G10L19/20H04R5/00H04S3/002H04S7/30G10L2019/0001H04R2499/15H04S2400/01H04S2420/11
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 9,754,600
App. No.
15/290,181
Granted
Sep 5, 2017
Kind
B2
Abstract

In general, techniques are described for indicating reusability of an index that determines a Huffman codebook used to code data associated with a vector in a spherical harmonics domain. The bitstream may comprise an indicator for whether to reuse, from a previous frame, at least one syntax element indicative of the index. The memory may be configured to store the bitstream.

Claims (93)

1. A device for processing a bitstream, the device comprising:

one or more processors configured to:

obtain the bitstream, the bitstream comprising a compressed version of a spatial component of a sound field, the spatial component of the sound field being represented by a vector in a spherical harmonics domain, wherein a value of a syntax element for a current frame is indicative of an index that determines a particular Huffman codebook, the bitstream further including an indicator,

the indicator having a particular value indicating the bitstream does not include the value of the syntax element for the current frame and the value of the syntax element for the current frame is equal to a value of the syntax element for a previous frame;

use the particular Huffman codebook to code data associated with the vector; and

a memory coupled to the one or more processors, the memory configured to store the bitstream.

2. The device of claim 1 , wherein the indicator comprises one or more bits of the value of the syntax element for the current frame.

3. The device of claim 2 , wherein:

the syntax element is a first syntax element,

the indicator comprises a value of a second syntax element for the current frame and a value of a third syntax element for the current frame, and

the value of the second syntax element for the current frame plus the value of the third syntax element for the current frame being equal to zero indicates the bitstream does not include the value of the first syntax element for the current frame and the value of the first syntax element for the current frame is equal to the value of the first syntax element for the previous frame.

4. The device of claim 2 , wherein the indicator includes a most significant bit of the value of the first syntax element for the current frame and a second most significant bit of the value of the first syntax element for the current frame.

5. The device of claim 1 , wherein the value of the syntax element for the current frame is indicative of the particular Huffman codebook based on the value of the syntax element for the current frame being greater than 5.

6. The device of claim 5 , wherein:

the syntax element is a first syntax element, and

each respective allowable value of the first syntax element from 6 to 15 is associated with a respective set of five Huffman codebooks;

the indicator having the particular value indicating the bitstream does not include a value of a second syntax element for the current frame, the bitstream does not include a value of a third syntax element for the current frame, the value of the second syntax element for the current frame is equal to a value of the second syntax element for the previous frame, and the value of the third syntax element for the current frame is equal to a value of the third syntax element for the previous frame,

the second syntax element indicates whether prediction was performed with respect to the vector,

the third syntax element indicates additional Huffman codebook information used to select a particular Huffman codebook from the set of five Huffman codebooks associated with a value of the first syntax element signaled in the bitstream, and

the one or more processors are further configured to determine, based on the value of the second syntax element for the current frame and the value of the third syntax element for the current frame, the particular Huffman codebook from among the set of five Huffman codebooks associated with the value of the first syntax element for the current frame signaled in the bitstream; and

wherein the one or more processors are configured such that, as part of using the particular Huffman codebook to code the data associated with the vector, the one or more processors use the particular Huffman codebook to code at least one vector element of the vector.

7. The device of claim 1 , the one or more processors further configured to:

decompose higher-order ambisonic audio data to obtain the vector; and

specify the vector in the bitstream to obtain the bitstream.

8. The device of claim 1 , the one or more processors further configured to:

obtain, from the bitstream, an audio object that corresponds to the vector; and

combine the audio object with the vector to reconstruct higher-order ambisonic (HOA) audio data.

9. The device of claim 8 , wherein:

the one or more processors are configured to render the HOA coefficients to output one or more loudspeaker feeds,

the device is coupled to one or more loudspeakers, wherein the one or more loudspeaker feeds drive the one or more loudspeakers.

10. The device of claim 1 , wherein the syntax element is a first syntax element, the one or more processors further configured to:

obtain, based on the indicator not having the particular value, a second syntax element from the bitstream, the second syntax element indicating least significant bits of the value of the first syntax element for the current frame.

11. A method of processing a bitstream, the method comprising:

obtaining the bitstream, the bitstream comprising a compressed version of a spatial component of a sound field, the spatial component of the sound field being represented by a vector in a spherical harmonics domain, wherein a value of a syntax element for a current frame is indicative of an index that determines a particular Huffman codebook, the bitstream further including an indicator,

the indicator having a particular value indicating the bitstream does not include the value of the syntax element for the current frame and the value of the syntax element for the current frame is equal to a value of the syntax element for a previous frame;

using the particular Huffman codebook to code data associated with the vector; and

storing the bitstream.

12. The method of claim 11 , wherein the indicator comprises one or more bits of the value of the syntax element for the current frame.

13. The method of claim 12 , wherein:

the syntax element is a first syntax element,

the indicator comprises a value of a second syntax element for the current frame and a value of a third syntax element for the current frame, and

the value of the second syntax element for the current frame plus the value of the third syntax element for the current frame being equal to zero indicates the bitstream does not include the value of the first syntax element for the current frame and the value of the first syntax element for the current frame is equal to the value of the first syntax element for the previous frame.

14. The method of claim 12 , wherein the indicator includes a most significant bit of the value of the first syntax element for the current frame and a second most significant bit of the value of the first syntax element for the current frame.

15. The method of claim 11 , wherein the value of the syntax element for the current frame is indicative of the particular Huffman codebook based on the value of the syntax element for the current frame being greater than 5.

16. The method of claim 15 , wherein:

the syntax element is a first syntax element, and

each respective allowable value of the first syntax element from 6 to 15 is associated with a respective set of five Huffman codebooks;

the indicator having the particular value indicating the bitstream does not include a value of a second syntax element for the current frame, the bitstream does not include a value of a third syntax element for the current frame, the value of the second syntax element for the current frame is equal to a value of the second syntax element for the previous frame, and the value of the third syntax element for the current frame is equal to a value of the third syntax element for the previous frame,

the second syntax element indicates whether prediction was performed with respect to the vector,

the third syntax element indicates additional Huffman codebook information used to select a particular Huffman codebook from the set of five Huffman codebooks associated with a value of the first syntax element signaled in the bitstream, and

the method further comprises determining, based on the value of the second syntax element for the current frame and the value of the third syntax element for the current frame, the particular Huffman codebook from among the set of five Huffman codebooks associated with the value of the first syntax element for the current frame signaled in the bitstream; and

using the particular Huffman codebook to code the data associated with the vector comprises using the particular Huffman codebook to code at least one vector element of the vector.

17. The method of claim 11 , further comprising:

decomposing higher-order ambisonic audio data to obtain the vector; and

specifying the vector in the bitstream to obtain the bitstream.

18. The method of claim 11 , further comprising:

obtaining, from the bitstream, an audio object that corresponds to the vector; and

combining the audio object with the vector to reconstruct higher-order ambisonic (HOA) audio data.

19. The method of claim 18 , further comprising:

rendering the HOA coefficients to output one or more loudspeaker feeds,

wherein a device rendering the HOA coefficients to output the one or more loudspeaker feeds is coupled to one or more loudspeakers, wherein the one or more loudspeaker feeds drive the one or more loudspeakers.

20. The method of claim 11 , wherein the syntax element is a first syntax element, the method further comprising:

based on the indicator not having the particular value, obtaining a second syntax element from the bitstream, the second syntax element indicating least significant bits of the value of the first syntax element for the current frame.

21. A device for processing a bitstream, the device comprising:

means for obtaining the bitstream, the bitstream comprising a compressed version of a spatial component of a sound field, the spatial component of the sound field being represented by a vector in a spherical harmonics domain, wherein a value of a syntax element for a current frame is indicative of an index that determines a particular Huffman codebook, the bitstream further including an indicator,

the indicator having a particular value indicating the bitstream does not include the value of the syntax element for the current frame and the value of the syntax element for the current frame is equal to a value of the syntax element for a previous frame; and

means for using the particular Huffman codebook to code data associated with the vector; and

means for storing the bitstream.

22. The device of claim 21 , wherein the indicator comprises one or more bits of the value of the syntax element for the current frame.

23. The device of claim 21 , wherein:

the syntax element is a first syntax element,

the indicator comprises a value of a second syntax element for the current frame and a value of a third syntax element for the current frame, and

the value of the second syntax element for the current frame plus the value of the third syntax element for the current frame being equal to zero indicates the bitstream does not include the value of the first syntax element for the current frame and the value of the first syntax element for the current frame is equal to the value of the first syntax element for the previous frame.

24. The device of claim 21 , further comprising:

means for decomposing higher-order ambisonic audio data to obtain the vector; and

means for specifying the vector in the bitstream to obtain the bitstream.

25. The device of claim 21 , wherein the syntax element is a first syntax element, the device further comprising:

means for obtaining, based on the indicator not having the particular value, a second syntax element from the bitstream, the second syntax element indicating least significant bits of the value of the first syntax element for the current frame.

26. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, configure a device to:

obtain a bitstream, the bitstream comprising a compressed version of a spatial component of a sound field, the spatial component of the sound field being represented by a vector in a spherical harmonics domain, wherein a value of a syntax element for a current frame is indicative of an index that determines a particular Huffman codebook, the bitstream further including an indicator,

the indicator having a particular value indicating the bitstream does not include the value of the syntax element for the current frame and the value of the syntax element for the current frame is equal to a value of the syntax element for a previous frame;

use the particular Huffman codebook to code data associated with the vector; and

store the bitstream.

27. The non-transitory computer-readable storage medium of claim 26 , wherein the indicator comprises one or more bits of the value of the syntax element for the current frame.

28. The non-transitory computer-readable storage medium of claim 26 , wherein:

the syntax element is a first syntax element,

the indicator comprises a value of a second syntax element for the current frame and a value of a third syntax element for the current frame, and

the value of the second syntax element for the current frame plus the value of the third syntax element for the current frame being equal to zero indicates the bitstream does not include the value of the first syntax element for the current frame and the value of the first syntax element for the current frame is equal to the value of the first syntax element for the previous frame.

29. The non-transitory computer-readable storage medium of claim 26 , wherein the instructions, when executed, further configure the device to:

decompose higher-order ambisonic audio data to obtain the vector; and

specify the vector in the bitstream to obtain the bitstream.

30. The non-transitory computer-readable storage medium of claim 26 , wherein the syntax element is a first syntax element, the instructions, when executed, further configuring the device to:

based on the indicator not having the particular value, obtain a second syntax element from the bitstream, the second syntax element indicating least significant bits of the value of the first syntax element for the current frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2016
From: PETERS, NILS GÜNTHER; SEN, DIPANJAN
To: QUALCOMM INCORPORATED
Reel/Frame 040757/0755 →
Continuity (19)
Continuation 14609190 · Jan 29, 2015
Provisional Application 61933706 · Jan 30, 2014
Provisional Application 61933714 · Jan 30, 2014
Provisional Application 61933731 · Jan 30, 2014
Provisional Application 61949591 · Mar 7, 2014
Provisional Application 61949583 · Mar 7, 2014
Provisional Application 61994794 · May 16, 2014
Provisional Application 62004147 · May 28, 2014
Provisional Application 62004067 · May 28, 2014
Provisional Application 62004128 · May 28, 2014
Provisional Application 62019663 · Jul 1, 2014
Provisional Application 62027702 · Jul 22, 2014
Provisional Application 62028282 · Jul 23, 2014
Provisional Application 62029173 · Jul 25, 2014
Provisional Application 62032440 · Aug 1, 2014
Provisional Application 62056248 · Sep 26, 2014
Provisional Application 62056286 · Sep 26, 2014
Provisional Application 62102243 · Jan 12, 2015
Related Publication 20170032794A1 · Feb 2, 2017