Huffman Coding
Eric Dubois
School of Electrical Engineering and Computer Science University of Ottawa
September 2012
Eric Dubois (EECS) Huffman Coding September 2012 1 / 17
Huffman Coding Eric Dubois School of Electrical Engineering and - - PowerPoint PPT Presentation
Huffman Coding Eric Dubois School of Electrical Engineering and Computer Science University of Ottawa September 2012 Eric Dubois (EECS) Huffman Coding September 2012 1 / 17 The optimal prefix code problem Given a finite alphabet with a
Eric Dubois (EECS) Huffman Coding September 2012 1 / 17
Eric Dubois (EECS) Huffman Coding September 2012 2 / 17
Eric Dubois (EECS) Huffman Coding September 2012 3 / 17
Codewords 10 00 01 110 1110 11110 111110 111111 Eric Dubois (EECS) Huffman Coding September 2012 4 / 17
Eric Dubois (EECS) Huffman Coding September 2012 5 / 17
p_i ‐log_2(p_i) ‐p_i*log_2(p_i) l_i p_i*l_i 2^(‐l_i) l_i p_i*l_i 2^(‐l_i) 0.25 2.0000 0.5000 2 0.5 0.25 2 0.5 0.25 0.20 2.3219 0.4644 3 0.6 0.125 2 0.4 0.25 0.20 2.3219 0.4644 3 0.6 0.125 2 0.4 0.25 0.18 2.4739 0.4453 3 0.54 0.125 3 0.54 0.125 0.09 3.4739 0.3127 4 0.36 0.0625 4 0.36 0.0625 0.05 4.3219 0.2161 5 0.25 0.03125 5 0.25 0.03125 0.02 5.6439 0.1129 6 0.12 0.015625 6 0.12 0.015625 0.01 6.6439 0.0664 7 0.07 0.0078125 6 0.06 0.015625 sum p_i entropy H_1 l_Shann Kraft l_Huff Kraft 1.00 2.5821 3.0400 0.7422 2.6300 1.0000 Shannon code Huffman code
Eric Dubois (EECS) Huffman Coding September 2012 6 / 17
c (a2) c (a3)
c (a1) c (a4) c (a5) c (a6) c (a7) c (a8) Eric Dubois (EECS) Huffman Coding September 2012 7 / 17
1 If pj > pk, then ℓj ≤ ℓk, so that ℓ1 ≤ ℓ2 ≤ · · · ≤ ℓM. 2 The two longest codewords have the same length: ℓM−1 = ℓM. 3 The two longest codewords differ only in their last bit, and correspond
Eric Dubois (EECS) Huffman Coding September 2012 8 / 17
Eric Dubois (EECS) Huffman Coding September 2012 9 / 17
1 If pj > pk, then ℓj ≤ ℓk, so that ℓ1 ≤ ℓ2 ≤ · · · ≤ ℓM. 2 The two longest codewords have the same length: ℓM−1 = ℓM. 3 The two longest codewords differ only in their last bit, and correspond
Eric Dubois (EECS) Huffman Coding September 2012 10 / 17
Eric Dubois (EECS) Huffman Coding September 2012 11 / 17
1 If pj > pk, then ℓj ≤ ℓk, so that ℓ1 ≤ ℓ2 ≤ · · · ≤ ℓM. 2 The two longest codewords have the same length: ℓM−1 = ℓM. 3 The two longest codewords differ only in their last bit, and correspond
Eric Dubois (EECS) Huffman Coding September 2012 12 / 17
Eric Dubois (EECS) Huffman Coding September 2012 13 / 17
cM (aM) cM (aM-1)
Eric Dubois (EECS) Huffman Coding September 2012 14 / 17
Eric Dubois (EECS) Huffman Coding September 2012 15 / 17
cM-1 (a’M-1)
Eric Dubois (EECS) Huffman Coding September 2012 16 / 17
Eric Dubois (EECS) Huffman Coding September 2012 17 / 17