packages icon
    ----------------------------------------------------------------------
    ---		 EPIC (Efficient Pyramid Image Coder)                  ---
    ---	 Designed by Eero P. Simoncelli and Edward H. Adelson          ---
    ---		    Written by Eero P. Simoncelli                      ---
    ---  Developed at the Vision Science Group, The Media Laboratory   ---
    ---	Copyright 1989, Massachusetts Institute of Technology          ---
    ---			 All rights reserved.                          ---
    ----------------------------------------------------------------------
Permission to use, copy, or modify this software and its documentation for
educational and research purposes only and without fee is hereby granted,
provided that this copyright notice and the original authors' names appear on
all copies and supporting documentation.  For any other uses of this software,
in original or modified form, including but not limited to distribution in
whole or in part, specific prior permission must be obtained from M.I.T. and
the authors.  These programs shall not be used, rewritten, or adapted as the
basis of a commercial software or hardware product without first obtaining
appropriate licenses from M.I.T.  M.I.T.  makes no representations about the
suitability of this software for any purpose.  It is provided "as is" without
express or implied warranty.
    ----------------------------------------------------------------------

EPIC (Efficient Pyramid Image Coder) is an experimental image data compression
utility written in the C programming language.  The compression algorithms are
based on a biorthogonal critically-sampled wavelet (subband) decomposition and a
combined run-length/Huffman entropy coder.  The filters have been designed to
allow extremely fast decoding on conventional (ie, non-floating point) hardware,
at the expense of slower encoding and a slight degradation in compression
quality (as compared to a good orthogonal wavelet decomposition).

We are making this code available to interested researchers who wish to
experiment with a subband pyramid coder.  We have attempted to optimize the
speed of pyramid reconstruction, but the code has not been otherwise optimized,
either for speed or compression quality.  In particular, the pyramid
construction process is unnecessarily slow, quantization binsizes are chosen to
be the same for each subband, and we have used a very simple scalar entropy
coding scheme to compress the quantized subbands.  Although this coding
technique provides good coding performance, a more sophisticated coding scheme
(e.g., utilizing an arithmetic coder, or a vector quantizer) combined with this
pyramid decomposition could result in substantial coding gains.  EPIC is
currently limited to 8-bit monochrome square images, and does not explicitly
provide a progressive transmission capability (although this capability is
easily added since it uses a pyramid representation).

EPIC is available via anonymous ftp from whitechapel.media.mit.edu (IP number
18.85.0.125) in the file pub/epic.tar.Z.  This is a unix-compressed tarfile, so
don't forget to put ftp into binary mode.  Comments, suggestions, or questions
should be sent to:

  Eero P. Simoncelli
  MIT Media Laboratory, E15-385
  20 Ames Street
  Cambridge, MA  02139

  E-mail: eero@media.mit.edu

References (the third of these describes EPIC and is available via ftp):

Edward H. Adelson, Eero P. Simoncelli and Rajesh Hingorani.  Orthogonal
   pyramid transforms for image coding.  In Proceedings of SPIE,
   October 1987, Volume 845.

Eero P. Simoncelli.  Orthogonal Sub-band Image Transforms.  Master's Thesis,
   EECS Department, Massachusetts Institute of Technology. May, 1988.

Edward H. Adelson, Eero P. Simoncelli.  Subband Image Coding with
   Three-tap Pyramids.  Picture Coding Symposium, 1990.  Cambridge, MA. 
USAGE:
------

Typing "epic" gives a description of the usage of the command:

  epic infile [-o outfile] [-x xdim] [-y ydim] [-l levels] [-b binsize]

An example call might look like this:
 
  epic my-image -o test.E -x 512 -y 512 -l 5 -b 33.45

Note that:

	1) the infile argument must be a file containing raw 8bit grayscale
           image data.
	2) if the size of the image is different than 256x256, you must specify it
	   on the command line.  Currently, the code is limited to square images
	   only.
	3) the binsize can be any floating point number.  Larger numbers give higher
	   compression rates, smaller numbers give better image quality.  Using a
	   binsize of zero should give perfect reconstruction.
	4) The test_image provided is a difficult image to compress: it is NOT the
	   original lenna image (which was 512x512), and thus has more information 
	   content near the Nyquist sampling  frequencies.
	4) Color images can be compressed best by converting from rgb to yiq and
	   compressing each of the components separately.

The decompression command "unepic" is also provided.  Typing "unepic test.E"
will create a raw 8bit data file called "test.E.U".  If you don't like that
name, you can specify a different name as an optional second argument.