[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A little compression...
"Harry Potter" <maspethrose7@aol.com> wrote in message
874675cd-eaf4-4d0a-97e6-fbb7a7eb2655@e39g2000hsf.googlegroups.com">news:874675cd-eaf4-4d0a-97e6-fbb7a7eb2655@e39g2000hsf.googlegroups.com...
> I am in the process of creating a file compression program. It
> already does better than PKZip's deflate/maximum technique, but I
> still have work to do on it. It is a 32-bit technique, but I think I
> can manage on a 6502/C02, although very slowly. My goal is an average
> 3:1 compression ratio. If I succeed, would anybody here be interested?
Back in the days of Haruyasu Yoshizaki and Phil Katz I wrote my own archiver
(around 1993) based on LZHUF, the algorithm of Haruyasu Yoshizaki's archiver
LHarc. I also developed my own image format based on LZHUF which was quite
as good as .GIF. I never released either because in my opinion from that day
to this the world does not need another archiver or another graphics file
format in the mainstream.
I have all the source for my archiver and I am pretty sure mine would run on
the 6502 pretty quickly. It is called ARB which is the short form for
ARBUCKEL (bet nobody can guess why) and it creates archives called ARBs.
In my hobby life in retro computing like currently producing Apple II and
C64 programs and Windows XP Legacy Graphics converters I have a habit of
resurrecting old stuff. But as a professional developer who is employed by a
Microsoft Certified Gold Partner, I don't know if I should resurrect ARB or
PHA which was its graphics format equivalent even in the hobby context as it
may be taken seriously.
But that's my own story.
In 2002 BIOINFORMATICS Vol 18 no 2 Pages 315-318 published an article
entitled Models@Home : distributed computing in bioinformatics using a
screensaver based approach by Elmar Krieger and Gert Vriend. A Windows
Screensaver that I had written called VGAFan was credited as the derivative
for the idle detection module for the Windows Client for this research.
A copy of the 32 bit version of VGAFan is available for free download at
http://www.clipshop.ca/index.htm
I would never have thought of doing what these guys did nor do I begrudge
them in any way just because they used my work to do something that I was
unable to do for whatever reason. But I bet if I didn't give it to the whole
world including them then they would have used something else by someone
else. So my contribution really made no difference, like my archiver.
I should also point out that Phil Katz probably did not die a rich man, not
in the way that Bill Gates has money that's for sure. Yet who does not use
the ZIP format? I mean relatively speaking of course.
So not to deflate your enthusiasm or take anything away from you, I would
not be interested unless the whole world was interested, and unless the
whole world or at least a particular omniverse with some considerable
backing and a business plan was interested I doubt if you could either get
acceptance or protect your author's rights for such a thing.
That's all I have to say. Pretty negative huh Harry?
Cheers,
Bill
PS - Remember to do your research. Remember also that table based (LUT)
algorithms are quick and will be more readily accepted than 32 bit thunks on
8 bit platforms like the Apple II and C64.
For example:
LZHUF, the algorithm of Haruyasu Yoshizaki's archiver LHarc, replaces
LZARI's adaptive arithmetic coding with adaptive Huffman. LZHUF encodes
the most significant 6 bits of the position in its 4096-byte buffer by
table lookup. More recent, and hence more probable, positions are coded
in less bits. On the other hand, the remaining 6 bits are sent
verbatim. Because Huffman coding encodes each letter into a fixed
number of bits, table lookup can be easily implemented.
Though theoretically Huffman cannot exceed arithmetic compression, the
difference is very slight, and LZHUF is fairly fast.
References
[1] J. Ziv and A. Lempel, IEEE Trans. IT-23, 337-343 (1977).
[2] J. A. Storer and T. G. Szymanski, J. ACM, 29, 928-951
(1982).
[3] T. C. Bell, IEEE Trans. COM-34, 1176-1182 (1986).
[4] J. Ziv and A. Lempel, IEEE Trans. IT-24, 530-536 (1978).
[5] T. A. Welch, Computer, 17, No.6, 8-19 (1984).
[6] J. A. Storer, Data Compression: Methods and Theory
(Computer Science Press, 1988).
[7] D. A. Huffman, Proc IRE 40, 1098-1101 (1952).
[8] R. Sedgewick, Algorithms, 2nd ed. (Addison-Wesley, 1988).
[9] R. G. Gallager, IEEE Trans. IT-24, 668-674 (1978).
[10] I. E. Witten, R. M. Neal, and J. G. Cleary, Commun. ACM
30, 520-540 (1987).