Whatever Happened to
JPEG2000?
Background
In 2001, the official
release of the JPEG2000 spec sent ripples through the digital imaging
industry. Camera and software manufacturers had already started
planning a quick path that would lead us all to hardware and software
upgrades that would make our web browsers, imaging software, and cameras
even better by allowing use of this new "wavelet" based image
compression scheme which provides higher quality images using even less
storage space than the old JPEG standard. Back in 2001, it was
thought that the changeover from JPEG to JPEG2000 would be well on its
way by 2003 and by 2004 it was expected to be the new standard for file
storage in digital cameras. So what happened? It's now 2005
and there are still no digital cameras that support JPEG2000 and
support for this new standard really only made it into "mainstream"
digital imaging software within the last year or two. Did JPEG2000 fall on its face? Did it not live up to the hype? Read
on and I'll give you my own insights into the subject.
JPEG2000: All show and no go?
The obvious guess as to why JPEG2000 acceptance
has been slow might be that it was all hype. Nothing could
be further from the truth, however, as JPEG2000 certainly outperforms
the old JPEG standard. JPEG2000 images can retain much more
detail than a JPEG image compressed to the same size. In addition,
the JPEG2000 standard allows for lossless compression, greater than 8
bit/channel support, and other features not in the JPEG spec. Take
a look at the image below.
The original image at the top has been highly
compressed (about 60:1) to produce the two images on the bottom. You can easily see how much better
JPEG2000 does (right above) at this level of compression. We must look elsewhere to
discover why JPEG2000 has gained acceptance slower than expected, as it
clearly does perform.
Backward Compatibility
One issue with the new format is that JPEG2000
is not backward compatible. That is, it isn't just a rewrite of
the JPEG standard and JPEG2000 code cannot be used to read JPEG files.
For this reason, completely new code has to be written to address
JPEG2000 images and if you also want to support the older JPEG standard, you
must rely on having the old code present at the same time.
JPEG2000 images are really quite different from JPEG images so backward
compatibility with the JPEG standard doesn't make much sense.
Nevertheless, it is a completely new image format and not just an
upgrade of an existing one, which can ultimately limit the speed with
which it is accepted into the market.
Complexity
The wavelet technology used to create and decode
JPEG2000 images is much more complex than the code used for JPEG
images. With increased complexity comes an increase in code size,
increase in memory requirements,
and a decrease in performance. What this means is that reading and
writing of JPEG2000 images will take longer and will require more
complex software that needs more memory to run. Speed and greater
memory usage are often tradeoffs for quality in digital imaging.
The fact is, some of the initial code released for the JPEG2000
standard was very slow (up to 10 times slower than JPEG). Many saw
this as unacceptable for the perceived difference in quality when using
only moderate to low compression (the above example is one of
extreme compression that you wouldn't normally see in practical
terms). It took a year or two for the
algorithms to be tweaked to the point that good JPEG2000 code today
runs "only" about 2-3 times slower than code for JPEG images, depending
on compression level.
The Waiting Game
Let's face it. JPEG
images are already quite good. An 18 megabyte image from a 6
megapixel dSLR camera can be compressed into a 2 megabyte image with almost no
visible degradation in image quality. You really have to zoom in
and look hard to see any difference between the 18 megabyte (TIFF)
original and a 2 megabyte JPEG. The fact that camera memory keeps
getting larger and cheaper doesn't help JPEG2000 either. Most
people will not care that their 1 GB memory card that cost them maybe 85
bucks will "only" hold 500 JPEG
images and it could probably hold 1500 JPEG2000 images at similar
quality. The fact that your camera will take 2-3 times longer to
store JPEG2000 images on the camera card, potentially affecting
shooting/buffering speeds, might also make it a tough sell for people
using high end (read fast) cameras and those who have the need for speed.
I believe that due to the
tradeoffs involving compatibility, speed, and code complexity,
hardware and software manufacturers are in a sort of stalemate. It appears
that software manufacturers who develop mainstream tools like photo
editors, image management, and web
browsers are waiting for camera manufacturers to start supporting
JPEG2000 as a native format in cameras and other devices. In turn, the
camera manufacturers are waiting for global acceptance of the format in
tools like web browsers, image management tools, photo editors, and
other software. Nobody seems to be jumping at the opportunity to
do it themselves because for most companies, it is all about
cost/benefit. Do you spend the resources required to update the
processing chips in your cameras when millions are already on the market
with the old JPEG format and memory cards are so high in capacity and cheap?
Do the software companies spend the resources to include JPEG2000
support when none of the hardware can save JPEG2000 "JP2" files?
This "wait and see" attitude along with advances in areas like storage
capacity make JPEG2000 look a little less "juicy" than it did five years
ago.
The Current State of JPEG2000
Whether or not JPEG2000
becomes the defacto standard for compressed images remains to be seen.
It's actually a shame that people seem to care less and less about
storage space and that a technologically advanced standard like JPEG2000 just sits waiting for someone to jump on it and lead it down the
road to success. Right now, with all cameras still using the old
JPEG format, JPEG2000 AKA "J2K" or "JP2" has become an image format for
the "elite" who have specialized needs such as storing a high volume of
images in limited space. Instead of becoming the new standard for
compressed images, it has become more of a "toolbox" feature that allows
people to re-encode images into a smaller size for special [storage]
needs. It seems like the web would be the first logical place for
JPEG2000 to take off as web space and download times could outweigh most
performance issues related to decoding and displaying the images.
Hopefully the makers of software such as web browsers will take note and
start to support JPEG2000 on the web. I believe JPEG2000 still has a chance to make it into
mainstream hardware like digital cameras, phones, PDA's, and especially
the web. Some applications may never overcome the tradeoff of
performance and code complexity, but in my heart of hearts, I still have
to believe that JPEG2000 is just slow in acceptance... not dead!
Mike Chaney