Re: LZ: Compression program (and questions for asm programmers)


[Prev][Next][Index][Thread]

Re: LZ: Compression program (and questions for asm programmers)



----------
> From: Scott J. Rein <srein@rain.org>
> To: list-zshell@lists.ticalc.org
> Subject: Re: LZ: Compression program (and questions for asm programmers)
> Date: Wednesday, September 11, 1996 12:19 AM
> 
> At 08:05 PM 9/10/96 -0400, you wrote:
> >
> >
> >> In fact, what I need is a compression algorithm.  Once I have that,
> >> I can start experimenting with putting programs into another string
> >> as .db's and trying to run it.  In fact, I guess I could do that
> >> now without compression.
> >
> >The most common compression algorithm is as follows:
> >The program finds repeated characters and instead of reusing the
characters
> >it simply goes back offset bytes and copies length bytes past it, in the
> >for <offset,length>  For example:
> >
> >%% = 2 Bytes for EOL, CR
> >^Z = 1 Byte for EOF
> >
> >Peter_Piper_picked_a_peck_of_pickled_peppers.%%
> >A_peck_of_pickled_peppers_Peter_Piper_picked.%%
> >If_Peter_Piper_picked_a_peck_of_pickled_peppers,%%
> >where's_the_peck_of_pickled_peppers_Peter_Piper_picked?%%
> >^Z     (202 Bytes)
> >
> >becomes:
> >
> >Peter_Pip<6,3>picked_a_peck_of<17,5>l<18,3>peppers.%%
> >A<28,24>_<73,18>.%% If_<97,44>,%%
> >where's_the<38,24><83,19>?%%^Z     (78 Bytes)
> >
> >By replacing repeated strings with pointers to the previous occurence,
the
> >file has been shrunk to 78 bytes from 202, a saving
> >of 124 bytes. 
> >
> >This method is known as the Lempel-Ziv algorithm.
> 
> That is interesting, thanks.  But how efficient is that with data files
that
> are more random?
> 
> --	Scott Rein
> 	srein@rain.org


I'm not too sure, but I read that it is actually pretty efficient.  I just
did an excite search and that seemed to be the most common algorithm on
various compression web pages.


Mike


References: