dwww Home | Manual pages | Find package

Pnmtojbig User Manual(1)    General Commands Manual    Pnmtojbig User Manual(1)

NAME
       pnmtojbig - PNM to JBIG file converter

SYNOPSIS
       pnmtojbig

       [options] [input-file [output-file]]

DESCRIPTION
       This program is part of Netpbm(1).

       pnmtojbig reads a PBM or PGM image, compresses it, and outputs the image
       as a JBIG bi-level image entity (BIE) file.

       JBIG  is  a highly effective lossless compression algorithm for bi-level
       images (one bit per pixel), which is particularly suitable  for  scanned
       document pages.

       A  JBIG  encoded image can be stored in several resolutions (progressive
       mode).  These resolution layers can be stored all in one single  BIE  or
       they can be stored in several separate BIE files.  All resolution layers
       except the lowest one are stored merely as differences to the next lower
       resolution  layer,  because  this  requires less space than encoding the
       full image completely every time. Each resolution layer  has  twice  the
       number  of  horizontal  and  vertical  pixels than the next lower layer.
       JBIG files can also store several bits  per  pixel  as  separate  bitmap
       planes, and pnmtojbig can read a PGM file and transform it into a multi-
       bitplane BIE.

OPTIONS
       In  addition  to  the  options common to all programs based on libnetpbm
       (most notably -quiet, see ]8;;index.html#commonoptions\ Common Options]8;;\ ),  pnmtojbig  recognizes  the
       following command line options:

       -q     Encode  the  image  in  one  single  resolution layer (sequential
              mode). This is usually the most efficient compression method.  By
              default,  the number of resolution layers is chosen automatically
              such that the lowest layer image is not larger  than  640  ×  480
              pixels.

       -x number
              Specify  the  maximal  horizontal  size  of the lowest resolution
              layer.  The default is 640 pixels.

       -y number
              Specify the maximal vertical size of the lowest resolution layer.
              The default is 480 pixels.

       -l number
              Select the lowest resolution layer that will be  written  to  the
              BIE.   It is possible to store the various resolution layers of a
              JBIG image in progressive mode into different BIEs.   Options  -l
              and  -h  allow  you  to select the resolution-layer interval that
              will appear in the created BIE.  The lowest resolution layer  has
              number  0 and this is also the default value.  By default, pnmto-
              jbig writes all layers.

       -h number
              Select the highest resolution layer that will be written  to  the
              BIE.   By  default, pnmtojbig writes all layers.  See also option
              -l.

       -b     Use binary values instead of Gray code words in order  to  encode
              pixel  values in multiple bitplanes.  This option has only an ef-
              fect if the input is a PGM file and if more than one bitplane  is
              produced.  Note  that  the decoder has to make the same selection
              but cannot determine from the BIE, whether Gray  or  binary  code
              words were used by the encoder.

       -d number
              Specify  the  total number of differential resolution layers into
              which the input image will be split in  addition  to  the  lowest
              layer.   Each  additional layer reduces the size of layer 0 by 50
              %.  This option overrides options -x and -y, which are usually  a
              more  comfortable  way of selecting the number of resolution lay-
              ers.

       -s number
              The JBIG algorithm splits each image into a number of  horizontal
              stripes.   This option specifies that each stripe shall have num-
              ber lines in layer 0.  The default value is selected so that  ap-
              proximately 35 stripes will be used for the whole image.

       -m number
              Select  the  maximum  horizontal  offset of the adaptive template
              pixel.  The JBIG encoder uses a number of neighbour pixels in or-
              der to get statistical a priori  knowledge  of  the  probability,
              whether  the next pixel will be black or white.  One single pixel
              out of this template of context  neighbor  pixels  can  be  moved
              around.   Especially  for dithered images it can be a significant
              advantage to have one neighbor pixel which has a  distance  large
              enough to cover the period of a dither function.  By default, the
              adaptive  template  pixel can be moved up to 8 pixels away.  This
              encoder go up to 23 pixels, however as decoders are only required
              to handle at least a distance of 16 pixels by  the  standard,  no
              higher  value than 16 for number is recommended in order to main-
              tain interoperability with other JBIG implementations.  The maxi-
              mal vertical offset of the  adaptive  template  pixel  is  always
              zero.

       -t number
              Encode  only the specified number of most significant bit planes.
              This option allows one to reduce the depth of an input  PGM  file
              if not all bits per pixel are needed in the output.

       -o number
              JBIG  separates an image into several horizontal stripes, resolu-
              tion layers and planes, were each  plane  contains  one  bit  per
              pixel.   One single stripe in one plane and layer is encoded as a
              data unit called stripe data entity (SDE) inside the BIE.   There
              are  12 different possible orders in which the SDEs can be stored
              inside the BIE and number selects which one shall be  used.   The
              order  of the SDEs is only relevant for applications that want to
              decode a JBIG file which has not yet completely arrived from e.g.
              a slow network connection.  For instance some applications prefer
              that the outermost of the three loops (stripes,  layers,  planes)
              is  over  all  layers  so  that all data of the lowest resolution
              layer is transmitted first.

              The following values for number select  these  loop  arrangements
              for writing the SDEs (outermost loop first):

       0      planes, layers, stripes

       2      layers, planes, stripes

       3      layers, stripes, planes

       4      stripes, planes, layers

       5      planes, stripes, layers

       6      stripes, layers, planes

              All  loops  count  starting with zero, however by adding 8 to the
              above order code, the layer loop  can  be  reversed  so  that  it
              counts  down  to  zero  and then higher resolution layers will be
              stored before lower layers.  Default order is 3 which  writes  at
              first  all  planes of the first stripe and then completes layer 0
              before continuing with the next layer and so on.

       -p number
              This option allows you to activate or deactivate various optional
              algorithms defined in the JBIG standard.  Just add the numbers of
              the following options which you want to activate in order to  get
              the number value:

       4      deterministic prediction (DPON)

       8      typical prediction (TPBON)

       16     diff. layer typical prediction (TPDON)

       64     layer 0 two-line template (LRLTWO)

              Except  for  special  applications  (like communication with JBIG
              subset implementations) and for debugging purposes you will  nor-
              mally not want to change anything here.  The default is 28, which
              provides the best compression result.

       -c     The  adaptive  template pixel movement is determined as suggested
              in annex C of the standard.  By default the template change takes
              place directly in the next line which is most effective.  However
              a few conformance test examples in the standard require the adap-
              tive template change to be delayed until the first  line  of  the
              next stripe.  This option selects this special behavior, which is
              normally  not  required  except in order to pass some conformance
              test suite.

       -v     After pnmtojbig creates the BIE, it lists a few technical details
              of the created file (verbose mode).

FORMATS
       Most of the format pnmtojbig creates is defined by the JBIG standard.

       The standard, however, does not specify which values  in  the  BIE  mean
       white  and  which  mean  black.  It contains a recommendation that for a
       single plane image zero mean background and one mean foreground, but the
       Netpbm formats have no concept of foreground and  background.   And  the
       standard says nothing about values for multiple plane BIEs.

       pnmtojbig  follows  Markus  Kuhn's implementation of the standard in the
       pbmtojbg program that comes with his JBIG library:  If the BIE is a sin-
       gle plane BIE, zero means white and one means black.  If it is a  multi-
       ple plane BIE, zero means black and the maximal value is white.

STANDARDS
       This  program implements the JBIG image coding algorithm as specified in
       ISO/IEC 11544:1993 and ITU-T T.82(1993).

AUTHOR
       pnmtojbig is based on the JBIG library by Markus Kuhn, part of his JBIG-
       KIT package.  The pbmtojbg program is part of the JBIG-KIT package.  The
       most recent version of that library and tools set is freely available on
       the Internet from anonymous ftp server  ]8;;ftp://ftp.informatik.uni-erlangen.de\ftp.informatik.uni-erlangen.de]8;;\
       in directory pub/doc/ISO/JBIG/.

       pnmtojbig is part of the Netpbm package of graphics tools.

SEE ALSO
       pnm(1), jbigtopnm(1)

LICENSE
       There  was at one time concern about the need for patent licenses to use
       pnmtojbig, but any relevant patents expired by 2012.

DOCUMENT SOURCE
       This manual page was generated by the Netpbm tool  'makeman'  from  HTML
       source.  The master documentation is at

              http://netpbm.sourceforge.net/doc/pnmtojbig.html

netpbm documentation              28 July 2020         Pnmtojbig User Manual(1)

Generated by dwww version 1.16 on Tue Dec 16 06:37:02 CET 2025.