Differential pulse-code modulation
Differential pulse-code modulation (DPCM) is a signal encoder that uses the baseline of pulse-code modulation (PCM) but adds some functionalities based on the prediction of the samples of the signal. The input can be an analog signal or a digital signal.
- Option 1: take the values of two consecutive samples; if they are analog samples, quantize them; calculate the difference between the first one and the next; the output is the difference, and it can be further entropy coded.
- Option 2: instead of taking a difference relative to a previous input sample, take the difference relative to the output of a local model of the decoder process; in this option, the difference can be quantized, which allows a good way to incorporate a controlled loss in the encoding.
Applying one of these two processes, short-term redundancy (positive correlation of nearby values) of the signal is eliminated; compression ratios on the order of 2 to 4 can be achieved if differences are subsequently entropy coded, because the entropy of the difference signal is much smaller than that of the original discrete signal treated as independent samples.
Option 1: difference between two consecutive quantized samplesEdit
The encoder performs the function of differentiation; a quantizer precedes the differencing of adjacent quantized samples; the decoder is an accumulator, which if correctly initialized exactly recovers the quantized signal.
Option 2: analysis by synthesisEdit
The incorporation of the decoder inside the encoder allows quantization of the differences, including nonlinear quantization, in the encoder, as long as an approximate inverse quantizer is used appropriately in the receiver. When the quantizer is uniform, the decoder regenerates the differences implicitly, as in this simple diagram that Cutler showed:
- U.S. patent 2605361, C. Chapin Cutler, "Differential Quantization of Communication Signals", filed June 29, 1950, issued July 29, 1952