Sunteți pe pagina 1din 4

JPEG 2000: OVERVIEW, ARCHITECTURE, AND APPLICATIONS Michael J. Gormish, Daniel Lee, Michael W. Marcellin

Ricoh California Research Center, 2882 Sand Hill Rd., Ste. 115, Menlo Park, CA 94022, gormish@rsv.ricoh.com Hewlett-Packard,1501 Page Mill Road, Palo Alto, CA 94304, daniel_lee@hp.com Department of ECE, University of Arizona, Tucson, AZ 85721, marcellin@ece.arizona.edu

ABSTRACT

JPEG 2000 will soon be an international standard for still image compression. This paper describes that standard at a high level, indicates the component pieces which empower the standard, and gives example applications which highlight differences between JPEG 2000 and prior image compression standards.

Other papers in this conference provide greater detail on specific portions of the standard [1-4], a comparison with other standards [5], information about implementation [6], and use for video [7].

1.

INTRODUCTION

One of the early descriptions of why there should be a new standard (which was later named JPEG 2000) states:

This new work item will create a standard for a compression system that will compress several different types of still images (bi-level, gray-level, color) with different characteristics (natural images, scientific, medical, military imagery, text, and rendered graphics) preferably within a unified system.

One goal was clearly to avoid the need for different compression standards for lossless and lossy compression. In addition, if lossless compression was simply an extension of lossy compression then it would be possible to remove data at a later time to lower the rate (while also decreasing the quality). In addition to this “quality scalibility” there was a desire to offer “resolution scalibility,” i.e. the ability to get lower resolution images from the same bitstream, and “spatial scalibility,” i.e. the ability to get different regions from the compressed bitstream.

As the “call for proposals” was developed, additional goals were added. Some members of the standards bodies were interested in best possible quality at extremely low bit rates. Others were interested in error resilience for mobile applications. Of course, rate distortion should also improve over the original JPEG standard.

The goal of the JPEG committee and thus the goal of JPEG 2000 is to serve as many image compression applications

as reasonably possible with one “unified” standard. Section

2 of this paper describes the architecture of the JPEG 2000 standard. Section 3 describes the division of the standard into parts. Section 4 shows how the features described are useful in some sample applications.

2.

ARCHITECTURE

A block diagram of a JPEG 2000 encoder appears in Figure

1. This figure also notes the annex of the JPEG 2000 standard which describes each operation (annexes appear

in

reverse order in the figure because the standard is written

to

describe a decoder). The main processing path for image

samples is the bottom row of the figure. Each step has some options which are recorded in the codestream and allow the decoder to use the appropriate decode options. The standard does not specify any method of rate control although any encoder will require an algorithm to set the parameters appropriately.

There are two primary paths and several options for encoding. If reversible or lossless coding is desired, then the Reversible Component Transform (RCT) is used with the 5-3 wavelet, and quantization is by truncation. If purely lossy coding is desired at the highest quality for a given bitrate, then the YCbCr transform is used, with the 9-7 wavelet, and arbitrary quantization by division is possible in addition to truncation. With either of these main paths there are several options for Region of Interest (ROI), different coding options to trade complexity and performance, and choices about the amount of scalability in the bitstream.

It is worth noting that the standard specifies only the decoder operations, bitstream syntax, and file format. Although informative descriptions of some encoding functions are provided in the text of the standard, there are no requirements that the encoder perform compression in any prescribed manner. This leaves room for future innovations in encoder implementations.

File format (Annex I) Image Encode Source Preferences Codestream syntax (Annex A) ROI (Annex H)
File format (Annex I)
Image
Encode
Source
Preferences
Codestream syntax (Annex A)
ROI
(Annex H)
Component
Wavelet
Quantization
Coefficient
Arithmetic
Data
transform
transform
(Annex E)
bit modeling
entropy
ordering
(Annex G)
(Annex F)
(Annex D)
coding
(Annex B)
(Annex C)
JPEG 2000
bitstream
Figure 1 - JPEG 2000 Encoder Block Diagram

2.1 Component Transform

The component transform provides decorrelation among image components (typically R, G, B). This improves the compression and allows for visually relevant quantization. When the reversible path is used, the Reversible Component Transform (RCT) is used, which maps integers to integers. When the irreversible path is used the YCbCr transform is used as is common with the original JPEG.

2.2 Wavelet Transform

There are two wavelet transforms possible in the standard. Both provide lower resolution images and spatial decorrelation of the images to improve compression. The 9x7 filter provides the highest compression, while the 5x3 filter provides lower complexity and allows lossless compression.

2.3 Quantization

The trade-off between rate and distortion is obtained by quantization. Wavelet coefficients can be divided by a different value for each subband (similar to JPEG). Alternatively, portions of the coded data can be discarded (decreasing rate and quality). This discarding of data can be done in a variety of creative ways, see [2].

2.4 Context Model

The context model divides the bits of the quantized wavelet coefficients into groups with similar statistics so the arithmetic coder can efficiently compress them. Each bitplane of a coefficient is processed by one of three coding passes as described in [1].

2.5 Arithmetic Coder

JPEG 2000 uses the MQ binary arithmetic coder to provide lossless compression of each coding pass of quantized wavelet coefficients.

2.6 Bitstream Ordering

Portions of coded data (output from the arithmetic coder) are collected into packets. These packets have a compressed header.

While the codestream syntax allows data to be accessed in almost any order, there must be some order to the data. Various orders are possible to allow progression by resolution, or quality, or location, or some combination of these.

2.7 Codestream syntax

The codestream consists of marker segments and coded data. The marker segments allow the determination of the location of the coded data corresponding to a given spatial

location, resolution, and quality in the image.

2.8 File format

Any data which is related to the image, but is not needed to

reconstruct samples of “color” components of the image, is stored in the file format. The optional file format is provided to prevent the proliferation of non-standard proprietary formats as happened with the original JPEG standard. The file format begins with a unique signature, has a profile indicator, and repeats the width, height, and depth information from the codestream. Optionally the file format may contain a limited color specification, capture and display resolution, intellectual property rights information, and some additional meta-data [4].

3. JPEG 2000 PARTS

There will actually be many parts of the JPEG-2000 standard released separately. While most people will be interested in the “Core Coding System” of Part I, the reasons for all the parts are described in this section.

3.1 Part I: Core Coding System

For the purpose of interchange it is important to have a standard with a limited number of options, so decoders in browsers, printers, or PDAs can be counted on to implement the options and an encoded image will be displayable by all devices. Part I, therefore, attempts to limit the number of possible coding algorithms to provide maximum interchange.

3.2 Part II: Extensions

There are applications for image compression where interchange is less important than other requirements (e.g., ability to handle a particular type of data). Part II will consist of optional “value added” technologies, not required of all implementations. Of course, images encoded with Part II technologies usually will not be decodable by Part I decoders. Some of the options available

in part two are described below.

3.2.1 Quantization

In

addition to the scalar dead zone quantizer in Part I, Part

II

will allow Trellis Coded Quantization. This technique

provides a substantial increase in rate-distortion performance at several bitrates while increasing the encoder complexity.

3.2.2 Wavelet Transform

Part I provides one floating-point wavelet (9,7), and one integer wavelet (3,5), while Part II will allow multiple wavelets including “user defined,” with the coefficients specified in the bitstream. Part II will also allow non-mallet decompositions.

3.2.3 Component Transform

Part II will allow arbitrary point transforms and wavelet transforms across components. These have been shown to provide a substantial increase in rate-distortion performance for multi- and hyper-spectral images.

3.2.4 File Format

Part II allows all enumerated color spaces from the SPIFF standard as well as the complete set of ICC profiles to describe the color space of an image. In addition, the codestream may be split and distributed in various parts of the file. This will increase the ease with which very large images can be edited. Additional meta-data is also defined.

3.3 Part III: Motion JPEG 2000

Other items which are important for the adoption of JPEG-

2000 did not fit properly in either the “minimum decoder”

of Part I, or the “extensions” of Part II. Motion JPEG has

been a commonly used method of editing high quality video (e.g., in production studios) without the existence of an ISO standard. Part III of JPEG-2000 will be “Motion JPEG-2000” see[7].

3.4 Part IV: Conformance Testing

Part II of the original JPEG was a set of compliance tests to ensure quality implementation of the standard. WG1 plans to provide JPEG-2000 compliance tests in Part IV.

3.5 Part V: Reference Software

Finally, the key to success of the JPEG-2000 standard may well be the availability of high quality free software. WG1 has started a Part V of the standard for encouraging development of free software [6]. The JJ2000 group (Canon France, Ericsson, EPFL) has produced a Java

implementation of the standard, and the University of British Columbia has created a C implementation. Both of these implementations may become part of the Part V reference software and be released for free use.

4. SAMPLE APPLICATIONS

Any application which can make use of one of the new features of JPEG 2000 will likely start using the new standard as soon as it is finished. The primary new feature of interest is the ability to extract different images from a single compressed bitstream as shown in Figure 2. This section describes how some applications can make use of the JPEG 2000 features.

4.1 Web browsing & printing

There are actually several web applications available for JPEG 2000. A typical web page with an image might initially display only a low resolution version of the image. If a user wishes to see more detail of a part of the image (e.g. in a map), the server can provide only the necessary additional data for that spatial region of the image at the next higher resolution. If the user then prints that part of the image to a grayscale printer, the server can send a higher resolution version (e.g. for a 600 dpi printer vs. a 75 dpi screen), but only the grayscale data. Thus not only is there compression of the raw image data, but more importantly there is selective transmission of only the data needed by the application.

4.2 Digital Camera

In a digital camera several extremely high quality (even lossless) pictures could be taken and stored using JPEG 2000 until the memory card is filled. At that point, portions of the compressed data from each image can be discarded, allowing more images to be stored. Thus it is always possible to take “just one more” picture, provided slightly decreased quality is acceptable.

4.3 Satellite Imagery

There are some situations where bandwidth is the single most expensive part of a system. At times a recognizable image is desired no matter how low the bit rate. For these systems JPEG-2000 with the 9x7 filter provides the best compression of any publicized system. With the addition of

Choice of Resolution JPEG 2000 bit- stream Choice of Color Components Choice of Spatial Region

Choice of Resolution

Choice of Resolution JPEG 2000 bit- stream Choice of Color Components Choice of Spatial Region Choice
JPEG 2000 bit- stream
JPEG 2000 bit-
stream
Choice of Resolution JPEG 2000 bit- stream Choice of Color Components Choice of Spatial Region Choice

Choice of Color Components

Choice of Spatial Region

Choice of Quality (including lossless)

Figure 2 - Images available from a JPEG 2000 bitstream

trellis coded quantization and non-mallat decompositions (from Part II), JPEG 2000 will compress satellite imagery at low bitrates far better than any current products.

5.

CONCLUSIONS

The definition of JPEG-2000 is of course the standard. ISO will sell copies of this specification but only after the "International Standard" stage is reached. Free software should soon be available so the features can be tested by anyone.

JPEG-2000 should be a welcome standard for applications requiring either higher quality or lower bitrates, or any of the new features provided. JPEG will likely continue to be used in low complexity applications for bitrates at which JPEG was tuned.

6.

REFERENCES

1. D. Taubman, E. Ordentlich, M. Weinberger, G. Serous- si, I. Ueno, F. Ono, “Embedded Block Coding in JPEG 2000,” Proceedings ICIP-2000, Sept. 2000.

2. W. Zeng, S. Daly, and S. Lei, “Visual Optimization Tools in JPEG 2000,” Proceedings ICIP-2000, Sept.

2000.

3. Charilaos Christopoulos, Joel Askelof and Mathias Larsson, “Efficient Regions of Interest Coding Tech- niques in the upcoming JPEG2000 still image coding standard,” Proceedings ICIP-2000, Sept. 2000.

5. D. Santa Cruz, T. Ebrahimi, “An analytical study of JPEG2000 functionalities,” Proceedings ICIP-2000, Sept. 2000.

6. M. D. Adams, and F. Kossentini, “JasPer: A Software- Based JPEG-2000 Codec Implementation,” Proceed- ings ICIP-2000, Sept. 2000.

7. T. Fukuhara, “Motion-JPEG2000 standardization and markets,” Proceedings ICIP-2000, Sept. 2000.

8. M. Marcellin, M. Gormish, A. Bilgin, M. Boliek, “An Overview of JPEG-2000,” Proc. Data Compression Conference, J. A. Storer and M. Cohn, eds., Snowbird, Utah, Mar. 28-Mar. 30, 2000, p. 523-541.