Data Compression


Criteria

Survey Formats

Basics

Compression Methods

Data Formats


Huffman Code

Example

Characteristics

Variants

Dynamic Huffman Code

Adaptive Huffman Code

Initialization

Algorithm

Table Code Tree

Update Procedure

New Symbols

Update Code Tree

Decoding

Example


Glossary

Index


Download


www.BinaryEssence.com

Table representing the Code Tree


For the treatment of the code tree a table is established according to the previous notes. Initially only the symbol NYA is available within the table. It will be extended with any further symbol encoded. Each procedure presented later is based on this table.


In the following some tables are specified exemplarily. It is not mandatory to implement the table exactly in this way, but this structure is well suited to demonstrate the algorithm. In this form the table contains redundant information.


A logical identifier is assigned to each node for identification purposes, starting with the largest possible value. These identifiers are intended to describe the relations between predecessors and successors and vice versa.


Initial Table

maximum number of nodes: 2n-1 (at n=6) -> 11

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

after the 1st adaption ('a')

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

after the adaption of "abracadabra"

                Successor
No. Pred. Cont. "0"  "1"  Weight
 1.   3   NYA    -    -      0
 2.   3   "d"    -    -      1
 3.   7    -     1    2      1
 4.   7   "c"    -    -      1
 5.   8   "r"    -    -      2
 6.   8   "b"    -    -      2
 7.  10    -     3    4      2
 8.  10    -     5    6      4
 9.  11   "a"    -    -      5
10.  11    -     7    8      6
11.  Root        9   10     11

 <   ^   > 

Algorithm Adaptive Huffman Code Algorithm Adaptive Huffman Code Update Procedure