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:
George@acb.alma-ata.su )
original Message-ID:
see also:
Leo Broukhis' Description of ACB
Peter
Fenwick's LZP = BlockSort = Shannon
The free web counter
says you are visitor number
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 & stuba.sk:
http://www.simtel.net/pub/simtelnet/msdos/compress/acb123c.zip 49663 bytes
ftp://ftp.simtel.net/pub/simtelnet/msdos/compress/acb123c.zip 49663 bytes
ftp.elf.stuba.sk /pub/pc/pack/acb123c.zip 49663 bytes
Best regards George,
P.S. Now I'm testing the new version 1.26a with better compression.
--
George Buyanovsky
Send Me Email