huffman coding and decoding taiabul haque naeemul hassan

26
Huffman Coding and Decoding • TAIABUL HAQUE • NAEEMUL HASSAN

Upload: melinda-fowler

Post on 02-Jan-2016

239 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Coding and Decoding

• TAIABUL HAQUE

• NAEEMUL HASSAN

Page 2: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Encoding

An encoding algorithm used for lossless data compression-

• Variable-length code

• Prefix code

Basic Intuition- Those symbols that are more frequent should have smaller codes

A special kind of tree called Huffman Tree is built by exploiting this property

Page 3: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Tree Creation

Character Frequency

A 29

E 23

I 25

O 14

U 7

Page 4: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Tree Creation

Character Frequency

A 29

E 23

I 25

O 14

U 7

7 14 23 25 29

Page 5: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Tree Creation

Character Frequency

A 29

E 23

I 25

O 14

U 7

U(7) O(14)

21

21 23 2925

Page 6: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Tree Creation

Character Frequency

A 29

E 23

I 25

O 14

U 7

U(7) O(14)

21E(23)

44

25 29 44

Page 7: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Tree Creation

Character Frequency

A 29

E 23

I 25

O 14

U 7

U(7) O(14)

21E(23)

44

I(25) A(29)

54

5444

Page 8: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Huffman Tree Creation

Character Frequency

A 29

E 23

I 25

O 14

U 7

U(7) O(14)

21E(23)

44

I(25) A(29)

54

98

Page 9: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Start

Accept training data

Scan data, keep tally

Make prioritized list

Create, Draw Tree

Traverse tree

Determine code words

Save code words

Accept test sentence

Encode with lookup

Display encoded string

Decode with traversal

Display decoded string

Calculate comp. ratio

End

Page 10: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Start

Accept training data

Scan data, keep tally

Make prioritized list

Create, Draw Tree

Traverse tree

Determine code words

Save code words

Accept test sentence

Encode with lookup

Display encoded string

Decode with traversal

Display decoded string

Calculate comp. ratio

End

Page 11: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN
Page 12: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

analysis of algorithm

Page 13: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

analysis of algorithm

a(3)

Page 14: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Start

Accept training data

Scan data, keep tally

Make prioritized list

Create, Draw Tree

Traverse tree

Determine code words

Save code words

Accept test sentence

Encode with lookup

Display encoded string

Decode with traversal

Display decoded string

Calculate comp. ratio

End

Page 15: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Start

Accept training data

Scan data, keep tally

Make prioritized list

Create, Draw Tree

Traverse tree

Determine code words

Save code words

Accept test sentence

Encode with lookup

Display encoded string

Calculate comp. ratio

Decode with traversal

Display decoded string

End

Page 16: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN
Page 17: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

algo = 4 * 8 = 32 bits

10101100011110 = 14 bits

Compression Ratio = 14/32*100 = 43.75

Page 18: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Start

Accept training data

Scan data, keep tally

Make prioritized list

Create, Draw Tree

Traverse tree

Determine code words

Save code words

Accept test sentence

Encode with lookup

Display encoded string

Calculate comp. ratio

Decode with traversal

Display decoded string

End

Page 19: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN
Page 20: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

10101100011110

Page 21: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

10101100011110

a(3)

Page 22: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

10101100011110

l(2)

Page 23: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

10101100011110

g(1)

Page 24: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

10101100011110

o(2)

Page 25: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

Frequency Analysis

• E T A O I N S H R D L U is the approximate order of frequency of the twelve most commonly used letters in the English language.

• Our Observation:

File Size Order of letters

338 E T I A O N S R C H L D

65 E T N O I A R S C L H D

70 E A O T R S I N L H D C

8 E O T A N R I S L H U D

677 E T A O N I R S H L D C

Page 26: Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN

THANK YOU