Adaptive Differential Pulse Code Modulation (ADPCM) codecs are waveform codecs which instead of quantizing the speech signal directly, like PCM codecs, quantize the difference between the speech signal and a prediction that has been made of the speech signal. If the prediction is accurate then the difference between the real and predicted speech samples will have a lower variance than the real speech samples, and will be accurately quantized with fewer bits than would be needed to quantize the original speech samples. At the decoder the quantized difference signal is added to the predicted signal to give the reconstructed speech signal. The performance of the codec is aided by using adaptive prediction and quantization, so that the predictor and difference quantizer adapt to the changing characteristices of the speech being coded.
In the mid 1980s the CCITT standardised a 32 kbits/s ADPCM, known as G721, which gave reconstructed speech almost as good as the 64 kbits/s PCM codecs. Later in recommendations G726 and G727 codecs operating at 40,32,24 and 16 kbits/s were standardised.
Code for various ADPCM codecs, as well as the G711 A-law and u-law PCM, was released into the public domain by Sun Microsystems, Inc. Its available for FTP here . Also various patches for this code, including an extension to allow it to operate at 16 kbits/s, are available from the same FTP site. Its probably a good idea to get them as well. To do that click on these links patch1, patch2, patch3, patch4.