« Knowledge Management and the Academy | Main

January 14, 2009

Overview of JPEG 2000

I’ll begin by reviewing a Technology Watch Report from the Digital Preservation Coalition entitled JPEG 2000 – a Practical Design Preservation Standard? by Robert Buckley, Ph.D., of the Xerox Research Center in Webster, New York. Buckley has been a researcher with Xerox since 1981 and is the Xerox representative on the US JPEG 2000 committee and “was the Project Editor for Part 6 of the JPEG 2000 standard.” 28

I found this article fascinating because it provided detailed insight into JPEG 2000 and offered answers to questions not only that I had, but that I hadn’t even considered asking. As well, it provided concrete support for the decision here at Case to go ahead and pursue JPEG 2000 as our delivery format and even possibly our preservation format.

I’ll begin by reviewing a Technology Watch Report from the Digital Preservation Coalition entitled JPEG 2000 – a Practical Design Preservation Standard? by Robert Buckley, Ph.D., of the Xerox Research Center in Webster, New York.  Buckley has been a researcher with Xerox since 1981 and is the Xerox representative on the US JPEG 2000 committee and “was the Project Editor for Part 6 of the JPEG 2000 standard.” 28

I found this article fascinating because it provided detailed insight into JPEG 2000 and offered answers to questions not only that I had, but that I hadn’t even considered asking.  As well, it provided concrete support for the decision here at Case to go ahead and pursue JPEG 2000 as our delivery format and even possibly our preservation format.

Definition

“JPEG 2000 is a wavelet-based standard for the compression of still digital images.  It was developed by the ISO JPEG committee to improve on the performance of JPEG while adding significant new features and capabilities to enable new imaging applications.” 2

In examining this article, I want to do some deconstructing.  Everywhere I go, for instance, the definition of JPEG 2000 kicks off by stating “is a wavelet-based standard,” but almost no where does anyone stop to describe what exactly a wavelet-based standard is… It is also important, I think, to note the reasoning given for JPEG 2000: “to improve on the performance of JPEG while adding significant new features…” this to me is important because a lot of people have been stating that it is an archival or preservation quality format for images.  Now, I have read and am reading articles that are performing research to demonstrate the truth or falsity of this statement (one of which was a partnership with Harvard, Google, and the Open Content Alliance and I’ll discuss this later).  There is evidence that JPEG 2000 can be used (and possibly successfully) as a preservation standard, but it was NOT DESIGNED for that.

Application and Features

JPEG 2000 boasts its use for geospatial and medical imaging, digital cinema, image repositories and networked image access, and describes the following feature set:

  • A single architecture for lossless and visually lossless image compression
  • A single JPEG 2000 master image can supply multiple derivative images
  • Progressive display, multi-resolution imaging and scalable image quality
  • The ability to handle large and high-dynamic range images
  • Generous metadata support

As the article states, “an application can access and decode only as much of the compressed image as needed to perform the task at hand…The zoom, pan, and rotate operations that users increasingly expect in networked image systems are performed dynamically by accessing and decompressing just those parts of the JPEG 2000 codestream containing the compressed image data for the region of interest.” 2

Per the above, one interesting feature of JPEG 2000 that will be discussed in more detail later on is ROI or Region of Interest functionality.  By using ROI features (which takes advantage of tiling) an end user can look at one area of an image in extraordinarily high resolution and benefit from only loading that particular region/tile, rather than the entire image (which would be cumbersome depending on the image size, user bandwidth, etc).

From the standpoint of an archives or repository, “Using a single JPEG 2000 master to satisfy user requests for dynamic viewing reduces storage costs and management overhead by eliminating the need to maintain multiple derivatives in a repository.” 2

For those of you not familiar with how image archives have worked in the past, you would present the user with options: several options.  Option one might be the full uncompressed TIFF image, which for the WPA Print images in Digital Case can average around 350MB; a second option would be a JPEG version of the original with no physical size reduction (resolution) but with compression; then a 1024 x 768 version; then an 800 x 600 version; and usually a thumbnail to represent the collection.  So, in this example alone you see that there is one original image with 4 derivative images of varying sizes (based on an assumption of end user choice).  At worst this process involved a student manually manipulating each image.  At best a batch process is created in an application, like Adobe Photoshop, to automatically produce these derivative images.  From the “storage costs and management overhead” perspective, then it must be considered that each of these images had to be loaded to the server for display: thus, one image is not only cumbersome, but has multiple other images which vary in their cumbersomeness as well.
This is to say that JPEG 2000 results in dynamic generation of many sizes of images, so small, medium, and large files don’t need to be generated manually.  This is one of JPEG 2000’s most attractive features.

“JPEG 2000 is being used increasingly as a repository and archival image format…many repositories are storing visually lossless JPEG 2000 files…compared to uncompressed TIFF, visually lossless JPEG 2000 compression can reduce the amount of storage by an order of magnitude or more.” 2
This is what I’ll discuss in upcoming articles regarding the use of JPEG 2000 in this way.  Surprisingly, in the HUL/Google/OAC article I mentioned above they were using lossy JPEG 2000 compression.

Article Overview

Buckley begins his discussion of JPEG 2000 by describing it as an International Standard, specifically Part 1 of the standard, ISO/IEC 15444-1 and ITU-T T.800.  I’ll try to come back to this in a later article to discuss it.  What is of particular interest is that Buckley here mentions a problem with “modern signal-based approaches to image compression”—that it is difficult to improve the “compression performance and efficiency,” so new standards are adding “significant new features and capabilities.”  And that these enhancements are a major reason for the attraction to JPEG 2000.  Beyond this, JPEG 2000 is not just “a standard” but is actually a “suite of standards” that goes beyond the scope for which it was originally intended.

Buckley then takes a historical look at the origins of the JPEG standard in 1992.  This standard is a “lossy compression method” meaning that the “original, uncompressed image that existed before JPEG compression was applied cannot be exactly recovered from the JPEG-compressed data or codestream.” 3 Buckley further remarks that this compression is “small and either not noticeable or unobtrusive” a fact which leads to this type of compression being referred to as “visually lossless: the before and after images are mathematically but not visually distinguishable.”  However, despite this, Buckley notes that the compression is irreversible.  He then describes circumstances where “mathematically lossless behavior is desired;” circumstances in which the original image needs to be extracted from the compressed data “bit for bit.”  “This type of compression is lossless or reversible compression.” 3

Visually Lossless Compression: a form of compression applied to data or a codestream in which the image that existed before compression cannot be exactly recovered; this type of compression is called lossless as the before and after images are mathematically but not visually distinguishable.

Lossless Compression (Reversible): a form of compression in which there is no resulting loss of data to the codestream, in which the image recovered from the compressed data can be reproduced identically, bit-for-bit, with the original, uncompressed image as it existed before compression was applied.

When it came time to create a new standard (JPEG 2000) “seven areas were identified that would be addressed:

  • Low bit-rate compression performance
  • Lossless and lossy compression in a single codestream
  • Large images, noting that JPEG was limited by 64K by 64K images without tiling
  • Single decompression architecture to integrate features and applications  in a unified framework
  • Transmission in noisy environments
  • Computer-generated imagery
  • Compound documents, combining images and text” 4

A call was put out for contributions to the standard and in December of 1997 a decision was made to use a “wavelet-based approach as the basis for the new standard.” 4

“The result was Part 1 of the JPEG 2000 standard, which defines the core decoder.  This part of the standard focuses on the codestream, which is the collection of bits that contain the compressed image data and the parameters needed for interpreting it…and an optional file format for encapsulating the codestream with associated metadata including colour encoding.” 5  JP2 is the optional file format.

Buckley then lists the 14 Parts of the JPEG 2000 standard.  He notes that Part 1 “was designed so that implementations of it would not require licensing fees or royalties.” And further that “JPEG 2000 is an open standard.”  6  As well, “JPEG 2000 is not natively supported by web browsers. In this respect it is like TIFF and PDF, neither or which is natively supported by browsers.  And like them, plug-ins are available.” 6

Features

  • JPEG 2000 “defines a single compression algorithm for both lossless (reversible) and lossy (irreversible) compression.” 6
    • Which one is used depends on how parameters are set
    • The core decoder can decompress both of them
    • Tests have shown that JPEG 2000 “gives compression ratios a few percentage points less than JPEG-LS, but a few points better than PNG.” 6
      • Lossless compression ratios are generally around 2:1; JPEG 2000’s lossless compression ratio is 2.08:1. 6
      • Lossy compression, JPEG 2000 images were judged visually lossless at a bit rate of around 1 bit per pixel, “which corresponds to a compression ratio of 24:1.” 7
    • “JPEG 2000 images have lower errors that the JPEG images with the same compression ratio or bit rate” 7
    • “JPEG 2000 is a single algorithm that is…better than JPEG for visually lossless and lossy, but more complex…what complexity buys…is a set of features” the other can’t offer. 7
    • “if one had to name the single most important feature of JPEG 2000, it would probably be ‘smart decoding’” in which a “codestream can support multiple decompression options and enable an application to access and decode only as much of the code stream as is needed for the task at hand” (region of interest) 7
    • Smart decoding makes it possible for a “single JPEG 2000 compressed image to supply multiple derivatives of the original image.” 7
      • Multiple reduced resolution versions of the original
      • A compressed image of a specified file size or error rate
      • High resolution, high quality view of a portion of the image with a region of interest
  • Smart Decoding works through the wavelet transform of the codestream.  This makes possible two methods of compression: progressive decompression and progression resolution.
    • “Progressive Decompression of a JPEG 2000 codestream can provide a sequence of images…starting with the lowest resolution, thumbnail image…with each subsequent image derived from the [previous image]…Because of the nature of the wavelet transform…each image in the sequence has twice the height and width, and twice the resolution of the image [preceding it].  The final image in the sequence would have the same size and resolution as the original.” 7-8
      • “one consequence of this is that a gigapixel image compressed with JPEG 2000 can be opened and viewed with little if any delay since all that is accessed from the codestream is the lowest resolution image needed for creating a display-sized image.” 8
    • Progression Resolution is “enabled by partitioning a JPEG 2000 compressed image into multiple quality levels or layers.  The partitions can be set so that the intermediate images have specified compression ratios (or bit rates) or error rates…the final image in the sequence being losslessly compressed.” 8

“The ability to create JPEG 2000 compressed images that contain different quality levels has a consequence worth noting here. It makes it possible to obtain lower quality image versions from a higher quality compressed image without having to recompress or even decompress the image…it makes it possible to distinguish the needs of image archive from image delivery but have them both satisfied by a single file.” 10

  • “JPEG 2000 also supports a variety of input images. It can handle large images: images with hundreds of megabytes are common and at least one vendor claims support for terabyte images. JPEG 2000 can also handle high-bit depth and high-dynamic range images, unlike JPEG which is practically limited to 8 bits per component.” 10

  • “It is not possible to discuss digital preservation without some discussion of metadata. The JPEG 2000 standard has generous support for metadata. However this support is at the level of the file format rather than the codestream, so this is a good point to introduce the JPEG 2000 file formats.”

File Formats

There are 4 file formats for JPEG 2000: JP2, JPX, MJ2, and JPM.  These formats associate with different parts of the standard (remember, there are 13 parts).

  • JP2 is a basic format for single images and a limited set of color encodings and is defined in part 1 of the standard.  It’s file extension is .jp2
  • JPX is an extended version of JP2, supports one or more images, a large set of color encodings as well as “advanced features,” and is defined in part 2 of the standard.  It’s file extension is .jpf
  • MJ2 is a format for motion images.
  • JPM is a format for compound images.

At a later date I will address the features of the file formats in a separate article.

The JP2 file is made up of boxes, very like a TCP/IP packet, and have the “same structure as atoms in QuickTime and MPEG-4 files.” 11  Which explains the use of QuickTime as one of the viewers for JP2 files through a web browser.  The header of the JP2 file carries color information, as discussed next:

“The JP2 file format was designed with digital photography in mind. This is reflected in the colour encodings defined in the standard. JP2 supports two colour encoding methods: the sRGB family of colour spaces and restricted ICC profiles. The sRGB encodings are sRGB, sYCC and a greyscale encoding defined in Part 1 that applies the sRGB non-linearity to luminance values. The use of ICC profiles is restricted to the Monochrome Input or Three-Component Matrix-Based Input profile14. These profiles are adequate to represent density values and RGB encodings such as ProPhotoRGB and Adobe RGB, which have a wider gamut than sRGB and are more suited to digital preservation.” 12

The JP2 file format also carries both XML and UUID data.  XML is extensible markup language and UUID stands for universally unique identifier.  These boxes allow the JP2 file to carry metadata.  The XML box carries XML-formatted metadata (which can include Dublin Core elements, as well as schema and namespace references), while UUID carries vendor defined or created metadata.  Again, I’ll get into the specifics of this in later articles.

The JPX file format has greater possibilities for Digital Preservation, as it: can contain multiple images within one file (as well as the information on how they should be ordered or reconstructed), has expanded color support features; allows metadata to link with regions of interest in an image (which raises interesting possibilities for TEI or other such metadata schemes).  This data travels with the file so that other applications can take advantage of it. 13-14

Performance

The process of compression works like this:

  • “Conceptually, first thing that happens when an image is JPEG 2000 compressed is that it is split into rectangular tiles. Since each tile is compressed independently of every other tile, the usual rationale for tiling is to limit the amount of memory needed to implement JPEG 2000 and to provide independent access to regions in an image… 16
  • If the components in a multi-component image are red, green and blue, then an optional component transform is available to convert them to luminance and chrominance. Two transforms are supported by Part 1 decoders. One is the same as the conversion that JPEG uses. Because its transform coefficients are floating point, there is some small round-off error in a round trip conversion to and from luminance chrominance values. As a result, the original red, green and blue component values are not recoverable and this is an irreversible component transform (ICT). The second transform was designed with coefficients so that it is a reversible component transform (RCT) and the original red, green and blue values are recoverable from the luminance-chrominance values…The purpose of these transforms is to decorrelate the red, green and blue image components, which improves compression performance by redistributing the energy across the image components… 16
  • With these preliminaries out of the way, next come the core operations of the JPEG 2000 coder, starting with the wavelet transform. The wavelet transform is applied to each component independently after the optional component transform…The standard allows for as many as 32 levels of wavelet transform, although in practice only as many levels are applied as are needed to create a conveniently-sized thumbnail from the subband image at the lowest resolution. 17-18
  • The next step after the wavelet transform is the quantization of the subband images, which is a lossy step that reduces their precision in order to improve their compressibility in the following step, which is the arithmetic coder. In lossless compression, the subband images are passed unchanged to the arithmetic coder. 18
  • After quantization comes the entropy coder, which takes advantage of the statistical properties of the quantized subband images to reduce the number of bits used to represent them. This is the stage where the actual compression occurs. 18

Other features are built into this process, including such things as the creation of precincts, which “allow for regions of the compressed image to be accessed and decoded independently of other regions” and a “quality layer” which adds (or takes away) data to improve (or reduce) the quality of the image—thus handling the resolution.

JPEG 2000 also “defines five progression orders or packet orderings. In resolution-major progression orders, the packets for all layers, positions and components of the lowest resolution come in the codestream before all those for the next higher resolution level…in layer-progression order… all the packets for one quality layer occur in the codestream before all the packets for the next quality layer. Progression order is another design choice in the use of JPEG 2000.” 19  On this point, when one adds the plug-in to Adobe CS3 or CS4 for use to export or save files in a JPEG 2000 format the progression order is one of the options presented during the save process: that is, one can choose whether to save the image with resolution-major progression or with layer-progression.

JPEG 2000 also has greater error-checking and error-handling capabilities than does the JPEG standard.  I will address these in a future article, too.

Access and Preservation

“JPEG 2000 is being used for geospatial imaging, medical imaging and by the cultural heritage and digital preservation communities. Many digital collection and library systems support JPEG 2000, and several institutions use it in their collections.” 20

The article here goes on to site the many projects that have used JPEG 2000 for various projects:

  • Harvard University Library (HUL) [made] the move to JPEG 2000 [which] was driven in part by institutional clients who wanted features such as interactive zoom, pan, and rotate. These requirements are not easily implemented with TIFF, GIF, or JPEG, but are easily enabled by JPEG 2000. 20
  • Library and Archives Canada ran a year-long JPEG 2000 pilot project over 2006 and 2007...One of their main results was to show that the use of JPEG 2000 could reduce file sizes significantly without loss to image quality...They found that the JPEG 2000 codec they used performed best when images were tiled, and they recommended tiles sizes of 512 by 512 and 1024 by 1024. They also observed that the use of JPEG 2000 meant that derivative files were no longer required. The JP2 files they created in this pilot contained XML boxes with MODS-based metadata records. 21
  • JPEG 2000 is also used by the Chronicling America website, which was officially announced in March 2007 and currently provides access to US newspaper pages from 1900 to 1910.
  • To look at the applicability of JPEG 2000 to a broader collection of content, the Library of Congress in October 2007 announced collaboration with Xerox Corporation to study the use of the JPEG 2000 format in large repositories of digital cultural heritage materials…It will pay attention to the preservation, access and performance issues associated with large image repositories, and how the JPEG 2000 standard can address those issues. The work, due to be completed in 2008, is expected to lead to specifications and best practices for the use of JPEG 2000. 21-22

The growing use and adoption of JPEG 2000 in digital preservation and other domains enhances its standing as a sustainable format. The increased application means increased commitment on the part of both users and suppliers to the persistence of the format, the image data committed to it and the resources and tools for supporting it.

Conclusions

JPEG 2000 is an “open standard for the compression of still digital images” (26) that is not only meant to replace the original JPEG standard, but greatly enhances the JPEG standard with a diverse set of features, including region of interest functionality and onboard metadata packaging.  It is clear from many of the projects using JPEG 2000, that this standard has increased application in libraries and in digital preservation programs.  Over the next several weeks I will delve into this standard with an eye on exploring each portion of what this article by Buckley outlines, but also to shine some light on the more dense sections of the standard, such as wavelet compression, file formats and features, component transforms, quantization, as well as highlighting the other projects that are using JPEG 2000.

Posted by twh7 at January 14, 2009 10:58 AM

Trackback Pings

TrackBack URL for this entry:
http://blog.case.edu/digitalcase/mt-tb.cgi/19515

Comments

Post a comment




Remember Me?

(you may use HTML tags for style)