Presentation is loading. Please wait.

Presentation is loading. Please wait.

Huffman Codes ASCII is a fixed length 7 bit code that uses the same number of bits to define each character regardless of how frequently it occurs. Huffman.

Similar presentations


Presentation on theme: "Huffman Codes ASCII is a fixed length 7 bit code that uses the same number of bits to define each character regardless of how frequently it occurs. Huffman."— Presentation transcript:

1 Huffman Codes ASCII is a fixed length 7 bit code that uses the same number of bits to define each character regardless of how frequently it occurs. Huffman codes can represent data more efficiently by assigning shorter codes to characters that occur frequently and longer codes to characters that occur less frequently If the bit patterns are chosen carefully, ambiguity can be avoided This can be done by making use of the properties of a binary tree, called a Huffman Tree 2/11/10 05-Huffman

2 Example 1 AGAIN AND AGAIN AND AGAIN
Derive a Huffman Code to encode the phrase: AGAIN AND AGAIN AND AGAIN This was part of a question in 2000, worth just 4 marks (i.e. it should be done in about 7 minutes) It is rather hard for an exam question. 2/11/10 05-Huffman

3 Step 1- Count the frequency of each symbol
8 G 3 I N 5 D 2 _ 4 Total 25 2/11/10 05-Huffman

4 Step 2 – Write out symbols and in order of their frequency
8 5 4 3 2 A N _ G I D If two symbols have the same frequency then they can be ordered arbitrarily. The decision will alter the coding of each symbol, but not the number of bits used to represent each symbol 2/11/10 05-Huffman

5 Step 3 – Combine the two lowest frequency symbols from the right into a tree and add their frequencies together. 2/11/10 05-Huffman

6 Step 4 – Reorder the tree using the new combined value
2/11/10 05-Huffman

7 Keep repeating Steps 3 and 4 until there is a single tree
Combine 2/11/10 05-Huffman

8 Re-order 2/11/10 05-Huffman

9 Combine 2/11/10 05-Huffman

10 Re-order 2/11/10 05-Huffman

11 Combine 2/11/10 05-Huffman

12 Re-order 2/11/10 05-Huffman

13 The Huffman Tree is now complete
Combine The Huffman Tree is now complete 2/11/10 05-Huffman

14 To derive a code for a symbol, start at the root and follow the path to the symbol. Write a 0 every time you go left and a 1 every time you go right 1 A 00 N 11 _ 010 G 011 I 100 D 101 2/11/10 05-Huffman

15 Encode the String “GAINING”
011 A 00 I 100 N 11 1 2/11/10 05-Huffman

16 Decode the Huffman Code 011001001110011011
G A I N I N G Traverse the tree by moving left for 0 and right for 1 until you reach a leaf, write down the symbol. Start again for the next symbol 1 2/11/10 05-Huffman

17 Question from the 2002 exam Given an alphabet code below that is derived from a Huffman coding, decode the entire message below: A 000 H 100 S 11101 B 001 N 101 T 11110 C 010000 P 110 U 11111 D 010001 Q 111000 E 010110 G 011 R 111001 F 010111 2/11/10 05-Huffman

18 Huffman Tree for the 2002 exam question
2/11/10 05-Huffman

19 Answer from the 2002 exam CQAAADGRFH 2/11/10 05-Huffman

20 Exercise Using the following Huffman code mappings, send a short (one word) Huffman-coded message to your neighbour for him/her to decode using a Huffman tree 2/11/10 05-Huffman

21 Huffman Code Table for the Alphabet
2/11/10 05-Huffman

22 Huffman Tree for the Alphabet
I S O N R H L W V Y D M G P U B T C F K X J Q Z Root 2/11/10 05-Huffman


Download ppt "Huffman Codes ASCII is a fixed length 7 bit code that uses the same number of bits to define each character regardless of how frequently it occurs. Huffman."

Similar presentations


Ads by Google