Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

JPEG XR Image Encoding

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name JPEG XR Image Encoding. [From ITU-T T.832 and ISO/IEC 29199-2 JPEG XR Image Coding System – Image coding specification]
Description

JPEG XR (JPEG extended range) is an international standard for compression of continuous tone photographic images, based on technology originally developed by Microsoft under the name HD Photo (formerly Windows Media Photo) and submitted to the Joint Photographic Experts Group (JPEG) for standardization in July 2007. JPEG functions as ISO/IEC JTC1/SC29/WG1 and has an ongoing collaboration with the International Telecommunication Union (ITU). Two years later, the JPEG XR encoding was standardized as ITU-T T.832 and ISO/IEC IS 29199-2:2009.

In his blog post of July 30, 2009, JPEG XR is now an International Standard, Bill Crow emphasized the superiority of the encoding over the traditional JPEG image encoding, including:

  • better compression -- more efficient, with fewer visible artifacts, and a wide range of compression levels, including lossy, perceptively lossless, and mathematically lossless compression
  • more choice of image representations -- 8 bits per channel (bpc), 16 bpc, 32 bpc, and a variety of color formats beyond RGB, including CMYK and n-channel formats up to 16 independent channels; support for transparency (alpha channel)
  • support for high dynamic range (HDR) imaging scenarios and for wide gamut color spaces
  • progressive decoding, allowing lower resolution previews or specific cropped areas to be displayed without the need to decode the entire image
  • images can be cropped, rotated, flipped and resized (within certain constraints) without needing to decode and re-encode the image. These operations can be much faster with no additional loss in image quality

The Overview of JPEG XR on the JPEG website highlights some other details:

  • small memory footprint
  • integer-only operations with no divides
  • signal processing structure that is highly amenable to parallel processing
  • use of the same signal processing operations for both lossless and lossy compression
  • image tile segmentation for random access and large image formats
  • use of an innovative "reversible hierarchical lifting-based lapped biorthogonal" transform. The transform requires only a small number of integer processing operations for both encoding and decoding

Another, more technical, summary of the features of the JPEG XR encoding is JPEG XR: A New Coding Standard for Digital Photography, a presentation given at the JPEG XR Camera Raw Ad Hoc Group Meeting in Tokyo on February 18, 2009. This presentation summarizes design choices and describes the encoding process, including the lapped biorthogonal transform, and an innovative three-part coefficient prediction process. Also covered is a list of enhancements added during the standardization process, i.e., features not present in HD Photo.

The original 2009 specification for JPEG XR included a specification for a TIFF-like format as Annex A, suggesting the use of .jxr as file extension. See JXR. The edition published in 2019 adds Annex F: Storage in the ISO/IEC 23008-12 image file format. ISO/IEC 23008 is the series of specifications for High efficiency coding and media delivery in heterogeneous environments; ISO/IEC 23008-12 is the specification for a family of image file formats using a special case of the ISO Base Media File Format (ISO_BMFF), which is often described as "box-based". ISO/IEC 23008-12 states in its Introduction, "The file format specified in this document is referred to as the High Efficiency Image File Format (HEIF)." The media types specified in Annex F of the fourth edition of ITU-T T.832 (and ISO/IEC IS 29199-2:2019) for JPEG XR images in the HEIF-based format are image/jxrA (for single images and image collections) and image/jxrS (for image sequences), with corresponding file extensions, .jxra and .jxrs.

Annex B of the JPEG XR specification defines profiles and levels that correspond to conformance requirements for classes of encoders and decoders. Typically, a profile constraint restricts the use of algorithmic features, while a level constraint is intended to constrain resource requirements such as memory storage capacity. Conformance of an image to a particular profile and level is recorded as a PROFILE_LEVEL_INFO structure, with values for PROFILE_IDC and LEVEL_IDC. The four profiles, with IDC values, are: Sub-baseline (44), Baseline (55), Main (66), and Advanced (111). For more information on these profiles, see Notes below. Permitted IDC values for levels are 4, 8, 16, 32, 64, 128, and 255. Each level is associated with maximum values for image dimensions, number and size of tiles, and a buffer size that depends on image dimensions and bit depth. If no PROFILE_LEVEL_INFO is present in a coded image, decoders must assume the Advanced profile and level 255. The compilers of this resource have not determined the degree to which the different profiles and levels are used or supported in different contexts or software applications. Comments welcome.

Production phase Used for content in middle and final states. Although designed for potential use by camera manufacturers, JPEG XR does not appear to have been adopted for that purpose. Comments welcome.
Relationship to other formats
    Has earlier version WMP_01, HD Photo. This compression encoding was introduced by Microsoft as Windows Media Photo and then shortly afterwards, with the release of Windows Vista, renamed as HD Photo.
    Used by JXR, JPEG XR File Format. Defined in Annex A of ITU-T T.832 and ISO/IEC IS 29199-2.
    Used by File formats with extensions .jxra and .jxrb, based on HEIF format as defined in ISO/IEC 23008-12. These formats are not described separately on this website, but are special cases of the ISO Base Media File Format (ISO_BMFF).

Local use Explanation of format description terms

LC experience or existing holdings The Library of Congress has not acquired any photographs in this encoding apart from a very small number of images acquired through web crawling.
LC preference JPEG XR is not listed in the Library of Congress Recommended Formats Statement (RFS) for Still Image content in its collections.

Sustainability factors Explanation of format description terms

Disclosure The JPEG XR image encoding is specified in an international standard, maintained under the auspices of ISO/IEC JTC1/SC29/WG1 and co-published as ITU-T T.832 and ISO/IEC 29199-2.
    Documentation

The most complete source for documentation of JPEG XR is available from the JPEG website at https://jpeg.org/jpegxr/. See full list of related specifications at Workplan & Specs of JPEG XR. The encoding is described in ITU-T T.832, available online at https://www.itu.int/rec/T-REC-T.832/en; as of September 2020, the latest edition is the 4th edition, approved in June 2019. Source code for a Reference Codec is also available from JPEG.

A useful supplement on JPEG XR system architecture is available from ITU as T.Sup2: ITU-T T.83x-series. This document is "technically aligned" with ISO/IEC 29199-1:2011, although the text is not identical.

Adoption

JPEG XR is incorporated as a native codec into the Windows Imaging Component (WIC); see JPEG XR Codec Overview. JPEG XR is one of several image formats that can be incorporated into the Open XML Paper Specification (OpenXPS) format. The compilers of this resource have found limited indications of adoption of JPEG XR outside Windows. For example, in https://fileinfo.com/extension/jxr (as of September 2020) the only Mac application listed is a free application; none of the built-in or mainstream commercial graphics or photography applications for the Macintosh support JPEG XR.

In April 2013, Microsoft announced the availability of plug-ins for Adobe Photoshop. See blog post from April 11, 2013 titled JPEG XR Photoshop Plugin and Source Code. However, in the illuminating comment thread to the blog post, a September 2014 question and answer make it clear that, at that time, there was no plan to update the plugins for compatibility with the new Adobe Photoshop CC product line. Since the download pages for Photoshop plugins for Windows and MacOS have not been updated since 2013, it seems probable that, as of September 2020, there is no plugin compatible with current versions of Photoshop. According to the Wikipedia entry for JPEG XR, the plugins work with Photoshop versions CS2, CS5-CS6. Comments welcome.

Source code for a reference library for the JPEG XR codec exists in several locations and versions. The compilers of this resource have not explored in detail the similarities and differences between the versions of jxrlib found in various repositories. The original source for most derives from code contributed by Microsoft.

One example of a domain in which the quality and performance of compression appear to offer promise in comparison to other encodings is described in Performance Evaluation of Data Compression Systems Applied to Satellite Imagery (2011), by Faria et al. This study concluded that minimum requirements established were met by lossless JPEG-LS and by lossy JPEG XR with specific encoding options. In another domain with demanding requirements for performance in image processing, JPEG XR is covered in The Current Role of Image Compression Standards in Medical Imaging (2017) by Liu et al. However, in section 4 on Standards in Medical Image Communications, the authors state, "JPEG-XR was proposed for addition to DICOM, but when Microsoft lost interest in pursuing it, the work item has not been pursued."

LeadTools offers JPEG XR image compression libraries as SDKs for a number of languages and operating environments.

See JXR for information about third party image viewers or editing applications that claim to read or write files with the .jxr extension.

    Licensing and patents

According to the July 31, 2007 press release titled Microsoft’s HD Photo Technology Is Considered for Standardization by JPEG, "If approved, Microsoft will offer a royalty-free grant for its patents that are required to implement the standard." Covered by Microsoft Community Promise since August 2010. See Microsoft Community Promise (as of August 18, 2010, via Internet Archive). The Community Promise model was introduced in 2007 to support interoperability. See, for example, Community Promise for XPS - FAQ (as of March 6, 2007, via Internet Archive).

Transparency Depends upon complex algorithms and tools to read; will require sophistication to build tools.
Self-documentation Descriptive metadata can be incorporated in the TIFF-like file format defined in Annex A of the JPEG XR specification, using tags widely used for this purpose for TIFF images. See JXR file format for more detail.
External dependencies None
Technical protection considerations The specification for JPEG XR does not include any support for encrypting images or parts of images. However, some experiments have been done exploring how encryption might be employed on specific image areas in a JPEG XR codestream to protect privacy and security. See, for example, Format compliant RoI encryption of JPEG XR bitstreams based on tiling (2013), An encryption-then-compression system for JPEG XR standard (2016), and other Useful References below.

Quality and functionality factors Explanation of format description terms

Still Image
Normal rendering Excellent support for normal image operations. Fast panning and zooming for large images is supported by tiling capabilities and an innovative approach to frequency decomposition.
Clarity (high image resolution) Excellent support, accommodating images with large picture sizes, high spatial resolution, and high bit depth. Color rendering (see below for color maintenance) is enhanced by the existence of lossless as well as lossy options for component transforms, and by the possibility of using a wide array of color spaces.
Color maintenance ICC color profile data can be incorporated in the TIFF-like file format defined in Annex A of the JPEG XR specification (JXR), using the tag defined for this purpose in the TIFF/EP specification, 34675 (0x8773).
Support for vector graphics, including graphic effects and typography No support for vector graphics.
Support for multispectral bands Support for up to 16 independent color channels.
Functionality beyond normal rendering In many situations, compressed images in the JPEG XR encoding can be cropped, rotated, flipped, and resized without needing to decode and re-encode the image. Thus, these operations can be much faster with no additional loss in image quality.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension Not applicable.  This description is for the JPEG XR codestream encoding. See related file format JXR for file type signifiers.
File signature ASCII: WMPHOTO
Hex: 574D50484F544F00
Within the image codestream, a JPEG XR IMAGE_HEADER data structure begins with this 64-bit syntax element GDI_SIGNATURE. See IANA registration for image/jxr. Notice that the 7-byte ASCII value is followed by a byte with value zero, as shown in the Hex value.

Notes Explanation of format description terms

General

Joint publication of JPEG XR specifications by ITU and ISO/IEC: The JPEG XR image coding system is published as ISO/IEC 29199 in 5 parts and as ITU-T T.832 through T.835. See Workplan & Specs of JPEG XR on the JPEG website for a list showing the equivalent parts. Part 1 of ISO/IEC 29199 for System Architecture is published as a non-normative Technical Report rather than an International Standard [see Deliverables: The different types of ISO publications. It provides a technical overview and informative guidelines for applications of JPEG XR image coding as specified in Rec. ITU-T T.832 | ISO/IEC 29199-2. The overview of JPEG XR coding technology includes a description of the supported image formats, the internal data processing hierarchy and data structures, the image tiling design supporting hard and soft tiling of images, the lapped bi-orthogonal transform, supported quantization modes, adaptive coding and scanning of coefficients, entropy coding, and finally the codestream structure.

ITU published a report technically equivalent to ISO 29199-1 as T.Sup2 : ITU-T T.83x-series – Supplement on information technology – JPEG XR image coding system – System architecture. The summary of T.Sup2 includes, "This overview provides a basic understanding of how a JPEG XR encoder works and the various modes it supports. It also compares the JPEG XR design with those of baseline JPEG (Recommendation ITU-T T.81 | ISO/IEC 10918-1) and JPEG 2000 (Recommendation ITU-T T.800 | ISO/IEC 15444-1). Following the overview is a discussion of the use of JPEG XR for high dynamic range (HDR) image coding. Clause 8 reviews various JPEG XR profiles and describes their target applications. Clause 9, encoding practices, provides general encoding guidelines and guidelines for encoding for providing random access functionality, including an analysis of tile size selection trade-offs. A decoding process functionality, clause 10, describes the decoding process and output colour conversions, and describes how to make use of JPEG XR scalability features in a decoding application. These scalability features include resolution, quality and spatial random access scalabilities. Finally, clause 11 describes codestream manipulations in the compressed domain. This clause describes methods for trimming a codestream to extract a smaller codestream, switching between spatial and frequency codestream modes, rotation and flipping of images, extraction of a region of interest in the compressed domain, switching between interleaved and planar alpha planes, and modifying the tile structure of an image."

JPEG XR profiles: The four profiles are defined partly in terms of permitted mnemonic values for PIXEL_FORMAT. These mnemonics are defined in Table A.6 in Annex A of the JPEG XR specification

  • Sub-baseline. Has LONG_WORD_FLAG set equal to FALSE, has OVERLAP_MODE set equal to either 0 or 1, and PIXEL_FORMAT mnemonic values are limited to: 24bppRGB, 24bppBGR, 32bppBGR, 8bppGray, BlackWhite, 16bppBGR555, 16bppBGR565 or 32bppBGR101010.
  • Baseline. PIXEL_FORMAT mnemonic values are limited to: 24bppRGB, 24bppBGR, 32bppBGR, 48bppRGB, 48bppRGBFixedPoint, 64bppRGBFixedPoint, 8bppGray, 16bppGray, 16bppGrayFixedPoint, BlackWhite, 16bppBGR555, 16bppBGR565 or 32bppBGR101010.
  • Main. PIXEL_FORMAT mnemonic values are limited to: 24bppRGB, 24bppBGR, 32bppBGR, 48bppRGB, 48bppRGBFixedPoint, 48bppRGBHalf, 96bppRGBFixedPoint, 64bppRGBFixedPoint, 64bppRGBHalf, 128bppRGBFixedPoint, 128bppRGBFloat, 32bppBGRA, 64bppRGBA, 64bppRGBAFixedPoint, 64bppRGBAHalf, 128bppRGBAFixedPoint, 128bppRGBAFloat, 32bppPBGRA, 64bppPRGBA, 128bppPRGBAFloat, 32bppCMYK, 40bppCMYKAlpha, 64bppCMYK, 80bppCMYKAlpha, 24bpp3Channels, 32bpp4Channels, 40bpp5Channels, 48bpp6Channels, 56bpp7Channels, 64bpp8Channels, 32bpp3ChannelsAlpha, 40bpp4ChannelsAlpha, 48bpp5ChannelsAlpha, 56bpp6ChannelsAlpha, 64bpp7ChannelsAlpha, 72bpp8ChannelsAlpha, 48bpp3Channels, 64bpp4Channels, 80bpp5Channels, 96bpp6Channels, 112bpp7Channels, 128bpp8Channels, 64bpp3ChannelsAlpha, 80bpp4ChannelsAlpha, 96bpp5ChannelsAlpha, 112bpp6ChannelsAlpha, 128bpp7ChannelsAlpha, 144bpp8ChannelsAlpha, 8bppGray, 16bppGray, 16bppGrayFixedPoint, 16bppGrayHalf, 32bppGrayFixedPoint, 32bppGrayFloat, BlackWhite, 16bppBGR555, 16bppBGR565, 32bppBGR101010 or 32bppRGBE.
  • Advanced. Allows everything defined in the specification. The specification notes that some image codestreams that conform to the Advanced profile cannot be stored in a file in the JXR format, due to the lack of specification of any PIXEL_FORMAT value in Annex A that is consistent with the content of the image codestream. For example, although standard color formats have no more than 4 color components, JPEG XR allows customized n-channel formats using its NCOMPONENT color format. PIXEL_FORMAT values defined for NCOMPONENT in Annex A do not allow for more than 8 colors and 1 alpha channel.
History

In July 2007, Microsoft Corp issued a press release announcing that its HD Photo file format would be considered for standardization by the Joint Photographic Expert Group (JPEG), tentatively to be titled JPEG XR. The text for the specification was developed as a joint effort, leading to publication of the first edition as ITU-T T.832 and ISO/IEC 29199-2 in 2009.

Continuing efforts under ISO/IEC JTC1/SC29/WG1 led to a number of corrections and updates. Corrigendum 1 (approved 12/2009) contained a set of various minor corrections. Corrigendum 2 (approved 05/2011) contained additional minor corrections. The second edition (approved 01/2012) included additional minor corrections. The third edition (approved 08/2016) added a media type specification (image/jxr) to identify images encoded according to the tag-based format specified in Annex A. The fourth edition (approved 06/2019) added the specification of support for additional colour formats, support for an alternative file storage format based on ISO/IEC 23008-12:2017 (aka HEIF, High Efficiency Image Format) and associated media type specifications for the storage and interchange of JPEG XR coded images and image sequences in the HEIF-based format.


Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 10/09/2020