JPX

JPX is a complex and versatile image file format, defined in Part 2 of the JPEG 2000 standard (ISO/IEC 15444-2).

It is an extension of JP2 format. In addition to the JP2 feature set, JPX offers:
 * Extended colour space support
 * Mechanisms for including opacity information
 * Fragmented codestreams (even across multiple files)
 * The possibility to combine multiple codestreams as composites or animations
 * The possibility to use compression methods other than JPEG 2000 codestream (wavelet compression): uncompressed, Modified Huffman, Modified READ, Modified Modified READ, JBIG, JPEG, JPEG-LS, JBIG2

The JPX specification is apparently so large and difficult that its creators felt the need to define a simpler subset of it named Baseline JPX, which lies between JP2 and the full JPX format in complexity. Baseline JPX files, for example, can only use wavelet compression.

Identifiers
The current version of the standard clearly states that the official filename extension is .jpf, and doesn't even mention .jpx as a possibility. However, some reputable sources say that .jpx is legitimate, or even preferred.

Identification
JPX files begin with bytes.

Note that some Adobe applications (most notably Adobe Photoshop) produce JPX images that erroneously start with the JP2 byte sequence (i.e. the last 4 bytes in the string above are ). This makes them (superficially) indistinguishable from JP2 images.

Specifications

 * JPEG 2000 Part 2 (Extensions) Annex M: JPX extended file format Syntax
 * JPEG 2000 Part 2 (Extensions) Annex N: JPX file format extended metadata definition and syntax
 * JPEG 2000 Committee Drafts → fcd15444-2.pdf
 * ISO/IEC 15444-2 (not free to download)
 * ITU-T Rec. T.801 (not free to download)

Sample files

 * JPEG 2000 sample images

Related formats

 * GMLJP2 is a metadata standard that allows one to include geospatial metadata in georeferenced JPX images.

Links

 * JPEG 2000

Editors' notes
There must be a story behind why the JPX filename extension is .jpf instead of .jpx, but we have not been able to locate it. Perhaps it was originally intended to be .jpx, but was changed due to a conflict. The next most common use of .jpx seems to be for JBuilder project files.