Man Linux: Main Page and Category List


       c44 - DjVuPhoto encode.


       c44 [options] inputfilename [outputfilename]


       Produces a DjVuPhoto encoded image.  The input image file inputfilename
       can be either a portable gray-map (PGM) or a  portable  pix-map  (PPM).
       Input  images  compressed  with  JPEG  are also accepted. It is however
       suggested to only use high quality JPEG files (low  compression  ratio,
       large  size)  because the wavelet compression will increase the defects
       already present in highly compressed JPEG files.

       The program produces a DjVuPhoto file outputfilename.   If  the  output
       file  name  is  not specified, a default file name will be generated by
       replacing the input file name suffix by suffix djvu.

       The main design objective for the DjVu wavelets consisted  of  allowing
       progressive rendering and smooth scrolling of large images with limited
       memory requirements.  Decoding functions process  the  compressed  data
       and   update   a   memory   efficient  representation  of  the  wavelet
       coefficients.  Imaging function then can quickly  render  an  arbitrary
       segment  of  the  image  using the available data.  Both process can be
       carried out  in  two  threads  of  execution.   This  design  plays  an
       important  role  in the DjVu system.  We investigated various state-of-
       the-art  wavelet  compression  schemes.   Although  these  schemes  may
       achieve  slightly  smaller  file  sizes, the decoding functions did not
       even  approach  our  requirements.   The  IW44  wavelets  reach   these
       requirements  today  and  may  in  the  future  implement  more  modern
       refinements  if  these  refinements  can  be  implemented  within   our


       DjVuPhoto  files  are  logically  composed  of  a  sequence of "slices"
       containing  successive  image  refinements.   Slices  are  grouped   in
       "chunks"  defining  the  progressive rendering sequence.  The viewer is
       able to display an intermediate image after processing each  chunk.   A
       typical  DjVuPhoto  files contains 80 to 120 slices grouped into 1 to 4

       The quality selection options  provide  various  ways  to  specify  the
       number  of  chunks and the number of slices per chunk.  The c44 program
       adds slices to the current chunk until exceeding  a  target  number  of
       slices,  a  target  file  size, or a target quality specification.  The
       following options define targets for each chunk.  The  option  argument
       contain  several  numerical  values (one per chunk) separated by either
       commas or pluses.

       -slice n+...+n
              Specify the number of slices in each chunk.  The option argument
              contains   plus-separated   numerical  values  (one  per  chunk)
              indicating the  number  of  slices  per  chunk.   Option  -slice
              74+13+10,  for  instance, would be appropriate for compressing a
              photographic image with  three  progressive  refinements.   More
              quality  and more refinements can be obtained with option -slice

       -slice n,...,n
              Specify the cumulative number of slices for each  chunk.   Since
              the  final  quality is determined by the total number of slices,
              it is often more convenient to use comma-separated  values  (one
              per  chunk)  indicating the cumulative number of slices for each
              chunk (i.e. including those encoded  in  all  previous  chunks).
              The  values  suggested  above  can  also  be expressed as -slice
              74,87,97 and -slice 72,83,93,103.

       -size n,...,n
              Specify size targets for each chunk  expressed  in  bytes.   The
              option argument can be either a plus-separated list specifying a
              size for each  chunk,  or  a  comma  separated  list  specifying
              cumulative  sizes  for each chunk and all previous chunks.  Size
              targets are approximates.  Slices will be added  to  each  chunk
              until exceeding the specified target.

       -bpp n,...,n
              Specify size targets for each chunk expressed in bits-per-pixel.
              Both  comma-separated  and  plus-separated  specifications   are
              accepted.  Option -bpp 0.25,0.5,1 usually provides good results.

       -percent n,...,n
              Specify size targets for each chunk expressed as a percentage of
              the  input  file  size.  Both comma-separated and plus-separated
              specifications  are  accepted.   Results  can   be   drastically
              different  according  to  the  format of the input image (raw or
              JPEG compressed).

       -decibel n,...,n
              Specify quality targets for each chunk  expressed  as  a  comma-
              separated  list  of  increasing  decibel values.  Decibel values
              range from 16 (very low quality)  to  48  (very  high  quality).
              This  criterion  should  not  be relied upon when re-encoding an
              image  previously  compressed  by  another  compression  scheme.
              Selecting  this  option  significantly increases the compression

       -dbfrac frac
              Indicate that the decibel values specified  in  option  -decibel
              should  be computed by averaging the mean squared errors of only
              the fraction frac of the most mis-represented blocks of 32 x  32
              pixels.   This option is useful with composite images containing
              solid color features (e.g. an image with a large white  border).

       Providing  no  quality  specification  options  automatically selects a
       default  quality  specification  -slice  74,89,99.   Multiple   quality
       specification  options  are  allowed.  The program outputs a file whose
       total number of chunks is the largest number of chunks of  all  quality
       specifications.   Slices  are added to each chunk until reaching any of
       the quality target for this chunk.


       The following additional options are supported:

       -dpi n Specify the resolution information encoded into the output  file
              expressed  in  dots per inch. The resolution information encoded
              in DjVu files determine how the decoder scales the  image  on  a
              particular  display.   Meaningful  resolutions  range from 25 to
              1200.  The default value, 100 dpi, should be suitable  for  most
              photographic images.

       -gamma n
              Specify the gamma correction information encoded into the output
              file.  The argument n specified the gamma value  of  the  device
              for  which  the  input  image was designed. The default value is
              2.2.  This is appropriate for images  designed  for  a  standard
              computer monitor.

       -mask pbmfilename
              The design of the IW44 wavelets allows for compressing partially
              masked images.  This option can be used when certain pixels of a
              background  image  are going to be covered by foreground objects
              like text or drawings.  File pbmfile must be a  PBM  file  whose
              size  matches  the  size of the input file.  Each black pixel in
              pbmfile means that the value of the corresponding pixel  in  the
              input  file  is  irrelevant.   The IW44 encoder will replace the
              masked pixels by a color value whose coding cost is minimal (see
              technical details.)

              Select normal chrominance encoding.  Chrominance information  is
              encoded  at  the  same resolution as the luminance.  This is the

              Selects  half  resolution  chrominance  encoding.    Chrominance
              information is encoded at half the luminance resolution.

       -crcbdelay n
              This option can be used with -crcbnormal and -crcbhalf to modify
              the  quality  of  the  chrominance  information.    The   option
              arguments  specifies  a  parameter  n, expressed in slices, that
              reduces the  bit-rate  associated  with  the  chrominance.   The
              default chrominance encoding delay is 10 slices.

              Select the highest possible quality for encoding the chrominance
              information. This is equivalent to  specifying  -crcbnormal  and
              -crcbdelay 0.

              Disable  the  encoding  of  the chrominance.  Only the luminance
              information will be encoded. The resulting image  will  show  in
              shades of gray.


       The  default  quality  setting of the DjVuLibre version of c44 has been
       increased.  It produces larger files with a  better  quality.   Quality
       can be lowered using the quality selection options!


       The encoder requires more memory than necessary.
       The rechunking capability is currently broken.


       This  program  was written by Leon Bottou <>
       and was then improved  by  Andrei  Erofeev  <>,
       Bill Riemers <> and many others.


       djvu(1), pnm(5), cjpeg(1).