JPEG XR


JPEG XR is an image compression standard for continuous tone photographic images, based on the HD Photo specifications that Microsoft originally developed and patented. It supports both lossy and lossless compression, and is the preferred image format for Ecma-388 Open XML Paper Specification documents.
The format is natively supported by Windows Vista and later as well as Internet Explorer 9, 10 and 11. Third-party support for the format includes Adobe AIR, Affinity Photo, Paint.NET, and Sumatra PDF.

History

Microsoft first announced Windows Media Photo at WinHEC 2006, and then renamed it to HD Photo in November of that year. In July 2007, the Joint Photographic Experts Group and Microsoft announced HD Photo to be under consideration to become a JPEG standard known as JPEG XR. On 16 March 2009, JPEG XR was given final approval as ITU-T Recommendation T.832 and starting in April 2009, it became available from the ITU-T in "pre-published" form. On 19 June 2009, it passed an ISO/IEC Final Draft International Standard ballot, resulting in final approval as International Standard ISO/IEC 29199-2. The ITU-T updated its publication with a corrigendum approved in December 2009, and ISO/IEC issued a new edition with similar corrections on 30 September 2010.
In 2010, after completion of the image coding specification, the ITU-T and ISO/IEC also published a motion format specification, a conformance test set, and reference software for JPEG XR. In 2011, they published a technical report describing the workflow architecture for the use of JPEG XR images in applications.
Since the release of 11, version 24H2">Internet Explorer 11">11, version 24H2 in October 2024, HDR images in JPEG XR can be set as HDR wallpapers.

Description

Capabilities

JPEG XR is an image file format that offers several key improvements over JPEG, including:
; Better compression: JPEG XR file format supports higher compression ratios in comparison to JPEG for encoding an image with equivalent quality.
; Lossless compression: JPEG XR also supports lossless compression. The signal processing steps in JPEG XR are the same for both lossless and lossy coding. This makes the lossless mode simple to support and enables the "trimming" of some bits from a lossless compressed image to produce a lossy compressed image.
; Tile structure support: A JPEG XR coded image can be segmented into tile regions. The data for each region can be decoded separately. This enables rapid access to parts of an image without needing to decode the entire image. When a type of tiling referred to as "soft tiling" is used, the tile region structuring can be changed without fully decoding the image and without introducing additional distortion.
; Support for more color accuracy: JPEG XR supports a wide variety of image color representations in addition to the conventional 8-bit-per-sample YUV 4:2:0 encoding that is typically used for the original JPEG standard.
; Transparency map support: An alpha channel may be present to represent transparency, so that alpha blending overlay capability is enabled.
; Compressed-domain image modification: In JPEG XR, full decoding of the image is unnecessary for converting an image from a lossless to lossy encoding, reducing the fidelity of a lossy encoding, or reducing the encoded image resolution.
; Metadata support: A JPEG XR image file may optionally contain an embedded ICC color profile, to achieve consistent color representation across multiple devices.

Container format

One file container format that can be used to store JPEG XR image data is specified in Annex A of the JPEG XR standard. It is a TIFF-like format using a table of Image File Directory tags. A JPEG XR file contains image data, optional alpha channel data, metadata, optional XMP metadata stored as RDF/XML, and optional Exif metadata, in IFD tags. The image data is a contiguous self-contained chunk of data. The optional alpha channel, if present, can be compressed as a separate image record, enabling decoding of the image data independently of transparency data in applications which do not support transparency.
Being TIFF-based, this format inherits all of the limitations of the TIFF format including the 4 GB file-size limit, which according to the HD Photo specification "will be addressed in a future update".
New work has been started in the JPEG committee to enable the use of JPEG XR image coding within the JPX file storage format – enabling use of the JPIP protocol, which allows interactive browsing of networked images. Additionally, a Motion JPEG XR specification was approved as an ISO standard for motion compression in March 2010.

Compression algorithm

JPEG XR's design is conceptually very similar to JPEG: the source image is optionally converted to a luma-chroma colorspace, the chroma planes are optionally subsampled, each plane is divided into fixed-size blocks, the blocks are transformed into the frequency domain, and the frequency coefficients are quantized and entropy coded. Major differences include the following:
  • JPEG supports bit depths of 8 and 12 bits; JPEG XR supports bit depths of up to 32 bits. JPEG XR also supports lossless and lossy compression of floating-point image data and RGBE imagery.
  • JFIF and other typical image encoding practices specify a linear transformation from RGB to YCbCr, which is slightly lossy in practice because of roundoff error. JPEG XR specifies a lossless colorspace transformation, namely YCoCg-R, given by:
  • While JPEG uses 8 × 8 blocks for its frequency transformation, JPEG XR primarily uses 4 × 4 block transforms.
  • While JPEG uses a single transformation stage, JPEG XR applies its 4 × 4 core transform in a two-level hierarchical fashion within 16 × 16 macroblock regions. This gives the transform a wavelet-like multi-resolution hierarchy and improves its compression capability.
  • The DCT, the frequency transformation used by JPEG, is slightly lossy because of roundoff error. JPEG XR uses a type of integer transform employing a lifting scheme. The required transform, called the Photo Core Transform, resembles a 4 × 4 DCT but is lossless. In fact, it is a particular realization of a larger family of binary-friendly multiplier-less transforms called the binDCT.
  • JPEG XR allows an optional overlap prefiltering step, called the Photo Overlap Transform, before each of its 4 × 4 core transform PCT stages. The filter operates on 4 × 4 blocks which are offset by 2 samples in each direction from the 4 × 4 core transform blocks. Its purpose is to improve compression capability and reduce block-boundary artifacts at low bitrates. At high bitrates, where such artifacts are typically not a problem, the prefiltering can be omitted to reduce encoding and decoding time. The overlap filtering is constructed using integer operations following a lifting scheme, so that it is also lossless. When appropriately combined, the POT and the PCT in JPEG-XR form a lapped transform.
  • In JPEG, the image DC coefficients of the DCT blocks are predicted by applying DC prediction from the left neighbor transform block, and no other coeffients are predicted. In JPEG XR, 4 × 4 blocks are grouped into macroblocks of 16 × 16 samples, and the 16 DC coefficients from the 4 × 4 blocks of each macroblock are passed through another level of frequency transformation, leaving three types of coefficients to be entropy coded: the macroblock DC coefficients, macroblock-level AC coefficients, and lower-level AC coefficients. Prediction of coefficient values across transform blocks is applied to the DC coefficients and to an additional row or column of AC coefficients as well.
  • JPEG XR supports the encoding of an image by decomposing it into smaller individual rectangular tile area regions. Each tile area can be decoded independently from the other areas of the picture. This allows fast access to spatial areas of pictures without decoding the entire picture.
  • JPEG XR's entropy coding phase is more adaptive and complex than JPEG's, involving a DC and AC coefficient prediction scheme, adaptive coefficient reordering, and a form of adaptive Huffman coding for the coefficients themselves.
  • JPEG uses a single quantization step size per DC/AC component per color plane per image. JPEG XR allows a selection of DC quantization step sizes on a tile region basis, and allows lowpass and AC quantization step sizes to vary from macroblock to macroblock.
  • Because all encoding phases except quantization are lossless, JPEG XR is lossless when all quantization coefficients are equal to 1. This is not true of JPEG. JPEG defines a separate lossless mode which does not use the DCT, but it is not implemented by libjpeg and therefore not widely supported.
The HD Photo bitstream specification claims that "HD Photo offers image quality comparable to JPEG-2000 with computational and memory performance more closely comparable to JPEG", that it "delivers a lossy compressed image of better perceptive quality than JPEG at less than half the file size", and that "lossless compressed images … are typically 2.5 times smaller than the original uncompressed data".

Software support

A reference software implementation of JPEG XR has been published as ITU-T Recommendation T.835 and ISO/IEC International Standard 29199-5.
The following notable software products natively support JPEG XR:
SoftwarePublisherSDR readSDR writeHDR readHDR writeReferences
Affinity Designer/Photo/PublisherSerif Europe
Fast Picture ViewerAxel Rietschin Software Developments
Simon Tao
Internet Explorer 9, 10, 11Microsoft
Microsoft Expression DesignMicrosoft
Microsoft Expression MediaMicrosoft
Microsoft Image Composite EditorMicrosoft
Nvidia App Nvidia
Paint.NETRick Brewster
Photos (Windows)Microsoft
Serif PhotoPlusSerif Europe
Windows Photo GalleryMicrosoft
Windows Photo ViewerMicrosoft
XnViewPierre-Emmanuel Gougelet
Zoner Photo StudioZoner Software

The following APIs and software frameworks support JPEG XR, and may be used in other software to provide the JPEG XR support to end users:
The 2011 video game Rage employs JPEG XR compression to compress its textures.

Licensing

Microsoft has patents on the technology in JPEG XR. A Microsoft representative stated in a January 2007 interview that in order to encourage the adoption and use of HD Photo, the specification is made available under the Microsoft Open Specification Promise, which asserts that Microsoft allows implementation of the specification for free, and will not file suits on the patented technology for its implementation, as reportedly stated by Josh Weisberg, director of Microsoft's Rich Media Group. As of 15 August 2010, Microsoft made the resulting JPEG XR standard available under its Community Promise.
In July 2010, reference software to implement the JPEG XR standard was published as ITU-T Recommendation T.835 and International Standard ISO/IEC 29199-5. Microsoft included these publications in the list of specifications covered by its Community Promise.
In April 2013, Microsoft released jxrlib, an open source JPEG XR library under the BSD licence. This resolved any licensing issues with the library being implemented in software packages distributed under popular open source licences such as the GNU General Public License, with which the previously released "HD Photo Device Porting Kit" was incompatible.