
Using the JBIG-KIT library
--------------------------
Markus Kuhn -- 2004-06-10
This text explains how to use the functions provided by the JBIG-
KIT
portable image compression library in your application software.
1 Introduction to JBIG
We start with a short introduction to JBIG1. More detailed
information
is provided in the "Introduction and overview" section of the
JBIG1
standard. Information on how to obtain a copy of the standard is
available from <http://www.itu.int/> or <http://www.iso.ch/>.
Image data encoded with the JBIG algorithm is separated into
planes,
layers, and stripes. Each plane contains one bit per pixel. The
number
of planes stored in a JBIG data stream is the number of bits per
pixel. Resolution layers are numbered from 0 to D with 0 being
the
layer with the lowest resolution and D the one with the highest.
Each
next higher resolution layer has twice the number of rows and
columns.
Layer 0 is encoded independently of any other data, all other
resolution layers are encoded as only the difference between the
next
lower and the current layer. For applications that require very
quick
access to parts of an image, it is possible to divide an image
into
several horizontal stripes. All stripes of one resolution layer
have
equal size, except perhaps the final one. The number of stripes
of an
image is equal in all resolution layers and in all bit planes.
The compressed data stream specified by the JBIG standard is
called a