<< Chapter < Page Chapter >> Page >
The Huffman source coding algorithm is provably maximally efficient.

Shannon's Source Coding Theorem has additional applications in data compression . Here, we have a symbolic-valued signal source, like a computer file or an image, that we want torepresent with as few bits as possible. Compression schemes that assign symbols to bit sequences are known as lossless if they obey the Source Coding Theorem; they are lossy if they use fewer bits than the alphabet's entropy. Using a lossy compression scheme means that you cannotrecover a symbolic-valued signal from its compressed version without incurring some error. You might be wondering why anyonewould want to intentionally create errors, but lossy compression schemes are frequently used where the efficiency gained inrepresenting the signal outweighs the significance of the errors.

Shannon's Source Coding Theorem states that symbolic-valued signals require on the average at least H A number of bits to represent each of its values, which aresymbols drawn from the alphabet A . In the module on the Source Coding Theorem we find that using a so-called fixed rate source coder, one that produces a fixed number of bits/symbol, may not be the most efficient way of encodingsymbols into bits. What is not discussed there is a procedure for designing an efficient source coder: one guaranteed to produce the fewest bits/symbol on the average. That source coder is not unique,and one approach that does achieve that limit is the Huffman source coding algorithm .

In the early years of information theory, the race was on to be the first to find a provably maximally efficient source coding algorithm. The race was won by thenMIT graduate student David Huffman in 1954, who worked on the problem as a project in his information theory course. We'repretty sure he received an “A.”
  • Create a vertical table for the symbols, the best ordering being in decreasing order of probability.
  • Form a binary tree to the right of the table. A binary tree always has two branches at each node. Build the tree bymerging the two lowest probability symbols at each level, making the probability of the node equal to the sum of themerged nodes' probabilities. If more than two nodes/symbols share the lowest probability at a given level, pick any two;your choice won't affect B A .
  • At each node, label each of the emanating branches with a binary number. The bit sequence obtained from passingfrom the tree's root to the symbol is its Huffman code.

The simple four-symbol alphabet used in the Entropy and Source Coding modules has a four-symbol alphabet with the following probabilities, a 0 1 2 a 1 1 4 a 2 1 8 a 3 1 8 and an entropy of 1.75 bits . This alphabet has the Huffman coding tree shown in [link] .

Huffman coding tree

We form a Huffman code for a four-letter alphabet having the indicated probabilities of occurrence. The binary treecreated by the algorithm extends to the right, with the root node (the one at which the tree begins) defining thecodewords. The bit sequence obtained by traversing the tree from the root to the symbol defines that symbol's binarycode.

The code thus obtained is not unique as we could have labeled the branches coming out of each node differently. The averagenumber of bits required to represent this alphabet equals 1.75  bits, which is the Shannon entropy limit for this source alphabet. If we had thesymbolic-valued signal s m a 2 a 3 a 1 a 4 a 1 a 2 , our Huffman code would produce the bitstream b n 101100111010… .

If the alphabet probabilities were different, clearly a different tree, and therefore different code, could wellresult. Furthermore, we may not be able to achieve the entropy limit. If our symbols had the probabilities a 1 1 2 , a 2 1 4 , a 3 1 5 , and a 4 1 20 , the average number of bits/symbol resulting from the Huffman coding algorithm would equal 1.75  bits. However, the entropy limit is 1.68 bits. The Huffman code does satisfy the SourceCoding Theorem—its average length is within one bit of the alphabet's entropy—but you might wonder if a better codeexisted. David Huffman showed mathematically that no other code could achieve a shorter average code than his. We can'tdo better.

Got questions? Get instant answers now!

Derive the Huffman code for this second set of probabilities, and verify the claimed average code lengthand alphabet entropy.

The Huffman coding tree for the second set of probabilities is identical to that for the first ( [link] ). The average code length is 1 2 1 1 4 2 1 5 3 1 20 3 1.75 bits. The entropy calculation is straightforward: H A 1 2 1 2 1 4 1 4 1 5 1 5 1 20 1 20 , which equals 1.68 bits.

Got questions? Get instant answers now!

Questions & Answers

A golfer on a fairway is 70 m away from the green, which sits below the level of the fairway by 20 m. If the golfer hits the ball at an angle of 40° with an initial speed of 20 m/s, how close to the green does she come?
Aislinn Reply
cm
tijani
what is titration
John Reply
what is physics
Siyaka Reply
A mouse of mass 200 g falls 100 m down a vertical mine shaft and lands at the bottom with a speed of 8.0 m/s. During its fall, how much work is done on the mouse by air resistance
Jude Reply
Can you compute that for me. Ty
Jude
what is the dimension formula of energy?
David Reply
what is viscosity?
David
what is inorganic
emma Reply
what is chemistry
Youesf Reply
what is inorganic
emma
Chemistry is a branch of science that deals with the study of matter,it composition,it structure and the changes it undergoes
Adjei
please, I'm a physics student and I need help in physics
Adjanou
chemistry could also be understood like the sexual attraction/repulsion of the male and female elements. the reaction varies depending on the energy differences of each given gender. + masculine -female.
Pedro
A ball is thrown straight up.it passes a 2.0m high window 7.50 m off the ground on it path up and takes 1.30 s to go past the window.what was the ball initial velocity
Krampah Reply
2. A sled plus passenger with total mass 50 kg is pulled 20 m across the snow (0.20) at constant velocity by a force directed 25° above the horizontal. Calculate (a) the work of the applied force, (b) the work of friction, and (c) the total work.
Sahid Reply
you have been hired as an espert witness in a court case involving an automobile accident. the accident involved car A of mass 1500kg which crashed into stationary car B of mass 1100kg. the driver of car A applied his brakes 15 m before he skidded and crashed into car B. after the collision, car A s
Samuel Reply
can someone explain to me, an ignorant high school student, why the trend of the graph doesn't follow the fact that the higher frequency a sound wave is, the more power it is, hence, making me think the phons output would follow this general trend?
Joseph Reply
Nevermind i just realied that the graph is the phons output for a person with normal hearing and not just the phons output of the sound waves power, I should read the entire thing next time
Joseph
Follow up question, does anyone know where I can find a graph that accuretly depicts the actual relative "power" output of sound over its frequency instead of just humans hearing
Joseph
"Generation of electrical energy from sound energy | IEEE Conference Publication | IEEE Xplore" ***ieeexplore.ieee.org/document/7150687?reload=true
Ryan
what's motion
Maurice Reply
what are the types of wave
Maurice
answer
Magreth
progressive wave
Magreth
hello friend how are you
Muhammad Reply
fine, how about you?
Mohammed
hi
Mujahid
A string is 3.00 m long with a mass of 5.00 g. The string is held taut with a tension of 500.00 N applied to the string. A pulse is sent down the string. How long does it take the pulse to travel the 3.00 m of the string?
yasuo Reply
Who can show me the full solution in this problem?
Reofrir Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Fundamentals of electrical engineering i. OpenStax CNX. Aug 06, 2008 Download for free at http://legacy.cnx.org/content/col10040/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Fundamentals of electrical engineering i' conversation and receive update notifications?

Ask