


MPEG(1)                                                   MPEG(1)


NNAAMMEE
       mpeg - MPEG compression and decompression

SSYYNNOOPPSSIISS
       mmppeegg [[--dd]] [[--NNTTSSCC]] [[--CCIIFF]] [[--QQCCIIFF]] [[--PPFF]] [[--NNPPSS]] [[--MMBBPPSS mmbbppss]]
       [[--UUTTCC]]
            [[--XXIINNGG]] [[--DDMMVVBB]] [[--MMVVNNTT]]
            [[--aa SSttaarrttNNuummbbeerr]] [[--bb EEnnddNNuummbbeerr]]
            [[--hh HHoorriizzoonnttaallSSiizzee]] [[--vv VVeerrttiiccaallSSiizzee]]
            [[--ff FFrraammeeIInntteerrvvaall]] [[--gg GGrroouuppIInntteerrvvaall]]
            [[--44]] [[--cc]] [[--ii MMCCSSeeaarrcchhLLiimmiitt]] [[--oo]] [[--pp PPiiccttuurreeRRaattee]]
            [[--qq QQuuaannttiizzaattiioonn]] [[--rr TTaarrggeett RRaattee]]
            [[--ss SSttrreeaammFFiillee]]  [[--xx TTaarrggeett FFiilleessiizzee]] [[--yy]]
            [[--zz CCoommppoonneennttFFiilleeSSuuffffiixx ii]]
            CCoommppoonneennttFFiilleePPrreeffiixx11 [[CCoommppoonneennttFFiilleePPrreeffiixx22 CCoommppoonneenntt--
       FFiilleePPrreeffiixx33]]

DDEESSCCRRIIPPTTIIOONN
       _m_p_e_g    is    a   multimedia   image   sequence   compres-
       sion/decompression program that performs MPEG encoding and
       decoding.


OOPPTTIIOONNSS
       --NNTTSSCC  indicates  that the source frame size for the Lumi-
              nance component is 352x240 and for the  Chrominance
              components is 176x120. This is the default size.

       --CCIIFF   indicates  that the source frame size for the Lumi-
              nance component is 352x288 and for the  Chrominance
              components is 176x144.

       --QQCCIIFF  indicates  that the source frame size for the Lumi-
              nance component is 176x144 and for the  Chrominance
              components is 88x72.

       --PPFF    indicates  that the component sizes specified by --hh
              and --vv are not multiples of 16 and furthermore that
              the input files (or output files) should be exactly
              that specified by the component size --hh and --vv  (or
              as read from the compressed stream).  Otherwise the
              input and output files will be the  component  size
              rounded up to a multiple of 16 in each dimension.

       --NNPPSS   The NPS option allows the encoder to encode without
              having the restriction that the last macroblock  in
              a  slice  cannot  be skipped.  For coding purposes,
              the first macroblock in  a  slice  must  be  coded,
              although the decoder will probably handle that case
              as well.

       --MMBBPPSS  This specifies the macroblocks per slice.  If  left
              unspecified  then  the  number  of  macroblocks per
              slice is the number of macroblocks on  one  row  of



                           14 June 1993                         1





MPEG(1)                                                   MPEG(1)


              the image.

       --UUTTCC   Forces  the  frame number of the image to match the
              Group-of-Pictures time code.  Only useful  for  the
              decoder.

       --XXIINNGG  enables  XING  compatible  encoding for intra-frame
              only files for  the  XING  decoders.   May  not  be
              robust,  but  eventually XING encoders and decoders
              will become more MPEG  compatible.  This  specifies
              160x120  encoding (apparently the defacto) for XING
              decoders.  If  you  wish  to  overide  the  160x120
              encoding  for  XING image format, use the --hh and --vv
              options after the --XXIINNGG option.  By default --PPFF  is
              always selected with -XING option.

       --DDMMVVBB  denotes  Dynamic  Motion  Vector  Bounding.  Should
              reduce the overall bits spent in the motion vectors
              if  set.   Generally  doesn't  do that much for the
              default settings, but  changing  the  search  limit
              will automatically enable the dynamic motion vector
              bounding feature.

       --MMVVNNTT  disables the motion vector telescoping.   Generally
              telescoping is a big gain when the search window is
              small, though if the  search  window  grows  large,
              telescoping may not be beneficial.

       --aa     denotes  the following value to be the start of the
              filename index [inclusive]. Defaults to 0.

       --bb     denotes the following value to be the  end  of  the
              filename index [inclusive]. Defaults to 0.

       --dd     enables  the  decoder.  The only options useful for
              the decoder are the filename specifications and the
              --NNPPSS,,  --UUTTCC commmands; the rest of the command-line
              information is used for encoding.

       --hh     is the horizontal size of the picture in  terms  of
              the  luminance  component,  used  for  a non --NNTTSSCC,,
              --CCIIFF,, --QQCCIIFF filesize.  See the preceding note about
              --PPFF  about  the  dimensions of the file relative to
              that of the component.

       --vv     is the vertical size of the picture in terms of the
              luminance  component,  used  for a non --NNTTSSCC,, --CCIIFF,,
              --QQCCIIFF filesize.  See the preceding note  about  --PPFF
              about  the  dimensions of the file relative to that
              of the component.

       --ff     is the number of interpolated frames  between  each
              intra/predicted frame.  FFrraammeeIInntteerrvvaall--11 is the num-
              ber  of  interpolated  frames  within  each   frame



                           14 June 1993                         2





MPEG(1)                                                   MPEG(1)


              interval.

       --gg     is  the  number  of  frame  intervals per group-of-
              pictures.  With a group interval of  1  then  there
              are no predicted frames.  The value GGrroouuppIInntteerrvvaall--11
              is the number of predicted frames in each group  of
              pictures.

       --44     is  used  to  DC  Intraframe mode where only the DC
              components of each picture block is coded.

       --ii     is the diameter of the  motion  estimation  search.
              The  diameter  must  be  be  positive.  The default
              value is 15 for a search window of approx (+-  7.5,
              +-  7.5).   The motion estimation is telescopic for
              frame distances  greater  than  1  (thus  having  a
              greater  effective  range).   The telescopic motion
              estimation can be turned off  by  the  --MMVVNNTT  flag.
              This  option  can  now have a value greater than 15
              but less than approximately 960.  For large  values
              the estimation becomes very slow.

       --oo     signals  that the program interpreter will read the
              control algorithms from the standard input.

       --pp     specifies the  picture  rate  by  a  code  directly
              placed  into  the  stream.   It  must  be  a number
              between 0 and 8. (default 5=30Hz).

       --qq     gives a value for the quantization not in the pres-
              ence  of  rate  control (rate control automatically
              changes the quantization values).  If rate  control
              is  specified, this parameter gives a value for the
              initial quantization of the first frame (which  the
              program usually takes an educated guess at).

       --rr     specified  a  rate for the coded stream. If this is
              enabled, a buffer model is used to limit  the  size
              of  the  coding  stream. Note this is given in bits
              per second.

       --ss     specifies the filename to store the coded image. If
              unspecified   it   defaults   to  CCoommppoonneennttFFiilleePPrree--
              ffiixx00..mmppgg..

       --vv     designates that quantization decisions  are  to  be
              written  to  standard  output.  This is the verbose
              mode.

       --xx     gives a target filesize for the compressed  stream.
              This  overrides  the  rate option --rr,, if specified.
              This is specified in bits.  The actual  implementa-
              tion  of  this technique is through calculating the
              equivalent bit-rate. Since the buffer  usually  has



                           14 June 1993                         3





MPEG(1)                                                   MPEG(1)


              some contents at the end of coding, the final file-
              size is larger than actually designated.

       --yy     enables the double-precision floating point  Refer-
              ence DCT. The default is the Chen DCT.

       --zz     denotes  the  component file suffixes in sequential
              order. For example
               --zz ..yy..ccllrr --zz ..uu..ccllrr --zz ..vv..ccllrr indicates  that  the
              luminance  and the two chrominance files end with a
              suffix of  ..yy..ccllrr,,  ..uu..ccllrr,,  and  ..vv..ccllrr,,  in  that
              order.  If unspecified, the suffixes default to ..YY,,
              UU,, and ..VV..

       CCoommppoonneennttFFiilleePPrreeffiixx_n
              must be specified. In general, the other  component
              files  share  the  same  prefix and will default to
              CCoommppoonneennttFFiilleePPrreeffiixx11 if not  explicitly  specified.
              However,  in  some cases the prefix is what changes
              in the file and we can specify this individually.


EEXXAAMMPPLLEESS
       To encode a set of raw raster scan YCbCr  (also  known  as
       digital  YUV) files with dimension 352x240 Y, 176x120 U,V,
       with labels, hheelllloo00..YY hheelllloo00..UU hheelllloo00..VV,, hheelllloo11..YY hheelllloo11..UU
       hheelllloo11..VV,,  ......,,  hheelllloo1122..YY hheelllloo1122..UU hheelllloo1122..VV through the
       mpeg encoder, type

       mmppeegg --aa 00 --bb 1122 hheelllloo --ss hheelllloo..mmppgg

       This creates the  output  file  hheelllloo..mmppgg..   In  order  to
       decode  such  a  file  into a sequence of image files with
       prefix ggooooddbbyyee,, type

       mmppeegg --dd --ss hheelllloo..mmppgg ggooooddbbyyee

       The output will be placed in the  files  ggooooddbbyyee00..YY  ggoooodd--
       bbyyee00..UU  ggooooddbbyyee00..VV,, ggooooddbbyyee11..YY ggooooddbbyyee11..UU ggooooddbbyyee11..VV,, ......,,
       ggooooddbbyyee1122..YY   ggooooddbbyyee1122..UU   ggooooddbbyyee1122..VV..    These    image
       sequences  can  be displayed by the _c_v program.  The image
       sequences can also be converted to ppm  and  back  through
       the  programs _c_y_u_v_2_p_p_m and _p_p_m_2_c_y_u_v Those utility programs
       available     by     anonymous     ftp     from      _h_a_v_e_-
       _f_u_n_._s_t_a_n_f_o_r_d_._e_d_u_:_p_u_b_/_c_v_/_C_V_v_1_._2_._1_._t_a_r_._Z_.   There  are  more
       options within an internal  program  interpreter.   Please
       see  the  accompanying  documentation  in  _d_o_c_._p_s for more
       details.


FFTTPP
       _m_p_e_g  is   available   by   anonymous   ftp   from   _h_a_v_e_-
       _f_u_n_._s_t_a_n_f_o_r_d_._e_d_u_:_p_u_b_/_m_p_e_g_/_M_P_E_G_v_1_._2_._t_a_r_._Z_.




                           14 June 1993                         4





MPEG(1)                                                   MPEG(1)


BBUUGGSS
       Somewhat  slower  than  many  commercial  implementations.
       Please inform the author at achung@cs.stanford.edu if  any
       bugs are found.


AAUUTTHHOORR
       Andy Hung

















































                           14 June 1993                         5


