Method and device for vector quantization
First Claim
1. A method for vector quantization comprising:
- performing, by a hardware processor, a quantization process on a vector to be quantized by use of N basic codebook vectors and adjustment vectors of the N basic codebook vectors;
generating a basic codebook vector and an adjustment vector used for quantizing the vectors to be quantized;
combining the basic codebook vector and the adjustment vector to different basic sub-vectors as a joint codebook vector; and
selecting a joint codebook vector for quantization among possible joint codebook vectors according to the deviation between the joint codebook vector and the vector to be quantized;
wherein;
N is a positive integer larger than or equal to 1;
each basic codebook vector and each adjustment vector have same dimensions; and
selecting the joint codebook vector for quantization among possible joint codebook vectors according to the deviation between the joint codebook vector and the vector to be quantized comprises;
calculating a residual vector between the vector to be quantized and the current basic codebook vector obtained from the basic codebook unit;
wherein the residual vector has one or more residual sub-vectors, and the way of dividing into residual sub-vectors is the same as the way of dividing into basic sub-vectors;
for a basic sub-vector corresponding to an adjustment vector collection, selecting a best adjustment vector of the current basic sub-vector according to the deviation between the adjustment vector in the adjustment vector collection provided by the adjustment vector unit and the corresponding residual sub-vector;
accumulating a deviation of best adjustment vectors, and the deviation between the basic sub-vector not corresponding to the adjustment vector collection and the vector to be quantized, and using such a deviation as the deviation of the best joint codebook vector corresponding to the current basic codebook vector; and
comparing the deviation of the best joint codebook vector corresponding to each basic codebook vector, and selecting a joint codebook vector for quantization.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for quantizing vector. The method includes: performing a quantization process on a vector to be quantized by use of N basic codebook vectors and the adjustment vectors of each of the basic codebook vectors, generating a basic codebook vector and an adjustment vector used for quantizing the vectors to be quantized, N being a positive integer larger than or equal to 1. According to the present invention, based on the method a device for quantizing vector is disclosed. According to embodiments of the present invention, the quantization of an input vector is done by introducing the modification vectors for the base codebook vectors, therefore the memory amount of the base codebook vectors is reduced effectively, and the calculation amount is merely the calculation amount required for going through N codebooks. Therefore, the complexity of the vector quantization could be decreased effectively.
-
Citations
30 Claims
-
1. A method for vector quantization comprising:
-
performing, by a hardware processor, a quantization process on a vector to be quantized by use of N basic codebook vectors and adjustment vectors of the N basic codebook vectors; generating a basic codebook vector and an adjustment vector used for quantizing the vectors to be quantized; combining the basic codebook vector and the adjustment vector to different basic sub-vectors as a joint codebook vector; and selecting a joint codebook vector for quantization among possible joint codebook vectors according to the deviation between the joint codebook vector and the vector to be quantized; wherein; N is a positive integer larger than or equal to 1; each basic codebook vector and each adjustment vector have same dimensions; and selecting the joint codebook vector for quantization among possible joint codebook vectors according to the deviation between the joint codebook vector and the vector to be quantized comprises; calculating a residual vector between the vector to be quantized and the current basic codebook vector obtained from the basic codebook unit;
wherein the residual vector has one or more residual sub-vectors, and the way of dividing into residual sub-vectors is the same as the way of dividing into basic sub-vectors;for a basic sub-vector corresponding to an adjustment vector collection, selecting a best adjustment vector of the current basic sub-vector according to the deviation between the adjustment vector in the adjustment vector collection provided by the adjustment vector unit and the corresponding residual sub-vector; accumulating a deviation of best adjustment vectors, and the deviation between the basic sub-vector not corresponding to the adjustment vector collection and the vector to be quantized, and using such a deviation as the deviation of the best joint codebook vector corresponding to the current basic codebook vector; and comparing the deviation of the best joint codebook vector corresponding to each basic codebook vector, and selecting a joint codebook vector for quantization. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A device for quantizing vector comprising:
-
a codebook providing unit configured to transfer N codebook vectors corresponding to a vector to be quantized to a quantizing unit, and N is a positive integer larger than or equal to 1; an adjustment vector providing unit configured to transfer adjustment vectors of the N codebook vectors to the quantizing unit; and the quantizing unit configured to receive the adjustment vectors of the N codebook vectors from the adjustment vector providing unit, and from the codebook providing unit, perform a quantization process on a vector to be quantized by use of N codebook vectors and the adjustment vectors of each codebook vectors, and obtain codebook vectors and adjustment vectors for quantizing the vector to be quantized; a residual vector calculating unit that calculates the residual vectors between the codebook vectors among the vector to be quantized and the N codebook vectors, and transferring the residual vectors to the quantizing unit; a quantizing sub-unit configured to receive the adjustment vector of the N codebook vectors from the adjustment vector providing unit, and the residual vector from residual vector calculating unit, calculate the absolute residual between a component on each dimension of the each residual vector and each adjustment vector of the component on the same dimension of the corresponding codebook, select a minimum absolute residual corresponding to the component on each dimension of the residual vector, and transfer the calculation result of the minimum absolute residual corresponding to the component on each dimension of the residual vector to the calculating sub-unit; a calculating sub-unit configured to receive the calculation result of the minimum absolute residual corresponding to the component on each dimension of each residual vector from the quantizing sub-unit, calculate a square value of the minimum absolute residual corresponding to the component on each dimension of the residual vector, sum the square values of the minimum absolute residues corresponding to the components on each dimension, calculate N distortions of N residual vectors using the sum as distortion between the residual vector and the adjustment vector, and transfer N distortions to the selecting sub-unit; and a selecting sub-unit configured to receive N distortions from the calculating sub-unit, select a minimum distortion, and the codebook vectors and the adjustment vectors corresponding to the minimum distortion, and output the codebook vectors and the adjustment vectors corresponding to the minimum distortion, wherein each basic codebook vector and each adjustment vector have same dimensions. - View Dependent Claims (17, 18)
-
-
19. A method for vector quantization, comprising:
-
obtaining a vector to be quantized; obtaining a basic codebook vector, wherein the basic codebook vector includes one or more basic sub-vectors, in the several basic sub-vectors;
at least one K-dimension (K≧
2) basic sub-vector corresponds to an adjustment vector collection which includes N adjustment vectors corresponding to the K-dimension basic sub-vectors;
at least one adjustment vector collection meets the requirement that N is less than the quantity of all possible combinations of different values of each dimension of any dimension of all adjustment vectors in the collection;obtaining an adjustment vector corresponding to the basic sub-vector; wherein the combination of the basic codebook vector and the adjustment vector correspond to different basic sub-vectors as a joint codebook vector, and selecting a joint codebook vector for quantization among possible joint codebook vectors according to the deviation between the joint codebook vector and the vector to be quantized; and obtaining an index of the basic codebook vector corresponding to the selected joint codebook vector and an index of the adjustment vector, wherein the K-dimension basic codebook vector and the corresponding adjustment vector have same dimensions; wherein selecting a joint codebook vector for quantization among possible joint codebook vectors according to the deviation between the joint codebook vector and the vector to be quantized comprises; calculating a residual vector between the vector to be quantized and the current basic codebook vector obtained from the basic codebook unit;
wherein the residual vector has one or more residual sub-vectors, and the way of dividing into residual sub-vectors is the same as the way of dividing into basic sub-vectors;for a basic sub-vector corresponding to an adjustment vector collection, selecting a best adjustment vector of the current basic sub-vector according to the deviation between the adjustment vector in the adjustment vector collection provided by the adjustment vector unit and the corresponding residual sub-vector; accumulating a deviation of best adjustment vectors, and the deviation between the basic sub-vector not corresponding to the adjustment vector collection and the vector to be quantized, and using such a deviation as the deviation of the best joint codebook vector corresponding to the current basic codebook vector; and comparing the deviation of the best joint codebook vector corresponding to each basic codebook vector, and selecting a joint codebook vector for quantization. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A device for quantizing vector, comprising:
-
a vector input unit, configured to obtain the vector to be quantized; a basic codebook unit, configured to provide a basic codebook vector, wherein the basic codebook vector includes one or more basic sub-vectors, in the several basic sub-vectors;
at least one K-dimension (where K≧
2) basic sub-vector corresponds to an adjustment vector collection which includes N adjustment vectors corresponding to the K-dimension basic sub-vectors;
at least one adjustment vector collection meets the requirement that N is less than a quantity of all possible combinations of different values of each dimension of any dimension of all adjustment vectors in the collection;an adjustment vector unit, configured to provide an adjustment vector corresponding to the one or more basic sub-vectors; and a quantizing unit, configured to obtain the basic codebook vector and the adjustment vector from the basic codebook unit and the adjustment vector unit, the combination of the basic codebook vector and one or more adjustment vectors corresponding to different basic sub-sectors as a joint codebook vector, and select a joint codebook vector for quantization among the possible joint codebook vectors according to a deviation between the joint codebook vector and the vector obtained by the vector input unit, wherein the basic codebook vector and the corresponding adjustment vector have same dimensions; wherein the quantizing unit comprises; a residual calculating unit, configured to calculate the residual vector between the vector to be quantized and the basic codebook vector obtained from the basic codebook unit;
wherein the residual vector has one or more residual sub-vectors, and the way of dividing into residual sub-vectors is the same as the way of dividing into basic sub-vectors;a residual quantizing unit, for a basic sub-vector corresponding to an adjustment vector collection, configured to select a best adjustment vector of the current basic sub-vector according to the deviation between the adjustment vector in the adjustment vector collection provided by the adjustment vector unit and the corresponding residual sub-vector; and a deviation accumulating unit, configured to accumulate a deviation of the best adjustment vectors, and the deviation between the basic sub-vector not corresponding to the adjustment vector collection and the vector to be quantized, and use such a deviation as the deviation of a joint codebook vector corresponding to the basic codebook vector; and a quantization selecting unit, configured to compare the deviation of the joint codebook vector corresponding to each basic codebook vector, and select a joint codebook vector for quantization. - View Dependent Claims (27, 28, 29, 30)
-
Specification