DPCM

Differential Pulse Code Modulation.

Darshan N
Updated: 19 March 2026
11 min read

Differential Pulse Code Modulation (DPCM) is a source coding technique that exploits the correlation between successive samples of an analog signal to reduce the number of bits needed for transmission. Instead of encoding the absolute sample value as in standard PCM, DPCM encodes only the difference between the current sample and a predicted value. Since consecutive samples of most real signals are highly correlated, these differences are small and require fewer bits to encode accurately.

DPCM: Encoding the Difference Instead of Absolute ValueSample Index (n)Amplitudex(n)x-hat(n) predictede(n)e(n)e(n)PCM Bits (8 bits):01011110 01001111 00111100 ...DPCM Diff (4 bits):0000 1101 1010 0111 ...
Figure 1: DPCM encodes the prediction error e(n) = x(n) - x-hat(n), which has much smaller amplitude and needs fewer bits than x(n).

Core Concept of DPCM

In standard PCM, each sample is independently quantized and encoded as a fixed number of bits regardless of how much the signal actually changed from the previous sample. For highly correlated signals like voice or music, adjacent samples are very similar, so transmitting the full value each time is wasteful. **DPCM** exploits this by computing the difference between the actual sample x(n) and a predicted value x-hat(n), and then quantizing and encoding only this difference, called the prediction error or residual e(n).

The predictor estimates the current sample based on previous reconstructed samples. The simplest predictor uses only the immediately preceding sample: x-hat(n) = x(n-1). More complex predictors use a weighted sum of several past samples to improve accuracy. Since prediction errors are statistically much smaller than the actual sample values, they can be encoded with fewer bits, achieving bit rate compression without significant quality loss.

The **quantization step** in DPCM is applied to the prediction error, not to the raw sample. This means the quantizer range can be much smaller, reducing quantization noise for the same number of bits. Alternatively, the same number of bits achieves much better quality compared to PCM. This is the fundamental advantage of DPCM over direct PCM encoding.

Mathematical Expression

The DPCM system is described by the following equations. The prediction error is e(n) = x(n) minus x-hat(n). The quantized error is eq(n) = Q[e(n)], where Q denotes the quantization operation. The transmitted signal is eq(n). At the receiver, the reconstructed sample is computed as x-tilde(n) = x-hat(n) plus eq(n). The predictor update uses reconstructed values: x-hat(n+1) = a times x-tilde(n) for a first-order predictor, where a is the predictor coefficient.

For an N-bit DPCM quantizer with prediction error range bounded by plus or minus E-max, the step size is delta = 2 E-max divided by 2 to the power N. The SQNR in DPCM is higher than in PCM for the same number of bits N because the prediction error e(n) has a smaller variance than x(n) itself, effectively increasing the relative resolution of the quantizer.

Practical Understanding

DPCM is widely used in image and video compression as well as speech coding. In image compression, each pixel value is predicted from neighboring pixels, and only the prediction errors are encoded. The H.261 and MPEG video standards use DPCM as a core component of their intra-frame coding. In speech, DPCM systems operating at 32 kbps provide quality comparable to PCM at 64 kbps, achieving a 2:1 compression ratio.

Delta Modulation can be viewed as a special case of DPCM where the quantizer has only 1 bit (two levels: plus delta and minus delta) and the predictor is first-order with coefficient 1. This connection is important for understanding the family of predictive coding systems. ADPCM (Adaptive DPCM) further improves performance by adapting the quantizer step size and predictor coefficients to match the local signal statistics.

Example
Given:
Samples: x(1)=100, x(2)=108, x(3)=113, x(4)=110 (amplitude units)
First-order predictor: x-hat(n) = x-tilde(n-1), initial x-tilde(0) = 100
4-bit quantizer with step size Δ = 2 units

Why this formula applies:
DPCM encodes prediction errors which are smaller than raw samples.
e(n) = x(n) - x-hat(n)
eq(n) = round(e(n) / Δ) × Δ
x-tilde(n) = x-hat(n) + eq(n)

Substitution and Calculation:
n=1: x-hat(1)=100, e(1)=100-100=0, eq(1)=0, x-tilde(1)=100
n=2: x-hat(2)=100, e(2)=108-100=8, eq(2)=round(8/2)×2=8, x-tilde(2)=108
n=3: x-hat(3)=108, e(3)=113-108=5, eq(3)=round(5/2)×2=6, x-tilde(3)=114
n=4: x-hat(4)=114, e(4)=110-114=-4, eq(4)=round(-4/2)×2=-4, x-tilde(4)=110

Transmitted differences: 0, 8, 6, -4 (all small values needing far fewer bits than 100–114)

Final Answer: Prediction errors (0, 8, 6, -4) are much smaller than absolute values (100, 108, 113, 110), confirming DPCM efficiency. Reconstruction error at n=3 is 114-113 = 1 unit due to quantization.
Exam Tip: GATE frequently tests the relationship between DPCM, DM, and PCM. Remember: DM is DPCM with a 1-bit quantizer. DPCM reduces variance of the quantizer input (prediction error) leading to better SQNR. Prediction error variance must be less than signal variance for DPCM to be beneficial.

Mechanism: DPCM Encoder and Decoder

DPCM Encoder (top) and Decoder (bottom)Inputx(n)-QuantizerQ[ e(n) ]ChannelEncoderTransmittedeq(n)+Predictorx-hat(n)EncoderReceivedeq(n)+Outputx-tildePredictorx-hat(n)Decoder
Figure 2: DPCM Encoder subtracts predicted value from input, quantizes the error, and feeds reconstructed value back to the predictor. Decoder mirrors this process.
  • The encoder subtracts the predicted value x-hat(n) from the actual sample x(n) to get prediction error e(n).
  • The quantizer encodes e(n) into eq(n) using fewer bits since prediction errors have smaller range than raw samples.
  • The feedback loop in the encoder computes reconstructed values x-tilde(n) = x-hat(n) + eq(n) to update the predictor, ensuring encoder and decoder remain synchronized.
  • At the decoder, the same predictor uses past reconstructed values to regenerate x-hat(n), which is added to received eq(n) to recover x-tilde(n).
  • If a transmission error corrupts one eq(n), it propagates to subsequent reconstructed values through the predictor feedback, making DPCM sensitive to channel errors.

Quick Revision

  • DPCM encodes prediction error e(n) = x(n) - x-hat(n) instead of raw sample x(n).
  • Prediction error has smaller variance than x(n) for correlated signals, enabling fewer bits for same quality.
  • DM is a special case of DPCM: 1-bit quantizer, first-order predictor with coefficient 1.
  • ADPCM adds adaptive step size and predictor coefficients for further improvement.
  • Error propagation: a channel error in one sample affects all subsequent reconstructed samples.
  • DPCM achieves compression by exploiting inter-sample correlation; PCM does not.
  • Trap: DPCM does not require a predictor with coefficient 1. The predictor coefficient a is optimized to minimize prediction error variance.

DPCM Concepts Quiz

Test your understanding of Differential PCM, prediction filters, and bit rate reduction strategies.

Question 1 of 3

Q1.In DPCM, instead of encoding the sample value x(n), the system encodes the prediction error e(n) = x(n) - x_hat(n). The primary advantage is: