In the third step, the quantized coefficients are subjected to run-length coding followed by Huffman coding. Run-length coding examines consecutive quantized coefficients and determines sequences made of coefficients that have the same value. Each sequence is represented by the common value and the number of coefficients in the run, resulting in considerably more compact information compared to the entire sequence of coefficients . In the quantization process, thresholding of the high-frequency components results typically in a large number of zeroes, and run-length coding can be expected to reduce the size of data significantly. After run-length coding, the data can be further compressed if each value of the data stream is represented with a new code that minimizes the total number of bits in the data. When values are considered one at a time, Huffman coding is the optimal technique for this process . It assigns to each value a new code with a varying number of bits, such that values that appear frequently in the data are coded with a small number of bits, whereas those that appear infrequently can be coded with larger number of bits. Typically, a significant level of data reduction can be obtained with Huffman coding.
Was this article helpful?