# US 10,770,087 B2 · Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,770,087 B2
- Document ID: US10770087B2
- Status: Granted
- Kind: B2
- Application number: 14/712,849
- Filed: 2015-05-14
- Published: 2015-11-19
- Granted: 2020-09-08
- Earliest claimed: 2014-05-16
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Moo Young Kim; Nils Günther Peters; Dipanjan Sen
- Web page: https://patentgrep.com/patent/US10770087B2

## CPC

- G10L 19/038: Vector quantisation, e.g. TwinVQ audio
- G10L 19/008: Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
- G10L 2019/0013: {Codebook search algorithms}
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

In general, techniques are described for performing codebook selection when coding vectors decomposed from higher-order ambisonic coefficients. A device comprising a memory and a processor may perform the techniques. The memory may be configured to store a plurality of codebooks to use when performing vector dequantization with respect to a vector quantized spatial component of a soundfield. The vector quantized spatial component may be obtained through application of a decomposition to a plurality of higher order ambisonic coefficients. The processor may be configured to select one of the plurality of codebooks.

## Claims

### Claim 1

A device comprising:
a memory configured to store a plurality of codebooks to use when performing vector dequantization with respect to a vector quantized spatial component of a soundfield, the vector quantized spatial component defined in a spherical harmonic domain, and obtained through application of a decomposition to a plurality of higher order ambisonic coefficients representative of the soundfield; and
one or more processors coupled to the memory, and configured to:
select one of the plurality of codebooks;
perform vector dequantization with respect to the vector quantized spatial component using the selected one of the plurality of codebooks to obtain a vector dequantized spatial component of the soundfield; and
render, based on the vector dequantized spatial component, speaker feeds.

### Claim 2 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to determine a syntax element from a bitstream that includes the vector quantized spatial component, the syntax element identifying the selected one of the plurality of codebooks, and perform the vector dequantization with respect to the vector quantized spatial component based on the selected one of the plurality of codebooks identified by the syntax element.

### Claim 3 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to determine a syntax element from a bitstream that includes the vector quantized spatial component, the syntax element identifying an index into the selected one of the plurality of codebooks having a weight value used when performing the vector dequantization.

### Claim 4 (depends on 1)

The device of claim 1,
wherein the one or more processors are further configured to determine a first syntax element and a second syntax element from a bitstream that includes the vector quantized spatial component, wherein the first syntax element identifies the selected one of the plurality of codebooks, and the second syntax element identifies an index into the selected one of the plurality of codebooks having a weight value used when performing the vector dequantization, and
wherein the one or more processors are configured to perform the vector dequantization with respect to the vector quantized spatial component based on the weight value identified by the first syntax element from the selected one of the plurality of codebooks identified by the second syntax element.

### Claim 5 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to determine a syntax element from a bitstream that includes the vector quantized spatial component, the syntax element identifying an index into a vector dictionary having a code vector used when performing the vector dequantization.

### Claim 6 (depends on 1)

The device of claim 1,
wherein the one or more processors are further configured to determine a first syntax element, a second syntax element, and a third syntax element from a bitstream that includes the vector quantized spatial component, wherein the first syntax element identifies the selected one of the plurality of codebooks, the second syntax element identifies an index into the selected one of the plurality of codebooks having a weight value used when performing the vector dequantization, and the third syntax element identifies an index into a vector dictionary having a code vector used when performing the vector dequantization, and
wherein the one or more processors are configured to perform the vector dequantization with respect to the vector quantized spatial component based on the weight value identified by the first syntax element from the selected one of the plurality of codebooks identified by the second syntax element and the code vector identified by the third syntax element.

### Claim 7 (depends on 1)

The device of claim 1, wherein the one or more processors are configured to select the one of the plurality of codebooks based on a number of code vectors used when performing the vector dequantization.

### Claim 8 (depends on 1)

The device of claim 1, wherein the one or more processors are configured to select the one of the plurality of codebooks having eight weight values when only one code vector is used when performing the vector dequantization.

### Claim 9 (depends on 1)

The device of claim 1, wherein the one or more processors are configured to select the one of the plurality of codebooks having 254 weight values when two to eight code vectors are used when performing the vector dequantization.

### Claim 10 (depends on 1)

The device of claim 1, wherein the plurality of codebooks comprises a codebook having 254 rows with 7 weight values in each row and a codebook having 898 rows with a single weight value in each row.

### Claim 11

A device comprising:
means for storing a plurality of codebooks to use when performing vector dequantization with respect to a vector quantized spatial component of a soundfield, the vector quantized spatial component defined in a spherical harmonic domain, and obtained through application of a decomposition to a plurality of higher order ambisonic coefficients;
means for selecting one of the plurality of codebooks
means for performing vector dequantization with respect to the vector quantized spatial component using the selected one of the plurality of codebooks to obtain a vector dequantized spatial component of the soundfield;
means for rendering, based on the vector dequantized spatial component, speaker feeds.

### Claim 12 (depends on 11)

The device of claim 11, further comprising means for determining a syntax element from a bitstream that includes the vector quantized spatial component, the syntax element identifying the selected one of the plurality of codebooks.

### Claim 13 (depends on 11)

The device of claim 11, further comprising means for determining a syntax element from a bitstream that includes the vector quantized spatial component, the syntax element identifying the selected one of the plurality of codebooks, and
wherein the means for performing the vector dequantization comprises means for performing the vector dequantization with respect to the vector quantized spatial component based on the selected one of the plurality of codebooks identified by the syntax element.

### Claim 14 (depends on 11)

The device of claim 11, further comprising means for determining a syntax element from a bitstream that includes the vector quantized spatial component, the identifying an index into the selected one of the plurality of codebooks having a weight value used when performing the vector dequantization.

### Claim 15

A device comprising:
a memory configured to store a plurality of codebooks to use when performing vector quantization with respect to a spatial component of a soundfield, the spatial component defined in a spherical harmonic domain, and obtained through application of a decomposition to the plurality of higher order ambisonic coefficients; and
one or more processors coupled to the memory, and configured to:
select one of the plurality of codebooks;
perform vector quantization with respect to the spatial component using the selected one of the plurality of codebooks to obtain a vector quantized spatial component of the soundfield; and
generate a bitstream to include the vector quantized spatial component.

### Claim 16 (depends on 15)

The device of claim 15, wherein selecting one of a plurality of codebooks comprises selecting the one of the plurality of codebooks having eight weight values when only one code vector is used when performing the vector quantization.

### Claim 17 (depends on 1)

The device of claim 1,
further comprising one or more speakers coupled to the one or more processors, and configured to reproduce the soundfield based on the speaker feeds.

### Claim 18 (depends on 1)

The device of claim 1,
wherein the one or more processors are further configured to reconstruct, based on the vector dequantized spatial component, the higher order ambisonic coefficients, and
wherein the one or more processors are configured to render, based on the reconstructed higher order ambisonic coefficients, the speaker feeds.
