# US 7,610,198 B2 · Robust quantization with efficient WMSE search of a sign-shape codebook using illegal space

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

- Number: US 7,610,198 B2
- Document ID: US7610198B2
- Status: Granted
- Kind: B2
- Application number: 10/163,344
- Filed: 2002-06-07
- Published: 2003-04-24
- Granted: 2009-10-27
- Earliest claimed: 2001-08-16
- Assignees: Broadcom Corporation
- Inventors: Jes Thyssen
- Web page: https://patentgrep.com/patent/US7610198B2

## CPC

- G10L 19/07: Line spectrum pair [LSP] vocoders
- G10L 2019/0007: {Codebook element generation}
- 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

A method of searching a signed codebook to quantize a vector includes weighting a shape codevector in a set of shape codevectors with a weighting function for a Weighted Mean Square Error (WMSE) criteria, to produce a weighted shape codevector. The method further includes correlating the weighted shape codevector with the vector to produce a weighted correlation term. The method also includes determining, based on a sign of the weighted correlation term, a preferred one of a positive and a negative signed codevector associated with the shape codevector. The method further includes determining whether one of the signed codevectors does not belong to an illegal space defining illegal vectors.

## Claims

### Claim 1

A method implemented by a computer system of searching a signed codebook to quantize an input vector representative of a portion of a signal, the signed codebook including a set of shape codevectors, each shape codevector being associated with a positive signed codevector and a negative codevector, comprising:
(a) weighting, by a processor of the computer system, a shape codevector in the set of shape codevectors with a weighting function for a weighted mean square error (WMSE) criteria, to produce a weighted shape codevector;
(b) correlating the weighted shape codevector with an input vector to produce a weighted correlation term;
(c) determining based on a sign of the weighted term, a preferred one of the positive and negative signed codevectors associated with the shape codevector; and
(d) deriving a single minimization term for the shape codevector that corresponds to the preferred signed codevector.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
(e) performing steps (a) through (d) for each shape codevector in the set of shape codevectors, thereby determining for each shape codevector a preferred signed codevector and a corresponding minimization term; and
(f) determining a best signed codevector among the preferred signed codevectors based on their corresponding minimization terms, whereby the best signed codevector represents a quantization corresponding to the input vector.

### Claim 3 (depends on 2)

The method of claim 2, wherein the codebook represents a product of
a shape code, Cshape={c1, c2, c3, . . . cN/2}, including N/2 shape codevectors cn, and
a sign code, Csign={+1, −1}, including a pair of oppositely-signed sign values +1 and −1,
such that the positive signed codevector and the negative signed codevector associated with each shape codevector cn each represent a product of the shape codevector and a corresponding one of the sign values, and
wherein step (f) comprises determining a shape codevector and a corresponding sign value corresponding to the best signed codevector, based on the minimization terms.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
(e) determining whether the preferred signed codevector does not belong to an illegal space defining illegal vectors; and
(f) declaring the preferred signed codevector legal when the preferred signed codevector does not belong to the illegal space.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
(g) performing steps (a) through (f) for each shape codevector in the set of shape codevectors; and
(h) determining, based on the minimization terms, a best signed codevector among the preferred signed codevectors that are declared legal.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
prior to step (d), producing a weighted energy based on the weighted shape codevector and the shape codevector,
wherein (d) comprise combining the weighted energy with the correlation term to produce the minimization term.

### Claim 7 (depends on 6)

The method of claim 6, wherein step (d) comprises:
(d)(i) subtracting the weighted correlation term from the weighted energy when the sign of the weighted correlation term is a first sign value; and
(d)(ii) adding the weighted correlation term to the weighted energy when the sign of the weighted correlation term is a second sign value.

### Claim 8 (depends on 1)

The method of claim 1, wherein the searching is performed in a sub-quantizer, and wherein the positive and negative signed codevectors represent sub-codevectors associated with the sub-quantizer.

### Claim 9 (depends on 1)

The method of claim 1, wherein step (c) comprises:
(c)(i) determining that the positive signed codevector is the preferred signed codevector when the weighted correlation term is positive; and
(c)(ii) determining that the negative signed codevector is the preferred signed codevector when the weighted correlation term is negative.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
(e) transforming the preferred signed codevector into a transformed codevector that corresponds to the preferred signed codevector;
(f) determining whether the transformed codevector does not belong to the illegal space defining illegal vectors; and
(g) declaring the transformed codevector legal when the transformed codevector does not belong to the illegal space.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
(h) performing steps (a) through (g) for each shape codevector in the set of shape codevectors; and
(i) determining, based on the minimization terms, a best signed codevector among the preferred signed codevectors corresponding to respective transformed vectors that are declared legal.

### Claim 12 (depends on 11)

The method of claim 11, wherein:
the illegal space is in the domain of Line Spectral Frequencies (LSFs) associated with a speech or audio signal; and
the transformed codevector includes LSFs.

### Claim 13 (depends on 10)

The method of claim 10, wherein the input vector represents a portion of a signal that relates to a speech or audio signal.

### Claim 14

A method implemented by a computer system of searching a signed codebook to quantize an input vector representative of a portion of a signal, the signed codebook including a set of shape codevectors, each shape codevector being associated with a positive sign codevector and a negative signed codevector, comprising:
(a) weighting, by a processor of the computer system, a shape codevector in the set of shape codevectors to produce a weighted shape;
(b) correlating the weighted shape codevector with the input vector to produce a weighted correlation term, wherein the weighted correlation term has a single sign;
(c) deriving a single minimization term for the shape codevector that corresponds to the positive signed codevector associated with the shape codevector when the sign of the weighted term is a first value
(d) deriving a single minimization term for the shape codevector that corresponds to the negative signed codevector associated with the shape codevector when the sign of the weighted term is a second value;
(e) performing steps (a), (b), (c) and (d) for each shape codevector in the set of shape codevectors, thereby deriving for each shape codevector either a first minimization term corresponding to the positive signed codevector or a second minimization term corresponding to the negative signed codevector associated with that shape codevector; and
(f) selecting a preferred signed codevector from among the signed codevectors based on their corresponding minimization terms, wherein the preferred signed codevector represents a quantization corresponding to the input vector.

### Claim 15

A method implemented by a computer system of searching a signed codebook to quantize an input vector representative of a portion of a signal, the signed codebook including a set of shape codevectors, each shape codevector being associated with a positive sign codevector and a negative signed codevector, comprising:
(a) weighting, by a processor of the computer system, a shape codevector in the set of shape codevectors to produce a weighted shape codevector;
(b) correlating the weighted shape codevector with the input vector to produce a weighted correlation term; Wherein the weighted correlation term has a single sign;
(c) deriving a single minimization term for the shape codevector that corresponds to the positive signed codevector associated with the shape codevector when the sign of the weighted term is a first value;
(d) deriving a single minimization term for the shape codevector that corresponds to the negative signed codevector associated with the shape codevector when the sign of the weighted term is a second value;
(e) determining whether the positive codevector belongs to an illegal space representing illegal vectors when the weighted correlation term is first value;
(f) determining whether the negative codevector belongs to the illegal space representing illegal vectors when the weighted correlation term is second value;
(g) repeating steps (a) through (f) for each shape codevector; and
(h) determining a best one of the positive and negative codevectors corresponding to minimization determined in steps (c) and (d) based on the minimization terms, the best codevector being a legal codevector.

### Claim 16

A computer program product (CPP) comprising a computer usable medium having computer readable program code (CRPC) means embodied in the medium for causing an application program to execute on a computer processor to perform searching of a signed codebook to quantize an input vector representative of a portion of an input signal, the signed codebook including a set of shape codevectors, each shape codevector being associated with a positive signed codevector and a negative signed codevector, the CRPC means comprising:
first CRPC means for causing the processor to weight a shape codevector in the set of shape codevectors with a weighting function for a Weighted Mean Square Error (WMSE) criteria, to produce a weighted shape codevector;
second CRPC means for causing the processor to correlate the weighted shape codevector with the input vector to produce a weighted correlation term
third CRPC means for causing the processor to determine, based on a sign of the weighted correlation term, a preferred one of the positive and negative signed codevectors associated with the shape codevector; and
fourth CRPC means for causing the processor to derive a single minimization term for the shape codevector that corresponds to the preferred signed codevector.

### Claim 17 (depends on 16)

The CPP of claim 16, wherein the first, second, third and fourth CRPC means perform their respective functions for each shape codevector in the set of shape codevectors, thereby determining for each shape codevector a preferred signed codevector and a corresponding minimization term, the CPP further comprising:
fifth CRPC means for causing the processor to determine a best signed codevector among the preferred signed codevectors based on their corresponding minimization terms, whereby the best signed codevector represents a quantization corresponding to the input vector.

### Claim 18 (depends on 17)

The CPP of claim 17, wherein the codebook represents a product of
a shape code, Cshape={c1, c2, c3, . . . cN/2}, including N/2 shape codevectors cn, and
a sign code, Csign={+1, −1}, including a pair of oppositely-signed sign values +1 and −1,
such that the positive signed codevector and the negative signed codevector associated with each shape codevector cn each represent a product of the shape codevector and a corresponding one of the sign values, and
wherein the fifth CRPC means comprises CRPC means for causing the processor to determining a shape codevector and a corresponding sign value corresponding to the best signed codevector, based on the minimization terms.

### Claim 19 (depends on 16)

The CPP of claim 16, further comprising:
fifth CRPC means for causing the processor to determine whether the preferred signed codevector does not belong to an illegal space defining illegal vectors; and
sixth CRPC means for causing the processor to declare the preferred signed codevector legal when the preferred signed codevector does not belong to the illegal space.

### Claim 20 (depends on 19)

The CPP of claim 19, wherein the first through sixth CRPC means perform their respective functions for each shape codevector in the set of shape codevectors, the CPP further comprising:
seventh CRPC means for causing the processor to determine, based on the minimization terms, a best signed codevector among the preferred signed codevectors that are declared legal.

### Claim 21 (depends on 16)

The CPP of claim 16, further comprising:
fifth CRPC means for causing the processor to produce a weighted energy based on the weighted shape codevector and the shape codevector,
wherein the fourth CRPC means comprises CRPC means for causing the processor to combine the weighted energy with the correlation term to produce the minimization term.

### Claim 22 (depends on 21)

The CPP of claim 21, wherein the fourth CRPC means comprises:
CRPC means for causing the processor to subtract the weighted correlation term from the weighted energy when the sign of the weighted correlation term is a first sign value; and
CRPC means for causing the processor to add the weighted correlation term to the weighted energy when the sign of the weighted correlation term is a second sign value.

### Claim 23 (depends on 16)

The CPP of claim 16, wherein the searching is performed in a sub-quantizer, and wherein the positive and negative signed codevectors represent sub-codevectors associated with the sub-quantizer.

### Claim 24 (depends on 16)

The CPP of claim 16, wherein the third CRPC means comprises:
CRPC means for causing the processor to determine that the positive signed codevector is the preferred signed codevector when the weighted correlation term is positive; and
CRPC means for causing the processor to determine that the negative signed codevector is the preferred signed codevector when the weighted correlation term is negative.

### Claim 25 (depends on 16)

The CPP of claim 16, further comprising:
fifth CRPC means for causing the processor to transform the preferred signed codevector into a transformed codevector that corresponds to the preferred signed codevector;
sixth CRPC means for causing the processor to determine whether the transformed codevector does not belong to the illegal space defining illegal vectors; and
seventh CRPC means for causing the processor to declare the transformed codevector legal when the transformed codevector does not belong to the illegal space.

### Claim 26 (depends on 25)

The CPP of claim 25, wherein the first through seventh CRPC means perform their respective functions for each shape codevector in the set of shape codevectors, the CPP further comprising:
eighth CRPC means for causing the processor to determine, based on the minimization terms, a best signed codevector among the preferred signed codevectors corresponding to respective transformed vectors that are declared legal.

### Claim 27 (depends on 26)

The CPP of claim 26, wherein:
the illegal space is in the domain of Line Spectral Frequencies (LSFs) associated with a speech or audio signal; and
the transformed codevector includes LSFs.

### Claim 28 (depends on 25)

The CPP of claim 25, wherein the input vector represents a portion of a signal that relates to a speech or audio signal.
