State of the JPEG2000 Standard?
ehb asks: "With all the (r)evolutions going on in networking (IPv6), video (MPEG4/H.264) and audio (MPEG4 AAC), I was wondering what happened to that big image compression promise of some years ago: JPEG2000. According to the official JPEG2000 page, although the entire standard not is completed, the important parts are, which would allow JPEG2000 to function as a still-image replacement for the old JPEG! I have seen lists of software programs that implement (parts?) of the JPEG2000 specification, but missed the important ones (web browsers, etc). There even exists an Open source implementation of the codec, so what is holding everything back? The benefits over normal JPEGs are huge, so can someone shed some light on the hold-up?" Back in April of 2002, JPEG2000 was "coming soon", and it was touted as being the "the future of imaging", but after that the hype seems to have dried up. What happened to this promising specification? Did another format surpass it (PNG, perhaps)?
For most people JPEG is "good enough", so it's not worth the effort to swtich everything to use jpeg2000.
PNG hasn't caught on because Internet Explorer has yet to properly support it.
You can sign the petition for Internet Explorer PNG support.
PNG images are fantastic if quality is an issue and bandwidth is not, the alpha transparency is also fantastic for web designers, and many fantastic effects can be done with it. Unfortunately only users with good web browsers will see the benefits of png transparency. Internet Explorer users just get an ugly grey background on thanks to M$ breaking proper png support a version or so ago... :(
I use JPEG XP.
Best Windows Freeware
More info here:
http://www.libpng.org/pub/mng/spec/jng.html
Abstract:
-molo
Using your sig line to advertise for friends is lame.
no one knows about it? i'm a freelance artist at times and this is the first time i've heard of it. gif 4 life
mix_master_mike
vafrous
PNG is as functional as non-animated GIF in Internet Explorer 5+, the problems are with a non-binary alpha value (totally opaque works, totally transparent works, nothing else does).
The gamma support is the only area where it fails against the GIF format for static images. Gamma correction is built into the PNG format, whereas GIF took the approach of "don't worry about it". Differing gamma correction means that you often get mismatched colours between PNGs and neighbouring coloured areas. In practice, you can solve this for everything but older versions of Safari and Opera by configuring your graphics editor to remove all gamma information.
For more information, read The Sad Story of PNG Gamma "Correction".
The big problem with JPEG2000, as I see it, is a lack of a free, open-source implementation that is compatible with closed-source, proprietary software. I was recently looking into implementing JPEG and JPEG2000 support for my company's main product. Since this is a relatively minor feature for our product, we didn't want to pay the licensing fees for a commercial implementation. The libJPEG codec for JPEG compression has a very nice license, only requiring the addition of two lines to the software documentation. The only open-source JPEG2000 implementation (JasPer) requires adding over a page of disclaimers, copyright notifications, and license terms.
"They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
If anyone is interested I found an article here that shows the difference between JPEG and JPEG2000 pictures. I found the original reference to this article in this slashdot comment.
Prevent email address forgery. Publish SPF records for y
I think the main improvement would be smaller files at the same image quality.
You're thinking of two different things. Transparency as in an 'indexed' transparent 'colour' works just fine in PNGs in IE. Alpha channel transparency, however, does not. The upshot is that PNG works just fine as a direct replacement for GIFs, including GIFs with transparency.
I can't speak to the standard, but I can cover our experiences using Jpeg2000. In early 2001, the Second Life team did an evaluation of available still image compression schemes in order to determine whether an off-the-shelf solution would meet our requirements of providing flawless visual reproduction at 10:1 compression while preserving chroma at compressions of 100:1 or more, allowing progressive streaming in order to handle level of detail and mipmapping, and be high performance enough to allow for multiple packet decodes per game frame. We went into the search assuming that we would end up having to write out own compression scheme and were pleasantly surprised by the performance of Jpeg2000. We selected the Kakadu libraries for Jpeg2000 compression and decompression and have been happily using them for 3 years on Linux, Mac, and Windows.
It is a shame that Jpeg2000 hasn't seen wider adoption, as it is visually far superior to Jpeg at similar compression levels, especially in reduced "ringing" around high-frequency edges, and its ability to handle progressive streaming is incredibly useful in interactive environments. In Second Life's case, images as large as 2048x2048 are delivered interactively to the client viewer, with a single packet providing enough detail for distant textures. As the user approaches textures, additional packets are delivered to the client, providing a progressive increase in detail with very low latency, thanks to Jpeg2000's ability to deliver fine-grained increases. Kakadu's high performance has also been critical, since many scenes in Second Life have thousands of different textures in view because of user created and uploaded textures.
JPEG2000 will not become incredibly popular on the web, I think. It's not really necessary anymore, as broadband is catching on and 200K image downloads aren't such a big deal. On a digital camera, however, file size still makes a difference. The more pictures you can store on a small piece of flash memory, the better.
Photoshop and several other image applications either support JPEG2000 or have plug-ins available, but it doesn't seem to have caught on anywhere yet. Here's hoping for a firmware upgrade for my current camera.
Photoshop CS (PS 8) supports JPEG2K natively. It is also available as a $99 plug-in, which also includes a digital camera raw plug-in, for Photoshop 7.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
Thanks for that link on Gamma correction. It does seem that some people are finally getting it, I have been trying to get this idea across for years.
Numbers in the file should represent *specific* colors. Not some color in a "colorspace" that the file also gives. This is just like tagging text files with the "character set", it should be obvious now that making a single specification like UTF-8 is far more reliable and "just works".
I very much recommend using the sRGB standard to represent color levels in any file format storing an integer. Programs should *ALWAYS* copy these numbers unchanged to the screen framebuffer. Any attempt at any other solution means that colors will not match between programs.
That means all those colorimiters and printer matching profiles and other garbage you have been scammed into buying is useless. Too bad. You were taken. Even the authors of png were taken. And people who keep saying Gimp is no good because it lacks printer profiles are wrong (there are probably other problems with Gimp, but printer matching is a scam). I have worked in computer processed imagery (for special effects) for over 10 years and I damn well know what I am talking about, so don't go calling this a troll.
The best compression PNG can get is not JPEGed, since PNG is not a lossy encoding!
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
JPEG has adjustable compression. It's possible to create a near-lossless JPEG image (at enormous file sizes), and it's possible to compress a 25 megapixel photo down to 2 kilobytes (at horrendous quality). Most people, when compressing JPEGs for the web, attempt to get the smallest possible file size while retaining reasonable quality. JPEG2000's better compression allows for the same good-enough quality at much lower filesizes. That's why it's useful.
It's hard to be religious when certain people are never incinerated by bolts of lightning.
JPEG2000 is a huge standard. i know, i am actively following it now and was part of the standards process. new parts are still emerging but the core codec work is done.
still, the greatest issue is the patent question... the JPEG patent issue that came up 2 years ago really caused everyone to rethink their JPEG2000 deployment scheme. there is a new project in the ISO group to ensure a baseline license-fee free JPEG2000 codec to ensure the same patent problem won't happen again.
other notes:
JPEG2000 won't kill JPEG... ever. digital cameras just made sure of that. all the digital cameras out there record directly to JPEG... no way to upgrade them to JPEG2000.
camera makers still waiting for JPEG2000 chips to be a drop-in replacement for JPEG chips... the biggest hurdle now is power consumption.
initial JPEG2000 cameras will probably also record to JPEG... i.e. backwards compatibility.
JPEG2000 is designed to fix all the problems of JPEG and bring improved functionality. this is more than just a 1-trick pony (i.e. H.264...) with JPEG2000, it has improved on all aspects of JPEG and also:
-scalability: read x% of the file, get x% of the image, no need to pull file format tricks or extra redundancies.
-error resilience: as the compression level increases, the compressed codestream becomes more fragile. lose 1% of the compressed codestream, expect 10% loss... especially compared with MPEG codecs. JPEG2000 error resiliency is 10x better than MPEG-4 (part1) and probably much better than H.264...
-multi-resolution and position based decoding: only want to see 1 part of the image? no problems. only decode that part of the image.
-"visually lossless": a single codestream can act as: lossless archive, visually lossless print-ready format, lossy distribution, and thumbnail. no redundancies. no transcoding.
the kakadu library at: http://www.kakadusoftware.com is VERY good. it has a lot of tools you can use right away. check out the KDU_server app.
more things to expect from JPEG2000:
-more metadata
-better workflow solutions (i.e. capture->process->print->archive)
-unified still & motion cameras (i.e. 1codec, 2 applications: stills and movies. thanks to standardized file formats)
-true network imaging (i.e. JPIP)
-secure images (i.e. JPSEC) and from that, a better imaging business model.
browser plugins: trivial. really. especially if you use the available libraries.
things holding back the standard now: hardware support. there is a lot of software out there but until we get that killer JPEG2000 app, that software will not be touched.
JPEG does a great job, JPEG2000 will do a greater one.