Research -> Document Imaging -> Image Compression -> JBIG Search

Context-Based Image Compression,
JBIG and JBIG2

Eugene Ageenko


Context-based Image Compression = Context-based Statistical Modeling + Arithmetic Coding

In context-based compression an image is processed pixel by pixel in raster-scan order. The probabilities of the black and white pixels are conditioned on the context determined by combination of the already coded neighboring pixels. Both the encoder and decoder estimate the model dynamically adapting it to the input data. An equal initial probability distribution is assumed. The approach is adopted in the international standard JBIG and emerging standard JBIG2. 

In an image, pixels form geometrical structures with appropriate spatial dependencies. Dependencies can be localized to a limited neighborhood defined by a local template. Statistical context-based image compression utilizes spatial dependencies in the image by conditioning the pixel probabilities on the combination of neighboring pixel values. The compression consists of two distinct phases: statistical modeling and arithmetic coding [1].


Compression scheme:


Context-based modeling:

The pixel configuration in the template determines the context, and in this way, the model to be used for pixel compression, see Figure. Here, the pixel configuration 1110010010 gives the model index 914 of 1024, which is the number of contexts possible with this template. In adaptive image compression, the model is constructed dynamically during the encoding. It starts from equal initial distribution and is updated after each pixel has been processed.


Arithmetic coding:

Arithmetic coding assigns optimal code for the pixels in regards to the given statistical model. The code size can be estimated by the information content of the model measured as the entropy.


Further reading:

Context-based image compression explained (Adobe PDF document)
a consistent presentation of the fundamental concepts and methods concerning context-based statistical modeling;


JBIG:


JBIG features:


JBIG2:

Unlike JBIG, JBIG2 segments a page into different classes of image data, in particular, textual, halftone and generic (other), and utilize the repetitive nature of the textual and halftone images. Textual data is encoded using the sotf pattern matching technique (see Figure below). The encoding of the data other than text or halftones remains similar to JBIG with the difference that a newer version of the coder is used, namely the MQ-coder.

Two-level context template:


Further reading:

The MQ-coder (evolved from the QM-coder)


JBIG References:


Updated: 2005   © Eugene Ageenko