robjung@world.std.com (Robert K Jung) (05/02/91)
In reference to the post concerning LZJU90, LZJU90 is NOT a compression standard or specification, it is an UNCOMPRESSION specification. It is not a compression algorithm, so it should not be compared to LHARC, COMPRESS, etc. LZJU90 is NOT dependent on a specific compression algorithm. LZJU90 is a specification for the representation of the output of any (almost any) LZ77-class compression algorithm. It defines a specific set of parameters so that a single decompressor can decode files produced by a range of different compressors. It appears that some in the comp.compression community are looking only at the compression side of LZJU90. There might have been less misunderstanding if we completely left out the compression code and only published the LZJU90 compliant UNCOMPRESSOR. The compression code is only intended to be an example of a compressor that generates output data that is compliant with the LZJU90 UNCOMPRESSOR specifications. For example, it is possible to build a LZJU90 compliant compressor using the new LZRW1 algorithm. Designing LZJU90 as an UNCOMPRESSOR specification provides the flexibility for communications needs and for future compression improvements. Already, there are faster and more compressive compressors that are still LZJU90 compliant. Credit for the binary tree portion of the example compressor should go to Haruhiko Okumura (published in COMP.ZIP) and to Robert K Jung for an algorithm change that produces up to an order of magnitude speed increase over the original work by Okumura. Concerning ARJ derivations, the ARJ documentation credits H. Okumura for providing the ideas that spawned ARJ 1.00. The ideas came from AR001 and AR002 and not from LHA directly. The ARJ 2.00 compressor contains a new algorithm not derived from any published work. Robert K Jung (robjung@world.std.com)