Systems, methods, apparatus, and computer-readable media for multi-stage shape vector quantization
First Claim
Patent Images
1. An apparatus for vector quantization, said apparatus comprising:
- a first vector quantizer configured to receive a first input vector that has a first direction and to select a corresponding one among a plurality of first codebook vectors of a first codebook, wherein the first vector quantizer is implemented by the apparatus, and wherein the apparatus comprises hardware;
a rotation matrix generator configured to generate a rotation matrix that is based on the selected first codebook vector;
a multiplier configured to calculate a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction; and
a second vector quantizer configured to receive a second input vector that has the second direction and to select a corresponding one among a plurality of second codebook vectors of a second codebook.
1 Assignment
0 Petitions
Accused Products
Abstract
A multistage shape vector quantizer architecture uses information from a selected first-stage codebook vector to generate a rotation matrix. The rotation matrix is used to rotate the direction of the input vector to support shape quantization of the first-stage quantization error.
-
Citations
40 Claims
-
1. An apparatus for vector quantization, said apparatus comprising:
-
a first vector quantizer configured to receive a first input vector that has a first direction and to select a corresponding one among a plurality of first codebook vectors of a first codebook, wherein the first vector quantizer is implemented by the apparatus, and wherein the apparatus comprises hardware; a rotation matrix generator configured to generate a rotation matrix that is based on the selected first codebook vector; a multiplier configured to calculate a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction; and a second vector quantizer configured to receive a second input vector that has the second direction and to select a corresponding one among a plurality of second codebook vectors of a second codebook. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of vector quantization, said method comprising:
-
quantizing a first input vector that has a first direction by selecting a corresponding one among a plurality of first codebook vectors of a first codebook; generating a rotation matrix that is based on the selected first codebook vector; calculating a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction; and quantizing a second input vector that has the second direction by selecting a corresponding one among a plurality of second codebook vectors of a second codebook. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. An apparatus for vector quantization, said apparatus comprising:
-
means for quantizing a first input vector that has a first direction by selecting a corresponding one among a plurality of first codebook vectors of a first codebook; means for generating a rotation matrix that is based on the selected first codebook vector; means for calculating a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction; and means for quantizing a second input vector that has the second direction by selecting a corresponding one among a plurality of second codebook vectors of a second codebook. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. An apparatus for dequantizing a quantized vector that includes a first codebook index and a second codebook index, said apparatus comprising:
-
a first vector dequantizer configured to receive the first codebook index and to produce a corresponding first codebook vector from a first codebook; a rotation matrix generator configured to generate a rotation matrix that is based on the first codebook vector; a second vector dequantizer configured to receive a second codebook index and to produce, from a second codebook, a corresponding second codebook vector that has a first direction; and
a multiplier configured to calculate a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction.
-
-
38. A method of dequantizing a quantized vector that includes a first codebook index and a second codebook index, said method comprising:
-
selecting, from among a plurality of first codebook vectors of a first codebook, a first codebook vector that is indicated by the first codebook index; generating a rotation matrix that is based on the selected first codebook vector; selecting, from among a plurality of second codebook vectors of a second codebook, a second codebook vector that is indicated by the second codebook index and has a first direction; calculating a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction.
-
-
39. An apparatus for dequantizing a quantized vector that includes a first codebook index and a second codebook index, said apparatus comprising:
-
means for selecting, from among a plurality of first codebook vectors of a first codebook, a first codebook vector that is indicated by the first codebook index; means for generating a rotation matrix that is based on the selected first codebook vector; means for selecting, from among a plurality of second codebook vectors of a second codebook, a second codebook vector that is indicated by the second codebook index and has a first direction; means for calculating a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction.
-
-
40. A non-transitory computer-readable storage medium having tangible features that cause a machine reading the features to:
-
quantize a first input vector that has a first direction by selecting a corresponding one among a plurality of first codebook vectors of a first codebook; generate a rotation matrix that is based on the selected first codebook vector; calculate a product of (A) a vector that has the first direction and (B) the rotation matrix to produce a rotated vector that has a second direction that is different than the first direction; and quantize a second input vector that has the second direction by selecting a corresponding one among a plurality of second codebook vectors of a second codebook.
-
Specification