[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).