itpp::Vector_Quantizer Class Reference
[Source Coding Routines]

Class for vector quantization. More...

#include <vq.h>

List of all members.

Public Member Functions

 Vector_Quantizer ()
 Default constructor.
 Vector_Quantizer (const char *Name)
 Create a VQ from a VQ file.
int encode (const vec &x)
 Encode the input vector.
ivec encode (const vec &x, int num)
 Encode the input vector, and return the num best indices.
vec decode (int Index) const
 Decode the index.
Array< vec > decode (const ivec &Index) const
 Decode the indices.
vec Q (const vec &x)
 Quantize the input vector.
vec operator() (const vec &x)
 Quantize the input vector.
void set_codebook (const mat &CB)
 Initialize the codebook by a matrix.
mat get_codebook () const
 Returns the codebook.
void set_codevector (int Index, const vec &indata)
 Set a codevector in the codebook.
vec get_codevector (int Index) const
 Returns the codevector at the given index.
void modify_codevector (int no, double mul, const vec &add)
 Rescale and translate a codevector.
int size () const
 Returns the size (number of codevectors) of the VQ.
int dim () const
 Returns the dimension of the VQ.
int nobits () const
 Returns the number of bits of the VQ [log2(size)/dim].
void load (const char *Name)
 Load the codebook from a file.
void save (const char *Name) const
 Save the codebook to a file.
double latest_distortion ()
 Returns the distortion at the latest time a vector was encoded.

Protected Attributes

vec CodeBook
 The vector containing the code book.
int Size
 The size of the code book.
int Dim
 The dimension of the code book.
double LatestDist
 The distortion at the latest time a vector was encoded.


Detailed Description

Class for vector quantization.

The following code illustrates how the VQ can be initialized from a file and used to quantize a random vector.

  Vector_Quantizer Quantizer;
  vec     x,y;
  int     i;

  Quantizer.load("randomvq.vq");
  x=randn(Quantizer.dim());
  i=Quantizer.encode(x);
  y=Quantizer.decode(i);

Member Function Documentation

void itpp::Vector_Quantizer::load ( const char *  Name  ) 

Load the codebook from a file.

Parameters:
Name The name of the VQ file
The file format is a textfile where each row is a vector from the codebook.

void itpp::Vector_Quantizer::save ( const char *  Name  )  const

Save the codebook to a file.

Parameters:
Name The name of the VQ file
The file format is a textfile where each row is a vector from the codebook.


The documentation for this class was generated from the following file:

Generated on Tue Jun 2 10:02:19 2009 for mixpp by  doxygen 1.5.8