


The Aware JPIP Software Toolkit is Aware’s implementation of the JPIP standard. It includes an API and example programs designed to enable a system developer to build JPIP-compliant servers and clients. The Aware JPIP technology works in conjunction with the Aware JPEG2000 image encoder/decoder toolkit. The Aware JPEG2000 libraries compress, decompress, or reformat the image data based on instructions and messages provided by the Aware JPIP libraries. The JPIP libraries format the data so that any JPIP compliant client or server can interpret it, and handle the JPIP response and request generation and processing.
The Aware JPIP Software Toolkit includes an example client and server that communicate using the JPIP protocol. Source code to this working example is included to provide a good working framework for systems developers. Aware’s JPIP example server and client each use the .NET framework, but the API can be used with any programmable client server application framework.
What is JPIP?
JPIP is a client/server communication protocol defined in Part 9 of the JPEG2000 suite of standards, officially entitled “Interactivity Tools, APIs and Protocols.” JPIP enables a server to transmit only those portions of a JPEG2000 image that are applicable to the client’s needs. In conjunction with either HTTP or UDP protocols, JPIP enables the client to access metadata or other contents from the image file. This capability results in a vast improvement in bandwidth efficiency and speed when performing some very important and valuable image viewing tasks in a client/server environment, while reducing the storage and processing requirements of the client. The larger the images—and the more constrained the bandwidth between the client and server—the greater the benefit of JPIP.
JPEG2000 enables the extraction of subsets of a JPEG2000 image through three standard compliant image derivation techniques: 1) spatial, 2) resolution level, and 3) quality level. That is, from a single (lossy or lossless) JPEG2000-compressed image, a radiologist can remotely extract 1) a particular region of the image, 2) a large or small version of the image, or 3) a high or low quality version of the image (large or small file, respectively). Or, any combination of all three. JPIP can be used to progressively forward images of increasing quality; giving the viewer at the client a view of the image as quickly as possible.
JPIP for Medical Applications
JPIP is increasingly useful to the medical imaging community as a result of several trends:
- Medical images are growing
larger; often in the multi-megabyte range when uncompressed.
- Data output from modern scanning equipment is increasing as slice thickness decreases
- Bandwidth is constrained; increasing demands on LAN and WAN bandwidth outpace the ability of facilities to meet them
- A centralized image storage architecture is increasingly beneficial, while demand for remote viewing and broader patient file sharing is increasing.
- There is demand to make viewing stations more accessible and thus more affordable, requiring less processing power and storage
With a JPEG2000 and JPIP equipped system, it is only necessary to store a single file per image; lower resolution thumbnails can be extracted directly from the high-resolution JPEG2000 “master” image and downloaded. This feature eliminates the need to store, manage, and link images of different resolutions in the database, which can be cumbersome. Once the radiologist chooses to view a particular image, only the resolution level required to view the entire image on the screen is downloaded. The quality layers are downloaded progressively to give the radiologist an image as quickly as possible. When the radiologist zooms into a particular region of interest of the image, only that portion is downloaded, and only the minimum resolution required. As a result, the image viewing process speeds up dramatically and is significantly more efficient.
JPIP Technical Operation
Figure 1 shows a system level block diagram of a JPIP Server and a JPIP client. The server application can be a CGI (common gateway interface), a standalone network daemon, or can be embedded into an application server framework.

JPIP Protocol Structure and Features
A JPIP-enabled client application utilizes one of the two advanced streaming modes of JPIP: JPP-stream and JPT-stream. In both modes, the JPEG2000 image file on the server is partitioned into finer elements, called “databins”. These databins can be either tiles or precincts.
Tile and precinct databins are the basic elements of a JPEG2000 image used by JPIP. JPEG2000 images can be disassembled into individual databins, and then reassembled. Each databin is uniquely identified and has a very specific place within a JPEG2000 image. Full or partial databins are transmitted from the server to the client in response to a JPIP request. The JPIP client can decode these databins and generate a partial image for display at any point while still receiving data from the server.
About Aware
Aware, Inc. was the first commercial organization in the world to provide a wavelet based image compression algorithm for use in medical systems. Aware’s active development and commercialization efforts have helped promote the adoption of wavelet based compression by the medical industry. Aware continues to serve on both DICOM WG4 (Compression) and the JPEG2000 standards body ISO/IEC JTC 1/SC 29/WG 1. Aware also serves as the official liaison between the two standards groups.
For more information about Aware's JPIP Toolkit, contact us today.
 |