This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: "Differential pulse-code modulation" – news · newspapers · books · scholar · JSTOR (September 2020)

**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.

If the input is a continuous-time analog signal, it needs to be sampled first so that a discrete-time signal is the input to the DPCM encoder.

- 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.
- 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.

DPCM was invented by C. Chapin Cutler at Bell Labs in 1950; his patent includes both methods.^{[1]}

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.

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: