A technique is presented for compressing data which leverages the
frequency of an escape symbol for better compression. The prefix of a
data string is evaluated and the probability of all characters that might
succeed it is predicted in tabular form. Symbols are designated "Hit" or
"Miss" based upon whether they are in the table. A binary tree is
generated by partitioning nodes into Zero and One groups based on a
single bit value. A partition bit is chosen to maximize the difference of
probability sums of Hit symbols in Zero and One groups, with exceptions
for partitions having non Hit symbols in one of the groups. A probability
value is assigned to each branch, based on the probabilities of Hit and
Miss symbols. Encoding or decoding a symbol is facilitated by encoding or
decoding the branch probabilities on the shortest path from the root to
the leaf node containing the symbol using arithmetic encoding or decoding
method.