Вы находитесь на странице: 1из 20

# HUFFMAN ENCODING AND DECODING

USING MATLAB
Internal Guide : SVMG Phani Kumar C
ECE-B Coordinator : Mrs. Neha Jain
S. Poojitha (14321A0474)
M. Rupa (14321A04A0)
B. Sai Sruthi (14321A04A6)
Contents
 Aim
 Block Diagram
 Huffman Coding
 Flow Chart of Huffman algorithm
 Nature of Huffman coding
 Matlab
 Specific Syntaxes
 Result
 Conclusion and Future scope
Aim

##  The Main Aim of the project “HUFFMAN ENCODING AND

DECODING USING MATLAB” is to compress the data in lossless
manner in order to achieve better efficiency.
Block Diagram
Huffman Coding

##  Huffman coding is a lossless data compression algorithm. The idea

is to assign variable-length codes to input characters, lengths of
assigned codes are based on the frequencies of corresponding
characters.

 The most frequent character gets the smallest code and the least
frequent character gets the largest code.
Why Huffman coding is preferred?

##  The name Huffman code proper refers to optimal choice of code

given a distribution on the value of block.

##  It is a fixed to variable code.

Flow chart of Huffman
algorithm
• All the symbol sources or message must be listed
in decreasing order of their probabilities.

## • Now combine the probabilities of two source

symbols which are having the lowest
probabilities and rearrange them again in the
decreasing order.
• Repeat the above step until two ordered probabilities remain.

• Now start encoding with last reduction which contains two ordered
probabilities. Assign ‘0’ to higher probability and ‘1’ to the lower.

• Trace back and assign 0 & 1 in the second digit for the two
probabilities by which it was obtained in the previous reduction
process.

## • Write the code for each symbol.

Representation of a binary code

100 %

0 1

45 % 55 %
a = 0
0 1

25 % 30 %

0 1 0 1

12 % 13 % 14 % 16 %
c = 100 b = 101 d = 111
0 1

5% 9%
f = 1100 e = 1101
Nature of Huffman Coding

• Prefix Code:

## A prefix code is a type of code system(typically a variable-length

code) distinguished by its possession of the “Prefix property”.

• Entropy:

## The average amount of information present in the symbol is known

as Entropy. Denoted by ‘H’.

• Efficiency:

## It is defined as the ratio of amount of information present in the

symbol to the average code word length.
Matlab

## • It integrates computation, visualization and programming in an

easy-to-use environment where problems and solutions are
expressed in familiar mathematical notation.
Specific Syntaxes used in the code

 [dict,avglen]= huffmandict(symbols,p)

## It generates a binary huffman code dictionary using the maximum

variance algorithm.

 temp{i,2}=num2str(temp{I,2})

## It converts numeric array into a character array that represents the

numbers.
 encod=huffmanenco(sym,dict)

This encodes signal system using the Huffman codes described by the
code dictionary dict.

 decod=huffmandeco(bits,dict)

This decodes the numeric Huffman code vector bits using the code
dictionary dict.
RESULT

Applications

##  Text compression in ZIP files.

Conclusion

 The result shows that higher code redundancy helps to achieve more
compression.

 The result also reveals that original data used for coding is almost
same as the decoded output.

##  Hence, Huffman Coding is efficient technique for data compression

and decompression.
Future Scope

##  Other methods of data compression can be carried out as Lempel-ziv

coding, Arithmetic coding, etc.
References

##  D.A. Huffman, “A method for the construction of minimum

redundancy codes”, proceeding of the I.R.E, September 1952, pp
1098-1102, Huffman’s original article.

##  Introduction of data compression, K. Sayood, Morgan Kauffman,

second edition. 2000

 http://www.prepressure.com/library/compression-
algorithms/huffman