Code Comments
Programming Forum and web based access to our favorite programming groups.Can anyone in this group inform about vector quantization. Why it better algorithm to use than any other algorithm. I want a comparative analysis of the algorithm also. Whether It is good to implement the algorithm in C language.
Post Follow-up to this messageshayantan wrote: > Can anyone in this group inform about vector quantization. Why it > better algorithm to use than any other algorithm. I want a comparative > analysis of the algorithm also. Whether It is good to implement the > algorithm in C language. Try poking around www.multimedia.cx for a bit, and read up on vector quantization codecs like Cinepak. If you still have questions, ask here again.
Post Follow-up to this messageHi, > Can anyone in this group inform about vector quantization. Why it > better algorithm to use than any other algorithm. I want a comparative > analysis of the algorithm also. Whether It is good to implement the > algorithm in C language. Vector quantization is not "better than any other algorithm". It is a quantization method that is better than scalar quantization because, unlike scalar quantization, it is able to take correlations within the data source into consideration. Scalar quantization picks one source value at a time, quantizes it by a static algorithm and outputs a symbol describing its quantization buckets. Every other algorithm is by definition vector quantization, though this says little. Classical example: A signal is first DCT transformed, then (scalar) quantized. The full system (DCT + scalar) is a special form of vector quantization, called "transform quantization". Another example: A source emmits pairs of values (x,y) that are quantized by a scalar quantizer using buckets \Delta_i. That is, the real axis is divided into intervals of size \Delta_i, then for each source signal only the bucket number gets transfered in which the signal lies (x \in \Delta_i, y \in \Delta_j) -> Output is (i,j). If you look at this quantization rule, you'd see that you effectively divide the real plane R^2 into rectangles representing the quantization buckets of a quantizer applied to both signals at once. Is this separation of R^2 into rectangles optimal? Depends, but in most cases it is not. The optimal figure in the sense of "maximal volume at minimal diameter" that is able to cover the R^2 is the hexagon. According to this rule one can define a vector quantizer in R^2 that has less distortion at the same output rate. This effect here is called the "space filling loss" of scalar quantizers. It can be shown that even a purely i.i.d source with Gaussian distribution can be quantized to a lower distortion with an R^2 vector quantizer than a scalar one. (Though not much, something around 0.1dB IIRC). Third example: The "trellis quantizer" quantizes signals by finding an optimal path towards quantization buckets such that the overall distortion becomes minimal. Vector quantization is a broad field. As said, everything that is not a scalar quantizer is a vector quantizer, and as such there are many ideas to be tried. Quantization with arbitrary buckets in R^n is very complex and computationally expensive, it is usually not done; one has to restrict oneself to simpler constructions, e.g. transform quantization or trellis quantization, and some other. To get an overview to the field of quantization (and thus vector quantization) I would recommend the following as a starter: "Quantization" by "Robert M. Gray, David L. Neuhoff" appeared in IEEE Transactions on Information Theory, Vol. 44, No. 6, October 1998. So long, Thomas
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.