Data Compression


Criteria

Survey Formats

Basics

Compression Methods

Data Formats


Huffman Code

Example

Characteristics

Variants

Dynamic Huffman Code

Adaptive Huffman Code

Initialization

Algorithm

Example

 1. Symbol: 'a'

 2. Symbol: 'b'

 3. Symbol: 'r'

 4. Symbol: 'a'

...

11. Symbol: 'a'


Glossary

Index


Download


www.BinaryEssence.com

2. Symbol: 'b'


Current code tree:


                Successor
No. Pred. Cont. "0"  "1"  Weight
 9.  11   NYA    -    -      0
10.  11   "a"    -    -      1
11.  Root        9   10      1

No leaf node is available for the symbol 'b'; new nodes are required for 'b' and NYA:


                Successor
No. Pred. Cont. "0"  "1"  Weight
 7.   9   NYA    -    -      0
 8.   9   "b"    -    -      1
 9.  11    -     7    8      0
10.  11   "a"    -    -      1
11.  Root        9   10      1

The weight of the current node has to be incremented:


                Successor
No. Pred. Cont. "0"  "1"  Weight
 7.   9   NYA    -    -      0
 8.   9   "b"    -    -      1
 9.  11    -     7    8      1
10.  11   "a"    -    -      1
11.  Root        9   10      1

Continue with the predecessor of the current node:


                Successor
No. Pred. Cont. "0"  "1"  Weight
 7.   9   NYA    -    -      0
 8.   9   "b"    -    -      1
 9.  11    -     7    8      1
10.  11   "a"    -    -      1
11.  Root        9   10      1


The current node is already the most significant node of the block. Therefore its weight may be incremented without exchange:


                Successor
No. Pred. Cont. "0"  "1"  Weight
 7.   9   NYA    -    -      0
 8.   9   "b"    -    -      1
 9.  11    -     7    8      1
10.  11   "a"    -    -      1
11.  Root        9   10      2

The root node is reached, the update procedure will be terminated.


 <   ^   > 

Example abracadabra 1. Symbol: a 3. Symbol: r