[alt.graphics.pixutils] JPEG obsolete

csu@alembic.acs.com (Dave Mack) (06/01/91)

In article <1991May30.203723.21550@ns.network.com> logajan@ns.network.com (John Logajan) writes:
>I'm reporting this without understanding it, but, Don
>Lancaster claims that JPEG (which he says uses a 
>DCT -- discrete cosine transform ) is obsolete because
>the new "wavelet" methods of compression make it slow,
>much less compressive, and less fidelity in comparison.

I can only base my comments on very limited experimentation with
the Yale wavelet package, of which my understanding is at best poor, but
it appears that wavelet image compression is drastically slower than
JPEG, the fidelity is dreadful, and the compression is not nearly
as good. 

On a Sun-4/110: (times are for compression only)

c.pgm	266014 bytes	256x256 grayscale, 120/256 grayshades, ASCII format
c.gif	 46180 bytes	(ppmtogif - 6.5 seconds real time)
c.jpeg    7249 bytes	(ppmtojpeg - 9 seconds real time)
c.c2p    21859 bytes	(c2p/std filters/20% threshhold ~6 minutes real time)
c.c2a  1429977 bytes	(c2a/std filters/20% threshhold ~12 minutes realtime -
			decompression failed with a segment fault)

c2p - Yale compress with 2-dimensional periodic wavelet packets
c2a - Yale compress with 2-dimensional aperiodic wavelet packets
The times associated with these compressors are approximate because
they require interactive input (unless you know how to build their
parameter files - I don't.)

The decompressed c2p image is recognizeable, but looks smeared, as if
seen through a camera lens covered with water droplets.

We can safely assume that the output of c2a is incorrect for
some reason (just as well!) given the core dump. This is probably
my fault - perhaps selecting a margin-width of zero is bad.

The decompressed JPEG image is visually indistinguishable from the
input image. Decompression took 2.7 seconds. The fact that this
was a grayscale image aids JPEG, which tends to retain image
structure while distorting color values.

None of this should be taken as condemnation of either wavelet
compression in general or the Yale package in particular. The
Yale package has quite a few adjustable parameters, none of which
are clearly documented in the HELP file, which is the only documentation
I have for it. It is possible that I managed to pick really bad
parameter values (likely even.) I would be delighted to repeat
this experiment with a more intelligent choice of filter, filter
range, threshhold, et al, if anyone has any recommendations.

The Yale wavelet package is available for anonymous ftp from
yale.edu. I believe that the directory is /wavelet/binaries;
you may have to hunt around. It contains the binaries for Sun 3/4
and a couple of other architectures. Source code may or may not be 
available if you sign a nondisclosure agreement with Yale - see the
README file in /wavelet.

The PD JPEG implementation is still under development and will
probably be ready for release sometime this summer. Contact
jpeg-request@think.com if you are interested in being added to
the PD JPEG mailing list.

-- 
Dave Mack