SPIHT IMAGE COMPRESSION


Important Notices

  1. All programs listed here are Copyright© 1995, 1996, 1997, 1998, 1999, 2001, 2008 by one or more of the following: Amir Said, William A. Pearlman, Beong-Jo Kim, Zixiang Xiong, Asad Islam, Sungdae Cho, Mustafa Sakalli. They may not be redistributed without the consent of the copyright holders. In no circumstances may the copyright notice be removed. The programs may not be sold for profit nor may they be incorporated in commercial programs without the written permission of the copyright holders.
  2. There are existing patents by Amir Said and William A. Pearlman, and Asad Islam and William A. Pearlman, for some of the methods and algorithms used in the programs (See licensing information).
  3. The programs were made available to demonstrate the potential of the compression methods and for academic studies. They are not the most efficient versions available. Consult the authors for updated information.
  4. Each program is provided as is, without any express or implied warranty, without even the warranty of fitness for a particular purpose.

Compression Programs

These programs have been compiled and used by a lot of users, in many computers, and in all continents except Antarctica. The supplied executables are run from the UNIX (LINUX) or DOS command line prompt. Don't get discouraged if something goes wrong. Look for command syntax or path specification errors.

Still Images

The programs immediately below implement compression and decompression of monochrome or color still images stored in headerless format, 1 or 2 bytes per pel. The *.z and *.gz files have been compressed with gzip and must be decompressed with gunzip. The archive files with .tar extensions (after decompression) are exploded with tar xvf.

The files with .zip extensions are Windows/DOS files and can be exploded using WinZip or PKUNZIP.

Source Code

!NEW SPIHT in MATLAB Programming Language

We have made publicly available a demonstration version of SPIHT image compression programmed in MATLAB language. Please read the document mSpiht_Readme.pdf for program information and license terms that incorporate the GNU Public License. Download MATLAB-SPIHT.

You may obtain independently developed source code for the SPIHT monochrome image codec free of charge under the conditions of the General GNU License in the program library QccPackSPIHT.

The following programs do reversible (lossless) image compression. They do not use SPIHT or SPECK.

Compressed archive file for reversible (truly perfect) compression/decompression programs. These programs are inherently progressive in resolution, but currently the decoder outputs only the final full size image. See *.doc (embedded) file for compiling & running instructions.

Executable Program Code

The compressed archive file packages below contain the SPIHT image compression/decompression programs (codecs). There are four codecs: one for color images and three for monochrome images. Among the monochrome codecs, two are for progressive lossy to quasi-perfect reconstruction, with different coding speeds. Finally, there is also a codec for progressive reconstruction up to truly perfect reconstruction. File SPIHT.doc has the instructions for running the programs and more details about the different codecs.

The following SPIHT program packages are available for several platforms:

!NEW SPECK Windows/DOS Executable Programs

The image compression program SPECK (Set Partition Embedded bloCK coder) is now available as Windows/DOS executables.
'spk_enc.exe' and 'spk_dec.exe' are the encoder-decoder pair for lossy, quasi-perfect reconstruction.
'spk_ls_enc.exe' and 'spk_ls_dec.exe' are the encoder-decoder pair for lossy to mathematically lossless reconstruction.
Instructions for usage may be found in the file speck_usage.txt.
These files are contained in the archive SPECK_Programs.zip.

You may obtain independently developed source code for the SPECK image codec free of charge under the conditions of the General GNU License in the program library QccPackSPECK.

Image Sequences and Video

Now available are executable programs for compressing/decompressing image sequences or video using SPIHT coding of three-dimensional wavelet transforms. These programs may be used for coding sequences of multispectral or medical images or video. Please note that there is no motion compensation enacted in these programs.

Programs for gray scale sequences (raw or SUN Raster (.ras) format) of 1 byte/pel images for different operating systems below are for lossy compression only.

Programs for lossy compression of gray scale sequences of raw format 1 byte/pel and 2 bytes/pel images for different operating systems are:

The 3D programs encode and decode a single group of frames within a sequence. The programs executable herein set the group size to 16.
One can write a script for processing the sequence of groups or use the programs enc-dec_sequence.zip.
Please read the included Readme file for usage instructions.

!NEW Programs for progressive lossy to lossless compression of gray scale sequences of raw format 1 byte/pel and 2 bytes/pel images for different operating systems are:

Two byte images are written either in little or big endian format. Many times one needs to reverse the endian (swap high and low bytes) to accommodate a certain program.
Click here to download Windows/DOS programs that swap bytes for 2-byte images and image sequences.

Programs for color video YUV 4:2:0 (CIF, QCIF) and YUV 4:2:2 (CCIR 601) sequences are:

Biological/Medical Signal Compression

!NEW Lossless compression for one-dimensional data and biological signals, e.g., ECG, EEG, etc. Input must be raw data format consisting of series of signed short (2 bytes) integers. This is a fixed or extended version that now works for positive and negative input values. The previous spbio.tar.gz worked only for positive input values. See included Readme.txt file.

!NEW One-dimensional progressive lossy compression for biological signals, e.g., ECG, EEG, etc. Included are MATLAB m-files for plotting and display of waveforms. Input must be raw data format consisting of series of signed short (2 bytes) integers. Sample data files are enclosed. See included Readme.txt file.

Fast Arithmetic Coding

Newly available!! Source code for a new fast arithmetic coding algorithm by Amir Said. His arithmetic coder once available with the SPIHT source code has been used by numerous researchers. This new one is much faster and just as effective.

  • FastAC Instructions
  • FastAC Source Code

    Archival Program

    The programs above have sophisticated capabilities but were prepared for demonstrative purposes only. We received several requests by people who just need a good free compressor for everyday use.

    For that purpose we prepared a program that is not as powerful as the demo programs, but that is better than, for instance lossy and lossless JPEG.

    lsp_sol and lsp.exe are, respectively, the Sun Solaris and the Windows 95/98/NT executables of this program. See the lsp.doc file for explanation of the capabilities and instructions for running the program.

    Links to other pages.

    SPIHT Home Page
    Properties of the Method
    Licensing Information
    Papers
    Demo Images
    FAQ
    Technical Discussion
    WWW Image Compression Resources
    Guest Book