pamtojpeg2k



Pamtojpeg2k User Manual(0)                          Pamtojpeg2k User Manual(0)




NAME

       pamtojpeg2k - convert PAM/PNM image to a JPEG-2000 code stream



SYNOPSIS

       pamtojpeg2k [-imgareatlx=column] [-imgareatly=row] [-tilegrdtlx=column]
       [-tilegrdtly=row]        [-tilewidth=columns]        [-tileheight=rows]
       [-prcwidth=columns]        [-prcheight=rows]       [-cblkwidth=columns]
       [-cblkheight=rows]   [-mode={integer|int|real}]    [-compression=ratio]
       [-ilyrrates=ratestring]          [-numrlvls=number]          [-progres-
       sion={lrcp|rlcp|rpcl|pcrl|cprl}]  [-numgbits=number]  [-nomct]   [-sop]
       [-eph]  [-lazy]  [-termall]  [-segsym] [-vcausal] [-pterm] [-resetprob]
       [-verbose] [-debuglevel=number] filename

       Minimum unique abbreviation of option is acceptable.  You may use  dou-
       ble  hyphens  instead  of single hyphen to denote options.  You may use
       white space in place of the equals sign to separate an option name from
       its value.




DESCRIPTION

       This program is part of Netpbm(1).

       pamtojpeg2k  converts the named PBM, PGM, PPM, or PAM file, or Standard
       Input if no file is named, to a JPEG-2000 code  stream  (JPC)  file  on
       Standard Output.

       The  JPEG-2000  specification  specifies two different formats: JP2 and
       JPEG-2000 code stream (JPC).   JP2  represents  a  visual  image  quite
       specifically,  whereas  JPC is a more or less arbitrary array of codes.
       pamtojpeg2k can’t produce a JP2, but the  JPC  image  that  pamtojpeg2k
       produces  is  very  similar to a JP2 if the input is a PBM, PGM, or PPM
       image or equivalent PAM image.  One difference is that that RGB  inten-
       sity  values in a JP2 are SRGB values, while pamtojpeg2k produces ITU-R
       Recommedation BT.709 values.  Those are very similar, but  not  identi-
       cal.   Another  difference  is that a JP2 can contain extra information
       about an image that JPC cannot.

       When the input is a PAM image other than a PBM, PGM, or PPM equivalent,
       the  JPC raster produced contains whatever the PAM raster does.  It can
       have any number of planes with any meanings; the planes are in the same
       order in the JPC output as in the PAM input.

       A  JPC  image  has  a "precision," which is the number of bits used for
       each code (in Netpbm lingo, "sample").  Actually,  it  has  a  separate
       precision  for  each  component.  pamtojpeg2k uses for the precision of
       every component the least number of bits that can represent the  maxval
       of  the  input image.  A JPC image does not have an independent concept
       of maxval; the maxval of a JPC sample is the  maximum  value  that  the
       number  of bits specified by the precision can represent in pure binary
       code.  E.g. if the precision is 4, the maxval is 15.  pamtojpeg2k  does
       of  course  scale the sample values from the input maxval to the output
       maxval.  Example: The input maxval is 99.  This means JPC precision  is
       7  bits  and  the JPC maxval is 127.  A sample value of 33 in the input
       becomes a sample value of 43 in the output.

       pamtojpeg2k generates the JPC output with the Jasper JPEG-2000  library
       .   See  documentation  of  the library for details on what pamtojpeg2k
       produces.  Note that the Jasper library contains facilities for reading
       PNM  images,  but  pamtojpeg2k  does not use those.  It uses the Netpbm
       library instead.  Note that the makers of the Jasper library  write  it
       "JasPer,"  but  Netpbm  documentation follows standard American English
       typography rules, which don’t allow that kind of capitalization.

       Use jpeg2ktopam to convert in the other direction.

       The program  jasper,  which  is  packaged  with  the  Jasper  JPEG-2000
       library, also converts between JPEG-2000 and PNM formats.  Because it’s
       packaged with  the  library,  it  may  exploit  it  better,  especially
       recently  added  features.   However,  since it does not use the Netpbm
       library to read and write the Netpbm formats, it doesn’t do as  good  a
       job on that side.



OPTIONS

       Most  of the options are identical in name and function to options that
       the Jasper library JPC encoder subroutine takes.  See Jasper documenta-
       tion   for details.  Here, we document only options that are not direct
       analogs of Jasper options.




       -compression=ratio
              ratio is a floating point number that specifies the  compression
              ratio.   pamtojpeg2k  will adjust quality as necessary to ensure
              that you get this compression ratio.  E.g. 4  means  the  output
              will be about one fourth the size in bytes of the input file.

              The  compression  ratio  must  be at least 1.  The default is 1,
              which means the output has all the quality of the input  --  the
              conversion is lossless.

              Note that though Jasper library takes a compression factor, this
              option specifies a compression ratio.  The compression factor is
              the  multiplicative  inverse  of  (1 divided by) the compression
              ratio.


       -verbose
              This option causes pamtojpeg2k to issue  informational  messages
              about the conversion process.


       -debuglevel=number
              This  option  controls  debug  messages from the Jasper library.
              pamtojpeg2k passes number as the debug level to the  Jasper  JPC
              encoder.





EXAMPLES

       This example compresses losslessly.

         pamtojpeg2k myimg.ppm >myimg.jpc

       jpeg2ktopam will recreate myimg.ppm exactly.

       This example compresses the file to one tenth its original size, throw-
       ing away information as necessary.

         pamtojpeg2k -compression=10 myimg.pgm >myimg.jpc




ABOUT JPEG-2000

       JPEG-2000 is a format that compresses a visual image (or a similar  set
       of  data)  into  a minimal number of bytes for storage or transmission.
       In that, its goal is similar to JPEG.  It has two main differences from
       JPEG.

       One  difference  is  that  it  does a much better job on most images of
       throwing out information in order to achieve a  smaller  output.   That
       means  when  you  reconstruct  the  image from the resulting compressed
       file, it looks a  lot  closer  to  the  image  you  started  with  with
       JPEG-2000  than  with  JPEG,  for  the  same compressed file size.  Or,
       looked at another way, with JPEG-2000 you get a much smaller file  than
       with JPEG for the same image quality.

       The  second difference is that with JPEG-2000, you decide how much com-
       pression you want and the compressor adjusts the quality to  meet  your
       requirement,  whereas  with  JPEG, you decide how much quality you want
       and the compressor adjusts the size of the output to meet your require-
       ment.   I.e.  with  JPEG-2000, the quality of the result depends on the
       compressibility of the input, but with JPEG, the  size  of  the  result
       depends on the compressibility of the input.

       With  JPEG-2000,  you  can specify lossless compression, thus making it
       compete with GIF and PNG.  With standard JPEG, you  always  lose  some-
       thing.   (There  are  rumored  to be variations of JPEG around that are
       lossless, though).

       JPEG is much older than JPEG-2000 and far more popular.  JPEG is one of
       the half dozen most popular graphics formats and virtually all graphics
       facilities understand it.  JPEG-2000 is virtually unknown.

       There is no compatibility between JPEG and  JPEG-2000.   Programs  that
       read JPEG do not automatically read JPEG-2000 and vice versa.




SEE ALSO

       jpeg2ktopam(1), pnmtopeg(1), ppm(1), pgm(1), pbm(1), pam(1),



History

       pamtojpeg2k was added to Netpbm in Release 10.12 (November 2002).



netpbm documentation            27 October 2002     Pamtojpeg2k User Manual(0)

Man(1) output converted with man2html