Benchmarks: a fourth image set

Beyond the other three image sets used to benchmark the PCIF format, another set of data has been used to mesure the compression ratio in comparison with other formats. The image set has been proposed on www.imagecompression.info and contains 14 images generally quite big in dimension (from 10MB to 114MB). This further test is interesting as it uses the algorithm on very large images that were not contained in the other sets. All images can be found at the original site in various formats. In this benchmark, true color images with 8 bit color depth have been considered, as these are the target of the program. The settings used for the creation of the files are described here.

Of all images one is computer generated (artificial.bmp) while all the others are photographical. The results of the PNG format are inferior to those of PNG on an average of a 17% on the file size; single files go to a very light difference for artificial.bmp (3%), thanks to the large uniform zones good for PNG, to a 33% difference in flower_foveon.bmp. In comparison to JP2, PCIF results are quite similar for photographical images but slighlty favorable to PCIF: results go from a 4% smaller file in JP2 (big_building) to a 13% smaller file in PCIF (flower_foweon). As usual, Jpeg2000 is quite worst for the artificial image.

For what regards JPEG-LS, the produced results are very similar. The most noticeable difference is probably the better performance of the PCIF algorithm for the artificial images, as observed in the other image sets.

In conclusion, the PCIF algorithm gives similar results to those obtained with other benchmarks: file sizes comparable to Jpeg2000 and JPEG-LS for photos and better results for artificial images. Since with an image set with lots of big images the PCIF algorithm seems slightly better instead than slightly worst for most of the photographical images, we could think that the algorithm scales well with the growth of image dimension, but further tests should be done to confirm this.

Before the table with the detailed results, a final observation should be done about time of execution. Since the program is actually implemented in Java, time performances with large images such as those in this set are quite poor. For now the performances are good for smaller images, such as those used in websites. If the algorithm moves some interest, it will probably be translated in C allowing an execution time various times smaller.

Update: the BCIF algorithm, evolution of the PCIF algorithm, has also been included in the benchamrks. It has a better compression ratio and a strongly inscreased speed. Take a look at the BCIF homepage.

File \ size (KB) BMP BCIF PCIF JPEG-LS JPEG2000 PNG
artificial1843211711550178322521611
big_building1144135011053343545105088564369
big_tree811534288444287437184450651419
bridge326131827718637184551847620962
cathedral1762578738280831582539840
deer312891994520244204232079521732
fireworks2160939844434410748065670
flower_foveon1004622812355255126823134
hdr1843255035724566258317072
leaves_iso_16001762596291012610210989711805
leaves_iso_20017625773582108630813010331
nightshot_iso_1002160958166185592965657701
nightshot_iso_1600216091131611879113501185413275
spider_web35511810482348050843910228
Total459593194628203494203698203377239156
The evolution of the PCIF algorithm is now available ! It has a greater compression ratio, it is much faster and the implementation is available in both Java bytecode and native executables. Take a look at the new BCIF algorithm.