The following is an article posted by George M. Buynovsky on his ACB method. Since I have several other posts on the topic of ACB on this page, I thought I should include George's description.

This was originally posted to comp.compression on September 18, 1996, by George M. Buynovsky (contact at: ) original Message-ID:

see also:

Leo Broukhis' Description of ACB

Peter Fenwick's LZP = BlockSort = Shannon

Tenie Remmel wrote:

>What algorithm is used in this ACB program?
>It says it's "associativity coding", does anyone have a description?

Below I will describe only a general principle for the simplest implementation:

1) There is a table of sorted pointers Lp (by analogy with BWT),
   corresponding lines are directed into the past.
2) using the line (Si) directed into the past from the current
   position of the coder we find its position in the list Lp.
3) all neighbouring lines above and below enter the
   !!!associative set Mp!!! |Mp|<<|Lp| if they coincide with Si not
   less than by K bits (value of K is a separate big theme).
4) Each element Mp is weighted by the length of coincidence
   with Si (another topic).
5) !!! Sort the set Mp using the lines directed into the future !!!
6) Code the number of the position between the lines of the set Mp,
   where the line being coded is placed (under lexicographical order).
7) it is evident that intersection of the upper and lower neighbours
   allow to restore the packed line.

Thus, having written the code of a position, we automatically have written
the length.

The variant implemented in ACB.EXE differs very much from the discribed above
but the general idea is the same.

Latest - ACB_1.23c.

I have uploaded to Simtel.Net &   49663 bytes    49663 bytes  /pub/pc/pack/   49663 bytes

Best regards George,

P.S. Now I'm testing the new version 1.26a with better compression.

George Buyanovsky 
Author of the ACB-compression.
voice: 7(3272)271-317

Charles Bloom / cb at my domain

Send Me Email

Back to the Index

The free web counter says you are visitor number