JPEG2000 wavelet compression spec approved
BERLIN � The International Standards Organization's JPEG2000 committee has finalized specs for a new algorithm that compresses images up to 200 times with no appreciable degradation in quality. The JPEG2000 spec, which will become ISO 15444 when it's officially approved in 2001, uses wavelet transformations instead of Fourier transforms to achieve the performance gain.
"The standard is now available to all developers. Luckily, we have 90 percent of the techniques specified for JPEG2000 already built into our LuraWave compressor, so we can recycle much of that technology. We will, however, have to rewrite our encoder," said Kai Barthel, director of research and development at LuraTech, here.
Since finalization of the JPEG2000 committee draft at last month's meeting in Hawaii, only minor changes can be made to the spec, so even hardware OEMs can now begin designing products using the JPEG2000 wavelet-based encoder.
A second part of the draft, which adds special-purpose extensions, will follow in 2001. JPEG2000 part one will be the plain-vanilla royalty-free version, but part two can include various types of third-party extensions that may or may not involve royalties. "Part one will satisfy 90 percent of the applications developers, but it will be 90 percent more work to engineer that last 10 percent of the job for special purposes in part two," said Barthel.
One planned addition to part two will improve text handling by switching compression modes on the fly in a single document. To handle what is called mixed-raster content, part two will segment complex images-say, a magazine page-into portions that are black-and-white text and portions that are color images. Current JPEG-compressed text blurs the crisp shapes of letters, making it difficult to perform subsequent optical character recognition. JPEG2000 will compress textual portions with a different algorithm that preserves the crisp shapes of text for OCR.
Other additions for part two will include "motion" options for JPEG2000. Many products today encode individual frames with JPEG and merely display them in order to create animations and full-frame videos. Today, the extra information that links the separate JPEG images into a sequence so they can be shown in order must be stored separately from the JPEG files themselves. Part two of the JPEG2000 standard will contain built-in locations for storing the auxiliary information. That data will determine the order and speed at which separate JPEG2000 frames are to be displayed to create motion.
"We might end up just using QuickTime as a standard wrapper for motion JPEG2000, but these decisions will evolve to a conclusion during the committee meetings in 2000. By 2001 we should have some consensus on part two, too," said Barthel.JPEG2000 promises to compress images 200 times with better resulting quality than current JPEG images compressed fivefold. The key technology enabling such improvement involves switching from the sine waves used for the discrete cosine transform (DCT) of JPEG to wavelets.
Wavelets use complex base functions, with some coarse features akin to sine waves. They also contain some detailed features like pulse codes, thereby creating a set of fuzzy pixels with variable-sized features, as opposed to DCT's one-size-fits-all sine waves.
The best way to represent a signal using wavelets is to scan the entire image for a "mother wave" that best represents that particular image. However, the mother wave would have to be sent along with the image data, thereby increasing the size of the compressed file. Instead, JPEG2000 picks a universal mother wave ahead of time, so that the receiver of a compressed file can assume which mother wave is being used, eliminating the need to send it along with the file. JPEG2000 specifies a 9/7 wavelet for ordinary "lossy" compression, and a 5/3 wavelet for lossless compression (comparable to today's run-length-limited encoding). Compression ratios of 200:1 can be achieved with the 9/7 wavelet and 2:1 compression with the lossless 5/3 wavelet.
JPEG2000 also strives to overcome the worst effects of current JPEG compression, which processes images in 8 x 8-pixel blocks, leaving coarsely spaced artifacts that spoil fine details.
LuraTech has patented a technique used by spy satellite cameras, which scan the surface below in the same way an audio disk spirals its single track onto the entire disk. Each image is taken in a single spiral scan that is 1 pixel high-starting in the upper left quadrant and proceeding to the lower right.
The images are, in fact, an infinitely long data stream that can be conveniently diced into a single image starting at any point. Using wavelets on stored data would allow the entire image to determine the mother wave. Instead, the images are compressed on the fly in real-time using the same wavelets now specified for JPEG2000-namely, the universal 9:7 wavelet.
With LuraTech's LuraWave, which moves a window across the data a pixel at a time, only a portion of the image is visible at any time, but artifacts are sidestepped because the window size varies according to the number of features in it. Barthel said this patented variable-sized window-scanning technique has been incorporated into the JPEG2000 committee draft. Besides LuraTech, Ricoh and several other committee members found bits and pieces of their patented technology in the spec. Barthel said all involved companies have signed agreements that give developers royalty-free rights to part one of JPEG2000.
Phils comments: Interesting stuff, get over to the LuraTech website and download the free (demo time limited) photoshop plugin of their wavelet compression and try it for yourself.. what's most interesting about this format is that (a) in lossless mode it produces a 2MB file from a 1600x1200x24bit and (b) in lossy mode it's much more efficient than JPEG, meaning quality for file size is much better, no 8x8 artifacts (though it is still a lossy format). (c) The fact that the image displays in its entirety straight away, and you can load more detail by right clicking and asking the image to "improve".. can't wait to test this in the galleries... Check out this demo page: Wavelet Plug-in Demo 1
I may do a follow-up article on this...