- Vector quantization
Vector quantization is a classical
quantization technique fromsignal processing which allows the modeling of probability density functions by the distribution of prototype vectors. It was originally used fordata compression . It works by dividing a large set of points (vectors) into groups having approximately the same number of points closest to them. Each group is represented by itscentroid point, as ink-means and some otherclustering algorithms.The density matching property of vector quantization is powerful, especially for identifying the density of large and high-dimensioned data. Since data points are represented by the index of their closest centroid, commonly occurring data have low error, and rare data high error. This is why VQ is suitable for
lossy data compression . It can also be used for lossy data correction anddensity estimation .Vector quantization is based on the "competitive learning" paradigm, so it is closely related to the
self-organizing map model.Training
A simple training algorithm for vector quantization is:
# Pick a sample point at random
# Move the nearest quantization vector centroid towards this sample point, by a small fraction of the distance
# RepeatA more sophisticated algorithm reduces the bias in the density matching estimation, and ensures that all points are used, by including an extra sensitivity parameter:
# Increase each centroid's sensitivity by a small amount
# Pick a sample point at random
# Find the quantization vector centroid with the smallest
## Move the chosen centroid toward the sample point by a small fraction of the distance
## Set the chosen centroid's sensitivity to zero
# RepeatIt is desirable to use a cooling schedule to produce convergence: see
Simulated annealing .The algorithm can be iteratively updated with 'live' data, rather than by picking random points from a data set, but this will introduce some bias if the data is temporally correlated over many samples.
Applications
Vector quantization is used for lossy data compression, lossy data correction and density estimation.
Lossy data correction, or prediction, is used to recover data missing from some dimensions. It is done by finding the nearest group with the data dimensions available, then predicting the result based on the values for the missing dimensions, assuming that they will have the same value as the group's centroid.
For
density estimation , the area/volume that is closer to a particular centroid than to any other is inversely proportional to the density (due to the density matching property of the algorithm).Use in data compression
Vector quantization, also called "block quantization" or "pattern matching quantization" is often used in
lossy data compression . It works by encoding values from a multidimensionalvector space into a finite set of values from a discretesubspace of lower dimension. A lower-space vector requires less storage space, so the data is compressed. Thanks to the density matching property of vector quantization, the compressed data have errors that are inversely proportional to their density.The transformation is usually done by
projection or by using acodebook . In some cases, a codebook can be also used toentropy code the discrete value in the same step, by generating aprefix code d variable-length encoded value as its output.The set of discrete amplitude levels is quantized jointly rather than each sample being quantized separately. Consider a "K"-dimensional vector of amplitude levels. It is compressed by choosing the nearest matching vector from a set of "N"-dimensional vectors .
All possible combinations of the "N"-dimensional vector form the codebook.
Block Diagram:A simple vector quantizer is shown below
Only the index of the codeword in the codebook is sent instead of the quantized values. This conserves space and achieves more compression.
Twin vector quantization (VQF) is part of theMPEG-4 standard dealing with time domain weighted interleaved vector quantization.Video codecs based on vector quantization
*
Cinepak and old versions of its spiritual successors:
*Sorenson codec
*Indeo
* Westwood's VQA format, used in many gamesAll of which are superseded by the MPEG family.Audio codecs based on vector quantization
*
CELP
*G.729
*TwinVQ
*Ogg Vorbis [cite web
title = Vorbis I Specification
publisher = Xiph.org
date = 2007-03-09
url = http://xiph.org/vorbis/doc/Vorbis_I_spec.html
accessdate = 2007-03-09 ]
*AMR-WB+
* DTSSee also
*
speech coding
*Ogg Vorbis
*Voronoi diagram
*rate-distortion function
*data clustering
* Learning Vector Quantization
*Centroidal Voronoi tessellation "Part of this article was originally based on material from the
Free On-line Dictionary of Computing and is used with under the GFDL."References
External links
* http://www.data-compression.com/vq.html
* [http://qccpack.sourceforge.net QccPack — Quantization, Compression, and Coding Library (open source)]
* http://www.geocities.com/mohamedqasem/vectorquantization/vq.html
Wikimedia Foundation. 2010.