Methods and apparatuses for variable dimension vector quantization
First Claim
1. A variable dimension vector quantization procedure for mapping an harmonic magnitude vector xk to one of at least one codevectors yi, wherein the harmonic magnitude vector includes at least one actual codevector element and a variable harmonic magnitude vector dimension N(Tk);
- and wherein the at least one codevector yi includes a codevector dimension Nv, the variable dimension vector quantization procedure comprising;
extracting an actual codevector ui from each of the at least one codevectors yi in the codebook, including for each of the at least one codevectors yi;
defining an index relationship, including;
calculating a codevector index INDEX(T,j) according to an interpolation index relationship; and
determining whether the codevector index is an integer;
wherein if the codevector index is an integer, defining the index relationship according to a known index relationship; and
wherein if the codevector index is not an integer, defining the index relationship according to the interpolation index relationship; and
determining the actual codevector ui as a function of the index relationship including determining the at least one actual codevector element, wherein if the index relationship is the known index relationship, the at least one actual codevector element is determined as a function of the known index relationship; and
wherein if the index relationship is the interpolation index relationship, the at least one actual codevector element is determined by an interpolation of a first and a second adjacent codevector elements;
computing a distortion between the harmonic magnitude vector and each actual codevector wherein an actual codevector with which the distortion is minimized is designated as an optimum actual codevector; and
quantizing the harmonic magnitude vector to the codevector from which the optimum actual codevector was extracted.
0 Assignments
0 Petitions
Accused Products
Abstract
Improved variable dimension vector quantization-related (“VDVQ-related”) processes have been developed that provide quality improvements over known coding processes in codebook optimization and the quantization of harmonic magnitudes that can be applied to a broad range of distortion measures, including those that would involve inverting a singular matrix using known centroid computation techniques. The improved VDVQ-related processes improve the way in which actual codevectors are extracted from the codevectors of the codebook by redefining the index relationship and using interpolation to determine the actual codevector elements when the index relationship produces a non-integer value. Additionally, these processes improve the way in which codebooks are optimized using the principles of gradient-descent. These improved VDVQ-related processes can be implemented in various software and hardware implementations.
2 Citations
3 Claims
-
1. A variable dimension vector quantization procedure for mapping an harmonic magnitude vector xk to one of at least one codevectors yi, wherein the harmonic magnitude vector includes at least one actual codevector element and a variable harmonic magnitude vector dimension N(Tk);
- and wherein the at least one codevector yi includes a codevector dimension Nv, the variable dimension vector quantization procedure comprising;
extracting an actual codevector ui from each of the at least one codevectors yi in the codebook, including for each of the at least one codevectors yi;
defining an index relationship, including;
calculating a codevector index INDEX(T,j) according to an interpolation index relationship; and
determining whether the codevector index is an integer;
wherein if the codevector index is an integer, defining the index relationship according to a known index relationship; and
wherein if the codevector index is not an integer, defining the index relationship according to the interpolation index relationship; and
determining the actual codevector ui as a function of the index relationship including determining the at least one actual codevector element, wherein if the index relationship is the known index relationship, the at least one actual codevector element is determined as a function of the known index relationship; and
wherein if the index relationship is the interpolation index relationship, the at least one actual codevector element is determined by an interpolation of a first and a second adjacent codevector elements;
computing a distortion between the harmonic magnitude vector and each actual codevector wherein an actual codevector with which the distortion is minimized is designated as an optimum actual codevector; and
quantizing the harmonic magnitude vector to the codevector from which the optimum actual codevector was extracted.
- and wherein the at least one codevector yi includes a codevector dimension Nv, the variable dimension vector quantization procedure comprising;
-
2. A computer readable storage medium storing computer readable program code for mapping a harmonic magnitude vector xk to one of at least one codevector yi, wherein the harmonic magnitude vector includes a variable harmonic magnitude vector dimension N(Tk) and the at least one codevector yi includes a codevector dimension Nv, the computer readable program code comprising:
-
data encoding a codebook wherein the codebook includes the at least one codevector yi, wherein each of the at least one codevector yi includes at least one codevector element yi,m; and
a computer code implementing a variable dimension vector quantization procedure, wherein the variable dimension vector quantization procedure includes;
extracting an actual codevector ui from each of the at least one codevectors yi in the codebook, including for each of the at least one codevectors yi;
defining an index relationship, including;
calculating a codevector index INDEX(T,j) according to an interpolation index relationship; and
determining whether the codevector index is an integer;
wherein if the codevector index is an integer, defining the index relationship according to a known index relationship; and
wherein if the codevector index is not an integer, defining the index relationship according to the interpolation index relationship; and
determining the actual codevector ui as a function of the index relationship including determining the at least one actual codevector element, wherein if the index relationship is the known index relationship, the at least one actual codevector element is determined as a function of the known index relationship; and
wherein if the index relationship is the interpolation index relationship, the at least one actual codevector element is determined by an interpolation of a first and a second adjacent codevector;
computing a distortion between the harmonic magnitude vector and each actual codevector wherein an actual codevector with which the distortion is minimized is designated as an optimum actual codevector; and
quantizing the harmonic magnitude vector to the codevector from which the optimum actual codevector was extracted.
-
-
3. A variable dimension vector quantization device for mapping an harmonic magnitude vector xk to one of at least one codevectors yi, wherein the harmonic magnitude vector includes a variable harmonic magnitude vector dimension N(Tk) and the at least one codevectors yi includes a codevector dimension Nv, comprising:
-
an interface unit for receiving the harmonic magnitude vector xk;
a quantization unit coupled to the interface unit, wherein the quantization unit includes a memory and a processor coupled to the memory;
wherein the memory stores the at least one codevector yi and a variable dimension vector quantization procedure; and
wherein the processor, using the variable dimension vector quantization procedure and the at least one codevector yi communicated from the memory, extracts an actual codevector ui from each of the at least one codevectors yi, computes a distortion between the harmonic magnitude vector and designates the actual codevector with which the distortion is minimized as an optimum actual codevector, quantizes the harmonic magnitude vector to the codevector from which the optimum actual codevector was extracted to create a quantized harmonic magnitude vector, and communicates the quantized harmonic magnitude vector to the memory and/or the interface.
-
Specification