Variable Quantization

Variable quantization is the main technique of lossy coding as compared to lossless coding.  By coarsely quantizing the less significant coefficients in a transform (less significant meaning less noticeable either because the the energy is low and/or because it is less visible/audible), the bit rate can be greatly reduced.  Typical high quality lossless systems show a bit rate reduction of only 2:1 to 4:1, whereas lossy systems may have reduction ratios of 10:1 to 100:1 or more.

Variable quantization can be applied to a complete signal or more typically to individual frequency components of a transformed signal.

Variable quantization is the main technique for controlling instantaneous bit rate in order to match average bit rate to a constant channel bit rate and to prevent buffer overflow or underflow.    

Another technique, nonuniform quantization, has been used extensively in digital telephony.  This might be considered as an instantaneous variable quantizer that is signal level dependent. Its application is not intended to provide variable bit rate, but to reduce the number of bits needed for a given aural perception of quantizing noise.  It is based on the generally logarithmic response of the ear to stimulation levels.  In video, nonlinear quantization of the scene brightness is obtained as a side effect of the gamma correction of the source that compensates for the nonlinear "gamma" characteristic of a CRT display. This characteristic also happens to provide an approximate compensation for the logarithmic response of the eye to brightness levels.  Nonuniform quantization can also be applied to individual coefficients of a transformed signal.  

In the MPEG 2 encoder, variable uniform MPEG 2 quantization is applied by means of a quantizing lookup table that provides quantization step sizes and multipliers that scale the DCT coefficients to smaller values.  In the MPEG decoder, "inverse quantizing" is performed by multiplying the recovered coefficients by the inverse step size and scaling factors.  

Next - Run-Level Coding