                                                            96/05/18
QV-10 CAM Format
================
  This document describes the CAM file which is used for QV- 10.
  This information is not official, but is the result of individual
  analysis.  The "@@" mark indicates information based on assumptions.


Structure of CAM Format
=======================
  CAM format can be divided into four areas.
       _______________  __________________________________________
       Area Name        Data
       ===============  ==========================================
       header area      holds information relating
                          to the other three areas
       ---------------  ------------------------------------------
       comment area     used for comments
       ---------------  ------------------------------------------
       thumbnail        thumbnail image data for preview (52 x 36)
         image area
       ---------------  ------------------------------------------
       image area       DCT coding, huffman-coding image data
       ===============  ==========================================


Structure of Header Area
------------------------
  The header area holds the information concerning the size of each
  area. The description of the format below appears to be usable.

       ________________________  _________________________________
       Structure                 Data
       ========================  =================================
       identification mark       $07  $20  $4D  $4D
         (4 Byte)
       ------------------------  ---------------------------------
       number of areas (2 byte)  3 areas so far  ($00  $03)
       ------------------------  ---------------------------------
       area size information     The set of data below is repeated 
         (variable length)         to match each area number
                                     area  ID(2 Byte)
                                       $00 $01 = comment area
                                       $00 $02 = thumbnail image area
                                       $00 $03 = image area
                                     area length(4 Byte)
                                     dummy(10 Byte)
       ========================  =================================

  When three areas are present the total size of the header area becomes
  54 Bytes. Each area is stored after the header area, and their lengths
  are equal to the area length. The order of storage is; area,  ID.

   @@: The identification mark will be changed for future machines.


Comment Area
------------
  The comment area is located in the ID=1 area of the header part. The
  description of the format below appears to be usable.

       ________________________  _________________________________
       Structure                 Data
       ========================  =================================
       comment information
       (variable length)         IDs and strings
       ------------------------  ---------------------------------
       end mark(1 Byte)          $00
       ========================  =================================


  Comment related information utilizes the format below.

       ________________________  _________________________________
       format information        Data
       ========================  =================================
       comment  ID(1 Byte)       from $01 to $07
       ------------------------  ---------------------------------
       comment(variable length)  A string ending with $00
                                 $00 only, if no comment
       ========================  =================================

  Comment ID uses from $01 to $07. Accordingly, its smallest size is
  15 Bytes.

  In fact, $01 and $05 are used. $01 is for "comments". $05 is for "Date".
   
  @@: $02-$04 and $06-$07 do not appear to be in use. These ID's may
      be used when the comments become long or when the comments consist
      of several lines. 


Compressed Image Area
---------------------
  Compressed image area is located in the ID=2 area of the header part.
  The description of the format below appears to be usable.

       _________________________  _________________________________
       Format information         Data
       =========================  =================================
       thumbnail image            colour information(3Byte)
         information (5616 Byte)                   x 52(X) x 36(Y)
                                  colour information is stored in
                                  the order of R,G,B and each
                                  colour consumes 1Byte
       =========================  =================================

  Size information of the thumbnail image is not seen in the CAM file.
  Naturally, we can conclude the size is fixed at 52x36.
  52 pixels are in X direction while 36 lines are in Y direction.


Image Area
----------
  The image area is located in the ID=3 area of the header part. This
  area can be divided into five sections.

       __________________________  _______________________________
       Format information          Data
       ==========================  ===============================
       Amount of element data      YUV,  3 element  ($00  $03)
         (2 byte)
       --------------------------  -------------------------------
       element data size           2 Bytes of element data
         (variable length)           are stored in a row.
       --------------------------  -------------------------------
       quantization table 0        Y quantization table for element
         (64 Byte)
       --------------------------  -------------------------------
       quantization table 1        U,V  quantization table for
         (64 Byte)                   element
       --------------------------  -------------------------------
       Y  element data             Y  element's compression data
                                     image size is 480x240
       --------------------------  -------------------------------
       U  element data             U  element's compression data
                                     image size is 160x120
       --------------------------  -------------------------------
       V  element data             V  element's compression data
                                     image size is 160x120
       ==========================  ===============================

  Any Image data are deconstructed into YUV elements and are then
  DCT compressed and symbolized by a haffman code. Image sizes differ
  from each other as mentioned above. It seems that the images are
  deformed and re-composed using a linking tool.
  In order to decode this image data, a haffman table is necessary
  in addition to this information.  Such additional information is not
  included in the CAM file. Compression and dedoding softwareiQV-10 and
  the link toolj maintains this sort of fixed information inside.

Special Thanks
==============
  A software which can directly handle a CAM file is required. I hope
  that this modest analysis and related information will help in the
  development of such software.
  A document which describes the conversion method in a non-interleave
  JPEG format is also available.  Please refer to this, if necessary.
  
  Finally I would like to thank Mr.Yamamoto (Kawasaki-steel Co.) for his
  cooperation concerning the analysis of CAM files.  Also I would like to
  thank members of palmtop-pc MailingList for offering us a place for
  information exchange.

--------------------------------------------------------------------
 Kazuhiko Iwama / Texas Instruments Japan Limited
                  Design Automation Division Japan Branch
   E-Mail Address : Texas Instruments ... iwama@ti.com
                               RIMNET ... with@st.rim.or.jp
--------------------------------------------------------------------
