IMA ADPCM Audio Compressor

IMA ADPCM Audio Compressor


Category: DSP Core

Created: September 17, 2011

Updated: January 27, 2020

Language: Verilog

Other project properties

Development Status: Stable

Additional info: Design done, Specification done

WishBone compliant: No

WishBone version: n/a

License: BSD


The IMA ADPCM audio compression algorithm belongs to the Adaptive Differential Pulse Code Modulation type algorithms. The algorithm is based on a simple adaptive quantization of the difference between the input and a predictor. Each 16-bit input sample is converted to a 4-bit coded information which yields a compression ratio of ¼. We will not go through detailed description of the algorithm in this document. There are many online pages describing the algorithm, just Google “IMA ADPCM”.

The main advantage of the IMA ADPCM compression algorithm is its simplicity. The algorithm is not limited to voice signals and can operate at any input sampling rate thus enabling compression of high quality audio as well.

The implementation in this project does not follow any standard protocol format for the compressed information. The encoder uses a very simple interface to input 16-bit samples and output coded information nibbles (4-bits). A similar interface is used by the decoder to input the coded information nibbles and output 16-bit reconstructed samples.

A bit exact fixed point Scilab implementation of the algorithm is supplied with the core and is used to generate files used during verification. Detailed description of the verification process is given in the Test Bench Description chapter.