[trunk] Import rev 1103 into trunk.
[openjpeg.git] / applications / jpip / README
index 28410745aa0440aa4a2609e962a4ea6a41323658..7e9514695883139346df9fe9c23a4cabc36c6028 100644 (file)
@@ -1,5 +1,5 @@
 ========================================================================
-                    OpenJPIP software 1.0 ReadMe
+                    OpenJPIP software 2.0 ReadMe
 
 OpenJPEG:
 http://www.openjpeg.org
@@ -26,10 +26,10 @@ OpenJPIP software is an implementation of JPEG 2000 Part9: Interactivity tools,
 ( For more info about JPIP, check the website: http://www.jpeg.org/jpeg2000/j2kpart9.html)
 The current implementation uses some results from the 2KAN project (http://www.2kan.org).
 
-First Version 1.0 covers:
- - JPT-stream (Tile based) media types
+First Version 2.0 covers:
+ - JPT-stream (Tile) and JPP-stream (Precinct) media types
  - Session, channels, cache model managements
- - JPIP over HTTP
+ - JPIP over HTTP, HTTP requests and TCP return
  - Indexing JPEG 2000 files
  - Embedding XML formatted metadata
  - Region Of Interest (ROI) requests
@@ -49,7 +49,6 @@ Neither the author, nor the university accept any responsibility for any kind of
  - OpenJPEG library (currently assumes it is installed on the system => will not use the one built higher in the directory structure)
  - FastCGI development kit (C libraries) at server (http://www.fastcgi.com)
  - Java application launcher at client
- - Kakadu software ( http://www.kakadusoftware.com). Currently required to encode jpeg 2000 images with tile-parts. This will be implemented soon in openjpeg, making this requirement obsolete.
 <Optional>
  - Xerces2 java XML parser on the client for accessing embedded image metadata (http://xerces.apache.org/xerces2-j)
 
@@ -62,8 +61,6 @@ We tested this software with a virtual server running on the same Linux machine
 A Makefile is available in the same directory as this README file. Simply type 'make' and it will build all the required C-executables.
 Concerning the java-based opj_viewer, simply type 'ant' in the corresponding directory (requires 'ant' utility of course)
 
-CMake files ar planned to be included ASAP.
-
 The documentation can be build this way (requires doxygen utility):
   cd doc
   doxygen Doxyfile
@@ -94,7 +91,7 @@ Server:
  For shutting down JPIP server:
      %GET http://hostname/myFCGI?quitJPIP
      Notice, http://hostname/myFCGI is the HTTP server URI (myFCGI refers to opj_server by the server setting)
-     Requst message "quitJPIP" can be changed in Makfile, modify -DQUIT_SIGNAL=\"quitJPIP\"
+     Request message "quitJPIP" can be changed in Makefile, modify -DQUIT_SIGNAL=\"quitJPIP\"
 
 Client:
  1. Launch image decoding server, and keep it alive as long as image viewers are open
@@ -106,10 +103,13 @@ Client:
     % ../opj_dec_server
 
  2. Open image viewers (as many as needed)
-    % java -jar opj_viewer.jar http://hostname/myFCGI JP2_filename.jp2
+    % java -jar opj_viewer.jar http://hostname/myFCGI path/filename.jp2 [stateless/session] [jptstream/jppstream] [tcp/udp]
     ( The arguments 
       - http://hostname/myFCGI is the HTTP server URI (myFCGI refers to opj_server by the server setting)
-      - JP2_filename.jp2 is the name of a JP2 file available on the server.)
+      - JP2_filename.jp2 is the name of a JP2 file available on the server.
+      - request type stateless for no caching, session (default) for caching
+      - return media type, JPT-stream tile based stream, or JPP-stream (default) precinct based stream
+      - auxiliary return protocol, tcp or udp (udp is not implemented yet), if not given, return data is filled in http chunk
     Image viewer GUI instructions:
       Scale up request: Enlarge the window
       ROI request:      Select a region by mouse click and drag, then click inside the red frame of the selected region
@@ -119,7 +119,7 @@ Client:
       Open a new window presenting an aligned image with a locally stored image: Click button "Image Registration" (Under Construction)
 
  3. Quit the image decoding server through the telnet, be sure all image viewers are closed
-    % telnet localhost 5000
+    % telnet localhost 50000
       quit
 
 ----------
@@ -127,12 +127,11 @@ Client:
 ----------
 
 An example to encode a TIF image "copenhague1.tif" at resolution 4780x4050, 8bit/pixel, grayscale.
+   % ./image_to_j2k -i copenhague1.tif -o copenhague1.jp2 -p RPCL -c [64,64] -t 640,480 -jpip -TP R
 
- 1. J2K encoding using Kakadu with an option which introduces the tile-part flag at each resolution level
-    % ./kdu_compress -i copenhague1.tif -o copenhague1.j2k Corder=RPCL  ORGtparts=R Stiles={256,256}
-
- 2. JP2 encoding with embedding indexing data
-    % ./index_create copenhague1.j2k copenhague1.jp2 2
+ options
+  -jpip : embed index table box into the output JP2 file (obligation for JPIP)
+  -TP R : partition a tile into tile parts of different resolution levels (obligation for JPT-stream)
 
 <Option>
  3. Embed metadata into JP2 file