







                                I M G F U N . T X T

                                  C O N T E N T S



          1.  Introduction. . . . . . . . . . . . . . . . . . . . . . .1

              1.1  ImgFun Package . . . . . . . . . . . . . . . . 1
              1.2  Packing lists. . . . . . . . . . . . . . . . . 1

          2.  ASP Ombudsman . . . . . . . . . . . . . . . . . . . . . .2


          3.  System Requirement. . . . . . . . . . . . . . . . . . . .3

              3.1  Display mode . . . . . . . . . . . . . . . . . 3
              3.2  VESA support . . . . . . . . . . . . . . . . . 3
              3.3  SVGA support . . . . . . . . . . . . . . . . . 4

          4.  Computer Images . . . . . . . . . . . . . . . . . . . . .6

              4.1  Gray Level Images. . . . . . . . . . . . . . . 6
              4.2  Color Mapped Images. . . . . . . . . . . . . . 6
              4.3  True Color Images. . . . . . . . . . . . . . . 7

          5.  What's ImgFun for?. . . . . . . . . . . . . . . . . . . .8

              5.1  ImgFun under Windows and PaintBrush. . . . . . 8

          6.  General Operations. . . . . . . . . . . . . . . . . . . 10

              6.1  How to start ImgFun. . . . . . . . . . . . . .10
              6.2  Main menu functions. . . . . . . . . . . . . .10
              6.3  The on line help system. . . . . . . . . . . .11
              6.4  Fast Start . . . . . . . . . . . . . . . . . .11

          7.  Image Formats . . . . . . . . . . . . . . . . . . . . . 13

              7.1  GIF. . . . . . . . . . . . . . . . . . . . . .13
              7.2  PCX. . . . . . . . . . . . . . . . . . . . . .13
              7.3  BMP. . . . . . . . . . . . . . . . . . . . . .13
              7.4  JPEG  (*.jpg)  Compression and Decompression .14
              7.5  Other Formats. . . . . . . . . . . . . . . . .16

          8.  Function Usage: . . . . . . . . . . . . . . . . . . . . 17

              8.1  File:. . . . . . . . . . . . . . . . . . . . .17
                   8.1.1  Load: Load an image to work. . . . . . 17
                   8.1.2  View: View an image file.. . . . . . . 17
                   8.1.3  Save: Save the loaded image 1. . . . . 17
                   8.1.4  Quit: Quit ImgFun. . . . . . . . . . . 17






              8.2  Adjust:. . . . . . . . . . . . . . . . . . . .17
                   8.2.1  Brighten: Brighten the loaded image. . 17
                   8.2.2  Darken  : Darken the loaded image. . . 17
                   8.2.3  Contrast:. . . . . . . . . . . . . . . 17
                   8.2.4  cOlor   :. . . . . . . . . . . . . . . 17
              8.3  Set: . . . . . . . . . . . . . . . . . . . . .17
                   8.3.1  Background: Choose a background color. 17
                   8.3.2  Cut area  :. . . . . . . . . . . . . . 17
                   8.3.3  Directions:. . . . . . . . . . . . . . 17
                   8.3.4  Threshold : View a binary map. . . . . 17
              8.4  Transform: . . . . . . . . . . . . . . . . . .17
                   8.4.1  Rescale   :. . . . . . . . . . . . . . 17
                   8.4.2  Smooth:. . . . . . . . . . . . . . . . 18
                   8.4.3  shArpen: . . . . . . . . . . . . . . . 18
                   8.4.4  rOtate:. . . . . . . . . . . . . . . . 18
              8.5  Options: . . . . . . . . . . . . . . . . . . .18
                   8.5.1  Display  : . . . . . . . . . . . . . . 18
                   8.5.2  card     : . . . . . . . . . . . . . . 18
                   8.5.3  direcTory: . . . . . . . . . . . . . . 18
                   8.5.4  Dither   : . . . . . . . . . . . . . . 18
              8.6  Utility: . . . . . . . . . . . . . . . . . . .18
                   8.6.1  Compress  : JPEG compression . . . . . 18
                   8.6.2  cOnvert   :. . . . . . . . . . . . . . 18
                   8.6.3  sLide show: a manual slide show. . . . 18
              8.7  Undo and Update: . . . . . . . . . . . . . . .18
              8.8  Swap (F3) :. . . . . . . . . . . . . . . . . .19
              8.9  DOS  (F6) :Shell out to DOS. . . . . . . . . .19
              8.10  Gray (F7) : . . . . . . . . . . . . . . . . .19



ImgFun.txt               Speedy Software                   page 1




                                  1.  Introduction

      1.1  ImgFun Package

          ImgFun is  a   powerful  image compression   and  enhancement
      program for  computer  images.   ImgFun is  designed to let   you
      regain the tremendous amount of disk space occupied by   GIF like
      images  in  your    system  and explore the  pleasure of  viewing
      images in the awesome 256-color SVGA modes.

          ImgFun is  developed  by Speedy  Software    and  distributed
      as shareware.   For   shareware  and  registration,   please read
      register.txt.  Once  again,  for   supporting  affordable quality
      software, PLEASE  REGISTER!!!

      1.2  Packing lists

      IFSE100.exe  :  A   self  extracting file  made   by  the  Lha213
      package which  is   copyrighted  by  Haruyasu  Yoshizaka contains
      the following files:


        readme.txt         A short compilation of important information
        ImgFun.exe         The program itself
        ImgFun.hlp         The help file
        ImgFun.pif         PIF for Windows
        ImgFun.txt         This file
        register.txt       Registration and development information
        order.frm          an easy order form to register

          If you are missing  one or more  of these files,  contact the
      author  at  one  of  the  addresses  listed at  the  end  of this
      document.

          For  installation,  just   copy   all  files   to   a  proper
      directory of your hard disk.

          Please  do  read   register.txt,    it   contains   important
      information about the future development and planning of ImgFun.

          Some  utilities  might be included  from Speedy Software.




ImgFun.txt               Speedy Software                   page 2




                                 2.  ASP Ombudsman

          This program  is  produced  by a  member  of the  Association
      of Shareware Professionals  (ASP).   ASP  wants to make sure that
      the  shareware  principle  works for you.  If you are unable   to
      resolve  a  shareware-related   problem  with  an  ASP member  by
      contacting the member directly, ASP  may be able  to  help.   The
      ASP  Ombudsman can help you  resolve a dispute  or  problem  with
      an   ASP  member,  but  does  not  provide  technical support for
      members' products.   Please write  to the  ASP  Ombudsman at  545
      Grover Road, Muskegon, MI 49442 or send   a   Compuserve  message
      via  easyplex  to ASP  Ombudsman 70007,3536




ImgFun.txt               Speedy Software                   page 3




                               3.  System Requirement

          A  lot efforts   have been made  to make ImgFun   as lean and
      fast as possible.

       [1]  286  or better PC  with DOS 2.0  or above
       [2]  300 to 450K   of free memory  under DOS,  no   extended  or
            expanded memory needed. Some of the memory  is  dynamically
            allocated.  For the viewer, you need at least 300K.
       [3]  VGA or  SVGA display  system. See  "SVGA  support" for SVGA
            support list.
       [4]  Hard  disk  space for loading and  processing  images.  One
            mega bytes  or  above  free  space  is required. If you use
            ImgFun as a viewer only, no hard disk is required.

          For the bulkiness of image data  and the tremendous computing
      load for   processing images, a  386,  or 486  computer  with   2
      mega bytes  of  free   disk   space is recommended.  ImgFun  uses
      disk files  for loading images  up   to  1024   by   1024, thus a
      disk cache like the smartdrv  in DOS 5.0  or Windows  3.0  &  3.1
      will help ImgFun a lot and is strongly recommended.


      3.1  Display mode


          ImgFun    uses   256-color     mode    in    the    following
      resolutions for displaying images:

       0. 300 x 200    standard VGA mode
       1. 640 x 400    SVGA  available for most cards with 256 KBytes
       2. 640 x 480    SVGA needs 512 KBytes on board
       3. 800 x 600    SVGA needs 512 KBytes on board
       4.1024 x 768    SVGA needs 1024 KBytes on board


      3.2  VESA support

          ImgFun      also    supports   VESA    (Video     Electronics
      Standards  Association) drivers  with  64K  window size  starting
      at address A000h.

          In the auto-detection  mode,ImgFun  will try    to   identify
      your  VGA card and determine   the  SVGA  modes  available.  When
      your VGA card can not be identified,  ImgFun  will   try  to test
      if a valid  VESA driver  is present, if  so the VESA  driver will
      be  used.    If  no valid  SVGA chip and  VESA  driver available,
      ImgFun  will   use the standard   320x200   mode  for  displaying
      images.




ImgFun.txt               Speedy Software                   page 4


      WARNING:  NOT ALL VESA DRIVERS ARE SUPPORTED. YOU  HAVE  TO  TEST
      YOUR VESA CARD FIRST!!!!

          VESA drivers are usually  in one  of the  VGA  utility  disks
      which are  included in most VGA card packages or built in the VGA
      cards.   Please consult your VGA card manual for  installation of
      the  VESA  driver.   Notice  that  not  all  VESA  drivers    are
      accepted  by ImgFun.  Only those detected and verified  by ImgFun
      will be used.

      3.3  SVGA support

      The following SVGA chips are under support in ImgFun:

      The highest resolution available is listed.

      [1] Trident Series: Everex VGA

            8800: up to 640 x 480
            8900, 9000 or newer: up to 1024 x 768

      [2] Tseng's Lab:

            ET3000: up to 800 x 600
            ET4000: up to 1024 x 768

      [3] Paradise cards or Western Digitals chip sets:

            WD90C00, WD90C10: up to 640 x 480
            WD90C11, WD90C30 or newer: up to 800 x 600

      [4] ATI Technologies:

            18800, 28800 or newer : up to 800 x 600

      [5] Video 7, Headlands Technology:

            V7VGA series: up to 800 x 600


      [6] Chips and Technologies: Boca VGA

            82c451: 640 x 400
            82c452: up to 640 x 480
            82c453: up to 800 x 600

      [7] Genoa Systems:

            up to 800 x 600

          A new change  has been  made in version 1.0. A  -s switch  is
      added  for the  standard 320x200x256  VGA  mode. A  new function,



ImgFun.txt               Speedy Software                   page 5


      card,   is added to  the Options menu. Now  users can choose auto
      detection or manual setting of the display driver.

          Usually   VGA   chip    manufactures    maintain     backward
      compatibility with    their older  chips  when   delivering   new
      VGA  chips.  In most  cases,  your VGA card from  the  above chip
      vendors will  be recognized by ImgFun.

          If  problems  are  encountered  for  the  SVGA modes,  please
      contact the author.




ImgFun.txt               Speedy Software                   page 6




                                4.  Computer Images


          ImgFun  operates  on   computer    images,    so   first    a
      short  explanation of  what computer  images are  and  how ImgFun
      works with these images.

          For  our purposes,   an image is  a data  set  that describes
      the reflectance of a 2- dimensional surface such as a photograph.
      In particular, an  image  is a 2- dimensional array of  "pixels",
      each of  which  contains data for  the small rectangular  area of
      the  image it represents. Thus a  pixel  in an image w wide by  h
      height is  addressed   by 2-dimensional  coordinate (x,y)  for  x
      ranges from 0 to w-1  and  y ranges from 0 to h-1. Usually  the X
      direction is left to right  and the Y direction is top down. This
      is  the native  format of  ImgFun.   Formats  storing  images  in
      other  directions  will  be  converted  into  this practice.  The
      value  of  each pixel  is interpreted  differently  depending  on
      the type of the  computer  image.   There  are  three  classes of
      computer images as follows:


      4.1  Gray Level Images

          Gray  level  images    represent  images   by  storing    the
      intensity of light  for each pixel on a  scale usually more  than
      just on/off.  Typically, a gray  level image will allow 64 to 256
      shades of gray  at  each pixel.  Very high quality  renderings of
      black  and   white photographs can be  stored  in  this  way.  In
      ImgFun,   gray levels of  images    range  from   0  to 255  with
      0=Black  and  255=White.  Some  times  the  gray  level might  be
      referred  as  the luminance( better to remember 255 is white). No
      color information is stored in the gray level images.

      4.2  Color Mapped Images

          From  color theory, any  color can be  derived from  mixtures
      of 3  principle  colors  with  proper  proportions. Usually, red,
      green and blue  are  used  as  the  three  principle   colors  in
      personal computers. Each principle component requires 5 to 8 bits
      for most computer images.

          Color   mapped   images   are  the   ones   most  common   on
      personal computers.  Each pixel  in  an image is  represented  by
      a  number  (called  an  index) that  is   used  to  look  up  the
      pixel's actual colors in a  table  (called  the  palette).  These
      images  are  popular because  they can be very colorful, yet take
      up  less memory than full-color images (described next).

          The  size of  the  color  palette varies  among  formats, but



ImgFun.txt               Speedy Software                   page 7


      is typically 16 to 256. These are the major type of images ImgFun
      is designed   to  work with. In   concept, you can  treat  a gray
      level image    as  a   color  mapped  image  with  a  pre-defined
      palette  such that all  the   entries  have equal values  in red,
      green and blue components from 0 to 255.


      4.3  True Color Images

          True color images are the highest quality representation, and
      the largest files as well.    Each pixel  contains  the  complete
      color information  for  that  pixel,  usually  expressed  as  the
      intensity of the  red,  green,  and blue  color components of the
      light  at that location.  For  24 bit rgb  images, each pixel  is
      represented  by  one  byte  in   red,  green  and blue  component
      respectively. Some images  use  5 bit per principle to  result in
      a pixel  represented    by  2 bytes(  16   bit)   or   so  called
      32768-color  images. These 16 bit images are emerging   in the PC
      world from  support  of  new display cards  available.  The extra
      bit in 16 bit images can be used  for other purposes like cut and
      paste.




ImgFun.txt               Speedy Software                   page 8




                               5.  What's ImgFun for?

          ImgFun deals  with  gray and color mapped images in Ver. 1.00
      and the next major  update version will   deal  with  true  color
      images directly.  ImgFun does the following jobs for users:

      [1] display:

          Let  user   view images. Show  loaded  images   with  instant
      zooming  and scrolling. Reverse   and   mirror images  instantly.
      Also a manual slide show is implemented.

      [2] enhancement:

          Alter colors of images. Process images for visual pleasure.

      [3]  format  conversion:

          Convert  between  any  two formats supported.

      [4]  compression:

          Compress   color   mapped   images       and    gray    level
      images  by  JPEG    compression.    Images   are  reduced   to  a
      fraction   of the  original  size  for       reducing the   heavy
      burden of keeping a large archive of image files.


      5.1  ImgFun under Windows and PaintBrush


          You can  run ImgFun  under MicroSoft  Windows  3.0  or   3.1.
      But please   use  the FULL   SCREEN  MODE ONLY and  press Alt-Tab
      to switch  from ImgFun to Windows.  In Windows, you can click the
      icon of ImgFun to switch from Windows to ImgFun.

          DON'T  RUN  IMGFUN  IN  A  WINDOW  UNDER  WINDOWS. This might
      produce unpredictable  results  if other Windows application  and
      ImgFun contend for the video memory.

          If you  are using Windows  3.1, there's a  built in print out
      function in   PaintBrush, which can   be located in the accessory
      group. PaintBrush accepts PCX and BMP formats. Both are supported
      by  ImgFun. To  import  images to   PaintBrush, you just  save or
      convert images into PCX, or BMP  images and use the open function
      in PaintBrush to load images.  In PaintBrush, you can  also write
      texts  on the  image  with various   fonts  and do  cut and paste
      of images.

          The  print  out  quality  of  PaintBrush   is   quite   good,



ImgFun.txt               Speedy Software                   page 9


      especially  on  laser  printers.  A  print out module   is  under
      development  in Speedy  Software.  This   print   out module will
      let users  choose different algorithms  for printing images,  and
      the  current module will  be  available as  a  bundled bonus  for
      registered users.





ImgFun.txt               Speedy Software                   page 10




                               6.  General Operations

      6.1  How to start ImgFun

          Type "ImgFun" or "ImgFun -s", under the system  command  line
      with ImgFun.exe  in  the current  directory to  start  ImgFun, or
      use ImgFun.PIF  to start  ImgFun under  Windows.   Then you  will
      enter the  main menu  in the  menu mode. A  pull  down  menu (the
      main menu), a  status  box  and a function  key bar are displayed
      in the menu mode.   Type   in  the  capitalized  letters or   use
      arrow keys   for  selecting functions  in  the   main menu.    An
      on  line   help   system   is implemented for easy use,  also   a
      good source   of    information.   The  auto-detection   mode  is
      default  and   backward   compatible    with   previous      test
      versions.   If you   have problems   in starting   ImgFun by  the
      auto-detection function,    even   after  you installed   a  VESA
      driver,   then  you should start ImgFun with the standard mode by
      "ImgFun -s" in the  command line.  Now  the  standard  mode  will
      use   the  320x200x256  VGA   mode  only,  unless the user    has
      changed    the     display  driver    by  the function   Options,
      Display, card.

      WARNING:ONLY USE MANUAL SETTING WHEN THE AUTO  DETECTION FUNCTION
      FAILS  AND YOU ARE SURE YOU HAVE A VGA CARD WITH A  NEWER CHIP OF
      SOME  VGA CHIP  VENDOR  LISTED.  THE  DISPLAY  CARD  FUNCTION  IS
      PROVIDED  FOR THOSE NEW  CHIPS  FROM  LISTED  VGA  CHIP  VENDORS.
      USUALLY  NEW  CHIPS  FROM  THE  SAME  VENDOR  MAINTAIN   BACKWARD
      COMPATIBILITY IN THE MODE SETTING AND PAGING MECHANISM WITH OLDER
      CHIPS, BUT MIGHT NOT BE PROPERLY IDENTIFIED BY IMGFUN.


      6.2  Main menu functions

       File       :  View,  Load, Save,  Quit
       Adjust     :  Brighten,  Darken,  cOntrast,  Color
       Set        :  Background,   Cut   area, Directions, Threshold
       Transform  :  Rescale, Smooth, shArpen, rOtate
       Options    :  Display, direcTory, dIther
       Utility    :  Compress, cOvert, sLide show

      Function keys:

      F1:HELP, F2:UNDO, F3:SWAP, F4:UPDATE,  F5:SHOW,  F6:DOS,  F7:GRAY

          And    function     key     F10      is   used     to    show
      registration information.

          Some   of   the functions might require selections from lists
      or input parameters to  do the  job. For the  list selection, you
      can  use Up,  Down, Page  Up  and Page  Down to  scroll  for  the



ImgFun.txt               Speedy Software                   page 11


      item  or  type  in   the name of  the  item,  as  you type in the
      letters, ImgFun will  try  to match  the  closest item  for  fast
      access.


          For input dialogues, you  can always  use  ESC   to abort and
      F1 for help.

          During the  operation of  ImgFun,  if something   went wrong,
      ImgFun   will  report  error     messages.  Simply  follow    the
      instructions  to continue to work. The   most  common  errors are
      not enough   memory  or  disk  space, and an invalid image format
      encountered.

      6.3  The on line help system

          For the help system  (activated by pressing F1  in  the  menu
      mode), you can  use   Page  Up  and Page Down  to  scroll, Esc to
      abort and Space bar for the topic selection list.

      6.4  Fast Start

          ImgFun    works  on   images  stored   in  some   pre-defined
      formats. An image  format specifies   how  information  is stored
      for   the image  and  eases   the  job of   exchanging images  in
      different  applications.   ImgFun    supports    several  formats
      which   will  be  explained in   the  next  section.  Files  with
      corresponding format extensions   will  be   treated   as  images
      saved in  corresponding formats.


          For viewing images, use  the   File, View function.  A manual
      slide show can   be performed by  storing image file  names  ( do
      specify full   paths  for ImgFun to locate image files) in a text
      file  by one file name a line from  the  beginning  of each line.
      Simply    use  the  Utility  ,sLide  show  for  your  slide  show
      entertainment.

          A   more   powerful  viewing  program  for  the  pleasure  of
      seeing computer images  is provided for loaded images. To load an
      image, please  use  the  File,  Load function. Up  to  two images
      can   be loaded at a  time. Information about  the loaded image 1
      and  loaded  image 2  is   reflected  in the  status  box. Loaded
      files will  be stored  on the current directory. After  ImgFun is
      started  only the  help  file ImgFun.hlp  is  needed.   You  must
      specify the  help file directory in Options,  direcTory, Help  to
      use the help system,  if ImgFun  is  started    in   a  different
      directory  other  than the  directory   which ImgFun.hlp resides.
      If  you use  a  ram disk  to start  ImgFun, make sure   you  have
      enough  space  for  loading big files.  A  disk caching   program
      is  strongly   recommended   for  fast   response.  According  to
      experience,  a   ram  drive    will  be  redundant   ,   if   the



ImgFun.txt               Speedy Software                   page 12


      smartdrv  from  Windows  3.1   is  loaded.  Smartdrv does a  very
      good job in disk caching when working with ImgFun.

          After  an  image  is  loaded,  you  can use the Show function
      by pressing F5. In the show mode, the loaded image 1 is displayed
      in  the screen  by 256-color  VGA,  or SVGA modes.  Press Page Up
      and Page  Down for  instant  zooming up  to   four times in width
      and height.   Use the  arrow keys to scroll and  the '+'  and '-'
      keys to increase  or decrease the  scroll step   size.  A  lot of
      tricks can be played  in the Adjust  and  Set  functions.  You'll
      get  instant  response by  trying these functions.    A built  in
      undo and update mechanism  let you experiment on the loaded image
      1.

          One  VERY  VERY   IMPORTANT  thing   to   remember  is   that
      before  switching  the  display mode by  Options,  Display,  mode
      MAKE  SURE  YOUR  MONITOR  CAN STAND THE HIGH RESOLUTION MODE you
      want  to try, OTHERWISE   YOU  MIGHT  BURN YOUR  MONITOR'S  TUBE,
      ESPECIALLY   THE KILLER MODE OF MONITORS, 1024x768.

         If  problems  are encountered  for  some  SVGA  modes,  please
      contact the  author for technical  support.  I have tried my best
      to include as  many  drivers  as I  could for the wild supper VGA
      cards.

          A  set of  functions that might  need some  patience  to wait
      is  grouped  in  the    Transform   menu.  These  functions  will
      produce another image file from the loaded image 1.

          For   image   compression   and   format   conversions,   try
      Utility, Compress and cOnvert functions.

          Tremendous  efforts are spent  to  make   the compression and
      decompression  as  fast  as  possible  by  not  eating  too  much
      precious memory under DOS.

          The compression  is    designed   for   continuous tone color
      mapped images  and  gray  level  images. Color mapped images with
      fewer than 32  colors and gray level  images with fewer  than  16
      colors will not be accepted by ImgFun for compression.  Just save
      or convert these  images  in    the   GIF   format   which should
      yields  good compression results for these images.

          For the compression level required by JPEG  compression,  try
      3 to 10 for color mapped images and higher for gray level images.
      The best  result might need some experiments depending  upon your
      eyes and the image contents.





ImgFun.txt               Speedy Software                   page 13




                                 7.  Image Formats

      ImgFun Ver. 1.00 supports the following formats:

      7.1  GIF

          This  is   CompuServe's  Graphical  Interchange  Format.  GIF
      images are  widely  used  in   networks like CompuServe and local
      BBSes. GIF format  stores color mapped images using 12  bit   LZW
      compression.  In   the world of personal  computers, color mapped
      systems still  dominate. GIF offers good  compression for storing
      color  mapped images and is supported by a  lot software vendors.

           There are 2 versions of GIF images, 87a and 89a.
           89a is a backward compatible extension of 87a.

          ImgFun reads  in  both    versions  but  ignores  features in
      89a.  For multiple  images in a  single GIF file,  only the first
      image is retrieved. ImgFun always writes out GIF images in 87a.

          GIF format is recommended for storing images frequently used,
      for example  in a slide  show  and images waiting for processing.
      Since the coding and decoding are fairly fast.

      7.2  PCX

          This is ZSoft's Paint Brush's native  format. PCX is probably
      the  first     image    format    gained   wide    support   from
      different applications.  PCX uses  8 bit run  length  encode  for
      storing gray and color mapped images. The latest version supports
      24  bit true color images.

          ImgFun   reads   in  PCX   images with  palette  information.
      Images  stored in the  latest   true color  format  will  not  be
      accepted  by ImgFun.

          ImgFun  always writes PCX  images  with palette  information.
      The next major  upgrade version  of ImgFun will support   24  bit
      true color images in PCX format.

          PCX   format  is   recommended   for  images  requiring  fast
      access, since   the   decoding  and   coding  are  blindly  fast.
      But  the compression  is in general inferior to the GIF format.

      7.3  BMP

        BMP  is  the  device   independent   bit    map   format   from
      MicroSoft.

          BMP  can store gray,  color mapped and true color images. For



ImgFun.txt               Speedy Software                   page 14


      the popularity of   MS  Windows  3.0   and 3.1, BMP  is  becoming
      another standard format in PC applications.

          Old  BMP files  before  Windows  3.0    are  not  accepted by
      ImgFun.  As mentioned before,  true color  images   are   left in
      the  next major upgrade version.

          ImgFun reads  and  writes BMP  images in  uncompressed  form,
      since  BMP format is  designed to be  loaded as fast  as possible
      under Windows.

          BMP   format  is  recommended  for  wall  papers  in  Windows
      and exchanges   for Windows programs. No  compression is used for
      the BMP   format.  Thus you   can  use the  BMP  format   as  the
      comparison basis for  compression mechanisms used  by other image
      formats.


      7.4  JPEG  (*.jpg)  Compression and Decompression

          JPEG  stands for  Joint Photo Experts   Group.   JPEG  is  an
      image  compression mechanism by  8 by 8 DCT transform coding  and
      entropy coding.

          JPEG  is  designed  to  offer   varied  level  compression of
      continuous tone true color and gray level images by throwing away
      information barely noticeable  by    the   human   visual system.
      There  are  several stages  involved in  the  JPEG mechanism. For
      users  not  interested   in  the  technical   stuff can skip  the
      following  materials and go     to the end  of this section.

          First, the  true color image  is converted into  the  Y,   U,
      V space.  The Y component  represents the   luminance, i.e.,  the
      gray level of the image.  U,V components store  information about
      the chrominance,  i.e.,  the   colors.   For the    human  visual
      system, the luminance is  more  important  than  the chrominance.
      Thus  the U,   V   components are  sub-sampled  for reducing  the
      amount of data.  Usually,   only half  samples in  the horizontal
      direction  and  half  lines   in   the   vertical  direction  are
      retained.  This reduces the U, and also the V components to  only
      a quarter of the Y components.  Comparing  with  RGB  data,  only
      half  amount  of storage is required  for  this  sub-sampling  in
      YUV space.  For gray  level   images,  the value  of  each  pixel
      is    just   the luminance,   i.e., the   Y component    of   the
      pixel.  Thus  no compression  is obtained in  this stage for gray
      level images.

          ImgFun  converts color mapped images  into true  color images
      internally, then converts  true   color images into  the Y, U,  V
      sub-sampled space.  The  palette information is  tagged   in  the
      header of a JPEG compressed image for decoding.




ImgFun.txt               Speedy Software                   page 15


          In the next stage,  the data is divided into blocks such that
      each  block  contains 8 pixel by 8 pixel  in Y,U and V components
      respectively. Last blocks in  each row  and column are padded, if
      necessary,  to form 8 by 8 blocks.

          Each  block is fed  into an  8 by 8  two dimensional discrete
      cosine  transform to  obtain  64  coefficients representing   the
      block.  Then   the  coefficients  are quantized   by   predefined
      tables.   Different  tables  are used  for   the   luminance  and
      chrominance   components.  After quantization,  information about
      the block is  packed   in   the lower  frequency coefficients.  A
      lot  coefficients  will become  zero   and all coefficients   are
      represented by   integers.  By adjusting the quantization tables,
      we can gain  various results. This   is where the information  is
      thrown away.


          Then an  efficient  run  length  coding  of zero coefficients
      and  varied   length  coding  of   non-zero    coefficients    by
      Huffman coding (or arithmetic coding which is   not  supported in
      ImgFun) are applied to yield a shrink down result.

          The  decoding process reverses the  above stages.  But  users
      are expecting color mapped images as decoded results. ImgFun uses
      the  tagged  palette  to   map   each  pixel  into  the  palette.
      According  to experience,   this   process  of   remapping  takes
      about  a third  to  more  than  half  of    the   total  decoding
      process.  This is  why it's much  slower in  the    decompression
      of    color      mapped images   than the compression.  Also  the
      remapping process  loses information.  This  is the   price  paid
      for  the  color  mapped display system.

          ImgFun only accepts JPEG images with Y,U,V 2:1:1 sub sampling
      in horizontal and  vertical   directions  with  one   interleaved
      scan.   A  non-interleaved     format    stores    the  luminance
      and   chrominance  components   separately.    This   makes    it
      impossible for  a    fast  efficient  one  pass decoding  process
      without  huge amount of memory (bytes  needed  :three  times  the
      width   times  the height of the image).   Thus these images  are
      not  supported.  Although,  JPEG document  does  not specify  the
      color  space,  the Y,  U,  V space  is  becoming    the standard.
      For JPEG    images  without    palette   information,   a uniform
      palette  is used for decompressing the  JPEG image  into a  color
      mapped   image.   The result may not  be satisfied.  This problem
      is left  in  the next  version. The major  drawback   of  JPEG is
      that   the decoded result is a  true color   image  which is hard
      to appreciate  in the   PC world.  ImgFun attacks this problem by
      tagging  the  palette  and remapping the true  color image into a
      color mapped image in the decoding process.

          For  a  color  mapped  GIF image,  the JPEG  compressed image
      usually  have  a  compression   ratio  3  to  10  depending  upon



ImgFun.txt               Speedy Software                   page 16


      compression level specified.

          For a  gray level GIF  image,  a compression ratio  above  10
      can be  achieved  without much visual  distortion. ImgFun  offers
      the function  to view compressed JPEG   images  without  decoding
      into disk  files.  This  will help  a   lot when   viewing   JPEG
      images stored  in a  floppy  disk,  especially   for  gray  level
      images which are decoded quite fast under ImgFun.

        ImgFun reads  in   base  line  JPEG   files complying with  the
      revision 8 and revision 9 drafts  with   restrictions   mentioned
      and always writes out  JPEG images that comply with the  revision
      9  except that an application  tag  is  used  for the palette and
      some  private  information  which  should  be  ignored  by  other
      software.

        Users are  recommended   to store   final images  (images don't
      need processing  any  more  and  are  used  mainly   for  viewing
      and printing  from  the  archive)  by JPEG compression for saving
      the disk space.

      7.5  Other Formats

          Support  for other  formats  is  under  consideration for the
      future  versions  of   ImgFun.   Please  inform   the  author for
      supporting formats   desired.  Since    this  is a user-supported
      program, features desired from  the  feed back   of   users  will
      be  added,   too.   Also   a   lossless compression   scheme  for
      256  color  mapped images  is   under development. The   goal  is
      to  compress  GIF images to 60%  of the original size losslessly.





ImgFun.txt               Speedy Software                   page 17




                                8.  Function Usage:

      8.1  File:

      8.1.1  Load: Load an image to work.
      8.1.2  View: View an image file.
      8.1.3  Save: Save the loaded image 1.
      8.1.4  Quit: Quit ImgFun.

      8.2  Adjust:

      8.2.1  Brighten: Brighten the loaded image.
      8.2.2  Darken  : Darken the loaded image.
      8.2.3  Contrast:
                    Adjust  contrast  by   gray   level   remapping  of
                    the palette of the loaded image 1.

      8.2.4  cOlor   :
                    Adjust the colors  in the palette  of  the palette
                    of the loaded image 1.
                    Two functions, RGB and PSEUDO are implemented.
                    Please use the  on-line  help  system  to  get more
                    information.


      8.3  Set:

      8.3.1  Background: Choose a background color.
      8.3.2  Cut area  :
                      Set a cut area of the loaded image 1.
      8.3.3  Directions:
                      Set  horizontal  and  vertical   directions
                      of the  loaded image 1.
      8.3.4  Threshold : View a binary map
                      from  the  loaded  image 1 for a given  threshold
                      on the gray level.

      8.4  Transform:

      8.4.1  Rescale   :

           Rescale loaded   image  1    to   a    different   width  or
      height.  The new height  and  new  width should be 25%  to   400%
      of  the  old values  and   not exceeding  the  system limit.  For
      images  with  16 colors or fewer, only zero   order interpolation
      is  used.   For images with more  colors and the   new  values of
      heights  and  widths  are    within     150%    of     the    old
      values,     zero-order interpolation  is used.  For others  first
      order  interpolation is used. The result  is  remapped  into  the
      palette.



ImgFun.txt               Speedy Software                   page 18



      8.4.2  Smooth:
           Smooth the loaded image 1 in the luminance component.

      8.4.3  shArpen:
           Sharpen  the loaded image 1 in the luminance component.


         These   three  functions treat the  loaded  image  1    as   a
      true color image.  After  processing  the  image,  ImgFun remapps
      the internal true color into the original palette.

      8.4.4  rOtate:
                  Rotate the loaded image 1 by 90, 180, or 270 degrees.


      8.5  Options:

      8.5.1  Display  :
                    Set the display mode  and the   starting display
                    point (xmin ,ymin) in the  screen.
      8.5.2  card     :
                    This  function  is  a  new add-on in ver.  1.0.  It
                    allows the user to manual select the SVGA driver.

      8.5.3  direcTory:
                    IMAGE: Specify where image files  are located.
                    HELP : Specify where  ImgFun.hlp resides.

      8.5.4  Dither   :
                    ON  or OFF. Use dithering or  not  when remapping
                    internal true color images into a palette.

      8.6  Utility:

      8.6.1  Compress  : JPEG compression

      8.6.2  cOnvert   :
                      Do conversion  between   different  formats, also
                      decompression of JPEG images

      8.6.3  sLide show: a manual slide show

      8.7  Undo and Update:

        Undo  (F2): Remove all the changes made since last update.

        Update(F4): Accept the current image  and makes  changes since
                    the last update permanent on the loaded image 1.






ImgFun.txt               Speedy Software                   page 19


      8.8  Swap (F3) :
                     Swap the loaded image 1 and the loaded image 2.

      8.9  DOS  (F6) :Shell out to DOS.

      8.10  Gray (F7) :
                     Turn the loaded image 1 into a gray level image.

      The on line help system has more details about these functions.





ImgFun.txt               Speedy Software                   page 20



      Author:

        Here I have to say some special thanks to some people.

      Dr. Lane and the JPEG independent group: Some of the work  in the
      JPEG  part is based  on JPEG  Independent   Group's   work.  I do
      appreciate their efforts in promoting the standard JPEG  format.

      Haruyasu Yoshizaka,  the author  of the LHA package, and  Fabrice
      Bellard, the  author  of  the  LZEXE  package : Their packages do
      provide a lot convenience for lossless data compression in the pc
      platform.

      Steve  Estvanik,  ASP  Author  Membership  Coordinator:  For  his
      patience  in  the  reviewing process and comments on  the  ImgFun
      package.

      <Ver. 0.99>

          The program  is  written    carefully   to    be  really lean
      and fast  under   DOS.

      Hope you will enjoy the result.
                                                  Thanks!       9/15/92
      <Ver. 1.00>
          This version adds in  a manual  configure function   for  the
      SVGA display driver  and  a  new  function,  PSEUDO in the Adjust
      Color selection. The true color  compression is left in  a  major
      upgrade in 1993. But stand alone programs for compressing  24 bit
      BMP and PCX images might  be available in early 1993 in the bonus
      package for registered users.  Please  register  to  support this
      program and let  you have the  rights to obtain the latest  bonus
      utilities in the ImgFun package.
                                                   Thanks!      12/4/92

      Chin-Chi ,Hsu at Speedy Software

      author member of Association of Shareware Professionals

      173 Franklin Ave.  San Gabriel, CA 91775

      CompuServe ID : 71551,3641 (best way to contact me)

      TEL: 818-282-8018

      PS. All trademarks mentioned belong to the proper owners.

