·
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, as of this writing.
·
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 for much of the text in the WD (Working
Draft). This proposal is outlined in the
document “jpip-kakadu-superceded.pdf”,
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:
o
The actual syntax used to express client requests and server responses
has changed (names have been rationalized)
o
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.
o
The channel/session establishment procedure is quite different to that
described in the original Kakadu proposal.
·
The FCD is to be released as a public document, for comment. A copy of the document may be found at the
following link:
o
Link to Public JPEG2000
Committee Drafts
·
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:
o
Download JPIP-Architecture-VCIP2003.pdf.
·
We note that the following JPIP features are not currently implemented:
o
Multiple JPIP channels to a single JPIP session (the server correctly
handles, and denies, requests for additional channels).
o
The “jpt-stream” media type (content may be dynamically distributed as
“jpp-stream” or “jpt-stream” by a JPIP server, but JPIP’s client and server
currently only understand the much more powerful “jpp-stream” variant).
o
The model-set (“mset”) request field and corresponding server response
are not yet supported.
o
Indicated client preferences and capabilities are currently ignored by
the server.