Introduction
Here is a C implementation of our lossless image compression algorithm:
"Lossless Image Coding Using Minimum-Rate Predictors".
Source codes are freely available for a research purpose
and can be compiled on Unix and Win32 platforms.
For details of the algorithm, please refer to papers listed below
and/or the codes themselves.
Download
The current version is 0.5 (Jan. 2005).
It supports only 8-bpp grayscale images in raw PGM format.
- Version 0.1: mrp-01.tar.gz (Dec. 2001)
- Version 0.2: mrp-02.tar.gz (Feb. 2002)
- Prediction coefficients are adjusted to minimize average round-off errors.
- Parameters M and K are set automatically according to the image size (if not specified).
- Version 0.3: mrp-03.tar.gz (Oct. 2002)
- Arithmetic coding based on "carryless rangecoder" is employed as a primary coding engine.
- Probability models for entropy coding are extended using generalized Gaussian functions.
- Version 0.4: mrp-04.tar.gz (Nov. 2003)
- Linux (x86) support.
- The rangecoder is used not only for prediction errors but for side-information such as prediction coefficients.
- The amount of the above side-information is tried to be reduced in optimization procedures.
- Accuracy of the probability modeles is improved by considering
a fractional part of prediction (it can be controlled by '-A ?' option).
- Version 0.5: mrp-05.tar.gz (Jan. 2005)
- Quadtree-based variable block-size adaptive prediction technique is introduced.
- Improved context modeling based on weighted prediction errors.
- Decision rules for parameters M and K are modified.
Coding results
Image (size) |
MRP |
BMF |
TMW |
Glicbawls |
CALICa |
CALICh |
JPEG-LS |
JPEG 2000 |
HD Photo |
airplane (512×512) |
3.591 |
3.602 |
3.601 |
3.668 |
3.743 |
3.819 |
3.817 |
4.013 |
4.247 |
baboon (512×512) |
5.663 |
5.714 |
5.738 |
5.666 |
5.875 |
6.031 |
6.037 |
6.107 |
6.149 |
balloon (720×576) |
2.579 |
2.649 |
2.649 |
2.640 |
2.825 |
2.959 |
2.904 |
3.031 |
3.320 |
barb (720×576) |
3.815 |
3.959 |
4.084 |
3.916 |
4.413 |
4.525 |
4.691 |
4.600 |
4.836 |
barb2 (720×576) |
4.216 |
4.276 |
4.378 |
4.318 |
4.530 |
4.613 |
4.686 |
4.789 |
5.024 |
camera (256×256) |
3.949 |
4.060 |
4.098 |
4.208 |
4.190 |
4.245 |
4.314 |
4.535 |
4.959 |
couple (256×256) |
3.388 |
3.448 |
3.446 |
3.543 |
3.609 |
3.696 |
3.699 |
3.915 |
4.318 |
goldhill (720×576) |
4.207 |
4.238 |
4.266 |
4.276 |
4.394 |
4.493 |
4.477 |
4.603 |
4.746 |
lena (512×512) |
4.280 |
4.317 |
4.300 |
4.295 |
4.475 |
4.579 |
4.607 |
4.684 |
4.834 |
lennagrey (512×512) |
3.889 |
3.929 |
3.908 |
3.901 |
4.102 |
4.174 |
4.238 |
4.303 |
4.477 |
noisesquare (256×256) |
5.270 |
5.298 |
5.542 |
5.415 |
5.443 |
5.788 |
5.683 |
5.634 |
5.797 |
peppers (512×512) |
4.199 |
4.241 |
4.251 |
4.246 |
4.421 |
4.550 |
4.513 |
4.629 |
4.850 |
shapes (512×512) |
0.685 |
0.730* |
0.740 |
2.291 |
1.139 |
1.542 |
1.214 |
1.926 |
3.249 |
Average |
3.826 |
3.882 |
3.923 |
4.030 |
4.089 |
4.232 |
4.222 |
4.367 |
4.677 |
Coding rates (bits/pel) listed above are obtained through the following programs.
- MRP
- Our codec (with '-o' option)
- BMF
- BMF v.2.0 by Dmitry Shkarin
*A special compressor (BMFm) designed for CG images is used for 'shapes',
while a generic one (BMFg) is used for the other images.
- TMW
- TMW 0.51 by Bernie Meyer
- Glicbawls
- Grey Level Image Compression By Adaptive Weighted Least Squares by Bernie Meyer
- CALICa
- Context-based Adaptive Lossless Image Coder (arithmetic coding) by Xiaolin Wu
- CALICh
- Context-based Adaptive Lossless Image Coder (Huffman coding) by Xiaolin Wu
- JPEG-LS
- JPEG-LS Codec Implementation (version 2.2) by Signal Processing & Multimedia Group, University of British Columbia
- JPEG 2000
- JJ2000: An implementation of the JPEG 2000 standard in Java (version 3.2.2)
- HD Photo
- HD Photo Device Porting Kit 1.0 by Microsoft (proposed for JPEG XR?)
In addition, all test images are from the TMW page.
Publications
- Ichiro Matsuda, Hirofumi Mori and Susumu Itoh,
"Design of a Minimum-Rate Predictor
and its Application to Lossless Image Coding",
Signal Processing X, Theories and Applications,
(Proceedings of EUSIPCO-2000), Vol.II, pp.1205-1208, Sep. 2000.
- Ichiro Matsuda, Hirofumi Mori and Susumu Itoh,
"Lossless Coding of Still Images Using Minimum-Rate Predictors",
Proceedings of 2000 IEEE International Conference on Image Processing
(ICIP 2000), Vol.I, pp.132-135, Sep. 2000.
- Ichiro Matsuda, Hirofumi Mori and Susumu Itoh,
"Lossless Coding of Color Images Using Adaptive Lossless Color Transformation and Minimum-Rate Predictors",
Proceedings of the International Picture Coding Symposium (PCS 2001),
pp.199-202, Apr. 2001.
- Ichiro Matsuda, Hirofumi Mori, Joji Maeda and Susumu Itoh,
"Design and Evaluation of Minimum-Rate Predictors for Lossless Image Coding"
,
Trans. IEICE (DII), Vol.J85-D-II, No.3, pp.448-456, Mar. 2002 (in Japanese).
- Ichiro Matsuda, Noriyuki Shirai and Susumu Itoh,
"Lossless Coding Using Predictors and VLCs Optimized for Each Image",
Proceedings of SPIE: Visual Communication and Image Processing (VCIP 2003),
Vol.5150, pp.1677-1684, July 2003.
- Ichiro Matsuda, Noriyuki Shirai and Susumu Itoh,
"Lossless Coding Using Predictors and Arithmetic Code Optimized for Each Image",
Visual Content Processing and Representation (Proceedings of 8th International Workshop VLBV03),
Lecture Notes in Computer Science Vol.2849,
pp.199-207, Springer-Verlag, Sep. 2003.
- Taichiro Shiodera, Ichiro Matsuda and Susumu Itoh,
"Lossless Video Coding Using MC Based 3D Prediction Optimized for Each Frame",
Proceedings of 2003 International Workshop on Advanced Image Technology
(IWAIT 2004),
pp.159-163, Jan. 2004.
- Ichiro Matsuda, Taichiro Shiodera and Susumu Itoh,
"Lossless Video Coding Using Variable Block-Size MC and 3D Prediction
Optimized for Each Frame",
Proceedings of 12th European Signal Processing Conference
(EUSIPCO 2004),
pp.1967-1970, Sep. 2004.
- Ichiro Matsuda, Taichiro Shiodera, Hiroki Maeda and Susumu Itoh,
"Lossless Video Coding Using Bi-Directional 3D Prediction
Optimized for Each Frame",
Proceedings of the 2005 European Conference on Circuit Theory and Design
(ECCTD 2005),
Vol.II, pp.71-74, Aug. 2005.
- Ichiro Matsuda, Nau Ozaki, Yuji Umezu and Susumu Itoh,
"Lossless Coding Using Variable Block-Size Adaptive Prediction
Optimized for Each Image",
Proceedings of 13th European Signal Processing Conference
(EUSIPCO 2005),
WedAmPO3, Sep. 2005.
- Ichiro Matsuda, Yuji Umezu, Nau Ozaki, Joji Maeda and Susumu Itoh,
"A Lossless Coding Scheme Using Adaptive Predictors and Arithmetic Code Optimized for Each Image",
Trans. IEICE (DII), Vol.J88-D-II, No.9, pp.1798-1807, Sep. 2005 (in Japanese).
If you have any comment or question, please contact me: