Jpeg 2000 Article Index for
Jpeg
Website Links For
Jpeg
 

Information About

Jpeg 2000




  Extension <tt>jp2</tt>, <tt>j2c</tt>
  Mime <tt>image/jp2</tt>
  Owner Joint Photographic Experts Group
  Creatorcode <tt>jp2 </tt>
  Genre Graphics File Format


JPEG 2000 is a Wavelet -based Image Compression standard. It was created by the Joint Photographic Experts Group committee with the intention of superseding their original Discrete Cosine Transform -based JPEG standard. Common Filename Extensions include '''.jp2''' and '''.j2c''', while the MIME Type is '''image/jp2'''.

JPEG 2000 can operate at higher compression ratios without generating the characteristic 'blocky and blurry' Artifacts of the original DCT-based JPEG standard. It also allows more sophisticated progressive downloads.

Part of JPEG 2000 has been published as an s, and hence is not generally used on the World Wide Web .


RELATED STANDARDS


Several additional parts of the JPEG 2000 standard exist, some of them are not yet officially released. Amongst them are :2000, the compound image file format, allowing compression of compound text/image graphics. Extensions for secure image transfer, ''JPSEC'', and connection-based image browsing, called ''JPIP'' are currently under discussion by the ISO.


TECHNICAL DISCUSSION


The aim of JPEG 2000 is not only improved compression performance over JPEG but also adding (or improving) features such as scalability and editability.
In fact, JPEG 2000's improvement in compression performance relative to the original JPEG standard is actually rather modest and should not ordinarily be the primary consideration for evaluating the design. Moreover, very low and very high compression rates (including lossless compression) are also supported in JPEG 2000. In fact, the graceful ability of the design to handle a very large range of effective bit rates is one of the strengths of JPEG 2000. (For example, to reduce the number of bits for a picture below a certain amount, the advisable thing to do with the first JPEG standard is to reduce the resolution of the input image before encoding it -- something that is ordinarily not necessary for that purpose when using JPEG 2000 because of its wavelet scalability properties.)

JPEG 2000, as did the original JPEG 1992 standard, applies a form of Transform Coding to compress images. However, JPEG 2000 uses a Wavelet Transform , in contrast to JPEG 1992 which uses an 8x8 block-size Discrete Cosine Transform ).

Initially, images have to be transformed (from the RGB Color Space ) to the well known YCbCr Color Space or to the RCT space (reversible component transform) leading to three ''components''. In lossless mode, a very rough, but reversible approximation of this color space conversion is used. The Chrominance components can be, but do not have to be down-scaled in resolution; in fact, since the wavelet transformation already separates images into scales, downsampling is more effectively handled by dropping the finest wavelet scale. This step is called ''multiple component transformation'' in the JPEG 2000 language since its usage is not restricted to the RGB Color Model .

After color transformation, the image is split into so-called ''tiles'', rectangular regions of the image that are transformed and encoded separately.
The purpose of tiles is to cope with memory limitations more easily.
These tiles are then Wavelet Transform ed to an arbitrary depth.

The result is a collection of ''sub-bands'' which represent several approximation scales.
A sub-band is a set of ''coefficients'' - Real Numbers which represent aspects of the image associated with a certain frequency range as well as a spatial area of the image.
These coefficients are scalar- Quantized , giving a set of integer numbers which have to be encoded bit-by-bit.

The quantized sub-bands are split further into ''precincts'', rectangular regions in the wavelet domain. They are typically selected in a way that the coefficients within them across the sub-bands form approximately spatial blocks in the (reconstructed) image domain, though this is not a requirement.

Precincts are split further into ''code-blocks''.
Code-blocks are located in a single sub-band and have equal sizes - except those located at the edges of the image.
The encoder has to encode the bits of all quantized coefficients of a code-block, starting with the most significant bits and progressing to less significant bits by a process called the ''EBCOT'' scheme. ''EBCOT'' here stands for ''Embedded Block Coding with Optimal Truncation''. In this encoding process, each Bit-plane of the codeblock gets encoded in three so called ''coding passes'', first encoding bits (and signs) of insignificant coefficients with significant neighbors (i.e. with 1-bits in higher bit-planes), then refinement bits of significant coefficients and finally coefficients without significant neighbours. The three passes are called ''Significance Propagation'', ''Magnitude Refinement'' and ''Cleanup'' Pass, respectively.

The bits selected by these coding passes then get encoded by a context-driven binary Arithmetic Coder , namely the binary MQ-coder. The context of a coefficient is formed by the state of its nine neighbours in the codeblock.

The result is a bit-stream that is split into ''packets'' where a ''packet'' groups selected passes of all codeblocks from a precinct into one indivisible unit. Packets are the key to quality scalability (i.e. packets containing less significant bits can be discarded to achieve lower bit-rates and higher distortion).

Packets from all sub-bands are then collected in so-called ''layers''.
The way the packets are built up from the code-block coding passes, and thus which packets a layer shall contain is not defined by the JPEG 2000 standard, but in general a codec will try to build layers in such a way that the image quality will increase monotonically with each layer, and the image distortion will shrink from layer to layer. Thus, layers define the progression by image quality within the codestream.

The problem is now to find the optimal packet length for all code-blocks which minimizes the overall distortion in a way that the generated target bitrate equals the demanded bitrate.
While the standard does not define a procedure as to how to perform this so-called ''rate-distortion optimization'', the general outline is given in one of its many appendices: For each bit encoded by the EBCOT coder, the improvement in image quality, defined as mean square error, gets measured; this can be implemented by an easy table-lookup algorithm. Furthermore, the length of the resulting codestream gets measured. This forms for each codeblock a graph in the rate-distortion plane, giving image quality over bitstream length. The optimal selection for the truncation points, thus for the packet-build-up points is then given by defining critical ''slopes'' of these curves, and picking all those coding passes whose curve in the rate-distortion graph is steeper than the given critical slope. This method can be seen as a special application of the method of '' Lagrange Multiplier '' which is used for optimization problems under constraints. The Lagrange Multiplier , typically denoted by \lambda, turns out to be the critical slope, the constraint is the demanded target bitrate, and the value to optimize is the overall distortion.

Packets can be reordered almost arbitrarily in the JPEG 2000 bit-stream; this gives the encoder as well as image servers a high degree of freedom.

Already encoded images can be sent over networks with arbitrary bit-rates by using a layer-progressive encoding order.
On the other hand, color components can be moved back in the bit-stream; lower resolutions (corresponding to low-frequency sub-bands) could be sent first for image previewing.
Finally, spatial browsing of large images is possible through appropriate tile- and/or partition selection.
All these operations do not require any re-encoding but only byte-wise copy operations.

JPEG 2000 gains up to about 20% compression performance for medium compression rates in comparison to the first JPEG standard.
For lower or higher compression rates, the improvement can be somewhat greater (especially if altering the input resolution to the codec is not considered as a technique for effective use of the older JPEG standard). Good applications for JPEG 2000 are large images, images with low-contrast edges - e.g. medical images.

It has, however, notably higher computational and memory demands.

Lossless compression is achieved through the use of a special integer Wavelet filter (biorthogonal 3/5 instead of Daubechies Biorthogonal 7/9 ) and a quantization step size of 1. Clearly, in lossless mode all bitplanes have to be encoded by the EBCOT, and no bitplanes can be dropped.


DESIGN COMMONALITIES WITH THE ICER COMPRESSOR

JPEG 2000 has some design commonalities with the ICER image compresson format that is used to send images back from the Mars rovers.

The ICER image compressor was designed to meet the specialized needs of deep-space applications.

ICER (like JPEG 2000) is wavelet-based and provides
  • progressive compression.

  • lossless compression (using the LOCO compressor).

  • lossy compression.

  • image context error correction to limit the effects of data loss on the deep-space channel.


ICER overall provides lossy compression performance
competitive with the JPEG 2000 image compression standard.

ICER-JPEG 2000 Common Features
  • Both offer a variable number of image tiles to increase compression effectiveness over the deep space channel. Image tiles reduce demands on memory and processing time.

  • Both offer a 'byte' quota.

  • Both offer a 'quality' quota (albeit ICER is subject to less than 1% overshoot when byte and quality quotas are in effect).


ICER-JPEG 2000 Differences
  • JPEG 2000 uses floating point math, ICER uses only integer math.

  • ICER reverts to a separate internal LOCO (Low Complexity Lossless Compression) compressor for lossless image compression.

  • JPEG 2000 implements a different lossless compressor concept by running its wavelet compressor in a lossless mode.

  • ICER and JPEG 2000 encode color spaces differently.

  • ICER in its current form compresses monochrome images better than colour images.


Space Misson Summary
  • ICER noticeably outperforms the JPEG image compressor used by the MPF Mission .

  • ICER provides significantly more effective lossless compression than the Rice image compressor used by previous missions.



LEGAL ISSUES


JPEG 2000 is not widely supported in present software due to the perceived danger of Software Patent s on the mathematics of the compression method, this area of mathematics being heavily patented in general. JPEG 2000 is by itself not license-free, but the contributing companies and organizations agreed that licenses for its first part – the core coding system – can be obtained free of charge from all contributors.

The JPEG committee has stated {Link without Title} :

:It has always been a strong goal of the JPEG committee that its standards should be implementable in their baseline form without payment of royalty and license fees ... The up and coming JPEG 2000 standard has been prepared along these lines, and agreement reached with over 20 large organizations holding many patents in this area to allow use of their intellectual property in connection with the standard without payment of license fees or royalties.

However, the JPEG committee has also noted that undeclared and obscure Submarine Patent s may still present a hazard:

:It is of course still possible that other organizations or individuals may claim intellectual property rights that affect implementation of the standard, and any implementers are urged to carry out their own searches and investigations in this area.


COMPRESSION ARTIFACTS


The artifacts of JPEG 2000 look different from those of JPEG, have a slighter effect on the image and take higher compression levels to be visible. Often a photographic image can be compressed to 1/20 of its original (uncompressed bitmap) size without incurring visible artifacts. When the artifacts do appear, they can be seen as smoothing rather than squares or mosquito noise. The image to the right demonstrates the effects of JPEG 2000 compression in various ratios (the top image is the lossless original).


COMPARISON WITH PNG

Although JPEG 2000 format supports lossless encoding, it is not intended to completely supersede today's dominant lossless image file formats.

The PNG (Portable Network Graphics) format is still more space-efficient in the case of images with many pixels of the same color, and supports special compression features that JPEG 2000 does not.

It can be expected that PNG will be more heavily used for compressing diagram-type images and JPEG 2000 for photograph-type images, pending no further changes to the PNG standard.


SEE ALSO

  • ECW - a wavelet compression format that compares well to JPEG 2000.

  • IrfanView - Image viewer with read and limited write support for JPEG 2000.

  • JasPer - A compression/decompression library.

  • Pixel Image Editor - Image editor with internal support for JPEG 2000.

  • OpenJPEG - An open source (BSD) compression/decompression library.

  • JPIP - The JPEG Internet Protocol, used for streamlining images using the JPEG 2000 format.

  • Apple's ImageIo - How any Mac OS X 10.4+ app can read and write JPEG2000.



EXTERNAL LINKS