Companding Functions

The functions described in this section perform an operation of data compression by using a logarithmic encoder-decoder, referred to as companding. Companding allows to maintain a constant percentage error by logarithmically spacing the quantization levels [Rab78].

The list of the Intel IPP companding functions is given in the table below.

Companding Functions 
Function Base Name Operation
MuLawToLin Decodes samples from 8-bit μ-law encoded format to linear samples
LinToMuLaw Encodes the linear samples using 8-bit μ-law format and stores them in a vector
ALawToLin Decodes the 8-bit A-law encoded samples to linear samples.
LinToALaw Encodes the linear samples using 8-bit A-law format and stores them in an array
MuLawToALaw Converts samples from 8-bit μ-law encoded format to 8-bit A-law encoded format
ALawToMuLaw Converts samples from 8-bit A-law encoded format to 8-bit μ-law encoded format.

The Intel IPP companding functions perform the following conversion operations of signal samples:

Samples encoded in μ-law or A-law format are non-uniformly quantized. The quantization functions used by these formats are designed to reduce the dependency of signal-to-noise ratio on the magnitude of the encoded signal. This is achieved by quantization (companding) at a finer resolution near zero, and at a coarse resolution at larger positive or negative levels. The output values are normalized to be in the range [-1; +1].

These functions perform the μ-law and A-law companding in compliance with the CCITT G.711 specification. For the conversion rules and more details, refer to [CCITT].

Code example  shows how to use companding functions.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.