Vector Quantization CAP5015 Fall 2005.

Slides:



Advertisements
Similar presentations
Nearest Neighbor Search
Advertisements

Unsupervised Learning Clustering K-Means. Recall: Key Components of Intelligent Agents Representation Language: Graph, Bayes Nets, Linear functions Inference.
2806 Neural Computation Self-Organizing Maps Lecture Ari Visa.
Information Theory EE322 Al-Sanie.
Multidimensional Indexing
Searching on Multi-Dimensional Data
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
K-means method for Signal Compression: Vector Quantization
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Self Organization: Competitive Learning
Introduction to Bioinformatics
Classification and Decision Boundaries
Nearest Neighbor. Predicting Bankruptcy Nearest Neighbor Remember all your data When someone asks a question –Find the nearest old data point –Return.
CSE 589 Applied Algorithms Spring 1999 Image Compression Vector Quantization Nearest Neighbor Search.
CS292 Computational Vision and Language Pattern Recognition and Classification.
Spatial and Temporal Data Mining
Vector Quantization. 2 outline Introduction Two measurement : quality of image and bit rate Advantages of Vector Quantization over Scalar Quantization.
Losslessy Compression of Multimedia Data Hao Jiang Computer Science Department Sept. 25, 2007.
Lecture 4 Unsupervised Learning Clustering & Dimensionality Reduction
KNN, LVQ, SOM. Instance Based Learning K-Nearest Neighbor Algorithm (LVQ) Learning Vector Quantization (SOM) Self Organizing Maps.
What is Cluster Analysis?
5. 1 JPEG “ JPEG ” is Joint Photographic Experts Group. compresses pictures which don't have sharp changes e.g. landscape pictures. May lose some of the.
CS559-Computer Graphics Copyright Stephen Chenney Image File Formats How big is the image? –All files in some way store width and height How is the image.
Methods in Medical Image Analysis Statistics of Pattern Recognition: Classification and Clustering Some content provided by Milos Hauskrecht, University.
Voronoi diagrams and applications Prof. Ramin Zabih
CS 395 T Real-Time Graphics Architectures, Algorithms, and Programming Systems Spring’03 Vector Quantization for Texture Compression Qiu Wu Dept. of ECE.
Theory and Applications of GF(2 p ) Cellular Automata P. Pal Chaudhuri Department of CST Bengal Engineering College (DU) Shibpur, Howrah India (LOGIC ON.
CSIE Dept., National Taiwan Univ., Taiwan
Stephen Marsland Ch. 9 Unsupervised Learning Stephen Marsland, Machine Learning: An Algorithmic Perspective. CRC 2009 based on slides from Stephen.
CE Digital Signal Processing Fall 1992 Waveform Coding Hossein Sameti Department of Computer Engineering Sharif University of Technology.
Lossless Compression CIS 465 Multimedia. Compression Compression: the process of coding that will effectively reduce the total number of bits needed to.
Pattern Recognition April 19, 2007 Suggested Reading: Horn Chapter 14.
1 CSE 552/652 Hidden Markov Models for Speech Recognition Spring, 2006 Oregon Health & Science University OGI School of Science & Engineering John-Paul.
Date: Advisor: Jian-Jung Ding Reporter: Hsin-Hui Chen.
Chapter 9 DTW and VQ Algorithm  9.1 Basic idea of DTW  9.2 DTW algorithm  9.3 Basic idea of VQ  9.4 LBG algorithm  9.5 Improvement of VQ.
MACHINE LEARNING 8. Clustering. Motivation Based on E ALPAYDIN 2004 Introduction to Machine Learning © The MIT Press (V1.1) 2  Classification problem:
Planar-Oriented Ripple Based Greedy Search Algorithm for Vector Quantization Presenter: Tzu-Meng Huang Adviser:Dr. Yeou-Jiunn Chen Date:2011/11/ /11/161.
Project 11: Determining the Intrinsic Dimensionality of a Distribution Okke Formsma, Nicolas Roussis and Per Løwenborg.
Chapter 8 Image Compression. Portable bit map Family (BMP, Lena 66,616B) Graphics interchange Format (GIF, Lena 70,458B) Tag image file format (TIFF/TIF,
1 CS 552/652 Speech Recognition with Hidden Markov Models Winter 2011 Oregon Health & Science University Center for Spoken Language Understanding John-Paul.
A Fast LBG Codebook Training Algorithm for Vector Quantization Presented by 蔡進義.
Chapter 4: Feature representation and compression
Vector Quantization Vector quantization is used in many applications such as image and voice compression, voice recognition (in general statistical pattern.
Rate Distortion Theory. Introduction The description of an arbitrary real number requires an infinite number of bits, so a finite representation of a.
Fundamentals of Multimedia Chapter 6 Basics of Digital Audio Ze-Nian Li and Mark S. Drew 건국대학교 인터넷미디어공학부 임 창 훈.
Eick: kNN kNN: A Non-parametric Classification and Prediction Technique Goals of this set of transparencies: 1.Introduce kNN---a popular non-parameric.
Image Compression Using Address-Vector Quantization NASSER M. NASRABADI, and YUSHU FENG Presented by 蔡進義 P IEEE TRANSACTIONS ON COMMUNICATIONS,
S.R.Subramanya1 Outline of Vector Quantization of Images.
Ch. 4: Feature representation

The Johns Hopkins University
Chapter 5. Greedy Algorithms
Image Compression using Vector Quantization
Chapter 3 向量量化編碼法.
Scalar Quantization – Mathematical Model
Ch. 4: Feature representation
K Nearest Neighbor Classification
Nearest-Neighbor Classifiers
A Data Hiding Scheme Based Upon Block Truncation Coding
PCM & DPCM & DM.
Clustering 77B Recommender Systems
第七章 資訊隱藏 張真誠 國立中正大學資訊工程研究所.
COSC 4335: Other Classification Techniques
Foundation of Video Coding Part II: Scalar and Vector Quantization
第 四 章 VQ 加速運算與編碼表壓縮 4-.
Chair Professor Chin-Chen Chang Feng Chia University
A Block Based MAP Segmentation for Image Compression
Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John.
Error Correction Coding
Presentation transcript:

Vector Quantization CAP5015 Fall 2005

Voronoi Region Blocks: A sequence of audio. A block of image pixels. Formally: vector example: (0.2, 0.3, 0.5, 0.1) A vector quantizer maps k-dimensional vectors in the vector space Rk into a finite set of vectors Y = {yi: i = 1, 2, ..., N}.  Each vector yi is called a code vector or a codeword. and the set of all the codewords is called a codebook.  Associated with each codeword, yi, is a nearest neighbor region called Voronoi region, and it is defined by: The set of Voronoi regions partition the entire space Rk .

Two Dimensional Voronoi Diagram Codewords in 2-dimensional space.  Input vectors are marked with an x, codewords are marked with red circles, and the Voronoi regions are separated with boundary lines.

The Schematic of a Vector Quantizer

Compression Formula Amount of compression: Codebook size is K, input vector of dimension L In order to inform the decoder of which code vector is selected, we need to use bits. E.g. need 8 bits to represent 256 code vectors. Rate: each code vector contains the reconstruction value of L source output samples, the number of bits per sample would be: . Sample: a scalar value in vector. K: level of vector quantizer.

VQ vs SQ Advantage of VQ over SQ: For a given rate, VQ results in a lower distortion than SQ. If the source output is correlate, vectors of source output values will tend to fall in clusters. E.g. Sayood’s book Exp 9.3.1 Even if no dependency: greater flexibility. E.g. Sayood’s book Exp 9.3.2

Algorithms Lloyd algorithm: pdf-optimized quantizer, assume that distribution is known LBG: (VQ) Continuous (require integral ooperation) Modified: with training set.

LBG Algorithm Determine the number of codewords, N,  or the size of the codebook. Select N codewords at random, and let that be the initial codebook.  The initial codewords can be randomly chosen from the set of input vectors. Using the Euclidean distance measure clusterize the vectors around each codeword.  This is done by taking each input vector and finding the Euclidean distance between it and each codeword.  The input vector belongs to the cluster of the codeword that yields the minimum distance.

LBG Algorithm (contd.) 4. Compute the new set of codewords.  This is done by obtaining the average of each cluster.  Add the component of each vector and divide by the number of vectors in the cluster. where i is the component of each vector (x, y, z, ... directions), m is the number of vectors in the cluster. 5. Repeat steps 2 and 3 until the either the codewords don't change or the change in the codewords is small.

Other Algorithms Problems: LBG is a greedy algorithm, may fall into Local minimum. Four methods selecting initial vectors: Random Splitting ( with perturbation vector) Animation Train with different subset PNN (pairwise nearest neighbor) Empty cell problem: No input correspond to a output vector Solution: give to other clusters, e.g. most populate cluster.

LBG for image compression Taking blocks of images as vector L=NM. If K vectors in code book: need to use bits. Rate: The higher the value K, the better quality, but lower compression ratio. Overhead to transmit code book: Train with a set of images.

Rate_Dimension Product The size of the codebook increase exponentially with the rate. Suppose we want to encode a source using R bits/sample. If we use an L-d quantizer, we would group L samples together into vectors. This means that we would have RL bits available to represent wach vector. With RL bits, we can represent 2^(RL) output vectors.

Tree structured VQ Set vectors in different quadrant. Only signs of vectors need to be compared. Thus reduce the number of comparisons by 2^L for L-d vector problem. It works well for symmetric distribution. But not when we lose more and more symmetry.

Tree Structured Vector Quantizer Extend to non-symmetric case: Divide the set of output points into two groups, g0 and g1, and assign to each group a test vector s.t. output points in each group are closer to test vector assigned to that group than to the test vector assigned to the other group. Label the two test vectors 0 and 1. When we got an input vector, compare it against the test vectors. Depending on the outcome, the input is compared to the output points associated with the test vector closest to the input. After these two comparisons, we can discard half of the output points. Comparison with the test vectors takes the place of looking at the signs of the components to decide which set of output points to discard from contention. If the total number of output points is K, we make( K/2)+2 comparisons instead of K comparisons. Can continue to expand the number of groups. Finally: 2logK comparisons instead of K.( 2 comparisons with the test vectors and a total of logK stages

Tree Structured VQ (continued) Since the test vectors are assigned to groups: 0, 1, 00,01,10,11,000,001,010,011,100,101,110,111 etc. which are the nodes of a binary tree, the VQ has the name “Tree Structured VQ”. Penalty: Possible increase in distortion: it is possible that at some stage the input is closer to one test vector while at the same time being closest to an output belonging to the rejected group. Increase storage: output points from VQ codebook plus the test vectors.

Additional Links Slides are adapted from: http://www.data-compression.com and http://www.geocities.com/mohamedqasem/vectorquantization/vq.html