Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is all fine and dandy, but whatever happened to JPEG-2000 and wavelet-based compression? Still licensing/patent issues blocking wide adoption?


It's still competitive performanc-wise but adoption has been lacking. Patents were an issue but there were other problems, too: uncertainty about rights and the high complexity of the spec (which for awhile was, IIRC, $1500 simply to get a copy) meant that there wasn't much traction in the open-source world, which in turn meant that many image processing apps either didn't support it at all or used a slow library with limited compatibility and incomplete spec support. There are several commercial libraries available but they also had compatibility issues (largely resolved by now) and required negotiating licenses.

Mike Shaver had a good comment in the Mozilla feature-request ticket which is no doubt representative of many other projects' concerns:

https://bugzilla.mozilla.org/show_bug.cgi?id=36351#c120

None of this is insurmountable, of course, but it made a lot of people hesitant to invest heavily in it. I wrote about the long-term risks awhile ago:

http://blogs.loc.gov/digitalpreservation/2013/01/is-jpeg-200...

The situation is getting better – OpenJPEG is now actively developed (see http://www.openjpeg.org), supports many of the more valuable features (e.g. tiled decoding so you can avoid decoding an entire large image to extract a fragment), and is becoming an official reference implementation:

http://comments.gmane.org/gmane.comp.graphics.openjpeg/773

Recently ImageMagick and Pillow (the maintained fork of the Python Imaging Library) added support for JPEG-2000 using OpenJPEG and the same trend seems to be happening in other places. The big remaining challenge is browser support for non-Apple browsers but that's now possible, if somewhat grotesque, using Emscripten on OpenJPEG to render into a canvas tag.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: