Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN.

26
Huffman Coding and Decoding • TAIABUL HAQUE • NAEEMUL HASSAN

Transcript of Huffman Coding and Decoding TAIABUL HAQUE NAEEMUL HASSAN.

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