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.
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.
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.