[go: up one dir, main page]

Jump to content

JPEG XR

From Wikipedia, the free encyclopedia
(Redirected from HD Photo)

JPEG XR
Filename extension
Internet media type
  • image/vnd.ms-photo
  • image/jxr[3]
Developed byMicrosoft, ITU-T, ISO/IEC
Initial release14 April 2009; 15 years ago (2009-04-14)
Latest release
06/2019 (ITU-T); 2020 edition (ISO/IEC)
June 2019; 5 years ago (2019-06)
Type of formatGraphics file format
Contained byTIFF
StandardITU-T Rec. T.832 (06/2019),
ISO/IEC 29199-2:2020
Open format?Yes
WebsiteITU-T T.832 (06/2019),
ISO/IEC 29199-2:2020

JPEG XR[4] (JPEG extended range[5]) is an image compression standard for continuous tone photographic images, based on the HD Photo (formerly Windows Media Photo) specifications that Microsoft originally developed and patented.[6] It supports both lossy and lossless compression, and is the preferred image format for Ecma-388 Open XML Paper Specification documents.

Support for the format was made available in Adobe Flash Player 11.0, Adobe AIR 3.0, Sumatra PDF 2.1, Windows Imaging Component, .NET Framework 3.0, Windows Vista, Windows 7, Windows 8, Internet Explorer 9, Internet Explorer 10, Internet Explorer 11, Pale Moon 27.2.[7][8][9] As of January 2021, there were still no cameras that shoot photos in the JPEG XR (.JXR) format.

History

[edit]

Microsoft first announced Windows Media Photo at WinHEC 2006,[10] 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.[11][12] 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.[1] On 19 June 2009, it passed an ISO/IEC Final Draft International Standard (FDIS) ballot, resulting in final approval as International Standard ISO/IEC 29199-2.[13][14] The ITU-T updated its publication with a corrigendum approved in December 2009,[1] and ISO/IEC issued a new edition with similar corrections on 30 September 2010.[15]

In 2010, after completion of the image coding specification, the ITU-T and ISO/IEC also published a motion format specification (ITU-T T.833 | ISO/IEC 29199-3), a conformance test set (ITU-T T.834 | ISO/IEC 29199-4), and reference software (ITU-T T.835 | ISO/IEC 29199-5) for JPEG XR. In 2011, they published a technical report describing the workflow architecture for the use of JPEG XR images in applications (ITU-T T.Sup2 | ISO/IEC TR 29199-1).

Description

[edit]

Capabilities

[edit]

JPEG XR is an image file format that offers several key improvements over JPEG, including:[16]

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 (formally YCbCr) 4:2:0 encoding that is typically used for the original JPEG standard.
For support of images using an RGB color space, JPEG XR includes an internal conversion to the YCoCg color space, and supports a variety of bit depth and color representation packing schemes. These can be used with and without an accompanying alpha channel for shape masking and semi-transparency support, and some of them have much higher precision than what has typically been used for image coding. They include:
  • Low bit-depth packings of RGB into 16 bits per pixel using 5 bits for each channel or 5 bits for red and blue and 6 bits for green
  • 8 bits per component (sometimes called true color) packed into 24 or 32 bits per pixel
  • 10 bits per component in a 32 bit packed representation (one of several higher-precision varieties of color representation known as deep color)
  • 16 bits per component as integers, fixed-point numbers, or half-precision floating-point numbers packed into 48 or 64 bits
  • 32 bits per component as fixed-point numbers or full-precision floating point numbers packed into 96 or 128 bits (for which lossless coding is not supported due to the excessively high precision)
JPEG XR also supports 16 bits per component (64-bit per pixel) integer CMYK color model.[17]
16-bit and 32-bit fixed point color component codings are also supported in JPEG XR. In such encodings, the most-significant 4 bits of each color channel are treated as providing additional "headroom" and "toe room" beyond the range of values that represents the nominal black-to-white signal range.
Moreover, 16-bit and 32-bit floating point color component codings are supported in JPEG XR. In these cases the image is interpreted as floating point data, although the JPEG XR encoding and decoding steps are all performed using only integer operations (to simplify the compression processing).
The shared-exponent floating point color format known as RGBE (Radiance) is also supported, enabling more faithful storage of high-dynamic-range (HDR) images.
In addition to RGB and CMYK formats, JPEG XR also supports grayscale and multi-channel color encodings with an arbitrary number of channels.
The color representations, in most cases, are transformed to an internal color representation. The transformation is entirely reversible, so that this color transformation step does not introduce distortion and thus lossless coding modes can be supported.
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.
Full decoding is also unnecessary for certain editing operations such as cropping, horizontal or vertical flips, or cardinal rotations.
The tile structure for access to image regions can also be changed without full decoding and without introducing distortion.
Metadata support
A JPEG XR image file may optionally contain an embedded ICC color profile, to achieve consistent color representation across multiple devices.
Exif and XMP metadata formats are also supported.

Container format

[edit]

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 (IFD) 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. (Alternatively, JPEG XR also supports an "interleaved" alpha channel format in which the alpha channel data is encoded together with the other image data in a single compressed codestream.)

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".[18]

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.[13] Additionally, a Motion JPEG XR specification was approved as an ISO standard for motion (video) compression in March 2010.[19]

Compression algorithm

[edit]
Comparison between JPEG 2000, JPEG XR, and JPEG

JPEG XR's design[1][20] 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 (by representing the floating-point values in an IEEE 754-like format, and encoding them as though they were integers) 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,[21][22] given (for RGB) by:[23]
  • While JPEG uses 8 × 8 blocks for its frequency transformation, JPEG XR primarily uses 4 × 4 block transforms. (2 × 4 and 2 × 2 transformations are also defined for special cases involving chroma subsampling; encoder options include YUV_444, YUV_422, YUV_420, and a monochrome Y_only.)[24]
  • 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.[25] The required transform, called the Photo Core Transform (PCT), resembles a 4 × 4 DCT but is lossless (exactly invertible). In fact, it is a particular realization of a larger family of binary-friendly multiplier-less transforms called the binDCT.[26]
  • JPEG XR allows an optional overlap prefiltering step, called the Photo Overlap Transform (POT), before each of its 4 × 4 core transform PCT stages.[25] 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.[27]
  • 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 (called DC), macroblock-level AC coefficients (called "lowpass"), and lower-level AC coefficients (called AC). 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 (in contrast to JPEG's fixed zigzag ordering), 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

[edit]

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:

software publisher sdr display sdr edit hdr display hdr edit details references
Photos (Windows) Microsoft Yes Yes Yes Yes
HDR + WCG Image Viewer Simon Tao Yes No Yes No allows still analysis tools [hdr tonemap, sdr grayscale, luminance heatmap]
Affinity Photo Serif Europe Yes Yes Yes Yes
Adobe Photoshop Adobe Systems Yes Yes Yes Yes official JPEGX Plug-in for Photoshop
jxrlib 4creators, Knewest Yes No No No can remux out of .jxr while keeping the hdr metadata to .tif to further remux it back to any other hdr format [.exr, .hdr] using an appropriate software on this page, because .tif can contain hdr metadata but not directly display the eotf in viewer
Fast Picture Viewer Axel Rietschin Software Developments Yes No No No [28]
Internet Explorer 9 Microsoft Yes No No No [29][30]
Microsoft Expression Design Microsoft Yes Yes No No [31]
Microsoft Expression Media Microsoft Yes No No No
Microsoft Image Composite Editor Microsoft Yes Yes No No [32]
Paint.NET Rick Brewster Yes Yes No No [33]
Pale Moon [v.] Moonchild Productions No No No No [34]
Serif PhotoPlus [v.] Serif Europe Yes Yes No No
Windows Live Photo Gallery Microsoft Yes Yes No No
Windows Photo Gallery Microsoft Yes Yes No No
Windows Photo Viewer Microsoft Yes No No No
XnView Pierre-Emmanuel Gougelet Yes Yes No No [35][36]
Zoner Photo Studio [v.] Zoner Software Yes Yes No No

The following notable software support JPEG XR through a Plug-in:

The following APIs and software frameworks support JPEG XR and may be used in other software to provide JPEG XR support to end users:

Product Name Publisher Read support Write support
Adobe Integrated Runtime 3.3 Adobe Systems Yes Yes [37]
Adobe Flash Player 11.3 Adobe Systems Yes Yes [37]
Integrated Performance Primitives (IPP) Intel Yes Yes [38][39]
Windows Imaging Component (WIC) Microsoft Yes Yes

The 2011 video game Rage employs JPEG XR compression to compress its textures.[40]

.jxr are images created for hdr screenshots by [xbox gamebar, nvidia shadowplay, obs, special k].

once the image is out of it s original .jxr container, no software exists to remux back to .jxr again (jxrencapp.exe from jxrlib corrupts the file, and the other apis on this list when possible to export in .jxr corrupts the file as well).

Licensing

[edit]

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,[41] 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.[42]

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.[42]

In April 2013, Microsoft released jxrlib, an open source JPEG XR library under the BSD licence.[43][44] 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"[45] was incompatible.

See also

[edit]
  • AVIF, a compression format by Google, Mozilla and others in a group called the Alliance for Open Media[46]
  • JPEG, an image format used for lossy compression (JPEG XR lossy is comparable with it.)
  • JPEG 2000, an improvement intended to replace JPEG by the JPEG committee as of 2000
  • JPEG XS, format for image and video with very low latency, more efficient for streaming high quality video
  • JPEG XL, is a royalty-free raster-graphics file format that supports both lossy and lossless compression. It is designed to outperform existing raster formats and thus to become their universal replacement.
  • PNG, a format for lossless compression, which JPEG XR lossless is comparable with
  • WebP, a format with lossy or lossless compression, proposed by Google in 2010
  • Better Portable Graphics, a proposal by Fabrice Bellard in 2014 based on HEVC
  • HEIF, a 2015 format based on MPEG-H Part 12 (ISO/IEC 23008-12) and HEVC. Implemented by Apple as the basis for their single-image format .HEIC on iPhone 7.

References

[edit]
  1. ^ a b c d "Recommendation T.832 (06/2019): Information technology – JPEG XR image coding system – Image coding specification". International Telecommunication Union – Standardization sector (ITU-T). June 2019. Retrieved 3 March 2020.
  2. ^ a b "Microsoft Device Porting Kit Specification". Microsoft Corporation. 7 November 2006. Retrieved 8 November 2009.
  3. ^ "Media Types". IANA. 29 July 2024. Retrieved 31 July 2024.
  4. ^ Bill, Crow (17 November 2006). "Introducing HD Photo". Bill Crow's Digital Imaging & Photography Blog. Microsoft.
  5. ^ Bill, Crow (31 July 2007). "Industry Standardization for HD Photo". Bill Crow's Digital Imaging & Photography Blog. Microsoft.
  6. ^ "HD Photo, Version 1.0 (Windows Media Photo)". Digital Preservation. Library of Congress. 19 February 2008.
  7. ^ matthewu (31 January 2014). "Readme". jxrlib repo. Archived from the original on 26 November 2014. Retrieved 15 March 2014 – via CodePlex. The JPEG XR format replaces the HD Photo/Windows Media™ Photo format in both Windows 8 and the Windows Image Component (WIC). WIC accompanies the Internet Explorer 10 redistributable packages for down-level versions of Windows.
  8. ^ "Platform update for Windows 7 Service Pack 1 (SP1) and Windows Server 2008 R2 SP1". Microsoft Support. 26 February 2013. Retrieved 3 June 2021.
  9. ^ "Pale Moon Release Notes". Moonchild Productions.
  10. ^ Evers, Joris. "Microsoft shows off JPEG rival". CNET.
  11. ^ "Microsoft's HD Photo Technology Is Considered for Standardization by JPEG". Microsoft Corporation. 31 July 2007. Archived from the original on 8 August 2010. Retrieved 31 July 2007.
  12. ^ "JPEG 2000 Digital Cinema Successes and Proposed Standardization of JPEG XR". Join Photographic Experts Group. 6 July 2007. Archived from the original on 17 March 2009. Retrieved 31 July 2009.
  13. ^ a b Sharpe, Louis (17 July 2009). "Press Release – 49th WG1 Sardinia Meeting". Joint Photographic Experts Group. Archived from the original on 1 September 2009. Retrieved 24 October 2009.
  14. ^ "ISO/IEC 29199-2:2009 Information technology – JPEG XR image coding system – Part 2: Image coding specification". International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC). 14 August 2009. Retrieved 18 December 2009.
  15. ^ "ISO/IEC 29199-2:2010 Information technology – JPEG XR image coding system – Part 2: Image coding specification". International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC). 30 September 2010. Retrieved 18 December 2010.
  16. ^ Bill, Crow (30 July 2009). "JPEG XR is Now an International Standard". Microsoft Developer Network blogs, Bill Crow's blog. Microsoft Corporation. Retrieved 24 October 2009.
  17. ^ Crow, Bill (1 June 2006). "Pixel Formats (Part 1: Unsigned Integers)". Bill Crow's Digital Imaging & Photography Blog. Microsoft Developer Network. Retrieved 26 October 2009.
  18. ^ "Windows Media Photo Specification". Microsoft. Retrieved 5 October 2016.
  19. ^ "JPEG launches Innovations group, new book " JPEG 2000 Suite " published". jpeg.org. 19 March 2010. Archived from the original on 25 September 2010.
  20. ^ S. Srinivasan, C. Tu, S. L. Regunathan, and G. J. Sullivan, "HD Photo: A New Image Coding Technology for Digital Photography", SPIE Applications of Digital Image Processing XXX, SPIE Proceedings, volume 6696, paper 66960A, September 2007.
  21. ^ "Analysis of BSDL-based content adaptation for JPEG 2000 and HD Photo (JPEG XR)". 8 September 2010. p. 7.
  22. ^ "JPEG XR – Microsoft Research". Microsoft.
  23. ^ "Recommendation T.832 (06/2019)". p. 185 Table D.6 – Pseudocode for function FwdColorFmtConvert1().
  24. ^ "JPEG XR Device Porting Kit Specification". JPEGXR_DPK_Spec_1.0.doc. Microsoft. 2013. Archived from the original on 26 November 2014. Retrieved 15 March 2014.
  25. ^ a b C. Tu, S. Srinivasan, G. J. Sullivan, S. Regunathan, and H. S. Malvar, "Low-complexity Hierarchical Lapped Transform for Lossy-to-Lossless Image Coding in JPEG XR / HD Photo", SPIE Applications of Digital Image Processing XXXI, SPIE Proceedings, volume 7073, paper 70730C, August 2008.
  26. ^ Liang, Jie; Trac D. Tran (2001). "Fast multiplierless approximations of the DCT with the lifting scheme". IEEE Transactions on Signal Processing. 49 (12): 3032–3044. Bibcode:2001ITSP...49.3032L. CiteSeerX 10.1.1.7.4480. doi:10.1109/78.969511.
  27. ^ Tran, Trac D.; Jie Liang; Chengjie Tu (2003). "Lapped transform via time-domain pre- and post-filtering". IEEE Transactions on Signal Processing. 51 (6): 1557–1571. Bibcode:2003ITSP...51.1557T. CiteSeerX 10.1.1.7.8314. doi:10.1109/TSP.2003.811222.
  28. ^ "FastPictureViewer Professional | Image File Formats Compatibility Chart". fastpictureviewer.com.
  29. ^ "Image Support". Microsoft Corporation. 2010. Archived from the original on 12 April 2010. Retrieved 29 May 2010.
  30. ^ Olivier, Frank (9 April 2010). "Benefits of GPU-powered HTML5". Microsoft Corporation. Retrieved 29 May 2010.
  31. ^ Crow, Bill (27 March 2007). "Expression Design Includes HD Photo Support". Microsoft Corporation. Retrieved 1 June 2010.
  32. ^ "Microsoft Research Image Composite Editor". Microsoft Research. Retrieved 9 March 2011.
  33. ^ "paint.net 4.2.1 is now available!". 7 August 2019. Retrieved 8 August 2019.
  34. ^ "Pale Moon 27.2 released!". Retrieved 18 March 2017.
  35. ^ Gougelet, Pierre E. "Formats". Archived from the original on 4 December 2010. Retrieved 10 September 2010.
  36. ^ Gougelet, Pierre E. "Added/Changed Features to XnView". Archived from the original on 11 May 2011. Retrieved 11 May 2011.
  37. ^ a b "Flash Player 11 and AIR 3 Release Notes for Adobe Labs" (PDF). 12 July 2011. Archived from the original (PDF) on 14 July 2011. Retrieved 14 July 2011.
  38. ^ Product Brief: Intel Integrated Performance Primitives 7.0, 2010.
  39. ^ JPEG XR Codec support in Intel IPP – an Introduction, features and advantages, 23 August 2010.
  40. ^ Carmack, John (29 October 2010). "John Carmack discusses RAGE on iPhone/iPad/iPod". Bethesda Blog. ZeniMax Media Inc. Retrieved 8 March 2011.
  41. ^ Stephen Shankland (23 January 2007). "Vista to give HD Photo format more exposure". CNET. Retrieved 9 March 2007.
  42. ^ a b "Microsoft Community Promise". Microsoft. Retrieved 16 July 2011.
  43. ^ "JPEG XR Photoshop Plugin and Source Code". Microsoft. 11 April 2013. Retrieved 6 July 2013.
  44. ^ "jxrlib JPEG-XR library". Microsoft. 1 April 2013. Archived from the original on 16 January 2018. Retrieved 16 April 2013.
  45. ^ "HD Photo Device Porting Kit 1.0". Microsoft. 21 December 2006. Archived from the original on 13 April 2013. Retrieved 9 August 2007.
  46. ^ "Apple wants to shrink your photos, but a new format from Google and Mozilla could go even farther". CNET. 19 January 2018. Retrieved 1 February 2018.
[edit]
Links to standardization publication pages
Links to information from Microsoft
Links to information from others