JBIG

from The Free On-line Dictionary of Computing (8 July 2008)
Joint Bi-level Image Experts Group
JBIG

   <algorithm> (JBIG) An experts group of {ISO}, {IEC} and
   {ITU-T} (JTC1/SC2/WG9 and SGVIII) working to define a
   {compression} {standard} for {lossless} {image} coding.  Their
   proposed {algorithm} features compatible {progressive coding}
   and {sequential coding} and is lossless - the image is
   unaltered after compression and decompression.

   JBIG can handle images with from one to 255 bits per {pixel}.
   Better compression algorithms exist for more than about eight
   bits per pixel.  With multiple bits per pixel, {Gray code} can
   be used to reduce the number of bit changes between adjacent
   decimal values (e.g. 127 and 128), and thus improve the
   compression which JBIG does on each {bitplane}.

   JBIG uses discrete steps of detail by successively doubling
   the {resolution}.  The sender computes a number of resolution
   layers and transmits these starting at the lowest resolution.
   Resolution reduction uses pixels in the high resolution layer
   and some already computed low resolution pixels as an index
   into a lookup table. The contents of this table can be
   specified by the user.

   Compatibility between progressive and sequential coding is
   achieved by dividing an image into stripes.  Each stripe is a
   horizontal bar with a user definable height.  Each stripe is
   separately coded and transmitted, and the user can define in
   which order stripes, resolutions and bitplanes are intermixed
   in the coded data.  A progressively coded image can be decoded
   sequentially by decoding each stripe, beginning by the one at
   the top of the image, to its full resolution, and then
   proceeding to the next stripe.  Progressive decoding can be
   done by decoding only a specific resolution layer from all
   stripes.

   After dividing an image into {bitplanes}, {resolution layers}
   and stripes, eventually a number of small bi-level {bitmaps}
   are left to compress.  Compression is done using a {Q-coder}.

   The Q-coder codes bi-level pixels as symbols using the
   probability of occurrence of these symbols in a certain
   context.  JBIG defines two kinds of context, one for the
   lowest resolution layer (the base layer), and one for all
   other layers (differential layers).  Differential layer
   contexts contain pixels in the layer to be coded, and in the
   corresponding lower resolution layer.

   For each combination of pixel values in a context, the
   probability distribution of black and white pixels can be
   different.  In an all white context, the probability of coding
   a white pixel will be much greater than that of coding a black
   pixel.  The Q-coder, like {Huffman coding}, achieves
   {compression} by assigning more bits to less probable symbols.
   The Q-coder can, unlike a Huffman coder, assign one output
   code bit to more than one input symbol, and thus is able to
   compress bi-level pixels without explicit {clustering}, as
   would be necessary using a Huffman coder.

   [What is "clustering"?]

   Maximum compression will be achieved when all probabilities
   (one set for each combination of pixel values in the context)
   follow the probabilities of the pixels.  The Q-coder therefore
   continuously adapts these probabilities to the symbols it
   sees.

   JBIG can be regarded as two combined algorithms:

   (1) Sending or storing multiple representations of images at
   different resolutions with no extra storage cost.
   Differential layer contexts contain pixels in two resolution
   layers, and so enable the Q-coder to effectively code the
   difference in information between the two layers, instead of
   the information contained in every layer.  This means that,
   within a margin of approximately 5%, the number of resolution
   layers doesn't effect the compression ratio.

   (2) A very efficient compression algorithm, mainly for use
   with bi-level images.  Compared to {CCITT Group 4}, JBIG is
   approximately 10% to 50% better on text and line art, and even
   better on {halftones}.  JBIG, just like Group 4, gives worse
   compression in the presence of noise in images.

   An example application would be browsing through an image
   database.

   ["An overview of the basic principles of the Q-coder adaptive
   binary arithmetic coder", W.B. Pennebaker, J.L. Mitchell,
   G.G. Langdon, R.B. Arps, IBM Journal of research and
   development, Vol.32, No.6, November 1988, pp. 771-726].

   (http://crs4.it/~luigi/MPEG/jbig.html).

   (1998-03-29)
    
from V.E.R.A. -- Virtual Entity of Relevant Acronyms (June 2006)
JBIG
       Joint Bi-level Image expert Group (org., JTC1)
       
    

[email protected]