The previous sections have outlined the complete waveform compression
algorithm for lossless coding. There are a wide range of applications
whereby some loss in waveform accuracy is an acceptable tradeoff in
return for better compression. A reasonably clean way to implement this
is to dynamically change the quantisation level on a segment-by-segment
basis. Not only does this preserve the waveform shape, but the
resulting distortion can be easily understood. Assuming that the
samples are uniformally distributed within the new quantisation interval
of , then the probability of any one value in this range is
and
the noise power introduced is
for the lower values that are
rounded down and
for those values that are rounded up. Hence
the total noise power introduced by the increased quantisation is:
It may also be assumed that the signal was uniformally distributed in
the original quantisation interval before digitisation, i.e. a
quantisation error of .
Shorten supports two main types of lossy coding: the case where every
segment is coded at the same rate; and the case where the bit rate is
dynamically adapted to maintain a specified segmental signal to noise
ratio. In the first mode, the variance of the prediction residual of
the original waveform is estimated and then the appropriate quantisation
performed to limit the bit rate. In areas of the waveform where there
are strong sample to sample correlations this results in a relatively
high signal to noise ratio, and in areas with little correlation the
signal to noise ratio approaches that of the signal power divided by the
quantisation noise of equation 22. In the second mode,
this equation is used to estimate the greatest additional quantisation
that can be performed whilst maintaining a specified segmental signal to
noise ratio. In both cases the new quantisation interval, , is
restricted to be a power of two for computational efficiency.