JPEG 2000 Guide, Meaning , Facts, Information and Description
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. The usual file extension is .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 ISO standard, ISO/IEC 15444-1:2000. JPEG 2000 is not yet widely supported in web browsers, and hence is not generally used on the World Wide Web.
| Table of contents |
|
2 Technical Discussion 3 Legal problems with the use of JPEG 2000 4 Comparison with PNG 5 See Also 6 External links |
Several additional parts of the JPEG2000 standard exist, some of them are not yet officially released. Amongst them are ISO/IEC 15444-2:2000, JPEG2000 extensions, featuring for example Trellis Quantization, an extended file format and additional color transformations, ISO/IEC 15444-4:2000, the reference testing and ISO/IEC 15444-6: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.
The aim of JPEG2000 is not only improved compression performance over JPEG but also adding (or improving) features such as scalability and editability to the JPEG2000 format.
Moreover, very low and very high compression rates should be supported well, which includes lossless compression.
JPEG2000 (as JPEG) applies a form of transform coding to compress images using the wavelet transform (as opposed to JPEG which uses DCT).
Initially, images have to be transformed (from the RGB color space) to the well known YCrCb 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 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 JPEG2000 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 transformed 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 Bitplane COding by 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 codec, 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 how the packets are built up from the code-block coding passes, and thus which packets a layer shall contain is not defined by the JPEG2000 standard, but in general a codec will try to built 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 minimize the overall distortion in a way that the generated target bitrate equals the demanded bitrate.
While the standard does not define a procedure how to perform this so-called rate-distortion optimization, the general outline is given in one if 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 , 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 JPEG2000 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.
JPEG2000 gains about 20% compression performance for medium compression rates.
For lower or higher compression rates, the improvement is much greater. Good applications for JPEG2000 are large images, images with low-constrast 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.
JPEG2000 is not widely supported in present software due to the perceived danger of software patents on the mathematics of the compression method, this area of mathematics being heavily patented in general. JPEG2000 is by itself not licence-free, but the contributing companies and organizations agreed that licences for its first part - the core coding system - can be obtained free of charge from all contributors.
The JPEG committee has stated:
This is an Article on JPEG 2000. Page Contains Information, Facts Details or Explanation Guide About JPEG 2000 Related Standards
Technical Discussion
Legal problems with the use of JPEG 2000
However, the JPEG committee has also noted that undeclared and obscure submarine patents may still present a hazard:Comparison with PNG
Although JPEG 2000 format supports lossless encoding, it is not intended to completely supercede today's dominant lossless formats. PNG is still more space-efficient in the case of images with many pixels of the same color, and supports special features such as transparency that JPEG 2000 does not. Therefore, we can expect that in the future PNG will be used for diagram-type images and JPEG 2000 for photograph-type images, similar to the way GIF and JPEG were both used in the past.See Also
External links
