HD Photo

From Wikipedia, the free encyclopedia

HD Photo
File extension: .hdp (formerly .wdp)
MIME type: image/vnd.ms-photo
Developed by: Microsoft
Type of format: graphics file format

HD Photo (formerly Windows Media Photo) is a still image compression algorithm and file format for continuous tone photographic images, developed by Microsoft as a part of the Windows Media family. It supports lossy as well as lossless compression, and is the preferred image format for Microsoft's XPS documents. It was previously known internally as photon. Software support for the format is not widespread as of early 2007, however, official managed code and unmanaged code implementations of the codec are available as part of .NET Framework 3.0 and Windows Imaging Component respectively. Both components are part of Windows Vista and are available for Windows XP. While named "HD Photo", there is no relevance to or association with high-definition multimedia, such as HDTV.

Contents

[edit] Description

HD Photo is an image codec that gives a high-dynamic-range image encoding while requiring only integer operations (with no divides) for both compression and decompression (integer operations typically execute faster than divides). It supports monochrome, RGB, CMYK and even n-channel color representation, using up to 16-bit unsigned integer representation, or up to 32-bit fixed point or floating point representation, and also supports RGBE Radiance. It may optionally include an embedded ICC color profile, to achieve consistent color representation across multiple devices. An alpha channel may be present for transparency, and Exif and XMP metadata formats are supported. The format also supports multiple images per file. The format allows decoding part of an image, without decoding the entire image. Full decoding is also unnecessary for certain operations such as cropping, downsampling, horizontal or vertical flips, or cardinal rotations.

All color representations are transformed to an internal color representation. The transformation is entirely reversible, so, by using appropriate quantizers, both lossy and lossless compression can be achieved.

[edit] Compression algorithm

HD Photo uses a reversible color space conversion, a reversible lapped biorthogonal transform and a non-arithmetic entropy encoding scheme, which is very efficient in preserving high frequency image data. This makes the algorithm retain a higher image quality at high compression ratios. The transform operation needs 3 multiply and add operations and 7 add or shift operations at the highest quality level and in the highest performance mode, 1 multiply and add operation and 4 add or shifts are required per pixel, giving the codec a high performance. HD Photo processes images in 16x16 macroblocks.

HD Photo supports various color formats and multiple fixed and floating point numerical representation, thus giving a wide range of compression options. To remain compatible across various devices, it differentiates Basic and Advanced formats. While digital photography needs are satisfied by the Basic format, 3D rendering or advanced image processing scenarios require the Advanced format.

Microsoft claims that HD Photo offers a "perceptible image quality comparable to JPEG 2000 with computational and memory performance more closely comparable to JPEG and delivers a lossy compressed image of better perceptive quality than JPEG at less than half the file size, and that the lossless compression compresses images 2.5 times".

[edit] Container format

HD Photo uses a TIFF-like file container to store image data in a table of Image File Directory (IFD) tags. An HD Photo file contains image data, an optional alpha channel data, HD Photo metadata, optional XMP metadata stored as 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, is 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 4GB file-size limit, which according to the HD Photo specification[1] "will be addressed in a future update".

[edit] Licensing

Microsoft has patents on the technology in HD Photo. 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 Microsoft's Open Specification Promise, which asserts that Microsoft offers the specification for free, and will not file suit on the patented technology, and that open-source software can therefore make use of the format.[2] However, as of Microsoft's February 15, 2007 update, HD Photo is still not among the technologies that Microsoft has listed as being covered by the Open Specification Promise.[3]

In addition to the specification itself, Microsoft released the "HD Photo Device Porting Kit" which provides source code and build configuration files for multiple platforms. While the license for this code is designed to encourage broad adoption in products, the license terms specifically prohibit including any of Device Porting Kit's code in products or systems that use strong copyleft licensing.[4]

2. c. Distribution Restrictions. You may not ... modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that the code be disclosed or distributed in source code form; or others have the right to modify it.

As a consequence, any implementation that would be suitable for inclusion in a software package distributed under the GNU General Public License would need to be written from the HD Photo Bitstream Specification (also assuming Microsoft does cover HD Photo under the Open Specification Promise), although the licenses such as the Open Source Initiative-approved BSD license would likely be acceptable.

[edit] References

  1. ^ Windows Media Photo Specification. Retrieved on 2006-06-29.
  2. ^ Stephen Shankland (2007-01-23). Vista to give HD Photo format more exposure. CNet. Retrieved on 2007-03-09.
  3. ^ Microsoft Open Specification Promise (February 15, 2007).
  4. ^ HD Photo Device Porting Kit 1.0. Microsoft, Inc. (12/21/2006).

[edit] See also

[edit] External links