JPIP

Links and Information for JPIP (JPEG2000 Part 9)

  • JPIP is an evolving standard for efficient interactive communication of JPEG2000 content, including both meta-data and code-stream elements.
  • An important focus of Kakadu is to provide comprehensive support for JPIP, which is a very significant undertaking, considering the array of features offered by JPIP.
  • While the standard is not yet completely set in stone, it has reached FCD (Final Committee Draft) standard.
  • Kakadu provides a comprehensive implementation of most features described in the FCD, including fully customizable server and client components. The server component uses a separate object to manage integrity and application-specific intelligence associated with specific JPEG2000 file formats. Currently Kakadu provides an instance of this separate object with specific support only for raw code-streams and the JP2 file format; however, it should not be difficult to extend this implementation to encompass other file formats. Version 4.1, for example, is expected to include complete support for the JPX file format, and full support for the MJ2 file format, alowing interactive delivery of remote video content, should not be far away.
  • The JPIP standard is heavily influenced by Dr. Taubman’s proposal for JPIP, which formed the basis of much of the text in the WD (Working Draft). This proposal is outlined in the document “jpip-kakadu-superceded“, which is shipped locally with the Kakadu distribution. While this document is now out of date, it provides a good overview of the philosophy and general principles behind much of the JPIP standard.
  • The JPIP FCD differs from the proposal outlined in the above document in the following significant respects:
    • The actual syntax used to express client requests and server responses has changed (names have been rationalized)
    • Session establishment is now known as “channel” establishment, since multiple asynchronous channels may now be opened to a single session. Kakadu does not currently support multiple channels to a single session, but this feature should not be too difficult to add in the future, as the need arises.
    • The channel/session establishment procedure is quite different to that described in the original Kakadu proposal.
  • The reader may also wish to refer to a recent extended conference paper by Taubman and Prandolini, which appeared at VCIP2003. A copy of the paper may be found at the following link:
  • We note that the following JPIP features are not currently implemented:
    • The “jpt-stream” media type (content may be dynamically distributed as “jpp-stream” or “jpt-stream” by a JPIP server, but Kakadu’s client and server currently only understand the much more powerful “jpp-stream” variant). We do not currently see any good reason to add support for “jpt-stream”.
    • The model-set (“mset”) request field and corresponding server response is not yet supported.
Go Top