Skip to content

Commit

Permalink
Update idea document for zmicro.
Browse files Browse the repository at this point in the history
  • Loading branch information
ticki committed Jul 24, 2017
1 parent bc71830 commit 624dce5
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions notes/zmicro.md
@@ -1,10 +1,31 @@
ZMicro is a compression algorithm, which was specifically designed for the use in RACC.
ZMicro is a compression algorithm, which was specifically designed for the use
in RACC.

ZMicro uses a standard bit-by-bit arithmetic encoder, but has an adaptive model.
ZMicro uses a standard bit-by-bit arithmetic encoder, but has an adaptive
model.

The model consists of various submodels:

1. Prediction by partial matching with context order N.
2. Bit dependency table.
- Prediction by partial matching with context congruence classes modulo N of order M.
- Average bit on same congruence class modulo N.
- Bit dependency table per N bits.
- Fifty-fifty (identity)
- Repeat last

These are combined through adaptive context mixing, which works by weighting with the match rate. If model M reads a bit b=1 with prediction of being one P(b=1), then P(b=1) is added to the total sum. If b=0, P(b=0)=1-P(b=1) is added.
These are combined through adaptive context mixing, which works by weighting
with the match rate.

If model M reads a bit b=1 with prediction of being one P(b=1), then P(b=1) is
the error. If b=0, P(b=0)=1-P(b=1) is the error.

Each model gets an accumulated error rate, which consists of a weighted sum of
the individual errors. For every new error, the sum is multiplied by some
number K≤1, called the cool-down factor, then the error is added.

Models are compared by ratio. For example model M1 is better than M2 by an
factor of M1/M2. In other words, a model M is judged on its ratio to the sum of
all error accumulations.

If a model rates a k'th (for some factor k called the exit factor) of the
accumulated error sum, it is dropped and it's error accumulation is subtracted
from the overall sum.

0 comments on commit 624dce5

Please sign in to comment.