BTPC is a general-purpose image coding method for lossless
or lossy compression of photographs and graphics. It is well suited for coding
multimedia images which combine text, graphics and photographs, and is also
appropriate as a general-purpose method when the image type is not known in
advance.
As a lossy compressor, BTPC is slightly superior to JPEG
for photographic images and much superior for graphics. Visually-transparent
coding of color graphics is usually possible at the rate used by GIF.
Against a state-of-the-art lossy scheme (Said and Pearlman's modified zerotree
coder), it is inferior for photographs but superior for graphics, mixed and
multimedia images.
Moreover (see below), BTPC is much faster. When applied
losslessly, BTPC has good performance on both natural images and graphics.
Against a state-of-the-art lossless scheme (Wu's CALIC), it is usually inferior
for photographs and about the same for graphics. Again, BTPC is much faster.
BTPC uses a binary pyramid, predictive coding and Huffman
coding. No part of it is covered by patents. C++ source code is available and
may be freely used. BTPC is inherently progressive, and a straightforward
modification of the decoder to write directly to an on-screen picture buffer
allows simple, progressive, image recovery.