# US 7,933,770 B2 · Method and device for coding audio data based on vector quantisation

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

- Number: US 7,933,770 B2
- Document ID: US7933770B2
- Status: Granted
- Kind: B2
- Application number: 11/827,778
- Filed: 2007-07-13
- Published: 2008-01-17
- Granted: 2011-04-26
- Earliest claimed: 2006-07-14
- Assignees: Siemens Audiologische Technik GmbH
- Inventors: Hauke Krüger; Peter Vary
- Web page: https://patentgrep.com/patent/US7933770B2

## CPC

- G10L 19/12: the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
- G10L 2019/0004: {Design or structure of the codebook}
- G10L 2019/0007: {Codebook element generation}
- G10L 2019/0013: {Codebook search algorithms}
- H04R 25/554: {using a wireless connection, e.g. between microphone and amplifier or using Tcoils}
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- H04R: LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS (producing sounds with frequency not determined by supply frequency G10K)

## Abstract

A wideband audio coding concept is presented that provides good audio quality at bit rates below 3 bits per sample with an algorithmic delay of less than 10 ms. The concept is based on the principle of Linear Predictive Coding (LPC) in an analysis-by-synthesis framework. A spherical codebook is used for quantisation at bit rates which are higher in comparison to low bit rate speech coding for improved performance for audio signals. For superior audio quality, noise shaping is employed to mask the coding noise. In order to reduce the computational complexity of the encoder, the analysis-by synthesis framework has been adapted for the spherical codebook to enable a very efficient excitation vector search procedure. Furthermore, auxiliary information gathered in advance is employed to reduce a computational encoding and decoding complexity at run time significantly. This auxiliary information can be considered as the SCELP codebook. Due to the consideration of the characteristics of the apple-peeling-code construction principle, this codebook can be stored very efficiently in a read-only-memory.

## Claims

### Claim 1

A method for encoding audio data, comprising:
providing an audio input vector to be encoded;
preselecting a group of code vectors of an spherical codebook comprising a number of code vectors;
determining a respective partial distortion measurement associated with the code vectors in the preselected group of code vectors;
excluding a number of the code vectors in the preselected group of code vectors, wherein the excluding is based on a value of the determined partial distortion measurement;
as a result of the preselecting and excluding, defining a reduced group of code vectors relative to the number of code vectors comprising the spherical codebook;
searching in the reduced group of code vectors to find a code vector having a sufficiently low quantisation error with respect to the input vector to mask quantization noise; and
encoding the input vector with the code vector found in the searching of the reduced group of code vectors.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein the preselected group of code vectors of a codebook are selected code vectors in a vicinity of the input vector.

### Claim 3 (depends on 1)

The method as claimed in claim 1, wherein partial distortions are calculated for quantisation values of one dimension of the preselected code vectors, wherein values of the partial distortion of the excluded code vectors are higher than the partial distortion of other code vectors of the group of preselected code vectors.

### Claim 4

A method for encoding audio data, comprising:
providing an audio input vector to be encoded;
preselecting a group of code vectors of a codebook; and
encoding the input vector with a code vector of the group of code vectors having a lowest quantisation error within the group of preselected code vectors with respect to the input vector,
wherein the code vectors are obtained by a apple-peeling-method, wherein each code vector is represented as a branch of a code tree linked with a table of trigonometric function values, wherein the code tree and the table are stored in a memory so that each code vector used for encoding the audio data is reconstructable based on the code tree and the table.

### Claim 5 (depends on 4)

The method as claimed in claim 4, wherein the encoding is based upon a linear prediction combined with vector quantisation based on a gain-shape vector codebook.

### Claim 6 (depends on 5)

The method as claimed in claim 5, wherein the input vector is located between two quantisation values of each dimension of the code vector space and each code vector of the group of preselected vectors has a coordinate corresponding to one of the two quantisation values.

### Claim 7 (depends on 6)

The method as claimed in claim 6, wherein the quantisation error of each preselected code vector of a pregiven quantisation value of one dimension is calculated on the basis of the partial distortion of said quantisation value, wherein the partial distortion is calculated once for all code vectors of the pregiven quantisation value.

### Claim 8

A method to communicate audio data, comprising:
generating the audio data in a first audio device;
encoding the audio data in the first audio device by:
providing an audio input vector to be encoded,
preselecting a group of code vectors of an spherical codebook comprising a number of code vectors,
determining a respective partial distortion measurement associated with the code vectors in the preselected group of code vectors;
excluding a number of the code vectors in the preselected group of code vectors, wherein the excluding is based on a value of the determined partial distortion measurement;
as a result of the preselecting and excluding, forming a reduced group of code vectors relative to the number of code vectors of the spherical codebook;
searching in the reduced group of code vectors to find a code vector having a sufficiently low quantisation error with respect to the input vector to mask quantization noise;
encoding the input vector with the code vector found in the searching of the reduced group of code vectors;
transmitting the encoded audio data from the first audio device to a second audio device; and
decoding the encoded audio data in the second audio device.

### Claim 9 (depends on 8)

The method as claimed in claim 8, wherein an index unambiguously representing a code vector is assigned to the code vector selected for encoding, wherein the index is transmitted from the first audio device to the second audio device and the second audio device uses a code tree and table for reconstructing the code vector and decodes the transmitted data with a reconstructed code vector.

### Claim 10

A method to communicate audio data, comprising:
generating the audio data in a first audio device;
encoding the audio data in the first audio device by:
providing an audio input vector to be encoded,
preselecting a group of code vectors of a codebook, and
encoding the input vector with a code vector of the group of code vectors having a lowest quantisation error within the group of preselected code vectors with respect to the input vector;
transmitting the encoded audio data from the first audio device to a second audio device; and
decoding the encoded audio data in the second audio device, wherein an index unambiguously representing a code vector is assigned to the code vector selected for encoding, wherein the index is transmitted from the first audio device to the second audio device and the second audio device uses a code tree and table for reconstructing the code vector and decodes the transmitted data with a reconstructed code vector, wherein the code vectors are obtained by a apple-peeling-method, wherein each code vector is represented as a branch of the code tree linked with a table of trigonometric function values, wherein the code tree and the table are stored in a memory so that each code vector used for encoding the audio data is reconstructable based on the code tree and the table.

### Claim 11

A device for encoding audio data, comprising:
an audio vector device to provide an audio input vector to be encoded;
a preselecting device to preselect a group of code vectors of an spherical codebook comprising a number of code vectors by selecting code vectors received from the audio vector device, the preselecting device configured to determine a respective partial distortion measurement associated with the code vectors in the preselected group of code vectors;
a code vector excluding-device configured to exclude a number of the code vectors in the preselected group of code vectors based on a value of the determined partial distortion measurement, wherein the preselecting device and excluding-device are configured to define a reduced group of code vectors relative to the number of code vectors of the spherical codebook;
a code vector searching-device configured to search in the reduced group of code vectors to find a code vector having a sufficiently low quantisation error with respect to the input vector to mask quantization noise; and
an encoding device configured to encode the input vector found by the code vector searching-device in the reduced group of code vectors.

### Claim 12 (depends on 11)

The device as claimed in claim 11, wherein the encoding is based upon a linear prediction combined with vector quantisation based on a gain-shape vector codebook.

### Claim 13 (depends on 12)

The device as claimed in claim 12, wherein the selected code vectors are in a vicinity of the input vector received from the audio vector device.

### Claim 14 (depends on 11)

The device as claimed in claim 11, wherein the input vector is located between two quantisation values of each dimension of the code vector space and the preselecting device is preselecting the group of code vectors so that each code vector of the group of preselected code vectors has a coordinate corresponding to one of the two quantisation values.

### Claim 15 (depends on 14)

The device as claimed in claim 14, wherein the quantisation error for each preselected code vector of a given quantisation value of one dimension is calculated based on the preselecting means based upon the partial distortion of said quantisation value.

### Claim 16 (depends on 15)

The device as claimed in claim 15, wherein the partial distortion is calculated once for all code vectors of the pregiven quantisation value.

### Claim 17 (depends on 11)

The device as claimed in claim 11, wherein the partial distortions are calculated by the preselecting device for quantisation values of one dimension of the preselected code vectors, and wherein values of the partial distortion of the excluded code vectors are higher than the partial distortion of other code vectors of the group of preselected code vectors.

### Claim 18 (depends on 11)

The device as claimed in claim 11, wherein the device is integrated in an audiosystem, wherein the audiosystem has a first audio device and a second audio device, wherein the first audio device has the encoding device for audio data and a transmitting device for transmitting the encoded audio data to the second audio device, wherein the second audio device has a decoding device for decoding the encoded audio data received from the first audio device.

### Claim 19 (depends on 18)

The device as claimed in claim 18, wherein an index unambiguously representing a code vector is assigned to the code vector selected for encoding by the device, wherein the index is transmitted from the first audio device to the second audio device and the second audio device uses the same code tree and table for reconstructing the code vector and decodes the transmitted data with the reconstructed code vector.

### Claim 20

A device for encoding audio data, comprising:
an audio vector device to provide an audio input vector to be encoded;
a preselecting device to preselect a group of code vectors of a codebook by selecting code vectors received from the audio vector device; and
an encoding device connected to the preselecting device for encoding the input vector from the audio vector device with a code vector of the group of code vectors having the lowest quantisation error within the group of preselected code vectors with respect to the input vector,
wherein the code vectors of the codebook for the preselecting device are given by an apple-peeling-method, wherein each code vector is represented as a branch of a code tree linked with a table of trigonometric function values, wherein the code tree and the table are stored in a memory so that each code vector used for encoding the audio data is reconstructable on the basis of the code tree and the table.
