Time-memory tradeoffs in vector quantizer codebook searching based on decision trees
The paper presents several algorithms for designing fixed- and variable-depth decision trees for searching vector quantizer (VQ) codebooks. Two applications of such are explored. First, given a source vector, a tree can be used to find the closest codevector in the VQ codebook with many fewer arithmetic operations than the usual "full search." This decrease in complexity comes at the expense of an increase in auxiliary table storage. Second, the tree can be used as the first stage of fine-coarse vector quantization, which yields further savings in complexity at the cost of somewhat more storage and a small increase in distortion. The design methods involve incrementally growing trees with a variety of node splitting criteria and, subsequently, optimally pruning trees on the basis of performance functionals such as distortion, storage, and computational complexity. The pruning is done with the BFOS algorithm, which optimally trades one performance functional with another, and with an extension of the BFOS algorithm wherein one performance measure is traded with a combination of two others. The results of applying these methods to i.i.d. Gaussian, Gauss-Markov, and sampled speech sources at encoding rates of one and two bits per source sample demonstrate the tradeoffs achievable amongst time (complexity), memory (storage), and distortion. >