Path: utzoo!attcan!uunet!bloom-beacon!atrp.mit.edu!ashok
From: ashok@atrp.mit.edu (Ashok C. Popat)
Newsgroups: comp.dsp
Subject: Re: sound data compression
Message-ID: <14592@bloom-beacon.MIT.EDU>
Date: 24 Sep 89 19:31:16 GMT
References: <6028@jpl-devvax.JPL.NASA.GOV> <89255.105143P85025@BARILVM.BITNET>  <7767@microsoft.UUCP> <89264.171306P85025@BARILVM.BITNET> <8909@batcomputer.tn.cornell.edu> <7814@microsoft.UUCP> <1900@cunixc.cc.columbia.edu>
Sender: daemon@bloom-beacon.MIT.EDU
Reply-To: ashok@atrp.mit.edu (Ashok C. Popat)
Organization: MIT
Lines: 41

In article <1900@cunixc.cc.columbia.edu> brad@woof.columbia.edu (Brad Garton) writes:
>In article <7814@microsoft.UUCP> brianw@microsoft.UUCP (Brian Willoughby) writes:
>>Just by storing the *difference* between
>>adjacent samples, and assuming that there are no impulses, a great
>>savings in data can be achieved over storing 16 bit *absolute* values.
>
>I've wondered about this before -- is this the technique known as
>"delta modulation"?

I think it is called "differential PCM" or "DPCM" (actually, it is a
special case of DPCM --- first-order DPCM with a unit prediction
coefficient).  The term "delta modulation" usually refers to the
special case of first-order DPCM in which the prediction error is
quantized with exactly one bit (i.e., two quantization levels).

>[...]                    I gather one
>of the problems was that errors would start being compounded.

The trick is to use the difference between the current sample and the
previous reconstructed sample (not the previous original sample).
This prevents the quantization error from building up (in the case of
error-free channels or media).

In general, the previous reconstructed sample is multiplied by a
"prediction coefficient" before the difference is computed.

In the case of error-prone channels (or media), single bit-errors will
propagate over successive samples in DPCM.  For this reason, in
first-order DPCM, the prediction coefficient should be chosen to be
slightly less than unity, so that the decoding system will have its
pole lie strictly inside the unit circle.  This will allow the effects
of transmission/storage errors to die away.

Actually, there is another reason to choose a prediction coefficient
of less than unity.  It turns the a good approximation to the
coefficient value that minimizes overall mean-square error for
wide-sense stationary (WSS) processes is simply the value of the
autocorrelation at lag 1.  When 8000-Hz sampled speech is modeled as
WSS, this value is usually taken to be around 0.8.

Ashok Chhabedia Popat  MIT Rm 36-665  (617) 253-7302